From 7db9daf41d88173571c5bcc8d0b685770aad8153 Mon Sep 17 00:00:00 2001 From: otsmr Date: Thu, 13 Feb 2025 23:03:13 +0100 Subject: [PATCH] fixes #13 and #2 --- assets/animated_icons/red_heart_fire.json | 1 + lib/src/app.dart | 61 ++- lib/src/components/animate_icon.dart | 46 ++- lib/src/components/flame.dart | 10 +- lib/src/localization/app_en.arb | 1 + lib/src/model/messages_model.dart | 10 + lib/src/utils/misc.dart | 21 + .../views/chats/chat_item_details_view.dart | 1 + lib/src/views/chats/media_viewer_view.dart | 374 +++++++++++++----- pubspec.yaml | 1 + 10 files changed, 388 insertions(+), 138 deletions(-) create mode 100644 assets/animated_icons/red_heart_fire.json diff --git a/assets/animated_icons/red_heart_fire.json b/assets/animated_icons/red_heart_fire.json new file mode 100644 index 0000000..2837116 --- /dev/null +++ b/assets/animated_icons/red_heart_fire.json @@ -0,0 +1 @@ +{"v":"5.8.1","fr":60,"ip":0,"op":60,"w":1024,"h":1024,"nm":"emoji_120_heart-on-fire_v003","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":2,"ty":4,"nm":"flame R 2","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"t":90,"s":[100]},{"t":100,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[727.087,723.32,0],"ix":2,"l":2},"a":{"a":0,"k":[433.977,575.81,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[{"i":[[0,0],[13.795,-22.809],[0,0],[-22.36,42.52]],"o":[[0,0],[-24,39.68],[0,0],[18.493,-35.168]],"v":[[-98.36,161.68],[-145.4,223],[-226.8,272.32],[-161.04,196.16]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":40,"s":[{"i":[[0,0],[30.111,-53.431],[0,0],[-17.693,81.964]],"o":[[-12.929,66.333],[-44.199,78.43],[0,0],[16.454,-76.225]],"v":[[8.529,-30.653],[-16.511,142.111],[-174.578,229.542],[-58.707,87.716]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":50,"s":[{"i":[[0,0],[73.2,-128.8],[0,0],[-39.28,95.52]],"o":[[19.44,6.88],[-65.12,114.56],[0,0],[35.52,-86.16]],"v":[[34.64,-195.32],[59.6,63],[-132.8,195.32],[6.96,-0.84]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":60,"s":[{"i":[[-28.77,27.5],[32.1,-135.56],[0,0],[16.43,97.435]],"o":[[-9.55,75.94],[-28.044,128.689],[0,0],[-24.515,-101.301]],"v":[[40.89,-384.82],[121.6,-100],[-19.3,66.82],[31.71,-149.755]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":80,"s":[{"i":[[-57.54,55],[-9,-142.32],[0,0],[72.14,99.35]],"o":[[-38.54,145],[9.031,142.818],[0,0],[-84.551,-116.441]],"v":[[47.14,-574.32],[183.6,-263],[94.2,-61.68],[56.46,-298.67]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[{"i":[[-30.291,61.061],[-73.645,-98.457],[25.26,-58.082],[80.573,95.197]],"o":[[0,0],[63.719,85.186],[0,0],[-90.987,-107.502]],"v":[[12.891,-632.381],[81.245,-384.863],[127.34,-156.238],[35.028,-354.518]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":95,"s":[{"i":[[-34.901,32.984],[-21.044,-74.598],[-19.872,-28.946],[33.423,99.945]],"o":[[0,0],[20.467,72.555],[0,0],[-33.423,-99.945]],"v":[[25.501,-649.304],[13.644,-474.722],[81.472,-308.374],[-20.977,-447.375]],"c":true}]},{"t":100,"s":[{"i":[[-14.778,3.93],[9.477,-31.153],[0,0],[-13.184,50.116]],"o":[[0,0],[-9.641,31.691],[0,0],[11.24,-42.727]],"v":[[44.415,-654.688],[17.241,-588.011],[2.671,-516.577],[-7.485,-594.162]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":50,"s":[0,1,0.922,0.231,0.5,1,0.88,0.116,1,1,0.839,0,0,1,0.5,0.5,1,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":60,"s":[0,1,0.88,0.116,0.5,1,0.86,0.058,1,1,0.839,0,0,1,0.5,0.5,1,0]},{"t":80,"s":[0,1,0.839,0,0.5,1,0.839,0,1,1,0.839,0,0,1,0.5,0.5,1,0]}],"ix":9}},"s":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":50,"s":[-4,-96],"to":[0,0],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":60,"s":[5.5,-217.502],"to":[0,0],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":80,"s":[15,-339],"to":[0,0],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[-13,-455],"to":[0,0],"ti":[0,0]},{"t":100,"s":[-29,-606]}],"ix":5},"e":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":50,"s":[44,350],"to":[0,0],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":60,"s":[124.501,56.995],"to":[0,0],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":80,"s":[205,-236],"to":[0,0],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[147,-356],"to":[0,0],"ti":[0,0]},{"t":100,"s":[29,-583]}],"ix":6},"t":1,"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[455.29,575.81],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":30,"op":60,"st":41,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"flame R 3","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"t":30,"s":[100]},{"t":40,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[727.087,723.32,0],"ix":2,"l":2},"a":{"a":0,"k":[433.977,575.81,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":-19,"s":[{"i":[[0,0],[13.795,-22.809],[0,0],[-22.36,42.52]],"o":[[0,0],[-24,39.68],[0,0],[18.493,-35.168]],"v":[[-98.36,161.68],[-145.4,223],[-226.8,272.32],[-161.04,196.16]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":-9,"s":[{"i":[[0,0],[30.111,-53.431],[0,0],[-17.693,81.964]],"o":[[-12.929,66.333],[-44.199,78.43],[0,0],[16.454,-76.225]],"v":[[8.529,-30.653],[-16.511,142.111],[-174.578,229.542],[-58.707,87.716]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[-28.77,27.5],[32.1,-135.56],[0,0],[16.43,97.435]],"o":[[-9.55,75.94],[-28.044,128.689],[0,0],[-24.515,-101.301]],"v":[[40.89,-384.82],[121.6,-100],[-19.3,66.82],[31.71,-149.755]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[-57.54,55],[-9,-142.32],[0,0],[72.14,99.35]],"o":[[-38.54,145],[9.031,142.818],[0,0],[-84.551,-116.441]],"v":[[47.14,-574.32],[183.6,-263],[94.2,-61.68],[56.46,-298.67]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[{"i":[[-30.291,61.061],[-73.645,-98.457],[25.26,-58.082],[80.573,95.197]],"o":[[0,0],[63.719,85.186],[0,0],[-90.987,-107.502]],"v":[[52.891,-632.381],[121.245,-384.863],[127.34,-156.238],[75.028,-354.518]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":35,"s":[{"i":[[-34.901,32.984],[-21.044,-74.598],[-19.872,-28.946],[33.423,99.945]],"o":[[0,0],[20.467,72.555],[0,0],[-33.423,-99.945]],"v":[[65.501,-649.304],[53.644,-474.722],[121.472,-308.374],[19.023,-447.375]],"c":true}]},{"t":40,"s":[{"i":[[-14.778,3.93],[9.477,-31.153],[0,0],[-13.184,50.116]],"o":[[0,0],[-9.641,31.691],[0,0],[11.24,-42.727]],"v":[[124.415,-654.688],[97.241,-588.011],[82.671,-516.577],[72.515,-594.162]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[0,1,0.88,0.116,0.5,1,0.86,0.058,1,1,0.839,0,0,1,0.5,0.5,1,0]},{"t":20,"s":[0,1,0.839,0,0.5,1,0.839,0,1,1,0.839,0,0,1,0.5,0.5,1,0]}],"ix":9}},"s":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[5.5,-217.502],"to":[0,0],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[15,-339],"to":[0,0],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[-13,-455],"to":[0,0],"ti":[0,0]},{"t":40,"s":[-29,-606]}],"ix":5},"e":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[124.501,56.995],"to":[0,0],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[205,-236],"to":[0,0],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[147,-356],"to":[0,0],"ti":[0,0]},{"t":40,"s":[29,-583]}],"ix":6},"t":1,"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[455.29,575.81],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":41,"st":-19,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"flame R","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"t":45,"s":[100]},{"t":59,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[727.087,723.32,0],"ix":2,"l":2},"a":{"a":0,"k":[433.977,575.81,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[13.795,-22.809],[0,0],[-22.36,42.52]],"o":[[0,0],[-24,39.68],[0,0],[18.493,-35.168]],"v":[[-98.36,161.68],[-145.4,223],[-226.8,272.32],[-161.04,196.16]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10,"s":[{"i":[[0,0],[30.111,-53.431],[0,0],[-17.693,81.964]],"o":[[-12.929,66.333],[-44.199,78.43],[0,0],[16.454,-76.225]],"v":[[8.529,-30.653],[-16.511,142.111],[-174.578,229.542],[-58.707,87.716]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[73.2,-128.8],[0,0],[-39.28,95.52]],"o":[[19.44,6.88],[-65.12,114.56],[0,0],[35.52,-86.16]],"v":[[34.64,-195.32],[59.6,63],[-132.8,195.32],[6.96,-0.84]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":35,"s":[{"i":[[-57.54,55],[-9,-142.32],[0,0],[72.14,99.35]],"o":[[-38.54,145],[9.031,142.818],[0,0],[-84.551,-116.441]],"v":[[47.14,-574.32],[183.6,-263],[94.2,-61.68],[56.46,-298.67]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":45,"s":[{"i":[[-30.291,61.061],[-73.645,-98.457],[25.26,-58.082],[80.573,95.197]],"o":[[0,0],[63.719,85.186],[0,0],[-90.987,-107.502]],"v":[[12.891,-632.381],[81.245,-384.863],[127.34,-156.238],[35.028,-354.518]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":51,"s":[{"i":[[7.099,67.984],[9.14,-104.926],[-8.872,-33.946],[-7.97,81.99]],"o":[[0,0],[-6.542,75.102],[0,0],[7.557,-77.744]],"v":[[14.501,-657.304],[48.46,-489.395],[70.472,-335.374],[3.043,-484.576]],"c":true}]},{"t":59,"s":[{"i":[[10.127,18.942],[-11.85,-43.03],[0,0],[10.52,33.343]],"o":[[0,0],[10.826,39.313],[0,0],[-9.696,-30.733]],"v":[[-23.094,-690.043],[27.066,-633.141],[23.436,-558.771],[6.528,-625.964]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[0,1,0.922,0.231,0.5,1,0.88,0.116,1,1,0.839,0,0,1,0.5,0.5,1,0]},{"t":35,"s":[0,1,0.88,0.116,0.5,1,0.86,0.058,1,1,0.839,0,0,1,0.5,0.5,1,0]}],"ix":9}},"s":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[-4,-96],"to":[0,0],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":35,"s":[15,-339],"to":[0,0],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":45,"s":[-13,-455],"to":[0,0],"ti":[0,0]},{"t":59,"s":[-29,-606]}],"ix":5},"e":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[44,350],"to":[0,0],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":35,"s":[205,-236],"to":[0,0],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":45,"s":[147,-356],"to":[0,0],"ti":[0,0]},{"t":59,"s":[29,-583]}],"ix":6},"t":1,"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[455.29,575.81],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"flame L 3","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":-40,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-30,"s":[100]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":10,"s":[100]},{"t":20,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[440.74,916.776,0],"ix":2,"l":2},"a":{"a":0,"k":[147.63,769.266,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":-40,"s":[{"i":[[0,0],[19.584,14.91],[-1,14.5],[-21.861,-15.755]],"o":[[-15.98,-2.76],[-16.46,-12.532],[24,18.5],[13.947,10.051]],"v":[[116.56,171.24],[52.996,142.569],[33.08,103.48],[88.133,149.428]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":-30,"s":[{"i":[[0,0],[27.102,22.991],[21,38],[-16.053,-51.949]],"o":[[-14.48,4.24],[-38.416,-32.59],[24,4],[16.273,52.66]],"v":[[109.56,168.24],[14.496,148.069],[-21.92,14.48],[57.133,89.428]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":-20,"s":[{"i":[[0,0],[38.204,67.475],[22.64,57.719],[-21.12,-82.08]],"o":[[-96.8,-12.88],[-26.56,-46.91],[27.64,4.719],[36.72,142.48]],"v":[[103.56,161.24],[-72.36,51.64],[-103.56,-161.24],[-11.32,-30.281]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":-10,"s":[{"i":[[0,0],[24.135,90.199],[0,0],[-33.6,-99.24]],"o":[[-96.8,-12.88],[-34.56,-129.16],[0,0],[36.277,107.147]],"v":[[-24.44,51.24],[-222.36,-116.36],[-177.56,-317.24],[-157.32,-140.281]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[32.595,87.499],[0,0],[-50.802,-91.633]],"o":[[-96.8,-12.88],[-46.675,-125.292],[0,0],[56.965,102.748]],"v":[[-24.44,51.24],[-232.358,-121.277],[-245.56,-317.239],[-165.885,-139.268]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10,"s":[{"i":[[0,0],[1.877,53.85],[-44.443,10.25],[4.837,-100.15]],"o":[[-35.883,-31.27],[-2.696,-77.346],[-24.443,34.25],[-3.755,77.759]],"v":[[-202.037,-159.25],[-276.797,-299.37],[-186.477,-453.77],[-244.757,-297.37]],"c":true}]},{"t":20,"s":[{"i":[[0,0],[-9.525,53.034],[-45.605,0.644],[25.855,-96.876]],"o":[[-28.479,-38.136],[13.682,-76.174],[-31.118,28.323],[-20.074,75.217]],"v":[[-223.798,-196.035],[-271.317,-358.773],[-156.458,-470.645],[-240.42,-350.059]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,1,0.922,0.231,0.5,1,0.88,0.116,1,1,0.839,0,0,1,0.5,0.5,1,0],"ix":9}},"s":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":-30,"s":[-8,36],"to":[0,0],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":-20,"s":[-42,-36],"to":[0,0],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":-10,"s":[-168,-254],"to":[0,0],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[-168,-254],"to":[0,0],"ti":[0,0]},{"t":10,"s":[-176,-598]}],"ix":5},"e":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":-20,"s":[102,312],"to":[0,0],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":-10,"s":[-16,64],"to":[0,0],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[-16,64],"to":[0,0],"ti":[0,0]},{"t":10,"s":[-142,-110]}],"ix":6},"t":1,"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[103.81,677.01],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":20,"st":-40,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"flame L 2","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":20,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":30,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"t":65,"s":[100]},{"t":75,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[440.74,916.776,0],"ix":2,"l":2},"a":{"a":0,"k":[147.63,769.266,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[19.584,14.91],[-1,14.5],[-21.861,-15.755]],"o":[[-15.98,-2.76],[-16.46,-12.532],[24,18.5],[13.947,10.051]],"v":[[116.56,171.24],[52.996,142.569],[33.08,103.48],[88.133,149.428]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[{"i":[[0,0],[27.102,22.991],[21,38],[-16.053,-51.949]],"o":[[-14.48,4.24],[-38.416,-32.59],[24,4],[16.273,52.66]],"v":[[109.56,168.24],[14.496,148.069],[-21.92,14.48],[57.133,89.428]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":40,"s":[{"i":[[0,0],[38.204,67.475],[22.64,57.719],[-21.12,-82.08]],"o":[[-96.8,-12.88],[-26.56,-46.91],[27.64,4.719],[36.72,142.48]],"v":[[103.56,161.24],[-72.36,51.64],[-103.56,-161.24],[-11.32,-30.281]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":60,"s":[{"i":[[0,0],[32.595,87.499],[0,0],[-50.802,-91.633]],"o":[[-96.8,-12.88],[-46.675,-125.292],[0,0],[56.965,102.748]],"v":[[-24.44,51.24],[-232.358,-121.277],[-245.56,-317.239],[-165.885,-139.268]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":65,"s":[{"i":[[0,0],[-7.125,60.596],[2.838,39.657],[7.604,-90.625]],"o":[[8.118,-41.521],[9.593,-81.583],[34.838,55.657],[-8.355,99.568]],"v":[[-227.038,-374.999],[-189.795,-545.117],[-189.758,-752.177],[-128.524,-559.896]],"c":true}]},{"t":75,"s":[{"i":[[0,0],[8.031,61.343],[-43.881,45.064],[-5.628,-59.099]],"o":[[26.12,-37.773],[-8.499,-64.918],[-18.881,64.064],[8.344,87.618]],"v":[[-249.04,-492.748],[-220.793,-632.863],[-179.039,-805.584],[-171.292,-637.421]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,1,0.922,0.231,0.5,1,0.88,0.116,1,1,0.839,0,0,1,0.5,0.5,1,0],"ix":9}},"s":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[-8,36],"to":[0,0],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":40,"s":[-42,-36],"to":[0,0],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":60,"s":[-168,-254],"to":[0,0],"ti":[0,0]},{"t":75,"s":[-168,-786]}],"ix":5},"e":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":40,"s":[102,312],"to":[0,0],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":60,"s":[-16,64],"to":[0,0],"ti":[0,0]},{"t":75,"s":[-190,-494]}],"ix":6},"t":1,"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[103.81,677.01],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":20,"op":61,"st":20,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"flame L 4","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":-45,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":-35,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[100]},{"t":15,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[440.74,916.776,0],"ix":2,"l":2},"a":{"a":0,"k":[147.63,769.266,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":-45,"s":[{"i":[[0,0],[19.584,14.91],[-1,14.5],[-21.861,-15.755]],"o":[[-15.98,-2.76],[-16.46,-12.532],[24,18.5],[13.947,10.051]],"v":[[116.56,171.24],[52.996,142.569],[33.08,103.48],[88.133,149.428]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":-35,"s":[{"i":[[0,0],[27.102,22.991],[21,38],[-16.053,-51.949]],"o":[[-14.48,4.24],[-38.416,-32.59],[24,4],[16.273,52.66]],"v":[[109.56,168.24],[14.496,148.069],[-21.92,14.48],[57.133,89.428]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":-25,"s":[{"i":[[0,0],[38.204,67.475],[22.64,57.719],[-21.12,-82.08]],"o":[[-96.8,-12.88],[-26.56,-46.91],[27.64,4.719],[36.72,142.48]],"v":[[103.56,161.24],[-72.36,51.64],[-103.56,-161.24],[-11.32,-30.281]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":-15,"s":[{"i":[[0,0],[24.135,90.199],[0,0],[-33.6,-99.24]],"o":[[-96.8,-12.88],[-34.56,-129.16],[0,0],[36.277,107.147]],"v":[[-24.44,51.24],[-222.36,-116.36],[-177.56,-317.24],[-157.32,-140.281]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":-5,"s":[{"i":[[0,0],[5.877,89.85],[5.557,138.25],[56.41,-95.155]],"o":[[-55.883,-41.27],[-7.07,-108.096],[45.557,79.25],[-78.163,131.85]],"v":[[-209.037,-161.25],[-302.797,-337.37],[-180.477,-690.77],[-169.757,-418.37]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[-7.177,46.849],[9.838,29.657],[9.604,-82.027]],"o":[[18.118,-21],[9.875,-64.455],[27.838,26.657],[-12.267,104.771]],"v":[[-227.038,-460.52],[-178.795,-598.066],[-189.758,-752.177],[-131.524,-600.493]],"c":true}]},{"t":15,"s":[{"i":[[0,0],[8.031,61.343],[-43.881,45.064],[-5.628,-59.099]],"o":[[26.12,-37.773],[-8.499,-64.918],[-18.881,64.064],[8.344,87.618]],"v":[[-249.04,-492.748],[-220.793,-632.863],[-179.039,-805.584],[-171.292,-637.421]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,1,0.922,0.231,0.5,1,0.88,0.116,1,1,0.839,0,0,1,0.5,0.5,1,0],"ix":9}},"s":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":-35,"s":[-8,36],"to":[0,0],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":-25,"s":[-42,-36],"to":[0,0],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":-15,"s":[-168,-254],"to":[0,0],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[-176,-598],"to":[0,0],"ti":[0,0]},{"t":15,"s":[-168,-786]}],"ix":5},"e":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":-25,"s":[102,312],"to":[0,0],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":-15,"s":[-16,64],"to":[0,0],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[-142,-110],"to":[0,0],"ti":[0,0]},{"t":15,"s":[-190,-494]}],"ix":6},"t":1,"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[103.81,677.01],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":15,"st":-45,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"flame L","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":10,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"t":60,"s":[100]},{"t":70,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[440.74,916.776,0],"ix":2,"l":2},"a":{"a":0,"k":[147.63,769.266,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[19.584,14.91],[-1,14.5],[-21.861,-15.755]],"o":[[-15.98,-2.76],[-16.46,-12.532],[24,18.5],[13.947,10.051]],"v":[[116.56,171.24],[52.996,142.569],[33.08,103.48],[88.133,149.428]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10,"s":[{"i":[[0,0],[27.102,22.991],[21,38],[-16.053,-51.949]],"o":[[-14.48,4.24],[-38.416,-32.59],[24,4],[16.273,52.66]],"v":[[109.56,168.24],[14.496,148.069],[-21.92,14.48],[57.133,89.428]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[0,0],[38.204,67.475],[22.64,57.719],[-21.12,-82.08]],"o":[[-96.8,-12.88],[-26.56,-46.91],[27.64,4.719],[36.72,142.48]],"v":[[103.56,161.24],[-72.36,51.64],[-103.56,-161.24],[-11.32,-30.281]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[{"i":[[0,0],[24.135,90.199],[0,0],[-33.6,-99.24]],"o":[[-96.8,-12.88],[-34.56,-129.16],[0,0],[36.277,107.147]],"v":[[-24.44,51.24],[-222.36,-116.36],[-177.56,-317.24],[-157.32,-140.281]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":45,"s":[{"i":[[0,0],[5.877,89.85],[5.557,138.25],[56.41,-95.155]],"o":[[-55.883,-41.27],[-7.07,-108.096],[45.557,79.25],[-78.163,131.85]],"v":[[-209.037,-161.25],[-302.797,-337.37],[-180.477,-690.77],[-169.757,-418.37]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":60,"s":[{"i":[[0,0],[-7.177,46.849],[9.838,29.657],[9.604,-82.027]],"o":[[18.118,-21],[9.875,-64.455],[27.838,26.657],[-12.267,104.771]],"v":[[-227.038,-460.52],[-178.795,-598.066],[-189.758,-752.177],[-131.524,-600.493]],"c":true}]},{"t":70,"s":[{"i":[[0,0],[8.031,61.343],[-43.881,45.064],[-5.628,-59.099]],"o":[[26.12,-37.773],[-8.499,-64.918],[-18.881,64.064],[8.344,87.618]],"v":[[-249.04,-492.748],[-220.793,-632.863],[-179.039,-805.584],[-171.292,-637.421]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,1,0.922,0.231,0.5,1,0.88,0.116,1,1,0.839,0,0,1,0.5,0.5,1,0],"ix":9}},"s":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":10,"s":[-8,36],"to":[0,0],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[-42,-36],"to":[0,0],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[-168,-254],"to":[0,0],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":60,"s":[-176,-598],"to":[0,0],"ti":[0,0]},{"t":70,"s":[-168,-786]}],"ix":5},"e":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[102,312],"to":[0,0],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[-16,64],"to":[0,0],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":60,"s":[-142,-110],"to":[0,0],"ti":[0,0]},{"t":70,"s":[-190,-494]}],"ix":6},"t":1,"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[103.81,677.01],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"heart shine","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[516.2,663.32,0],"ix":2,"l":2},"a":{"a":0,"k":[398.13,334.85,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[30.76,-2.88],[-2.734,15.962],[-11.28,15.76],[-19.705,-14.677],[11.6,-20.3]],"o":[[-21.192,1.984],[2.58,-15.06],[16.64,-23.36],[18.34,13.66],[-11.6,20.3]],"v":[[-33.62,63.6],[-55.44,34.78],[-28.6,-17.64],[39.8,-40.44],[42.74,12.42]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8,"s":[{"i":[[15.36,0],[-3.92,10],[-11.28,15.76],[-20.08,-14.16],[14.48,-13.92]],"o":[[-10.72,0],[7.28,-18.32],[16.64,-23.36],[20.56,14.48],[-31.04,30]],"v":[[-42.12,54.6],[-56.44,34.28],[-28.6,-17.64],[39.8,-40.44],[43.24,16.92]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":20,"s":[{"i":[[20.879,-5.936],[-3.172,10.262],[-11.28,15.76],[-20.08,-14.16],[23.1,-14.8]],"o":[[-10.311,2.931],[5.909,-18.807],[16.64,-23.36],[20.56,14.48],[-23.1,14.8]],"v":[[-40.587,54.023],[-56.367,34.814],[-28.6,-17.64],[39.8,-40.44],[27.24,18.42]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":36,"s":[{"i":[[30.76,-2.88],[-2.734,15.962],[-11.28,15.76],[-19.705,-14.677],[11.6,-20.3]],"o":[[-21.192,1.984],[2.58,-15.06],[16.64,-23.36],[18.34,13.66],[-11.6,20.3]],"v":[[-33.62,63.6],[-55.44,34.78],[-28.6,-17.64],[39.8,-40.44],[42.74,12.42]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":49,"s":[{"i":[[15.36,0],[-3.92,10],[-11.28,15.76],[-20.08,-14.16],[14.48,-13.92]],"o":[[-10.72,0],[7.28,-18.32],[16.64,-23.36],[20.56,14.48],[-31.04,30]],"v":[[-42.12,54.6],[-56.44,34.28],[-28.6,-17.64],[39.8,-40.44],[43.24,16.92]],"c":true}]},{"t":60,"s":[{"i":[[30.76,-2.88],[-2.734,15.962],[-11.28,15.76],[-19.705,-14.677],[11.6,-20.3]],"o":[[-21.192,1.984],[2.58,-15.06],[16.64,-23.36],[18.34,13.66],[-11.6,20.3]],"v":[[-33.62,63.6],[-55.44,34.78],[-28.6,-17.64],[39.8,-40.44],[42.74,12.42]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.438999998803,0.263000009574,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[520.29,101.81],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[-33.28,41.52],[-34.48,-27.04],[16.64,-12.64],[10.4,-25.84],[7.44,-23],[11.44,24.2]],"o":[[22.8,-28.48],[18.64,14.64],[-24.32,18.48],[-10.4,25.84],[-7.44,23],[-16.775,-35.486]],"v":[[-41.68,-52.24],[56.32,-77.119],[48.16,-23.759],[-2.08,32.8],[-13.04,98.64],[-51.92,96.44]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":8,"s":[{"i":[[-33.28,41.52],[-34.48,-27.04],[16.64,-12.64],[14.72,-28.96],[2.72,-19.441],[3.76,6.719]],"o":[[22.8,-28.48],[18.64,14.64],[-24.32,18.48],[-8.88,17.439],[-1.04,7.68],[-25.76,-45.6]],"v":[[-41.68,-52.24],[56.32,-77.119],[50.16,-19.759],[-10.08,38.8],[-27.04,94.64],[-41.92,97.44]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":20,"s":[{"i":[[-33.28,41.52],[-17.358,-20.55],[13.99,-15.522],[20.566,-32.506],[2.72,-19.441],[3.76,6.719]],"o":[[22.8,-28.48],[11.2,13.26],[-20.64,22.9],[-15.4,24.34],[-1.04,7.68],[-18.56,-43.8]],"v":[[-41.68,-52.24],[55.32,-83.119],[48.66,-37.259],[-13.08,17.801],[-32.04,84.641],[-46.92,87.441]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":36,"s":[{"i":[[-33.28,41.52],[-34.48,-27.04],[16.64,-12.64],[10.4,-25.84],[7.44,-23],[11.44,24.2]],"o":[[22.8,-28.48],[18.64,14.64],[-24.32,18.48],[-10.4,25.84],[-7.44,23],[-16.775,-35.486]],"v":[[-41.68,-52.24],[56.32,-77.119],[48.16,-23.759],[-2.08,32.8],[-13.04,98.64],[-51.92,96.44]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":49,"s":[{"i":[[-33.28,41.52],[-34.48,-27.04],[16.64,-12.64],[14.72,-28.96],[2.72,-19.441],[3.76,6.719]],"o":[[22.8,-28.48],[18.64,14.64],[-24.32,18.48],[-8.88,17.439],[-1.04,7.68],[-25.76,-45.6]],"v":[[-41.68,-52.24],[56.32,-77.119],[50.16,-19.759],[-10.08,38.8],[-27.04,94.64],[-41.92,97.44]],"c":true}]},{"t":60,"s":[{"i":[[-33.28,41.52],[-34.48,-27.04],[16.64,-12.64],[10.4,-25.84],[7.44,-23],[11.44,24.2]],"o":[[22.8,-28.48],[18.64,14.64],[-24.32,18.48],[-10.4,25.84],[-7.44,23],[-16.775,-35.486]],"v":[[-41.68,-52.24],[56.32,-77.119],[48.16,-23.759],[-2.08,32.8],[-13.04,98.64],[-51.92,96.44]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.438999998803,0.263000009574,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[154.41,148.889],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"heart ","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[516.2,663.32,0],"ix":2,"l":2},"a":{"a":0,"k":[398.13,334.85,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[108.88,0],[0,0],[147.36,0],[-42.48,-181.6],[0,0],[-42.48,181.52]],"o":[[-133.2,0],[0,0],[-100.8,0],[42.48,181.519],[0,0],[42.48,-181.68]],"v":[[182.28,-334.6],[0.2,-198.52],[-182.2,-334.6],[-355.4,-73.16],[0.52,334.6],[355.4,-73.08]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12,"s":[{"i":[[108.88,0],[0,0],[147.36,0],[-42.498,-186.876],[0,0],[-42.444,186.806]],"o":[[-133.2,0],[0,0],[-100.8,0],[42.48,186.797],[0,0],[42.48,-186.962]],"v":[[182.28,-334.6],[0.2,-207.32],[-182.2,-334.6],[-355.4,-78.44],[0.52,334.6],[355.4,-78.358]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":28,"s":[{"i":[[108.88,0],[0,0],[147.36,0],[-42.48,-181.6],[0,0],[-42.48,181.52]],"o":[[-133.2,0],[0,0],[-100.8,0],[42.48,181.519],[0,0],[42.48,-181.68]],"v":[[182.28,-334.6],[0.2,-198.52],[-182.2,-334.6],[-355.4,-73.16],[0.52,334.6],[355.4,-73.08]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":43,"s":[{"i":[[108.88,0],[0,0],[147.36,0],[-42.498,-186.876],[0,0],[-42.444,186.806]],"o":[[-133.2,0],[0,0],[-100.8,0],[42.48,186.797],[0,0],[42.48,-186.962]],"v":[[182.28,-334.6],[0.2,-207.32],[-182.2,-334.6],[-355.4,-78.44],[0.52,334.6],[355.4,-78.358]],"c":true}]},{"t":60,"s":[{"i":[[108.88,0],[0,0],[147.36,0],[-42.48,-181.6],[0,0],[-42.48,181.52]],"o":[[-133.2,0],[0,0],[-100.8,0],[42.48,181.519],[0,0],[42.48,-181.68]],"v":[[182.28,-334.6],[0.2,-198.52],[-182.2,-334.6],[-355.4,-73.16],[0.52,334.6],[355.4,-73.08]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":5,"k":{"a":0,"k":[0.12,1,0.427,0,0.3,0.978,0.345,0.106,0.48,0.957,0.263,0.212,0.645,0.837,0.186,0.161,0.81,0.718,0.11,0.11],"ix":9}},"s":{"a":0,"k":[4,278],"ix":5},"e":{"a":0,"k":[268,-468],"ix":6},"t":2,"h":{"a":0,"k":0,"ix":7},"a":{"a":0,"k":0,"ix":8},"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[398.13,334.85],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"big flame drops 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[449.92,450.16,0],"ix":2,"l":2},"a":{"a":0,"k":[388.89,424.49,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":41,"s":[{"i":[[10.165,-5.675],[8.752,-35.75],[-6.202,3.175],[-8.184,40.589]],"o":[[-5.212,2.91],[-10.545,43.074],[5.092,-2.607],[8.567,-42.488]],"v":[[365.292,-328.57],[360.828,-267.91],[394.488,-199.553],[398.764,-264.25]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":63,"s":[{"i":[[10.165,-5.675],[8.752,-35.75],[-6.202,3.175],[-8.184,40.589]],"o":[[-5.212,2.91],[-10.545,43.074],[5.092,-2.607],[8.567,-42.488]],"v":[[365.292,-328.57],[360.828,-267.91],[394.488,-199.553],[398.764,-264.25]],"c":true}]},{"t":78,"s":[{"i":[[3.17,-3.651],[-7.101,-10.328],[-3.903,1.289],[8.699,8.95]],"o":[[-3.936,4.534],[9.025,13.127],[3.276,-1.081],[-8.69,-8.941]],"v":[[339.016,-406.194],[350.681,-387.082],[366.483,-371.199],[363.773,-399.413]],"c":true}],"h":1}],"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":5,"k":{"a":0,"k":[0.4,1,0.839,0,0.545,1,0.718,0,0.69,1,0.596,0,0.845,0.978,0.429,0.106,1,0.957,0.263,0.212],"ix":9}},"s":{"a":0,"k":[312,-582],"ix":5},"e":{"a":0,"k":[440,-142],"ix":6},"t":2,"h":{"a":0,"k":0,"ix":7},"a":{"a":0,"k":0,"ix":8},"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[388.89,424.49],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":1,"k":[{"t":21,"s":[0],"h":1},{"t":63,"s":[100],"h":1},{"t":78,"s":[0],"h":1}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 4","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":32,"s":[{"i":[[7,2.5],[-2.242,-30.192],[-3.65,4.38],[4.125,34.259]],"o":[[-8.223,-2.937],[4.139,55.722],[5,-6],[-6.103,-50.686]],"v":[[-190.92,-350.66],[-198.178,-290.969],[-146.92,-226.16],[-140.045,-287.419]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":41,"s":[{"i":[[4.283,-0.095],[1.719,-23.368],[-5.145,1.355],[2.918,24.416]],"o":[[-4.787,-0.085],[-0.496,32.053],[5.701,-2.023],[-3.652,-30.502]],"v":[[-184.654,-391.893],[-198.004,-349.624],[-172.372,-310.434],[-164.037,-350.698]],"c":true}]},{"t":48,"s":[{"i":[[2.381,-1.911],[4.491,-18.592],[-6.192,-0.762],[2.073,17.527]],"o":[[-2.381,1.911],[-3.741,15.485],[6.192,0.762],[-1.937,-16.373]],"v":[[-180.268,-420.757],[-197.882,-390.683],[-190.188,-369.425],[-180.832,-394.993]],"c":true}]}],"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":5,"k":{"a":0,"k":[0.4,1,0.839,0,0.545,1,0.718,0,0.69,1,0.596,0,0.845,0.978,0.429,0.106,1,0.957,0.263,0.212],"ix":9}},"s":{"a":0,"k":[-106,-444],"ix":5},"e":{"a":0,"k":[-134,-188],"ix":6},"t":2,"h":{"a":0,"k":0,"ix":7},"a":{"a":0,"k":0,"ix":8},"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[388.89,424.49],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":1,"k":[{"t":21,"s":[0],"h":1},{"t":32,"s":[100],"h":1},{"t":48,"s":[0],"h":1}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":21,"op":81,"st":21,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"big flame drops","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[449.92,450.16,0],"ix":2,"l":2},"a":{"a":0,"k":[388.89,424.49,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":-19,"s":[{"i":[[10.165,-5.675],[8.752,-35.75],[-6.202,3.175],[-8.184,40.589]],"o":[[-5.212,2.91],[-10.545,43.074],[5.092,-2.607],[8.567,-42.488]],"v":[[365.292,-328.57],[360.828,-267.91],[394.488,-199.553],[398.764,-264.25]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":3,"s":[{"i":[[10.165,-5.675],[8.752,-35.75],[-6.202,3.175],[-8.184,40.589]],"o":[[-5.212,2.91],[-10.545,43.074],[5.092,-2.607],[8.567,-42.488]],"v":[[365.292,-328.57],[360.828,-267.91],[394.488,-199.553],[398.764,-264.25]],"c":true}]},{"t":18,"s":[{"i":[[3.17,-3.651],[-7.101,-10.328],[-3.903,1.289],[8.699,8.95]],"o":[[-3.936,4.534],[9.025,13.127],[3.276,-1.081],[-8.69,-8.941]],"v":[[339.016,-406.194],[350.681,-387.082],[366.483,-371.199],[363.773,-399.413]],"c":true}],"h":1}],"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":5,"k":{"a":0,"k":[0.4,1,0.839,0,0.545,1,0.718,0,0.69,1,0.596,0,0.845,0.978,0.429,0.106,1,0.957,0.263,0.212],"ix":9}},"s":{"a":0,"k":[312,-582],"ix":5},"e":{"a":0,"k":[440,-142],"ix":6},"t":2,"h":{"a":0,"k":0,"ix":7},"a":{"a":0,"k":0,"ix":8},"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[388.89,424.49],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":1,"k":[{"t":-39,"s":[0],"h":1},{"t":3,"s":[100],"h":1},{"t":18,"s":[0],"h":1}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 4","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":-28,"s":[{"i":[[7,2.5],[-2.242,-30.192],[-3.65,4.38],[4.125,34.259]],"o":[[-8.223,-2.937],[4.139,55.722],[5,-6],[-6.103,-50.686]],"v":[[-190.92,-350.66],[-198.178,-290.969],[-146.92,-226.16],[-140.045,-287.419]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":-19,"s":[{"i":[[4.283,-0.095],[1.719,-23.368],[-5.145,1.355],[2.918,24.416]],"o":[[-4.787,-0.085],[-0.496,32.053],[5.701,-2.023],[-3.652,-30.502]],"v":[[-184.654,-391.893],[-198.004,-349.624],[-172.372,-310.434],[-164.037,-350.698]],"c":true}]},{"t":-12,"s":[{"i":[[2.381,-1.911],[4.491,-18.592],[-6.192,-0.762],[2.073,17.527]],"o":[[-2.381,1.911],[-3.741,15.485],[6.192,0.762],[-1.937,-16.373]],"v":[[-180.268,-420.757],[-197.882,-390.683],[-190.188,-369.425],[-180.832,-394.993]],"c":true}]}],"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":5,"k":{"a":0,"k":[0.4,1,0.839,0,0.545,1,0.718,0,0.69,1,0.596,0,0.845,0.978,0.429,0.106,1,0.957,0.263,0.212],"ix":9}},"s":{"a":0,"k":[-106,-444],"ix":5},"e":{"a":0,"k":[-134,-188],"ix":6},"t":2,"h":{"a":0,"k":0,"ix":7},"a":{"a":0,"k":0,"ix":8},"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[388.89,424.49],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":1,"k":[{"t":-39,"s":[0],"h":1},{"t":-28,"s":[100],"h":1},{"t":-12,"s":[0],"h":1}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":-39,"op":21,"st":-39,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"big flame 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[449.92,450.16,0],"ix":2,"l":2},"a":{"a":0,"k":[388.89,424.49,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21,"s":[{"i":[[40.72,79.04],[-135.68,70.8],[7.892,-122.377],[-20.88,-77.12],[12.24,-49.2]],"o":[[-31.76,-61.76],[-102,18.32],[-5.52,85.6],[28.08,104.24],[174.08,-114.24]],"v":[[30.32,-67.96],[82.72,-330.04],[-88.16,-116.68],[-46.48,111.48],[-51.84,330.04]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":32,"s":[{"i":[[42.558,144.935],[26.04,79.027],[-20.456,-78.84],[15.678,-54.152],[5.531,-50.397]],"o":[[-23.198,-79.004],[-17.181,69.896],[20.308,78.268],[-22.597,78.049],[157.185,-136.556]],"v":[[73.518,-45.076],[-46.72,-245.107],[-27.224,-40.24],[-58.718,179.494],[-148.789,389.028]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":44,"s":[{"i":[[22.325,141.848],[68.37,21.346],[-7.636,-111.626],[42.494,-54.322],[13.271,-46.348]],"o":[[-22.325,-141.848],[47.37,31.346],[7.636,111.626],[-42.494,54.322],[174.08,-114.24]],"v":[[152.645,-37.233],[-96.05,-266.426],[52.684,-40.706],[-13.186,138.598],[-112.664,296.863]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":55,"s":[{"i":[[39.642,137.496],[0,0],[-16.811,-113.4],[15.336,-64.56],[10.222,-41.12]],"o":[[-39.822,-138.12],[0,0],[12.271,82.777],[-12.204,51.376],[117.384,-114.24]],"v":[[185.142,-84.96],[4.72,-249.04],[69.131,-99.68],[70.984,97.48],[27.654,236.04]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":68,"s":[{"i":[[24.544,215.38],[17.333,94.094],[-20.843,-117.9],[45.066,-61.69],[11.736,-47.18]],"o":[[-14.281,-125.318],[-25.159,47.761],[9.104,80.935],[-45.066,61.69],[180.286,-57.62]],"v":[[157.775,-34.46],[35.987,-297.174],[35.163,-60.18],[-22.614,137.23],[-151.967,306.54]],"c":true}]},{"t":81,"s":[{"i":[[40.72,79.04],[-135.68,70.8],[7.892,-122.377],[-20.88,-77.12],[12.24,-49.2]],"o":[[-31.76,-61.76],[-102,18.32],[-5.52,85.6],[28.08,104.24],[174.08,-114.24]],"v":[[30.32,-67.96],[82.72,-330.04],[-88.16,-116.68],[-46.48,111.48],[-51.84,330.04]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21,"s":[{"i":[[40.72,79.04],[-135.68,70.8],[7.892,-122.377],[-20.88,-77.12],[12.24,-49.2]],"o":[[-31.76,-61.76],[-102,18.32],[-5.52,85.6],[28.08,104.24],[174.08,-114.24]],"v":[[30.32,-67.96],[82.72,-330.04],[-88.16,-116.68],[-46.48,111.48],[-51.84,330.04]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":32,"s":[{"i":[[42.558,144.935],[26.04,79.027],[-20.456,-78.84],[15.678,-54.152],[5.531,-50.397]],"o":[[-23.198,-79.004],[-17.181,69.896],[20.308,78.268],[-22.597,78.049],[157.185,-136.556]],"v":[[73.518,-45.076],[-46.72,-245.107],[-27.224,-40.24],[-58.718,179.494],[-148.789,389.028]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":44,"s":[{"i":[[22.325,141.848],[68.37,21.346],[-7.636,-111.626],[42.494,-54.322],[13.271,-46.348]],"o":[[-22.325,-141.848],[47.37,31.346],[7.636,111.626],[-42.494,54.322],[174.08,-114.24]],"v":[[152.645,-37.233],[-96.05,-266.426],[52.684,-40.706],[-13.186,138.598],[-112.664,296.863]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":55,"s":[{"i":[[39.642,137.496],[0,0],[-16.811,-113.4],[15.336,-64.56],[10.222,-41.12]],"o":[[-39.822,-138.12],[0,0],[12.271,82.777],[-12.204,51.376],[117.384,-114.24]],"v":[[185.142,-84.96],[4.72,-249.04],[69.131,-99.68],[70.984,97.48],[27.654,236.04]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":68,"s":[{"i":[[24.544,215.38],[17.333,94.094],[-20.843,-117.9],[45.066,-61.69],[11.736,-47.18]],"o":[[-14.281,-125.318],[-25.159,47.761],[9.104,80.935],[-45.066,61.69],[180.286,-57.62]],"v":[[157.775,-34.46],[35.987,-297.174],[35.163,-60.18],[-22.614,137.23],[-151.967,306.54]],"c":true}]},{"t":81,"s":[{"i":[[40.72,79.04],[-135.68,70.8],[7.892,-122.377],[-20.88,-77.12],[12.24,-49.2]],"o":[[-31.76,-61.76],[-102,18.32],[-5.52,85.6],[28.08,104.24],[174.08,-114.24]],"v":[[30.32,-67.96],[82.72,-330.04],[-88.16,-116.68],[-46.48,111.48],[-51.84,330.04]],"c":true}]}],"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0.16,1,0.922,0.231,0.58,1,0.88,0.116,1,1,0.839,0],"ix":9}},"s":{"a":0,"k":[-16,50],"ix":5},"e":{"a":0,"k":[-12,-296],"ix":6},"t":1,"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[502.65,337.41],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":80,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21,"s":[{"i":[[41.28,298.72],[35.961,43.807],[13.68,43.52],[-3.005,5.86],[8.926,-1.099],[34.08,-173.68],[13.496,-5.874],[16.12,25.68],[-2.18,2.895],[4.9,-1.005],[66.56,-167.6],[-119.2,-152.96],[-1.6,-0.88]],"o":[[-5.28,-103.16],[-26.4,-32.16],[-14.64,-46.4],[1.465,-2.857],[-56.495,6.955],[-4.48,22.88],[-17.92,7.8],[-28.377,-45.206],[2.18,-2.895],[-4.9,1.005],[-20.24,50.96],[119.52,153.359],[0.56,0.4]],"v":[[354.36,-35],[266.48,-223],[184.535,-322.132],[206.71,-417.27],[199.825,-423.615],[-21.2,-225.04],[-54,-180.96],[-107.04,-195.84],[-75.6,-318.64],[-79.52,-325.04],[-311.68,-122.96],[-269.44,259.12],[-75.76,423.84]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":31,"s":[{"i":[[8.953,240.192],[52.676,39.853],[29.356,44.458],[7.109,23.587],[6.792,-6.351],[15.025,-80.751],[15.39,-1.852],[24.309,22.858],[8.133,36.652],[8.662,-12.973],[32.196,-81.782],[-119.2,-152.96],[-1.6,-0.88]],"o":[[-2.693,-100.035],[-31.4,-23.978],[-20.949,-32.482],[-0.959,-3.672],[-39.563,36.614],[-6.062,32.88],[-22.176,2.622],[-45.926,-43.184],[-5.1,-22.986],[-35.438,53.076],[-20.068,51.028],[119.52,153.359],[0.56,0.4]],"v":[[352.542,-24.545],[216.207,-223],[133.922,-309.348],[107.119,-400.224],[92.848,-399.183],[-14.2,-211.404],[-46.091,-164.369],[-112.995,-182.976],[-164.552,-329.755],[-193.482,-332.237],[-295.316,-117.505],[-269.44,259.12],[-75.76,423.84]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":32,"s":[{"i":[[5.72,234.34],[54.347,39.458],[30.924,44.552],[8.12,25.36],[6.579,-6.876],[13.119,-71.458],[15.58,-1.45],[9.683,4.844],[15.93,14.73],[25.6,-11.12],[28.76,-73.2],[-119.2,-152.96],[-1.6,-0.88]],"o":[[-2.434,-99.722],[-31.9,-23.16],[-21.58,-31.09],[-1.202,-3.753],[-37.87,39.58],[-6.22,33.88],[-22.602,2.104],[-19.13,-9.57],[-13.267,-12.267],[-23.977,10.415],[-20.051,51.035],[119.52,153.359],[0.56,0.4]],"v":[[352.36,-23.5],[209.98,-223],[127.66,-308.07],[95.96,-398.52],[80.95,-396.74],[-14.7,-210.04],[-46.5,-162.71],[-93.79,-169.59],[-138.85,-199.89],[-210.52,-235.54],[-293.68,-116.96],[-269.44,259.12],[-75.76,423.84]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":44,"s":[{"i":[[3.03,234.091],[50.829,51.31],[48.885,27.636],[45.26,-1.495],[-8.71,-9.26],[5.641,-88.541],[23.373,-1.467],[11.645,16.163],[25.401,9.544],[10.614,-8.102],[43.031,-80.083],[-110.617,-145.591],[-6.135,-0.696]],"o":[[2.92,-152.778],[-38.786,-39.153],[-59.31,-33.373],[-8.27,0.273],[24.614,26.17],[-7.809,30.421],[-23.373,1.467],[-18.754,-26.029],[-15.435,-5.8],[-39.306,30.003],[-28.201,52.484],[117.373,154.966],[8.627,0.16]],"v":[[427.16,42.618],[321.251,-211.471],[172.742,-314.376],[-11.68,-380.166],[-14.534,-359.83],[23.241,-209.722],[-22.371,-165.098],[-81.166,-185.131],[-121.485,-249.361],[-166.614,-239.164],[-295.951,-82.078],[-233.769,260.108],[71.934,473.228]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":55,"s":[{"i":[[-1.901,233.634],[51.5,72.84],[54.522,32.428],[34.915,-1.762],[-16.771,-12.61],[11.857,-48.089],[25.12,2.35],[19.338,38.583],[11.77,-1.23],[4.126,-14.609],[51.36,-83.2],[-94.88,-132.08],[-14.45,-0.36]],"o":[[1.12,-137.66],[-37.678,-53.291],[-56.98,-33.89],[-11.14,0.562],[16.771,12.61],[-10.72,43.48],[-25.12,-2.35],[-18.73,-37.37],[-11.77,1.23],[-28.8,101.98],[-35.925,58.197],[113.436,157.912],[23.416,-0.28]],"v":[[464.96,67.5],[354.58,-211],[204.06,-333.27],[36.165,-380.398],[34.309,-363.77],[81.8,-225.64],[18.2,-176.81],[-57.19,-243.79],[-104.15,-288.39],[-120.12,-250.14],[-247.28,-57.96],[-211.04,261.92],[112.04,484.44]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":68,"s":[{"i":[[-41.78,237.19],[35.862,45.361],[37.28,38.38],[21.902,44.619],[10.546,-10.606],[8.884,-52.828],[55.221,-3.675],[14.682,36.332],[35.387,25.197],[-0.787,-17.481],[32.54,-82.64],[-119.2,-152.96],[-1.6,-0.88]],"o":[[33.756,-191.635],[-47.256,-59.772],[-37.28,-38.38],[-4.142,-8.438],[-57.38,57.706],[-8.766,52.12],[-26.67,1.775],[-28.305,-70.045],[-12.777,-9.097],[4.542,100.851],[-20.07,51.027],[119.52,153.359],[0.56,0.4]],"v":[[425.86,110.65],[366.218,-185.521],[247.36,-301.78],[164.178,-404.78],[142.96,-408.866],[75.696,-236.332],[-4.25,-158.935],[-69.615,-210.115],[-161.307,-331.357],[-183.462,-327.011],[-274.48,-153.56],[-237.44,243.12],[100.24,511.84]],"c":true}]},{"t":81,"s":[{"i":[[41.28,298.72],[35.961,43.807],[13.68,43.52],[-3.005,5.86],[8.926,-1.099],[34.08,-173.68],[13.496,-5.874],[16.12,25.68],[-2.18,2.895],[4.9,-1.005],[66.56,-167.6],[-119.2,-152.96],[-1.6,-0.88]],"o":[[-5.28,-103.16],[-26.4,-32.16],[-14.64,-46.4],[1.465,-2.857],[-56.495,6.955],[-4.48,22.88],[-17.92,7.8],[-28.377,-45.206],[2.18,-2.895],[-4.9,1.005],[-20.24,50.96],[119.52,153.359],[0.56,0.4]],"v":[[354.36,-35],[266.48,-223],[184.535,-322.132],[206.71,-417.27],[199.825,-423.615],[-21.2,-225.04],[-54,-180.96],[-107.04,-195.84],[-75.6,-318.64],[-79.52,-325.04],[-311.68,-122.96],[-269.44,259.12],[-75.76,423.84]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":5,"k":{"a":0,"k":[0.4,1,0.839,0,0.545,1,0.718,0,0.69,1,0.596,0,0.845,0.978,0.429,0.106,1,0.957,0.263,0.212],"ix":9}},"s":{"a":0,"k":[4,240],"ix":5},"e":{"a":0,"k":[222,-458],"ix":6},"t":2,"h":{"a":0,"k":0,"ix":7},"a":{"a":0,"k":0,"ix":8},"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[388.89,424.49],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":21,"op":81,"st":21,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"big flame ","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[449.92,450.16,0],"ix":2,"l":2},"a":{"a":0,"k":[388.89,424.49,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":-39,"s":[{"i":[[40.72,79.04],[-135.68,70.8],[7.892,-122.377],[-20.88,-77.12],[12.24,-49.2]],"o":[[-31.76,-61.76],[-102,18.32],[-5.52,85.6],[28.08,104.24],[174.08,-114.24]],"v":[[42.32,-67.96],[94.72,-330.04],[-76.16,-116.68],[-46.48,111.48],[-51.84,330.04]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":-28,"s":[{"i":[[42.558,144.935],[26.04,79.027],[-20.456,-78.84],[15.678,-54.152],[5.531,-50.397]],"o":[[-23.198,-79.004],[-17.181,69.896],[20.308,78.268],[-22.597,78.049],[157.185,-136.556]],"v":[[73.518,-45.076],[-46.72,-245.107],[-27.224,-40.24],[-58.718,179.494],[-148.789,389.028]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":-16,"s":[{"i":[[22.325,141.848],[68.37,21.346],[-7.636,-111.626],[42.494,-54.322],[13.271,-46.348]],"o":[[-22.325,-141.848],[47.37,31.346],[7.636,111.626],[-42.494,54.322],[174.08,-114.24]],"v":[[152.645,-37.233],[-96.05,-266.426],[52.684,-40.706],[-13.186,138.598],[-112.664,296.863]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":-5,"s":[{"i":[[39.642,137.496],[0,0],[-16.811,-113.4],[15.336,-64.56],[10.222,-41.12]],"o":[[-39.822,-138.12],[0,0],[12.271,82.777],[-12.204,51.376],[117.384,-114.24]],"v":[[185.142,-84.96],[4.72,-249.04],[69.131,-99.68],[70.984,97.48],[27.654,236.04]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8,"s":[{"i":[[24.544,215.38],[17.333,94.094],[-20.843,-117.9],[45.066,-61.69],[11.736,-47.18]],"o":[[-14.281,-125.318],[-25.159,47.761],[9.104,80.935],[-45.066,61.69],[180.286,-57.62]],"v":[[157.775,-34.46],[35.987,-297.174],[35.163,-60.18],[-22.614,137.23],[-151.967,306.54]],"c":true}]},{"t":21,"s":[{"i":[[40.72,79.04],[-135.68,70.8],[7.892,-122.377],[-20.88,-77.12],[12.24,-49.2]],"o":[[-31.76,-61.76],[-102,18.32],[-5.52,85.6],[28.08,104.24],[174.08,-114.24]],"v":[[30.32,-67.96],[82.72,-330.04],[-88.16,-116.68],[-46.48,111.48],[-51.84,330.04]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":-39,"s":[{"i":[[40.72,79.04],[-135.68,70.8],[7.892,-122.377],[-20.88,-77.12],[12.24,-49.2]],"o":[[-31.76,-61.76],[-102,18.32],[-5.52,85.6],[28.08,104.24],[174.08,-114.24]],"v":[[42.32,-67.96],[94.72,-330.04],[-76.16,-116.68],[-46.48,111.48],[-51.84,330.04]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":-28,"s":[{"i":[[42.558,144.935],[26.04,79.027],[-20.456,-78.84],[15.678,-54.152],[5.531,-50.397]],"o":[[-23.198,-79.004],[-17.181,69.896],[20.308,78.268],[-22.597,78.049],[157.185,-136.556]],"v":[[73.518,-45.076],[-46.72,-245.107],[-27.224,-40.24],[-58.718,179.494],[-148.789,389.028]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":-16,"s":[{"i":[[22.325,141.848],[68.37,21.346],[-7.636,-111.626],[42.494,-54.322],[13.271,-46.348]],"o":[[-22.325,-141.848],[47.37,31.346],[7.636,111.626],[-42.494,54.322],[174.08,-114.24]],"v":[[152.645,-37.233],[-96.05,-266.426],[52.684,-40.706],[-13.186,138.598],[-112.664,296.863]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":-5,"s":[{"i":[[39.642,137.496],[0,0],[-16.811,-113.4],[15.336,-64.56],[10.222,-41.12]],"o":[[-39.822,-138.12],[0,0],[12.271,82.777],[-12.204,51.376],[117.384,-114.24]],"v":[[185.142,-84.96],[4.72,-249.04],[69.131,-99.68],[70.984,97.48],[27.654,236.04]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8,"s":[{"i":[[24.544,215.38],[17.333,94.094],[-20.843,-117.9],[45.066,-61.69],[11.736,-47.18]],"o":[[-14.281,-125.318],[-25.159,47.761],[9.104,80.935],[-45.066,61.69],[180.286,-57.62]],"v":[[157.775,-34.46],[35.987,-297.174],[35.163,-60.18],[-22.614,137.23],[-151.967,306.54]],"c":true}]},{"t":21,"s":[{"i":[[40.72,79.04],[-135.68,70.8],[7.892,-122.377],[-20.88,-77.12],[12.24,-49.2]],"o":[[-31.76,-61.76],[-102,18.32],[-5.52,85.6],[28.08,104.24],[174.08,-114.24]],"v":[[30.32,-67.96],[82.72,-330.04],[-88.16,-116.68],[-46.48,111.48],[-51.84,330.04]],"c":true}]}],"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0.16,1,0.922,0.231,0.58,1,0.88,0.116,1,1,0.839,0],"ix":9}},"s":{"a":0,"k":[-16,50],"ix":5},"e":{"a":0,"k":[-12,-296],"ix":6},"t":1,"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[502.65,337.41],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":80,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":-39,"s":[{"i":[[41.28,298.72],[35.961,43.807],[13.68,43.52],[-3.005,5.86],[8.926,-1.099],[34.08,-173.68],[13.496,-5.874],[16.12,25.68],[-2.18,2.895],[4.9,-1.005],[66.56,-167.6],[-119.2,-152.96],[-1.6,-0.88]],"o":[[-5.28,-103.16],[-26.4,-32.16],[-14.64,-46.4],[1.465,-2.857],[-56.495,6.955],[-4.48,22.88],[-17.92,7.8],[-28.377,-45.206],[2.18,-2.895],[-4.9,1.005],[-20.24,50.96],[119.52,153.359],[0.56,0.4]],"v":[[354.36,-35],[278.48,-223],[196.535,-322.132],[218.71,-417.27],[211.825,-423.615],[-9.2,-225.04],[-42,-180.96],[-107.04,-195.84],[-75.6,-318.64],[-79.52,-325.04],[-311.68,-122.96],[-269.44,259.12],[-75.76,423.84]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":-29,"s":[{"i":[[8.953,240.192],[52.676,39.853],[29.356,44.458],[7.109,23.587],[6.792,-6.351],[15.025,-80.751],[15.39,-1.852],[24.309,22.858],[8.133,36.652],[8.662,-12.973],[32.196,-81.782],[-119.2,-152.96],[-1.6,-0.88]],"o":[[-2.693,-100.035],[-31.4,-23.978],[-20.949,-32.482],[-0.959,-3.672],[-39.563,36.614],[-6.062,32.88],[-22.176,2.622],[-45.926,-43.184],[-5.1,-22.986],[-35.438,53.076],[-20.068,51.028],[119.52,153.359],[0.56,0.4]],"v":[[352.542,-24.545],[216.207,-223],[133.922,-309.348],[107.119,-400.224],[92.848,-399.183],[-14.2,-211.404],[-46.091,-164.369],[-112.995,-182.976],[-164.552,-329.755],[-193.482,-332.237],[-295.316,-117.505],[-269.44,259.12],[-75.76,423.84]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":-28,"s":[{"i":[[5.72,234.34],[54.347,39.458],[30.924,44.552],[8.12,25.36],[6.579,-6.876],[13.119,-71.458],[15.58,-1.45],[9.683,4.844],[15.93,14.73],[25.6,-11.12],[28.76,-73.2],[-119.2,-152.96],[-1.6,-0.88]],"o":[[-2.434,-99.722],[-31.9,-23.16],[-21.58,-31.09],[-1.202,-3.753],[-37.87,39.58],[-6.22,33.88],[-22.602,2.104],[-19.13,-9.57],[-13.267,-12.267],[-23.977,10.415],[-20.051,51.035],[119.52,153.359],[0.56,0.4]],"v":[[352.36,-23.5],[209.98,-223],[127.66,-308.07],[95.96,-398.52],[80.95,-396.74],[-14.7,-210.04],[-46.5,-162.71],[-93.79,-169.59],[-138.85,-199.89],[-210.52,-235.54],[-293.68,-116.96],[-269.44,259.12],[-75.76,423.84]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":-16,"s":[{"i":[[3.03,234.091],[50.829,51.31],[48.885,27.636],[45.26,-1.495],[-8.71,-9.26],[5.641,-88.541],[23.373,-1.467],[11.645,16.163],[25.401,9.544],[10.614,-8.102],[43.031,-80.083],[-110.617,-145.591],[-6.135,-0.696]],"o":[[2.92,-152.778],[-38.786,-39.153],[-59.31,-33.373],[-8.27,0.273],[24.614,26.17],[-7.809,30.421],[-23.373,1.467],[-18.754,-26.029],[-15.435,-5.8],[-39.306,30.003],[-28.201,52.484],[117.373,154.966],[8.627,0.16]],"v":[[427.16,42.618],[321.251,-211.471],[172.742,-314.376],[-11.68,-380.166],[-14.534,-359.83],[23.241,-209.722],[-22.371,-165.098],[-81.166,-185.131],[-121.485,-249.361],[-166.614,-239.164],[-295.951,-82.078],[-233.769,260.108],[71.934,473.228]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":-5,"s":[{"i":[[-1.901,233.634],[51.5,72.84],[54.522,32.428],[34.915,-1.762],[-16.771,-12.61],[11.857,-48.089],[25.12,2.35],[19.338,38.583],[11.77,-1.23],[4.126,-14.609],[51.36,-83.2],[-94.88,-132.08],[-14.45,-0.36]],"o":[[1.12,-137.66],[-37.678,-53.291],[-56.98,-33.89],[-11.14,0.562],[16.771,12.61],[-10.72,43.48],[-25.12,-2.35],[-18.73,-37.37],[-11.77,1.23],[-28.8,101.98],[-35.925,58.197],[113.436,157.912],[23.416,-0.28]],"v":[[464.96,67.5],[354.58,-211],[204.06,-333.27],[36.165,-380.398],[34.309,-363.77],[81.8,-225.64],[18.2,-176.81],[-57.19,-243.79],[-104.15,-288.39],[-120.12,-250.14],[-247.28,-57.96],[-211.04,261.92],[112.04,484.44]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8,"s":[{"i":[[-41.78,237.19],[35.862,45.361],[37.28,38.38],[21.902,44.619],[10.546,-10.606],[8.884,-52.828],[55.221,-3.675],[14.682,36.332],[35.387,25.197],[-0.787,-17.481],[32.54,-82.64],[-119.2,-152.96],[-1.6,-0.88]],"o":[[33.756,-191.635],[-47.256,-59.772],[-37.28,-38.38],[-4.142,-8.438],[-57.38,57.706],[-8.766,52.12],[-26.67,1.775],[-28.305,-70.045],[-12.777,-9.097],[4.542,100.851],[-20.07,51.027],[119.52,153.359],[0.56,0.4]],"v":[[425.86,110.65],[366.218,-185.521],[247.36,-301.78],[164.178,-404.78],[142.96,-408.866],[75.696,-236.332],[-4.25,-158.935],[-69.615,-210.115],[-161.307,-331.357],[-183.462,-327.011],[-274.48,-153.56],[-237.44,243.12],[100.24,511.84]],"c":true}]},{"t":21,"s":[{"i":[[41.28,298.72],[35.961,43.807],[13.68,43.52],[-3.005,5.86],[8.926,-1.099],[34.08,-173.68],[13.496,-5.874],[16.12,25.68],[-2.18,2.895],[4.9,-1.005],[66.56,-167.6],[-119.2,-152.96],[-1.6,-0.88]],"o":[[-5.28,-103.16],[-26.4,-32.16],[-14.64,-46.4],[1.465,-2.857],[-56.495,6.955],[-4.48,22.88],[-17.92,7.8],[-28.377,-45.206],[2.18,-2.895],[-4.9,1.005],[-20.24,50.96],[119.52,153.359],[0.56,0.4]],"v":[[354.36,-35],[266.48,-223],[184.535,-322.132],[206.71,-417.27],[199.825,-423.615],[-21.2,-225.04],[-54,-180.96],[-107.04,-195.84],[-75.6,-318.64],[-79.52,-325.04],[-311.68,-122.96],[-269.44,259.12],[-75.76,423.84]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":5,"k":{"a":0,"k":[0.4,1,0.839,0,0.545,1,0.718,0,0.69,1,0.596,0,0.845,0.978,0.429,0.106,1,0.957,0.263,0.212],"ix":9}},"s":{"a":0,"k":[4,240],"ix":5},"e":{"a":0,"k":[222,-458],"ix":6},"t":2,"h":{"a":0,"k":0,"ix":7},"a":{"a":0,"k":0,"ix":8},"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[388.89,424.49],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":-39,"op":21,"st":-39,"bm":0}],"markers":[{"tm":20,"cm":"rest","dr":0}]} \ No newline at end of file diff --git a/lib/src/app.dart b/lib/src/app.dart index de2291d..6bae247 100644 --- a/lib/src/app.dart +++ b/lib/src/app.dart @@ -1,5 +1,3 @@ -import 'dart:io'; -import 'package:flutter_foreground_task/flutter_foreground_task.dart'; import 'package:provider/provider.dart'; import 'package:twonly/globals.dart'; import 'package:twonly/src/components/connection_state.dart'; @@ -7,7 +5,6 @@ import 'package:twonly/src/providers/contacts_change_provider.dart'; import 'package:twonly/src/providers/download_change_provider.dart'; import 'package:twonly/src/providers/messages_change_provider.dart'; import 'package:twonly/src/providers/settings_change_provider.dart'; -import 'package:twonly/src/tasks/websocket_foreground_task.dart'; import 'package:twonly/src/utils/storage.dart'; import 'package:twonly/src/views/onboarding/onboarding_view.dart'; import 'package:twonly/src/views/home_view.dart'; @@ -88,37 +85,37 @@ class _MyAppState extends State with WidgetsBindingObserver { apiProvider.connect(); } - Future _requestPermissions() async { - // Android 13+, you need to allow notification permission to display foreground service notification. - // - // iOS: If you need notification, ask for permission. - final NotificationPermission notificationPermission = - await FlutterForegroundTask.checkNotificationPermission(); - if (notificationPermission != NotificationPermission.granted) { - await FlutterForegroundTask.requestNotificationPermission(); - } + // Future _requestPermissions() async { + // // Android 13+, you need to allow notification permission to display foreground service notification. + // // + // // iOS: If you need notification, ask for permission. + // final NotificationPermission notificationPermission = + // await FlutterForegroundTask.checkNotificationPermission(); + // if (notificationPermission != NotificationPermission.granted) { + // await FlutterForegroundTask.requestNotificationPermission(); + // } - if (Platform.isAndroid) { - // Android 12+, there are restrictions on starting a foreground service. - // - // To restart the service on device reboot or unexpected problem, you need to allow below permission. - if (!await FlutterForegroundTask.isIgnoringBatteryOptimizations) { - // This function requires `android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS` permission. - await FlutterForegroundTask.requestIgnoreBatteryOptimization(); - } + // if (Platform.isAndroid) { + // // Android 12+, there are restrictions on starting a foreground service. + // // + // // To restart the service on device reboot or unexpected problem, you need to allow below permission. + // if (!await FlutterForegroundTask.isIgnoringBatteryOptimizations) { + // // This function requires `android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS` permission. + // await FlutterForegroundTask.requestIgnoreBatteryOptimization(); + // } - // Use this utility only if you provide services that require long-term survival, - // such as exact alarm service, healthcare service, or Bluetooth communication. - // - // This utility requires the "android.permission.SCHEDULE_EXACT_ALARM" permission. - // Using this permission may make app distribution difficult due to Google policy. - // if (!await FlutterForegroundTask.canScheduleExactAlarms) { - // When you call this function, will be gone to the settings page. - // So you need to explain to the user why set it. - // await FlutterForegroundTask.openAlarmsAndRemindersSettings(); - // } - } - } + // // Use this utility only if you provide services that require long-term survival, + // // such as exact alarm service, healthcare service, or Bluetooth communication. + // // + // // This utility requires the "android.permission.SCHEDULE_EXACT_ALARM" permission. + // // Using this permission may make app distribution difficult due to Google policy. + // // if (!await FlutterForegroundTask.canScheduleExactAlarms) { + // // When you call this function, will be gone to the settings page. + // // So you need to explain to the user why set it. + // // await FlutterForegroundTask.openAlarmsAndRemindersSettings(); + // // } + // } + // } @override void didChangeAppLifecycleState(AppLifecycleState state) { diff --git a/lib/src/components/animate_icon.dart b/lib/src/components/animate_icon.dart index 430006e..065efc6 100644 --- a/lib/src/components/animate_icon.dart +++ b/lib/src/components/animate_icon.dart @@ -10,11 +10,12 @@ class EmojiAnimation extends StatelessWidget { "❤": "red_heart.json", "💪": "💪.json", "🔥": "🔥.json", - "🤠": "🤠.json", - "🤯": "🤯.json", - "🥰": "🥰.json", "😂": "😂.json", "😭": "😭.json", + "🤯": "🤯.json", + "🥰": "🥰.json", + "🤠": "🤠.json", + "❤️‍🔥": "red_heart_fire.json" }; const EmojiAnimation({super.key, required this.emoji}); @@ -34,8 +35,45 @@ class EmojiAnimation extends StatelessWidget { } else { return Text( emoji, - style: TextStyle(fontSize: 100), // Adjust the size as needed + style: TextStyle(fontSize: 15), // Adjust the size as needed ); } } } + +class EmojiAnimationFlying extends StatelessWidget { + final String emoji; + final Duration duration; + final double startPosition; + final int size; + + const EmojiAnimationFlying({ + super.key, + required this.emoji, + required this.duration, + required this.startPosition, + required this.size, + }); + + @override + Widget build(BuildContext context) { + return TweenAnimationBuilder( + tween: Tween( + begin: startPosition, end: 1), // Adjust end value as needed + duration: duration, + curve: Curves.linearToEaseOut, + builder: (context, value, child) { + return Padding( + padding: EdgeInsets.only(bottom: 20 * value), + child: Container( + // opacity: 1 - value, + child: SizedBox( + width: size + 30 * value, + child: EmojiAnimation(emoji: emoji), + ), + ), + ); + }, + ); + } +} diff --git a/lib/src/components/flame.dart b/lib/src/components/flame.dart index b041eed..5ed8ebd 100644 --- a/lib/src/components/flame.dart +++ b/lib/src/components/flame.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:twonly/src/components/animate_icon.dart'; import 'package:twonly/src/model/contacts_model.dart'; class FlameCounterWidget extends StatelessWidget { @@ -26,9 +27,12 @@ class FlameCounterWidget extends StatelessWidget { flameCounter.toString(), style: const TextStyle(fontSize: 13), ), - Text( - (maxTotalMediaCounter == user.totalMediaCounter) ? "❤️‍🔥" : "🔥", - style: const TextStyle(fontSize: 14), + SizedBox( + height: 15, + child: EmojiAnimation( + emoji: (maxTotalMediaCounter == user.totalMediaCounter) + ? "❤️‍🔥" + : "🔥"), ), ], ); diff --git a/lib/src/localization/app_en.arb b/lib/src/localization/app_en.arb index d8ad95f..860fc0e 100644 --- a/lib/src/localization/app_en.arb +++ b/lib/src/localization/app_en.arb @@ -40,6 +40,7 @@ "chatListViewSearchUserNameBtn": "Add your first twonly contact!", "chatListViewSendFirstTwonly": "Send your first twonly!", "chatListDetailInput": "Type a message", + "mediaViewerAuthReason": "Please authenticate to see this twonly!", "messageSendState_Received": "Received", "messageSendState_Opened": "Opened", "messageSendState_Send": "Send", diff --git a/lib/src/model/messages_model.dart b/lib/src/model/messages_model.dart index ea442d6..648db17 100644 --- a/lib/src/model/messages_model.dart +++ b/lib/src/model/messages_model.dart @@ -41,6 +41,16 @@ class DbMessage { bool get messageReceived => messageOtherId != null; + bool isRealTwonly() { + final content = messageContent; + if (content is MediaMessageContent) { + if (content.isRealTwonly) { + return true; + } + } + return false; + } + bool isMedia() { return messageContent is MediaMessageContent; } diff --git a/lib/src/utils/misc.dart b/lib/src/utils/misc.dart index 7606f48..794c61c 100644 --- a/lib/src/utils/misc.dart +++ b/lib/src/utils/misc.dart @@ -2,8 +2,10 @@ import 'dart:io'; import 'dart:math'; import 'dart:typed_data'; import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; import 'package:flutter_image_compress/flutter_image_compress.dart'; import 'package:gal/gal.dart'; +import 'package:local_auth/local_auth.dart'; import 'package:logging/logging.dart'; import 'package:path_provider/path_provider.dart'; import 'package:flutter_secure_storage/flutter_secure_storage.dart'; @@ -203,3 +205,22 @@ Duration calculateTimeDifference(DateTime now, DateTime startTime) { // Calculate the difference return nowInUTC.difference(startTimeInUTC); } + +Future authenticateUser(String localizedReason, + {bool force = true}) async { + try { + final LocalAuthentication auth = LocalAuthentication(); + bool didAuthenticate = await auth.authenticate( + localizedReason: localizedReason, + options: const AuthenticationOptions(useErrorDialogs: false)); + if (didAuthenticate) { + return true; + } + } on PlatformException catch (e) { + debugPrint(e.toString()); + if (!force) { + return true; + } + } + return false; +} diff --git a/lib/src/views/chats/chat_item_details_view.dart b/lib/src/views/chats/chat_item_details_view.dart index ff0fb58..c541983 100644 --- a/lib/src/views/chats/chat_item_details_view.dart +++ b/lib/src/views/chats/chat_item_details_view.dart @@ -163,6 +163,7 @@ class _ChatItemDetailsViewState extends State { context .read() .loadMessagesForUser(user.userId.toInt(), force: true); + setState(() {}); } Future _sendMessage() async { diff --git a/lib/src/views/chats/media_viewer_view.dart b/lib/src/views/chats/media_viewer_view.dart index 53e60cb..9dff168 100644 --- a/lib/src/views/chats/media_viewer_view.dart +++ b/lib/src/views/chats/media_viewer_view.dart @@ -2,17 +2,20 @@ import 'dart:async'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart'; -import 'package:local_auth/local_auth.dart'; import 'package:lottie/lottie.dart'; import 'package:no_screenshot/no_screenshot.dart'; import 'package:provider/provider.dart'; +import 'package:twonly/src/components/animate_icon.dart'; import 'package:twonly/src/components/media_view_sizing.dart'; import 'package:twonly/src/model/contacts_model.dart'; import 'package:twonly/src/model/json/message.dart'; import 'package:twonly/src/model/messages_model.dart'; import 'package:twonly/src/providers/api/api.dart'; +import 'package:twonly/src/providers/messages_change_provider.dart'; import 'package:twonly/src/providers/send_next_media_to.dart'; import 'package:twonly/src/services/notification_service.dart'; +import 'package:twonly/src/utils/misc.dart'; +import 'package:twonly/src/views/chats/chat_item_details_view.dart'; import 'package:twonly/src/views/home_view.dart'; final _noScreenshot = NoScreenshot.instance; @@ -27,82 +30,142 @@ class MediaViewerView extends StatefulWidget { } class _MediaViewerViewState extends State { - Uint8List? _imageByte; + Timer? nextMediaTimer; + Timer? progressTimer; + + bool showShortReactions = false; + int selectedShortReaction = -1; + + // current image related + Uint8List? imageBytes; DateTime? canBeSeenUntil; int maxShowTime = 999999; - bool isRealTwonly = false; double progress = 0; - Timer? _timer; - Timer? _timer2; - // DateTime opened; + bool isRealTwonly = false; + bool isDownloading = false; + + List allMediaFiles = []; @override void initState() { super.initState(); - final content = widget.message.messageContent; - if (content is MediaMessageContent) { - if (content.isRealTwonly) { - isRealTwonly = true; - } - } - loadMedia(); + + allMediaFiles = [widget.message]; + asyncLoadNextMedia(); + loadCurrentMediaFile(); } - Future loadMedia({bool force = false}) async { - bool result = await _noScreenshot.screenshotOff(); - debugPrint('Screenshot Off: $result'); - final content = widget.message.messageContent; + Future asyncLoadNextMedia() async { + await context + .read() + .loadMessagesForUser(widget.otherUser.userId.toInt()); + if (!context.mounted) return; + final allMessages = context + .read() + .allMessagesFromUser[widget.otherUser.userId.toInt()]; + if (allMessages == null) { + return; + } + final nextMediaFiles = allMessages.where((x) => + x.isMedia() && + x.messageOtherId != null && + x.messageOpenedAt == null && + x.messageId != widget.message.messageId); + allMediaFiles.addAll(nextMediaFiles.map((x) => x)); + setState(() {}); + } + + Future nextMediaOrExit() async { + nextMediaTimer?.cancel(); + progressTimer?.cancel(); + if (allMediaFiles.isEmpty || allMediaFiles.length == 1) { + if (context.mounted) { + Navigator.pop(context); + } + } else { + allMediaFiles.removeAt(0); + loadCurrentMediaFile(); + } + } + + Future loadCurrentMediaFile({bool showTwonly = false}) async { + await _noScreenshot.screenshotOff(); + if (!context.mounted || allMediaFiles.isEmpty) return; + + final DbMessage current = allMediaFiles.first; + + setState(() { + // reset current image values + imageBytes = null; + canBeSeenUntil = null; + maxShowTime = 999999; + progress = 0; + isDownloading = false; + isRealTwonly = current.isRealTwonly(); + }); + + // This will show the extra screen for the twonly + if (current.isRealTwonly() && !showTwonly) { + return; + } + + final content = current.messageContent; if (content is MediaMessageContent) { - if (content.isRealTwonly) { - if (!force) { + if (isRealTwonly) { + bool isAuth = await authenticateUser(context.lang.mediaViewerAuthReason, + force: false); + if (!isAuth) { + nextMediaOrExit(); return; } - try { - final LocalAuthentication auth = LocalAuthentication(); - bool didAuthenticate = await auth.authenticate( - localizedReason: 'Please authenticate to see this twonly!', - options: const AuthenticationOptions(useErrorDialogs: false)); - if (!didAuthenticate) { - if (context.mounted) { - Navigator.pop(context); - } - return; - } - } on PlatformException catch (e) { - debugPrint(e.toString()); - // these errors because of hardware not available or bio is not enrolled - // as this is just a nice gimig, do not interrupt the user experience - } } - - flutterLocalNotificationsPlugin.cancel(widget.message.messageId); - List token = content.downloadToken; - _imageByte = await getDownloadedMedia( - token, widget.message.messageOtherId!, widget.message.otherUserId); - if (_imageByte == null) { - // image already deleted - if (context.mounted) { - Navigator.pop(context); + flutterLocalNotificationsPlugin.cancel(current.messageId); + if (!current.isDownloaded) { + setState(() { + isDownloading = true; + }); + await tryDownloadMedia( + current.messageId, current.otherUserId, content.downloadToken, + force: true); + } + do { + if (isDownloading) { + await Future.delayed(Duration(milliseconds: 100)); } + imageBytes = await getDownloadedMedia( + content.downloadToken, + current.messageOtherId!, + current.otherUserId, + ); + } while (isDownloading && imageBytes == null); + + isDownloading = false; + + if (imageBytes == null) { + nextMediaOrExit(); return; } - // image loading does require some time - Future.delayed(Duration(milliseconds: 200), () { - setState(() { - mediaOpened(); - }); - }); + + if (content.maxShowTime != 999999) { + canBeSeenUntil = DateTime.now().add( + Duration(seconds: content.maxShowTime), + ); + maxShowTime = content.maxShowTime; + startTimer(); + } setState(() {}); } } startTimer() { - _timer = Timer(canBeSeenUntil!.difference(DateTime.now()), () { + nextMediaTimer?.cancel(); + progressTimer?.cancel(); + nextMediaTimer = Timer(canBeSeenUntil!.difference(DateTime.now()), () { if (context.mounted) { - Navigator.pop(context); + nextMediaOrExit(); } }); - _timer2 = Timer.periodic(Duration(milliseconds: 10), (timer) { + progressTimer = Timer.periodic(Duration(milliseconds: 10), (timer) { if (canBeSeenUntil != null) { Duration difference = canBeSeenUntil!.difference(DateTime.now()); // Calculate the progress as a value between 0.0 and 1.0 @@ -112,26 +175,11 @@ class _MediaViewerViewState extends State { }); } - mediaOpened() { - if (canBeSeenUntil != null) return; - final content = widget.message.messageContent; - if (content is MediaMessageContent) { - if (content.maxShowTime != 999999) { - canBeSeenUntil = DateTime.now().add( - Duration(seconds: content.maxShowTime), - ); - maxShowTime = content.maxShowTime; - startTimer(); - setState(() {}); - } - } - } - @override void dispose() { super.dispose(); - _timer?.cancel(); - _timer2?.cancel(); + nextMediaTimer?.cancel(); + progressTimer?.cancel(); _noScreenshot.screenshotOn(); } @@ -142,32 +190,38 @@ class _MediaViewerViewState extends State { child: Stack( fit: StackFit.expand, children: [ - if (_imageByte != null && (canBeSeenUntil == null || progress >= 0)) - MediaViewSizing( - Image.memory( - _imageByte!, - fit: BoxFit.contain, - frameBuilder: - ((context, child, frame, wasSynchronouslyLoaded) { - if (wasSynchronouslyLoaded) return child; - return AnimatedSwitcher( - duration: const Duration(milliseconds: 200), - child: frame != null - ? child - : SizedBox( - height: 60, - width: 60, - child: CircularProgressIndicator(strokeWidth: 6), - ), - ); - }), + if (imageBytes != null && (canBeSeenUntil == null || progress >= 0)) + GestureDetector( + onTap: () { + nextMediaOrExit(); + }, + child: MediaViewSizing( + Image.memory( + imageBytes!, + fit: BoxFit.contain, + frameBuilder: + ((context, child, frame, wasSynchronouslyLoaded) { + if (wasSynchronouslyLoaded) return child; + return AnimatedSwitcher( + duration: const Duration(milliseconds: 200), + child: frame != null + ? child + : SizedBox( + height: 60, + width: 60, + child: + CircularProgressIndicator(strokeWidth: 6), + ), + ); + }), + ), ), ), - if (isRealTwonly && _imageByte == null) + if (isRealTwonly && imageBytes == null) Positioned.fill( child: GestureDetector( onTap: () { - loadMedia(force: true); + loadCurrentMediaFile(showTwonly: true); }, child: Column( children: [ @@ -188,7 +242,6 @@ class _MediaViewerViewState extends State { left: 10, top: 10, child: Row( - // mainAxisAlignment: MainAxisAlignment.center, children: [ IconButton( icon: Icon(Icons.close, size: 30), @@ -200,6 +253,16 @@ class _MediaViewerViewState extends State { ], ), ), + if (isDownloading) + Positioned.fill( + child: Center( + child: SizedBox( + height: 60, + width: 60, + child: CircularProgressIndicator(strokeWidth: 6), + ), + ), + ), Positioned( right: 20, top: 27, @@ -217,7 +280,67 @@ class _MediaViewerViewState extends State { ], ), ), - if (_imageByte != null) + AnimatedPositioned( + duration: Duration(milliseconds: 200), // Animation duration + bottom: showShortReactions ? 130 : 90, + left: showShortReactions ? 0 : 150, + right: showShortReactions ? 0 : 150, + curve: Curves.linearToEaseOut, + child: AnimatedOpacity( + opacity: showShortReactions ? 1.0 : 0.0, // Fade in/out + duration: Duration(milliseconds: 150), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + crossAxisAlignment: CrossAxisAlignment.end, + children: List.generate( + 6, + (index) { + final emoji = + EmojiAnimation.animatedIcons.keys.toList()[index]; + return AnimatedSize( + duration: + Duration(milliseconds: 200), // Animation duration + curve: Curves.linearToEaseOut, + child: GestureDetector( + onTap: () { + sendTextMessage(widget.otherUser.userId, emoji); + setState(() { + selectedShortReaction = index; + }); + Future.delayed(Duration(milliseconds: 300), () { + setState(() { + showShortReactions = false; + }); + }); + }, + child: (selectedShortReaction == index) + ? EmojiAnimationFlying( + emoji: emoji, + duration: Duration(milliseconds: 300), + startPosition: 0.0, + size: (showShortReactions) ? 40 : 10) + : AnimatedOpacity( + opacity: (selectedShortReaction == -1) + ? 1 + : 0, // Fade in/out + duration: Duration(milliseconds: 150), + child: SizedBox( + width: showShortReactions ? 40 : 10, + child: Center( + child: EmojiAnimation( + emoji: emoji, + ), + ), + ), + ), + ), + ); + }, + ), + ), + ), + ), + if (imageBytes != null) Positioned( bottom: 30, left: 0, @@ -225,9 +348,8 @@ class _MediaViewerViewState extends State { child: Row( mainAxisAlignment: MainAxisAlignment.center, children: [ - // const SizedBox(width: 20), - FilledButton.icon( - icon: FaIcon(FontAwesomeIcons.solidPaperPlane), + IconButton.outlined( + icon: FaIcon(FontAwesomeIcons.camera), onPressed: () async { context.read().updateSendNextMediaTo( widget.otherUser.userId.toInt()); @@ -239,9 +361,63 @@ class _MediaViewerViewState extends State { EdgeInsets.symmetric(vertical: 10, horizontal: 30), ), ), - label: Text( - "Respond", - style: TextStyle(fontSize: 17), + ), + SizedBox(width: 10), + IconButton( + icon: SizedBox( + width: 40, + height: 40, + child: GridView.count( + crossAxisCount: 2, + children: List.generate( + 4, + (index) { + return SizedBox( + width: 8, + height: 8, + child: Center( + child: EmojiAnimation( + emoji: EmojiAnimation.animatedIcons.keys + .toList()[index], + ), + ), + ); + }, + ), + ), + ), + onPressed: () async { + setState(() { + showShortReactions = !showShortReactions; + selectedShortReaction = -1; + }); + // context.read().updateSendNextMediaTo( + // widget.otherUser.userId.toInt()); + // globalUpdateOfHomeViewPageIndex(0); + // Navigator.popUntil(context, (route) => route.isFirst); + }, + style: ButtonStyle( + padding: WidgetStateProperty.all( + EdgeInsets.symmetric(vertical: 10, horizontal: 30), + ), + ), + ), + SizedBox(width: 10), + IconButton.outlined( + icon: FaIcon(FontAwesomeIcons.message), + onPressed: () async { + Navigator.popUntil(context, (route) => route.isFirst); + Navigator.push( + context, + MaterialPageRoute(builder: (context) { + return ChatItemDetailsView(user: widget.otherUser); + }), + ); + }, + style: ButtonStyle( + padding: WidgetStateProperty.all( + EdgeInsets.symmetric(vertical: 10, horizontal: 30), + ), ), ), ], diff --git a/pubspec.yaml b/pubspec.yaml index c9e6f91..e9279c3 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -85,4 +85,5 @@ flutter: - assets/images/ - assets/images/onboarding/ricky_the_greedy_racoon.png - assets/animated_icons/ + - assets/animations/