diff --git a/submodules/RLottie/Info.plist b/submodules/RLottie/Info.plist deleted file mode 100644 index e1fe4cfb7b..0000000000 --- a/submodules/RLottie/Info.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - - diff --git a/submodules/RLottie/RLottie_Xcode.xcodeproj/project.pbxproj b/submodules/RLottie/RLottie_Xcode.xcodeproj/project.pbxproj deleted file mode 100644 index dcd6faf62b..0000000000 --- a/submodules/RLottie/RLottie_Xcode.xcodeproj/project.pbxproj +++ /dev/null @@ -1,1056 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 50; - objects = { - -/* Begin PBXBuildFile section */ - D010DF4122C225E4009324D4 /* RLottie.h in Headers */ = {isa = PBXBuildFile; fileRef = D010DF3F22C225E4009324D4 /* RLottie.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D010E07022C237CE009324D4 /* rlottiecommon.h in Headers */ = {isa = PBXBuildFile; fileRef = D010DF4D22C237CE009324D4 /* rlottiecommon.h */; }; - D010E07222C237CE009324D4 /* rlottie.h in Headers */ = {isa = PBXBuildFile; fileRef = D010DF4F22C237CE009324D4 /* rlottie.h */; }; - D010E07322C237CE009324D4 /* rlottie_capi.h in Headers */ = {isa = PBXBuildFile; fileRef = D010DF5022C237CE009324D4 /* rlottie_capi.h */; }; - D010E10422C237CE009324D4 /* lottieanimation_capi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D010DFEC22C237CE009324D4 /* lottieanimation_capi.cpp */; }; - D010E10722C237CE009324D4 /* lottiemodel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D010DFF022C237CE009324D4 /* lottiemodel.cpp */; }; - D010E10822C237CE009324D4 /* lottieitem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D010DFF122C237CE009324D4 /* lottieitem.cpp */; }; - D010E10A22C237CE009324D4 /* lottieanimation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D010DFF322C237CE009324D4 /* lottieanimation.cpp */; }; - D010E10B22C237CE009324D4 /* lottiekeypath.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D010DFF422C237CE009324D4 /* lottiekeypath.cpp */; }; - D010E10C22C237CE009324D4 /* lottieparser.h in Headers */ = {isa = PBXBuildFile; fileRef = D010DFF522C237CE009324D4 /* lottieparser.h */; }; - D010E10D22C237CE009324D4 /* lottieparser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D010DFF622C237CE009324D4 /* lottieparser.cpp */; }; - D010E10E22C237CE009324D4 /* lottieloader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D010DFF722C237CE009324D4 /* lottieloader.cpp */; }; - D010E10F22C237CE009324D4 /* lottieitem.h in Headers */ = {isa = PBXBuildFile; fileRef = D010DFF822C237CE009324D4 /* lottieitem.h */; }; - D010E11022C237CE009324D4 /* lottiekeypath.h in Headers */ = {isa = PBXBuildFile; fileRef = D010DFF922C237CE009324D4 /* lottiekeypath.h */; }; - D010E11222C237CE009324D4 /* lottieproxymodel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D010DFFB22C237CE009324D4 /* lottieproxymodel.cpp */; }; - D010E11322C237CE009324D4 /* fwd.h in Headers */ = {isa = PBXBuildFile; fileRef = D010DFFD22C237CE009324D4 /* fwd.h */; }; - D010E11422C237CE009324D4 /* memorystream.h in Headers */ = {isa = PBXBuildFile; fileRef = D010DFFE22C237CE009324D4 /* memorystream.h */; }; - D010E11522C237CE009324D4 /* reader.h in Headers */ = {isa = PBXBuildFile; fileRef = D010DFFF22C237CE009324D4 /* reader.h */; }; - D010E11622C237CE009324D4 /* prettywriter.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E00022C237CE009324D4 /* prettywriter.h */; }; - D010E11722C237CE009324D4 /* ostreamwrapper.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E00122C237CE009324D4 /* ostreamwrapper.h */; }; - D010E11822C237CE009324D4 /* encodedstream.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E00222C237CE009324D4 /* encodedstream.h */; }; - D010E11922C237CE009324D4 /* filereadstream.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E00322C237CE009324D4 /* filereadstream.h */; }; - D010E11A22C237CE009324D4 /* cursorstreamwrapper.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E00422C237CE009324D4 /* cursorstreamwrapper.h */; }; - D010E11B22C237CE009324D4 /* istreamwrapper.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E00522C237CE009324D4 /* istreamwrapper.h */; }; - D010E11C22C237CE009324D4 /* stringbuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E00622C237CE009324D4 /* stringbuffer.h */; }; - D010E11D22C237CE009324D4 /* ieee754.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E00822C237CE009324D4 /* ieee754.h */; }; - D010E11E22C237CE009324D4 /* strtod.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E00922C237CE009324D4 /* strtod.h */; }; - D010E11F22C237CE009324D4 /* swap.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E00A22C237CE009324D4 /* swap.h */; }; - D010E12022C237CE009324D4 /* regex.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E00B22C237CE009324D4 /* regex.h */; }; - D010E12122C237CE009324D4 /* diyfp.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E00C22C237CE009324D4 /* diyfp.h */; }; - D010E12222C237CE009324D4 /* biginteger.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E00D22C237CE009324D4 /* biginteger.h */; }; - D010E12322C237CE009324D4 /* strfunc.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E00E22C237CE009324D4 /* strfunc.h */; }; - D010E12422C237CE009324D4 /* itoa.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E00F22C237CE009324D4 /* itoa.h */; }; - D010E12522C237CE009324D4 /* stack.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E01022C237CE009324D4 /* stack.h */; }; - D010E12622C237CE009324D4 /* dtoa.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E01122C237CE009324D4 /* dtoa.h */; }; - D010E12722C237CE009324D4 /* meta.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E01222C237CE009324D4 /* meta.h */; }; - D010E12822C237CE009324D4 /* pow10.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E01322C237CE009324D4 /* pow10.h */; }; - D010E12922C237CE009324D4 /* encodings.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E01422C237CE009324D4 /* encodings.h */; }; - D010E12A22C237CE009324D4 /* schema.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E01522C237CE009324D4 /* schema.h */; }; - D010E12B22C237CE009324D4 /* stream.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E01622C237CE009324D4 /* stream.h */; }; - D010E12C22C237CE009324D4 /* filewritestream.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E01722C237CE009324D4 /* filewritestream.h */; }; - D010E12D22C237CE009324D4 /* rapidjson.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E01822C237CE009324D4 /* rapidjson.h */; }; - D010E12E22C237CE009324D4 /* document.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E01922C237CE009324D4 /* document.h */; }; - D010E12F22C237CE009324D4 /* allocators.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E01A22C237CE009324D4 /* allocators.h */; }; - D010E13022C237CE009324D4 /* writer.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E01B22C237CE009324D4 /* writer.h */; }; - D010E13122C237CE009324D4 /* error.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E01D22C237CE009324D4 /* error.h */; }; - D010E13222C237CE009324D4 /* en.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E01E22C237CE009324D4 /* en.h */; }; - D010E13322C237CE009324D4 /* memorybuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E01F22C237CE009324D4 /* memorybuffer.h */; }; - D010E13422C237CE009324D4 /* pointer.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E02022C237CE009324D4 /* pointer.h */; }; - D010E13722C237CE009324D4 /* lottieproxymodel.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E02422C237CE009324D4 /* lottieproxymodel.h */; }; - D010E13822C237CE009324D4 /* lottiemodel.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E02522C237CE009324D4 /* lottiemodel.h */; }; - D010E13922C237CE009324D4 /* lottieloader.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E02622C237CE009324D4 /* lottieloader.h */; }; - D010E13A22C237CE009324D4 /* vdasher.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E02822C237CE009324D4 /* vdasher.h */; }; - D010E13B22C237CE009324D4 /* vrle.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E02922C237CE009324D4 /* vrle.h */; }; - D010E13C22C237CE009324D4 /* velapsedtimer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D010E02A22C237CE009324D4 /* velapsedtimer.cpp */; }; - D010E13E22C237CE009324D4 /* velapsedtimer.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E02C22C237CE009324D4 /* velapsedtimer.h */; }; - D010E14022C237CE009324D4 /* vrect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D010E02E22C237CE009324D4 /* vrect.cpp */; }; - D010E14122C237CF009324D4 /* vdasher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D010E02F22C237CE009324D4 /* vdasher.cpp */; }; - D010E14222C237CF009324D4 /* vbezier.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D010E03022C237CE009324D4 /* vbezier.cpp */; }; - D010E14422C237CF009324D4 /* pixman-arm-neon-asm.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E03322C237CE009324D4 /* pixman-arm-neon-asm.h */; }; - D010E14522C237CF009324D4 /* vregion.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E03422C237CE009324D4 /* vregion.h */; }; - D010E14822C237CF009324D4 /* vregion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D010E03722C237CE009324D4 /* vregion.cpp */; }; - D010E14922C237CF009324D4 /* vpath.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D010E03822C237CE009324D4 /* vpath.cpp */; }; - D010E14A22C237CF009324D4 /* config.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E03922C237CE009324D4 /* config.h */; }; - D010E14C22C237CF009324D4 /* v_ft_types.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E03C22C237CE009324D4 /* v_ft_types.h */; }; - D010E14D22C237CF009324D4 /* v_ft_raster.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D010E03D22C237CE009324D4 /* v_ft_raster.cpp */; }; - D010E14F22C237CF009324D4 /* v_ft_stroker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D010E03F22C237CE009324D4 /* v_ft_stroker.cpp */; }; - D010E15022C237CF009324D4 /* v_ft_math.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D010E04022C237CE009324D4 /* v_ft_math.cpp */; }; - D010E15122C237CF009324D4 /* v_ft_stroker.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E04122C237CE009324D4 /* v_ft_stroker.h */; }; - D010E15222C237CF009324D4 /* v_ft_math.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E04222C237CE009324D4 /* v_ft_math.h */; }; - D010E15322C237CF009324D4 /* v_ft_raster.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E04322C237CE009324D4 /* v_ft_raster.h */; }; - D010E15422C237CF009324D4 /* vcompositionfunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D010E04422C237CE009324D4 /* vcompositionfunctions.cpp */; }; - D010E15522C237CF009324D4 /* vdrawhelper.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E04522C237CE009324D4 /* vdrawhelper.h */; }; - D010E15622C237CF009324D4 /* vbitmap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D010E04622C237CE009324D4 /* vbitmap.cpp */; }; - D010E15722C237CF009324D4 /* vdrawable.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E04722C237CE009324D4 /* vdrawable.h */; }; - D010E15822C237CF009324D4 /* vbitmap.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E04822C237CE009324D4 /* vbitmap.h */; }; - D010E15922C237CF009324D4 /* vpoint.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E04922C237CE009324D4 /* vpoint.h */; }; - D010E15A22C237CF009324D4 /* vpathmesure.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E04A22C237CE009324D4 /* vpathmesure.h */; }; - D010E15B22C237CF009324D4 /* vdebug.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E04B22C237CE009324D4 /* vdebug.h */; }; - D010E15C22C237CF009324D4 /* vpath.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E04C22C237CE009324D4 /* vpath.h */; }; - D010E15F22C237CF009324D4 /* stb_image.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E05022C237CE009324D4 /* stb_image.h */; }; - D010E16022C237CF009324D4 /* stb_image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D010E05122C237CE009324D4 /* stb_image.cpp */; }; - D010E16222C237CF009324D4 /* vtaskqueue.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E05322C237CE009324D4 /* vtaskqueue.h */; }; - D010E16322C237CF009324D4 /* vline.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E05422C237CE009324D4 /* vline.h */; }; - D010E16422C237CF009324D4 /* vdrawable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D010E05522C237CE009324D4 /* vdrawable.cpp */; }; - D010E16522C237CF009324D4 /* vpathmesure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D010E05622C237CE009324D4 /* vpathmesure.cpp */; }; - D010E16622C237CF009324D4 /* vbrush.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E05722C237CE009324D4 /* vbrush.h */; }; - D010E16722C237CF009324D4 /* vpainter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D010E05822C237CE009324D4 /* vpainter.cpp */; }; - D010E16822C237CF009324D4 /* vdebug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D010E05922C237CE009324D4 /* vdebug.cpp */; }; - D010E16922C237CF009324D4 /* vimageloader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D010E05A22C237CE009324D4 /* vimageloader.cpp */; }; - D010E16A22C237CF009324D4 /* vglobal.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E05B22C237CE009324D4 /* vglobal.h */; }; - D010E16B22C237CF009324D4 /* vraster.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D010E05C22C237CE009324D4 /* vraster.cpp */; }; - D010E16C22C237CF009324D4 /* vpainter.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E05D22C237CE009324D4 /* vpainter.h */; }; - D010E16D22C237CF009324D4 /* vmatrix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D010E05E22C237CE009324D4 /* vmatrix.cpp */; }; - D010E16E22C237CF009324D4 /* vrect.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E05F22C237CE009324D4 /* vrect.h */; }; - D010E16F22C237CF009324D4 /* vinterpolator.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E06022C237CE009324D4 /* vinterpolator.h */; }; - D010E17022C237CF009324D4 /* vbezier.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E06122C237CE009324D4 /* vbezier.h */; }; - D010E17122C237CF009324D4 /* vdrawhelper_sse2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D010E06222C237CE009324D4 /* vdrawhelper_sse2.cpp */; }; - D010E17222C237CF009324D4 /* vinterpolator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D010E06322C237CE009324D4 /* vinterpolator.cpp */; }; - D010E17322C237CF009324D4 /* vdrawhelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D010E06422C237CE009324D4 /* vdrawhelper.cpp */; }; - D010E17422C237CF009324D4 /* vstackallocator.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E06522C237CE009324D4 /* vstackallocator.h */; }; - D010E17522C237CF009324D4 /* vimageloader.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E06622C237CE009324D4 /* vimageloader.h */; }; - D010E17622C237CF009324D4 /* vraster.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E06722C237CE009324D4 /* vraster.h */; }; - D010E17722C237CF009324D4 /* vmatrix.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E06822C237CE009324D4 /* vmatrix.h */; }; - D010E17822C237CF009324D4 /* vrle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D010E06922C237CE009324D4 /* vrle.cpp */; }; - D010E17922C237CF009324D4 /* vcowptr.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E06A22C237CE009324D4 /* vcowptr.h */; }; - D010E17A22C237CF009324D4 /* vbrush.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D010E06B22C237CE009324D4 /* vbrush.cpp */; }; - D010E17F22C23C42009324D4 /* LottieInstance.mm in Sources */ = {isa = PBXBuildFile; fileRef = D010E17E22C23C42009324D4 /* LottieInstance.mm */; }; - D010E18122C23D57009324D4 /* LottieInstance.h in Headers */ = {isa = PBXBuildFile; fileRef = D010E18022C23D57009324D4 /* LottieInstance.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D05B16B022CC29F100B85A94 /* pixman-arma64-neon-asm.h in Headers */ = {isa = PBXBuildFile; fileRef = D05B16AE22CC29F100B85A94 /* pixman-arma64-neon-asm.h */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - D010DF3C22C225E4009324D4 /* RLottie.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RLottie.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D010DF3F22C225E4009324D4 /* RLottie.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RLottie.h; sourceTree = ""; }; - D010DF4022C225E4009324D4 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - D010DF4D22C237CE009324D4 /* rlottiecommon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rlottiecommon.h; sourceTree = ""; }; - D010DF4F22C237CE009324D4 /* rlottie.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rlottie.h; sourceTree = ""; }; - D010DF5022C237CE009324D4 /* rlottie_capi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rlottie_capi.h; sourceTree = ""; }; - D010DFEC22C237CE009324D4 /* lottieanimation_capi.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lottieanimation_capi.cpp; sourceTree = ""; }; - D010DFF022C237CE009324D4 /* lottiemodel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lottiemodel.cpp; sourceTree = ""; }; - D010DFF122C237CE009324D4 /* lottieitem.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lottieitem.cpp; sourceTree = ""; }; - D010DFF322C237CE009324D4 /* lottieanimation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lottieanimation.cpp; sourceTree = ""; }; - D010DFF422C237CE009324D4 /* lottiekeypath.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lottiekeypath.cpp; sourceTree = ""; }; - D010DFF522C237CE009324D4 /* lottieparser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lottieparser.h; sourceTree = ""; }; - D010DFF622C237CE009324D4 /* lottieparser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lottieparser.cpp; sourceTree = ""; }; - D010DFF722C237CE009324D4 /* lottieloader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lottieloader.cpp; sourceTree = ""; }; - D010DFF822C237CE009324D4 /* lottieitem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lottieitem.h; sourceTree = ""; }; - D010DFF922C237CE009324D4 /* lottiekeypath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lottiekeypath.h; sourceTree = ""; }; - D010DFFB22C237CE009324D4 /* lottieproxymodel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lottieproxymodel.cpp; sourceTree = ""; }; - D010DFFD22C237CE009324D4 /* fwd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fwd.h; sourceTree = ""; }; - D010DFFE22C237CE009324D4 /* memorystream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = memorystream.h; sourceTree = ""; }; - D010DFFF22C237CE009324D4 /* reader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reader.h; sourceTree = ""; }; - D010E00022C237CE009324D4 /* prettywriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = prettywriter.h; sourceTree = ""; }; - D010E00122C237CE009324D4 /* ostreamwrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ostreamwrapper.h; sourceTree = ""; }; - D010E00222C237CE009324D4 /* encodedstream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = encodedstream.h; sourceTree = ""; }; - D010E00322C237CE009324D4 /* filereadstream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = filereadstream.h; sourceTree = ""; }; - D010E00422C237CE009324D4 /* cursorstreamwrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cursorstreamwrapper.h; sourceTree = ""; }; - D010E00522C237CE009324D4 /* istreamwrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = istreamwrapper.h; sourceTree = ""; }; - D010E00622C237CE009324D4 /* stringbuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stringbuffer.h; sourceTree = ""; }; - D010E00822C237CE009324D4 /* ieee754.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ieee754.h; sourceTree = ""; }; - D010E00922C237CE009324D4 /* strtod.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = strtod.h; sourceTree = ""; }; - D010E00A22C237CE009324D4 /* swap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swap.h; sourceTree = ""; }; - D010E00B22C237CE009324D4 /* regex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = regex.h; sourceTree = ""; }; - D010E00C22C237CE009324D4 /* diyfp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = diyfp.h; sourceTree = ""; }; - D010E00D22C237CE009324D4 /* biginteger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = biginteger.h; sourceTree = ""; }; - D010E00E22C237CE009324D4 /* strfunc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = strfunc.h; sourceTree = ""; }; - D010E00F22C237CE009324D4 /* itoa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = itoa.h; sourceTree = ""; }; - D010E01022C237CE009324D4 /* stack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stack.h; sourceTree = ""; }; - D010E01122C237CE009324D4 /* dtoa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dtoa.h; sourceTree = ""; }; - D010E01222C237CE009324D4 /* meta.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = meta.h; sourceTree = ""; }; - D010E01322C237CE009324D4 /* pow10.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pow10.h; sourceTree = ""; }; - D010E01422C237CE009324D4 /* encodings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = encodings.h; sourceTree = ""; }; - D010E01522C237CE009324D4 /* schema.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = schema.h; sourceTree = ""; }; - D010E01622C237CE009324D4 /* stream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stream.h; sourceTree = ""; }; - D010E01722C237CE009324D4 /* filewritestream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = filewritestream.h; sourceTree = ""; }; - D010E01822C237CE009324D4 /* rapidjson.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rapidjson.h; sourceTree = ""; }; - D010E01922C237CE009324D4 /* document.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = document.h; sourceTree = ""; }; - D010E01A22C237CE009324D4 /* allocators.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = allocators.h; sourceTree = ""; }; - D010E01B22C237CE009324D4 /* writer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = writer.h; sourceTree = ""; }; - D010E01D22C237CE009324D4 /* error.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = error.h; sourceTree = ""; }; - D010E01E22C237CE009324D4 /* en.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = en.h; sourceTree = ""; }; - D010E01F22C237CE009324D4 /* memorybuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = memorybuffer.h; sourceTree = ""; }; - D010E02022C237CE009324D4 /* pointer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pointer.h; sourceTree = ""; }; - D010E02422C237CE009324D4 /* lottieproxymodel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lottieproxymodel.h; sourceTree = ""; }; - D010E02522C237CE009324D4 /* lottiemodel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lottiemodel.h; sourceTree = ""; }; - D010E02622C237CE009324D4 /* lottieloader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lottieloader.h; sourceTree = ""; }; - D010E02822C237CE009324D4 /* vdasher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vdasher.h; sourceTree = ""; }; - D010E02922C237CE009324D4 /* vrle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vrle.h; sourceTree = ""; }; - D010E02A22C237CE009324D4 /* velapsedtimer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = velapsedtimer.cpp; sourceTree = ""; }; - D010E02B22C237CE009324D4 /* vdrawhelper_neon.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vdrawhelper_neon.cpp; sourceTree = ""; }; - D010E02C22C237CE009324D4 /* velapsedtimer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = velapsedtimer.h; sourceTree = ""; }; - D010E02E22C237CE009324D4 /* vrect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vrect.cpp; sourceTree = ""; }; - D010E02F22C237CE009324D4 /* vdasher.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vdasher.cpp; sourceTree = ""; }; - D010E03022C237CE009324D4 /* vbezier.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vbezier.cpp; sourceTree = ""; }; - D010E03322C237CE009324D4 /* pixman-arm-neon-asm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "pixman-arm-neon-asm.h"; sourceTree = ""; }; - D010E03422C237CE009324D4 /* vregion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vregion.h; sourceTree = ""; }; - D010E03522C237CE009324D4 /* pixman-arm-neon-asm.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = "pixman-arm-neon-asm.S"; sourceTree = ""; }; - D010E03722C237CE009324D4 /* vregion.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vregion.cpp; sourceTree = ""; }; - D010E03822C237CE009324D4 /* vpath.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vpath.cpp; sourceTree = ""; }; - D010E03922C237CE009324D4 /* config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = ""; }; - D010E03C22C237CE009324D4 /* v_ft_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = v_ft_types.h; sourceTree = ""; }; - D010E03D22C237CE009324D4 /* v_ft_raster.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = v_ft_raster.cpp; sourceTree = ""; }; - D010E03F22C237CE009324D4 /* v_ft_stroker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = v_ft_stroker.cpp; sourceTree = ""; }; - D010E04022C237CE009324D4 /* v_ft_math.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = v_ft_math.cpp; sourceTree = ""; }; - D010E04122C237CE009324D4 /* v_ft_stroker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = v_ft_stroker.h; sourceTree = ""; }; - D010E04222C237CE009324D4 /* v_ft_math.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = v_ft_math.h; sourceTree = ""; }; - D010E04322C237CE009324D4 /* v_ft_raster.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = v_ft_raster.h; sourceTree = ""; }; - D010E04422C237CE009324D4 /* vcompositionfunctions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vcompositionfunctions.cpp; sourceTree = ""; }; - D010E04522C237CE009324D4 /* vdrawhelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vdrawhelper.h; sourceTree = ""; }; - D010E04622C237CE009324D4 /* vbitmap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vbitmap.cpp; sourceTree = ""; }; - D010E04722C237CE009324D4 /* vdrawable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vdrawable.h; sourceTree = ""; }; - D010E04822C237CE009324D4 /* vbitmap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vbitmap.h; sourceTree = ""; }; - D010E04922C237CE009324D4 /* vpoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vpoint.h; sourceTree = ""; }; - D010E04A22C237CE009324D4 /* vpathmesure.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vpathmesure.h; sourceTree = ""; }; - D010E04B22C237CE009324D4 /* vdebug.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vdebug.h; sourceTree = ""; }; - D010E04C22C237CE009324D4 /* vpath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vpath.h; sourceTree = ""; }; - D010E05022C237CE009324D4 /* stb_image.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stb_image.h; sourceTree = ""; }; - D010E05122C237CE009324D4 /* stb_image.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = stb_image.cpp; sourceTree = ""; }; - D010E05322C237CE009324D4 /* vtaskqueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vtaskqueue.h; sourceTree = ""; }; - D010E05422C237CE009324D4 /* vline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vline.h; sourceTree = ""; }; - D010E05522C237CE009324D4 /* vdrawable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vdrawable.cpp; sourceTree = ""; }; - D010E05622C237CE009324D4 /* vpathmesure.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vpathmesure.cpp; sourceTree = ""; }; - D010E05722C237CE009324D4 /* vbrush.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vbrush.h; sourceTree = ""; }; - D010E05822C237CE009324D4 /* vpainter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vpainter.cpp; sourceTree = ""; }; - D010E05922C237CE009324D4 /* vdebug.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vdebug.cpp; sourceTree = ""; }; - D010E05A22C237CE009324D4 /* vimageloader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vimageloader.cpp; sourceTree = ""; }; - D010E05B22C237CE009324D4 /* vglobal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vglobal.h; sourceTree = ""; }; - D010E05C22C237CE009324D4 /* vraster.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vraster.cpp; sourceTree = ""; }; - D010E05D22C237CE009324D4 /* vpainter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vpainter.h; sourceTree = ""; }; - D010E05E22C237CE009324D4 /* vmatrix.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vmatrix.cpp; sourceTree = ""; }; - D010E05F22C237CE009324D4 /* vrect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vrect.h; sourceTree = ""; }; - D010E06022C237CE009324D4 /* vinterpolator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vinterpolator.h; sourceTree = ""; }; - D010E06122C237CE009324D4 /* vbezier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vbezier.h; sourceTree = ""; }; - D010E06222C237CE009324D4 /* vdrawhelper_sse2.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vdrawhelper_sse2.cpp; sourceTree = ""; }; - D010E06322C237CE009324D4 /* vinterpolator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vinterpolator.cpp; sourceTree = ""; }; - D010E06422C237CE009324D4 /* vdrawhelper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vdrawhelper.cpp; sourceTree = ""; }; - D010E06522C237CE009324D4 /* vstackallocator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstackallocator.h; sourceTree = ""; }; - D010E06622C237CE009324D4 /* vimageloader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vimageloader.h; sourceTree = ""; }; - D010E06722C237CE009324D4 /* vraster.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vraster.h; sourceTree = ""; }; - D010E06822C237CE009324D4 /* vmatrix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vmatrix.h; sourceTree = ""; }; - D010E06922C237CE009324D4 /* vrle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vrle.cpp; sourceTree = ""; }; - D010E06A22C237CE009324D4 /* vcowptr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vcowptr.h; sourceTree = ""; }; - D010E06B22C237CE009324D4 /* vbrush.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vbrush.cpp; sourceTree = ""; }; - D010E17E22C23C42009324D4 /* LottieInstance.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = LottieInstance.mm; sourceTree = ""; }; - D010E18022C23D57009324D4 /* LottieInstance.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LottieInstance.h; sourceTree = ""; }; - D05B16AD22CC29F100B85A94 /* pixman-arma64-neon-asm.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = "pixman-arma64-neon-asm.S"; sourceTree = ""; }; - D05B16AE22CC29F100B85A94 /* pixman-arma64-neon-asm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "pixman-arma64-neon-asm.h"; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - D010DF3922C225E4009324D4 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - D010DF3222C225E4009324D4 = { - isa = PBXGroup; - children = ( - D010DF4022C225E4009324D4 /* Info.plist */, - D010DF3E22C225E4009324D4 /* Sources */, - D010DF3D22C225E4009324D4 /* Products */, - ); - sourceTree = ""; - }; - D010DF3D22C225E4009324D4 /* Products */ = { - isa = PBXGroup; - children = ( - D010DF3C22C225E4009324D4 /* RLottie.framework */, - ); - name = Products; - sourceTree = ""; - }; - D010DF3E22C225E4009324D4 /* Sources */ = { - isa = PBXGroup; - children = ( - D010DF4722C237CE009324D4 /* rlottie */, - D010DF3F22C225E4009324D4 /* RLottie.h */, - D010E18022C23D57009324D4 /* LottieInstance.h */, - D010E17E22C23C42009324D4 /* LottieInstance.mm */, - ); - path = Sources; - sourceTree = ""; - }; - D010DF4722C237CE009324D4 /* rlottie */ = { - isa = PBXGroup; - children = ( - D010DF4B22C237CE009324D4 /* inc */, - D010DFE422C237CE009324D4 /* src */, - ); - path = rlottie; - sourceTree = ""; - }; - D010DF4B22C237CE009324D4 /* inc */ = { - isa = PBXGroup; - children = ( - D010DF4D22C237CE009324D4 /* rlottiecommon.h */, - D010DF4F22C237CE009324D4 /* rlottie.h */, - D010DF5022C237CE009324D4 /* rlottie_capi.h */, - ); - path = inc; - sourceTree = ""; - }; - D010DFE422C237CE009324D4 /* src */ = { - isa = PBXGroup; - children = ( - D010DFE622C237CE009324D4 /* binding */, - D010DFEF22C237CE009324D4 /* lottie */, - D010E02722C237CE009324D4 /* vector */, - ); - path = src; - sourceTree = ""; - }; - D010DFE622C237CE009324D4 /* binding */ = { - isa = PBXGroup; - children = ( - D010DFEA22C237CE009324D4 /* c */, - ); - path = binding; - sourceTree = ""; - }; - D010DFEA22C237CE009324D4 /* c */ = { - isa = PBXGroup; - children = ( - D010DFEC22C237CE009324D4 /* lottieanimation_capi.cpp */, - ); - path = c; - sourceTree = ""; - }; - D010DFEF22C237CE009324D4 /* lottie */ = { - isa = PBXGroup; - children = ( - D010DFF022C237CE009324D4 /* lottiemodel.cpp */, - D010DFF122C237CE009324D4 /* lottieitem.cpp */, - D010DFF322C237CE009324D4 /* lottieanimation.cpp */, - D010DFF422C237CE009324D4 /* lottiekeypath.cpp */, - D010DFF522C237CE009324D4 /* lottieparser.h */, - D010DFF622C237CE009324D4 /* lottieparser.cpp */, - D010DFF722C237CE009324D4 /* lottieloader.cpp */, - D010DFF822C237CE009324D4 /* lottieitem.h */, - D010DFF922C237CE009324D4 /* lottiekeypath.h */, - D010DFFB22C237CE009324D4 /* lottieproxymodel.cpp */, - D010DFFC22C237CE009324D4 /* rapidjson */, - D010E02422C237CE009324D4 /* lottieproxymodel.h */, - D010E02522C237CE009324D4 /* lottiemodel.h */, - D010E02622C237CE009324D4 /* lottieloader.h */, - ); - path = lottie; - sourceTree = ""; - }; - D010DFFC22C237CE009324D4 /* rapidjson */ = { - isa = PBXGroup; - children = ( - D010DFFD22C237CE009324D4 /* fwd.h */, - D010DFFE22C237CE009324D4 /* memorystream.h */, - D010DFFF22C237CE009324D4 /* reader.h */, - D010E00022C237CE009324D4 /* prettywriter.h */, - D010E00122C237CE009324D4 /* ostreamwrapper.h */, - D010E00222C237CE009324D4 /* encodedstream.h */, - D010E00322C237CE009324D4 /* filereadstream.h */, - D010E00422C237CE009324D4 /* cursorstreamwrapper.h */, - D010E00522C237CE009324D4 /* istreamwrapper.h */, - D010E00622C237CE009324D4 /* stringbuffer.h */, - D010E00722C237CE009324D4 /* internal */, - D010E01422C237CE009324D4 /* encodings.h */, - D010E01522C237CE009324D4 /* schema.h */, - D010E01622C237CE009324D4 /* stream.h */, - D010E01722C237CE009324D4 /* filewritestream.h */, - D010E01822C237CE009324D4 /* rapidjson.h */, - D010E01922C237CE009324D4 /* document.h */, - D010E01A22C237CE009324D4 /* allocators.h */, - D010E01B22C237CE009324D4 /* writer.h */, - D010E01C22C237CE009324D4 /* error */, - D010E01F22C237CE009324D4 /* memorybuffer.h */, - D010E02022C237CE009324D4 /* pointer.h */, - ); - path = rapidjson; - sourceTree = ""; - }; - D010E00722C237CE009324D4 /* internal */ = { - isa = PBXGroup; - children = ( - D010E00822C237CE009324D4 /* ieee754.h */, - D010E00922C237CE009324D4 /* strtod.h */, - D010E00A22C237CE009324D4 /* swap.h */, - D010E00B22C237CE009324D4 /* regex.h */, - D010E00C22C237CE009324D4 /* diyfp.h */, - D010E00D22C237CE009324D4 /* biginteger.h */, - D010E00E22C237CE009324D4 /* strfunc.h */, - D010E00F22C237CE009324D4 /* itoa.h */, - D010E01022C237CE009324D4 /* stack.h */, - D010E01122C237CE009324D4 /* dtoa.h */, - D010E01222C237CE009324D4 /* meta.h */, - D010E01322C237CE009324D4 /* pow10.h */, - ); - path = internal; - sourceTree = ""; - }; - D010E01C22C237CE009324D4 /* error */ = { - isa = PBXGroup; - children = ( - D010E01D22C237CE009324D4 /* error.h */, - D010E01E22C237CE009324D4 /* en.h */, - ); - path = error; - sourceTree = ""; - }; - D010E02722C237CE009324D4 /* vector */ = { - isa = PBXGroup; - children = ( - D010E02822C237CE009324D4 /* vdasher.h */, - D010E02922C237CE009324D4 /* vrle.h */, - D010E02A22C237CE009324D4 /* velapsedtimer.cpp */, - D010E02B22C237CE009324D4 /* vdrawhelper_neon.cpp */, - D010E02C22C237CE009324D4 /* velapsedtimer.h */, - D010E02E22C237CE009324D4 /* vrect.cpp */, - D010E02F22C237CE009324D4 /* vdasher.cpp */, - D010E03022C237CE009324D4 /* vbezier.cpp */, - D010E03122C237CE009324D4 /* pixman */, - D010E03822C237CE009324D4 /* vpath.cpp */, - D010E03922C237CE009324D4 /* config.h */, - D010E03A22C237CE009324D4 /* freetype */, - D010E04422C237CE009324D4 /* vcompositionfunctions.cpp */, - D010E04522C237CE009324D4 /* vdrawhelper.h */, - D010E04622C237CE009324D4 /* vbitmap.cpp */, - D010E04722C237CE009324D4 /* vdrawable.h */, - D010E04822C237CE009324D4 /* vbitmap.h */, - D010E04922C237CE009324D4 /* vpoint.h */, - D010E04A22C237CE009324D4 /* vpathmesure.h */, - D010E04B22C237CE009324D4 /* vdebug.h */, - D010E04C22C237CE009324D4 /* vpath.h */, - D010E04D22C237CE009324D4 /* stb */, - D010E05322C237CE009324D4 /* vtaskqueue.h */, - D010E05422C237CE009324D4 /* vline.h */, - D010E05522C237CE009324D4 /* vdrawable.cpp */, - D010E05622C237CE009324D4 /* vpathmesure.cpp */, - D010E05722C237CE009324D4 /* vbrush.h */, - D010E05822C237CE009324D4 /* vpainter.cpp */, - D010E05922C237CE009324D4 /* vdebug.cpp */, - D010E05A22C237CE009324D4 /* vimageloader.cpp */, - D010E05B22C237CE009324D4 /* vglobal.h */, - D010E05C22C237CE009324D4 /* vraster.cpp */, - D010E05D22C237CE009324D4 /* vpainter.h */, - D010E05E22C237CE009324D4 /* vmatrix.cpp */, - D010E05F22C237CE009324D4 /* vrect.h */, - D010E06022C237CE009324D4 /* vinterpolator.h */, - D010E06122C237CE009324D4 /* vbezier.h */, - D010E06222C237CE009324D4 /* vdrawhelper_sse2.cpp */, - D010E06322C237CE009324D4 /* vinterpolator.cpp */, - D010E06422C237CE009324D4 /* vdrawhelper.cpp */, - D010E06522C237CE009324D4 /* vstackallocator.h */, - D010E06622C237CE009324D4 /* vimageloader.h */, - D010E06722C237CE009324D4 /* vraster.h */, - D010E06822C237CE009324D4 /* vmatrix.h */, - D010E06922C237CE009324D4 /* vrle.cpp */, - D010E06A22C237CE009324D4 /* vcowptr.h */, - D010E06B22C237CE009324D4 /* vbrush.cpp */, - ); - path = vector; - sourceTree = ""; - }; - D010E03122C237CE009324D4 /* pixman */ = { - isa = PBXGroup; - children = ( - D05B16AE22CC29F100B85A94 /* pixman-arma64-neon-asm.h */, - D05B16AD22CC29F100B85A94 /* pixman-arma64-neon-asm.S */, - D010E03322C237CE009324D4 /* pixman-arm-neon-asm.h */, - D010E03422C237CE009324D4 /* vregion.h */, - D010E03522C237CE009324D4 /* pixman-arm-neon-asm.S */, - D010E03722C237CE009324D4 /* vregion.cpp */, - ); - path = pixman; - sourceTree = ""; - }; - D010E03A22C237CE009324D4 /* freetype */ = { - isa = PBXGroup; - children = ( - D010E03C22C237CE009324D4 /* v_ft_types.h */, - D010E03D22C237CE009324D4 /* v_ft_raster.cpp */, - D010E03F22C237CE009324D4 /* v_ft_stroker.cpp */, - D010E04022C237CE009324D4 /* v_ft_math.cpp */, - D010E04122C237CE009324D4 /* v_ft_stroker.h */, - D010E04222C237CE009324D4 /* v_ft_math.h */, - D010E04322C237CE009324D4 /* v_ft_raster.h */, - ); - path = freetype; - sourceTree = ""; - }; - D010E04D22C237CE009324D4 /* stb */ = { - isa = PBXGroup; - children = ( - D010E05022C237CE009324D4 /* stb_image.h */, - D010E05122C237CE009324D4 /* stb_image.cpp */, - ); - path = stb; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - D010DF3722C225E4009324D4 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - D010E17622C237CF009324D4 /* vraster.h in Headers */, - D010E12622C237CE009324D4 /* dtoa.h in Headers */, - D010E14422C237CF009324D4 /* pixman-arm-neon-asm.h in Headers */, - D010E16E22C237CF009324D4 /* vrect.h in Headers */, - D010E17922C237CF009324D4 /* vcowptr.h in Headers */, - D010E12022C237CE009324D4 /* regex.h in Headers */, - D010E12422C237CE009324D4 /* itoa.h in Headers */, - D010E13022C237CE009324D4 /* writer.h in Headers */, - D010E11322C237CE009324D4 /* fwd.h in Headers */, - D010E13822C237CE009324D4 /* lottiemodel.h in Headers */, - D010E13E22C237CE009324D4 /* velapsedtimer.h in Headers */, - D010E11422C237CE009324D4 /* memorystream.h in Headers */, - D010E12E22C237CE009324D4 /* document.h in Headers */, - D010E12522C237CE009324D4 /* stack.h in Headers */, - D010E12C22C237CE009324D4 /* filewritestream.h in Headers */, - D010E17022C237CF009324D4 /* vbezier.h in Headers */, - D010E07222C237CE009324D4 /* rlottie.h in Headers */, - D010E11822C237CE009324D4 /* encodedstream.h in Headers */, - D010E11722C237CE009324D4 /* ostreamwrapper.h in Headers */, - D010E15222C237CF009324D4 /* v_ft_math.h in Headers */, - D010E14522C237CF009324D4 /* vregion.h in Headers */, - D010E16C22C237CF009324D4 /* vpainter.h in Headers */, - D010DF4122C225E4009324D4 /* RLottie.h in Headers */, - D010E17722C237CF009324D4 /* vmatrix.h in Headers */, - D010E12D22C237CE009324D4 /* rapidjson.h in Headers */, - D010E11E22C237CE009324D4 /* strtod.h in Headers */, - D010E14A22C237CF009324D4 /* config.h in Headers */, - D05B16B022CC29F100B85A94 /* pixman-arma64-neon-asm.h in Headers */, - D010E17422C237CF009324D4 /* vstackallocator.h in Headers */, - D010E10C22C237CE009324D4 /* lottieparser.h in Headers */, - D010E15A22C237CF009324D4 /* vpathmesure.h in Headers */, - D010E13922C237CE009324D4 /* lottieloader.h in Headers */, - D010E12F22C237CE009324D4 /* allocators.h in Headers */, - D010E16322C237CF009324D4 /* vline.h in Headers */, - D010E11C22C237CE009324D4 /* stringbuffer.h in Headers */, - D010E13422C237CE009324D4 /* pointer.h in Headers */, - D010E12222C237CE009324D4 /* biginteger.h in Headers */, - D010E11D22C237CE009324D4 /* ieee754.h in Headers */, - D010E11A22C237CE009324D4 /* cursorstreamwrapper.h in Headers */, - D010E15722C237CF009324D4 /* vdrawable.h in Headers */, - D010E07022C237CE009324D4 /* rlottiecommon.h in Headers */, - D010E16A22C237CF009324D4 /* vglobal.h in Headers */, - D010E12822C237CE009324D4 /* pow10.h in Headers */, - D010E11B22C237CE009324D4 /* istreamwrapper.h in Headers */, - D010E11922C237CE009324D4 /* filereadstream.h in Headers */, - D010E12922C237CE009324D4 /* encodings.h in Headers */, - D010E13722C237CE009324D4 /* lottieproxymodel.h in Headers */, - D010E14C22C237CF009324D4 /* v_ft_types.h in Headers */, - D010E16622C237CF009324D4 /* vbrush.h in Headers */, - D010E12322C237CE009324D4 /* strfunc.h in Headers */, - D010E07322C237CE009324D4 /* rlottie_capi.h in Headers */, - D010E15F22C237CF009324D4 /* stb_image.h in Headers */, - D010E12122C237CE009324D4 /* diyfp.h in Headers */, - D010E13122C237CE009324D4 /* error.h in Headers */, - D010E15822C237CF009324D4 /* vbitmap.h in Headers */, - D010E15922C237CF009324D4 /* vpoint.h in Headers */, - D010E18122C23D57009324D4 /* LottieInstance.h in Headers */, - D010E12A22C237CE009324D4 /* schema.h in Headers */, - D010E12722C237CE009324D4 /* meta.h in Headers */, - D010E13322C237CE009324D4 /* memorybuffer.h in Headers */, - D010E13A22C237CE009324D4 /* vdasher.h in Headers */, - D010E15B22C237CF009324D4 /* vdebug.h in Headers */, - D010E15522C237CF009324D4 /* vdrawhelper.h in Headers */, - D010E13222C237CE009324D4 /* en.h in Headers */, - D010E17522C237CF009324D4 /* vimageloader.h in Headers */, - D010E15122C237CF009324D4 /* v_ft_stroker.h in Headers */, - D010E16222C237CF009324D4 /* vtaskqueue.h in Headers */, - D010E11F22C237CE009324D4 /* swap.h in Headers */, - D010E15322C237CF009324D4 /* v_ft_raster.h in Headers */, - D010E11522C237CE009324D4 /* reader.h in Headers */, - D010E11622C237CE009324D4 /* prettywriter.h in Headers */, - D010E11022C237CE009324D4 /* lottiekeypath.h in Headers */, - D010E15C22C237CF009324D4 /* vpath.h in Headers */, - D010E10F22C237CE009324D4 /* lottieitem.h in Headers */, - D010E12B22C237CE009324D4 /* stream.h in Headers */, - D010E13B22C237CE009324D4 /* vrle.h in Headers */, - D010E16F22C237CF009324D4 /* vinterpolator.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - D010DF3B22C225E4009324D4 /* RLottie */ = { - isa = PBXNativeTarget; - buildConfigurationList = D010DF4422C225E4009324D4 /* Build configuration list for PBXNativeTarget "RLottie" */; - buildPhases = ( - D010DF3722C225E4009324D4 /* Headers */, - D010DF3822C225E4009324D4 /* Sources */, - D010DF3922C225E4009324D4 /* Frameworks */, - D010DF3A22C225E4009324D4 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = RLottie; - productName = RLottie; - productReference = D010DF3C22C225E4009324D4 /* RLottie.framework */; - productType = "com.apple.product-type.framework"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - D010DF3322C225E4009324D4 /* Project object */ = { - isa = PBXProject; - attributes = { - DefaultBuildSystemTypeForWorkspace = Latest; - LastUpgradeCheck = 1010; - ORGANIZATIONNAME = "Telegram LLP"; - TargetAttributes = { - D010DF3B22C225E4009324D4 = { - CreatedOnToolsVersion = 10.1; - }; - }; - }; - buildConfigurationList = D010DF3622C225E4009324D4 /* Build configuration list for PBXProject "RLottie_Xcode" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - ); - mainGroup = D010DF3222C225E4009324D4; - productRefGroup = D010DF3D22C225E4009324D4 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - D010DF3B22C225E4009324D4 /* RLottie */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - D010DF3A22C225E4009324D4 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - D010DF3822C225E4009324D4 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - D010E14922C237CF009324D4 /* vpath.cpp in Sources */, - D010E16022C237CF009324D4 /* stb_image.cpp in Sources */, - D010E17822C237CF009324D4 /* vrle.cpp in Sources */, - D010E16422C237CF009324D4 /* vdrawable.cpp in Sources */, - D010E10E22C237CE009324D4 /* lottieloader.cpp in Sources */, - D010E16522C237CF009324D4 /* vpathmesure.cpp in Sources */, - D010E16722C237CF009324D4 /* vpainter.cpp in Sources */, - D010E16D22C237CF009324D4 /* vmatrix.cpp in Sources */, - D010E17122C237CF009324D4 /* vdrawhelper_sse2.cpp in Sources */, - D010E10B22C237CE009324D4 /* lottiekeypath.cpp in Sources */, - D010E10A22C237CE009324D4 /* lottieanimation.cpp in Sources */, - D010E14822C237CF009324D4 /* vregion.cpp in Sources */, - D010E17322C237CF009324D4 /* vdrawhelper.cpp in Sources */, - D010E15422C237CF009324D4 /* vcompositionfunctions.cpp in Sources */, - D010E16B22C237CF009324D4 /* vraster.cpp in Sources */, - D010E10822C237CE009324D4 /* lottieitem.cpp in Sources */, - D010E11222C237CE009324D4 /* lottieproxymodel.cpp in Sources */, - D010E10722C237CE009324D4 /* lottiemodel.cpp in Sources */, - D010E14022C237CE009324D4 /* vrect.cpp in Sources */, - D010E10422C237CE009324D4 /* lottieanimation_capi.cpp in Sources */, - D010E17A22C237CF009324D4 /* vbrush.cpp in Sources */, - D010E14F22C237CF009324D4 /* v_ft_stroker.cpp in Sources */, - D010E14222C237CF009324D4 /* vbezier.cpp in Sources */, - D010E14122C237CF009324D4 /* vdasher.cpp in Sources */, - D010E15022C237CF009324D4 /* v_ft_math.cpp in Sources */, - D010E16822C237CF009324D4 /* vdebug.cpp in Sources */, - D010E10D22C237CE009324D4 /* lottieparser.cpp in Sources */, - D010E17222C237CF009324D4 /* vinterpolator.cpp in Sources */, - D010E15622C237CF009324D4 /* vbitmap.cpp in Sources */, - D010E17F22C23C42009324D4 /* LottieInstance.mm in Sources */, - D010E13C22C237CE009324D4 /* velapsedtimer.cpp in Sources */, - D010E14D22C237CF009324D4 /* v_ft_raster.cpp in Sources */, - D010E16922C237CF009324D4 /* vimageloader.cpp in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin XCBuildConfiguration section */ - D010DF4222C225E4009324D4 /* DebugAppStoreLLC */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = DebugAppStoreLLC; - }; - D010DF4322C225E4009324D4 /* ReleaseAppStoreLLC */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - SDKROOT = iphoneos; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = ReleaseAppStoreLLC; - }; - D010DF4522C225E4009324D4 /* DebugAppStoreLLC */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Manual; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_OPTIMIZATION_LEVEL = 0; - INFOPLIST_FILE = Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MACH_O_TYPE = staticlib; - PRODUCT_BUNDLE_IDENTIFIER = org.telegram.RLottie; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = DebugAppStoreLLC; - }; - D010DF4622C225E4009324D4 /* ReleaseAppStoreLLC */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Manual; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MACH_O_TYPE = staticlib; - PRODUCT_BUNDLE_IDENTIFIER = org.telegram.RLottie; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = ReleaseAppStoreLLC; - }; - D0AF792F22C2C26A00CECCB8 /* DebugHockeyapp */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = DebugHockeyapp; - }; - D0AF793022C2C26A00CECCB8 /* DebugHockeyapp */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Manual; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_OPTIMIZATION_LEVEL = s; - INFOPLIST_FILE = Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MACH_O_TYPE = staticlib; - PRODUCT_BUNDLE_IDENTIFIER = org.telegram.RLottie; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = DebugHockeyapp; - }; - D0AF793122C2C27700CECCB8 /* ReleaseHockeyappInternal */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - SDKROOT = iphoneos; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = ReleaseHockeyappInternal; - }; - D0AF793222C2C27700CECCB8 /* ReleaseHockeyappInternal */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Manual; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MACH_O_TYPE = staticlib; - PRODUCT_BUNDLE_IDENTIFIER = org.telegram.RLottie; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = ReleaseHockeyappInternal; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - D010DF3622C225E4009324D4 /* Build configuration list for PBXProject "RLottie_Xcode" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - D010DF4222C225E4009324D4 /* DebugAppStoreLLC */, - D0AF792F22C2C26A00CECCB8 /* DebugHockeyapp */, - D010DF4322C225E4009324D4 /* ReleaseAppStoreLLC */, - D0AF793122C2C27700CECCB8 /* ReleaseHockeyappInternal */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = ReleaseAppStoreLLC; - }; - D010DF4422C225E4009324D4 /* Build configuration list for PBXNativeTarget "RLottie" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - D010DF4522C225E4009324D4 /* DebugAppStoreLLC */, - D0AF793022C2C26A00CECCB8 /* DebugHockeyapp */, - D010DF4622C225E4009324D4 /* ReleaseAppStoreLLC */, - D0AF793222C2C27700CECCB8 /* ReleaseHockeyappInternal */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = ReleaseAppStoreLLC; - }; -/* End XCConfigurationList section */ - }; - rootObject = D010DF3322C225E4009324D4 /* Project object */; -} diff --git a/submodules/RLottie/Sources/LottieInstance.h b/submodules/RLottie/Sources/LottieInstance.h deleted file mode 100644 index dd57dcddbe..0000000000 --- a/submodules/RLottie/Sources/LottieInstance.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef Lottie_h -#define Lottie_h - -#import -#import - -@interface LottieInstance : NSObject - -@property (nonatomic, readonly) int32_t frameCount; -@property (nonatomic, readonly) int32_t frameRate; -@property (nonatomic, readonly) CGSize dimensions; - -- (instancetype _Nullable)initWithData:(NSData * _Nonnull)data cacheKey:(NSString * _Nonnull)cacheKey; -- (void)renderFrameWithIndex:(int32_t)index into:(uint8_t * _Nonnull)buffer width:(int32_t)width height:(int32_t)height bytesPerRow:(int32_t)bytesPerRow; - -@end - -#endif /* Lottie_h */ diff --git a/submodules/RLottie/Sources/LottieInstance.mm b/submodules/RLottie/Sources/LottieInstance.mm deleted file mode 100644 index 83a10557ff..0000000000 --- a/submodules/RLottie/Sources/LottieInstance.mm +++ /dev/null @@ -1,46 +0,0 @@ -#import "LottieInstance.h" - -#include - -@interface LottieInstance () { - std::unique_ptr _animation; -} - -@end - -@implementation LottieInstance - -- (instancetype _Nullable)initWithData:(NSData * _Nonnull)data cacheKey:(NSString * _Nonnull)cacheKey { - self = [super init]; - if (self != nil) { - _animation = rlottie::Animation::loadFromData(std::string(reinterpret_cast(data.bytes), data.length), std::string([cacheKey UTF8String])); - if (_animation == nullptr) { - return nil; - } - - _frameCount = (int32_t)_animation->totalFrame(); - _frameRate = (int32_t)_animation->frameRate(); - - size_t width = 0; - size_t height = 0; - _animation->size(width, height); - - if (width > 1024 || height > 1024) { - return nil; - } - - _dimensions = CGSizeMake(width, height); - - if ((_frameRate > 60) || _animation->duration() > 7.0) { - return nil; - } - } - return self; -} - -- (void)renderFrameWithIndex:(int32_t)index into:(uint8_t * _Nonnull)buffer width:(int32_t)width height:(int32_t)height bytesPerRow:(int32_t) bytesPerRow{ - rlottie::Surface surface((uint32_t *)buffer, width, height, bytesPerRow); - _animation->renderSync(index, surface); -} - -@end diff --git a/submodules/RLottie/Sources/RLottie.h b/submodules/RLottie/Sources/RLottie.h deleted file mode 100644 index 6f9e94b224..0000000000 --- a/submodules/RLottie/Sources/RLottie.h +++ /dev/null @@ -1,19 +0,0 @@ -// -// RLottie.h -// RLottie -// -// Created by Peter on 6/25/19. -// Copyright © 2019 Telegram LLP. All rights reserved. -// - -#import - -//! Project version number for RLottie. -FOUNDATION_EXPORT double RLottieVersionNumber; - -//! Project version string for RLottie. -FOUNDATION_EXPORT const unsigned char RLottieVersionString[]; - -#import - - diff --git a/submodules/RLottie/Sources/rlottie/.Gifs/1.gif b/submodules/RLottie/Sources/rlottie/.Gifs/1.gif deleted file mode 100755 index 7f33920b72..0000000000 Binary files a/submodules/RLottie/Sources/rlottie/.Gifs/1.gif and /dev/null differ diff --git a/submodules/RLottie/Sources/rlottie/.Gifs/2.gif b/submodules/RLottie/Sources/rlottie/.Gifs/2.gif deleted file mode 100755 index 81dd55f831..0000000000 Binary files a/submodules/RLottie/Sources/rlottie/.Gifs/2.gif and /dev/null differ diff --git a/submodules/RLottie/Sources/rlottie/.clang-format b/submodules/RLottie/Sources/rlottie/.clang-format deleted file mode 100644 index 10f4c7a503..0000000000 --- a/submodules/RLottie/Sources/rlottie/.clang-format +++ /dev/null @@ -1,90 +0,0 @@ ---- -Language: Cpp -BasedOnStyle: Google -AccessModifierOffset: -4 -AlignAfterOpenBracket: Align -AlignConsecutiveAssignments: false -AlignConsecutiveDeclarations: true -AlignEscapedNewlinesLeft: true -AlignOperands: true -AlignTrailingComments: true -AllowAllParametersOfDeclarationOnNextLine: true -AllowShortBlocksOnASingleLine: false -AllowShortCaseLabelsOnASingleLine: false -AllowShortFunctionsOnASingleLine: Inline -AllowShortIfStatementsOnASingleLine: true -AllowShortLoopsOnASingleLine: true -AlwaysBreakAfterDefinitionReturnType: None -AlwaysBreakAfterReturnType: None -AlwaysBreakBeforeMultilineStrings: true -AlwaysBreakTemplateDeclarations: true -BinPackArguments: true -BinPackParameters: true -BraceWrapping: - AfterClass: false - AfterControlStatement: false - AfterEnum: false - AfterFunction: false - AfterNamespace: false - AfterObjCDeclaration: false - AfterStruct: false - AfterUnion: false - BeforeCatch: false - BeforeElse: false - IndentBraces: false -BreakBeforeBinaryOperators: None -BreakBeforeBraces: WebKit -BreakBeforeTernaryOperators: true -BreakConstructorInitializersBeforeComma: false -ColumnLimit: 80 -CommentPragmas: '^ IWYU pragma:' -ConstructorInitializerAllOnOneLineOrOnePerLine: true -ConstructorInitializerIndentWidth: 4 -ContinuationIndentWidth: 4 -Cpp11BracedListStyle: true -DerivePointerAlignment: true -DisableFormat: false -ExperimentalAutoDetectBinPacking: false -ForEachMacros: [ foreach, Q_FOREACH, BOOST_FOREACH ] -IncludeCategories: - - Regex: '^<.*\.h>' - Priority: 1 - - Regex: '^<.*' - Priority: 2 - - Regex: '.*' - Priority: 3 -IndentCaseLabels: false -IndentWidth: 4 -IndentWrappedFunctionNames: false -KeepEmptyLinesAtTheStartOfBlocks: false -MacroBlockBegin: '' -MacroBlockEnd: '' -MaxEmptyLinesToKeep: 1 -NamespaceIndentation: None -ObjCBlockIndentWidth: 2 -ObjCSpaceAfterProperty: false -ObjCSpaceBeforeProtocolList: false -PenaltyBreakBeforeFirstCallParameter: 1 -PenaltyBreakComment: 300 -PenaltyBreakFirstLessLess: 120 -PenaltyBreakString: 1000 -PenaltyExcessCharacter: 1000000 -PenaltyReturnTypeOnItsOwnLine: 200 -PointerAlignment: Right -ReflowComments: true -SortIncludes: true -SpaceAfterCStyleCast: false -SpaceBeforeAssignmentOperators: true -SpaceBeforeParens: ControlStatements -SpaceInEmptyParentheses: false -SpacesBeforeTrailingComments: 2 -SpacesInAngles: false -SpacesInContainerLiterals: true -SpacesInCStyleCastParentheses: false -SpacesInParentheses: false -SpacesInSquareBrackets: false -Standard: Auto -TabWidth: 4 -UseTab: Never -... - diff --git a/submodules/RLottie/Sources/rlottie/.gitignore b/submodules/RLottie/Sources/rlottie/.gitignore deleted file mode 100644 index 3718fd9827..0000000000 --- a/submodules/RLottie/Sources/rlottie/.gitignore +++ /dev/null @@ -1,11 +0,0 @@ -build -*.creator* -*.config -*.files -*.includes -html -latex -*.swp -tmp -.cproject -.project diff --git a/submodules/RLottie/Sources/rlottie/.travis.yml b/submodules/RLottie/Sources/rlottie/.travis.yml deleted file mode 100644 index f3b5975ca5..0000000000 --- a/submodules/RLottie/Sources/rlottie/.travis.yml +++ /dev/null @@ -1,35 +0,0 @@ -dist: trusty - -sudo: false - -language: cpp - -addons: - apt: - sources: - - ubuntu-toolchain-r-test - packages: - - g++-5 - -matrix: - include: - - os: linux - compiler: clang - env: - build_type=release - options="" - - MATRIX_EVAL="CC=clang-5.0 && CXX=clang++" - - - os: linux - compiler: gcc - env: - build_type=release - options="" - - MATRIX_EVAL="CC=gcc-5 && CXX=g++-5" - -before_install: - - eval "${MATRIX_EVAL}" - -script: - - cmake -DLIB_INSTALL_DIR=/usr/lib . - - cmake --build . -- -j2 diff --git a/submodules/RLottie/Sources/rlottie/AUTHORS b/submodules/RLottie/Sources/rlottie/AUTHORS deleted file mode 100644 index fe35a4e0ad..0000000000 --- a/submodules/RLottie/Sources/rlottie/AUTHORS +++ /dev/null @@ -1,8 +0,0 @@ -Subhransu Mohanty -Hermet Park -Youngbok Shin -Jaeun Choi -Bryce Harrington -Junsu Choi -Yuangu -Mihai Serban diff --git a/submodules/RLottie/Sources/rlottie/CMakeLists.txt b/submodules/RLottie/Sources/rlottie/CMakeLists.txt deleted file mode 100644 index 8284907885..0000000000 --- a/submodules/RLottie/Sources/rlottie/CMakeLists.txt +++ /dev/null @@ -1,134 +0,0 @@ -cmake_minimum_required( VERSION 3.2 ) - -#declare project -project( rlottie VERSION 0.0.1 LANGUAGES C CXX ASM) - -#declare target -add_library( rlottie SHARED "" ) - -#declare version of the target -set(player_version_major 0) -set(player_version_minor 0) -set(player_version_patch 1) -set(player_version ${player_version_major}.${player_version_minor}.${player_version_patch} ) -set_target_properties(rlottie PROPERTIES - VERSION ${player_version} - SOVERSION ${player_version_major} - ) - -#declare alias so that library can be used inside the build tree, e.g. when testing -add_library(rlottie::rlottie ALIAS rlottie) - -#declare target compilation options -target_compile_options(rlottie - PUBLIC - PRIVATE - -std=c++14 - -Os - -fno-exceptions - -fno-unwind-tables - -fno-asynchronous-unwind-tables - -fno-rtti - -Wall - -Werror - -Wextra - -Wnon-virtual-dtor - -Woverloaded-virtual - -Wno-unused-parameter - -fvisibility=hidden - ) - -#declare dependancy -set( CMAKE_THREAD_PREFER_PTHREAD TRUE ) -find_package( Threads ) - -target_link_libraries(rlottie - PUBLIC - "${CMAKE_THREAD_LIBS_INIT}" - ) - -# for dlopen, dlsym and dlclose dependancy -target_link_libraries(rlottie - PRIVATE - ${CMAKE_DL_LIBS}) - -if(APPLE) - target_link_libraries(rlottie - PUBLIC - "-Wl, -undefined error" - ) -else() - target_link_libraries(rlottie - PUBLIC - "-Wl,--no-undefined" - ) -endif() - - -if (NOT LIB_INSTALL_DIR) - set (LIB_INSTALL_DIR "/usr/lib") -endif (NOT LIB_INSTALL_DIR) - -#declare source and include files -add_subdirectory(inc) -add_subdirectory(src) -add_subdirectory(example) - -SET(PREFIX ${CMAKE_INSTALL_PREFIX}) -SET(EXEC_DIR ${PREFIX}) -SET(LIBDIR ${LIB_INSTALL_DIR}) -SET(INCDIR ${PREFIX}/include) - -CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc) -INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig) - - -#install header -install(FILES - inc/rlottie.h - inc/rlottie_capi.h - inc/rlottiecommon.h - DESTINATION include) - -#install lib -install( TARGETS rlottie EXPORT rlottie-targets - LIBRARY DESTINATION ${LIB_INSTALL_DIR} - ARCHIVE DESTINATION ${LIB_INSTALL_DIR} - INCLUDES DESTINATION include - ) - -#install config file. - -install( EXPORT rlottie-targets - FILE rlottieTargets.cmake - NAMESPACE rlottie:: - DESTINATION ${LIB_INSTALL_DIR}/cmake/rlottie - ) - - -#Create a ConfigVersion.cmake file -include(CMakePackageConfigHelpers) -write_basic_package_version_file( - ${CMAKE_CURRENT_BINARY_DIR}/rlottieConfigVersion.cmake - VERSION ${PROJECT_VERSION} - COMPATIBILITY AnyNewerVersion -) - -configure_package_config_file(${CMAKE_CURRENT_LIST_DIR}/cmake/rlottieConfig.cmake.in - ${CMAKE_CURRENT_BINARY_DIR}/rlottieConfig.cmake - INSTALL_DESTINATION ${LIB_INSTALL_DIR}/cmake/rlottie -) - -#Install the config, configversion and custom find modules -install(FILES - ${CMAKE_CURRENT_BINARY_DIR}/rlottieConfig.cmake - ${CMAKE_CURRENT_BINARY_DIR}/rlottieConfigVersion.cmake - DESTINATION ${LIB_INSTALL_DIR}/cmake/rlottie -) - - -export(EXPORT rlottie-targets FILE ${CMAKE_CURRENT_BINARY_DIR}/rlottieTargets.cmake NAMESPACE rlottie::) - -#Register package in user's package registry -export(PACKAGE rlottie) - diff --git a/submodules/RLottie/Sources/rlottie/COPYING b/submodules/RLottie/Sources/rlottie/COPYING deleted file mode 100644 index 293d8daedb..0000000000 --- a/submodules/RLottie/Sources/rlottie/COPYING +++ /dev/null @@ -1,17 +0,0 @@ -Licensing - -rlottie basically comes with LGPL-v2.1 license(licenses/COPYING.LGPL) -but some parts of shared code are covered by different licenses. Listed -below are the folder names and the license file covering it. Note that this -license would cover all of the source invovled in each folders, unless -specifically noted otherwise. So please refer to these imported project sources -for details. - -Dependencies and licenses: - -src/vector/ licenses/COPYING.LGPL -src/vector/freetype licenses/COPYING.FTL -src/vector/pixman licenses/COPYING.PIX -src/vector/stb licenses/COPYING.STB -src/lottie/rapidjson licenses/COPYING.RPD - diff --git a/submodules/RLottie/Sources/rlottie/README.md b/submodules/RLottie/Sources/rlottie/README.md deleted file mode 100644 index b402d24994..0000000000 --- a/submodules/RLottie/Sources/rlottie/README.md +++ /dev/null @@ -1,250 +0,0 @@ - -# rlottie - -[![Build Status](https://travis-ci.org/Samsung/rlottie.svg?branch=master)](https://travis-ci.org/Samsung/rlottie) - -rlottie is a platform independent standalone c++ library for rendering vector based animations and art in realtime. - -Lottie loads and renders animations and vectors exported in the bodymovin JSON format. Bodymovin JSON can be created and exported from After Effects with [bodymovin](https://github.com/bodymovin/bodymovin), Sketch with [Lottie Sketch Export](https://github.com/buba447/Lottie-Sketch-Export), and from [Haiku](https://www.haiku.ai). - -For the first time, designers can create and ship beautiful animations without an engineer painstakingly recreating it by hand. Since the animation is backed by JSON they are extremely small in size but can be large in complexity! - -Here are small samples of the power of Lottie. - -![Example1](.Gifs/1.gif) -![Example2](.Gifs/2.gif) -![Example2](https://github.com/airbnb/lottie-ios/blob/master/_Gifs/Examples1.gif) - -## Contents -- [Building Lottie](#building-lottie) - - [Meson Build](#meson-build) - - [Cmake Build](#cmake-build) - - [Test](#test) -- [Demo](#demo) -- [Previewing Lottie JSON Files](#previewing-lottie-json-files) -- [Quick Start](#quick-start) -- [Dynamic Property](#dynamic-property) -- [Supported After Effects Features](#supported-after-effects-features) -- [Issues or Feature Requests?](#issues-or-feature-requests) - -## Building Lottie -rottie supports [meson](https://mesonbuild.com/) and [cmake](https://cmake.org/) build system. rottie is written in `C++14`. and has a public header dependancy of `C++11` - -### Meson Build -install [meson](http://mesonbuild.com/Getting-meson.html) and [ninja](https://ninja-build.org/) if not already installed. - -Run meson to configure rlottie -``` -meson build -``` -Run ninja to build rlottie -``` -ninja -C build -``` - -### Cmake Build - -Install [cmake](https://cmake.org/download/) if not already installed - -Create a build directory for out of source build -``` -mkdir build -``` -Run cmake command inside build directory to configure rlottie. -``` -cd build -cmake .. - -# install in a different path. eg ~/test/usr/lib - -cmake -DCMAKE_INSTALL_PREFIX=~/test .. - -``` -Run make to build rlottie - -``` -make -j 2 -``` -To install rlottie library - -``` -make install -``` - -### Test - -Configure to build test -``` -meson configure -Dtest=true -``` -Build test suit - -``` -ninja -``` -Run test suit -``` -ninja test -``` -[Back to contents](#contents) - -# -## Demo -If you want to see rlottie librray in action without building it please visit [rlottie online viewer](http://rlottie.com) - -While building rlottie library it generates a simple lottie to GIF converter which can be used to convert lottie json file to GIF file. - -Run Demo -``` -lottie2gif [lottie file name] -``` - -# -## Previewing Lottie JSON Files -Please visit [rlottie online viewer](http://rlottie.com) - -[rlottie online viewer](http://rlottie.com) uses rlottie wasm library to render the resource locally in your browser. To test your JSON resource drag and drop it to the browser window. - -# -## Quick Start - -Lottie loads and renders animations and vectors exported in the bodymovin JSON format. Bodymovin JSON can be created and exported from After Effects with [bodymovin](https://github.com/bodymovin/bodymovin), Sketch with [Lottie Sketch Export](https://github.com/buba447/Lottie-Sketch-Export), and from [Haiku](https://www.haiku.ai). - -You can quickly load a Lottie animation with: -```cpp -std::unique_ptr animation = - rlottie::loadFromFile(std::string("absolute_path/test.json")); -``` -You can load a lottie animation from raw data with: -```cpp -std::unique_ptr animation = rlottie::loadFromData(std::string(rawData), - std::string(cacheKey)); -``` - -Properties like `frameRate` , `totalFrame` , `duration` can be queried with: -```cpp -# get the frame rate of the resource. -double frameRate = animation->frameRate(); - -#get total frame that exists in the resource -size_t totalFrame = animation->totalFrame(); - -#get total animation duration in sec for the resource -double duration = animation->duration(); -``` -Render a particular frame in a surface buffer `immediately` with: -```cpp -rlottie::Surface surface(buffer, width , height , stride); -animation->renderSync(frameNo, surface); -``` -Render a particular frame in a surface buffer `asyncronousely` with: -```cpp -rlottie::Surface surface(buffer, width , height , stride); -# give a render request -std::future handle = animation->render(frameNo, surface); -... -#when the render data is needed -rlottie::Surface surface = handle.get(); -``` - -[Back to contents](#contents) - -# -## Dynamic Property - -Update me. - -# -## Supported After Effects Features - -| **Shapes** | **Supported** | -|:--|:-:| -| Shape | 👍 | -| Ellipse | 👍 | -| Rectangle | 👍 | -| Rounded Rectangle | 👍 | -| Polystar | 👍 | -| Group | 👍 | -| Trim Path (individually) | 👍 | -| Trim Path (simultaneously) | 👍 | -| **Renderable** | **Supported** | -| Fill | 👍 | -| Stroke | 👍 | -| Radial Gradient | 👍 | -| Linear Gradient | 👍 | -| Gradient Stroke | 👍 | -| **Transforms** | **Supported** | -| Position | 👍 | -| Position (separated X/Y) | 👍 | -| Scale | 👍 | -| Skew | ⛔️ | -| Rotation | 👍 | -| Anchor Point | 👍 | -| Opacity | 👍 | -| Parenting | 👍 | -| Auto Orient | 👍 | -| **Interpolation** | **Supported** | -| Linear Interpolation | 👍 | -| Bezier Interpolation | 👍 | -| Hold Interpolation | 👍 | -| Spatial Bezier Interpolation | 👍 | -| Rove Across Time | 👍 | -| **Masks** | **Supported** | -| Mask Path | 👍 | -| Mask Opacity | 👍 | -| Add | 👍 | -| Subtract | 👍 | -| Intersect | 👍 | -| Lighten | ⛔️ | -| Darken | ⛔️ | -| Difference | ⛔️ | -| Expansion | ⛔️ | -| Feather | ⛔️ | -| **Mattes** | **Supported** | -| Alpha Matte | 👍 | -| Alpha Inverted Matte | 👍 | -| Luma Matte | 👍 | -| Luma Inverted Matte | 👍 | -| **Merge Paths** | **Supported** | -| Merge | ⛔️ | -| Add | ⛔️ | -| Subtract | ⛔️ | -| Intersect | ⛔️ | -| Exclude Intersection | ⛔️ | -| **Layer Effects** | **Supported** | -| Fill | ⛔️ | -| Stroke | ⛔️ | -| Tint | ⛔️ | -| Tritone | ⛔️ | -| Levels Individual Controls | ⛔️ | -| **Text** | **Supported** | -| Glyphs | ⛔️ | -| Fonts | ⛔️ | -| Transform | ⛔️ | -| Fill | ⛔️ | -| Stroke | ⛔️ | -| Tracking | ⛔️ | -| Anchor point grouping | ⛔️ | -| Text Path | ⛔️ | -| Per-character 3D | ⛔️ | -| Range selector (Units) | ⛔️ | -| Range selector (Based on) | ⛔️ | -| Range selector (Amount) | ⛔️ | -| Range selector (Shape) | ⛔️ | -| Range selector (Ease High) | ⛔️ | -| Range selector (Ease Low) | ⛔️ | -| Range selector (Randomize order) | ⛔️ | -| expression selector | ⛔️ | -| **Other** | **Supported** | -| Expressions | ⛔️ | -| Images | 👍 | -| Precomps | 👍 | -| Time Stretch | 👍 | -| Time remap | 👍 | -| Markers | ⛔️ | - -# -[Back to contents](#contents) - -## Issues or Feature Requests? -File github issues for anything that is broken. Be sure to check the [list of supported features](#supported-after-effects-features) before submitting. If an animation is not working, please attach the After Effects file to your issue. Debugging without the original can be very difficult. For immidiate assistant or support please reach us in [Gitter](https://gitter.im/rLottie-dev/community#) diff --git a/submodules/RLottie/Sources/rlottie/cmake/rlottieConfig.cmake.in b/submodules/RLottie/Sources/rlottie/cmake/rlottieConfig.cmake.in deleted file mode 100644 index 730672a1d2..0000000000 --- a/submodules/RLottie/Sources/rlottie/cmake/rlottieConfig.cmake.in +++ /dev/null @@ -1,16 +0,0 @@ -get_filename_component(rlottie_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) -include(CMakeFindDependencyMacro) - -list(APPEND CMAKE_MODULE_PATH ${rlottie_CMAKE_DIR}) - -# NOTE Had to use find_package because find_dependency does not support COMPONENTS or MODULE until 3.8.0 - -#find_dependency(RapidJSON 1.0 REQUIRED MODULE) -#find_package(Boost 1.55 REQUIRED COMPONENTS regex) -list(REMOVE_AT CMAKE_MODULE_PATH -1) - -if(NOT TARGET rlottie::rlottie) - include("${rlottie_CMAKE_DIR}/rlottieTargets.cmake") -endif() - -set(rlottie_LIBRARIES rlottie::rlottie) diff --git a/submodules/RLottie/Sources/rlottie/example/CMakeLists.txt b/submodules/RLottie/Sources/rlottie/example/CMakeLists.txt deleted file mode 100644 index 0122f15d40..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -add_executable(lottie2gif "lottie2gif.cpp") - -target_compile_options(lottie2gif - PRIVATE - -std=c++11) - -target_link_libraries(lottie2gif rlottie) - -target_include_directories(lottie2gif - PRIVATE - "${CMAKE_CURRENT_LIST_DIR}/../inc/") diff --git a/submodules/RLottie/Sources/rlottie/example/demo.cpp b/submodules/RLottie/Sources/rlottie/example/demo.cpp deleted file mode 100644 index 35093628f6..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/demo.cpp +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "evasapp.h" -#include "lottieview.h" -#include -#include -#include -#include -using namespace std; - -static void -onExitCb(void *data, void */*extra*/) -{ - LottieView *view = (LottieView *)data; - delete view; -} - -int -main(void) -{ - EvasApp *app = new EvasApp(800, 800); - app->setup(); - - std::string filePath = DEMO_DIR; - filePath +="circuit.json"; - - LottieView *view = new LottieView(app->evas()); - view->setFilePath(filePath.c_str()); - if (view->player()) { - view->player()->setValue("**", - [](const rlottie::FrameInfo& info) { - if (info.curFrame() < 15 ) - return rlottie::Color(0, 1, 0); - else { - return rlottie::Color(1, 0, 0); - } - }); - } - view->setPos(0, 0); - view->setSize(800, 800); - view->show(); -// view->setMinProgress(0.5); -// view->setMaxProgress(0.0); - view->play(); - view->loop(true); - view->setRepeatMode(LottieView::RepeatMode::Reverse); - - app->addExitCb(onExitCb, view); - app->run(); - delete app; - return 0; -} - - - - - diff --git a/submodules/RLottie/Sources/rlottie/example/efl_animview.cpp b/submodules/RLottie/Sources/rlottie/example/efl_animview.cpp deleted file mode 100644 index 32aed202f9..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/efl_animview.cpp +++ /dev/null @@ -1,319 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#define EFL_BETA_API_SUPPORT 1 -#define EFL_EO_API_SUPPORT 1 - -#include - -#define WIDTH 400 -#define HEIGHT 400 - -Eo *slider = NULL; - -void -win_del(void *data, Eo *o, void *ev) -{ - elm_exit(); -} - -static void -btn_clicked_cb(void *data, Eo *obj, void *event_info) -{ - Eo *anim_view = (Eo *) data; - const char *text = elm_object_text_get(obj); - - if (!text) return; - - if (!strcmp("Play", text)) - elm_animation_view_play(anim_view); - else if (!strcmp("Pause", text)) - elm_animation_view_pause(anim_view); - else if (!strcmp("Resume", text)) - elm_animation_view_resume(anim_view); - else if (!strcmp("Play Back", text)) - elm_animation_view_play_back(anim_view); - else if (!strcmp("Stop", text)) - elm_animation_view_stop(anim_view); -} - -static void -check_changed_cb(void *data, Eo *obj, void *event_info) -{ - Eo *anim_view = (Eo *) data; - elm_animation_view_auto_repeat_set(anim_view, elm_check_state_get(obj)); -} - -static void -speed_changed_cb(void *data, Eo *obj, void *event_info) -{ - Eo *anim_view = (Eo *) data; - double speed = 1; - if (elm_check_state_get(obj)) speed = 0.25; - elm_animation_view_speed_set(anim_view, speed); -} - -static void -update_anim_view_state(Eo *anim_view, Eo *label) -{ - Elm_Animation_View_State state = elm_animation_view_state_get(anim_view); - - switch (state) - { - case ELM_ANIMATION_VIEW_STATE_NOT_READY: - elm_object_text_set(label, "State = Not Ready"); - break; - case ELM_ANIMATION_VIEW_STATE_PLAY: - elm_object_text_set(label, "State = Playing"); - break; - case ELM_ANIMATION_VIEW_STATE_PLAY_BACK: - elm_object_text_set(label, "State = Playing Back"); - break; - case ELM_ANIMATION_VIEW_STATE_PAUSE: - elm_object_text_set(label, "State = Paused"); - break; - case ELM_ANIMATION_VIEW_STATE_STOP: - elm_object_text_set(label, "State = Stopped"); - break; - } -} - -static void -_play_done(void *data, Eo *obj, void *ev) -{ - printf("done!\n"); -} - -static void -_play_updated(void *data, Eo *obj, void *ev) -{ - Eo *slider = (Eo *) data; - elm_slider_value_set(slider, elm_animation_view_progress_get(obj)); -} - -static void -_state_update(void *data, Eo *obj, void *ev) -{ - Eo *label = (Eo *) data; - update_anim_view_state(obj, label); -} - -static void -_play_repeated(void *data, Eo *obj, void *ev) -{ - printf("repeated!\n"); -} - -static void -_slider_drag_cb(void *data, Eo *obj, void *ev) -{ - Eo *anim_view = (Eo *) data; - elm_animation_view_progress_set(anim_view, elm_slider_value_get(obj)); -} - -static void -_slider_reset(void *data, Eo *obj, void *ev) -{ - Eo *slider = (Eo *) data; - elm_slider_value_set(slider, 0); -} - -Eo * -anim_view_test(Eo *parent, const char *path) -{ - Eo *box = elm_box_add(parent); - evas_object_size_hint_weight_set(box, 1, 1); - evas_object_show(box); - - //State Text - Eo *label = elm_label_add(box); - evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND, 0); - evas_object_size_hint_align_set(label, 0.5, 0); - evas_object_show(label); - elm_box_pack_end(box, label); - - //Animation View - Eo *anim_view = elm_animation_view_add(box); - evas_object_size_hint_align_set(anim_view, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_animation_view_file_set(anim_view, path, NULL); - evas_object_size_hint_weight_set(anim_view, 1, 1); - evas_object_show(anim_view); - elm_box_pack_end(box, anim_view); - - //Controller Set: 0 - Eo *box2 = elm_box_add(box); - evas_object_size_hint_weight_set(box2, EVAS_HINT_EXPAND, 0); - evas_object_size_hint_align_set(box2, EVAS_HINT_FILL, 1); - elm_box_horizontal_set(box2, EINA_TRUE); - elm_box_pack_end(box, box2); - evas_object_show(box2); - - - //Loop - Eo *check = elm_check_add(box2); - evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, 0); - evas_object_size_hint_align_set(check, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_object_text_set(check, "Loop"); - evas_object_smart_callback_add(check, "changed", check_changed_cb, anim_view); - evas_object_show(check); - elm_box_pack_end(box2, check); - - //Speed: 0.5x - Eo *check2 = elm_check_add(box2); - evas_object_size_hint_weight_set(check2, EVAS_HINT_EXPAND, 0); - evas_object_size_hint_align_set(check2, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_object_text_set(check2, "Speed: 0.25x"); - evas_object_smart_callback_add(check2, "changed", speed_changed_cb, anim_view); - evas_object_show(check2); - elm_box_pack_end(box2, check2); - - //Duration Text - Eo *label2 = elm_label_add(box2); - evas_object_size_hint_weight_set(label2, EVAS_HINT_EXPAND, 0); - evas_object_size_hint_align_set(label2, 0.5, 0); - evas_object_show(label2); - elm_box_pack_end(box2, label2); - char buf[50]; - snprintf(buf, sizeof(buf), "Duration: %1.2fs", elm_animation_view_duration_time_get(anim_view)); - elm_object_text_set(label2, buf); - - //Slider - Eo *slider = elm_slider_add(box); - elm_slider_indicator_show_set(slider, EINA_TRUE); - elm_slider_indicator_format_set(slider, "%1.2f"); - elm_slider_min_max_set(slider, 0, 1); - evas_object_size_hint_weight_set(slider, EVAS_HINT_EXPAND, 0); - evas_object_size_hint_align_set(slider, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_smart_callback_add(slider, "changed", _slider_drag_cb, anim_view); - evas_object_show(slider); - elm_box_pack_end(box, slider); - - //Controller Set: 1 - Eo *box3 = elm_box_add(box); - evas_object_size_hint_weight_set(box3, EVAS_HINT_EXPAND, 0); - evas_object_size_hint_align_set(box3, EVAS_HINT_FILL, 1); - elm_box_horizontal_set(box3, EINA_TRUE); - elm_box_pack_end(box, box3); - evas_object_show(box3); - - Eo *btn; - - //Play Button - btn = elm_button_add(box3); - evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, 0); - evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_object_text_set(btn, "Play"); - evas_object_show(btn); - evas_object_smart_callback_add(btn, "clicked", btn_clicked_cb, anim_view); - elm_box_pack_end(box3, btn); - - //Play Back Button - btn = elm_button_add(box3); - evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, 0); - evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_object_text_set(btn, "Play Back"); - evas_object_smart_callback_add(btn, "clicked", btn_clicked_cb, anim_view); - evas_object_show(btn); - elm_box_pack_end(box3, btn); - - //Stop Button - btn = elm_button_add(box3); - evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, 0); - evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_object_text_set(btn, "Stop"); - evas_object_smart_callback_add(btn, "clicked", btn_clicked_cb, anim_view); - evas_object_show(btn); - elm_box_pack_end(box3, btn); - - //Controller Set: 2 - Eo *box4 = elm_box_add(box); - evas_object_size_hint_weight_set(box4, EVAS_HINT_EXPAND, 0); - evas_object_size_hint_align_set(box4, EVAS_HINT_FILL, 1); - elm_box_horizontal_set(box4, EINA_TRUE); - elm_box_pack_end(box, box4); - evas_object_show(box4); - - //Pause Button - btn = elm_button_add(box4); - elm_object_text_set(btn, "Pause"); - evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, 0); - evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_smart_callback_add(btn, "clicked", btn_clicked_cb, anim_view); - evas_object_show(btn); - elm_box_pack_end(box4, btn); - - //Resume Button - btn = elm_button_add(box4); - evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, 0); - evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_object_text_set(btn, "Resume"); - evas_object_smart_callback_add(btn, "clicked", btn_clicked_cb, anim_view); - evas_object_show(btn); - elm_box_pack_end(box4, btn); - - evas_object_smart_callback_add(anim_view, "play,start", _state_update, label); - evas_object_smart_callback_add(anim_view, "play,stop", _state_update, label); - evas_object_smart_callback_add(anim_view, "play,pause", _state_update, label); - evas_object_smart_callback_add(anim_view, "play,resume", _state_update, label); - - evas_object_smart_callback_add(anim_view, "play,repeat", _play_repeated, label); - evas_object_smart_callback_add(anim_view, "play,done", _play_done, label); - - evas_object_smart_callback_add(anim_view, "play,update", _play_updated, slider); - evas_object_smart_callback_add(anim_view, "play,stop", _slider_reset, slider); - - update_anim_view_state(anim_view, label); - - return box; - -} - -int -main(int argc, char **argv) -{ - setenv("ECTOR_BACKEND", "default", 1); - setenv("ELM_ACCEL", "gl", 1); - - elm_init(argc, argv); - - Eo *win = elm_win_util_standard_add(NULL, "test"); - evas_object_smart_callback_add(win, "delete,request", win_del, 0); - elm_win_autodel_set(win, 1); - - char path[PATH_MAX]; - - if (argc == 1) - { - printf("Usage: efl_animview [input_file]\n"); - return 0; - } - else snprintf(path, sizeof(path), "%s", argv[1]); - - Eo *content = anim_view_test(win, path); - - elm_win_resize_object_add(win, content); - - evas_object_resize(win, WIDTH, HEIGHT); - evas_object_show(win); - - elm_run(); - - elm_shutdown(); - - return 0; -} diff --git a/submodules/RLottie/Sources/rlottie/example/evasapp.cpp b/submodules/RLottie/Sources/rlottie/example/evasapp.cpp deleted file mode 100644 index 1fa3c0e3a0..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/evasapp.cpp +++ /dev/null @@ -1,141 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "evasapp.h" -#include -#include - -static void -_on_resize(Ecore_Evas *ee) -{ - EvasApp *app = (EvasApp *)ecore_evas_data_get(ee, "app"); - int w, h; - ecore_evas_geometry_get(ee, NULL, NULL, &w, &h); - app->resize(w, h); - if (app->mResizeCb) - app->mResizeCb(app->mResizeData, nullptr); -} - -static void -_on_delete(Ecore_Evas *ee) -{ - EvasApp *app = (EvasApp *)ecore_evas_data_get(ee, "app"); - if (app->mExitCb) - app->mExitCb(app->mExitData, nullptr); - - ecore_main_loop_quit(); - ecore_evas_free(ee); -} - -static Eina_Bool -on_key_down(void *data, int /*type*/, void *event) -{ - Ecore_Event_Key *keyData = (Ecore_Event_Key *)event; - - EvasApp *app = (EvasApp *) data; - if (app && app->mKeyCb) - app->mKeyCb(app->mKeyData, (void *)keyData->key); - - return false; -} - -static void -on_pre_render(Ecore_Evas *ee) -{ - EvasApp *app = (EvasApp *)ecore_evas_data_get(ee, "app"); - if (app->mRenderPreCb) - app->mRenderPreCb(app->mRenderPreData, nullptr); -} - -static void -on_post_render(Ecore_Evas *ee) -{ - EvasApp *app = (EvasApp *)ecore_evas_data_get(ee, "app"); - if (app && app->mRenderPostCb) - app->mRenderPostCb(app->mRenderPostData, nullptr); -} - -EvasApp::EvasApp(int w, int h) -{ - if (!ecore_evas_init()) - return; - mw = w; - mh = h; - //setenv("ECORE_EVAS_ENGINE", "opengl_x11", 1); - mEcoreEvas = ecore_evas_new(NULL, 0, 0, mw, mh, NULL); - if (!mEcoreEvas) return; -} - -void -EvasApp::setup() -{ - ecore_evas_data_set(mEcoreEvas, "app", this); - ecore_evas_callback_resize_set(mEcoreEvas, _on_resize); - ecore_evas_callback_delete_request_set(mEcoreEvas, _on_delete); - ecore_event_handler_add(ECORE_EVENT_KEY_DOWN, on_key_down, this); - ecore_evas_callback_pre_render_set(mEcoreEvas, on_pre_render); - ecore_evas_callback_post_render_set(mEcoreEvas, on_post_render); - - ecore_evas_show(mEcoreEvas); - mEvas = ecore_evas_get(mEcoreEvas); - mBackground = evas_object_rectangle_add(mEvas); - evas_object_color_set(mBackground, 70, 70, 70, 255); - evas_object_show(mBackground); -} - -void -EvasApp::resize(int w, int h) -{ - evas_object_resize(mBackground, w, h); - mw = w; - mh = h; -} - -void EvasApp::run() -{ - resize(mw, mh); - ecore_main_loop_begin(); - ecore_evas_shutdown(); -} - -static bool isJsonFile(const char *filename) { - const char *dot = strrchr(filename, '.'); - if(!dot || dot == filename) return false; - return !strcmp(dot + 1, "json"); -} - -std::vector -EvasApp::jsonFiles(const std::string &dirName, bool /*recurse*/) -{ - DIR *d; - struct dirent *dir; - std::vector result; - d = opendir(dirName.c_str()); - if (d) { - while ((dir = readdir(d)) != NULL) { - if (isJsonFile(dir->d_name)) - result.push_back(dirName + dir->d_name); - } - closedir(d); - } - - std::sort(result.begin(), result.end(), [](auto & a, auto &b){return a < b;}); - - return result; -} - diff --git a/submodules/RLottie/Sources/rlottie/example/evasapp.h b/submodules/RLottie/Sources/rlottie/example/evasapp.h deleted file mode 100644 index 12b9ee8a19..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/evasapp.h +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef EVASAPP_H -#define EVASAPP_H - -#ifndef EFL_BETA_API_SUPPORT -#define EFL_BETA_API_SUPPORT -#endif - -#ifndef EFL_EO_API_SUPPORT -#define EFL_EO_API_SUPPORT -#endif - -#include -#include -#include -#include -#include -#include -#include -#include - - -typedef void (*appCb)(void *userData, void *extra); -class EvasApp -{ -public: - EvasApp(int w, int h); - void setup(); - void resize(int w, int h); - int width() const{ return mw;} - int height() const{ return mh;} - void run(); - Ecore_Evas * ee() const{return mEcoreEvas;} - Evas * evas() const {return mEvas;} - void addExitCb(appCb exitcb, void *data) {mExitCb = exitcb; mExitData = data;} - void addResizeCb(appCb resizecb, void *data) {mResizeCb = resizecb; mResizeData = data;} - void addKeyCb(appCb keycb, void *data) {mKeyCb = keycb; mKeyData = data;} - void addRenderPreCb(appCb renderPrecb, void *data) {mRenderPreCb = renderPrecb; mRenderPreData = data;} - void addRenderPostCb(appCb renderPostcb, void *data) {mRenderPostCb = renderPostcb; mRenderPostData = data;} - static std::vector jsonFiles(const std::string &dir, bool recurse=false); -public: - int mw{0}; - int mh{0}; - Ecore_Evas *mEcoreEvas{nullptr}; - Evas *mEvas{nullptr}; - Evas_Object *mBackground{nullptr}; - appCb mResizeCb{nullptr}; - void *mResizeData{nullptr}; - appCb mExitCb{nullptr}; - void *mExitData{nullptr}; - appCb mKeyCb{nullptr}; - void *mKeyData{nullptr}; - appCb mRenderPreCb{nullptr}; - void *mRenderPreData{nullptr}; - appCb mRenderPostCb{nullptr}; - void *mRenderPostData{nullptr}; -}; -#endif //EVASAPP_H diff --git a/submodules/RLottie/Sources/rlottie/example/gif.h b/submodules/RLottie/Sources/rlottie/example/gif.h deleted file mode 100644 index 72cc148c33..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/gif.h +++ /dev/null @@ -1,835 +0,0 @@ -// -// gif.h -// by Charlie Tangora -// Public domain. -// Email me : ctangora -at- gmail -dot- com -// -// This file offers a simple, very limited way to create animated GIFs directly in code. -// -// Those looking for particular cleverness are likely to be disappointed; it's pretty -// much a straight-ahead implementation of the GIF format with optional Floyd-Steinberg -// dithering. (It does at least use delta encoding - only the changed portions of each -// frame are saved.) -// -// So resulting files are often quite large. The hope is that it will be handy nonetheless -// as a quick and easily-integrated way for programs to spit out animations. -// -// Only RGBA8 is currently supported as an input format. (The alpha is ignored.) -// -// If capturing a buffer with a bottom-left origin (such as OpenGL), define GIF_FLIP_VERT -// to automatically flip the buffer data when writing the image (the buffer itself is -// unchanged. -// -// USAGE: -// Create a GifWriter struct. Pass it to GifBegin() to initialize and write the header. -// Pass subsequent frames to GifWriteFrame(). -// Finally, call GifEnd() to close the file handle and free memory. -// - -#ifndef gif_h -#define gif_h - -#include // for FILE* -#include // for memcpy and bzero -#include // for integer typedefs - -// Define these macros to hook into a custom memory allocator. -// TEMP_MALLOC and TEMP_FREE will only be called in stack fashion - frees in the reverse order of mallocs -// and any temp memory allocated by a function will be freed before it exits. -// MALLOC and FREE are used only by GifBegin and GifEnd respectively (to allocate a buffer the size of the image, which -// is used to find changed pixels for delta-encoding.) - -#ifndef GIF_TEMP_MALLOC -#include -#define GIF_TEMP_MALLOC malloc -#endif - -#ifndef GIF_TEMP_FREE -#include -#define GIF_TEMP_FREE free -#endif - -#ifndef GIF_MALLOC -#include -#define GIF_MALLOC malloc -#endif - -#ifndef GIF_FREE -#include -#define GIF_FREE free -#endif - -const int kGifTransIndex = 0; - -struct GifPalette -{ - int bitDepth; - - uint8_t r[256]; - uint8_t g[256]; - uint8_t b[256]; - - // k-d tree over RGB space, organized in heap fashion - // i.e. left child of node i is node i*2, right child is node i*2+1 - // nodes 256-511 are implicitly the leaves, containing a color - uint8_t treeSplitElt[255]; - uint8_t treeSplit[255]; -}; - -// max, min, and abs functions -int GifIMax(int l, int r) { return l>r?l:r; } -int GifIMin(int l, int r) { return l (1<bitDepth)-1) - { - int ind = treeRoot-(1<bitDepth); - if(ind == kGifTransIndex) return; - - // check whether this color is better than the current winner - int r_err = r - ((int32_t)pPal->r[ind]); - int g_err = g - ((int32_t)pPal->g[ind]); - int b_err = b - ((int32_t)pPal->b[ind]); - int diff = GifIAbs(r_err)+GifIAbs(g_err)+GifIAbs(b_err); - - if(diff < bestDiff) - { - bestInd = ind; - bestDiff = diff; - } - - return; - } - - // take the appropriate color (r, g, or b) for this node of the k-d tree - int comps[3]; comps[0] = r; comps[1] = g; comps[2] = b; - int splitComp = comps[pPal->treeSplitElt[treeRoot]]; - - int splitPos = pPal->treeSplit[treeRoot]; - if(splitPos > splitComp) - { - // check the left subtree - GifGetClosestPaletteColor(pPal, r, g, b, bestInd, bestDiff, treeRoot*2); - if( bestDiff > splitPos - splitComp ) - { - // cannot prove there's not a better value in the right subtree, check that too - GifGetClosestPaletteColor(pPal, r, g, b, bestInd, bestDiff, treeRoot*2+1); - } - } - else - { - GifGetClosestPaletteColor(pPal, r, g, b, bestInd, bestDiff, treeRoot*2+1); - if( bestDiff > splitComp - splitPos ) - { - GifGetClosestPaletteColor(pPal, r, g, b, bestInd, bestDiff, treeRoot*2); - } - } -} - -void GifSwapPixels(uint8_t* image, int pixA, int pixB) -{ - uint8_t rA = image[pixA*4]; - uint8_t gA = image[pixA*4+1]; - uint8_t bA = image[pixA*4+2]; - uint8_t aA = image[pixA*4+3]; - - uint8_t rB = image[pixB*4]; - uint8_t gB = image[pixB*4+1]; - uint8_t bB = image[pixB*4+2]; - uint8_t aB = image[pixA*4+3]; - - image[pixA*4] = rB; - image[pixA*4+1] = gB; - image[pixA*4+2] = bB; - image[pixA*4+3] = aB; - - image[pixB*4] = rA; - image[pixB*4+1] = gA; - image[pixB*4+2] = bA; - image[pixB*4+3] = aA; -} - -// just the partition operation from quicksort -int GifPartition(uint8_t* image, const int left, const int right, const int elt, int pivotIndex) -{ - const int pivotValue = image[(pivotIndex)*4+elt]; - GifSwapPixels(image, pivotIndex, right-1); - int storeIndex = left; - bool split = 0; - for(int ii=left; ii neededCenter) - GifPartitionByMedian(image, left, pivotIndex, com, neededCenter); - - if(pivotIndex < neededCenter) - GifPartitionByMedian(image, pivotIndex+1, right, com, neededCenter); - } -} - -// Builds a palette by creating a balanced k-d tree of all pixels in the image -void GifSplitPalette(uint8_t* image, int numPixels, int firstElt, int lastElt, int splitElt, int splitDist, int treeNode, bool buildForDither, GifPalette* pal) -{ - if(lastElt <= firstElt || numPixels == 0) - return; - - // base case, bottom of the tree - if(lastElt == firstElt+1) - { - if(buildForDither) - { - // Dithering needs at least one color as dark as anything - // in the image and at least one brightest color - - // otherwise it builds up error and produces strange artifacts - if( firstElt == 1 ) - { - // special case: the darkest color in the image - uint32_t r=255, g=255, b=255; - for(int ii=0; iir[firstElt] = (uint8_t)r; - pal->g[firstElt] = (uint8_t)g; - pal->b[firstElt] = (uint8_t)b; - - return; - } - - if( firstElt == (1 << pal->bitDepth)-1 ) - { - // special case: the lightest color in the image - uint32_t r=0, g=0, b=0; - for(int ii=0; iir[firstElt] = (uint8_t)r; - pal->g[firstElt] = (uint8_t)g; - pal->b[firstElt] = (uint8_t)b; - - return; - } - } - - // otherwise, take the average of all colors in this subcube - uint64_t r=0, g=0, b=0; - for(int ii=0; iir[firstElt] = (uint8_t)r; - pal->g[firstElt] = (uint8_t)g; - pal->b[firstElt] = (uint8_t)b; - - return; - } - - // Find the axis with the largest range - int minR = 255, maxR = 0; - int minG = 255, maxG = 0; - int minB = 255, maxB = 0; - for(int ii=0; ii maxR) maxR = r; - if(r < minR) minR = r; - - if(g > maxG) maxG = g; - if(g < minG) minG = g; - - if(b > maxB) maxB = b; - if(b < minB) minB = b; - } - - int rRange = maxR - minR; - int gRange = maxG - minG; - int bRange = maxB - minB; - - // and split along that axis. (incidentally, this means this isn't a "proper" k-d tree but I don't know what else to call it) - int splitCom = 1; - if(bRange > gRange) splitCom = 2; - if(rRange > bRange && rRange > gRange) splitCom = 0; - - int subPixelsA = numPixels * (splitElt - firstElt) / (lastElt - firstElt); - int subPixelsB = numPixels-subPixelsA; - - GifPartitionByMedian(image, 0, numPixels, splitCom, subPixelsA); - - pal->treeSplitElt[treeNode] = (uint8_t)splitCom; - pal->treeSplit[treeNode] = image[subPixelsA*4+splitCom]; - - GifSplitPalette(image, subPixelsA, firstElt, splitElt, splitElt-splitDist, splitDist/2, treeNode*2, buildForDither, pal); - GifSplitPalette(image+subPixelsA*4, subPixelsB, splitElt, lastElt, splitElt+splitDist, splitDist/2, treeNode*2+1, buildForDither, pal); -} - -// Finds all pixels that have changed from the previous image and -// moves them to the fromt of th buffer. -// This allows us to build a palette optimized for the colors of the -// changed pixels only. -int GifPickChangedPixels( const uint8_t* lastFrame, uint8_t* frame, int numPixels ) -{ - int numChanged = 0; - uint8_t* writeIter = frame; - - for (int ii=0; iibitDepth = bitDepth; - - // SplitPalette is destructive (it sorts the pixels by color) so - // we must create a copy of the image for it to destroy - size_t imageSize = (size_t)(width * height * 4 * sizeof(uint8_t)); - uint8_t* destroyableImage = (uint8_t*)GIF_TEMP_MALLOC(imageSize); - memcpy(destroyableImage, nextFrame, imageSize); - - int numPixels = (int)(width * height); - if(lastFrame) - numPixels = GifPickChangedPixels(lastFrame, destroyableImage, numPixels); - - const int lastElt = 1 << bitDepth; - const int splitElt = lastElt/2; - const int splitDist = splitElt/2; - - GifSplitPalette(destroyableImage, numPixels, 1, lastElt, splitElt, splitDist, 1, buildForDither, pPal); - - GIF_TEMP_FREE(destroyableImage); - - // add the bottom node for the transparency index - pPal->treeSplit[1 << (bitDepth-1)] = 0; - pPal->treeSplitElt[1 << (bitDepth-1)] = 0; - - pPal->r[0] = pPal->g[0] = pPal->b[0] = 0; -} - -// Implements Floyd-Steinberg dithering, writes palette value to alpha -void GifDitherImage( const uint8_t* lastFrame, const uint8_t* nextFrame, uint8_t* outFrame, uint32_t width, uint32_t height, GifPalette* pPal ) -{ - int numPixels = (int)(width * height); - - // quantPixels initially holds color*256 for all pixels - // The extra 8 bits of precision allow for sub-single-color error values - // to be propagated - int32_t *quantPixels = (int32_t *)GIF_TEMP_MALLOC(sizeof(int32_t) * (size_t)numPixels * 4); - - for( int ii=0; iir[bestInd]) * 256; - int32_t g_err = nextPix[1] - int32_t(pPal->g[bestInd]) * 256; - int32_t b_err = nextPix[2] - int32_t(pPal->b[bestInd]) * 256; - - nextPix[0] = pPal->r[bestInd]; - nextPix[1] = pPal->g[bestInd]; - nextPix[2] = pPal->b[bestInd]; - nextPix[3] = bestInd; - - // Propagate the error to the four adjacent locations - // that we haven't touched yet - int quantloc_7 = (int)(yy * width + xx + 1); - int quantloc_3 = (int)(yy * width + width + xx - 1); - int quantloc_5 = (int)(yy * width + width + xx); - int quantloc_1 = (int)(yy * width + width + xx + 1); - - if(quantloc_7 < numPixels) - { - int32_t* pix7 = quantPixels+4*quantloc_7; - pix7[0] += GifIMax( -pix7[0], r_err * 7 / 16 ); - pix7[1] += GifIMax( -pix7[1], g_err * 7 / 16 ); - pix7[2] += GifIMax( -pix7[2], b_err * 7 / 16 ); - } - - if(quantloc_3 < numPixels) - { - int32_t* pix3 = quantPixels+4*quantloc_3; - pix3[0] += GifIMax( -pix3[0], r_err * 3 / 16 ); - pix3[1] += GifIMax( -pix3[1], g_err * 3 / 16 ); - pix3[2] += GifIMax( -pix3[2], b_err * 3 / 16 ); - } - - if(quantloc_5 < numPixels) - { - int32_t* pix5 = quantPixels+4*quantloc_5; - pix5[0] += GifIMax( -pix5[0], r_err * 5 / 16 ); - pix5[1] += GifIMax( -pix5[1], g_err * 5 / 16 ); - pix5[2] += GifIMax( -pix5[2], b_err * 5 / 16 ); - } - - if(quantloc_1 < numPixels) - { - int32_t* pix1 = quantPixels+4*quantloc_1; - pix1[0] += GifIMax( -pix1[0], r_err / 16 ); - pix1[1] += GifIMax( -pix1[1], g_err / 16 ); - pix1[2] += GifIMax( -pix1[2], b_err / 16 ); - } - } - } - - // Copy the palettized result to the output buffer - for( int ii=0; iir[bestInd]; - outFrame[1] = pPal->g[bestInd]; - outFrame[2] = pPal->b[bestInd]; - outFrame[3] = (uint8_t)bestInd; - } - - if(lastFrame) lastFrame += 4; - outFrame += 4; - nextFrame += 4; - } -} - -// Simple structure to write out the LZW-compressed portion of the image -// one bit at a time -struct GifBitStatus -{ - uint8_t bitIndex; // how many bits in the partial byte written so far - uint8_t byte; // current partial byte - - uint32_t chunkIndex; - uint8_t chunk[256]; // bytes are written in here until we have 256 of them, then written to the file -}; - -// insert a single bit -void GifWriteBit( GifBitStatus& stat, uint32_t bit ) -{ - bit = bit & 1; - bit = bit << stat.bitIndex; - stat.byte |= bit; - - ++stat.bitIndex; - if( stat.bitIndex > 7 ) - { - // move the newly-finished byte to the chunk buffer - stat.chunk[stat.chunkIndex++] = stat.byte; - // and start a new byte - stat.bitIndex = 0; - stat.byte = 0; - } -} - -// write all bytes so far to the file -void GifWriteChunk( FILE* f, GifBitStatus& stat ) -{ - fputc((int)stat.chunkIndex, f); - fwrite(stat.chunk, 1, stat.chunkIndex, f); - - stat.bitIndex = 0; - stat.byte = 0; - stat.chunkIndex = 0; -} - -void GifWriteCode( FILE* f, GifBitStatus& stat, uint32_t code, uint32_t length ) -{ - for( uint32_t ii=0; ii> 1; - - if( stat.chunkIndex == 255 ) - { - GifWriteChunk(f, stat); - } - } -} - -// The LZW dictionary is a 256-ary tree constructed as the file is encoded, -// this is one node -struct GifLzwNode -{ - uint16_t m_next[256]; -}; - -// write a 256-color (8-bit) image palette to the file -void GifWritePalette( const GifPalette* pPal, FILE* f ) -{ - fputc(0, f); // first color: transparency - fputc(0, f); - fputc(0, f); - - for(int ii=1; ii<(1 << pPal->bitDepth); ++ii) - { - uint32_t r = pPal->r[ii]; - uint32_t g = pPal->g[ii]; - uint32_t b = pPal->b[ii]; - - fputc((int)r, f); - fputc((int)g, f); - fputc((int)b, f); - } -} - -// write the image header, LZW-compress and write out the image -void GifWriteLzwImage(FILE* f, uint8_t* image, uint32_t left, uint32_t top, uint32_t width, uint32_t height, uint32_t delay, GifPalette* pPal) -{ - // graphics control extension - fputc(0x21, f); - fputc(0xf9, f); - fputc(0x04, f); - fputc(0x05, f); // leave prev frame in place, this frame has transparency - fputc(delay & 0xff, f); - fputc((delay >> 8) & 0xff, f); - fputc(kGifTransIndex, f); // transparent color index - fputc(0, f); - - fputc(0x2c, f); // image descriptor block - - fputc(left & 0xff, f); // corner of image in canvas space - fputc((left >> 8) & 0xff, f); - fputc(top & 0xff, f); - fputc((top >> 8) & 0xff, f); - - fputc(width & 0xff, f); // width and height of image - fputc((width >> 8) & 0xff, f); - fputc(height & 0xff, f); - fputc((height >> 8) & 0xff, f); - - //fputc(0, f); // no local color table, no transparency - //fputc(0x80, f); // no local color table, but transparency - - fputc(0x80 + pPal->bitDepth-1, f); // local color table present, 2 ^ bitDepth entries - GifWritePalette(pPal, f); - - const int minCodeSize = pPal->bitDepth; - const uint32_t clearCode = 1 << pPal->bitDepth; - - fputc(minCodeSize, f); // min code size 8 bits - - GifLzwNode* codetree = (GifLzwNode*)GIF_TEMP_MALLOC(sizeof(GifLzwNode)*4096); - - memset(codetree, 0, sizeof(GifLzwNode)*4096); - int32_t curCode = -1; - uint32_t codeSize = (uint32_t)minCodeSize + 1; - uint32_t maxCode = clearCode+1; - - GifBitStatus stat; - stat.byte = 0; - stat.bitIndex = 0; - stat.chunkIndex = 0; - - GifWriteCode(f, stat, clearCode, codeSize); // start with a fresh LZW dictionary - - for(uint32_t yy=0; yy= (1ul << codeSize) ) - { - // dictionary entry count has broken a size barrier, - // we need more bits for codes - codeSize++; - } - if( maxCode == 4095 ) - { - // the dictionary is full, clear it out and begin anew - GifWriteCode(f, stat, clearCode, codeSize); // clear tree - - memset(codetree, 0, sizeof(GifLzwNode)*4096); - codeSize = (uint32_t)(minCodeSize + 1); - maxCode = clearCode+1; - } - - curCode = nextValue; - } - } - } - - // compression footer - GifWriteCode(f, stat, (uint32_t)curCode, codeSize); - GifWriteCode(f, stat, clearCode, codeSize); - GifWriteCode(f, stat, clearCode + 1, (uint32_t)minCodeSize + 1); - - // write out the last partial chunk - while( stat.bitIndex ) GifWriteBit(stat, 0); - if( stat.chunkIndex ) GifWriteChunk(f, stat); - - fputc(0, f); // image block terminator - - GIF_TEMP_FREE(codetree); -} - -struct GifWriter -{ - FILE* f; - uint8_t* oldImage; - bool firstFrame; -}; - -// Creates a gif file. -// The input GIFWriter is assumed to be uninitialized. -// The delay value is the time between frames in hundredths of a second - note that not all viewers pay much attention to this value. -bool GifBegin( GifWriter* writer, const char* filename, uint32_t width, uint32_t height, uint32_t delay, int32_t bitDepth = 8, bool dither = false ) -{ - (void)bitDepth; (void)dither; // Mute "Unused argument" warnings -#if defined(_MSC_VER) && (_MSC_VER >= 1400) - writer->f = 0; - fopen_s(&writer->f, filename, "wb"); -#else - writer->f = fopen(filename, "wb"); -#endif - if(!writer->f) return false; - - writer->firstFrame = true; - - // allocate - writer->oldImage = (uint8_t*)GIF_MALLOC(width*height*4); - - fputs("GIF89a", writer->f); - - // screen descriptor - fputc(width & 0xff, writer->f); - fputc((width >> 8) & 0xff, writer->f); - fputc(height & 0xff, writer->f); - fputc((height >> 8) & 0xff, writer->f); - - fputc(0xf0, writer->f); // there is an unsorted global color table of 2 entries - fputc(0, writer->f); // background color - fputc(0, writer->f); // pixels are square (we need to specify this because it's 1989) - - // now the "global" palette (really just a dummy palette) - // color 0: black - fputc(0, writer->f); - fputc(0, writer->f); - fputc(0, writer->f); - // color 1: also black - fputc(0, writer->f); - fputc(0, writer->f); - fputc(0, writer->f); - - if( delay != 0 ) - { - // animation header - fputc(0x21, writer->f); // extension - fputc(0xff, writer->f); // application specific - fputc(11, writer->f); // length 11 - fputs("NETSCAPE2.0", writer->f); // yes, really - fputc(3, writer->f); // 3 bytes of NETSCAPE2.0 data - - fputc(1, writer->f); // JUST BECAUSE - fputc(0, writer->f); // loop infinitely (byte 0) - fputc(0, writer->f); // loop infinitely (byte 1) - - fputc(0, writer->f); // block terminator - } - - return true; -} - -// Writes out a new frame to a GIF in progress. -// The GIFWriter should have been created by GIFBegin. -// AFAIK, it is legal to use different bit depths for different frames of an image - -// this may be handy to save bits in animations that don't change much. -bool GifWriteFrame( GifWriter* writer, const uint8_t* image, uint32_t width, uint32_t height, uint32_t delay, int bitDepth = 8, bool dither = false ) -{ - if(!writer->f) return false; - - const uint8_t* oldImage = writer->firstFrame? NULL : writer->oldImage; - writer->firstFrame = false; - - GifPalette pal; - GifMakePalette((dither? NULL : oldImage), image, width, height, bitDepth, dither, &pal); - - if(dither) - GifDitherImage(oldImage, image, writer->oldImage, width, height, &pal); - else - GifThresholdImage(oldImage, image, writer->oldImage, width, height, &pal); - - GifWriteLzwImage(writer->f, writer->oldImage, 0, 0, width, height, delay, &pal); - - return true; -} - -// Writes the EOF code, closes the file handle, and frees temp memory used by a GIF. -// Many if not most viewers will still display a GIF properly if the EOF code is missing, -// but it's still a good idea to write it out. -bool GifEnd( GifWriter* writer ) -{ - if(!writer->f) return false; - - fputc(0x3b, writer->f); // end of file - fclose(writer->f); - GIF_FREE(writer->oldImage); - - writer->f = NULL; - writer->oldImage = NULL; - - return true; -} - -#endif diff --git a/submodules/RLottie/Sources/rlottie/example/lottie2gif.cpp b/submodules/RLottie/Sources/rlottie/example/lottie2gif.cpp deleted file mode 100644 index c678d10028..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/lottie2gif.cpp +++ /dev/null @@ -1,142 +0,0 @@ -#include "gif.h" -#include - -#include -#include -#include -#include - -class GifBuilder { -public: - explicit GifBuilder(const std::string &fileName , const uint32_t width, - const uint32_t height, const int bgColor=0xffffffff, const uint32_t delay = 2) - { - GifBegin(&handle, fileName.c_str(), width, height, delay); - bgColorR = (uint8_t) ((bgColor & 0xff0000) >> 16); - bgColorG = (uint8_t) ((bgColor & 0x00ff00) >> 8); - bgColorB = (uint8_t) ((bgColor & 0x0000ff)); - } - ~GifBuilder() - { - GifEnd(&handle); - } - void addFrame(rlottie::Surface &s, uint32_t delay = 2) - { - argbTorgba(s); - GifWriteFrame(&handle, - reinterpret_cast(s.buffer()), - s.width(), - s.height(), - delay); - } - void argbTorgba(rlottie::Surface &s) - { - uint8_t *buffer = reinterpret_cast(s.buffer()); - uint32_t totalBytes = s.height() * s.bytesPerLine(); - - for (uint32_t i = 0; i < totalBytes; i += 4) { - unsigned char a = buffer[i+3]; - // compute only if alpha is non zero - if (a) { - unsigned char r = buffer[i+2]; - unsigned char g = buffer[i+1]; - unsigned char b = buffer[i]; - - if (a != 255) { //un premultiply - unsigned char r2 = (unsigned char) ((float) bgColorR * ((float) (255 - a) / 255)); - unsigned char g2 = (unsigned char) ((float) bgColorG * ((float) (255 - a) / 255)); - unsigned char b2 = (unsigned char) ((float) bgColorB * ((float) (255 - a) / 255)); - buffer[i] = r + r2; - buffer[i+1] = g + g2; - buffer[i+2] = b + b2; - - } else { - // only swizzle r and b - buffer[i] = r; - buffer[i+2] = b; - } - } else { - buffer[i+2] = bgColorB; - buffer[i+1] = bgColorG; - buffer[i] = bgColorR; - } - } - } - -private: - GifWriter handle; - uint8_t bgColorR, bgColorG, bgColorB; -}; - -class App { -public: - int render(uint32_t w, uint32_t h) - { - auto player = rlottie::Animation::loadFromFile(fileName); - if (!player) return help(); - - auto buffer = std::unique_ptr(new uint32_t[w * h]); - size_t frameCount = player->totalFrame(); - - GifBuilder builder(baseName.data(), w, h, bgColor); - for (size_t i = 0; i < frameCount ; i++) { - rlottie::Surface surface(buffer.get(), w, h, w * 4); - player->renderSync(i, surface); - builder.addFrame(surface); - } - return result(); - } - - int setup(int argc, char **argv) - { - if (argc > 1) fileName = argv[1]; - if (argc > 2) bgColor = strtol(argv[2], NULL, 16); - - if (!fileName) return help(); - - fileName = realpath(fileName, absoloutePath.data()); - - if (!fileName || !jsonFile(fileName) ) return help(); - - baseName = absoloutePath; - char *base = basename(baseName.data()); - snprintf(baseName.data(), baseName.size(), "%s.gif",base); - return 0; - } - -private: - - bool jsonFile(const char *filename) { - const char *dot = strrchr(filename, '.'); - if(!dot || dot == filename) return false; - return !strcmp(dot + 1, "json"); - } - - int result() { - std::cout<<"Generated GIF file : "< absoloutePath; - std::array baseName; -}; - -int -main(int argc, char **argv) -{ - App app; - - if (app.setup(argc, argv)) return 1; - - app.render(200, 200); - - return 0; -} diff --git a/submodules/RLottie/Sources/rlottie/example/lottieview.cpp b/submodules/RLottie/Sources/rlottie/example/lottieview.cpp deleted file mode 100644 index 8659c16f5c..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/lottieview.cpp +++ /dev/null @@ -1,198 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include"lottieview.h" - -using namespace rlottie; - -static void -_image_update_cb(void *data, Evas_Object *obj EINA_UNUSED) -{ - RenderStrategy *info = (RenderStrategy *)data; - info->dataCb(); -} - -void RenderStrategy::addCallback(){ - evas_object_image_pixels_get_callback_set(_renderObject, _image_update_cb, this); -} - -static Eina_Bool -animator(void *data , double pos) -{ - LottieView *view = static_cast(data); - - view->seek(pos); - if (pos == 1.0) { - view->mAnimator = NULL; - view->finished(); - return EINA_FALSE; - } - return EINA_TRUE; -} - -LottieView::LottieView(Evas *evas, Strategy s) { - mPalying = false; - mReverse = false; - mRepeatCount = 0; - mRepeatMode = LottieView::RepeatMode::Restart; - mLoop = false; - mSpeed = 1; - - switch (s) { - case Strategy::renderCpp: { - mRenderDelegate = std::make_unique(evas); - break; - } - case Strategy::renderCppAsync: { - mRenderDelegate = std::make_unique(evas); - break; - } - case Strategy::renderC: { - mRenderDelegate = std::make_unique(evas); - break; - } - case Strategy::renderCAsync: { - mRenderDelegate = std::make_unique(evas); - break; - } - case Strategy::eflVg: { - mRenderDelegate = std::make_unique(evas); - break; - } - default: - mRenderDelegate = std::make_unique(evas); - break; - } -} - -LottieView::~LottieView() -{ - if (mAnimator) ecore_animator_del(mAnimator); -} - -Evas_Object *LottieView::getImage() { - return mRenderDelegate->renderObject(); -} - -void LottieView::show() -{ - mRenderDelegate->show(); - seek(0); -} - -void LottieView::hide() -{ - mRenderDelegate->hide(); -} - -void LottieView::seek(float pos) -{ - if (!mRenderDelegate) return; - - - mPos = mapProgress(pos); - - // check if the pos maps to the current frame - if (mCurFrame == mRenderDelegate->frameAtPos(mPos)) return; - - mCurFrame = mRenderDelegate->frameAtPos(mPos); - - mRenderDelegate->render(mCurFrame); -} - -float LottieView::getPos() -{ - return mPos; -} - -void LottieView::setFilePath(const char *filePath) -{ - mRenderDelegate->loadFromFile(filePath); -} - -void LottieView::loadFromData(const std::string &jsonData, const std::string &key, const std::string &resourcePath) -{ - mRenderDelegate->loadFromData(jsonData, key, resourcePath); -} - -void LottieView::setSize(int w, int h) -{ - mRenderDelegate->resize(w, h); -} - -void LottieView::setPos(int x, int y) -{ - mRenderDelegate->setPos(x, y); -} - -void LottieView::finished() -{ - restart(); -} - -void LottieView::loop(bool loop) -{ - mLoop = loop; -} - -void LottieView::setRepeatCount(int count) -{ - mRepeatCount = count; -} - -void LottieView::setRepeatMode(LottieView::RepeatMode mode) -{ - mRepeatMode = mode; -} - -void LottieView::play() -{ - if (mAnimator) ecore_animator_del(mAnimator); - mAnimator = ecore_animator_timeline_add(duration()/mSpeed, animator, this); - mReverse = false; - mCurCount = mRepeatCount; - mPalying = true; -} - -void LottieView::pause() -{ - -} - -void LottieView::stop() -{ - mPalying = false; - if (mAnimator) { - ecore_animator_del(mAnimator); - mAnimator = NULL; - } -} - -void LottieView::restart() -{ - mCurCount--; - if (mLoop || mRepeatCount) { - if (mRepeatMode == LottieView::RepeatMode::Reverse) - mReverse = !mReverse; - else - mReverse = false; - - if (mAnimator) ecore_animator_del(mAnimator); - mAnimator = ecore_animator_timeline_add(duration()/mSpeed, animator, this); - } -} diff --git a/submodules/RLottie/Sources/rlottie/example/lottieview.h b/submodules/RLottie/Sources/rlottie/example/lottieview.h deleted file mode 100644 index 34c414f285..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/lottieview.h +++ /dev/null @@ -1,579 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef LOTTIEVIEW_H -#define LOTTIEVIEW_H - -#ifndef EFL_BETA_API_SUPPORT -#define EFL_BETA_API_SUPPORT -#endif - -#ifndef EFL_EO_API_SUPPORT -#define EFL_EO_API_SUPPORT -#endif - -#include -#include -#include -#include -#include -#include "rlottie.h" -#include "rlottie_capi.h" -#include -#include - -class RenderStrategy { -public: - virtual ~RenderStrategy() { - evas_object_del(renderObject()); - } - RenderStrategy(Evas_Object *obj):_renderObject(obj){ - addCallback(); - } - virtual rlottie::Animation *player() {return nullptr;} - virtual void loadFromFile(const char *filePath) = 0; - virtual void loadFromData(const std::string &jsonData, const std::string &key, const std::string &resourcePath) = 0; - virtual size_t totalFrame() = 0; - virtual double frameRate() = 0; - virtual size_t frameAtPos(double pos) = 0; - virtual double duration() = 0; - void render(int frame) { - _redraw = renderRequest(frame); - if (_redraw) - evas_object_image_pixels_dirty_set(renderObject(), EINA_TRUE); - } - void dataCb() { - if (_redraw) { - evas_object_image_data_set(renderObject(), buffer()); - } - _redraw = false; - } - virtual void resize(int width, int height) = 0; - virtual void setPos(int x, int y) {evas_object_move(renderObject(), x, y);} - void show() {evas_object_show(_renderObject);} - void hide() {evas_object_hide(_renderObject);} - void addCallback(); - Evas_Object* renderObject() const {return _renderObject;} -protected: - virtual bool renderRequest(int) = 0; - virtual uint32_t* buffer() = 0; -private: - bool _redraw{false}; - Evas_Object *_renderObject; -}; - -class CppApiBase : public RenderStrategy { -public: - CppApiBase(Evas_Object *renderObject): RenderStrategy(renderObject) {} - rlottie::Animation *player() {return mPlayer.get();} - void loadFromFile(const char *filePath) - { - mPlayer = rlottie::Animation::loadFromFile(filePath); - - if (!mPlayer) { - printf("load failed file %s\n", filePath); - } - } - - void loadFromData(const std::string &jsonData, const std::string &key, const std::string &resourcePath) - { - mPlayer = rlottie::Animation::loadFromData(jsonData, key, resourcePath); - if (!mPlayer) { - printf("load failed from data\n"); - } - } - - size_t totalFrame() { - return mPlayer->totalFrame(); - - } - double duration() { - return mPlayer->duration(); - } - - double frameRate() { - return mPlayer->frameRate(); - } - - size_t frameAtPos(double pos) { - return mPlayer->frameAtPos(pos); - } -protected: - std::unique_ptr mPlayer; -}; - -class RlottieRenderStrategyCBase : public RenderStrategy { -public: - RlottieRenderStrategyCBase(Evas *evas):RenderStrategy(evas_object_image_filled_add(evas)) { - evas_object_image_colorspace_set(renderObject(), EVAS_COLORSPACE_ARGB8888); - evas_object_image_alpha_set(renderObject(), EINA_TRUE); - } - void resize(int width, int height) { - evas_object_resize(renderObject(), width, height); - evas_object_image_size_set(renderObject(), width, height); - } -}; - -class RlottieRenderStrategy : public CppApiBase { -public: - RlottieRenderStrategy(Evas *evas):CppApiBase(evas_object_image_filled_add(evas)) { - evas_object_image_colorspace_set(renderObject(), EVAS_COLORSPACE_ARGB8888); - evas_object_image_alpha_set(renderObject(), EINA_TRUE); - } - void resize(int width, int height) { - evas_object_resize(renderObject(), width, height); - evas_object_image_size_set(renderObject(), width, height); - } -}; - -class RlottieRenderStrategy_CPP : public RlottieRenderStrategy { -public: - RlottieRenderStrategy_CPP(Evas *evas):RlottieRenderStrategy(evas) {} - - bool renderRequest(int frame) { - int width , height; - Evas_Object *image = renderObject(); - evas_object_image_size_get(image, &width, &height); - mBuffer = (uint32_t *)evas_object_image_data_get(image, EINA_TRUE); - size_t bytesperline = evas_object_image_stride_get(image); - rlottie::Surface surface(mBuffer, width, height, bytesperline); - mPlayer->renderSync(frame, surface); - return true; - } - uint32_t* buffer() { - return mBuffer; - } - -private: - uint32_t * mBuffer; -}; - -class RlottieRenderStrategy_CPP_ASYNC : public RlottieRenderStrategy { -public: - RlottieRenderStrategy_CPP_ASYNC(Evas *evas):RlottieRenderStrategy(evas) {} - ~RlottieRenderStrategy_CPP_ASYNC() { - if (mRenderTask.valid()) - mRenderTask.get(); - } - bool renderRequest(int frame) { - //addCallback(); - if (mRenderTask.valid()) return true; - int width , height; - Evas_Object *image = renderObject(); - evas_object_image_size_get(image, &width, &height); - auto buffer = (uint32_t *)evas_object_image_data_get(image, EINA_TRUE); - size_t bytesperline = evas_object_image_stride_get(image); - rlottie::Surface surface(buffer, width, height, bytesperline); - mRenderTask = mPlayer->render(frame, surface); - return true; - } - - uint32_t* buffer() { - auto surface = mRenderTask.get(); - return surface.buffer(); - } -private: - std::future mRenderTask; -}; - - -class RlottieRenderStrategy_C : public RlottieRenderStrategyCBase { -public: - RlottieRenderStrategy_C(Evas *evas):RlottieRenderStrategyCBase(evas) {} - ~RlottieRenderStrategy_C() { - if (mPlayer) lottie_animation_destroy(mPlayer); - } - void loadFromFile(const char *filePath) - { - mPlayer = lottie_animation_from_file(filePath); - - if (!mPlayer) { - printf("load failed file %s\n", filePath); - } - } - - void loadFromData(const std::string &jsonData, const std::string &key, const std::string &resourcePath) - { - mPlayer = lottie_animation_from_data(jsonData.c_str(), key.c_str(), resourcePath.c_str()); - if (!mPlayer) { - printf("load failed from data\n"); - } - } - - size_t totalFrame() { - return lottie_animation_get_totalframe(mPlayer); - - } - - double frameRate() { - return lottie_animation_get_framerate(mPlayer); - } - - size_t frameAtPos(double pos) { - return lottie_animation_get_frame_at_pos(mPlayer, pos); - } - - double duration() { - return lottie_animation_get_duration(mPlayer); - } - - bool renderRequest(int frame) { - int width , height; - Evas_Object *image = renderObject(); - evas_object_image_size_get(image, &width, &height); - mBuffer = (uint32_t *)evas_object_image_data_get(image, EINA_TRUE); - size_t bytesperline = evas_object_image_stride_get(image); - lottie_animation_render(mPlayer, frame, mBuffer, width, height, bytesperline); - return true; - } - - uint32_t* buffer() { - return mBuffer; - } - -private: - uint32_t * mBuffer; -protected: - Lottie_Animation *mPlayer; -}; - -class RlottieRenderStrategy_C_ASYNC : public RlottieRenderStrategy_C { -public: - RlottieRenderStrategy_C_ASYNC(Evas *evas):RlottieRenderStrategy_C(evas) {} - ~RlottieRenderStrategy_C_ASYNC() { - if (mDirty) lottie_animation_render_flush(mPlayer); - } - bool renderRequest(int frame) { - if (mDirty) return true; - mDirty = true; - Evas_Object *image = renderObject(); - evas_object_image_size_get(image, &mWidth, &mHeight); - mBuffer = (uint32_t *)evas_object_image_data_get(image, EINA_TRUE); - size_t bytesperline = evas_object_image_stride_get(image); - lottie_animation_render_async(mPlayer, frame, mBuffer, mWidth, mHeight, bytesperline); - return true; - } - - uint32_t* buffer() { - lottie_animation_render_flush(mPlayer); - mDirty =false; - return mBuffer; - } - -private: - uint32_t * mBuffer; - int mWidth; - int mHeight; - bool mDirty{false}; -}; - -enum class Strategy { - renderCpp = 0, - renderCppAsync, - renderC, - renderCAsync, - eflVg -}; - -class LottieView -{ -public: - enum class RepeatMode { - Restart, - Reverse - }; - LottieView(Evas *evas, Strategy s = Strategy::renderCppAsync); - ~LottieView(); - rlottie::Animation *player(){return mRenderDelegate->player();} - Evas_Object *getImage(); - void setSize(int w, int h); - void setPos(int x, int y); - void setFilePath(const char *filePath); - void loadFromData(const std::string &jsonData, const std::string &key, const std::string &resourcePath=""); - void show(); - void hide(); - void loop(bool loop); - void setSpeed(float speed) { mSpeed = speed;} - void setRepeatCount(int count); - void setRepeatMode(LottieView::RepeatMode mode); - float getFrameRate() const { return mRenderDelegate->frameRate(); } - long getTotalFrame() const { return mRenderDelegate->totalFrame(); } -public: - void seek(float pos); - float getPos(); - void finished(); - void play(); - void pause(); - void stop(); - void initializeBufferObject(Evas *evas); - void setMinProgress(float progress) - { - //clamp it to [0,1] - mMinProgress = progress; - } - void setMaxProgress(float progress) - { - //clamp it to [0,1] - mMaxprogress = progress; - } -private: - float mapProgress(float progress) { - //clamp it to the segment - progress = (mMinProgress + (mMaxprogress - mMinProgress) * progress); - - // currently playing and in reverse mode - if (mPalying && mReverse) - progress = mMaxprogress > mMinProgress ? - mMaxprogress - progress : mMinProgress - progress; - - - return progress; - } - float duration() const { - // usually we run the animation for mPlayer->duration() - // but now run animation for segmented duration. - return mRenderDelegate->duration() * fabs(mMaxprogress - mMinProgress); - } - void createVgNode(LOTNode *node, Efl_VG *root); - void update(const std::vector &); - void updateTree(const LOTLayerNode *); - void update(const LOTLayerNode *, Efl_VG *parent); - void restart(); -public: - int mRepeatCount; - LottieView::RepeatMode mRepeatMode; - size_t mCurFrame{UINT_MAX}; - Ecore_Animator *mAnimator{nullptr}; - bool mLoop; - int mCurCount; - bool mReverse; - bool mPalying; - float mSpeed; - float mPos; - //keep a segment of the animation default is [0, 1] - float mMinProgress{0}; - float mMaxprogress{1}; - std::unique_ptr mRenderDelegate; -}; - -#include -class EflVgRenderStrategy : public CppApiBase { - int mW; - int mH; -public: - EflVgRenderStrategy(Evas *evas):CppApiBase(evas_object_vg_add(evas)) {} - - void resize(int width, int height) { - mW = width; - mH = height; - evas_object_resize(renderObject(), width, height); - } - - uint32_t *buffer() { - assert(false); - } - - bool renderRequest(int frame) { - const LOTLayerNode *root = mPlayer->renderTree(frame, mW, mH); - updateTree(root); - return false; - } - - void updateTree(const LOTLayerNode * node) - { - Efl_VG *root = evas_vg_container_add(renderObject()); - update(node, root); - evas_object_vg_root_node_set(renderObject(), root); - } - - void createVgNode(LOTNode *node, Efl_VG *root) - { - Efl_VG *shape = evas_vg_shape_add(root); - - //0: Path - const float *data = node->mPath.ptPtr; - if (!data) return; - - for (int i = 0; i < node->mPath.elmCount; i++) { - switch (node->mPath.elmPtr[i]) { - case 0: - evas_vg_shape_append_move_to(shape, data[0], data[1]); - data += 2; - break; - case 1: - evas_vg_shape_append_line_to(shape, data[0], data[1]); - data += 2; - break; - case 2: - evas_vg_shape_append_cubic_to(shape, data[0], data[1], data[2], data[3], data[4], data[5]); - data += 6; - break; - case 3: - evas_vg_shape_append_close(shape); - break; - default: - break; - } - } - - //1: Stroke - if (node->mStroke.enable) { - //Stroke Width - evas_vg_shape_stroke_width_set(shape, node->mStroke.width); - - //Stroke Cap - Efl_Gfx_Cap cap; - switch (node->mStroke.cap) { - case CapFlat: cap = EFL_GFX_CAP_BUTT; break; - case CapSquare: cap = EFL_GFX_CAP_SQUARE; break; - case CapRound: cap = EFL_GFX_CAP_ROUND; break; - default: cap = EFL_GFX_CAP_BUTT; break; - } - evas_vg_shape_stroke_cap_set(shape, cap); - - //Stroke Join - Efl_Gfx_Join join; - switch (node->mStroke.join) { - case JoinMiter: join = EFL_GFX_JOIN_MITER; break; - case JoinBevel: join = EFL_GFX_JOIN_BEVEL; break; - case JoinRound: join = EFL_GFX_JOIN_ROUND; break; - default: join = EFL_GFX_JOIN_MITER; break; - } - evas_vg_shape_stroke_join_set(shape, join); - - //Stroke Dash - if (node->mStroke.dashArraySize > 0) { - int size = (node->mStroke.dashArraySize / 2); - Efl_Gfx_Dash *dash = static_cast(malloc(sizeof(Efl_Gfx_Dash) * size)); - if (dash) { - for (int i = 0; i <= size; i+=2) { - dash[i].length = node->mStroke.dashArray[i]; - dash[i].gap = node->mStroke.dashArray[i + 1]; - } - evas_vg_shape_stroke_dash_set(shape, dash, size); - free(dash); - } - } - } - - //2: Fill Method - switch (node->mBrushType) { - case BrushSolid: { - float pa = ((float)node->mColor.a) / 255; - int r = (int)(((float) node->mColor.r) * pa); - int g = (int)(((float) node->mColor.g) * pa); - int b = (int)(((float) node->mColor.b) * pa); - int a = node->mColor.a; - if (node->mStroke.enable) - evas_vg_shape_stroke_color_set(shape, r, g, b, a); - else - evas_vg_node_color_set(shape, r, g, b, a); - break; - } - case BrushGradient: { - Efl_VG* grad = NULL; - if (node->mGradient.type == GradientLinear) { - grad = evas_vg_gradient_linear_add(root); - evas_vg_gradient_linear_start_set(grad, node->mGradient.start.x, node->mGradient.start.y); - evas_vg_gradient_linear_end_set(grad, node->mGradient.end.x, node->mGradient.end.y); - - } - else if (node->mGradient.type == GradientRadial) { - grad = evas_vg_gradient_radial_add(root); - evas_vg_gradient_radial_center_set(grad, node->mGradient.center.x, node->mGradient.center.y); - evas_vg_gradient_radial_focal_set(grad, node->mGradient.focal.x, node->mGradient.focal.y); - evas_vg_gradient_radial_radius_set(grad, node->mGradient.cradius); - } - - if (grad) { - //Gradient Stop - Efl_Gfx_Gradient_Stop* stops = static_cast(malloc(sizeof(Efl_Gfx_Gradient_Stop) * node->mGradient.stopCount)); - if (stops) { - for (unsigned int i = 0; i < node->mGradient.stopCount; i++) { - stops[i].offset = node->mGradient.stopPtr[i].pos; - float pa = ((float)node->mGradient.stopPtr[i].a) / 255; - stops[i].r = (int)(((float)node->mGradient.stopPtr[i].r) * pa); - stops[i].g = (int)(((float)node->mGradient.stopPtr[i].g) * pa); - stops[i].b = (int)(((float)node->mGradient.stopPtr[i].b) * pa); - stops[i].a = node->mGradient.stopPtr[i].a; - } - evas_vg_gradient_stop_set(grad, stops, node->mGradient.stopCount); - free(stops); - } - if (node->mStroke.enable) - evas_vg_shape_stroke_fill_set(shape, grad); - else - evas_vg_shape_fill_set(shape, grad); - } - break; - } - default: - break; - } - - //3: Fill Rule -// if (node->mFillRule == FillEvenOdd) -// efl_gfx_shape_fill_rule_set(shape, EFL_GFX_FILL_RULE_ODD_EVEN); -// else if (node->mFillRule == FillWinding) -// efl_gfx_shape_fill_rule_set(shape, EFL_GFX_FILL_RULE_WINDING); - } - - void update(const std::vector &renderList) - { - Efl_VG *root = evas_vg_container_add(renderObject()); - for(auto i : renderList) { - createVgNode(i, root); - } - evas_object_vg_root_node_set(renderObject(), root); - } - - void update(const LOTLayerNode * node, Efl_VG *parent) - { - // if the layer is invisible return - if (!node->mVisible) return; - - // check if this layer is a container layer - bool hasMatte = false; - if (node->mLayerList.size) { - for (unsigned int i = 0; i < node->mLayerList.size; i++) { - if (hasMatte) { - hasMatte = false; - continue; - } - // if the layer has matte then - // the next layer has to be rendered using this layer - // as matte source - if (node->mLayerList.ptr[i]->mMatte != MatteNone) { - hasMatte = true; - printf("Matte is not supported Yet\n"); - continue; - } - update(node->mLayerList.ptr[i], parent); - } - } - - // check if this layer has drawable - if (node->mNodeList.size) { - for (unsigned int i = 0; i < node->mNodeList.size; i++) { - createVgNode(node->mNodeList.ptr[i], parent); - } - } - } -}; - -#endif //LOTTIEVIEW_H diff --git a/submodules/RLottie/Sources/rlottie/example/lottieviewer.cpp b/submodules/RLottie/Sources/rlottie/example/lottieviewer.cpp deleted file mode 100644 index 75921b1f34..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/lottieviewer.cpp +++ /dev/null @@ -1,255 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include -#include "lottieview.h" -#include "evasapp.h" -#include -#include -#include -#include -#include -#include -#include - -using namespace std; - -typedef struct _AppInfo AppInfo; -struct _AppInfo { - LottieView *view; - Evas_Object *layout; - Evas_Object *slider; - Evas_Object *button; - Ecore_Animator *animator; - Eina_Bool autoPlaying; -}; - -typedef struct _ItemData ItemData; -struct _ItemData { - int index; -}; - - -std::vector jsonFiles; -bool renderMode = true; - -static void -_layout_del_cb(void *data, Evas *, Evas_Object *, void *) -{ - AppInfo *info = (AppInfo *)data; - if (info->view) delete info->view; - ecore_animator_del(info->animator); - free(info); -} - -static void -_update_frame_info(AppInfo *info, double pos) -{ - int frameNo = pos * info->view->getTotalFrame(); - char buf[64]; - - sprintf(buf, "%d / %ld", frameNo, info->view->getTotalFrame()); - elm_object_part_text_set(info->layout, "text", buf); -} - -static void -_toggle_start_button(AppInfo *info) -{ - if (!info->autoPlaying) - { - info->autoPlaying = EINA_TRUE; - info->view->play(); - elm_object_text_set(info->button, "Stop"); - } - else - { - info->autoPlaying = EINA_FALSE; - info->view->stop(); - elm_object_text_set(info->button, "Start"); - } -} - -static Eina_Bool -_animator_cb(void *data) -{ - AppInfo *info = (AppInfo *)data; - - if (info && info->autoPlaying && info->view) - { - float pos = info->view->getPos(); - _update_frame_info(info, pos); - elm_slider_value_set(info->slider, (double)pos); - evas_object_image_pixels_dirty_set(info->view->getImage(), EINA_TRUE); - if (pos >= 1.0) - _toggle_start_button(info); - } - return ECORE_CALLBACK_RENEW; -} - -static void -_slider_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED) -{ - double val = elm_slider_value_get(obj); - AppInfo *info = (AppInfo *)data; - - _update_frame_info(info, val); - - if (!info->autoPlaying) - { - info->view->seek(val); - evas_object_image_pixels_dirty_set(info->view->getImage(), EINA_TRUE); - } -} - -static void -_button_clicked_cb(void *data, Evas_Object */*obj*/, void */*event_info*/) -{ - AppInfo *info = (AppInfo *)data; - - _toggle_start_button(info); -} - -Evas_Object * -create_layout(Evas_Object *parent, const char *file) -{ - Evas_Object *layout, *slider, *image, *button; - Ecore_Animator *animator; - char buf[64]; - AppInfo *info = (AppInfo *)calloc(sizeof(AppInfo), 1); - - //LAYOUT - layout = elm_layout_add(parent); - evas_object_show(layout); - evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - - std::string edjPath = DEMO_DIR; - edjPath +="layout.edj"; - - elm_layout_file_set(layout, edjPath.c_str(), "layout"); - - //LOTTIEVIEW - LottieView *view = new LottieView(evas_object_evas_get(layout), Strategy::renderCppAsync); - view->setFilePath(file); - view->setSize(500, 500); - - //IMAGE from LOTTIEVIEW - image = view->getImage(); - evas_object_show(image); - elm_object_part_content_set(layout, "lottie", image); - - //SLIDER - slider = elm_slider_add(layout); - elm_object_part_content_set(layout, "slider", slider); - evas_object_smart_callback_add(slider, "changed", _slider_cb, (void *)info); - - button = elm_button_add(layout); - elm_object_text_set(button, "Start"); - elm_object_part_content_set(layout, "button", button); - evas_object_smart_callback_add(button, "clicked", _button_clicked_cb, (void *)info); - - animator = ecore_animator_add(_animator_cb, info); - - info->view = view; - info->layout = layout; - info->slider = slider; - info->button = button; - info->animator = animator; - evas_object_event_callback_add(layout, EVAS_CALLBACK_DEL, _layout_del_cb, (void *)info); - - sprintf(buf, "%d / %ld", 0, view->getTotalFrame()); - elm_object_part_text_set(layout, "text", buf); - - view->seek(0.0); - return layout; -} - -static void -_gl_selected_cb(void *data, Evas_Object */*obj*/, void *event_info) -{ - Evas_Object *nf = (Evas_Object *)data; - Elm_Object_Item *it = (Elm_Object_Item *)event_info; - elm_genlist_item_selected_set(it, EINA_FALSE); - - Evas_Object *layout = create_layout(nf, jsonFiles[elm_genlist_item_index_get(it) - 1].c_str()); - elm_naviframe_item_push(nf, NULL, NULL, NULL, layout, NULL); -} - -static char * -_gl_text_get(void *data, Evas_Object */*obj*/, const char */*part*/) -{ - ItemData *id = (ItemData *) data; - const char *ptr = strrchr(jsonFiles[id->index].c_str(), '/'); - int len = int(ptr + 1 - jsonFiles[id->index].c_str()); // +1 to include '/' - return strdup(jsonFiles[id->index].substr(len).c_str()); -} - -static void -_gl_del(void */*data*/, Evas_Object */*obj*/) -{ -} - -EAPI_MAIN int -elm_main(int argc EINA_UNUSED, char **argv EINA_UNUSED) -{ - Evas_Object *win, *nf, *genlist; - Elm_Genlist_Item_Class *itc = elm_genlist_item_class_new(); - ItemData *itemData; - - - if (argc > 1) { - if (!strcmp(argv[1], "--disable-render")) - renderMode = false; - } - - //WIN - elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); - win = elm_win_util_standard_add("lottie", "LottieViewer"); - elm_win_autodel_set(win, EINA_TRUE); - evas_object_resize(win, 500, 700); - evas_object_show(win); - - //NAVIFRAME - nf = elm_naviframe_add(win); - evas_object_size_hint_weight_set(nf, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_win_resize_object_add(win, nf); - evas_object_show(nf); - - //GENLIST - genlist = elm_genlist_add(nf); - elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS); - evas_object_smart_callback_add(genlist, "selected", _gl_selected_cb, nf); - - itc->item_style = "default"; - itc->func.text_get = _gl_text_get; - itc->func.del = _gl_del; - - jsonFiles = EvasApp::jsonFiles(DEMO_DIR); - - for (uint i = 0; i < jsonFiles.size(); i++) { - itemData = (ItemData *)calloc(sizeof(ItemData), 1); - itemData->index = i; - elm_genlist_item_append(genlist, itc, (void *)itemData, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); - } - - elm_naviframe_item_push(nf, "Lottie Viewer", NULL, NULL, genlist, NULL); - - elm_run(); - - return 0; -} -ELM_MAIN() diff --git a/submodules/RLottie/Sources/rlottie/example/lottieviewtest.cpp b/submodules/RLottie/Sources/rlottie/example/lottieviewtest.cpp deleted file mode 100644 index 57cbc7197a..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/lottieviewtest.cpp +++ /dev/null @@ -1,127 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "evasapp.h" -#include "lottieview.h" -#include -#include -#include -using namespace std; - -/* - * To check the frame rate with rendermode off run - * ECORE_EVAS_FPS_DEBUG=1 ./lottieviewTest --disable-render - * - * To check the frame rate with render backend - * ECORE_EVAS_FPS_DEBUG=1 ./lottieviewTest - * - */ - -class LottieViewTest -{ -public: - LottieViewTest(EvasApp *app, Strategy st) { - mStrategy = st; - mApp = app; - } - - void show(int numberOfImage) { - auto resource = EvasApp::jsonFiles(std::string(DEMO_DIR)); - - if (resource.empty()) return; - - int count = numberOfImage; - int colums = (int) ceil(sqrt(count)); - int offset = 3; - int vw = (mApp->width() - (offset * colums))/colums; - int vh = vw; - int posx = offset; - int posy = offset; - int resourceSize = resource.size(); - for (int i = 0 ; i < numberOfImage; i++) { - int index = i % resourceSize; - std::unique_ptr view(new LottieView(mApp->evas(), mStrategy)); - view->setFilePath(resource[index].c_str()); - view->setPos(posx, posy); - view->setSize(vw, vh); - view->show(); - view->play(); - view->loop(true); - //view->setRepeatMode(LottieView::RepeatMode::Reverse); - posx += vw+offset; - if ((mApp->width() - posx) < vw) { - posx = offset; - posy = posy + vh + offset; - } - mViews.push_back(std::move(view)); - } - } - -public: - EvasApp *mApp; - Strategy mStrategy; - std::vector> mViews; -}; - -static void -onExitCb(void *data, void */*extra*/) -{ - LottieViewTest *view = (LottieViewTest *)data; - delete view; -} - -int -main(int argc, char **argv) -{ - if (argc > 1) { - if (!strcmp(argv[1],"--help") || !strcmp(argv[1],"-h")) { - printf("Usage ./lottieviewTest 1 \n"); - printf("\t 0 - Test Lottie SYNC Renderer with CPP API\n"); - printf("\t 1 - Test Lottie ASYNC Renderer with CPP API\n"); - printf("\t 2 - Test Lottie SYNC Renderer with C API\n"); - printf("\t 3 - Test Lottie ASYNC Renderer with C API\n"); - printf("\t 4 - Test Lottie Tree Api using Efl VG Render\n"); - printf("\t Default is ./lottieviewTest 1 \n"); - return 0; - } - } else { - printf("Run ./lottieviewTest -h for more option\n"); - } - - EvasApp *app = new EvasApp(800, 800); - app->setup(); - - Strategy st = Strategy::renderCppAsync; - if (argc > 1) { - int option = atoi(argv[1]); - st = static_cast(option); - } - LottieViewTest *view = new LottieViewTest(app, st); - view->show(250); - - app->addExitCb(onExitCb, view); - - app->run(); - delete app; - return 0; -} - - - - - diff --git a/submodules/RLottie/Sources/rlottie/example/meson.build b/submodules/RLottie/Sources/rlottie/example/meson.build deleted file mode 100644 index fb1d3c1c82..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/meson.build +++ /dev/null @@ -1,62 +0,0 @@ - -common_source = files('evasapp.cpp') -common_source += files('lottieview.cpp') - -demo_sources = files('demo.cpp') -demo_sources += common_source - -executable('lottie2gif', - 'lottie2gif.cpp', - include_directories : inc, - link_with : rlottie_lib) - -executable('vectorTest', - 'vectortest.cpp', - include_directories : inc, - dependencies : [library_deps]) - -demo_dep = dependency('elementary', required : false) - -if (demo_dep.found()) - executable('demo', - demo_sources, - include_directories : inc, - link_with : rlottie_lib, - dependencies : demo_dep) - - lottieview_test_src = files('lottieviewtest.cpp') - lottieview_test_src += common_source - - executable('lottieviewTest', - lottieview_test_src, - include_directories : inc, - link_with : rlottie_lib, - dependencies : demo_dep) - - uxsample_test_src = files('uxsampletest.cpp') - uxsample_test_src += common_source - - executable('uxsampleTest', - uxsample_test_src, - include_directories : inc, - link_with : rlottie_lib, - dependencies : demo_dep) - - lottieviewer_sources = files('lottieviewer.cpp') - lottieviewer_sources += common_source - - executable('lottieviewer', - lottieviewer_sources, - include_directories : inc, - link_with : rlottie_lib, - dependencies : demo_dep) - -if (meson.get_compiler('cpp').has_header('elementary-1/efl_ui_animation_view.h')) - executable('efl_animview', - 'efl_animview.cpp', - include_directories : inc, - link_with : rlottie_lib, - dependencies : demo_dep) -endif - -endif diff --git a/submodules/RLottie/Sources/rlottie/example/pathtest.cpp b/submodules/RLottie/Sources/rlottie/example/pathtest.cpp deleted file mode 100644 index 454f4b7649..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/pathtest.cpp +++ /dev/null @@ -1,126 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "evasapp.h" -#include"vpath.h" -#include -using namespace std; - -EvasApp *APP; - -static void -_on_resize(Ecore_Evas *ee) -{ - int w, h; - ecore_evas_geometry_get(ee, NULL, NULL, &w, &h); - APP->resize(w, h); -} - -class PathTest -{ -public: - PathTest(EvasApp *app) { - mApp = app; - mShape = evas_vg_shape_add(mApp->root()); - } - void setColor(int r, int g, int b, int a) { - evas_vg_node_color_set(mShape, r, g, b, a); - } - - void setStrokeColor(int r, int g, int b, int a) { - evas_vg_shape_stroke_color_set(mShape, r, g, b, a); - } - - void setStrokeWidth(int w) { - evas_vg_shape_stroke_width_set(mShape, w); - } - - void setPath(const VPath &path) { - Efl_VG *shape = mShape; - evas_vg_shape_reset(shape); - const std::vector &elm = path.elements(); - const std::vector &pts = path.points(); - int i=0; - for (auto e : elm) { - switch(e) { - case VPath::Element::MoveTo: - { - VPointF p = pts[i++]; - evas_vg_shape_append_move_to(shape, p.x(), p.y()); - break; - } - case VPath::Element::LineTo: - { - VPointF p = pts[i++]; - evas_vg_shape_append_line_to(shape, p.x(), p.y()); - break; - } - case VPath::Element::CubicTo: - { - VPointF p = pts[i++]; - VPointF p1 = pts[i++]; - VPointF p2 = pts[i++]; - evas_vg_shape_append_cubic_to(shape, p.x(), p.y(), p1.x(), p1.y(), p2.x(), p2.y()); - break; - } - case VPath::Element::Close: - { - evas_vg_shape_append_close(shape); - break; - } - } - } - } - -public: - EvasApp *mApp; - Efl_VG *mShape; -}; - -int -main(void) -{ - APP = new EvasApp(800, 800); - ecore_evas_callback_resize_set(APP->mEcoreEvas, _on_resize); - APP->setup(); - - VPath path; - path.addRoundRect(VRectF(100, 100, 200, 200), 20, 20, VPath::Direction::CCW); - path.addCircle(50, 50, 20, VPath::Direction::CCW); - - path.addOval(VRectF(300, 100, 100, 50), VPath::Direction::CCW); - - path.addPolystar(15.0, 106.0, 34.0, 0.0, 150, - 150, 231.0, 88.0, VPath::Direction::CW); - - PathTest test(APP); - test.setPath(path); - test.setColor(255, 0, 0, 255); - test.setStrokeColor(200, 200, 0, 200); - test.setStrokeWidth(5); - - - APP->run(); - delete APP; - return 0; -} - - - - - diff --git a/submodules/RLottie/Sources/rlottie/example/resource/1643-exploding-star.json b/submodules/RLottie/Sources/rlottie/example/resource/1643-exploding-star.json deleted file mode 100644 index badb8fd3f8..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/1643-exploding-star.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"4.12.0","fr":29.9700012207031,"ip":0,"op":60.0000024438501,"w":400,"h":400,"nm":"explodingStar","ddd":0,"assets":[{"id":"comp_29","layers":[{"ddd":0,"ind":1,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-19,"ix":10},"p":{"a":0,"k":[200.25,201.125,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[51.125,51.125,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[200,202.875,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[37.875,37.875,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[190,205.25,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[30.875,30.875,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[208.25,210.75,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[30.875,30.875,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[204.125,189.875,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[30.875,30.875,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[196.875,194.625,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[30.875,30.875,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[177.625,190.875,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[14.125,14.125,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[200.875,213.5,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[14.125,14.125,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[194.5,211.375,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[12.5,12.5,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[200.5,190.25,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[15,15,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[210.625,183.375,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[13.875,13.875,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[192.875,174.125,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[13.875,13.875,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[181,196,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[13.875,13.875,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[187.25,215.625,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[13.875,13.875,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":15,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[204.625,199.375,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[13.875,13.875,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":16,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[188.125,226.375,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[11.125,11.125,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":17,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[178.5,217.75,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[11.125,11.125,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":18,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[174.5,199.875,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[11.125,11.125,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":19,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[180.25,184.5,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[11.125,11.125,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":20,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[193.25,190.625,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[11.125,11.125,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":21,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[207.875,189.875,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[11.125,11.125,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":22,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[216,211.25,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[11.125,11.125,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":23,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[208.375,217,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[11.125,11.125,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":24,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[235.375,189.75,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[11.125,11.125,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":25,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[229.5,186,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[11.125,11.125,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":26,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[204,167.375,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[11.125,11.125,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":27,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[196.375,167.75,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[11.125,11.125,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":28,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":36,"ix":10},"p":{"a":0,"k":[200.125,156.75,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[7.5,7.75,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":29,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[225.375,235,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[7.5,7.75,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":30,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[175,234.375,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[7.5,7.75,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":31,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":17,"ix":10},"p":{"a":0,"k":[159.375,186.875,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[7.5,7.75,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":32,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":21,"ix":10},"p":{"a":0,"k":[240.875,186.75,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[7.5,7.75,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":33,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[231.75,195.125,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[10.125,10.125,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":34,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[222,212.5,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[10.125,10.125,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":35,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[205.75,223.75,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[10.125,10.125,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":36,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[181.875,216.25,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[10.125,10.125,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":37,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[185.125,190.25,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[10.125,10.125,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":38,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[200.25,159.75,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[10.125,10.125,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":39,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[182,207,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[15.375,15.375,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":40,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[208.5,209.75,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[15.375,15.375,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":41,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[218.125,186.625,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[15.375,15.375,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":42,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[191.75,180.875,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[15.375,15.375,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":43,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[195.125,220.5,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[15.375,15.375,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":44,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[179.875,227.375,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[15.375,15.375,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":45,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[220.125,198.25,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[21,21,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":46,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[218.375,224.875,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[19,19,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":47,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[204.5,177.875,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[19,19,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":48,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[192.75,202.5,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[19.875,19.875,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":49,"ty":0,"nm":"ronddiminue","refId":"comp_30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[171.375,190.625,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[19,19,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":150.000006109625,"st":0,"bm":0}]},{"id":"comp_30","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Calque de forme 5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.571,"y":0.93},"o":{"x":0.167,"y":0.167},"n":"0p571_0p93_0p167_0p167","t":0,"s":[100,100,0],"e":[100,69.985,0],"to":[0,-0.17251245677471,0],"ti":[0,9.91851329803467,0]},{"i":{"x":0.731,"y":1},"o":{"x":0.343,"y":0.505},"n":"0p731_1_0p343_0p505","t":3,"s":[100,69.985,0],"e":[100,40,0],"to":[0,-9.9765567779541,0],"ti":[0,0.03740864992142,0]},{"t":30.0000012219251}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.57,0.57,0.57],"y":[0.896,0.896,6.336]},"o":{"x":[0.194,0.194,0.194],"y":[0.038,0.038,-1.924]},"n":["0p57_0p896_0p194_0p038","0p57_0p896_0p194_0p038","0p57_6p336_0p194_-1p924"],"t":0,"s":[100,100,100],"e":[48.393,48.393,100]},{"i":{"x":[0.704,0.704,0.704],"y":[1,1,1]},"o":{"x":[0.328,0.328,0.328],"y":[0.781,0.781,-36.631]},"n":["0p704_1_0p328_0p781","0p704_1_0p328_0p781","0p704_1_0p328_-36p631"],"t":3,"s":[48.393,48.393,100],"e":[1,1,100]},{"t":30.0000012219251}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[21.4,0],[0,-21.4],[-21.4,0],[0,21.4]],"o":[[-21.4,0],[0,21.4],[21.4,0],[0,-21.4]],"v":[[0,-38.748],[-38.748,0],[0,38.748],[38.748,0]],"c":true},"ix":2},"nm":"Tracé 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.435294121504,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fond 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[130,130],"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":"Transformer "}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":31.0000012626559,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Calque de forme 4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.57,"y":0.93},"o":{"x":0.167,"y":0.167},"n":"0p57_0p93_0p167_0p167","t":0,"s":[100,100,0],"e":[130.638,100,0],"to":[3.4184627532959,0,0],"ti":[-8.54281234741211,0,0]},{"i":{"x":0.704,"y":1},"o":{"x":0.328,"y":0.504},"n":"0p704_1_0p328_0p504","t":3,"s":[130.638,100,0],"e":[160,100,0],"to":[8.11733150482178,0,0],"ti":[-3.24820375442505,0,0]},{"t":30.0000012219251}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.57,0.57,0.57],"y":[0.896,0.896,6.336]},"o":{"x":[0.194,0.194,0.194],"y":[0.038,0.038,-1.924]},"n":["0p57_0p896_0p194_0p038","0p57_0p896_0p194_0p038","0p57_6p336_0p194_-1p924"],"t":0,"s":[100,100,100],"e":[48.393,48.393,100]},{"i":{"x":[0.704,0.704,0.704],"y":[1,1,1]},"o":{"x":[0.328,0.328,0.328],"y":[0.781,0.781,-36.631]},"n":["0p704_1_0p328_0p781","0p704_1_0p328_0p781","0p704_1_0p328_-36p631"],"t":3,"s":[48.393,48.393,100],"e":[1,1,100]},{"t":30.0000012219251}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[21.4,0],[0,-21.4],[-21.4,0],[0,21.4]],"o":[[-21.4,0],[0,21.4],[21.4,0],[0,-21.4]],"v":[[0,-38.748],[-38.748,0],[0,38.748],[38.748,0]],"c":true},"ix":2},"nm":"Tracé 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.435294121504,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fond 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[130,130],"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":"Transformer "}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":31.0000012626559,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Calque de forme 3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.57,"y":0.93},"o":{"x":0.167,"y":0.167},"n":"0p57_0p93_0p167_0p167","t":0,"s":[100,100,0],"e":[100,130.638,0],"to":[0,3.4184627532959,0],"ti":[0,-8.54281234741211,0]},{"i":{"x":0.704,"y":1},"o":{"x":0.328,"y":0.504},"n":"0p704_1_0p328_0p504","t":3,"s":[100,130.638,0],"e":[100,160,0],"to":[0,8.11733150482178,0],"ti":[0,-3.24820375442505,0]},{"t":30.0000012219251}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.57,0.57,0.57],"y":[0.896,0.896,6.336]},"o":{"x":[0.194,0.194,0.194],"y":[0.038,0.038,-1.924]},"n":["0p57_0p896_0p194_0p038","0p57_0p896_0p194_0p038","0p57_6p336_0p194_-1p924"],"t":0,"s":[100,100,100],"e":[48.393,48.393,100]},{"i":{"x":[0.704,0.704,0.704],"y":[1,1,1]},"o":{"x":[0.328,0.328,0.328],"y":[0.781,0.781,-36.631]},"n":["0p704_1_0p328_0p781","0p704_1_0p328_0p781","0p704_1_0p328_-36p631"],"t":3,"s":[48.393,48.393,100],"e":[1,1,100]},{"t":30.0000012219251}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[21.4,0],[0,-21.4],[-21.4,0],[0,21.4]],"o":[[-21.4,0],[0,21.4],[21.4,0],[0,-21.4]],"v":[[0,-38.748],[-38.748,0],[0,38.748],[38.748,0]],"c":true},"ix":2},"nm":"Tracé 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.435294121504,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fond 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[130,130],"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":"Transformer "}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":31.0000012626559,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Calque de forme 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.57,"y":0.93},"o":{"x":0.167,"y":0.167},"n":"0p57_0p93_0p167_0p167","t":0,"s":[100,100,0],"e":[69.355,100,0],"to":[-3.41931676864624,0,0],"ti":[8.54487895965576,0,0]},{"i":{"x":0.704,"y":1},"o":{"x":0.328,"y":0.504},"n":"0p704_1_0p328_0p504","t":3,"s":[69.355,100,0],"e":[40,100,0],"to":[-8.11513328552246,0,0],"ti":[3.24734997749329,0,0]},{"t":30.0000012219251}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.57,0.57,0.57],"y":[0.896,0.896,6.336]},"o":{"x":[0.194,0.194,0.194],"y":[0.038,0.038,-1.924]},"n":["0p57_0p896_0p194_0p038","0p57_0p896_0p194_0p038","0p57_6p336_0p194_-1p924"],"t":0,"s":[100,100,100],"e":[48.393,48.393,100]},{"i":{"x":[0.704,0.704,0.704],"y":[1,1,1]},"o":{"x":[0.328,0.328,0.328],"y":[0.781,0.781,-36.631]},"n":["0p704_1_0p328_0p781","0p704_1_0p328_0p781","0p704_1_0p328_-36p631"],"t":3,"s":[48.393,48.393,100],"e":[1,1,100]},{"t":30.0000012219251}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[21.4,0],[0,-21.4],[-21.4,0],[0,21.4]],"o":[[-21.4,0],[0,21.4],[21.4,0],[0,-21.4]],"v":[[0,-38.748],[-38.748,0],[0,38.748],[38.748,0]],"c":true},"ix":2},"nm":"Tracé 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.435294121504,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fond 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[130,130],"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":"Transformer "}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":31.0000012626559,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"Précomp. 2","td":1,"refId":"comp_29","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[200,200,0],"ix":2},"a":{"a":0,"k":[200,200,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,50]},"n":["0p667_1_0p167_0p167","0p667_1_0p167_0p167","0p667_1_0p167_50"],"t":30,"s":[100,100,100],"e":[400,400,100]},{"t":60.0000024438501}],"ix":6}},"ao":0,"w":400,"h":400,"ip":30.0000012219251,"op":180.00000733155,"st":30.0000012219251,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Calque de forme 1","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[200,200,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[207.859,-205.404],[-207.859,-205.404],[-207.859,205.404],[207.859,205.404]],"c":true},"ix":2},"nm":"Tracé 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.709803938866,0.219607844949,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fond 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-1.141,0.404],"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":"Transformer "}],"nm":"Rectangle 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":30.0000012219251,"op":180.00000733155,"st":30.0000012219251,"bm":0},{"ddd":0,"ind":3,"ty":0,"nm":"Précomp. 2","refId":"comp_29","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[200,200,0],"ix":2},"a":{"a":0,"k":[200,200,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,49.858]},"n":["0p667_1_0p167_0p167","0p667_1_0p167_0p167","0p667_1_0p167_49p858"],"t":30,"s":[118,118,100],"e":[400,400,100]},{"t":60.0000024438501}],"ix":6}},"ao":0,"w":400,"h":400,"ip":30.0000012219251,"op":180.00000733155,"st":30.0000012219251,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"etoile Silhouettes","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[200,196,0],"ix":2},"a":{"a":0,"k":[400,400,0],"ix":1},"s":{"a":0,"k":[50,50,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[0.001,-77.997],[27.025,-28.974],[81.99,-18.413],[43.729,22.447],[50.673,77.997],[0.001,54.223],[-50.673,77.997],[-43.728,22.447],[-81.99,-18.413],[-27.025,-28.974]],"c":true},"ix":2},"nm":"Tracé 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.709999952129,0.219999994016,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fond 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[400.499,399.5],"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":"Transformer "}],"nm":"Groupe 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.154,0],[1.391,1.009],[-0.362,2.892],[0,0],[0,0],[-0.9,2.772],[-2.862,0.55],[0,0],[0,0],[-2.915,0],[-1.406,-2.553],[0,0],[0,0],[-0.9,-2.771],[1.993,-2.128],[0,0],[0,0],[2.36,-1.713],[1.66,0],[1.082,0.508],[0,0],[0,0]],"o":[[-1.661,0],[-2.358,-1.713],[0,0],[0,0],[-1.991,-2.127],[0.901,-2.771],[0,0],[0,0],[1.407,-2.553],[2.914,0],[0,0],[0,0],[2.862,0.55],[0.902,2.772],[0,0],[0,0],[0.363,2.89],[-1.39,1.009],[-1.156,0],[0,0],[0,0],[-1.082,0.508]],"v":[[-50.674,85.996],[-55.377,84.47],[-58.613,77.005],[-52.133,25.178],[-87.83,-12.944],[-89.599,-20.884],[-83.5,-26.268],[-32.221,-36.121],[-7.007,-81.858],[-0.001,-85.996],[7.005,-81.858],[32.218,-36.121],[83.499,-26.268],[89.597,-20.884],[87.829,-12.943],[52.13,25.178],[58.611,77.005],[55.374,84.47],[50.673,85.996],[47.275,85.238],[-0.001,63.06],[-47.278,85.238]],"c":true},"ix":2},"nm":"Tracé 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.435000002384,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fond 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[400.501,399.5],"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":"Transformer "}],"nm":"Groupe 2","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":32.0000013033867,"st":0,"bm":0}]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/1667-firework.json b/submodules/RLottie/Sources/rlottie/example/resource/1667-firework.json deleted file mode 100644 index 76eb2eaded..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/1667-firework.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"4.12.0","fr":29.9700012207031,"ip":0,"op":78.0000031770051,"w":800,"h":800,"nm":"feudartifis","ddd":0,"assets":[{"id":"comp_36","layers":[{"ddd":0,"ind":1,"ty":0,"nm":"dota2x6","refId":"comp_37","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":45,"ix":10},"p":{"a":0,"k":[520,520,0],"ix":2},"a":{"a":0,"k":[200,200,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":400,"h":400,"ip":34.0000013848484,"op":80.0000032584668,"st":34.0000013848484,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"dota2x6","refId":"comp_37","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":45,"ix":10},"p":{"a":0,"k":[300,520,0],"ix":2},"a":{"a":0,"k":[200,200,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":400,"h":400,"ip":34.0000013848484,"op":80.0000032584668,"st":34.0000013848484,"bm":0},{"ddd":0,"ind":3,"ty":0,"nm":"dota2x6","refId":"comp_37","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":45,"ix":10},"p":{"a":0,"k":[280,300,0],"ix":2},"a":{"a":0,"k":[200,200,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":400,"h":400,"ip":33.0000013441176,"op":80.0000032584668,"st":33.0000013441176,"bm":0},{"ddd":0,"ind":4,"ty":0,"nm":"dota2x6","refId":"comp_37","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":45,"ix":10},"p":{"a":0,"k":[480,280,0],"ix":2},"a":{"a":0,"k":[200,200,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":400,"h":400,"ip":32.0000013033867,"op":80.0000032584668,"st":32.0000013033867,"bm":0},{"ddd":0,"ind":5,"ty":0,"nm":"dota2x6","refId":"comp_37","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":45,"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[200,200,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":400,"h":400,"ip":31.0000012626559,"op":80.0000032584668,"st":31.0000012626559,"bm":0},{"ddd":0,"ind":6,"ty":0,"nm":"dota2x6","refId":"comp_37","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":45,"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[200,200,0],"ix":1},"s":{"a":0,"k":[134,134,100],"ix":6}},"ao":0,"w":400,"h":400,"ip":0,"op":80.0000032584668,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":0,"nm":"dota1x6","refId":"comp_39","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":30,"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[400,400,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":800,"h":800,"ip":1.00000004073083,"op":80.0000032584668,"st":1.00000004073083,"bm":0},{"ddd":0,"ind":8,"ty":0,"nm":"dota1x6","refId":"comp_39","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[400,400,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":800,"h":800,"ip":0,"op":80.0000032584668,"st":0,"bm":0}]},{"id":"comp_37","layers":[{"ddd":0,"ind":1,"ty":0,"nm":"dota2","refId":"comp_38","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":300,"ix":10},"p":{"a":0,"k":[200,200,0],"ix":2},"a":{"a":0,"k":[200,200,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":400,"h":400,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"dota2","refId":"comp_38","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":240,"ix":10},"p":{"a":0,"k":[200,200,0],"ix":2},"a":{"a":0,"k":[200,200,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":400,"h":400,"ip":1.00000004073083,"op":151.000006150356,"st":1.00000004073083,"bm":0},{"ddd":0,"ind":3,"ty":0,"nm":"dota2","refId":"comp_38","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":180,"ix":10},"p":{"a":0,"k":[200,200,0],"ix":2},"a":{"a":0,"k":[200,200,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":400,"h":400,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":0,"nm":"dota2","refId":"comp_38","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":120,"ix":10},"p":{"a":0,"k":[200,200,0],"ix":2},"a":{"a":0,"k":[200,200,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":400,"h":400,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":0,"nm":"dota2","refId":"comp_38","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":60,"ix":10},"p":{"a":0,"k":[200,200,0],"ix":2},"a":{"a":0,"k":[200,200,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":400,"h":400,"ip":1.00000004073083,"op":151.000006150356,"st":1.00000004073083,"bm":0},{"ddd":0,"ind":6,"ty":0,"nm":"dota2","refId":"comp_38","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[200,200,0],"ix":2},"a":{"a":0,"k":[200,200,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":400,"h":400,"ip":0,"op":150.000006109625,"st":0,"bm":0}]},{"id":"comp_38","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Calque de forme 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":0,"s":[200,200,0],"e":[200,100,0],"to":[0,-16.6666660308838,0],"ti":[0,16.6666660308838,0]},{"t":30.0000012219251}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[98,98,100],"ix":6}},"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},"n":"0p667_1_0p333_0","t":0,"s":[{"i":[[27.556,0],[0,-27.556],[-27.556,0],[0,27.556]],"o":[[-27.556,0],[0,27.556],[27.556,0],[0,-27.556]],"v":[[0,-49.895],[-49.895,0],[0,49.895],[49.895,0]],"c":true}],"e":[{"i":[[27.556,0],[0,-27.556],[-27.556,0],[0,27.556]],"o":[[-27.556,0],[0,27.556],[27.556,0],[0,-27.556]],"v":[[0,-304.996],[-49.895,-255.102],[0,49.895],[49.895,-255.102]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":10,"s":[{"i":[[27.556,0],[0,-27.556],[-27.556,0],[0,27.556]],"o":[[-27.556,0],[0,27.556],[27.556,0],[0,-27.556]],"v":[[0,-304.996],[-49.895,-255.102],[0,49.895],[49.895,-255.102]],"c":true}],"e":[{"i":[[27.556,0],[0,-27.556],[-27.556,0],[0,27.556]],"o":[[-27.556,0],[0,27.556],[27.556,0],[0,-27.556]],"v":[[0,-49.895],[-49.895,0],[0,49.895],[49.895,0]],"c":true}]},{"t":30.0000012219251}],"ix":2},"nm":"Tracé 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.435294121504,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fond 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":0,"s":[10,10],"e":[0,0]},{"t":30.0000012219251}],"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":"Transformer "}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":30.0000012219251,"st":0,"bm":0}]},{"id":"comp_39","layers":[{"ddd":0,"ind":1,"ty":0,"nm":"dota1","refId":"comp_40","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":300,"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[400,400,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":800,"h":800,"ip":1.00000004073083,"op":151.000006150356,"st":1.00000004073083,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"dota1","refId":"comp_40","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":240,"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[400,400,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":800,"h":800,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":0,"nm":"dota1","refId":"comp_40","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":180,"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[400,400,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":800,"h":800,"ip":1.00000004073083,"op":151.000006150356,"st":1.00000004073083,"bm":0},{"ddd":0,"ind":4,"ty":0,"nm":"dota1","refId":"comp_40","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":120,"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[400,400,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":800,"h":800,"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":0,"nm":"dota1","refId":"comp_40","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":60,"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[400,400,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":800,"h":800,"ip":1.00000004073083,"op":151.000006150356,"st":1.00000004073083,"bm":0},{"ddd":0,"ind":6,"ty":0,"nm":"dota1","refId":"comp_40","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[400,400,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":800,"h":800,"ip":0,"op":150.000006109625,"st":0,"bm":0}]},{"id":"comp_40","layers":[{"ddd":0,"ind":1,"ty":0,"nm":"dota2x6","refId":"comp_37","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":30,"s":[0],"e":[20]},{"t":60.0000024438501}],"ix":10},"p":{"a":0,"k":[400,110,0],"ix":2},"a":{"a":0,"k":[200,200,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":400,"h":400,"ip":30.0000012219251,"op":180.00000733155,"st":30.0000012219251,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Calque de forme 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":0,"s":[400,400,0],"e":[400,110,0],"to":[0,-48.3333320617676,0],"ti":[0,48.3333320617676,0]},{"t":30.0000012219251}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[98,98,100],"ix":6}},"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},"n":"0p667_1_0p333_0","t":0,"s":[{"i":[[27.556,0],[0,-27.556],[-27.556,0],[0,27.556]],"o":[[-27.556,0],[0,27.556],[27.556,0],[0,-27.556]],"v":[[0,-49.895],[-49.895,0],[0,49.895],[49.895,0]],"c":true}],"e":[{"i":[[27.556,0],[0,-27.556],[-27.556,0],[0,27.556]],"o":[[-27.556,0],[0,27.556],[27.556,0],[0,-27.556]],"v":[[0,-407.037],[-49.895,-357.143],[0,49.895],[49.895,-357.143]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":6,"s":[{"i":[[27.556,0],[0,-27.556],[-27.556,0],[0,27.556]],"o":[[-27.556,0],[0,27.556],[27.556,0],[0,-27.556]],"v":[[0,-407.037],[-49.895,-357.143],[0,49.895],[49.895,-357.143]],"c":true}],"e":[{"i":[[27.556,0],[0,-27.556],[-27.556,0],[0,27.556]],"o":[[-27.556,0],[0,27.556],[27.556,0],[0,-27.556]],"v":[[0,-49.895],[-49.895,0],[0,49.895],[49.895,0]],"c":true}]},{"t":30.0000012219251}],"ix":2},"nm":"Tracé 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.709803938866,0.219607844949,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fond 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[10,10],"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":"Transformer "}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":30.0000012219251,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"feudar Précomp. 5","refId":"comp_36","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[400,400,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,-0.498]},"n":["0p667_1_0p167_0p167","0p667_1_0p167_0p167","0p667_1_0p167_-0p498"],"t":0,"s":[52,52,100],"e":[100,100,100]},{"t":31.0000012626559}],"ix":6}},"ao":0,"w":800,"h":800,"ip":0,"op":120.0000048877,"st":0,"bm":0}]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/360º_degree.json b/submodules/RLottie/Sources/rlottie/example/resource/360º_degree.json deleted file mode 100644 index 810b9a592c..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/360º_degree.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.1.13","fr":30,"ip":0,"op":76,"w":1024,"h":1024,"nm":"Comp 1","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"360º Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[390.977,552.004,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[4.703,3.281],[8.276,0],[4.43,-1.239],[4.229,-2.916],[0,0],[-5.105,0],[-1.623,-1.02],[0,-2.114],[10.973,0],[0,0],[0,0],[0,0],[-2.516,-0.602],[-1.13,-1.184],[0,-2.188],[2.169,-1.33],[4.739,0],[3.627,0.857],[3.5,1.787],[0,0],[-3.664,-0.62],[-4.302,0],[-5.888,4.266],[0,7.438],[13.344,1.677],[0,0],[-3.027,3.555],[0,4.959]],"o":[[-4.703,-3.281],[-5.724,0],[-4.43,1.24],[0,0],[5.469,-3.427],[2.734,0],[1.622,1.021],[0,5.615],[0,0],[0,0],[0,0],[4.047,0],[2.516,0.602],[1.13,1.185],[0,2.844],[-2.17,1.331],[-3.062,0],[-3.628,-0.856],[0,0],[4.266,1.641],[3.664,0.62],[10.463,0],[5.887,-4.266],[0,-10.938],[0,0],[5.723,-1.604],[3.026,-3.555],[0,-5.76]],"v":[[51.625,-76.18],[32.156,-81.102],[16.926,-79.242],[3.938,-73.008],[12.906,-58.57],[28.766,-63.711],[35.301,-62.18],[37.734,-57.477],[21.273,-49.055],[16.242,-49.055],[16.242,-32.812],[21.164,-32.812],[31.008,-31.91],[36.477,-29.23],[38.172,-24.172],[34.918,-17.91],[24.555,-15.914],[14.52,-17.199],[3.828,-21.164],[3.828,-3.227],[15.723,0.164],[27.672,1.094],[52.199,-5.305],[61.031,-22.859],[41.016,-41.781],[41.016,-42.109],[54.141,-49.848],[58.68,-62.617]],"c":true},"ix":2},"nm":"3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.439220024558,0.439220024558,0.439220024558,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"3","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.323,-6.125],[-9.443,0],[-4.959,5.086],[0,8.787],[3.919,4.576],[7.109,0],[3.281,-6.198],[0,0],[-3.537,3.172],[-7.219,0],[-3.646,-0.692],[0,0],[3.245,0],[6.216,-3.281],[3.19,-6.909],[0,-11.156]],"o":[[5.323,6.125],[8.895,0],[4.958,-5.086],[0,-8.166],[-3.92,-4.575],[-7.255,0],[0,0],[0.328,-7.182],[3.536,-3.172],[4.266,0],[0,0],[-4.339,-0.62],[-9.115,0],[-6.216,3.281],[-3.191,6.909],[0,11.011]],"v":[[77.438,-8.094],[99.586,1.094],[120.367,-6.535],[127.805,-27.344],[121.926,-46.457],[105.383,-53.32],[89.578,-44.023],[88.922,-44.023],[94.719,-59.555],[110.852,-64.312],[122.719,-63.273],[122.719,-80.172],[111.344,-81.102],[88.348,-76.18],[74.238,-60.895],[69.453,-33.797]],"c":true},"ix":2},"nm":"6","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[1.495,2.242],[0,3.5],[-1.55,1.677],[-2.48,0],[0,-6.489],[1.44,-1.731],[2.297,0]],"o":[[-1.495,-2.242],[0,-2.406],[1.549,-1.677],[5.031,0],[0,3.792],[-1.441,1.732],[-2.443,0]],"v":[[93.188,-19.387],[90.945,-28],[93.27,-34.125],[99.312,-36.641],[106.859,-26.906],[104.699,-18.621],[99.094,-16.023]],"c":true},"ix":2},"nm":"6","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.439220024558,0.439220024558,0.439220024558,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"6","np":5,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[4.867,6.909],[9.516,0],[4.739,-6.635],[0,-14.219],[-4.849,-6.872],[-9.552,0],[-4.74,6.581],[0,14.146]],"o":[[-4.867,-6.909],[-9.771,0],[-4.74,6.636],[0,13.562],[4.848,6.873],[9.77,0],[4.739,-6.58],[0,-13.672]],"v":[[185.637,-70.738],[164.062,-81.102],[142.297,-71.148],[135.188,-39.867],[142.461,-9.215],[164.062,1.094],[185.828,-8.777],[192.938,-39.867]],"c":true},"ix":2},"nm":"0","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-1.13,3.427],[-2.662,0],[-1.13,-3.555],[0,-8.859],[1.112,-3.5],[2.698,0],[1.13,3.391],[0,9.042]],"o":[[1.13,-3.427],[2.661,0],[1.13,3.555],[0,8.823],[-1.113,3.5],[-2.662,0],[-1.13,-3.391],[0,-9.114]],"v":[[158.375,-58.68],[164.062,-63.82],[169.75,-58.488],[171.445,-39.867],[169.777,-21.383],[164.062,-16.133],[158.375,-21.219],[156.68,-39.867]],"c":true},"ix":2},"nm":"0","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.439220024558,0.439220024558,0.439220024558,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"0","np":5,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[3.573,3.755],[5.723,0],[3.445,-3.609],[0,-6.453],[-3.482,-3.737],[-5.797,0],[-3.482,3.664],[0,6.344]],"o":[[-3.573,-3.755],[-6.016,0],[-3.445,3.609],[0,6.198],[3.481,3.738],[6.052,0],[3.481,-3.664],[0,-6.161]],"v":[[232.859,-75.25],[218.914,-80.883],[204.723,-75.469],[199.555,-60.375],[204.777,-45.473],[218.695,-39.867],[232.996,-45.363],[238.219,-60.375]],"c":true},"ix":2},"nm":"º","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-3.646,0],[0,-6.344],[3.609,0],[0.875,1.55],[0,3.172]],"o":[[3.609,0],[0,6.271],[-1.896,0],[-0.875,-1.549],[0,-6.344]],"v":[[218.805,-69.891],[224.219,-60.375],[218.805,-50.969],[214.648,-53.293],[213.336,-60.375]],"c":true},"ix":2},"nm":"º","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.439220024558,0.439220024558,0.439220024558,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"º","np":5,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":350,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Verti","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":0,"s":[0],"e":[360]},{"t":60}],"ix":10},"p":{"a":0,"k":[512,512,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"n":["0p833_0p833_0p333_0","0p833_1_0p333_0"],"t":0,"s":[310,512],"e":[1,512]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":15,"s":[1,512],"e":[310,512]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":30,"s":[310,512],"e":[512,512]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0]},"n":["0p667_1_0p167_0p167","0p667_1_0p167_0"],"t":45,"s":[512,512],"e":[310,512]},{"t":60}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.439215686275,0.439215686275,0.439215686275,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":20,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":0,"op":350,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Hori","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":0,"s":[0],"e":[360]},{"t":60}],"ix":10},"p":{"a":0,"k":[512,512,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[1,0.833]},"o":{"x":[0.333,0.333],"y":[0,0]},"n":["0p833_1_0p333_0","0p833_0p833_0p333_0"],"t":0,"s":[512,310],"e":[512,512]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":15,"s":[512,512],"e":[512,310]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":30,"s":[512,310],"e":[512,1]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0,0.167]},"n":["0p667_1_0p167_0","0p667_1_0p167_0p167"],"t":45,"s":[512,1],"e":[512,310]},{"t":60}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.439215686275,0.439215686275,0.439215686275,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":20,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":0,"op":350,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Main","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[512,512,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[512,512],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.439215686275,0.439215686275,0.439215686275,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":20,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":0,"op":350,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/3d.json b/submodules/RLottie/Sources/rlottie/example/resource/3d.json deleted file mode 100644 index a5babf8bc6..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/3d.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.2.1","fr":60,"ip":0,"op":60,"w":500,"h":500,"nm":"Comp 1","ddd":1,"assets":[],"layers":[{"ddd":1,"ind":1,"ty":4,"nm":"Shape Layer 3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"rx":{"a":0,"k":0,"ix":8},"ry":{"a":0,"k":0,"ix":9},"rz":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[360]},{"t":55}],"ix":10},"or":{"a":0,"k":[0,0,0],"ix":7},"p":{"a":0,"k":[75,384,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[100,100],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.075893886387,0.175385013223,0.921568632126,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":60,"st":0,"bm":0},{"ddd":1,"ind":2,"ty":4,"nm":"Shape Layer 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"rx":{"a":0,"k":0,"ix":8},"ry":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[360]},{"t":55}],"ix":9},"rz":{"a":0,"k":0,"ix":10},"or":{"a":0,"k":[0,0,0],"ix":7},"p":{"a":0,"k":[76,234,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[100,100],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.025943866,0.945098042488,0.134079754353,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":60,"st":0,"bm":0},{"ddd":1,"ind":3,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"rx":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[360]},{"t":55}],"ix":8},"ry":{"a":0,"k":0,"ix":9},"rz":{"a":0,"k":0,"ix":10},"or":{"a":0,"k":[0,0,0],"ix":7},"p":{"a":0,"k":[76,72,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[100,100],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":60,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/4479-fireworks.json b/submodules/RLottie/Sources/rlottie/example/resource/4479-fireworks.json deleted file mode 100644 index f76b61deda..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/4479-fireworks.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.3.4","fr":29,"ip":0,"op":117,"w":800,"h":800,"nm":"Comp 1","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":7,"ty":4,"nm":"Shape Layer 10","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.5],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p5_1_0p167_0p167"],"t":0,"s":[0],"e":[100]},{"i":{"x":[0.5],"y":[1]},"o":{"x":[0.5],"y":[0]},"n":["0p5_1_0p5_0"],"t":49,"s":[100],"e":[2]},{"t":69}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[535,755,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.5,1,0.833],"y":[1,1,1]},"o":{"x":[0.5,0,0.167],"y":[0,0,0]},"n":["0p5_1_0p5_0","1_1_0_0","0p833_1_0p167_0"],"t":49,"s":[96.254,-1.205,100],"e":[96.254,-159.205,100]},{"i":{"x":[0.5,1,0.833],"y":[1,1,1]},"o":{"x":[0.5,0,0.167],"y":[0,0,0]},"n":["0p5_1_0p5_0","1_1_0_0","0p833_1_0p167_0"],"t":67,"s":[96.254,-159.205,100],"e":[96.254,-152.205,100]},{"t":72}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[18.695,41.477],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":20,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.60784295774,0.321568986481,0.921568986481,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.345098039216,0.851361083984,0.909803921569,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-4.652,214.738],"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":"Rectangle 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":580,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"Shape Layer 9","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.5],"y":[1]},"o":{"x":[0.5],"y":[0]},"n":["0p5_1_0p5_0"],"t":21,"s":[0],"e":[100]},{"i":{"x":[0.5],"y":[1]},"o":{"x":[0.5],"y":[0]},"n":["0p5_1_0p5_0"],"t":63,"s":[100],"e":[2]},{"t":83}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[261,733,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.5,1,0.833],"y":[1,1,1]},"o":{"x":[0.5,0,0.167],"y":[0,0,0]},"n":["0p5_1_0p5_0","1_1_0_0","0p833_1_0p167_0"],"t":63,"s":[96.254,-1.205,100],"e":[96.254,-159.205,100]},{"i":{"x":[0.5,1,0.833],"y":[1,1,1]},"o":{"x":[0.5,0,0.167],"y":[0,0,0]},"n":["0p5_1_0p5_0","1_1_0_0","0p833_1_0p167_0"],"t":81,"s":[96.254,-159.205,100],"e":[96.254,-152.205,100]},{"t":86}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[18.695,41.477],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":20,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.60784295774,0.321568986481,0.921568986481,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.345098039216,0.851361083984,0.909803921569,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-4.652,214.738],"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":"Rectangle 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":580,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"Shape Layer 8","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.5],"y":[1]},"o":{"x":[0.5],"y":[0]},"n":["0p5_1_0p5_0"],"t":0,"s":[0],"e":[100]},{"i":{"x":[0.5],"y":[1]},"o":{"x":[0.5],"y":[0]},"n":["0p5_1_0p5_0"],"t":26,"s":[100],"e":[2]},{"t":46}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[415,717,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.5,1,0.833],"y":[1,1,1]},"o":{"x":[0.5,0,0.167],"y":[0,0,0]},"n":["0p5_1_0p5_0","1_1_0_0","0p833_1_0p167_0"],"t":26,"s":[96.254,-1.205,100],"e":[96.254,-159.205,100]},{"i":{"x":[0.5,1,0.833],"y":[1,1,1]},"o":{"x":[0.5,0,0.167],"y":[0,0,0]},"n":["0p5_1_0p5_0","1_1_0_0","0p833_1_0p167_0"],"t":44,"s":[96.254,-159.205,100],"e":[96.254,-152.205,100]},{"t":49}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[18.695,41.477],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":20,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.60784295774,0.321568986481,0.921568986481,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.345098039216,0.851361083984,0.909803921569,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-4.652,214.738],"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":"Rectangle 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":580,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"Shape Layer 7","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[264,408,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0.3,0.3],"y":[1,1]},"o":{"x":[0.7,0.7],"y":[0,0]},"n":["0p3_1_0p7_0","0p3_1_0p7_0"],"t":78,"s":[20,0],"e":[0,60]},{"t":97}],"ix":2},"p":{"a":0,"k":[0,-51],"ix":3},"r":{"a":0,"k":20,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.124487452209,0.808345139027,0.834175884724,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.187980338931,0.750694930553,0.863511025906,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.456,"y":1},"o":{"x":0.178,"y":0.339},"n":"0p456_1_0p178_0p339","t":77,"s":[2.992,13.768],"e":[0,-154],"to":[0.40790435671806,-12.2535486221313],"ti":[-0.18578809499741,5.58112049102783]},{"t":119}],"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":"Rectangle 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"rp","c":{"a":0,"k":13,"ix":1},"o":{"a":0,"k":0,"ix":2},"m":1,"ix":2,"tr":{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":27.692,"ix":4},"so":{"a":1,"k":[{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.6],"y":[0]},"n":["0p4_1_0p6_0"],"t":72,"s":[10],"e":[100]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":97,"s":[100],"e":[0]},{"t":104}],"ix":5},"eo":{"a":1,"k":[{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.6],"y":[0]},"n":["0p833_1_0p6_0"],"t":72,"s":[13],"e":[100]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":97,"s":[100],"e":[0]},{"t":104}],"ix":6},"nm":"Transform"},"nm":"Repeater 1","mn":"ADBE Vector Filter - Repeater","hd":false}],"ip":68,"op":554,"st":-26,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"Shape Layer 6","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[264,408,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0.3,0.3],"y":[1,1]},"o":{"x":[0.7,0.7],"y":[0,0]},"n":["0p3_1_0p7_0","0p3_1_0p7_0"],"t":85,"s":[20,0],"e":[0,60]},{"t":104}],"ix":2},"p":{"a":0,"k":[0,-51],"ix":3},"r":{"a":0,"k":20,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.607843137255,0.321568627451,0.921568627451,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.603921568627,0.345098039216,0.909803921569,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.456,"y":1},"o":{"x":0.178,"y":0.121},"n":"0p456_1_0p178_0p121","t":87,"s":[2.992,13.768],"e":[0,-154],"to":[0.40790435671806,-12.2535486221313],"ti":[-0.18578809499741,5.58112049102783]},{"t":102}],"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":"Rectangle 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"rp","c":{"a":0,"k":13,"ix":1},"o":{"a":0,"k":0,"ix":2},"m":1,"ix":2,"tr":{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":27.692,"ix":4},"so":{"a":1,"k":[{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.6],"y":[0]},"n":["0p4_1_0p6_0"],"t":87,"s":[10],"e":[100]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":97,"s":[100],"e":[0]},{"t":105}],"ix":5},"eo":{"a":1,"k":[{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.6],"y":[0]},"n":["0p4_1_0p6_0"],"t":87,"s":[13],"e":[99]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":97,"s":[99],"e":[1]},{"t":105}],"ix":6},"nm":"Transform"},"nm":"Repeater 1","mn":"ADBE Vector Filter - Repeater","hd":false}],"ip":68,"op":554,"st":-26,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"Shape Layer 5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[528,424,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0.3,0.3],"y":[1,1]},"o":{"x":[0.7,0.7],"y":[0,0]},"n":["0p3_1_0p7_0","0p3_1_0p7_0"],"t":64,"s":[20,0],"e":[0,60]},{"t":83}],"ix":2},"p":{"a":0,"k":[0,-51],"ix":3},"r":{"a":0,"k":20,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.124487452209,0.808345139027,0.834175884724,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.187980338931,0.750694930553,0.863511025906,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.456,"y":1},"o":{"x":0.178,"y":0.339},"n":"0p456_1_0p178_0p339","t":63,"s":[2.992,13.768],"e":[0,-154],"to":[0.40790435671806,-12.2535486221313],"ti":[-0.18578809499741,5.58112049102783]},{"t":105}],"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":"Rectangle 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"rp","c":{"a":0,"k":13,"ix":1},"o":{"a":0,"k":0,"ix":2},"m":1,"ix":2,"tr":{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":27.692,"ix":4},"so":{"a":1,"k":[{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.6],"y":[0]},"n":["0p4_1_0p6_0"],"t":58,"s":[10],"e":[100]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":83,"s":[100],"e":[0]},{"t":90}],"ix":5},"eo":{"a":1,"k":[{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.6],"y":[0]},"n":["0p833_1_0p6_0"],"t":58,"s":[13],"e":[100]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":83,"s":[100],"e":[0]},{"t":90}],"ix":6},"nm":"Transform"},"nm":"Repeater 1","mn":"ADBE Vector Filter - Repeater","hd":false}],"ip":54,"op":540,"st":-40,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"Shape Layer 4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[528,424,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0.3,0.3],"y":[1,1]},"o":{"x":[0.7,0.7],"y":[0,0]},"n":["0p3_1_0p7_0","0p3_1_0p7_0"],"t":71,"s":[20,0],"e":[0,60]},{"t":90}],"ix":2},"p":{"a":0,"k":[0,-51],"ix":3},"r":{"a":0,"k":20,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.607843137255,0.321568627451,0.921568627451,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.603921568627,0.345098039216,0.909803921569,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.456,"y":1},"o":{"x":0.178,"y":0.121},"n":"0p456_1_0p178_0p121","t":73,"s":[2.992,13.768],"e":[0,-154],"to":[0.40790435671806,-12.2535486221313],"ti":[-0.18578809499741,5.58112049102783]},{"t":88}],"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":"Rectangle 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"rp","c":{"a":0,"k":13,"ix":1},"o":{"a":0,"k":0,"ix":2},"m":1,"ix":2,"tr":{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":27.692,"ix":4},"so":{"a":1,"k":[{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.6],"y":[0]},"n":["0p4_1_0p6_0"],"t":73,"s":[10],"e":[100]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":83,"s":[100],"e":[0]},{"t":91}],"ix":5},"eo":{"a":1,"k":[{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.6],"y":[0]},"n":["0p4_1_0p6_0"],"t":73,"s":[13],"e":[99]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":83,"s":[99],"e":[1]},{"t":91}],"ix":6},"nm":"Transform"},"nm":"Repeater 1","mn":"ADBE Vector Filter - Repeater","hd":false}],"ip":54,"op":540,"st":-40,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[404,302,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0.3,0.3],"y":[1,1]},"o":{"x":[0.7,0.7],"y":[0,0]},"n":["0p3_1_0p7_0","0p3_1_0p7_0"],"t":48,"s":[20,0],"e":[0,60]},{"t":67}],"ix":2},"p":{"a":0,"k":[0,-51],"ix":3},"r":{"a":0,"k":20,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.124487452209,0.808345139027,0.834175884724,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.187980338931,0.750694930553,0.863511025906,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.456,"y":1},"o":{"x":0.178,"y":0.339},"n":"0p456_1_0p178_0p339","t":47,"s":[2.992,13.768],"e":[0,-154],"to":[0.40790435671806,-12.2535486221313],"ti":[-0.18578809499741,5.58112049102783]},{"t":89}],"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":"Rectangle 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"rp","c":{"a":0,"k":13,"ix":1},"o":{"a":0,"k":0,"ix":2},"m":1,"ix":2,"tr":{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":27.692,"ix":4},"so":{"a":1,"k":[{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.6],"y":[0]},"n":["0p4_1_0p6_0"],"t":42,"s":[10],"e":[100]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":67,"s":[100],"e":[0]},{"t":74}],"ix":5},"eo":{"a":1,"k":[{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.6],"y":[0]},"n":["0p833_1_0p6_0"],"t":42,"s":[13],"e":[100]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":67,"s":[100],"e":[0]},{"t":74}],"ix":6},"nm":"Transform"},"nm":"Repeater 1","mn":"ADBE Vector Filter - Repeater","hd":false}],"ip":38,"op":524,"st":-56,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":"Shape Layer 3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[404,302,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0.3,0.3],"y":[1,1]},"o":{"x":[0.7,0.7],"y":[0,0]},"n":["0p3_1_0p7_0","0p3_1_0p7_0"],"t":55,"s":[20,0],"e":[0,60]},{"t":74}],"ix":2},"p":{"a":0,"k":[0,-51],"ix":3},"r":{"a":0,"k":20,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.607843137255,0.321568627451,0.921568627451,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.603921568627,0.345098039216,0.909803921569,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.456,"y":1},"o":{"x":0.178,"y":0.121},"n":"0p456_1_0p178_0p121","t":57,"s":[2.992,13.768],"e":[0,-154],"to":[0.40790435671806,-12.2535486221313],"ti":[-0.18578809499741,5.58112049102783]},{"t":72}],"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":"Rectangle 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"rp","c":{"a":0,"k":13,"ix":1},"o":{"a":0,"k":0,"ix":2},"m":1,"ix":2,"tr":{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":27.692,"ix":4},"so":{"a":1,"k":[{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.6],"y":[0]},"n":["0p4_1_0p6_0"],"t":57,"s":[10],"e":[100]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":67,"s":[100],"e":[0]},{"t":75}],"ix":5},"eo":{"a":1,"k":[{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.6],"y":[0]},"n":["0p4_1_0p6_0"],"t":57,"s":[13],"e":[99]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":67,"s":[99],"e":[1]},{"t":75}],"ix":6},"nm":"Transform"},"nm":"Repeater 1","mn":"ADBE Vector Filter - Repeater","hd":false}],"ip":38,"op":524,"st":-56,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/5317-fireworkds.json b/submodules/RLottie/Sources/rlottie/example/resource/5317-fireworkds.json deleted file mode 100644 index 6b02a1f7d7..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/5317-fireworkds.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"4.13.0","fr":30,"ip":0,"op":150,"w":720,"h":1280,"nm":"portWin","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":15,"ix":10},"p":{"a":0,"k":[568,319.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.057,0.057,0.667],"y":[1,1,1]},"o":{"x":[0,0,0.333],"y":[0,0,0]},"n":["0p057_1_0_0","0p057_1_0_0","0p667_1_0p333_0"],"t":9,"s":[0,0,100],"e":[100,100,100]},{"t":33}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"sr","sy":2,"d":1,"pt":{"a":0,"k":3,"ix":3},"p":{"a":1,"k":[{"i":{"x":0.194,"y":1},"o":{"x":0.054,"y":0},"n":"0p194_1_0p054_0","t":9,"s":[0,0],"e":[0,300],"to":[0,50],"ti":[0,-50]},{"t":33}],"ix":4},"r":{"a":0,"k":0,"ix":5},"or":{"a":0,"k":100,"ix":7},"os":{"a":0,"k":0,"ix":9},"ix":1,"nm":"Polystar Path 1","mn":"ADBE Vector Shape - Star","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.194,0.431],"y":[1,1]},"o":{"x":[0.054,0.057],"y":[0,0]},"n":["0p194_1_0p054_0","0p431_1_0p057_0"],"t":9,"s":[50,0],"e":[0,100]},{"t":33}],"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":"Polystar 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"rp","c":{"a":0,"k":12,"ix":1},"o":{"a":0,"k":0,"ix":2},"m":1,"ix":2,"tr":{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":30,"ix":4},"so":{"a":0,"k":100,"ix":5},"eo":{"a":0,"k":100,"ix":6},"nm":"Transform"},"nm":"Repeater 1","mn":"ADBE Vector Filter - Repeater","hd":false}],"ip":9,"op":34.5,"st":9,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":7.5,"ix":10},"p":{"a":0,"k":[568,319.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.057,0.057,0.667],"y":[1,1,1]},"o":{"x":[0,0,0.333],"y":[0,0,0]},"n":["0p057_1_0_0","0p057_1_0_0","0p667_1_0p333_0"],"t":9,"s":[0,0,100],"e":[100,100,100]},{"t":30}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"sr","sy":2,"d":1,"pt":{"a":0,"k":3,"ix":3},"p":{"a":1,"k":[{"i":{"x":0.194,"y":1},"o":{"x":0.054,"y":0},"n":"0p194_1_0p054_0","t":9,"s":[0,0],"e":[0,300],"to":[0,50],"ti":[0,-50]},{"t":30}],"ix":4},"r":{"a":0,"k":0,"ix":5},"or":{"a":0,"k":100,"ix":7},"os":{"a":0,"k":0,"ix":9},"ix":1,"nm":"Polystar Path 1","mn":"ADBE Vector Shape - Star","hd":false},{"ty":"fl","c":{"a":0,"k":[0.981387867647,0.886240581438,0.30961525113,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.194,0.431],"y":[1,1]},"o":{"x":[0.054,0.057],"y":[0,0]},"n":["0p194_1_0p054_0","0p431_1_0p057_0"],"t":9,"s":[50,0],"e":[0,100]},{"t":30}],"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":"Polystar 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"rp","c":{"a":0,"k":24,"ix":1},"o":{"a":0,"k":0,"ix":2},"m":1,"ix":2,"tr":{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":15,"ix":4},"so":{"a":0,"k":100,"ix":5},"eo":{"a":0,"k":100,"ix":6},"nm":"Transform"},"nm":"Repeater 1","mn":"ADBE Vector Filter - Repeater","hd":false}],"ip":7.5,"op":31.5,"st":7.5,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[568,319.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.057,0.057,0.667],"y":[1,1,1]},"o":{"x":[0,0,0.333],"y":[0,0,0]},"n":["0p057_1_0_0","0p057_1_0_0","0p667_1_0p333_0"],"t":6,"s":[0,0,100],"e":[100,100,100]},{"t":27}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"sr","sy":2,"d":1,"pt":{"a":0,"k":3,"ix":3},"p":{"a":1,"k":[{"i":{"x":0.194,"y":1},"o":{"x":0.054,"y":0},"n":"0p194_1_0p054_0","t":6,"s":[0,0],"e":[0,300],"to":[0,50],"ti":[0,-50]},{"t":27}],"ix":4},"r":{"a":0,"k":0,"ix":5},"or":{"a":0,"k":100,"ix":7},"os":{"a":0,"k":0,"ix":9},"ix":1,"nm":"Polystar Path 1","mn":"ADBE Vector Shape - Star","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.497633421655,0.16718751496,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.194,0.431],"y":[1,1]},"o":{"x":[0.054,0.057],"y":[0,0]},"n":["0p194_1_0p054_0","0p431_1_0p057_0"],"t":6,"s":[50,0],"e":[0,100]},{"t":27}],"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":"Polystar 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"rp","c":{"a":0,"k":12,"ix":1},"o":{"a":0,"k":0,"ix":2},"m":1,"ix":2,"tr":{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":30,"ix":4},"so":{"a":0,"k":100,"ix":5},"eo":{"a":0,"k":100,"ix":6},"nm":"Transform"},"nm":"Repeater 1","mn":"ADBE Vector Filter - Repeater","hd":false}],"ip":6,"op":28.5,"st":6,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Shape Layer 4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[568,319.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[1,0.95],"y":[1,1]},"o":{"x":[0.71,0.333],"y":[0,0]},"n":["1_1_0p71_0","0p95_1_0p333_0"],"t":0,"s":[4,0],"e":[435,4]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.02,0.087],"y":[0,0]},"n":["0_1_0p02_0","0_1_0p087_0"],"t":7.5,"s":[435,4],"e":[0,3]},{"t":12}],"ix":2},"p":{"a":1,"k":[{"i":{"x":1,"y":1},"o":{"x":0.71,"y":0},"n":"1_1_0p71_0","t":0,"s":[-568,0],"e":[-283,0],"to":[47.5,0],"ti":[-94.6666641235352,0]},{"i":{"x":0,"y":1},"o":{"x":0.02,"y":0},"n":"0_1_0p02_0","t":7.5,"s":[-283,0],"e":[0,0],"to":[94.6666641235352,0],"ti":[-47.1666679382324,0]},{"t":12}],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.615883501838,0.36321997549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Rectangle 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":54,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"Fireworks","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-62.525,"ix":10},"p":{"a":0,"k":[153.272,612.543,0],"ix":2},"a":{"a":0,"k":[568,319.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":1136,"h":639,"ip":26,"op":80,"st":26,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"Fireworks","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-82.434,"ix":10},"p":{"a":0,"k":[315.416,300.741,0],"ix":2},"a":{"a":0,"k":[568,319.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":1136,"h":639,"ip":17,"op":71,"st":17,"bm":0},{"ddd":0,"ind":3,"ty":0,"nm":"Fireworks","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-108.396,"ix":10},"p":{"a":0,"k":[564.728,513.82,0],"ix":2},"a":{"a":0,"k":[568,319.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":1136,"h":639,"ip":8,"op":62,"st":8,"bm":0},{"ddd":0,"ind":4,"ty":0,"nm":"Fireworks","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-119.562,"ix":10},"p":{"a":0,"k":[360,640,0],"ix":2},"a":{"a":0,"k":[568,319.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":1136,"h":639,"ip":0,"op":54,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":0,"nm":"Fireworks","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-105.393,"ix":10},"p":{"a":0,"k":[253.284,768.545,0],"ix":2},"a":{"a":0,"k":[568,319.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":1136,"h":639,"ip":98,"op":152,"st":98,"bm":0},{"ddd":0,"ind":6,"ty":0,"nm":"Fireworks","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-125.303,"ix":10},"p":{"a":0,"k":[415.429,456.742,0],"ix":2},"a":{"a":0,"k":[568,319.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":1136,"h":639,"ip":89,"op":143,"st":89,"bm":0},{"ddd":0,"ind":7,"ty":0,"nm":"Fireworks","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-151.264,"ix":10},"p":{"a":0,"k":[664.741,669.822,0],"ix":2},"a":{"a":0,"k":[568,319.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":1136,"h":639,"ip":80,"op":134,"st":80,"bm":0},{"ddd":0,"ind":8,"ty":0,"nm":"Fireworks","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-162.431,"ix":10},"p":{"a":0,"k":[460.013,796.002,0],"ix":2},"a":{"a":0,"k":[568,319.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":1136,"h":639,"ip":72,"op":126,"st":72,"bm":0}]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/5344-honey-sack-hud.json b/submodules/RLottie/Sources/rlottie/example/resource/5344-honey-sack-hud.json deleted file mode 100644 index 8eedfc96f4..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/5344-honey-sack-hud.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.2.1","fr":29.9700012207031,"ip":4.00000016292334,"op":35.0000014255792,"w":420,"h":420,"nm":"Cred points_Bg Pattern_Anim","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 70","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.251,8.5]],"o":[[-0.246,-8.5],[0,0]],"v":[[97,165.5],[96,131.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":39,"s":[2],"e":[0.5]},{"t":48.0000019550801}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":1,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":22.775,"s":[100],"e":[0]},{"t":46.0000018736184}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":10,"s":[100],"e":[0]},{"t":33.225001353282}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 69","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0]],"o":[[0,0]],"v":[[209,99.25]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 2","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[6.167,2.833]],"o":[[-6.25,2.667],[0,0],[0,0]],"v":[[206.25,82.25],[187.5,90.25],[169,81.75]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":39,"s":[2],"e":[0.5]},{"t":48.0000019550801}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":1,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":22.775,"s":[100],"e":[0]},{"t":46.0000018736184}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":10,"s":[100],"e":[0]},{"t":33.225001353282}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":4,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 68","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[4.562,2.128]],"o":[[-4.565,-2.117],[0,0]],"v":[[187,173],[168.75,164.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":39,"s":[2],"e":[0.5]},{"t":48.0000019550801}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":1,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":22.775,"s":[100],"e":[0]},{"t":46.0000018736184}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":10,"s":[100],"e":[0]},{"t":33.225001353282}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Shape Layer 67","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[6.167,3]],"o":[[-5.333,-2.833],[0,0],[0,0],[0,0]],"v":[[149.5,172.5],[133.5,164],[133,132.5],[114.5,123.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":39,"s":[2],"e":[0.5]},{"t":48.0000019550801}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":1,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":22.775,"s":[100],"e":[0]},{"t":46.0000018736184}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":10,"s":[100],"e":[0]},{"t":33.225001353282}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Shape Layer 66","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[4.499,-2.252]],"o":[[-4.502,2.243],[0,0]],"v":[[187,-204],[169,-195]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":39,"s":[2],"e":[0.5]},{"t":48.0000019550801}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":1,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":22.775,"s":[100],"e":[0]},{"t":46.0000018736184}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":10,"s":[100],"e":[0]},{"t":33.225001353282}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Shape Layer 65","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0.25,10.917],[0,0],[0,0]],"v":[[151.25,-236],[152,-203.25],[131,-194.25]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":39,"s":[2],"e":[0.5]},{"t":48.0000019550801}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":1,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":22.775,"s":[100],"e":[0]},{"t":46.0000018736184}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":10,"s":[100],"e":[0]},{"t":33.225001353282}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Shape Layer 64","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.127,-8]],"o":[[0.12,8],[0,0]],"v":[[41,-235],[41.5,-203]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":39,"s":[2],"e":[0.5]},{"t":48.0000019550801}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":1,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":22.775,"s":[100],"e":[0]},{"t":46.0000018736184}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":10,"s":[100],"e":[0]},{"t":33.225001353282}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"Shape Layer 63","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-4.999,-3.252]],"o":[[5.002,3.245],[0,0]],"v":[[-215,-208],[-195,-195]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":39,"s":[2],"e":[0.5]},{"t":48.0000019550801}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":1,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":22.775,"s":[100],"e":[0]},{"t":46.0000018736184}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":10,"s":[100],"e":[0]},{"t":33.225001353282}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"Shape Layer 62","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[5.667,-2.667]],"o":[[-5.333,-2.333],[0,0],[0,0]],"v":[[221,-155],[205,-162],[188,-154]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":39,"s":[2],"e":[0.5]},{"t":48.0000019550801}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":1,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":22.775,"s":[100],"e":[0]},{"t":46.0000018736184}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":10,"s":[100],"e":[0]},{"t":33.225001353282}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"Shape Layer 61","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,11]],"o":[[-6.167,-2.833],[0,0],[0,0]],"v":[[205.5,50],[187,41.5],[187,8.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":39,"s":[2],"e":[0.5]},{"t":48.0000019550801}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":1,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":22.775,"s":[100],"e":[0]},{"t":46.0000018736184}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":10,"s":[100],"e":[0]},{"t":33.225001353282}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"Shape Layer 60","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-5.333,3]],"o":[[5.333,-3],[0,0],[0,0],[0,0]],"v":[[-193,132],[-177,123],[-157,133],[-141,124]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":39,"s":[2],"e":[0.5]},{"t":48.0000019550801}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":1,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":22.775,"s":[100],"e":[0]},{"t":46.0000018736184}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":10,"s":[100],"e":[0]},{"t":33.225001353282}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"Shape Layer 59","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,11.167]],"o":[[0,-10.833],[0,0],[0,0],[0,0]],"v":[[-105,206],[-105,173.5],[-86.5,165],[-86.5,131.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":39,"s":[2],"e":[0.5]},{"t":48.0000019550801}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":1,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":22.775,"s":[100],"e":[0]},{"t":46.0000018736184}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":10,"s":[100],"e":[0]},{"t":33.225001353282}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"Shape Layer 58","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,11.167]],"o":[[0,-10.833],[0,0],[0,0],[0,0]],"v":[[77,205.5],[77,173],[60,164.5],[60,131]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":39,"s":[2],"e":[0.5]},{"t":48.0000019550801}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":1,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":22.775,"s":[100],"e":[0]},{"t":46.0000018736184}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":10,"s":[100],"e":[0]},{"t":33.225001353282}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"Shape Layer 57","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.126,8]],"o":[[-0.121,-8],[0,0]],"v":[[-30,206],[-30.5,174]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":39,"s":[2],"e":[0.5]},{"t":48.0000019550801}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":1,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":22.775,"s":[100],"e":[0]},{"t":46.0000018736184}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":10,"s":[100],"e":[0]},{"t":33.225001353282}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":"Shape Layer 56","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[4.691,2.222]],"o":[[-4.926,-2.333],[0,0]],"v":[[-140.5,-71.5],[-159.5,-80.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":39,"s":[2],"e":[0.5]},{"t":48.0000019550801}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":1,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":22.775,"s":[100],"e":[0]},{"t":46.0000018736184}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":10,"s":[100],"e":[0]},{"t":33.225001353282}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":"Shape Layer 55","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-4.999,2.248]],"o":[[5.002,-2.255],[0,0]],"v":[[-198,-29],[-178,-38]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":39,"s":[2],"e":[0.5]},{"t":48.0000019550801}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":1,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":22.775,"s":[100],"e":[0]},{"t":46.0000018736184}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":10,"s":[100],"e":[0]},{"t":33.225001353282}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":"Shape Layer 54","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-0.333,10.833]],"o":[[6,3.5],[0,0],[0,0],[0,0]],"v":[[-213.5,39],[-195.5,49.5],[-177.5,41.5],[-176.5,9]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":39,"s":[2],"e":[0.5]},{"t":48.0000019550801}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":1,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":22.775,"s":[100],"e":[0]},{"t":46.0000018736184}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":10,"s":[100],"e":[0]},{"t":33.225001353282}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":"Shape Layer 53","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0]],"o":[[0,0]],"v":[[-177.5,-40]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 2","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.247,7.531]],"o":[[-0.259,-7.907],[0,0]],"v":[[-123,0],[-124,-30.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":39,"s":[2],"e":[0.5]},{"t":48.0000019550801}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":1,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":22.775,"s":[100],"e":[0]},{"t":46.0000018736184}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":10,"s":[100],"e":[0]},{"t":33.225001353282}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":4,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":19,"ty":4,"nm":"Shape Layer 50","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[5.667,2.667]],"o":[[0,-10.5],[0,0],[0,0],[0,0],[0,0]],"v":[[150.5,122.5],[150.5,91],[132.5,83],[114.5,91],[97.5,83]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[2],"e":[0.5]},{"t":44.0000017921567}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":20,"ty":4,"nm":"Shape Layer 49","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.333,9.5]],"o":[[4.167,-1.667],[0,0],[0,0]],"v":[[48,87.5],[60.5,82.5],[59.5,54]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[2],"e":[0.5]},{"t":44.0000017921567}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":21,"ty":4,"nm":"Shape Layer 48","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,11]],"o":[[0,-10.167],[0,0],[0,0],[0,0]],"v":[[77,122],[77,91.5],[96.5,82.5],[96.5,49.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[2],"e":[0.5]},{"t":44.0000017921567}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":22,"ty":4,"nm":"Shape Layer 47","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[5.333,-3]],"o":[[-6.667,2.667],[0,0],[0,0],[0,0]],"v":[[187,-122],[167,-114],[151,-124],[135,-115]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[2],"e":[0.5]},{"t":44.0000017921567}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":23,"ty":4,"nm":"Shape Layer 45","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,-10.333]],"o":[[0,10.667],[0,0],[0,0],[0,0]],"v":[[96,-194],[96,-162],[78,-153],[78,-122]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[2],"e":[0.5]},{"t":44.0000017921567}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 2","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":24,"ty":4,"nm":"Shape Layer 43","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,11]],"o":[[-5.667,-2.833],[0,0],[0,0],[0,0],[0,0]],"v":[[204.5,-32.5],[187.5,-41],[168.5,-31.5],[150.5,-40],[150.5,-73]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[2],"e":[0.5]},{"t":44.0000017921567}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 2","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":25,"ty":4,"nm":"Shape Layer 41","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-4.691,2.346]],"o":[[4.926,-2.463],[0,0]],"v":[[22,50],[41,40.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[2],"e":[0.5]},{"t":44.0000017921567}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":26,"ty":4,"nm":"Shape Layer 40","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[6.167,3.333]],"o":[[-0.167,-10.667],[0,0],[0,0]],"v":[[41.5,124],[41,92],[22.5,82]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[2],"e":[0.5]},{"t":44.0000017921567}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":27,"ty":4,"nm":"Shape Layer 36","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.167,10.333]],"o":[[-5.667,-3.167],[0,0],[0,0]],"v":[[150.5,9.5],[133.5,0],[133,-31]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[2],"e":[0.5]},{"t":44.0000017921567}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":28,"ty":4,"nm":"Shape Layer 34","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[5.333,2.167]],"o":[[-6.333,-2.667],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[187.5,-72.5],[168.5,-80.5],[151,-72],[132.5,-81.5],[131.5,-113],[115.5,-119.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":34,"s":[2],"e":[0.5]},{"t":43.0000017514259}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":17.775,"s":[100],"e":[0]},{"t":41.0000016699642}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":5,"s":[100],"e":[0]},{"t":28.2250011496278}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":-1.00000004073083,"op":299.00001217852,"st":-1.00000004073083,"bm":0},{"ddd":0,"ind":29,"ty":4,"nm":"Shape Layer 33","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,-10.667]],"o":[[-0.167,10],[0,0],[0,0],[0,0]],"v":[[78.5,-233.5],[78,-203.5],[60.5,-195.5],[60.5,-163.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":34,"s":[2],"e":[0.5]},{"t":43.0000017514259}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":30,"ty":4,"nm":"Shape Layer 32","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,10.167]],"o":[[-5.167,3.5],[0,0],[0,0],[0,0]],"v":[[149.5,-41.5],[134,-31],[115,-40.5],[115,-71]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":34,"s":[2],"e":[0.5]},{"t":43.0000017514259}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":31,"ty":4,"nm":"Shape Layer 24","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,-10.167]],"o":[[-5.667,3],[0,0],[0,0]],"v":[[168.5,1],[151.5,10],[151.5,40.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[2],"e":[0.5]},{"t":44.0000017921567}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":32,"ty":4,"nm":"Shape Layer 22","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[6,3.333]],"o":[[-6.167,3.167],[0,0],[0,0]],"v":[[169.5,-163],[151,-153.5],[133,-163.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[2],"e":[0.5]},{"t":44.0000017921567}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":33,"ty":4,"nm":"Shape Layer 21","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[6.667,-2.667]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[132.5,-194],[133,-162.5],[114,-153],[115,-120.5],[95,-112.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[2],"e":[0.5]},{"t":44.0000017921567}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":34,"ty":4,"nm":"Shape Layer 20","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,10.5]],"o":[[-6.333,-2.833],[0,0],[0,0]],"v":[[60,49],[41,40.5],[41,9]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[2],"e":[0.5]},{"t":44.0000017921567}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":35,"ty":4,"nm":"Shape Layer 17","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[4.44,2.18]],"o":[[-4.437,-2.19],[0,0]],"v":[[40.5,-72.5],[22.75,-81.25]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[2],"e":[0.5]},{"t":44.0000017921567}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":36,"ty":4,"nm":"Shape Layer 16","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[6.333,-2.5]],"o":[[-6.333,-3],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[170,50],[151,41],[132.5,51],[114.5,42],[114.5,9.5],[96,1.5],[77,9]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[2],"e":[0.5]},{"t":44.0000017921567}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":37,"ty":4,"nm":"Shape Layer 12","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[4.63,2.127]],"o":[[-4.61,-2.118],[0,0]],"v":[[59,-32],[40.5,-40.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[2],"e":[0.5]},{"t":44.0000017921567}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 2","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":38,"ty":4,"nm":"Shape Layer 11","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[6,2.667]],"o":[[-0.167,-10.833],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[23.5,165],[23,132.5],[4.5,123],[6,90],[23,82],[23,50.5],[5.5,42],[4.5,9],[-13.5,1]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[2],"e":[0.5]},{"t":44.0000017921567}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":39,"ty":4,"nm":"Shape Layer 9","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.167,-10.667]],"o":[[-5.833,3.167],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[132,-81.5],[114.5,-72],[96,-80.5],[95,-113],[77.5,-121],[59,-113],[59.5,-81]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[2],"e":[0.5]},{"t":44.0000017921567}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":40,"ty":4,"nm":"Shape Layer 8","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0]],"o":[[0,0]],"v":[[78,-72]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[2],"e":[0.5]},{"t":44.0000017921567}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 2","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[6,-2.833]],"o":[[0.167,11.667],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[22.5,-197],[23,-162],[4,-154],[5,-122],[-14,-113.5],[-13.5,-82],[-31.5,-73.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[2],"e":[0.5]},{"t":44.0000017921567}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":41,"ty":4,"nm":"Shape Layer 5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[5.833,2.5]],"o":[[-6.667,2.667],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[115,-40.5],[95,-32.5],[78.5,-40],[78.5,-71.5],[59,-81],[40.5,-72],[40.5,-40.5],[22,-32.5],[4.5,-40]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[2],"e":[0.5]},{"t":44.0000017921567}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":42,"ty":4,"nm":"Shape Layer 3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,-10.667]],"o":[[-6,-2.833],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[78.5,-154.5],[60.5,-163],[41.5,-154],[41,-122.5],[23,-114],[23,-81.5],[4.5,-73],[4.5,-41]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[2],"e":[0.5]},{"t":44.0000017921567}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":43,"ty":4,"nm":"Shape Layer 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[255,210,0],"ix":2},"a":{"a":0,"k":[5,-40,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[6,2.833]],"o":[[-6,-2.917],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[78,90],[60,81.25],[60,49.5],[78.25,40.25],[77.5,9.25],[59.5,0],[41,8.75],[22.5,0.5],[22.5,-32.25],[4.5,-40.75]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[2],"e":[0.5]},{"t":44.0000017921567}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":44,"ty":4,"nm":"Shape Layer 52","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[249,250.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-6,3]],"o":[[6.5,3.167],[0,0],[0,0]],"v":[[-178,-204],[-158.5,-194.5],[-140.5,-203.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[2],"e":[0.5]},{"t":44.0000017921567}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":1,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":45,"ty":4,"nm":"Shape Layer 51","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[249,250.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,-11]],"o":[[0,10.833],[0,0],[0,0],[0,0]],"v":[[-67.5,-235.5],[-67.5,-203],[-49.5,-195],[-49.5,-162]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[2],"e":[0.5]},{"t":44.0000017921567}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":46,"ty":4,"nm":"Shape Layer 46","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[249,250.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[5.667,-3],[0,0],[0,0],[0,0]],"v":[[-176,9],[-159,0],[-141,8],[-141,41]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[2],"e":[0.5]},{"t":44.0000017921567}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":47,"ty":4,"nm":"Shape Layer 44","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[249,250.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-5,1.667]],"o":[[6,-2.333],[0,0],[0,0],[0,0]],"v":[[-141,90],[-123,83],[-123,49],[-108,44]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[2],"e":[0.5]},{"t":44.0000017921567}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 2","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":48,"ty":4,"nm":"Shape Layer 42","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[249,250.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-4.506,-2.562]],"o":[[4.482,2.565],[0,0]],"v":[[-122,-163],[-104,-152.75]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[2],"e":[0.5]},{"t":44.0000017921567}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":49,"ty":4,"nm":"Shape Layer 39","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[249,250.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,-7.654]],"o":[[0,8.037],[0,0]],"v":[[-68.5,-153.5],[-68.5,-122.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[2],"e":[0.5]},{"t":44.0000017921567}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":50,"ty":4,"nm":"Shape Layer 38","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[249,250.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.252,8.75]],"o":[[-0.245,-8.75],[0,0]],"v":[[-32,125],[-33,90]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[2],"e":[0.5]},{"t":44.0000017921567}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":51,"ty":4,"nm":"Shape Layer 37","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[249,250.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[-5.5,-2.5]],"o":[[5.5,2.833],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-12.5,-244],[4,-235.5],[5.5,-204.5],[-13.5,-196],[-12.5,-162],[4,-154.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[2],"e":[0.5]},{"t":44.0000017921567}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":52,"ty":4,"nm":"Shape Layer 35","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[249,250.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,-11.167]],"o":[[6.667,3],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-196.5,-163],[-176.5,-154],[-160,-162.5],[-142,-155.5],[-141,-121.5],[-123,-114.5],[-121.5,-80.5],[-141.5,-72.5],[-141.5,-39]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[2],"e":[0.5]},{"t":44.0000017921567}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":17.775,"s":[100],"e":[0]},{"t":41.0000016699642}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":5,"s":[100],"e":[0]},{"t":28.2250011496278}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 2","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":53,"ty":4,"nm":"Shape Layer 31","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[249,250.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-4.568,-1.852]],"o":[[4.796,1.944],[0,0]],"v":[[-31.5,-121.5],[-13,-114]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":34,"s":[2],"e":[0.5]},{"t":43.0000017514259}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":54,"ty":4,"nm":"Shape Layer 30","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[249,250.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,8.272]],"o":[[0,-8.685],[0,0]],"v":[[95.5,1],[95.5,-32.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":34,"s":[2],"e":[0.5]},{"t":43.0000017514259}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":55,"ty":4,"nm":"Shape Layer 29","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[249,250.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,7.901]],"o":[[0,-8.296],[0,0]],"v":[[-50,0.5],[-50,-31.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":34,"s":[2],"e":[0.5]},{"t":43.0000017514259}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":56,"ty":4,"nm":"Shape Layer 28","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[249,250.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[6,3]],"o":[[0,-10.333],[0,0],[0,0]],"v":[[-50,81.5],[-50,50.5],[-68,41.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":34,"s":[2],"e":[0.5]},{"t":43.0000017514259}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":57,"ty":4,"nm":"Shape Layer 27","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[249,250.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[4.624,2.128]],"o":[[-4.627,-2.117],[0,0]],"v":[[-67.5,90.75],[-86,82.25]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[2],"e":[0.5]},{"t":44.0000017921567}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":58,"ty":4,"nm":"Shape Layer 26","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[249,250.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-6.167,2.667]],"o":[[5.667,-2.5],[0,0],[0,0],[0,0]],"v":[[-122,131],[-105,123.5],[-86,132],[-67.5,124]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":59,"ty":4,"nm":"Shape Layer 25","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[249,250.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-6,3.167]],"o":[[0,-10.667],[0,0],[0,0]],"v":[[-13.5,165],[-13.5,133],[4.5,123.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[2],"e":[0.5]},{"t":44.0000017921567}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":60,"ty":4,"nm":"Shape Layer 19","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[249,250.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-6,-2.667]],"o":[[0.167,10.833],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-141.5,-236],[-141,-203.5],[-123,-193.5],[-104,-203],[-86.5,-195],[-86.5,-162],[-104.5,-152.5],[-104.5,-121],[-86.5,-113]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[2],"e":[0.5]},{"t":44.0000017921567}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":61,"ty":4,"nm":"Shape Layer 18","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[249,250.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-4.752,2.493]],"o":[[4.749,-2.502],[0,0]],"v":[[-87,-31],[-68,-41]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[2],"e":[0.5]},{"t":44.0000017921567}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":62,"ty":4,"nm":"Shape Layer 15","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[249,250.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-5.833,2.833]],"o":[[6,-2.75],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-195.75,-113.75],[-177.75,-122],[-158.75,-112.75],[-159.25,-80.75],[-178.25,-72.5],[-176.5,-39],[-158.5,-31.5],[-140.5,-39.5],[-123,-31.5],[-105.5,-40]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[2],"e":[0.5]},{"t":44.0000017921567}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":63,"ty":4,"nm":"Shape Layer 14","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[249,250.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[-6,-3]],"o":[[6,2.667],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-159.5,1],[-141.5,9],[-122.5,-0.5],[-105,9],[-105,41],[-87,50]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[2],"e":[0.5]},{"t":44.0000017921567}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":64,"ty":4,"nm":"Shape Layer 13","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[249,250.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.167,10.667]],"o":[[0,-11],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-49.5,165.5],[-49.5,132.5],[-67.5,124],[-67.5,91],[-50,82],[-31.5,91.5],[-13,82],[-14,50.5],[-32.5,41.5],[-32,9.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[2],"e":[0.5]},{"t":44.0000017921567}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":65,"ty":4,"nm":"Shape Layer 10","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[249,251,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[-6,2.833]],"o":[[6,2.667],[0,0],[0,0],[0,0],[0,0]],"v":[[-86.25,-80.75],[-68.25,-72.75],[-68,-40.5],[-50,-32],[-32,-40.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[2],"e":[0.5]},{"t":44.0000017921567}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":66,"ty":4,"nm":"Shape Layer 7","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[249,250.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0.333,10],[0,0],[0,0],[0,0],[0,0]],"v":[[-50.5,-192],[-49.5,-162],[-31.5,-154],[-32,-122],[-48.5,-114]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[2],"e":[0.5]},{"t":44.0000017921567}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":67,"ty":4,"nm":"Shape Layer 6","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[249,250.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,10.5]],"o":[[6.083,-3],[0,0],[0,0],[0,0],[0,0]],"v":[[-105,8.75],[-86.75,-0.25],[-86.75,-31.75],[-105.5,-41],[-105.5,-72.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[2],"e":[0.5]},{"t":44.0000017921567}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":68,"ty":4,"nm":"Shape Layer 4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[249,250.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-5.833,-2.833]],"o":[[5.833,2.833],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-122.5,-81],[-105,-72.5],[-86,-81],[-86.5,-113],[-68.5,-123],[-50,-113.5],[-50,-81],[-32,-74],[-32,-41],[-14.5,-32.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[2],"e":[0.5]},{"t":44.0000017921567}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":69,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[254.5,210,0],"ix":2},"a":{"a":0,"k":[5.5,-40.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-18,8.5]],"o":[[0,-6.333],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-105.5,110],[-105.5,91],[-86.5,81.5],[-87,49.5],[-68,41.5],[-67,8.5],[-49.5,0],[-32,9],[-13.5,0],[-13.5,-32.5],[4.5,-41]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.172549019608,0.862745157878,0.737254901961,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[2],"e":[0.5]},{"t":44.0000017921567}],"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":18.775,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":29.2250011903587}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"pattern 12","refId":"comp_0","sr":0.8,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[207,250.75,0],"ix":2},"a":{"a":0,"k":[250,250,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":0,"k":{"i":[[112.666,0],[0,-112.666],[-112.666,0],[0,112.666]],"o":[[-112.666,0],[0,112.666],[112.666,0],[0,-112.666]],"v":[[253.926,5.082],[49.926,209.082],[253.926,413.082],[457.926,209.082]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"w":500,"h":500,"ip":0,"op":240.0000097754,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/Indicators1.json b/submodules/RLottie/Sources/rlottie/example/resource/Indicators1.json deleted file mode 100644 index 742c48bc0f..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/Indicators1.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"4.6.9","fr":29.9700012207031,"ip":0,"op":427.000017392067,"w":800,"h":600,"nm":"Indicators 1","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 1","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"n":"0p833_0p833_1_0","t":0,"s":[325.441,300.5,0],"e":[350.147,300.5,0],"to":[4.11765050888062,0,0],"ti":[-8.34681701660156,0,0]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"n":"0_1_0p167_0p167","t":20,"s":[350.147,300.5,0],"e":[375.522,300.5,0],"to":[8.34681701660156,0,0],"ti":[-4.22916650772095,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":45,"s":[375.522,300.5,0],"e":[375.522,300.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"n":"0p833_0p833_1_0","t":65,"s":[375.522,300.5,0],"e":[400.772,300.5,0],"to":[4.20833349227905,0,0],"ti":[-8.33333301544189,0,0]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"n":"0_1_0p167_0p167","t":85,"s":[400.772,300.5,0],"e":[425.522,300.5,0],"to":[8.33333301544189,0,0],"ti":[-4.125,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":110,"s":[425.522,300.5,0],"e":[425.522,300.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"n":"0p833_0p833_1_0","t":130,"s":[425.522,300.5,0],"e":[450.853,300.5,0],"to":[4.22176122665405,0,0],"ti":[-8.33941173553467,0,0]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"n":"0_1_0p167_0p167","t":150,"s":[450.853,300.5,0],"e":[475.559,300.5,0],"to":[8.33941173553467,0,0],"ti":[-4.11765050888062,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":175,"s":[475.559,300.5,0],"e":[475.559,300.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"n":"0p833_0p833_1_0","t":195,"s":[475.559,300.5,0],"e":[450.853,300.5,0],"to":[-4.11765050888062,0,0],"ti":[8.32598400115967,0,0]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"n":"0_1_0p167_0p167","t":215,"s":[450.853,300.5,0],"e":[425.603,300.5,0],"to":[-8.32598400115967,0,0],"ti":[4.20833349227905,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":240,"s":[425.603,300.5,0],"e":[425.603,300.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"n":"0p833_0p833_1_0","t":260,"s":[425.603,300.5,0],"e":[400.228,300.5,0],"to":[-4.22916650772095,0,0],"ti":[8.34375,0,0]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"n":"0_1_0p167_0p167","t":280,"s":[400.228,300.5,0],"e":[375.54,300.5,0],"to":[-8.34375,0,0],"ti":[4.11458349227905,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":305,"s":[375.54,300.5,0],"e":[375.54,300.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"n":"0p833_0p833_1_0","t":325,"s":[375.54,300.5,0],"e":[350.147,300.5,0],"to":[-4.232177734375,0,0],"ti":[8.34982776641846,0,0]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"n":"0_1_0p167_0p167","t":345,"s":[350.147,300.5,0],"e":[325.441,300.5,0],"to":[-8.34982776641846,0,0],"ti":[4.11765050888062,0,0]},{"t":370.000015070409}]},"a":{"a":0,"k":[0,0,0]},"s":{"a":0,"k":[100,100,100]}},"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":1,"y":0},"n":"0p833_0p833_1_0","t":0,"s":[{"i":[[6.875,0],[0,0],[0,6.875],[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0]],"o":[[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0],[6.875,0],[0,0],[0,6.875]],"v":[[0,12.5],[0,12.5],[-12.5,0],[-12.5,0],[0,-12.5],[0,-12.5],[12.5,0],[12.5,0]],"c":true}],"e":[{"i":[[6.875,0],[0,0],[0,6.875],[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0]],"o":[[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0],[6.875,0],[0,0],[0,6.875]],"v":[[24.706,12.5],[-24.706,12.5],[-37.206,0],[-37.206,0],[-24.706,-12.5],[24.706,-12.5],[37.206,0],[37.206,0]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"n":"0_1_0p167_0p167","t":20,"s":[{"i":[[6.875,0],[0,0],[0,6.875],[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0]],"o":[[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0],[6.875,0],[0,0],[0,6.875]],"v":[[24.706,12.5],[-24.706,12.5],[-37.206,0],[-37.206,0],[-24.706,-12.5],[24.706,-12.5],[37.206,0],[37.206,0]],"c":true}],"e":[{"i":[[6.875,0],[0,0],[0,6.875],[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0]],"o":[[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0],[6.875,0],[0,0],[0,6.875]],"v":[[0,12.5],[0,12.5],[-12.5,0],[-12.5,0],[0,-12.5],[0,-12.5],[12.5,0],[12.5,0]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":45,"s":[{"i":[[6.875,0],[0,0],[0,6.875],[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0]],"o":[[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0],[6.875,0],[0,0],[0,6.875]],"v":[[0,12.5],[0,12.5],[-12.5,0],[-12.5,0],[0,-12.5],[0,-12.5],[12.5,0],[12.5,0]],"c":true}],"e":[{"i":[[6.875,0],[0,0],[0,6.875],[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0]],"o":[[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0],[6.875,0],[0,0],[0,6.875]],"v":[[0,12.5],[0,12.5],[-12.5,0],[-12.5,0],[0,-12.5],[0,-12.5],[12.5,0],[12.5,0]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"n":"0p833_0p833_1_0","t":65,"s":[{"i":[[6.875,0],[0,0],[0,6.875],[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0]],"o":[[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0],[6.875,0],[0,0],[0,6.875]],"v":[[0,12.5],[0,12.5],[-12.5,0],[-12.5,0],[0,-12.5],[0,-12.5],[12.5,0],[12.5,0]],"c":true}],"e":[{"i":[[6.875,0],[0,0],[0,6.875],[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0]],"o":[[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0],[6.875,0],[0,0],[0,6.875]],"v":[[24.706,12.5],[-24.706,12.5],[-37.206,0],[-37.206,0],[-24.706,-12.5],[24.706,-12.5],[37.206,0],[37.206,0]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"n":"0_1_0p167_0p167","t":85,"s":[{"i":[[6.875,0],[0,0],[0,6.875],[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0]],"o":[[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0],[6.875,0],[0,0],[0,6.875]],"v":[[24.706,12.5],[-24.706,12.5],[-37.206,0],[-37.206,0],[-24.706,-12.5],[24.706,-12.5],[37.206,0],[37.206,0]],"c":true}],"e":[{"i":[[6.875,0],[0,0],[0,6.875],[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0]],"o":[[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0],[6.875,0],[0,0],[0,6.875]],"v":[[0,12.5],[0,12.5],[-12.5,0],[-12.5,0],[0,-12.5],[0,-12.5],[12.5,0],[12.5,0]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":110,"s":[{"i":[[6.875,0],[0,0],[0,6.875],[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0]],"o":[[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0],[6.875,0],[0,0],[0,6.875]],"v":[[0,12.5],[0,12.5],[-12.5,0],[-12.5,0],[0,-12.5],[0,-12.5],[12.5,0],[12.5,0]],"c":true}],"e":[{"i":[[6.875,0],[0,0],[0,6.875],[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0]],"o":[[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0],[6.875,0],[0,0],[0,6.875]],"v":[[0,12.5],[0,12.5],[-12.5,0],[-12.5,0],[0,-12.5],[0,-12.5],[12.5,0],[12.5,0]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"n":"0p833_0p833_1_0","t":130,"s":[{"i":[[6.875,0],[0,0],[0,6.875],[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0]],"o":[[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0],[6.875,0],[0,0],[0,6.875]],"v":[[0,12.5],[0,12.5],[-12.5,0],[-12.5,0],[0,-12.5],[0,-12.5],[12.5,0],[12.5,0]],"c":true}],"e":[{"i":[[6.875,0],[0,0],[0,6.875],[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0]],"o":[[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0],[6.875,0],[0,0],[0,6.875]],"v":[[24.706,12.5],[-24.706,12.5],[-37.206,0],[-37.206,0],[-24.706,-12.5],[24.706,-12.5],[37.206,0],[37.206,0]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"n":"0_1_0p167_0p167","t":150,"s":[{"i":[[6.875,0],[0,0],[0,6.875],[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0]],"o":[[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0],[6.875,0],[0,0],[0,6.875]],"v":[[24.706,12.5],[-24.706,12.5],[-37.206,0],[-37.206,0],[-24.706,-12.5],[24.706,-12.5],[37.206,0],[37.206,0]],"c":true}],"e":[{"i":[[6.875,0],[0,0],[0,6.875],[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0]],"o":[[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0],[6.875,0],[0,0],[0,6.875]],"v":[[0,12.5],[0,12.5],[-12.5,0],[-12.5,0],[0,-12.5],[0,-12.5],[12.5,0],[12.5,0]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":175,"s":[{"i":[[6.875,0],[0,0],[0,6.875],[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0]],"o":[[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0],[6.875,0],[0,0],[0,6.875]],"v":[[0,12.5],[0,12.5],[-12.5,0],[-12.5,0],[0,-12.5],[0,-12.5],[12.5,0],[12.5,0]],"c":true}],"e":[{"i":[[6.875,0],[0,0],[0,6.875],[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0]],"o":[[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0],[6.875,0],[0,0],[0,6.875]],"v":[[0,12.5],[0,12.5],[-12.5,0],[-12.5,0],[0,-12.5],[0,-12.5],[12.5,0],[12.5,0]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"n":"0p833_0p833_1_0","t":195,"s":[{"i":[[6.875,0],[0,0],[0,6.875],[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0]],"o":[[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0],[6.875,0],[0,0],[0,6.875]],"v":[[0,12.5],[0,12.5],[-12.5,0],[-12.5,0],[0,-12.5],[0,-12.5],[12.5,0],[12.5,0]],"c":true}],"e":[{"i":[[6.875,0],[0,0],[0,6.875],[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0]],"o":[[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0],[6.875,0],[0,0],[0,6.875]],"v":[[24.706,12.5],[-24.706,12.5],[-37.206,0],[-37.206,0],[-24.706,-12.5],[24.706,-12.5],[37.206,0],[37.206,0]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"n":"0_1_0p167_0p167","t":215,"s":[{"i":[[6.875,0],[0,0],[0,6.875],[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0]],"o":[[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0],[6.875,0],[0,0],[0,6.875]],"v":[[24.706,12.5],[-24.706,12.5],[-37.206,0],[-37.206,0],[-24.706,-12.5],[24.706,-12.5],[37.206,0],[37.206,0]],"c":true}],"e":[{"i":[[6.875,0],[0,0],[0,6.875],[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0]],"o":[[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0],[6.875,0],[0,0],[0,6.875]],"v":[[0,12.5],[0,12.5],[-12.5,0],[-12.5,0],[0,-12.5],[0,-12.5],[12.5,0],[12.5,0]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":240,"s":[{"i":[[6.875,0],[0,0],[0,6.875],[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0]],"o":[[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0],[6.875,0],[0,0],[0,6.875]],"v":[[0,12.5],[0,12.5],[-12.5,0],[-12.5,0],[0,-12.5],[0,-12.5],[12.5,0],[12.5,0]],"c":true}],"e":[{"i":[[6.875,0],[0,0],[0,6.875],[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0]],"o":[[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0],[6.875,0],[0,0],[0,6.875]],"v":[[0,12.5],[0,12.5],[-12.5,0],[-12.5,0],[0,-12.5],[0,-12.5],[12.5,0],[12.5,0]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"n":"0p833_0p833_1_0","t":260,"s":[{"i":[[6.875,0],[0,0],[0,6.875],[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0]],"o":[[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0],[6.875,0],[0,0],[0,6.875]],"v":[[0,12.5],[0,12.5],[-12.5,0],[-12.5,0],[0,-12.5],[0,-12.5],[12.5,0],[12.5,0]],"c":true}],"e":[{"i":[[6.875,0],[0,0],[0,6.875],[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0]],"o":[[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0],[6.875,0],[0,0],[0,6.875]],"v":[[24.706,12.5],[-24.706,12.5],[-37.206,0],[-37.206,0],[-24.706,-12.5],[24.706,-12.5],[37.206,0],[37.206,0]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"n":"0_1_0p167_0p167","t":280,"s":[{"i":[[6.875,0],[0,0],[0,6.875],[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0]],"o":[[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0],[6.875,0],[0,0],[0,6.875]],"v":[[24.706,12.5],[-24.706,12.5],[-37.206,0],[-37.206,0],[-24.706,-12.5],[24.706,-12.5],[37.206,0],[37.206,0]],"c":true}],"e":[{"i":[[6.875,0],[0,0],[0,6.875],[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0]],"o":[[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0],[6.875,0],[0,0],[0,6.875]],"v":[[0,12.5],[0,12.5],[-12.5,0],[-12.5,0],[0,-12.5],[0,-12.5],[12.5,0],[12.5,0]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":305,"s":[{"i":[[6.875,0],[0,0],[0,6.875],[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0]],"o":[[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0],[6.875,0],[0,0],[0,6.875]],"v":[[0,12.5],[0,12.5],[-12.5,0],[-12.5,0],[0,-12.5],[0,-12.5],[12.5,0],[12.5,0]],"c":true}],"e":[{"i":[[6.875,0],[0,0],[0,6.875],[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0]],"o":[[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0],[6.875,0],[0,0],[0,6.875]],"v":[[0,12.5],[0,12.5],[-12.5,0],[-12.5,0],[0,-12.5],[0,-12.5],[12.5,0],[12.5,0]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"n":"0p833_0p833_1_0","t":325,"s":[{"i":[[6.875,0],[0,0],[0,6.875],[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0]],"o":[[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0],[6.875,0],[0,0],[0,6.875]],"v":[[0,12.5],[0,12.5],[-12.5,0],[-12.5,0],[0,-12.5],[0,-12.5],[12.5,0],[12.5,0]],"c":true}],"e":[{"i":[[6.875,0],[0,0],[0,6.875],[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0]],"o":[[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0],[6.875,0],[0,0],[0,6.875]],"v":[[24.706,12.5],[-24.706,12.5],[-37.206,0],[-37.206,0],[-24.706,-12.5],[24.706,-12.5],[37.206,0],[37.206,0]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"n":"0_1_0p167_0p167","t":345,"s":[{"i":[[6.875,0],[0,0],[0,6.875],[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0]],"o":[[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0],[6.875,0],[0,0],[0,6.875]],"v":[[24.706,12.5],[-24.706,12.5],[-37.206,0],[-37.206,0],[-24.706,-12.5],[24.706,-12.5],[37.206,0],[37.206,0]],"c":true}],"e":[{"i":[[6.875,0],[0,0],[0,6.875],[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0]],"o":[[0,0],[-6.875,0],[0,0],[0,-6.875],[0,0],[6.875,0],[0,0],[0,6.875]],"v":[[0,12.5],[0,12.5],[-12.5,0],[-12.5,0],[0,-12.5],[0,-12.5],[12.5,0],[12.5,0]],"c":true}]},{"t":370.000015070409}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0.105882,0.105882,0.105882,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":0,"op":450.000018328876,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 2","ks":{"o":{"a":0,"k":25},"r":{"a":0,"k":0},"p":{"a":0,"k":[375.559,300.5,0]},"a":{"a":0,"k":[0,0,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[6.904,0],[0,-6.903],[-6.903,0],[0,6.903]],"o":[[-6.903,0],[0,6.903],[6.904,0],[0,-6.903]],"v":[[100,-12.5],[87.5,0],[100,12.5],[112.5,0]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0.105882,0.105882,0.105882,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 4","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[6.903,0],[0,-6.903],[-6.903,0],[0,6.903]],"o":[[-6.903,0],[0,6.903],[6.903,0],[0,-6.903]],"v":[[50,-12.5],[37.5,0],[50,12.5],[62.5,0]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0.105882,0.105882,0.105882,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 3","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[6.904,0],[0,-6.903],[-6.903,0],[0,6.903]],"o":[[-6.903,0],[0,6.903],[6.904,0],[0,-6.903]],"v":[[0,-12.5],[-12.5,0],[0,12.5],[12.5,0]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0.105882,0.105882,0.105882,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 2","np":3,"cix":2,"ix":3,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-6.903],[6.904,0],[0,6.903],[-6.903,0]],"o":[[0,6.903],[-6.903,0],[0,-6.903],[6.904,0]],"v":[[-61.617,0],[-74.117,12.5],[-86.617,0],[-74.117,-12.5]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0.105882,0.105882,0.105882,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[24,0],"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":"Shape 1","np":3,"cix":2,"ix":4,"mn":"ADBE Vector Group"}],"ip":0,"op":450.000018328876,"st":0,"bm":0,"sr":1}]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/ModernPictogramsForLottie_LoudMute.json b/submodules/RLottie/Sources/rlottie/example/resource/ModernPictogramsForLottie_LoudMute.json deleted file mode 100644 index ac8e09cea4..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/ModernPictogramsForLottie_LoudMute.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"4.10.1","fr":60,"ip":0,"op":88,"w":800,"h":800,"nm":"LoudMute_Preview","ddd":0,"assets":[{"id":"comp_43","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Waves 4","parent":5,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.25,"y":0},"n":"0p833_0p833_0p25_0","t":1,"s":[76.303,74.511,0],"e":[56.303,74.511,0],"to":[-3.33333325386047,0,0],"ti":[3.33333325386047,0,0]},{"t":14}],"ix":2},"a":{"a":0,"k":[76.303,74.511,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,1]},"o":{"x":[0.25,0.25,0.25],"y":[0,0,0]},"n":["0p833_0p833_0p25_0","0p833_0p833_0p25_0","0p833_1_0p25_0"],"t":1,"s":[100,100,100],"e":[10,10,100]},{"t":14}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,11.05],[8.061,8.06],[0,0],[0,-13.78],[10.531,-10.531]],"o":[[8.061,-7.931],[0,-10.92],[0,0],[10.14,10.14],[0,12.87],[0,0]],"v":[[23.401,29.836],[35.492,-0.065],[23.401,-30.096],[30.292,-36.986],[46.022,0.585],[30.681,36.986]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[76.303,74.511],"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":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":12,"st":-126,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Waves 3","parent":5,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.25,"y":0},"n":"0p833_0p833_0p25_0","t":1,"s":[76.303,74.511,0],"e":[56.303,74.511,0],"to":[-3.33333325386047,0,0],"ti":[3.33333325386047,0,0]},{"t":14}],"ix":2},"a":{"a":0,"k":[76.303,74.511,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,1]},"o":{"x":[0.25,0.25,0.25],"y":[0,0,0]},"n":["0p833_0p833_0p25_0","0p833_0p833_0p25_0","0p833_1_0p25_0"],"t":1,"s":[100,100,100],"e":[10,10,100]},{"t":14}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,6.239],[4.42,4.551],[0,0],[0,-8.71],[7.151,-7.021]],"o":[[4.681,-4.68],[0,-6.11],[0,0],[6.37,6.501],[0,7.93],[0,0]],"v":[[8.84,16.835],[15.991,-0.585],[9.361,-17.096],[15.731,-23.466],[25.872,0.195],[15.601,23.466]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[76.303,74.511],"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":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":12,"st":-126,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"StrikeOut","parent":5,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[34.642,37.517,0],"ix":2},"a":{"a":0,"k":[-26.733,-37.483,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":5,"s":[0,0,100],"e":[100,100,100]},{"t":7}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-26.75,-37.5],[40.5,29.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":7,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.19],"y":[1]},"o":{"x":[0.328],"y":[0]},"n":["0p19_1_0p328_0"],"t":7,"s":[0],"e":[0]},{"t":30}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.19],"y":[1]},"o":{"x":[0.328],"y":[-0.008]},"n":["0p19_1_0p328_-0p008"],"t":7,"s":[0.05],"e":[100]},{"t":30}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":5,"op":32,"st":-13,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"StrikeOutMatte","parent":5,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[66.533,75,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.333,"y":0},"n":"0_1_0p333_0","t":7,"s":[{"i":[[0,0],[0,0],[-15.409,-15.602],[2.12,-1.823],[2.829,2.891],[0,0],[0,0],[0,0],[-1,0.25],[0,0]],"o":[[0,0],[0,0],[3.254,3.295],[-2.194,1.886],[-7.913,-8.089],[0,0],[0,0],[0,0],[1,-0.25],[0,0]],"v":[[12.25,-60.25],[-102.807,-117.884],[-28.583,-43.548],[-28.734,-33.862],[-37.96,-34.576],[-112.917,-109.231],[-52.75,-30.75],[-52.25,54.75],[43.5,62.75],[45.75,-58.75]],"c":true}],"e":[{"i":[[0,0],[0,0],[-15.409,-15.602],[2.12,-1.823],[2.829,2.891],[0,0],[0,0],[0,0],[-1,0.25],[0,0]],"o":[[0,0],[0,0],[3.254,3.295],[-2.194,1.886],[-7.913,-8.089],[0,0],[0,0],[0,0],[1,-0.25],[0,0]],"v":[[12.25,-60.25],[-34.407,-49.484],[39.817,24.852],[39.666,34.538],[30.44,33.824],[-44.517,-40.831],[-52.75,-30.75],[-52.25,54.75],[43.5,62.75],[45.75,-58.75]],"c":true}]},{"t":30}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":-4,"op":52,"st":-4,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Sound","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.19,"y":1},"o":{"x":0.25,"y":0},"n":"0p19_1_0p25_0","t":7,"s":[76.303,74.511,0],"e":[89.928,74.511,0],"to":[2.27083325386047,0,0],"ti":[-2.27083325386047,0,0]},{"t":30}],"ix":2},"a":{"a":0,"k":[76.303,74.511,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[1.82,39.196],[-22.491,14.885],[-46.022,14.885],[-46.022,-14.885],[-22.491,-14.885],[1.82,-39.196]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[76.303,74.511],"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":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":32,"st":-13,"bm":0}]},{"id":"comp_44","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Waves 2","parent":5,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.19,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p19_1_0p167_0p167","t":15,"s":[56.303,74.511,0],"e":[76.303,74.511,0],"to":[3.33333325386047,0,0],"ti":[-3.33333325386047,0,0]},{"t":47}],"ix":2},"a":{"a":0,"k":[76.303,74.511,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.19,0.19,0.19],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,15]},"n":["0p19_1_0p167_0p167","0p19_1_0p167_0p167","0p19_1_0p167_15"],"t":15,"s":[10,10,100],"e":[100,100,100]},{"t":47}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,11.05],[8.061,8.06],[0,0],[0,-13.78],[10.531,-10.531]],"o":[[8.061,-7.931],[0,-10.92],[0,0],[10.14,10.14],[0,12.87],[0,0]],"v":[[23.401,29.836],[35.492,-0.065],[23.401,-30.096],[30.292,-36.986],[46.022,0.585],[30.681,36.986]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[76.303,74.511],"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":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":15,"op":56,"st":-98,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Waves","parent":5,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.19,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p19_1_0p167_0p167","t":17,"s":[56.303,74.511,0],"e":[76.303,74.511,0],"to":[3.33333325386047,0,0],"ti":[-3.33333325386047,0,0]},{"t":54}],"ix":2},"a":{"a":0,"k":[76.303,74.511,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.19,0.19,0.19],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,15]},"n":["0p19_1_0p167_0p167","0p19_1_0p167_0p167","0p19_1_0p167_15"],"t":17,"s":[10,10,100],"e":[100,100,100]},{"t":54}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,6.239],[4.42,4.551],[0,0],[0,-8.71],[7.151,-7.021]],"o":[[4.681,-4.68],[0,-6.11],[0,0],[6.37,6.501],[0,7.93],[0,0]],"v":[[8.84,16.835],[15.991,-0.585],[9.361,-17.096],[15.731,-23.466],[25.872,0.195],[15.601,23.466]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[76.303,74.511],"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":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":17,"op":56,"st":-96,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"StrikeOut","parent":5,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[34.642,37.517,0],"ix":2},"a":{"a":0,"k":[-26.733,-37.483,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":22,"s":[100,100,100],"e":[0,0,100]},{"t":29}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-26.75,-37.5],[40.5,29.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":7,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.108],"y":[1]},"o":{"x":[0.256],"y":[0]},"n":["0p108_1_0p256_0"],"t":1,"s":[0],"e":[0]},{"t":22}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.108],"y":[0.981]},"o":{"x":[0.256],"y":[0]},"n":["0p108_0p981_0p256_0"],"t":1,"s":[100],"e":[0.05]},{"t":22}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":38,"st":-98,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"StrikeOutMatte","parent":5,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[66.418,75,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.333,"y":0},"n":"0_1_0p333_0","t":1,"s":[{"i":[[0,0],[0,0],[-15.409,-15.602],[2.12,-1.823],[2.829,2.891],[0,0],[0,0],[0,0],[-1,0.25],[0,0]],"o":[[0,0],[0,0],[3.254,3.295],[-2.194,1.886],[-7.913,-8.089],[0,0],[0,0],[0,0],[1,-0.25],[0,0]],"v":[[12.25,-60.25],[-34.407,-49.484],[39.817,24.852],[39.666,34.538],[30.44,33.824],[-44.517,-40.831],[-52.75,-30.75],[-52.25,54.75],[43.5,62.75],[45.75,-58.75]],"c":true}],"e":[{"i":[[0,0],[0,0],[-15.409,-15.602],[2.12,-1.823],[2.829,2.891],[0,0],[0,0],[0,0],[-1,0.25],[0,0]],"o":[[0,0],[0,0],[3.254,3.295],[-2.194,1.886],[-7.913,-8.089],[0,0],[0,0],[0,0],[1,-0.25],[0,0]],"v":[[12.25,-60.25],[-102.807,-117.884],[-28.583,-43.548],[-28.734,-33.862],[-37.96,-34.576],[-112.917,-109.231],[-52.75,-30.75],[-52.25,54.75],[43.5,62.75],[45.75,-58.75]],"c":true}]},{"t":24}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":56,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Sound","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.1,"y":1},"o":{"x":0.25,"y":0},"n":"0p1_1_0p25_0","t":1,"s":[89.928,74.511,0],"e":[76.303,74.511,0],"to":[-2.27083325386047,0,0],"ti":[2.27083325386047,0,0]},{"t":30}],"ix":2},"a":{"a":0,"k":[76.303,74.511,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[1.82,39.196],[-22.491,14.885],[-46.022,14.885],[-46.022,-14.885],[-22.491,-14.885],[1.82,-39.196]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[76.303,74.511],"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":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":56,"st":-98,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"LoudMute_Mute","refId":"comp_43","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[75,75,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":150,"h":150,"ip":56,"op":88,"st":56,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"LoudMute_Loud","refId":"comp_44","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[75,75,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":150,"h":150,"ip":0,"op":56,"st":0,"bm":0}]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/StickAndBall.json b/submodules/RLottie/Sources/rlottie/example/resource/StickAndBall.json deleted file mode 100644 index 423b284d6b..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/StickAndBall.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"4.7.0","fr":24,"ip":0,"op":23,"w":1080,"h":1080,"nm":"Comp 1","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"#ball","ln":"ball","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"s":true,"x":{"a":0,"k":539},"y":{"a":1,"k":[{"i":{"x":[0.339],"y":[1]},"o":{"x":[0.893],"y":[0]},"n":["0p339_1_0p893_0"],"t":0,"s":[219],"e":[554]},{"i":{"x":[0.075],"y":[1]},"o":{"x":[0.622],"y":[0]},"n":["0p075_1_0p622_0"],"t":11,"s":[554],"e":[219]},{"t":22}]}},"a":{"a":0,"k":[-130,-257,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":2,"s":[94,94],"e":[85,122]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":5,"s":[85,122],"e":[94,94]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":7,"s":[94,94],"e":[94,92]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":11,"s":[94,92],"e":[94,94]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":15,"s":[94,94],"e":[84,118]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":17,"s":[84,118],"e":[94,94]},{"t":19}]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":0},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"fl","c":{"a":0,"k":[0.9019608,0.4032295,0.6379266,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-129,-257],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":0,"op":23,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":4,"nm":"#stick","ln":"stick","ks":{"o":{"a":0,"k":100},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":5,"s":[90],"e":[75.623]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":6,"s":[75.623],"e":[65.727]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":7,"s":[65.727],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":11,"s":[0],"e":[-37.333]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":13,"s":[-37.333],"e":[-41]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":14,"s":[-41],"e":[-66]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":15,"s":[-66],"e":[-82]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":16,"s":[-82],"e":[-90]},{"t":17}]},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[541.19,619.31,0],"e":[541.44,617.06,0],"to":[0.04166666790843,-0.375,0],"ti":[-0.04166666790843,0.375,0]},{"t":22}]},"a":{"a":0,"k":[251.515,7.576,0]},"s":{"a":0,"k":[33,33,100]}},"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},"n":"0p667_1_0p333_0","t":13,"s":[{"i":[[-248.361,0],[-247.665,0]],"o":[[308.273,0],[237.183,0]],"v":[[-487.636,3.94],[983.453,7.879]],"c":false}],"e":[{"i":[[-243.183,50.45],[-568.665,-169.629]],"o":[[453.246,-94.029],[331.868,98.994]],"v":[[-487.636,3.94],[983.453,7.879]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":15,"s":[{"i":[[-243.183,50.45],[-568.665,-169.629]],"o":[[453.246,-94.029],[331.868,98.994]],"v":[[-487.636,3.94],[983.453,7.879]],"c":false}],"e":[{"i":[[-247.951,-14.258],[-458.271,96.09]],"o":[[469.414,26.993],[232.133,-48.674]],"v":[[-487.636,3.94],[983.453,-89.091]],"c":false}]},{"i":{"x":0.333,"y":1},"o":{"x":0.333,"y":0},"n":"0p333_1_0p333_0","t":18,"s":[{"i":[[-247.951,-14.258],[-458.271,96.09]],"o":[[469.414,26.993],[232.133,-48.674]],"v":[[-487.636,3.94],[983.453,-89.091]],"c":false}],"e":[{"i":[[-248.361,0],[-247.665,0]],"o":[[308.273,0],[237.183,0]],"v":[[-487.636,3.94],[983.453,7.879]],"c":false}]},{"t":22}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":97},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":0,"op":23,"st":0,"bm":0,"sr":1}]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/UXSample_1920x1080/A Shapes_All_01_1920x1080.json b/submodules/RLottie/Sources/rlottie/example/resource/UXSample_1920x1080/A Shapes_All_01_1920x1080.json deleted file mode 100644 index 5691c1ff37..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/UXSample_1920x1080/A Shapes_All_01_1920x1080.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.1.18","fr":30,"ip":0,"op":36,"w":1920,"h":1080,"nm":"A Shapes_All_01","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 6","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":90,"ix":10},"p":{"a":0,"k":[1924.5,540,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[60,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-994,4],[1024,4]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":90,"ix":10},"p":{"a":0,"k":[483.75,540,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[60,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-994,4],[1024,4]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":90,"ix":10},"p":{"a":0,"k":[964,540,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[60,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-994,4],[1024,4]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Shape Layer 3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":90,"ix":10},"p":{"a":0,"k":[1444.25,540,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[60,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-994,4],[1024,4]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Shape Layer 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":90,"ix":10},"p":{"a":0,"k":[3.5,540,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[60,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-994,4],[1024,4]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[960,540,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-994,4],[1024,4]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]},{"id":"comp_1","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Rectantgle Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[375,244,0],"ix":2},"a":{"a":0,"k":[962,504,0],"ix":1},"s":{"a":0,"k":[50,50,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[139,139],[-139,139],[-139,-139],[139,-139]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054901960784,0.63137254902,0.901960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[962,504],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]},{"id":"comp_2","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"ellipse Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[375,244,0],"ix":2},"a":{"a":0,"k":[962,504,0],"ix":1},"s":{"a":0,"k":[50,50,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,77.324],[77.324,0],[0,-77.324],[-77.324,0]],"o":[[0,-77.324],[-77.324,0],[0,77.324],[77.324,0]],"v":[[140.007,0],[0,-140.007],[-140.007,0],[0,140.007]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054901960784,0.63137254902,0.901960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[962,504],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]},{"id":"comp_3","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Rectantgle Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[375,244,0],"ix":2},"a":{"a":0,"k":[962,504,0],"ix":1},"s":{"a":0,"k":[50,50,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[139,139],[-139,139],[-139,-139],[139,-139]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054901960784,0.63137254902,0.901960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[962,504],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]},{"id":"comp_4","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Rounded Rectangle Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[375,244,0],"ix":2},"a":{"a":0,"k":[962,504,0],"ix":1},"s":{"a":0,"k":[50,50,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[6.6,0],[0,0],[0,-6.6],[0,0],[-6.6,0],[0,0],[0,6.6],[0,0]],"o":[[0,0],[-6.6,0],[0,0],[0,6.6],[0,0],[6.6,0],[0,0],[0,-6.6]],"v":[[128.333,-140.333],[-128.333,-140.333],[-140.333,-128.333],[-140.333,128.333],[-128.333,140.333],[128.333,140.333],[140.333,128.333],[140.333,-128.333]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054901960784,0.63137254902,0.901960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[962,504],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]},{"id":"comp_5","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Polystar Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[375,244,0],"ix":2},"a":{"a":0,"k":[962,504,0],"ix":1},"s":{"a":0,"k":[50,50,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-75.095,130],[-150.191,0],[-75.095,-130],[75.095,-130],[150.192,0],[75.095,130]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054901960784,0.63137254902,0.901960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[962,504],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]},{"id":"comp_6","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"merge Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[338.188,258.876,0],"ix":2},"a":{"a":0,"k":[960,540,0],"ix":1},"s":{"a":0,"k":[50,50,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[143.993,-143.993],[-143.993,-143.993],[-143.993,143.993],[143.993,143.993]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054901960784,0.63137254902,0.901960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[942.053,592.591],"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,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,103.879],[103.879,0],[0,-103.879],[-103.88,0]],"o":[[0,-103.879],[-103.88,0],[0,103.879],[103.879,0]],"v":[[188.091,0],[0,-188.09],[-188.09,0],[0,188.09]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054901960784,0.63137254902,0.901960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1081.098,472],"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,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]},{"id":"comp_7","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"merge Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[338.188,258.876,0],"ix":2},"a":{"a":0,"k":[960,540,0],"ix":1},"s":{"a":0,"k":[50,50,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[143.993,-143.993],[-143.993,-143.993],[-143.993,143.993],[143.993,143.993]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[942.053,592.591],"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,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,103.879],[103.879,0],[0,-103.879],[-103.88,0]],"o":[[0,-103.879],[-103.88,0],[0,103.879],[103.879,0]],"v":[[188.091,0],[0,-188.09],[-188.09,0],[0,188.09]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[1081.098,472],"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,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":0,"s":[100],"e":[0]},{"t":30}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":40,"s":[100],"e":[0]},{"t":70}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":2,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.054901960784,0.63137254902,0.901960784314,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":20,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]},{"id":"comp_8","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"merge Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[338.188,258.876,0],"ix":2},"a":{"a":0,"k":[960,540,0],"ix":1},"s":{"a":0,"k":[50,50,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[143.993,-143.993],[-143.993,-143.993],[-143.993,143.993],[143.993,143.993]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[942.053,592.591],"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,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,103.879],[103.879,0],[0,-103.879],[-103.88,0]],"o":[[0,-103.879],[-103.88,0],[0,103.879],[103.879,0]],"v":[[188.091,0],[0,-188.09],[-188.09,0],[0,188.09]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[1081.098,472],"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,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":0,"s":[100],"e":[0]},{"t":30}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":40,"s":[100],"e":[0]},{"t":70}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.054901960784,0.63137254902,0.901960784314,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":20,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]}],"fonts":{"list":[{"fName":"SamsungOne-500","fFamily":"SamsungOne","fStyle":"500","ascent":70.9991455078125}]},"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"div","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":10,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[960,540,0],"ix":2},"a":{"a":0,"k":[960,540,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":1920,"h":1080,"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":5,"nm":"A Shapes_01 Shape","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[39.375,62,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[14.576,14.576,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":150,"f":"SamsungOne-500","t":"A Shapes_01 Shape","j":0,"tr":44,"lh":180,"ls":0,"fc":[0.05,0.63,0.9]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":0,"op":37,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":5,"nm":"A Shapes_02 Ellipse","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[519.5,62,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[14.576,14.576,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":150,"f":"SamsungOne-500","t":"A Shapes_02 Ellipse","j":0,"tr":44,"lh":180,"ls":0,"fc":[0.05,0.63,0.9]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":0,"op":37,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":5,"nm":"A Shapes_03 Rectangle","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1000.375,62,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[14.576,14.576,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":150,"f":"SamsungOne-500","t":"A Shapes_03 Rectangle","j":0,"tr":44,"lh":180,"ls":0,"fc":[0.05,0.63,0.9]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":0,"op":37,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":5,"nm":"A Shapes_04 Rounded Rectangle","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1480.5,62,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[14.576,14.576,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":150,"f":"SamsungOne-500","t":"A Shapes_04 Rounded Rectangle","j":0,"tr":44,"lh":180,"ls":0,"fc":[0.05,0.63,0.9]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":0,"op":37,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":5,"nm":"A Shapes_05 Polystar","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[39.375,601.938,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[14.576,14.576,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":150,"f":"SamsungOne-500","t":"A Shapes_05 Polystar","j":0,"tr":44,"lh":180,"ls":0,"fc":[0.05,0.63,0.9]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":0,"op":37,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":5,"nm":"A Shapes_06 Group","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[519.5,601.938,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[14.576,14.576,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":150,"f":"SamsungOne-500","t":"A Shapes_06 Group","j":0,"tr":44,"lh":180,"ls":0,"fc":[0.05,0.63,0.9]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":0,"op":37,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":5,"nm":"A Shapes_07 Trim Path (individually)","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1000.375,601.938,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[14.576,14.576,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":150,"f":"SamsungOne-500","t":"A Shapes_07 Trim Path (individually)","j":0,"tr":44,"lh":180,"ls":0,"fc":[0.05,0.63,0.9]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":0,"op":37,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":5,"nm":"A Shapes_08 Trim Path (simultaneously)","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1480.5,601.938,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[14.576,14.576,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":150,"f":"SamsungOne-500","t":"A Shapes_08 Trim Path \r(simultaneously)","j":0,"tr":44,"lh":180,"ls":0,"fc":[0.05,0.63,0.9]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":0,"op":37,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":0,"nm":"A Shapes_01 Shape","refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[248,267,0],"ix":2},"a":{"a":0,"k":[375,244,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":750,"h":488,"ip":0,"op":37,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":0,"nm":"A Shapes_02 Ellipse","refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[726,267,0],"ix":2},"a":{"a":0,"k":[375,244,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":750,"h":488,"ip":0,"op":37,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":0,"nm":"A Shapes_03 Rectangle","refId":"comp_3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1204,267,0],"ix":2},"a":{"a":0,"k":[375,244,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":750,"h":488,"ip":0,"op":37,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":0,"nm":"A Shapes_04 Rounded Rectangle","refId":"comp_4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1678,267,0],"ix":2},"a":{"a":0,"k":[375,244,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":750,"h":488,"ip":0,"op":37,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":0,"nm":"A Shapes_05 Polystar","refId":"comp_5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[248,809.5,0],"ix":2},"a":{"a":0,"k":[375,244,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":750,"h":488,"ip":0,"op":37,"st":0,"bm":0},{"ddd":0,"ind":15,"ty":0,"nm":"A Shapes_06 Group","refId":"comp_6","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[732,809.5,0],"ix":2},"a":{"a":0,"k":[375,244,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":750,"h":488,"ip":0,"op":37,"st":0,"bm":0},{"ddd":0,"ind":16,"ty":0,"nm":"A Shapes_07 Trim Path (individually)","refId":"comp_7","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1198,809.5,0],"ix":2},"a":{"a":0,"k":[375,244,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":750,"h":488,"ip":0,"op":37,"st":0,"bm":0},{"ddd":0,"ind":17,"ty":0,"nm":"A Shapes_08 Trim Path (simultaneously)","refId":"comp_8","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1678,809.5,0],"ix":2},"a":{"a":0,"k":[375,244,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":750,"h":488,"ip":0,"op":37,"st":0,"bm":0}],"markers":[],"chars":[{"ch":"A","size":150,"style":"500","w":61.2,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[42.7,-21.35],[49.951,0],[59.317,0],[36.154,-67.877],[25.58,-67.877],[2.518,0],[11.581,0],[18.631,-21.35]],"c":true},"ix":2},"nm":"A","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-1.007,4.028],[0,0],[-1.511,-4.431],[0,0]],"o":[[0,0],[1.309,-4.129],[0,0],[1.007,3.928],[0,0],[0,0]],"v":[[20.444,-28.198],[27.09,-47.836],[30.515,-60.123],[30.716,-60.123],[34.241,-47.736],[40.887,-28.198]],"c":true},"ix":2},"nm":"A","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"A","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":" ","size":150,"style":"500","w":21.2,"data":{},"fFamily":"SamsungOne"},{"ch":"S","size":150,"style":"500","w":49.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-6.546,0],[0,10.474],[11.481,4.431],[0,6.345],[-9.265,0],[-2.216,-1.208],[0,0],[6.949,0],[0,-10.574],[-11.078,-3.928],[0,-6.345],[8.963,0],[3.928,2.417]],"o":[[3.625,2.417],[16.013,0],[0,-9.97],[-9.366,-3.625],[0,-4.633],[6.143,0],[0,0],[-3.021,-1.712],[-13.193,0],[0,9.567],[9.164,3.525],[0,6.848],[-6.042,0],[0,0]],"v":[[4.23,-3.323],[21.552,1.007],[45.319,-18.53],[27.997,-38.47],[14.502,-51.562],[27.292,-61.734],[40.182,-58.511],[42.599,-65.662],[27.594,-68.985],[5.64,-50.555],[23.566,-31.32],[36.356,-17.825],[22.156,-6.244],[6.445,-10.675]],"c":true},"ix":2},"nm":"S","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"S","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"h","size":150,"style":"500","w":55.5,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-0.504,1.208],[-5.74,0],[0,-7.855],[0,0],[0,0],[0,0],[6.546,0],[2.618,-1.511],[1.41,-2.518],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,-1.712],[1.611,-4.834],[8.359,0],[0,0],[0,0],[0,0],[0,-16.818],[-3.323,0],[-2.719,1.511],[0,0],[0,0],[0,0],[0,0]],"v":[[7.352,0],[16.214,0],[16.214,-29.407],[16.818,-33.636],[28.702,-42.499],[39.981,-27.997],[39.981,0],[48.843,0],[48.843,-29.004],[31.824,-49.85],[22.76,-47.333],[16.415,-41.089],[16.214,-41.089],[16.214,-71.503],[7.352,-71.503]],"c":true},"ix":2},"nm":"h","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"h","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"a","size":150,"style":"500","w":48.2,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,4.23],[0,0],[14.905,0],[4.028,-2.618],[0,0],[-4.532,0],[0,-4.028],[0,0],[0,-11.783],[-9.869,0],[-2.719,3.827],[0,0],[0,0]],"o":[[-0.604,-3.323],[0,0],[0,-9.769],[-6.143,0],[0,0],[3.424,-2.216],[9.97,0],[0,0],[-18.832,-0.101],[0,7.05],[6.949,0],[0,0],[0,0],[0,0]],"v":[[42.398,0],[41.592,-11.682],[41.592,-29.91],[23.062,-49.85],[7.05,-45.52],[9.064,-39.679],[21.753,-43.304],[32.831,-32.025],[32.831,-31.018],[3.525,-12.891],[18.43,1.108],[33.334,-6.143],[33.636,-6.143],[34.341,0]],"c":true},"ix":2},"nm":"a","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0.302,-0.906],[6.345,0],[0,5.74],[-9.668,-0.201]],"o":[[0,0.906],[-1.41,4.129],[-4.532,0],[0,-9.467],[0,0]],"v":[[33.032,-16.415],[32.529,-13.596],[20.746,-5.438],[12.387,-13.898],[33.032,-24.875]],"c":true},"ix":2},"nm":"a","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"a","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"p","size":150,"style":"500","w":56.9,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[-6.445,0],[0,17.523],[11.783,0],[3.625,-5.942],[0,0],[0,0],[0,0],[0,-6.244]],"o":[[0,0],[0,0],[0,0],[2.921,4.834],[11.481,0],[0,-14.804],[-7.956,0],[0,0],[0,0],[0,0],[0.201,4.633],[0,0]],"v":[[7.352,19.94],[16.113,19.94],[16.113,-6.546],[16.315,-6.546],[31.32,1.108],[53.476,-25.076],[32.831,-49.85],[15.509,-40.384],[15.308,-40.384],[14.905,-48.743],[6.949,-48.743],[7.352,-32.831]],"c":true},"ix":2},"nm":"p","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[-0.302,1.108],[-6.042,0],[0,-9.769],[9.366,0],[1.611,6.143],[0,1.309]],"o":[[0,-1.208],[1.712,-6.647],[9.366,0],[0,11.179],[-6.345,0],[-0.201,-1.108],[0,0]],"v":[[16.113,-28.198],[16.718,-31.824],[30.112,-42.801],[44.614,-24.673],[29.81,-5.841],[16.516,-16.214],[16.113,-19.839]],"c":true},"ix":2},"nm":"p","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"p","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"e","size":150,"style":"500","w":50.1,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,1.813],[15.912,0],[0,-14.703],[-15.005,0],[-3.122,1.41],[0,0],[6.345,0],[0.201,11.984]],"o":[[0.101,-0.906],[0,-8.963],[-14.2,0],[0,14.703],[7.755,0],[0,0],[-3.323,1.41],[-8.862,0],[0,0]],"v":[[46.527,-22.76],[46.829,-26.889],[26.688,-49.85],[3.827,-23.566],[27.795,1.007],[44.009,-2.014],[42.499,-8.359],[29.004,-5.841],[12.286,-22.76]],"c":true},"ix":2},"nm":"e","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[-8.963,0],[0.101,-5.64]],"o":[[0.705,-6.143],[9.97,0],[0,0]],"v":[[12.387,-29.105],[25.983,-43.506],[38.269,-29.105]],"c":true},"ix":2},"nm":"e","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"e","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"s","size":150,"style":"500","w":39.6,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-5.338,0],[0,8.56],[8.459,3.223],[0,4.028],[-5.237,0],[-1.913,-1.208],[0,0],[4.935,0],[0,-7.855],[-8.762,-3.122],[0,-4.23],[6.445,0],[2.618,1.712]],"o":[[3.424,2.014],[11.581,0],[0,-7.251],[-6.345,-2.417],[0,-3.625],[4.532,0],[0,0],[-2.719,-1.611],[-10.474,0],[0,5.841],[6.546,2.417],[0,4.028],[-4.431,0],[0,0]],"v":[[3.928,-2.316],[17.624,1.007],[35.852,-13.596],[23.062,-28.299],[13.797,-36.557],[21.954,-43.204],[31.924,-40.384],[34.14,-46.829],[22.156,-49.85],[5.338,-35.55],[18.228,-21.753],[27.292,-12.79],[17.825,-5.539],[6.143,-9.064]],"c":true},"ix":2},"nm":"s","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"s","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"_","size":150,"style":"500","w":50,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[0,7.553],[0,12.589],[50.354,12.589],[50.354,7.553]],"c":true},"ix":2},"nm":"_","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"_","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"0","size":150,"style":"500","w":51.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[13.797,0],[0,-21.954],[-12.79,0],[0,22.256]],"o":[[-13.293,0],[0.201,21.652],[14.502,0],[0,-20.847]],"v":[[26.385,-66.568],[3.625,-32.529],[25.278,1.108],[48.038,-33.435]],"c":true},"ix":2},"nm":"0","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-7.755,0],[0,-16.113],[9.064,0],[0,17.02]],"o":[[9.164,0],[0,16.718],[-8.057,0],[0,-17.825]],"v":[[25.882,-59.72],[39.175,-33.032],[25.781,-5.74],[12.488,-32.428]],"c":true},"ix":2},"nm":"0","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"0","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"8","size":150,"style":"500","w":51.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-13.696,0],[0,11.38],[8.157,3.223],[0,0],[0,5.539],[12.689,0],[0,-10.373],[-7.251,-3.424],[0,0],[0,-8.258]],"o":[[12.488,0],[0,-7.956],[0,0],[8.057,-3.827],[0,-8.157],[-11.481,0],[0,5.64],[0,0],[-8.057,3.424],[0,9.567]],"v":[[25.681,1.108],[47.937,-17.926],[34.744,-34.845],[34.744,-35.147],[45.52,-50.455],[26.486,-66.568],[6.244,-49.146],[16.617,-34.442],[16.718,-34.14],[3.726,-16.617]],"c":true},"ix":2},"nm":"8","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[7.956,0],[-0.302,6.647],[-7.654,2.216],[0,-7.956]],"o":[[-8.359,0],[0,-6.244],[8.862,2.518],[0,6.747]],"v":[[25.882,-5.338],[12.79,-17.825],[24.573,-31.32],[38.974,-17.02]],"c":true},"ix":2},"nm":"8","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[-7.352,0],[0,-5.237],[5.64,-1.913],[0,6.546]],"o":[[7.956,0],[0,5.942],[-7.553,-2.014],[0,-5.64]],"v":[[25.983,-60.223],[37.061,-49.548],[27.09,-37.665],[14.603,-49.75]],"c":true},"ix":2},"nm":"8","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"8","np":6,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"T","size":150,"style":"500","w":53.5,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[20.544,0],[29.407,0],[29.407,-60.425],[50.153,-60.425],[50.153,-67.877],[-0.101,-67.877],[-0.101,-60.425],[20.544,-60.425]],"c":true},"ix":2},"nm":"T","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"T","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"r","size":150,"style":"500","w":33.1,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-0.201,1.208],[-6.244,0],[-0.906,-0.201],[0,0],[1.007,0],[2.216,-6.546],[0,0],[0,0],[0,0],[0,-5.74]],"o":[[0,0],[0,0],[0,-1.511],[1.208,-6.647],[1.208,0],[0,0],[-0.806,-0.201],[-5.942,0],[0,0],[0,0],[0,0],[0.302,4.532],[0,0]],"v":[[7.352,0],[16.113,0],[16.113,-25.983],[16.516,-30.112],[28.4,-41.492],[31.421,-41.19],[31.421,-49.548],[28.903,-49.85],[15.408,-39.175],[15.005,-39.175],[14.703,-48.743],[6.949,-48.743],[7.352,-33.536]],"c":true},"ix":2},"nm":"r","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"r","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"i","size":150,"style":"500","w":23.4,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[16.214,0],[16.214,-48.743],[7.352,-48.743],[7.352,0]],"c":true},"ix":2},"nm":"i","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[3.323,0],[0,-3.122],[-3.122,0],[0.101,3.021]],"o":[[-3.223,0],[0,3.021],[3.525,0],[0,-3.122]],"v":[[11.783,-67.978],[6.244,-62.439],[11.581,-57.001],[17.221,-62.439]],"c":true},"ix":2},"nm":"i","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"i","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"m","size":150,"style":"500","w":83.4,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-0.504,1.309],[-5.539,0],[0,-7.755],[0,0],[0,0],[0,0],[-0.403,1.208],[-5.035,0],[0,-9.366],[0,0],[0,0],[0,0],[6.445,0],[2.921,-2.216],[1.511,-2.719],[0,0],[6.647,0],[2.719,-4.633],[0,0],[0,0],[0,0],[0,-5.035]],"o":[[0,0],[0,0],[0,-1.511],[1.41,-4.431],[6.747,0],[0,0],[0,0],[0,0],[0,-1.611],[1.511,-4.33],[7.15,0],[0,0],[0,0],[0,0],[0,-16.919],[-4.633,0],[-2.014,1.511],[0,0],[-2.115,-5.74],[-8.057,0],[0,0],[0,0],[0,0],[0.302,4.028],[0,0]],"v":[[7.352,0],[16.013,0],[16.013,-29.407],[16.718,-33.737],[27.695,-42.599],[37.866,-29.205],[37.866,0],[46.527,0],[46.527,-30.112],[47.232,-34.543],[57.706,-42.599],[68.28,-27.594],[68.28,0],[76.941,0],[76.941,-28.702],[60.928,-49.85],[50.153,-46.426],[44.714,-40.082],[44.513,-40.082],[30.716,-49.85],[15.408,-40.887],[15.106,-40.887],[14.703,-48.743],[6.949,-48.743],[7.352,-35.55]],"c":true},"ix":2},"nm":"m","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"m","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"P","size":150,"style":"500","w":53.2,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-2.618,0],[-4.633,4.935],[0,6.143],[3.726,3.223],[8.661,0],[4.23,-0.705]],"o":[[0,0],[0,0],[2.014,0.504],[8.56,0],[3.424,-3.525],[0,-6.042],[-4.028,-3.625],[-7.05,0],[0,0]],"v":[[7.654,0],[16.415,0],[16.415,-27.191],[23.465,-26.587],[44.211,-34.039],[49.448,-48.541],[43.506,-62.741],[24.472,-68.381],[7.654,-67.072]],"c":true},"ix":2},"nm":"P","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[-3.827,0],[0,-8.963],[10.574,0],[1.913,0.504]],"o":[[1.511,-0.403],[9.668,0],[0,9.366],[-2.921,0],[0,0]],"v":[[16.415,-60.727],[24.673,-61.432],[40.686,-48.138],[23.666,-33.636],[16.415,-34.341]],"c":true},"ix":2},"nm":"P","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"P","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"t","size":150,"style":"500","w":33.1,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-2.518,-2.618],[-4.129,0],[-1.712,0.705],[0,0],[2.316,0],[0,6.042],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,5.74],[2.115,2.417],[3.424,0],[0,0],[-1.108,0.302],[-4.935,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[9.366,-60.425],[9.366,-48.743],[1.813,-48.743],[1.813,-41.995],[9.366,-41.995],[9.366,-15.408],[12.79,-2.719],[22.357,1.007],[30.212,-0.201],[29.81,-6.848],[24.673,-6.244],[18.027,-15.71],[18.027,-41.995],[30.716,-41.995],[30.716,-48.743],[18.027,-48.743],[18.027,-62.741]],"c":true},"ix":2},"nm":"t","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"t","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"\r","size":150,"style":"500","w":0,"fFamily":"SamsungOne"},{"ch":"(","size":150,"style":"500","w":28.4,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.101,-19.839],[-6.345,-8.359],[0,0],[0,17.926],[-7.352,9.869]],"o":[[-6.345,8.459],[0,19.638],[0,0],[-7.15,-10.071],[0,-18.228],[0,0]],"v":[[19.638,-69.891],[6.445,-28.702],[19.638,12.186],[26.587,12.186],[13.898,-28.702],[26.587,-69.891]],"c":true},"ix":2},"nm":"(","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"(","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"u","size":150,"style":"500","w":55.1,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0.504,-1.309],[5.942,0],[0,9.265],[0,0],[0,0],[0,0],[-7.654,0],[-2.316,3.928],[0,0],[0,0],[0,0],[0,5.035]],"o":[[0,0],[0,0],[0,1.611],[-1.611,3.928],[-8.057,0],[0,0],[0,0],[0,0],[0,17.12],[8.661,0],[0,0],[0,0],[0,0],[-0.302,-3.827],[0,0]],"v":[[48.138,-48.743],[39.276,-48.743],[39.276,-18.832],[38.47,-14.301],[26.788,-6.244],[15.912,-21.753],[15.912,-48.743],[7.05,-48.743],[7.05,-20.242],[23.868,1.108],[39.981,-7.956],[40.182,-7.956],[40.686,0],[48.541,0],[48.138,-13.293]],"c":true},"ix":2},"nm":"u","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"u","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"l","size":150,"style":"500","w":23.6,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[7.352,0],[16.214,0],[16.214,-71.503],[7.352,-71.503]],"c":true},"ix":2},"nm":"l","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"l","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"n","size":150,"style":"500","w":55.5,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-0.403,1.108],[-5.841,0],[0,-7.855],[0,0],[0,0],[0,0],[6.747,0],[2.417,-4.633],[0,0],[0,0],[0,0],[0,-5.035]],"o":[[0,0],[0,0],[0,-1.511],[1.511,-4.935],[8.359,0],[0,0],[0,0],[0,0],[0,-16.718],[-8.057,0],[0,0],[0,0],[0,0],[0.302,4.028],[0,0]],"v":[[7.352,0],[16.214,0],[16.214,-29.306],[16.818,-33.435],[28.702,-42.499],[39.981,-28.098],[39.981,0],[48.843,0],[48.843,-29.105],[31.622,-49.85],[15.509,-40.686],[15.308,-40.686],[14.804,-48.743],[6.949,-48.743],[7.352,-35.55]],"c":true},"ix":2},"nm":"n","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"n","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"o","size":150,"style":"500","w":54.9,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[13.998,0],[0,-16.315],[-13.193,0],[0,18.027]],"o":[[-13.495,0],[0,15.408],[11.783,0],[0,-14.905]],"v":[[27.997,-49.85],[3.827,-23.969],[27.191,1.108],[51.462,-24.774]],"c":true},"ix":2},"nm":"o","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-10.474,0],[0,-8.258],[8.459,0],[0,10.675]],"o":[[10.474,0],[0,10.977],[-8.661,0],[0,-9.265]],"v":[[27.795,-43.204],[42.398,-24.472],[27.594,-5.539],[12.79,-24.271]],"c":true},"ix":2},"nm":"o","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"o","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"y","size":150,"style":"500","w":48.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,-0.504],[0.403,-0.906],[2.417,-1.913],[2.216,-0.705],[0,0],[-4.33,3.827],[-6.345,16.718],[0,0],[0,0],[0,0],[0.906,-2.921],[0,0],[1.108,3.223],[0,0]],"o":[[0,0],[0.403,1.108],[0,0.504],[-2.014,4.532],[-2.618,2.216],[0,0],[2.216,-0.403],[6.042,-5.237],[0,0],[0,0],[0,0],[-1.208,3.525],[0,0],[-0.806,-2.921],[0,0],[0,0]],"v":[[0.906,-48.743],[18.933,-3.827],[19.537,-1.511],[18.832,0.604],[11.38,10.474],[3.625,14.804],[5.841,22.256],[16.718,16.516],[33.435,-13.998],[46.729,-48.743],[37.363,-48.743],[27.695,-20.142],[24.573,-9.97],[24.371,-9.97],[21.249,-19.94],[10.574,-48.743]],"c":true},"ix":2},"nm":"y","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"y","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":")","size":150,"style":"500","w":28.4,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,19.739],[6.445,8.258],[0,0],[0,-18.027],[7.15,-9.97]],"o":[[6.445,-8.56],[0,-19.839],[0,0],[7.251,9.97],[0,18.127],[0,0]],"v":[[8.862,12.186],[22.055,-28.903],[8.862,-69.891],[2.014,-69.891],[14.703,-29.004],[2.014,12.186]],"c":true},"ix":2},"nm":")","mn":"ADBE Vector Shape - Group","hd":false}],"nm":")","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"7","size":150,"style":"500","w":51.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[5.74,-65.46],[5.74,-58.109],[37.766,-58.109],[37.766,-57.907],[9.366,0],[18.53,0],[47.031,-59.619],[47.031,-65.46]],"c":true},"ix":2},"nm":"7","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"7","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"d","size":150,"style":"500","w":56.4,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[7.452,0],[-0.101,-16.214],[-11.783,0],[-2.719,5.438],[0,0],[0,0],[0,0],[0,4.33],[0,0]],"o":[[0,0],[0,0],[-2.216,-3.928],[-11.884,0],[0,14.804],[7.956,0],[0,0],[0,0],[0,0],[-0.302,-3.323],[0,0],[0,0]],"v":[[40.585,-71.503],[40.585,-42.398],[40.384,-42.398],[25.681,-49.85],[3.827,-23.666],[24.673,1.108],[41.29,-8.459],[41.492,-8.459],[41.895,0],[49.85,0],[49.448,-12.589],[49.448,-71.503]],"c":true},"ix":2},"nm":"d","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0.302,-1.208],[5.942,0],[0,9.869],[-9.164,0],[-1.309,-5.64],[0,-1.108]],"o":[[0,1.41],[-1.611,6.647],[-9.567,0],[0,-10.776],[6.647,0],[0.302,1.108],[0,0]],"v":[[40.585,-20.444],[40.182,-16.617],[27.191,-6.042],[12.79,-24.069],[27.393,-42.902],[40.182,-32.629],[40.585,-28.903]],"c":true},"ix":2},"nm":"d","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"d","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"v","size":150,"style":"500","w":49.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[1.108,-4.028],[0,0],[1.611,4.431],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[-1.611,4.431],[0,0],[-1.007,-4.028],[0,0],[0,0]],"v":[[1.309,-48.743],[19.839,0],[28.299,0],[47.433,-48.743],[38.168,-48.743],[28.702,-21.35],[24.573,-8.862],[24.271,-8.862],[20.343,-21.35],[10.776,-48.743]],"c":true},"ix":2},"nm":"v","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"v","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"6","size":150,"style":"500","w":51.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[2.618,-0.403],[5.438,-5.338],[0,-12.891],[-13.998,0],[0,11.984],[11.581,0],[3.122,-4.129],[0,0],[-13.898,2.316],[-1.813,-0.101]],"o":[[-1.611,0],[-8.258,1.007],[-6.445,6.445],[0,17.02],[13.596,0],[0,-12.79],[-7.251,0],[0,0],[1.511,-10.776],[2.518,-0.403],[0,0]],"v":[[41.895,-66.467],[35.449,-65.964],[14.502,-56.296],[3.424,-26.788],[26.587,1.108],[48.34,-21.954],[28.601,-43.103],[12.79,-35.55],[12.488,-35.55],[35.248,-58.813],[41.895,-59.216]],"c":true},"ix":2},"nm":"6","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[7.654,0],[0.201,10.776],[-0.604,1.007],[-5.338,0],[0,-9.366]],"o":[[-9.265,0],[0,-1.611],[2.417,-4.733],[8.157,0],[0,9.366]],"v":[[26.587,-5.74],[12.186,-24.472],[13.193,-28.4],[25.882,-36.456],[39.377,-21.451]],"c":true},"ix":2},"nm":"6","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"6","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"G","size":150,"style":"500","w":64.6,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[5.74,0],[0,17.221],[-16.516,0],[-3.625,-1.611],[0,0],[7.855,0],[0.101,-20.242],[-5.841,-5.64],[-10.272,0],[-3.928,1.41]],"o":[[0,0],[0,0],[0,0],[0,0],[-2.014,1.007],[-15.811,0],[0,-17.02],[6.848,0],[0,0],[-2.921,-1.41],[-22.76,0],[0,10.574],[6.647,6.345],[9.164,0],[0,0]],"v":[[59.317,-35.651],[36.96,-35.651],[36.96,-28.601],[50.757,-28.601],[50.757,-8.359],[39.075,-6.546],[12.891,-33.939],[40.182,-61.23],[55.188,-58.31],[57.303,-65.46],[40.384,-68.582],[3.625,-33.536],[13.092,-8.258],[38.47,0.705],[59.317,-3.021]],"c":true},"ix":2},"nm":"G","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"G","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"5","size":150,"style":"500","w":51.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-3.726,0],[-0.101,-8.459],[8.359,0],[2.719,1.611],[0,0],[-7.15,0],[0,12.79],[5.136,2.921],[5.035,0],[1.511,-0.201],[0,0],[0,0]],"o":[[0,0],[0,0],[2.417,-0.302],[13.092,0],[0,8.762],[-5.942,0],[0,0],[3.122,2.014],[14.2,0],[0,-8.258],[-4.028,-2.417],[-2.417,0],[0,0],[0,0],[0,0]],"v":[[43.607,-65.46],[12.286,-65.46],[8.057,-34.039],[17.12,-34.744],[35.953,-20.242],[20.444,-6.042],[6.445,-9.668],[4.23,-2.921],[20.544,1.108],[44.916,-21.249],[35.55,-38.068],[21.451,-41.592],[16.113,-41.19],[18.631,-58.008],[43.607,-58.008]],"c":true},"ix":2},"nm":"5","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"5","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"4","size":150,"style":"500","w":51.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[40.283,0],[40.283,-17.825],[49.448,-17.825],[49.448,-24.774],[40.283,-24.774],[40.283,-65.46],[30.716,-65.46],[1.511,-23.666],[1.511,-17.825],[31.924,-17.825],[31.924,0]],"c":true},"ix":2},"nm":"4","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-2.014,3.827],[0,0],[0,-3.424],[0,0]],"o":[[0,0],[0,0],[1.813,-3.021],[0,0],[-0.201,3.424],[0,0],[0,0]],"v":[[10.474,-24.774],[10.474,-24.976],[26.486,-47.232],[31.924,-56.9],[32.227,-56.9],[31.924,-46.628],[31.924,-24.774]],"c":true},"ix":2},"nm":"4","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"4","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"R","size":150,"style":"500","w":53.8,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[-2.014,-9.366],[-1.108,-1.913],[0,0],[2.216,9.467],[5.237,1.813],[0,0],[0,8.963],[3.424,3.021],[9.366,0],[4.431,-0.906]],"o":[[0,0],[0,0],[0,0],[7.956,0.302],[1.913,8.459],[0,0],[-1.41,-2.618],[-1.611,-7.05],[0,0],[7.15,-2.417],[0,-5.237],[-4.23,-3.827],[-6.042,0],[0,0]],"v":[[7.654,0],[16.415,0],[16.415,-29.407],[24.673,-29.407],[38.269,-16.214],[42.801,0],[51.865,0],[46.628,-18.631],[36.658,-32.327],[36.658,-32.629],[49.448,-49.951],[44.11,-62.842],[24.472,-68.381],[7.654,-66.971]],"c":true},"ix":2},"nm":"R","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[-4.23,0],[0,-8.762],[9.366,0],[0,0]],"o":[[1.41,-0.403],[9.265,0.101],[0,7.755],[0,0],[0,0]],"v":[[16.415,-60.828],[25.076,-61.633],[40.686,-48.944],[25.378,-36.053],[16.415,-36.053]],"c":true},"ix":2},"nm":"R","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"R","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"c","size":150,"style":"500","w":44.2,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[5.035,0],[0,11.279],[-11.179,0],[-2.115,-1.208],[0,0],[5.237,0],[0,-15.005],[-14.703,0],[-2.316,1.208]],"o":[[-2.518,1.108],[-9.668,0],[0,-10.172],[4.834,0],[0,0],[-2.417,-1.208],[-15.912,0],[0,14.905],[6.546,0],[0,0]],"v":[[40.585,-8.459],[29.709,-6.042],[12.79,-24.271],[30.011,-42.7],[40.283,-40.384],[42.297,-47.232],[30.011,-49.75],[3.827,-23.868],[28.098,1.007],[42.096,-1.813]],"c":true},"ix":2},"nm":"c","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"c","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"g","size":150,"style":"500","w":55.9,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[8.459,0],[0,-16.516],[-12.085,0],[-2.719,4.532],[0,0],[0,0],[9.064,0],[3.223,2.014],[0,0],[-5.841,0],[-4.733,4.431],[0,11.179],[0,0],[-0.201,3.525]],"o":[[0,0],[0,0],[-2.115,-4.028],[-11.179,0],[0,13.495],[7.553,0],[0,0],[0,0],[0,12.286],[-6.042,0],[0,0],[3.928,2.618],[6.143,0],[4.733,-4.23],[0,0],[0,-5.942],[0,0]],"v":[[41.592,-48.743],[41.19,-41.391],[40.988,-41.391],[25.781,-49.85],[3.827,-23.969],[24.573,-0.201],[40.082,-8.359],[40.283,-8.359],[40.283,-2.921],[24.573,14.099],[10.272,10.272],[8.057,17.02],[24.271,21.048],[41.995,15.207],[48.944,-7.05],[48.944,-35.349],[49.347,-48.743]],"c":true},"ix":2},"nm":"g","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0.504,-1.511],[5.438,0],[0,9.567],[-8.459,0],[-1.611,-5.136],[0,-1.511]],"o":[[0,1.511],[-1.913,5.64],[-9.567,0],[0,-11.279],[6.445,0],[0.403,1.208],[0,0]],"v":[[40.182,-20.746],[39.478,-16.013],[27.191,-6.949],[12.79,-24.472],[27.292,-42.902],[39.679,-33.536],[40.182,-29.507]],"c":true},"ix":2},"nm":"g","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"g","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"3","size":150,"style":"500","w":51.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-7.352,0],[0,10.474],[8.057,1.611],[0,0],[0,6.747],[12.891,0],[3.424,-2.518],[0,0],[-5.237,0],[0,-5.237],[6.445,0],[0,0],[0,0],[0,0],[-0.101,-9.164],[11.38,0],[2.518,1.611]],"o":[[3.223,2.115],[15.71,0],[0,-9.164],[0,0],[8.057,-2.921],[0,-7.956],[-7.05,0],[0,0],[2.82,-2.014],[8.157,0],[0,7.755],[0,0],[0,0],[0,0],[8.56,0],[0.101,5.438],[-6.143,0],[0,0]],"v":[[4.23,-3.323],[21.249,1.108],[45.117,-18.53],[30.515,-35.349],[30.515,-35.55],[42.599,-50.958],[23.868,-66.568],[6.747,-61.533],[9.064,-55.087],[22.156,-59.418],[33.636,-49.548],[19.034,-38.47],[14.099,-38.47],[14.099,-31.824],[19.034,-31.824],[35.953,-18.732],[21.149,-6.042],[6.647,-10.172]],"c":true},"ix":2},"nm":"3","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"3","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"2","size":150,"style":"500","w":51.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,12.085],[14.099,0],[4.532,-3.827],[0,0],[-5.942,0],[0,-6.647],[16.718,-15.912],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[13.797,-13.293],[0,-9.366],[-7.553,0],[0,0],[3.021,-2.518],[9.769,0],[-0.101,9.869],[0,0],[0,0],[0,0]],"v":[[46.326,0],[46.326,-7.352],[16.919,-7.352],[16.919,-7.553],[22.156,-12.387],[44.714,-47.534],[24.673,-66.568],[6.143,-59.921],[8.963,-53.677],[22.861,-59.216],[35.852,-46.426],[11.481,-12.186],[4.532,-5.438],[4.532,0]],"c":true},"ix":2},"nm":"2","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"2","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"E","size":150,"style":"500","w":49.2,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[42.801,-39.075],[16.415,-39.075],[16.415,-60.526],[44.312,-60.526],[44.312,-67.877],[7.654,-67.877],[7.654,0],[45.822,0],[45.822,-7.352],[16.415,-7.352],[16.415,-31.824],[42.801,-31.824]],"c":true},"ix":2},"nm":"E","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"E","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"1","size":150,"style":"500","w":51.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[23.767,0],[32.327,0],[32.327,-65.46],[24.774,-65.46],[10.474,-57.806],[12.186,-51.059],[23.566,-57.202],[23.767,-57.202]],"c":true},"ix":2},"nm":"1","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"}]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/UXSample_1920x1080/B Fills_All_01_1920x1080.json b/submodules/RLottie/Sources/rlottie/example/resource/UXSample_1920x1080/B Fills_All_01_1920x1080.json deleted file mode 100644 index 1e6d4b1b88..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/UXSample_1920x1080/B Fills_All_01_1920x1080.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.1.18","fr":30,"ip":0,"op":114,"w":1920,"h":1080,"nm":"B Fills_All_01","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 6","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":90,"ix":10},"p":{"a":0,"k":[1924.5,540,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[60,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-994,4],[1024,4]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":90,"ix":10},"p":{"a":0,"k":[643.833,540,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[60,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-994,4],[1024,4]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":90,"ix":10},"p":{"a":0,"k":[1284.167,540,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[60,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-994,4],[1024,4]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Shape Layer 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":90,"ix":10},"p":{"a":0,"k":[3.5,540,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[60,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-994,4],[1024,4]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[960,540,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-994,4],[1024,4]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]},{"id":"comp_1","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Rectantgle Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[375,244,0],"ix":2},"a":{"a":0,"k":[962,504,0],"ix":1},"s":{"a":0,"k":[50,50,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[139,139],[-139,139],[-139,-139],[139,-139]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0.901960790157,0.712618291378,0.054901961237,1],"e":[0.054901961237,0.631372570992,0.901960790157,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":15,"s":[0.054901961237,0.631372570992,0.901960790157,1],"e":[0.901960790157,0.713725507259,0.054901961237,1]},{"t":30}],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[962,504],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]},{"id":"comp_2","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Rectantgle Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[375,244,0],"ix":2},"a":{"a":0,"k":[962,504,0],"ix":1},"s":{"a":0,"k":[50,50,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[139,139],[-139,139],[-139,-139],[139,-139]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054901960784,0.63137254902,0.901960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[962,504],"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":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":15,"s":[0],"e":[100]},{"t":30}],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]},{"id":"comp_3","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Fill rlue Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[391.686,274.164,0],"ix":2},"a":{"a":0,"k":[960,540,0],"ix":1},"s":{"a":0,"k":[50,50,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[11.387,51.452],[-75.913,0],[20.243,-42.174],[-1.265,20.244],[-66.213,-5.061],[-0.421,-16.448],[57.356,-14.761],[-5.905,26.992],[-28.256,-32.474],[27.835,-38.378],[38.378,33.317],[-33.739,0],[49.344,-58.201],[0.844,65.37],[-10.122,3.374],[-3.795,-24.461],[29.522,0.843],[5.483,60.309],[-19.821,0],[-25.726,-13.496],[7.169,-10.965]],"o":[[0,0],[-11.387,-51.452],[75.913,0],[-20.244,42.174],[1.265,-20.243],[66.213,5.061],[0.422,16.448],[-57.357,14.761],[5.904,-26.991],[28.257,32.474],[-27.835,38.379],[-38.379,-33.318],[33.739,0],[-49.343,58.2],[-0.843,-65.369],[10.122,-3.374],[3.796,24.461],[-29.522,-0.843],[-5.483,-60.309],[19.822,0],[25.726,13.495],[-7.17,10.965]],"v":[[-27.834,-41.963],[-73.383,-69.798],[5.904,-198.429],[77.601,-61.363],[21.088,-63.472],[115.979,-114.502],[190.204,-37.324],[121.883,44.915],[50.188,17.502],[117.244,19.189],[135.8,135.589],[10.123,139.807],[0.844,48.289],[-0.422,140.229],[-140.018,98.476],[-80.13,-6.537],[-46.391,13.285],[-83.083,50.398],[-185.143,-36.902],[-121.039,-115.768],[-40.909,-101.428],[-16.026,-54.615]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054901960784,0.63137254902,0.901960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":2,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[924.302,493.932],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]},{"id":"comp_4","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Rectantgle Outlines 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[375,313.5,0],"ix":2},"a":{"a":0,"k":[962,643,0],"ix":1},"s":{"a":0,"k":[50,50,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[139,139],[-139,139],[-139,-139],[139,-139]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gf","o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":88,"s":[100],"e":[0]},{"t":108}],"ix":10},"r":1,"g":{"p":3,"k":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":42,"s":[0,0.055,0.631,0.902,0.592,0.478,0.673,0.478,1,0.902,0.714,0.055],"e":[0,0.902,0.055,0.173,0.592,0.902,0.384,0.114,1,0.902,0.714,0.055]},{"t":67}],"ix":9}},"s":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[0,0],"e":[0,426],"to":[0,71],"ti":[0,-71]},{"t":20}],"ix":5},"e":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":20,"s":[1,0],"e":[2,-140],"to":[0.16666667163372,-23.3333339691162],"ti":[-0.16666667163372,23.3333339691162]},{"t":40}],"ix":6},"t":2,"h":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":68,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":78,"s":[0],"e":[100]},{"t":88}],"ix":7},"a":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":42,"s":[0],"e":[360]},{"t":67}],"ix":8},"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[962,504],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]},{"id":"comp_5","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Rectantgle Outlines 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[375,244,0],"ix":2},"a":{"a":0,"k":[962,504,0],"ix":1},"s":{"a":0,"k":[50,50,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[139,139],[-139,139],[-139,-139],[139,-139]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gf","o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":40,"s":[100],"e":[0]},{"t":60}],"ix":10},"r":1,"g":{"p":3,"k":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":20,"s":[0,0.055,0.631,0.902,0.592,0.478,0.673,0.478,1,0.902,0.714,0.055,0,0.6,0.5,0.8,1,1],"e":[0,0.902,0.055,0.173,0.592,0.902,0.384,0.114,1,0.902,0.714,0.055,0,0.6,0.5,0.8,1,1]},{"t":40}],"ix":9}},"s":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[-235,0],"e":[0,0],"to":[39.1666679382324,0],"ti":[-39.1666679382324,0]},{"t":20}],"ix":5},"e":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":20,"s":[0,140],"e":[0,13],"to":[0,-21.1666660308838],"ti":[0,21.1666660308838]},{"t":40}],"ix":6},"t":1,"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[962,504],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]}],"fonts":{"list":[{"fName":"SamsungOne-500","fFamily":"SamsungOne","fStyle":"500","ascent":70.9991455078125}]},"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"div","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":10,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[960,540,0],"ix":2},"a":{"a":0,"k":[960,540,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":1920,"h":1080,"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":5,"nm":"B Fills_01 Color","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[39.375,62,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[14.576,14.576,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":150,"f":"SamsungOne-500","t":"B Fills_01 Color","j":0,"tr":44,"lh":180,"ls":0,"fc":[0.05,0.63,0.9]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":0,"op":115,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":5,"nm":"B Fills_02 Opacity","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[679.25,62,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[14.576,14.576,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":150,"f":"SamsungOne-500","t":"B Fills_02 Opacity","j":0,"tr":44,"lh":180,"ls":0,"fc":[0.05,0.63,0.9]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":0,"op":115,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":5,"nm":"B Fills_03 Fill Rule","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1320,62,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[14.576,14.576,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":150,"f":"SamsungOne-500","t":"B Fills_03 Fill Rule","j":0,"tr":44,"lh":180,"ls":0,"fc":[0.05,0.63,0.9]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":0,"op":115,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":5,"nm":"B Fills_04 Radial Gradient","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[39.375,601.938,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[14.576,14.576,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":150,"f":"SamsungOne-500","t":"B Fills_04 Radial Gradient","j":0,"tr":44,"lh":180,"ls":0,"fc":[0.05,0.63,0.9]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":0,"op":115,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":5,"nm":"B Fills_05 Linear Gradient","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[679.25,601.938,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[14.576,14.576,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":150,"f":"SamsungOne-500","t":"B Fills_05 Linear Gradient","j":0,"tr":44,"lh":180,"ls":0,"fc":[0.05,0.63,0.9]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":0,"op":115,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":0,"nm":"B Fills_01 Color","refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[328,267,0],"ix":2},"a":{"a":0,"k":[375,244,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":750,"h":488,"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":0,"nm":"B Fills_02 Opacity","refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[965.75,267,0],"ix":2},"a":{"a":0,"k":[375,244,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":750,"h":488,"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":0,"nm":"B Fills_03 Fill Rule","refId":"comp_3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1597.5,267,0],"ix":2},"a":{"a":0,"k":[375,244,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":750,"h":488,"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":0,"nm":"B Fills_04 Radial Gradient","refId":"comp_4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[328,809.5,0],"ix":2},"a":{"a":0,"k":[375,244,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":750,"h":488,"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":0,"nm":"B Fills_05 Linear Gradient","refId":"comp_5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[965.75,809.5,0],"ix":2},"a":{"a":0,"k":[375,244,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":750,"h":488,"ip":0,"op":6300,"st":0,"bm":0}],"markers":[],"chars":[{"ch":"B","size":150,"style":"500","w":54.2,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-6.042,0],[-4.733,4.33],[0,5.841],[6.445,1.611],[0,0],[0,6.546],[3.525,2.618],[8.762,0],[3.827,-0.806]],"o":[[2.921,0.403],[11.078,0],[3.424,-3.323],[0,-10.071],[0,0],[7.15,-2.618],[0,-5.338],[-4.23,-3.424],[-6.143,0],[0,0]],"v":[[7.654,-0.201],[21.249,0.604],[44.714,-5.74],[50.455,-19.336],[36.456,-36.356],[36.456,-36.557],[47.937,-51.462],[42.297,-63.446],[23.666,-68.381],[7.654,-66.971]],"c":true},"ix":2},"nm":"B","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[-4.028,0],[0,-7.956],[9.265,0],[0,0]],"o":[[1.41,-0.302],[8.862,0],[0,6.546],[0,0],[0,0]],"v":[[16.415,-61.029],[24.17,-61.633],[39.075,-50.555],[24.371,-39.175],[16.415,-39.175]],"c":true},"ix":2},"nm":"B","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,-9.265],[9.064,0],[1.712,0.302]],"o":[[0,0],[9.567,0],[0,9.869],[-3.122,0],[0,0]],"v":[[16.415,-32.529],[23.666,-32.529],[41.19,-19.437],[23.767,-6.244],[16.415,-6.647]],"c":true},"ix":2},"nm":"B","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"B","np":6,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":" ","size":150,"style":"500","w":21.2,"data":{},"fFamily":"SamsungOne"},{"ch":"F","size":150,"style":"500","w":48.7,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[7.654,0],[16.415,0],[16.415,-30.716],[42.096,-30.716],[42.096,-37.967],[16.415,-37.967],[16.415,-60.526],[44.211,-60.526],[44.211,-67.877],[7.654,-67.877]],"c":true},"ix":2},"nm":"F","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"F","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"i","size":150,"style":"500","w":23.4,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[16.214,0],[16.214,-48.743],[7.352,-48.743],[7.352,0]],"c":true},"ix":2},"nm":"i","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[3.323,0],[0,-3.122],[-3.122,0],[0.101,3.021]],"o":[[-3.223,0],[0,3.021],[3.525,0],[0,-3.122]],"v":[[11.783,-67.978],[6.244,-62.439],[11.581,-57.001],[17.221,-62.439]],"c":true},"ix":2},"nm":"i","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"i","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"l","size":150,"style":"500","w":23.6,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[7.352,0],[16.214,0],[16.214,-71.503],[7.352,-71.503]],"c":true},"ix":2},"nm":"l","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"l","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"s","size":150,"style":"500","w":39.6,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-5.338,0],[0,8.56],[8.459,3.223],[0,4.028],[-5.237,0],[-1.913,-1.208],[0,0],[4.935,0],[0,-7.855],[-8.762,-3.122],[0,-4.23],[6.445,0],[2.618,1.712]],"o":[[3.424,2.014],[11.581,0],[0,-7.251],[-6.345,-2.417],[0,-3.625],[4.532,0],[0,0],[-2.719,-1.611],[-10.474,0],[0,5.841],[6.546,2.417],[0,4.028],[-4.431,0],[0,0]],"v":[[3.928,-2.316],[17.624,1.007],[35.852,-13.596],[23.062,-28.299],[13.797,-36.557],[21.954,-43.204],[31.924,-40.384],[34.14,-46.829],[22.156,-49.85],[5.338,-35.55],[18.228,-21.753],[27.292,-12.79],[17.825,-5.539],[6.143,-9.064]],"c":true},"ix":2},"nm":"s","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"s","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"_","size":150,"style":"500","w":50,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[0,7.553],[0,12.589],[50.354,12.589],[50.354,7.553]],"c":true},"ix":2},"nm":"_","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"_","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"0","size":150,"style":"500","w":51.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[13.797,0],[0,-21.954],[-12.79,0],[0,22.256]],"o":[[-13.293,0],[0.201,21.652],[14.502,0],[0,-20.847]],"v":[[26.385,-66.568],[3.625,-32.529],[25.278,1.108],[48.038,-33.435]],"c":true},"ix":2},"nm":"0","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-7.755,0],[0,-16.113],[9.064,0],[0,17.02]],"o":[[9.164,0],[0,16.718],[-8.057,0],[0,-17.825]],"v":[[25.882,-59.72],[39.175,-33.032],[25.781,-5.74],[12.488,-32.428]],"c":true},"ix":2},"nm":"0","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"0","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"5","size":150,"style":"500","w":51.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-3.726,0],[-0.101,-8.459],[8.359,0],[2.719,1.611],[0,0],[-7.15,0],[0,12.79],[5.136,2.921],[5.035,0],[1.511,-0.201],[0,0],[0,0]],"o":[[0,0],[0,0],[2.417,-0.302],[13.092,0],[0,8.762],[-5.942,0],[0,0],[3.122,2.014],[14.2,0],[0,-8.258],[-4.028,-2.417],[-2.417,0],[0,0],[0,0],[0,0]],"v":[[43.607,-65.46],[12.286,-65.46],[8.057,-34.039],[17.12,-34.744],[35.953,-20.242],[20.444,-6.042],[6.445,-9.668],[4.23,-2.921],[20.544,1.108],[44.916,-21.249],[35.55,-38.068],[21.451,-41.592],[16.113,-41.19],[18.631,-58.008],[43.607,-58.008]],"c":true},"ix":2},"nm":"5","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"5","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"L","size":150,"style":"500","w":47.2,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[7.654,0],[45.419,0],[45.419,-7.352],[16.415,-7.352],[16.415,-67.877],[7.654,-67.877]],"c":true},"ix":2},"nm":"L","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"L","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"n","size":150,"style":"500","w":55.5,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-0.403,1.108],[-5.841,0],[0,-7.855],[0,0],[0,0],[0,0],[6.747,0],[2.417,-4.633],[0,0],[0,0],[0,0],[0,-5.035]],"o":[[0,0],[0,0],[0,-1.511],[1.511,-4.935],[8.359,0],[0,0],[0,0],[0,0],[0,-16.718],[-8.057,0],[0,0],[0,0],[0,0],[0.302,4.028],[0,0]],"v":[[7.352,0],[16.214,0],[16.214,-29.306],[16.818,-33.435],[28.702,-42.499],[39.981,-28.098],[39.981,0],[48.843,0],[48.843,-29.105],[31.622,-49.85],[15.509,-40.686],[15.308,-40.686],[14.804,-48.743],[6.949,-48.743],[7.352,-35.55]],"c":true},"ix":2},"nm":"n","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"n","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"e","size":150,"style":"500","w":50.1,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,1.813],[15.912,0],[0,-14.703],[-15.005,0],[-3.122,1.41],[0,0],[6.345,0],[0.201,11.984]],"o":[[0.101,-0.906],[0,-8.963],[-14.2,0],[0,14.703],[7.755,0],[0,0],[-3.323,1.41],[-8.862,0],[0,0]],"v":[[46.527,-22.76],[46.829,-26.889],[26.688,-49.85],[3.827,-23.566],[27.795,1.007],[44.009,-2.014],[42.499,-8.359],[29.004,-5.841],[12.286,-22.76]],"c":true},"ix":2},"nm":"e","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[-8.963,0],[0.101,-5.64]],"o":[[0.705,-6.143],[9.97,0],[0,0]],"v":[[12.387,-29.105],[25.983,-43.506],[38.269,-29.105]],"c":true},"ix":2},"nm":"e","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"e","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"a","size":150,"style":"500","w":48.2,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,4.23],[0,0],[14.905,0],[4.028,-2.618],[0,0],[-4.532,0],[0,-4.028],[0,0],[0,-11.783],[-9.869,0],[-2.719,3.827],[0,0],[0,0]],"o":[[-0.604,-3.323],[0,0],[0,-9.769],[-6.143,0],[0,0],[3.424,-2.216],[9.97,0],[0,0],[-18.832,-0.101],[0,7.05],[6.949,0],[0,0],[0,0],[0,0]],"v":[[42.398,0],[41.592,-11.682],[41.592,-29.91],[23.062,-49.85],[7.05,-45.52],[9.064,-39.679],[21.753,-43.304],[32.831,-32.025],[32.831,-31.018],[3.525,-12.891],[18.43,1.108],[33.334,-6.143],[33.636,-6.143],[34.341,0]],"c":true},"ix":2},"nm":"a","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0.302,-0.906],[6.345,0],[0,5.74],[-9.668,-0.201]],"o":[[0,0.906],[-1.41,4.129],[-4.532,0],[0,-9.467],[0,0]],"v":[[33.032,-16.415],[32.529,-13.596],[20.746,-5.438],[12.387,-13.898],[33.032,-24.875]],"c":true},"ix":2},"nm":"a","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"a","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"r","size":150,"style":"500","w":33.1,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-0.201,1.208],[-6.244,0],[-0.906,-0.201],[0,0],[1.007,0],[2.216,-6.546],[0,0],[0,0],[0,0],[0,-5.74]],"o":[[0,0],[0,0],[0,-1.511],[1.208,-6.647],[1.208,0],[0,0],[-0.806,-0.201],[-5.942,0],[0,0],[0,0],[0,0],[0.302,4.532],[0,0]],"v":[[7.352,0],[16.113,0],[16.113,-25.983],[16.516,-30.112],[28.4,-41.492],[31.421,-41.19],[31.421,-49.548],[28.903,-49.85],[15.408,-39.175],[15.005,-39.175],[14.703,-48.743],[6.949,-48.743],[7.352,-33.536]],"c":true},"ix":2},"nm":"r","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"r","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"G","size":150,"style":"500","w":64.6,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[5.74,0],[0,17.221],[-16.516,0],[-3.625,-1.611],[0,0],[7.855,0],[0.101,-20.242],[-5.841,-5.64],[-10.272,0],[-3.928,1.41]],"o":[[0,0],[0,0],[0,0],[0,0],[-2.014,1.007],[-15.811,0],[0,-17.02],[6.848,0],[0,0],[-2.921,-1.41],[-22.76,0],[0,10.574],[6.647,6.345],[9.164,0],[0,0]],"v":[[59.317,-35.651],[36.96,-35.651],[36.96,-28.601],[50.757,-28.601],[50.757,-8.359],[39.075,-6.546],[12.891,-33.939],[40.182,-61.23],[55.188,-58.31],[57.303,-65.46],[40.384,-68.582],[3.625,-33.536],[13.092,-8.258],[38.47,0.705],[59.317,-3.021]],"c":true},"ix":2},"nm":"G","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"G","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"d","size":150,"style":"500","w":56.4,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[7.452,0],[-0.101,-16.214],[-11.783,0],[-2.719,5.438],[0,0],[0,0],[0,0],[0,4.33],[0,0]],"o":[[0,0],[0,0],[-2.216,-3.928],[-11.884,0],[0,14.804],[7.956,0],[0,0],[0,0],[0,0],[-0.302,-3.323],[0,0],[0,0]],"v":[[40.585,-71.503],[40.585,-42.398],[40.384,-42.398],[25.681,-49.85],[3.827,-23.666],[24.673,1.108],[41.29,-8.459],[41.492,-8.459],[41.895,0],[49.85,0],[49.448,-12.589],[49.448,-71.503]],"c":true},"ix":2},"nm":"d","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0.302,-1.208],[5.942,0],[0,9.869],[-9.164,0],[-1.309,-5.64],[0,-1.108]],"o":[[0,1.41],[-1.611,6.647],[-9.567,0],[0,-10.776],[6.647,0],[0.302,1.108],[0,0]],"v":[[40.585,-20.444],[40.182,-16.617],[27.191,-6.042],[12.79,-24.069],[27.393,-42.902],[40.182,-32.629],[40.585,-28.903]],"c":true},"ix":2},"nm":"d","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"d","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"t","size":150,"style":"500","w":33.1,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-2.518,-2.618],[-4.129,0],[-1.712,0.705],[0,0],[2.316,0],[0,6.042],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,5.74],[2.115,2.417],[3.424,0],[0,0],[-1.108,0.302],[-4.935,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[9.366,-60.425],[9.366,-48.743],[1.813,-48.743],[1.813,-41.995],[9.366,-41.995],[9.366,-15.408],[12.79,-2.719],[22.357,1.007],[30.212,-0.201],[29.81,-6.848],[24.673,-6.244],[18.027,-15.71],[18.027,-41.995],[30.716,-41.995],[30.716,-48.743],[18.027,-48.743],[18.027,-62.741]],"c":true},"ix":2},"nm":"t","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"t","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"4","size":150,"style":"500","w":51.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[40.283,0],[40.283,-17.825],[49.448,-17.825],[49.448,-24.774],[40.283,-24.774],[40.283,-65.46],[30.716,-65.46],[1.511,-23.666],[1.511,-17.825],[31.924,-17.825],[31.924,0]],"c":true},"ix":2},"nm":"4","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-2.014,3.827],[0,0],[0,-3.424],[0,0]],"o":[[0,0],[0,0],[1.813,-3.021],[0,0],[-0.201,3.424],[0,0],[0,0]],"v":[[10.474,-24.774],[10.474,-24.976],[26.486,-47.232],[31.924,-56.9],[32.227,-56.9],[31.924,-46.628],[31.924,-24.774]],"c":true},"ix":2},"nm":"4","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"4","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"R","size":150,"style":"500","w":53.8,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[-2.014,-9.366],[-1.108,-1.913],[0,0],[2.216,9.467],[5.237,1.813],[0,0],[0,8.963],[3.424,3.021],[9.366,0],[4.431,-0.906]],"o":[[0,0],[0,0],[0,0],[7.956,0.302],[1.913,8.459],[0,0],[-1.41,-2.618],[-1.611,-7.05],[0,0],[7.15,-2.417],[0,-5.237],[-4.23,-3.827],[-6.042,0],[0,0]],"v":[[7.654,0],[16.415,0],[16.415,-29.407],[24.673,-29.407],[38.269,-16.214],[42.801,0],[51.865,0],[46.628,-18.631],[36.658,-32.327],[36.658,-32.629],[49.448,-49.951],[44.11,-62.842],[24.472,-68.381],[7.654,-66.971]],"c":true},"ix":2},"nm":"R","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[-4.23,0],[0,-8.762],[9.366,0],[0,0]],"o":[[1.41,-0.403],[9.265,0.101],[0,7.755],[0,0],[0,0]],"v":[[16.415,-60.828],[25.076,-61.633],[40.686,-48.944],[25.378,-36.053],[16.415,-36.053]],"c":true},"ix":2},"nm":"R","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"R","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"3","size":150,"style":"500","w":51.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-7.352,0],[0,10.474],[8.057,1.611],[0,0],[0,6.747],[12.891,0],[3.424,-2.518],[0,0],[-5.237,0],[0,-5.237],[6.445,0],[0,0],[0,0],[0,0],[-0.101,-9.164],[11.38,0],[2.518,1.611]],"o":[[3.223,2.115],[15.71,0],[0,-9.164],[0,0],[8.057,-2.921],[0,-7.956],[-7.05,0],[0,0],[2.82,-2.014],[8.157,0],[0,7.755],[0,0],[0,0],[0,0],[8.56,0],[0.101,5.438],[-6.143,0],[0,0]],"v":[[4.23,-3.323],[21.249,1.108],[45.117,-18.53],[30.515,-35.349],[30.515,-35.55],[42.599,-50.958],[23.868,-66.568],[6.747,-61.533],[9.064,-55.087],[22.156,-59.418],[33.636,-49.548],[19.034,-38.47],[14.099,-38.47],[14.099,-31.824],[19.034,-31.824],[35.953,-18.732],[21.149,-6.042],[6.647,-10.172]],"c":true},"ix":2},"nm":"3","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"3","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"u","size":150,"style":"500","w":55.1,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0.504,-1.309],[5.942,0],[0,9.265],[0,0],[0,0],[0,0],[-7.654,0],[-2.316,3.928],[0,0],[0,0],[0,0],[0,5.035]],"o":[[0,0],[0,0],[0,1.611],[-1.611,3.928],[-8.057,0],[0,0],[0,0],[0,0],[0,17.12],[8.661,0],[0,0],[0,0],[0,0],[-0.302,-3.827],[0,0]],"v":[[48.138,-48.743],[39.276,-48.743],[39.276,-18.832],[38.47,-14.301],[26.788,-6.244],[15.912,-21.753],[15.912,-48.743],[7.05,-48.743],[7.05,-20.242],[23.868,1.108],[39.981,-7.956],[40.182,-7.956],[40.686,0],[48.541,0],[48.138,-13.293]],"c":true},"ix":2},"nm":"u","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"u","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"2","size":150,"style":"500","w":51.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,12.085],[14.099,0],[4.532,-3.827],[0,0],[-5.942,0],[0,-6.647],[16.718,-15.912],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[13.797,-13.293],[0,-9.366],[-7.553,0],[0,0],[3.021,-2.518],[9.769,0],[-0.101,9.869],[0,0],[0,0],[0,0]],"v":[[46.326,0],[46.326,-7.352],[16.919,-7.352],[16.919,-7.553],[22.156,-12.387],[44.714,-47.534],[24.673,-66.568],[6.143,-59.921],[8.963,-53.677],[22.861,-59.216],[35.852,-46.426],[11.481,-12.186],[4.532,-5.438],[4.532,0]],"c":true},"ix":2},"nm":"2","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"2","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"O","size":150,"style":"500","w":68.9,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[18.53,0],[0,-21.552],[-17.926,0],[0,23.364]],"o":[[-18.127,0],[0,20.544],[17.322,0],[0,-20.142]],"v":[[35.147,-68.985],[3.625,-33.334],[34.14,1.108],[65.662,-34.644]],"c":true},"ix":2},"nm":"O","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-14.502,0],[0,-13.495],[13.898,0],[0,14.502]],"o":[[14.603,0],[0,15.408],[-13.797,0],[0,-14.905]],"v":[[34.744,-61.835],[56.396,-34.241],[34.644,-6.042],[12.991,-33.536]],"c":true},"ix":2},"nm":"O","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"O","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"p","size":150,"style":"500","w":56.9,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[-6.445,0],[0,17.523],[11.783,0],[3.625,-5.942],[0,0],[0,0],[0,0],[0,-6.244]],"o":[[0,0],[0,0],[0,0],[2.921,4.834],[11.481,0],[0,-14.804],[-7.956,0],[0,0],[0,0],[0,0],[0.201,4.633],[0,0]],"v":[[7.352,19.94],[16.113,19.94],[16.113,-6.546],[16.315,-6.546],[31.32,1.108],[53.476,-25.076],[32.831,-49.85],[15.509,-40.384],[15.308,-40.384],[14.905,-48.743],[6.949,-48.743],[7.352,-32.831]],"c":true},"ix":2},"nm":"p","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[-0.302,1.108],[-6.042,0],[0,-9.769],[9.366,0],[1.611,6.143],[0,1.309]],"o":[[0,-1.208],[1.712,-6.647],[9.366,0],[0,11.179],[-6.345,0],[-0.201,-1.108],[0,0]],"v":[[16.113,-28.198],[16.718,-31.824],[30.112,-42.801],[44.614,-24.673],[29.81,-5.841],[16.516,-16.214],[16.113,-19.839]],"c":true},"ix":2},"nm":"p","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"p","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"c","size":150,"style":"500","w":44.2,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[5.035,0],[0,11.279],[-11.179,0],[-2.115,-1.208],[0,0],[5.237,0],[0,-15.005],[-14.703,0],[-2.316,1.208]],"o":[[-2.518,1.108],[-9.668,0],[0,-10.172],[4.834,0],[0,0],[-2.417,-1.208],[-15.912,0],[0,14.905],[6.546,0],[0,0]],"v":[[40.585,-8.459],[29.709,-6.042],[12.79,-24.271],[30.011,-42.7],[40.283,-40.384],[42.297,-47.232],[30.011,-49.75],[3.827,-23.868],[28.098,1.007],[42.096,-1.813]],"c":true},"ix":2},"nm":"c","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"c","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"y","size":150,"style":"500","w":48.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,-0.504],[0.403,-0.906],[2.417,-1.913],[2.216,-0.705],[0,0],[-4.33,3.827],[-6.345,16.718],[0,0],[0,0],[0,0],[0.906,-2.921],[0,0],[1.108,3.223],[0,0]],"o":[[0,0],[0.403,1.108],[0,0.504],[-2.014,4.532],[-2.618,2.216],[0,0],[2.216,-0.403],[6.042,-5.237],[0,0],[0,0],[0,0],[-1.208,3.525],[0,0],[-0.806,-2.921],[0,0],[0,0]],"v":[[0.906,-48.743],[18.933,-3.827],[19.537,-1.511],[18.832,0.604],[11.38,10.474],[3.625,14.804],[5.841,22.256],[16.718,16.516],[33.435,-13.998],[46.729,-48.743],[37.363,-48.743],[27.695,-20.142],[24.573,-9.97],[24.371,-9.97],[21.249,-19.94],[10.574,-48.743]],"c":true},"ix":2},"nm":"y","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"y","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"1","size":150,"style":"500","w":51.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[23.767,0],[32.327,0],[32.327,-65.46],[24.774,-65.46],[10.474,-57.806],[12.186,-51.059],[23.566,-57.202],[23.767,-57.202]],"c":true},"ix":2},"nm":"1","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"C","size":150,"style":"500","w":55.9,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[5.338,0],[0,16.617],[-15.912,0],[-3.323,-1.611],[0,0],[8.459,0],[0,-21.249],[-19.135,0],[-3.223,1.611]],"o":[[-3.525,1.712],[-16.516,0],[0,-17.825],[5.64,0],[0,0],[-2.316,-1.208],[-21.048,0],[0,22.256],[8.258,0],[0,0]],"v":[[53.275,-9.164],[38.974,-6.345],[12.891,-33.636],[39.377,-61.633],[53.073,-58.813],[55.188,-65.964],[39.075,-68.985],[3.625,-33.334],[37.161,1.007],[55.087,-2.216]],"c":true},"ix":2},"nm":"C","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"C","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"o","size":150,"style":"500","w":54.9,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[13.998,0],[0,-16.315],[-13.193,0],[0,18.027]],"o":[[-13.495,0],[0,15.408],[11.783,0],[0,-14.905]],"v":[[27.997,-49.85],[3.827,-23.969],[27.191,1.108],[51.462,-24.774]],"c":true},"ix":2},"nm":"o","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-10.474,0],[0,-8.258],[8.459,0],[0,10.675]],"o":[[10.474,0],[0,10.977],[-8.661,0],[0,-9.265]],"v":[[27.795,-43.204],[42.398,-24.472],[27.594,-5.539],[12.79,-24.271]],"c":true},"ix":2},"nm":"o","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"o","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"}]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/UXSample_1920x1080/C Strokes_All_01_1920x1080.json b/submodules/RLottie/Sources/rlottie/example/resource/UXSample_1920x1080/C Strokes_All_01_1920x1080.json deleted file mode 100644 index a8984437b7..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/UXSample_1920x1080/C Strokes_All_01_1920x1080.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.1.18","fr":30,"ip":0,"op":36,"w":1920,"h":1080,"nm":"C Strokes_All_01","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 6","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":90,"ix":10},"p":{"a":0,"k":[1924.5,540,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[60,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-994,4],[1024,4]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":90,"ix":10},"p":{"a":0,"k":[483.75,540,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[60,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-994,4],[1024,4]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":90,"ix":10},"p":{"a":0,"k":[964,540,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[60,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-994,4],[1024,4]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Shape Layer 3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":90,"ix":10},"p":{"a":0,"k":[1444.25,540,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[60,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-994,4],[1024,4]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Shape Layer 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":90,"ix":10},"p":{"a":0,"k":[3.5,540,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[60,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-994,4],[1024,4]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[960,540,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-994,4],[1024,4]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]},{"id":"comp_1","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Rectantgle Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[375,244,0],"ix":2},"a":{"a":0,"k":[962,504,0],"ix":1},"s":{"a":0,"k":[50,50,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[139,139],[-139,139],[-139,-139],[139,-139]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[962,504],"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,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"st","c":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0.901960790157,0.713725507259,0.054901961237,1],"e":[0.054901961237,0.631372570992,0.901960790157,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":15,"s":[0.054901961237,0.631372570992,0.901960790157,1],"e":[0.901960790157,0.713725507259,0.054901961237,1]},{"t":30}],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":15,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]},{"id":"comp_2","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Rectantgle Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[375,244,0],"ix":2},"a":{"a":0,"k":[962,504,0],"ix":1},"s":{"a":0,"k":[50,50,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[139,139],[-139,139],[-139,-139],[139,-139]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[962,504],"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,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.054901961237,0.631372570992,0.901960790157,1],"ix":3},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":15,"s":[0],"e":[100]},{"t":30}],"ix":4},"w":{"a":0,"k":15,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]},{"id":"comp_3","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Rectantgle Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[375,244,0],"ix":2},"a":{"a":0,"k":[962,504,0],"ix":1},"s":{"a":0,"k":[50,50,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[139,139],[-139,139],[-139,-139],[139,-139]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[962,504],"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,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.054901960784,0.63137254902,0.901960784314,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[15],"e":[40]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":15,"s":[40],"e":[15]},{"t":30}],"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]},{"id":"comp_4","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"line Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[375.125,243.75,0],"ix":2},"a":{"a":0,"k":[960,540,0],"ix":1},"s":{"a":0,"k":[50,50,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-194.25,95.5],[-194.25,-96],[19.75,-96],[19.75,96],[194.25,96]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.054901960784,0.63137254902,0.901960784314,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":15,"ix":5},"lc":2,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[959.75,540.5],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]},{"id":"comp_5","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Rectantgle Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[375,244,0],"ix":2},"a":{"a":0,"k":[962,504,0],"ix":1},"s":{"a":0,"k":[50,50,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[139,139],[-139,139],[-139,-139],[139,-139]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[962,504],"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,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.054901960784,0.63137254902,0.901960784314,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":50,"ix":5},"lc":1,"lj":2,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]},{"id":"comp_6","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Rectantgle Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[375,244,0],"ix":2},"a":{"a":0,"k":[962,504,0],"ix":1},"s":{"a":0,"k":[50,50,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[139,139],[-139,139],[-139,-139],[139,-139]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[962,504],"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,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.054901960784,0.63137254902,0.901960784314,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":50,"ix":5},"lc":1,"lj":1,"ml":1,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[0.054901960784,0.63137254902,0.901960784314,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":1,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]},{"id":"comp_7","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Rectantgle Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[375,244,0],"ix":2},"a":{"a":0,"k":[962,504,0],"ix":1},"s":{"a":0,"k":[50,50,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[139,139],[-139,139],[-139,-139],[139,-139]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[962,504],"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,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.054901960784,0.63137254902,0.901960784314,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":15,"ix":5},"lc":1,"lj":1,"ml":4,"d":[{"n":"d","nm":"dash","v":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[10],"e":[73]},{"t":30}],"ix":1}},{"n":"o","nm":"offset","v":{"a":0,"k":0,"ix":7}}],"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]},{"id":"comp_8","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Rectantgle Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[375,244,0],"ix":2},"a":{"a":0,"k":[962,504,0],"ix":1},"s":{"a":0,"k":[50,50,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[139,139],[-139,139],[-139,-139],[139,-139]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[962,504],"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,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gs","o":{"a":0,"k":100,"ix":9},"w":{"a":0,"k":15,"ix":10},"g":{"p":3,"k":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":40,"s":[0,0.055,0.631,0.902,0.5,0.478,0.673,0.478,1,0.902,0.714,0.055],"e":[0,0.902,0.055,0.174,0.5,0.902,0.384,0.115,1,0.902,0.714,0.055]},{"t":50}],"ix":8}},"s":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":20,"s":[0,143],"e":[130,601],"to":[21.6666660308838,76.3333358764648],"ti":[-21.6666660308838,-76.3333358764648]},{"t":40}],"ix":4},"e":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[-76,0],"e":[184,0],"to":[43.3333320617676,0],"ti":[-43.3333320617676,0]},{"t":20}],"ix":5},"t":1,"lc":1,"lj":1,"ml":4,"nm":"Gradient Stroke 1","mn":"ADBE Vector Graphic - G-Stroke","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]}],"fonts":{"list":[{"fName":"SamsungOne-500","fFamily":"SamsungOne","fStyle":"500","ascent":70.9991455078125}]},"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"div","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":10,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[960,540,0],"ix":2},"a":{"a":0,"k":[960,540,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":1920,"h":1080,"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":5,"nm":"C Strokes_01 Color","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[39.375,62,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[14.576,14.576,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":150,"f":"SamsungOne-500","t":"C Strokes_01 Color","j":0,"tr":44,"lh":180,"ls":0,"fc":[0.05,0.63,0.9]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":0,"op":37,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":5,"nm":"C Strokes_02 Opacity","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[519.5,62,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[14.576,14.576,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":150,"f":"SamsungOne-500","t":"C Strokes_02 Opacity","j":0,"tr":44,"lh":180,"ls":0,"fc":[0.05,0.63,0.9]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":0,"op":37,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":5,"nm":"C Strokes_03 Width","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1000.375,62,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[14.576,14.576,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":150,"f":"SamsungOne-500","t":"C Strokes_03 Width","j":0,"tr":44,"lh":180,"ls":0,"fc":[0.05,0.63,0.9]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":0,"op":37,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":5,"nm":"C Strokes_04 Line Cap","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1480.5,62,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[14.576,14.576,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":150,"f":"SamsungOne-500","t":"C Strokes_04 Line Cap","j":0,"tr":44,"lh":180,"ls":0,"fc":[0.05,0.63,0.9]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":0,"op":37,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":5,"nm":"C Strokes_05 Line Join","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[39.375,601.938,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[14.576,14.576,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":150,"f":"SamsungOne-500","t":"C Strokes_05 Line Join","j":0,"tr":44,"lh":180,"ls":0,"fc":[0.05,0.63,0.9]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":0,"op":37,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":5,"nm":"C Strokes_06 Miter Limit","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[519.5,601.938,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[14.576,14.576,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":150,"f":"SamsungOne-500","t":"C Strokes_06 Miter Limit","j":0,"tr":44,"lh":180,"ls":0,"fc":[0.05,0.63,0.9]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":0,"op":37,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":5,"nm":"C Strokes_07 Dashes","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1000.375,601.938,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[14.576,14.576,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":150,"f":"SamsungOne-500","t":"C Strokes_07 Dashes","j":0,"tr":44,"lh":180,"ls":0,"fc":[0.05,0.63,0.9]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":0,"op":37,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":5,"nm":"C Strokes_08 Gradient","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1480.5,601.938,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[14.576,14.576,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":150,"f":"SamsungOne-500","t":"C Strokes_08 Gradient","j":0,"tr":44,"lh":180,"ls":0,"fc":[0.05,0.63,0.9]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":0,"op":37,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":0,"nm":"C Strokes_01 Color","refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[248,267,0],"ix":2},"a":{"a":0,"k":[375,244,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":750,"h":488,"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":0,"nm":"C Strokes_02 Opacity","refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[726,267,0],"ix":2},"a":{"a":0,"k":[375,244,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":750,"h":488,"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":0,"nm":"C Strokes_03 Width","refId":"comp_3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1204,267,0],"ix":2},"a":{"a":0,"k":[375,244,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":750,"h":488,"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":0,"nm":"C Strokes_04 Line Cap","refId":"comp_4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1678,267,0],"ix":2},"a":{"a":0,"k":[375,244,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":750,"h":488,"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":0,"nm":"C Strokes_05 Line Join","refId":"comp_5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[248,809.5,0],"ix":2},"a":{"a":0,"k":[375,244,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":750,"h":488,"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":15,"ty":0,"nm":"C Strokes_06 Miter Limit","refId":"comp_6","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[732,809.5,0],"ix":2},"a":{"a":0,"k":[375,244,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":750,"h":488,"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":16,"ty":0,"nm":"C Strokes_07 Dashes","refId":"comp_7","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1198,809.5,0],"ix":2},"a":{"a":0,"k":[375,244,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":750,"h":488,"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":17,"ty":0,"nm":"C Strokes_08 Gradient","refId":"comp_8","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1678,809.5,0],"ix":2},"a":{"a":0,"k":[375,244,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":750,"h":488,"ip":0,"op":6300,"st":0,"bm":0}],"markers":[],"chars":[{"ch":"C","size":150,"style":"500","w":55.9,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[5.338,0],[0,16.617],[-15.912,0],[-3.323,-1.611],[0,0],[8.459,0],[0,-21.249],[-19.135,0],[-3.223,1.611]],"o":[[-3.525,1.712],[-16.516,0],[0,-17.825],[5.64,0],[0,0],[-2.316,-1.208],[-21.048,0],[0,22.256],[8.258,0],[0,0]],"v":[[53.275,-9.164],[38.974,-6.345],[12.891,-33.636],[39.377,-61.633],[53.073,-58.813],[55.188,-65.964],[39.075,-68.985],[3.625,-33.334],[37.161,1.007],[55.087,-2.216]],"c":true},"ix":2},"nm":"C","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"C","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":" ","size":150,"style":"500","w":21.2,"data":{},"fFamily":"SamsungOne"},{"ch":"S","size":150,"style":"500","w":49.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-6.546,0],[0,10.474],[11.481,4.431],[0,6.345],[-9.265,0],[-2.216,-1.208],[0,0],[6.949,0],[0,-10.574],[-11.078,-3.928],[0,-6.345],[8.963,0],[3.928,2.417]],"o":[[3.625,2.417],[16.013,0],[0,-9.97],[-9.366,-3.625],[0,-4.633],[6.143,0],[0,0],[-3.021,-1.712],[-13.193,0],[0,9.567],[9.164,3.525],[0,6.848],[-6.042,0],[0,0]],"v":[[4.23,-3.323],[21.552,1.007],[45.319,-18.53],[27.997,-38.47],[14.502,-51.562],[27.292,-61.734],[40.182,-58.511],[42.599,-65.662],[27.594,-68.985],[5.64,-50.555],[23.566,-31.32],[36.356,-17.825],[22.156,-6.244],[6.445,-10.675]],"c":true},"ix":2},"nm":"S","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"S","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"t","size":150,"style":"500","w":33.1,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-2.518,-2.618],[-4.129,0],[-1.712,0.705],[0,0],[2.316,0],[0,6.042],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,5.74],[2.115,2.417],[3.424,0],[0,0],[-1.108,0.302],[-4.935,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[9.366,-60.425],[9.366,-48.743],[1.813,-48.743],[1.813,-41.995],[9.366,-41.995],[9.366,-15.408],[12.79,-2.719],[22.357,1.007],[30.212,-0.201],[29.81,-6.848],[24.673,-6.244],[18.027,-15.71],[18.027,-41.995],[30.716,-41.995],[30.716,-48.743],[18.027,-48.743],[18.027,-62.741]],"c":true},"ix":2},"nm":"t","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"t","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"r","size":150,"style":"500","w":33.1,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-0.201,1.208],[-6.244,0],[-0.906,-0.201],[0,0],[1.007,0],[2.216,-6.546],[0,0],[0,0],[0,0],[0,-5.74]],"o":[[0,0],[0,0],[0,-1.511],[1.208,-6.647],[1.208,0],[0,0],[-0.806,-0.201],[-5.942,0],[0,0],[0,0],[0,0],[0.302,4.532],[0,0]],"v":[[7.352,0],[16.113,0],[16.113,-25.983],[16.516,-30.112],[28.4,-41.492],[31.421,-41.19],[31.421,-49.548],[28.903,-49.85],[15.408,-39.175],[15.005,-39.175],[14.703,-48.743],[6.949,-48.743],[7.352,-33.536]],"c":true},"ix":2},"nm":"r","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"r","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"o","size":150,"style":"500","w":54.9,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[13.998,0],[0,-16.315],[-13.193,0],[0,18.027]],"o":[[-13.495,0],[0,15.408],[11.783,0],[0,-14.905]],"v":[[27.997,-49.85],[3.827,-23.969],[27.191,1.108],[51.462,-24.774]],"c":true},"ix":2},"nm":"o","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-10.474,0],[0,-8.258],[8.459,0],[0,10.675]],"o":[[10.474,0],[0,10.977],[-8.661,0],[0,-9.265]],"v":[[27.795,-43.204],[42.398,-24.472],[27.594,-5.539],[12.79,-24.271]],"c":true},"ix":2},"nm":"o","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"o","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"k","size":150,"style":"500","w":48.6,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[1.208,-1.712],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.41,1.712],[0,0],[0,0]],"v":[[16.113,-71.503],[7.352,-71.503],[7.352,0],[16.113,0],[16.113,-18.329],[20.645,-23.364],[37.463,0],[48.239,0],[26.788,-28.702],[45.621,-48.743],[34.946,-48.743],[20.645,-31.924],[16.315,-26.385],[16.113,-26.385]],"c":true},"ix":2},"nm":"k","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"k","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"e","size":150,"style":"500","w":50.1,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,1.813],[15.912,0],[0,-14.703],[-15.005,0],[-3.122,1.41],[0,0],[6.345,0],[0.201,11.984]],"o":[[0.101,-0.906],[0,-8.963],[-14.2,0],[0,14.703],[7.755,0],[0,0],[-3.323,1.41],[-8.862,0],[0,0]],"v":[[46.527,-22.76],[46.829,-26.889],[26.688,-49.85],[3.827,-23.566],[27.795,1.007],[44.009,-2.014],[42.499,-8.359],[29.004,-5.841],[12.286,-22.76]],"c":true},"ix":2},"nm":"e","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[-8.963,0],[0.101,-5.64]],"o":[[0.705,-6.143],[9.97,0],[0,0]],"v":[[12.387,-29.105],[25.983,-43.506],[38.269,-29.105]],"c":true},"ix":2},"nm":"e","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"e","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"s","size":150,"style":"500","w":39.6,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-5.338,0],[0,8.56],[8.459,3.223],[0,4.028],[-5.237,0],[-1.913,-1.208],[0,0],[4.935,0],[0,-7.855],[-8.762,-3.122],[0,-4.23],[6.445,0],[2.618,1.712]],"o":[[3.424,2.014],[11.581,0],[0,-7.251],[-6.345,-2.417],[0,-3.625],[4.532,0],[0,0],[-2.719,-1.611],[-10.474,0],[0,5.841],[6.546,2.417],[0,4.028],[-4.431,0],[0,0]],"v":[[3.928,-2.316],[17.624,1.007],[35.852,-13.596],[23.062,-28.299],[13.797,-36.557],[21.954,-43.204],[31.924,-40.384],[34.14,-46.829],[22.156,-49.85],[5.338,-35.55],[18.228,-21.753],[27.292,-12.79],[17.825,-5.539],[6.143,-9.064]],"c":true},"ix":2},"nm":"s","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"s","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"_","size":150,"style":"500","w":50,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[0,7.553],[0,12.589],[50.354,12.589],[50.354,7.553]],"c":true},"ix":2},"nm":"_","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"_","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"0","size":150,"style":"500","w":51.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[13.797,0],[0,-21.954],[-12.79,0],[0,22.256]],"o":[[-13.293,0],[0.201,21.652],[14.502,0],[0,-20.847]],"v":[[26.385,-66.568],[3.625,-32.529],[25.278,1.108],[48.038,-33.435]],"c":true},"ix":2},"nm":"0","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-7.755,0],[0,-16.113],[9.064,0],[0,17.02]],"o":[[9.164,0],[0,16.718],[-8.057,0],[0,-17.825]],"v":[[25.882,-59.72],[39.175,-33.032],[25.781,-5.74],[12.488,-32.428]],"c":true},"ix":2},"nm":"0","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"0","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"8","size":150,"style":"500","w":51.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-13.696,0],[0,11.38],[8.157,3.223],[0,0],[0,5.539],[12.689,0],[0,-10.373],[-7.251,-3.424],[0,0],[0,-8.258]],"o":[[12.488,0],[0,-7.956],[0,0],[8.057,-3.827],[0,-8.157],[-11.481,0],[0,5.64],[0,0],[-8.057,3.424],[0,9.567]],"v":[[25.681,1.108],[47.937,-17.926],[34.744,-34.845],[34.744,-35.147],[45.52,-50.455],[26.486,-66.568],[6.244,-49.146],[16.617,-34.442],[16.718,-34.14],[3.726,-16.617]],"c":true},"ix":2},"nm":"8","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[7.956,0],[-0.302,6.647],[-7.654,2.216],[0,-7.956]],"o":[[-8.359,0],[0,-6.244],[8.862,2.518],[0,6.747]],"v":[[25.882,-5.338],[12.79,-17.825],[24.573,-31.32],[38.974,-17.02]],"c":true},"ix":2},"nm":"8","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[-7.352,0],[0,-5.237],[5.64,-1.913],[0,6.546]],"o":[[7.956,0],[0,5.942],[-7.553,-2.014],[0,-5.64]],"v":[[25.983,-60.223],[37.061,-49.548],[27.09,-37.665],[14.603,-49.75]],"c":true},"ix":2},"nm":"8","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"8","np":6,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"G","size":150,"style":"500","w":64.6,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[5.74,0],[0,17.221],[-16.516,0],[-3.625,-1.611],[0,0],[7.855,0],[0.101,-20.242],[-5.841,-5.64],[-10.272,0],[-3.928,1.41]],"o":[[0,0],[0,0],[0,0],[0,0],[-2.014,1.007],[-15.811,0],[0,-17.02],[6.848,0],[0,0],[-2.921,-1.41],[-22.76,0],[0,10.574],[6.647,6.345],[9.164,0],[0,0]],"v":[[59.317,-35.651],[36.96,-35.651],[36.96,-28.601],[50.757,-28.601],[50.757,-8.359],[39.075,-6.546],[12.891,-33.939],[40.182,-61.23],[55.188,-58.31],[57.303,-65.46],[40.384,-68.582],[3.625,-33.536],[13.092,-8.258],[38.47,0.705],[59.317,-3.021]],"c":true},"ix":2},"nm":"G","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"G","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"a","size":150,"style":"500","w":48.2,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,4.23],[0,0],[14.905,0],[4.028,-2.618],[0,0],[-4.532,0],[0,-4.028],[0,0],[0,-11.783],[-9.869,0],[-2.719,3.827],[0,0],[0,0]],"o":[[-0.604,-3.323],[0,0],[0,-9.769],[-6.143,0],[0,0],[3.424,-2.216],[9.97,0],[0,0],[-18.832,-0.101],[0,7.05],[6.949,0],[0,0],[0,0],[0,0]],"v":[[42.398,0],[41.592,-11.682],[41.592,-29.91],[23.062,-49.85],[7.05,-45.52],[9.064,-39.679],[21.753,-43.304],[32.831,-32.025],[32.831,-31.018],[3.525,-12.891],[18.43,1.108],[33.334,-6.143],[33.636,-6.143],[34.341,0]],"c":true},"ix":2},"nm":"a","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0.302,-0.906],[6.345,0],[0,5.74],[-9.668,-0.201]],"o":[[0,0.906],[-1.41,4.129],[-4.532,0],[0,-9.467],[0,0]],"v":[[33.032,-16.415],[32.529,-13.596],[20.746,-5.438],[12.387,-13.898],[33.032,-24.875]],"c":true},"ix":2},"nm":"a","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"a","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"d","size":150,"style":"500","w":56.4,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[7.452,0],[-0.101,-16.214],[-11.783,0],[-2.719,5.438],[0,0],[0,0],[0,0],[0,4.33],[0,0]],"o":[[0,0],[0,0],[-2.216,-3.928],[-11.884,0],[0,14.804],[7.956,0],[0,0],[0,0],[0,0],[-0.302,-3.323],[0,0],[0,0]],"v":[[40.585,-71.503],[40.585,-42.398],[40.384,-42.398],[25.681,-49.85],[3.827,-23.666],[24.673,1.108],[41.29,-8.459],[41.492,-8.459],[41.895,0],[49.85,0],[49.448,-12.589],[49.448,-71.503]],"c":true},"ix":2},"nm":"d","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0.302,-1.208],[5.942,0],[0,9.869],[-9.164,0],[-1.309,-5.64],[0,-1.108]],"o":[[0,1.41],[-1.611,6.647],[-9.567,0],[0,-10.776],[6.647,0],[0.302,1.108],[0,0]],"v":[[40.585,-20.444],[40.182,-16.617],[27.191,-6.042],[12.79,-24.069],[27.393,-42.902],[40.182,-32.629],[40.585,-28.903]],"c":true},"ix":2},"nm":"d","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"d","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"i","size":150,"style":"500","w":23.4,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[16.214,0],[16.214,-48.743],[7.352,-48.743],[7.352,0]],"c":true},"ix":2},"nm":"i","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[3.323,0],[0,-3.122],[-3.122,0],[0.101,3.021]],"o":[[-3.223,0],[0,3.021],[3.525,0],[0,-3.122]],"v":[[11.783,-67.978],[6.244,-62.439],[11.581,-57.001],[17.221,-62.439]],"c":true},"ix":2},"nm":"i","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"i","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"n","size":150,"style":"500","w":55.5,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-0.403,1.108],[-5.841,0],[0,-7.855],[0,0],[0,0],[0,0],[6.747,0],[2.417,-4.633],[0,0],[0,0],[0,0],[0,-5.035]],"o":[[0,0],[0,0],[0,-1.511],[1.511,-4.935],[8.359,0],[0,0],[0,0],[0,0],[0,-16.718],[-8.057,0],[0,0],[0,0],[0,0],[0.302,4.028],[0,0]],"v":[[7.352,0],[16.214,0],[16.214,-29.306],[16.818,-33.435],[28.702,-42.499],[39.981,-28.098],[39.981,0],[48.843,0],[48.843,-29.105],[31.622,-49.85],[15.509,-40.686],[15.308,-40.686],[14.804,-48.743],[6.949,-48.743],[7.352,-35.55]],"c":true},"ix":2},"nm":"n","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"n","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"7","size":150,"style":"500","w":51.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[5.74,-65.46],[5.74,-58.109],[37.766,-58.109],[37.766,-57.907],[9.366,0],[18.53,0],[47.031,-59.619],[47.031,-65.46]],"c":true},"ix":2},"nm":"7","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"7","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"D","size":150,"style":"500","w":66.6,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-6.244,0],[-6.345,6.345],[0,11.078],[6.042,5.539],[12.589,0],[5.338,-0.806]],"o":[[4.431,0.504],[13.193,0],[6.345,-6.244],[0,-10.977],[-5.942,-5.539],[-6.949,0],[0,0]],"v":[[7.654,-0.201],[23.566,0.604],[53.577,-9.164],[63.345,-35.55],[53.778,-59.921],[26.285,-68.381],[7.654,-66.971]],"c":true},"ix":2},"nm":"D","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[-4.532,0],[0.101,-16.013],[18.732,0],[2.216,0.403]],"o":[[2.316,-0.504],[18.53,0],[0,18.329],[-3.424,0],[0,0]],"v":[[16.415,-60.526],[26.688,-61.432],[54.181,-35.248],[25.278,-6.445],[16.415,-6.949]],"c":true},"ix":2},"nm":"D","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"D","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"h","size":150,"style":"500","w":55.5,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-0.504,1.208],[-5.74,0],[0,-7.855],[0,0],[0,0],[0,0],[6.546,0],[2.618,-1.511],[1.41,-2.518],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,-1.712],[1.611,-4.834],[8.359,0],[0,0],[0,0],[0,0],[0,-16.818],[-3.323,0],[-2.719,1.511],[0,0],[0,0],[0,0],[0,0]],"v":[[7.352,0],[16.214,0],[16.214,-29.407],[16.818,-33.636],[28.702,-42.499],[39.981,-27.997],[39.981,0],[48.843,0],[48.843,-29.004],[31.824,-49.85],[22.76,-47.333],[16.415,-41.089],[16.214,-41.089],[16.214,-71.503],[7.352,-71.503]],"c":true},"ix":2},"nm":"h","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"h","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"6","size":150,"style":"500","w":51.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[2.618,-0.403],[5.438,-5.338],[0,-12.891],[-13.998,0],[0,11.984],[11.581,0],[3.122,-4.129],[0,0],[-13.898,2.316],[-1.813,-0.101]],"o":[[-1.611,0],[-8.258,1.007],[-6.445,6.445],[0,17.02],[13.596,0],[0,-12.79],[-7.251,0],[0,0],[1.511,-10.776],[2.518,-0.403],[0,0]],"v":[[41.895,-66.467],[35.449,-65.964],[14.502,-56.296],[3.424,-26.788],[26.587,1.108],[48.34,-21.954],[28.601,-43.103],[12.79,-35.55],[12.488,-35.55],[35.248,-58.813],[41.895,-59.216]],"c":true},"ix":2},"nm":"6","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[7.654,0],[0.201,10.776],[-0.604,1.007],[-5.338,0],[0,-9.366]],"o":[[-9.265,0],[0,-1.611],[2.417,-4.733],[8.157,0],[0,9.366]],"v":[[26.587,-5.74],[12.186,-24.472],[13.193,-28.4],[25.882,-36.456],[39.377,-21.451]],"c":true},"ix":2},"nm":"6","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"6","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"M","size":150,"style":"500","w":80.4,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[1.712,-6.848],[0,0],[2.82,8.359],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.201,8.459],[0,0],[-3.223,-9.567],[0,0],[0,0],[0,0],[-2.316,7.956],[0,0],[-0.504,-9.467]],"o":[[0,0],[0,0],[0,0],[0,0],[-3.021,8.56],[0,0],[-1.712,-7.05],[0,0],[0,0],[0,0],[0,0],[0,0],[0.604,-10.172],[0,0],[1.913,8.057],[0,0],[0,0],[0,0],[3.424,-9.366],[0,0],[-0.101,8.459],[0,0]],"v":[[66.568,0],[75.128,0],[70.898,-67.877],[59.72,-67.877],[47.635,-35.046],[40.485,-12.186],[40.182,-12.186],[33.334,-35.046],[21.753,-67.877],[10.574,-67.877],[5.841,0],[14.2,0],[16.013,-29.105],[17.322,-59.116],[17.523,-59.116],[25.378,-32.73],[36.356,-0.403],[43.002,-0.403],[54.987,-33.334],[63.547,-59.116],[63.849,-59.116],[64.856,-29.81]],"c":true},"ix":2},"nm":"M","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"M","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"L","size":150,"style":"500","w":47.2,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[7.654,0],[45.419,0],[45.419,-7.352],[16.415,-7.352],[16.415,-67.877],[7.654,-67.877]],"c":true},"ix":2},"nm":"L","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"L","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"m","size":150,"style":"500","w":83.4,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-0.504,1.309],[-5.539,0],[0,-7.755],[0,0],[0,0],[0,0],[-0.403,1.208],[-5.035,0],[0,-9.366],[0,0],[0,0],[0,0],[6.445,0],[2.921,-2.216],[1.511,-2.719],[0,0],[6.647,0],[2.719,-4.633],[0,0],[0,0],[0,0],[0,-5.035]],"o":[[0,0],[0,0],[0,-1.511],[1.41,-4.431],[6.747,0],[0,0],[0,0],[0,0],[0,-1.611],[1.511,-4.33],[7.15,0],[0,0],[0,0],[0,0],[0,-16.919],[-4.633,0],[-2.014,1.511],[0,0],[-2.115,-5.74],[-8.057,0],[0,0],[0,0],[0,0],[0.302,4.028],[0,0]],"v":[[7.352,0],[16.013,0],[16.013,-29.407],[16.718,-33.737],[27.695,-42.599],[37.866,-29.205],[37.866,0],[46.527,0],[46.527,-30.112],[47.232,-34.543],[57.706,-42.599],[68.28,-27.594],[68.28,0],[76.941,0],[76.941,-28.702],[60.928,-49.85],[50.153,-46.426],[44.714,-40.082],[44.513,-40.082],[30.716,-49.85],[15.408,-40.887],[15.106,-40.887],[14.703,-48.743],[6.949,-48.743],[7.352,-35.55]],"c":true},"ix":2},"nm":"m","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"m","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"5","size":150,"style":"500","w":51.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-3.726,0],[-0.101,-8.459],[8.359,0],[2.719,1.611],[0,0],[-7.15,0],[0,12.79],[5.136,2.921],[5.035,0],[1.511,-0.201],[0,0],[0,0]],"o":[[0,0],[0,0],[2.417,-0.302],[13.092,0],[0,8.762],[-5.942,0],[0,0],[3.122,2.014],[14.2,0],[0,-8.258],[-4.028,-2.417],[-2.417,0],[0,0],[0,0],[0,0]],"v":[[43.607,-65.46],[12.286,-65.46],[8.057,-34.039],[17.12,-34.744],[35.953,-20.242],[20.444,-6.042],[6.445,-9.668],[4.23,-2.921],[20.544,1.108],[44.916,-21.249],[35.55,-38.068],[21.451,-41.592],[16.113,-41.19],[18.631,-58.008],[43.607,-58.008]],"c":true},"ix":2},"nm":"5","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"5","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"J","size":150,"style":"500","w":37,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[7.855,0],[1.813,0.705],[0,0],[-3.223,0],[0,18.027],[0,0],[0,0]],"o":[[0,13.293],[-2.921,0],[0,0],[2.216,0.906],[11.682,0],[0,0],[0,0],[0,0]],"v":[[21.552,-23.163],[9.064,-6.345],[1.712,-7.654],[0.403,-0.504],[9.769,1.108],[30.313,-22.458],[30.313,-67.877],[21.552,-67.877]],"c":true},"ix":2},"nm":"J","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"J","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"4","size":150,"style":"500","w":51.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[40.283,0],[40.283,-17.825],[49.448,-17.825],[49.448,-24.774],[40.283,-24.774],[40.283,-65.46],[30.716,-65.46],[1.511,-23.666],[1.511,-17.825],[31.924,-17.825],[31.924,0]],"c":true},"ix":2},"nm":"4","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-2.014,3.827],[0,0],[0,-3.424],[0,0]],"o":[[0,0],[0,0],[1.813,-3.021],[0,0],[-0.201,3.424],[0,0],[0,0]],"v":[[10.474,-24.774],[10.474,-24.976],[26.486,-47.232],[31.924,-56.9],[32.227,-56.9],[31.924,-46.628],[31.924,-24.774]],"c":true},"ix":2},"nm":"4","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"4","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"p","size":150,"style":"500","w":56.9,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[-6.445,0],[0,17.523],[11.783,0],[3.625,-5.942],[0,0],[0,0],[0,0],[0,-6.244]],"o":[[0,0],[0,0],[0,0],[2.921,4.834],[11.481,0],[0,-14.804],[-7.956,0],[0,0],[0,0],[0,0],[0.201,4.633],[0,0]],"v":[[7.352,19.94],[16.113,19.94],[16.113,-6.546],[16.315,-6.546],[31.32,1.108],[53.476,-25.076],[32.831,-49.85],[15.509,-40.384],[15.308,-40.384],[14.905,-48.743],[6.949,-48.743],[7.352,-32.831]],"c":true},"ix":2},"nm":"p","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[-0.302,1.108],[-6.042,0],[0,-9.769],[9.366,0],[1.611,6.143],[0,1.309]],"o":[[0,-1.208],[1.712,-6.647],[9.366,0],[0,11.179],[-6.345,0],[-0.201,-1.108],[0,0]],"v":[[16.113,-28.198],[16.718,-31.824],[30.112,-42.801],[44.614,-24.673],[29.81,-5.841],[16.516,-16.214],[16.113,-19.839]],"c":true},"ix":2},"nm":"p","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"p","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"3","size":150,"style":"500","w":51.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-7.352,0],[0,10.474],[8.057,1.611],[0,0],[0,6.747],[12.891,0],[3.424,-2.518],[0,0],[-5.237,0],[0,-5.237],[6.445,0],[0,0],[0,0],[0,0],[-0.101,-9.164],[11.38,0],[2.518,1.611]],"o":[[3.223,2.115],[15.71,0],[0,-9.164],[0,0],[8.057,-2.921],[0,-7.956],[-7.05,0],[0,0],[2.82,-2.014],[8.157,0],[0,7.755],[0,0],[0,0],[0,0],[8.56,0],[0.101,5.438],[-6.143,0],[0,0]],"v":[[4.23,-3.323],[21.249,1.108],[45.117,-18.53],[30.515,-35.349],[30.515,-35.55],[42.599,-50.958],[23.868,-66.568],[6.747,-61.533],[9.064,-55.087],[22.156,-59.418],[33.636,-49.548],[19.034,-38.47],[14.099,-38.47],[14.099,-31.824],[19.034,-31.824],[35.953,-18.732],[21.149,-6.042],[6.647,-10.172]],"c":true},"ix":2},"nm":"3","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"3","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"W","size":150,"style":"500","w":86.2,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-1.208,6.747],[0,0],[-2.115,-8.661],[0,0],[0,0],[0,0],[0,0],[0,0],[1.41,-7.452],[0,0],[1.913,8.057],[0,0],[0,0],[0,0],[1.108,-6.747],[0,0],[2.014,8.459],[0,0],[0,0],[0,0]],"o":[[0,0],[2.518,-8.762],[0,0],[0.906,6.848],[0,0],[0,0],[0,0],[0,0],[0,0],[-2.115,8.459],[0,0],[-1.007,-7.15],[0,0],[0,0],[0,0],[-2.316,8.762],[0,0],[-1.208,-6.546],[0,0],[0,0],[0,0],[0,0]],"v":[[27.896,0],[37.564,-35.349],[42.801,-57.504],[43.002,-57.504],[47.433,-35.349],[55.994,0],[65.158,0],[84.393,-67.877],[75.43,-67.877],[66.467,-33.636],[61.029,-10.172],[60.828,-10.172],[56.094,-33.435],[47.836,-67.877],[38.672,-67.877],[29.608,-33.636],[24.069,-10.071],[23.868,-10.071],[18.832,-33.536],[10.776,-67.877],[1.511,-67.877],[18.732,0]],"c":true},"ix":2},"nm":"W","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"W","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"2","size":150,"style":"500","w":51.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,12.085],[14.099,0],[4.532,-3.827],[0,0],[-5.942,0],[0,-6.647],[16.718,-15.912],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[13.797,-13.293],[0,-9.366],[-7.553,0],[0,0],[3.021,-2.518],[9.769,0],[-0.101,9.869],[0,0],[0,0],[0,0]],"v":[[46.326,0],[46.326,-7.352],[16.919,-7.352],[16.919,-7.553],[22.156,-12.387],[44.714,-47.534],[24.673,-66.568],[6.143,-59.921],[8.963,-53.677],[22.861,-59.216],[35.852,-46.426],[11.481,-12.186],[4.532,-5.438],[4.532,0]],"c":true},"ix":2},"nm":"2","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"2","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"O","size":150,"style":"500","w":68.9,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[18.53,0],[0,-21.552],[-17.926,0],[0,23.364]],"o":[[-18.127,0],[0,20.544],[17.322,0],[0,-20.142]],"v":[[35.147,-68.985],[3.625,-33.334],[34.14,1.108],[65.662,-34.644]],"c":true},"ix":2},"nm":"O","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-14.502,0],[0,-13.495],[13.898,0],[0,14.502]],"o":[[14.603,0],[0,15.408],[-13.797,0],[0,-14.905]],"v":[[34.744,-61.835],[56.396,-34.241],[34.644,-6.042],[12.991,-33.536]],"c":true},"ix":2},"nm":"O","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"O","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"c","size":150,"style":"500","w":44.2,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[5.035,0],[0,11.279],[-11.179,0],[-2.115,-1.208],[0,0],[5.237,0],[0,-15.005],[-14.703,0],[-2.316,1.208]],"o":[[-2.518,1.108],[-9.668,0],[0,-10.172],[4.834,0],[0,0],[-2.417,-1.208],[-15.912,0],[0,14.905],[6.546,0],[0,0]],"v":[[40.585,-8.459],[29.709,-6.042],[12.79,-24.271],[30.011,-42.7],[40.283,-40.384],[42.297,-47.232],[30.011,-49.75],[3.827,-23.868],[28.098,1.007],[42.096,-1.813]],"c":true},"ix":2},"nm":"c","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"c","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"y","size":150,"style":"500","w":48.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,-0.504],[0.403,-0.906],[2.417,-1.913],[2.216,-0.705],[0,0],[-4.33,3.827],[-6.345,16.718],[0,0],[0,0],[0,0],[0.906,-2.921],[0,0],[1.108,3.223],[0,0]],"o":[[0,0],[0.403,1.108],[0,0.504],[-2.014,4.532],[-2.618,2.216],[0,0],[2.216,-0.403],[6.042,-5.237],[0,0],[0,0],[0,0],[-1.208,3.525],[0,0],[-0.806,-2.921],[0,0],[0,0]],"v":[[0.906,-48.743],[18.933,-3.827],[19.537,-1.511],[18.832,0.604],[11.38,10.474],[3.625,14.804],[5.841,22.256],[16.718,16.516],[33.435,-13.998],[46.729,-48.743],[37.363,-48.743],[27.695,-20.142],[24.573,-9.97],[24.371,-9.97],[21.249,-19.94],[10.574,-48.743]],"c":true},"ix":2},"nm":"y","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"y","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"1","size":150,"style":"500","w":51.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[23.767,0],[32.327,0],[32.327,-65.46],[24.774,-65.46],[10.474,-57.806],[12.186,-51.059],[23.566,-57.202],[23.767,-57.202]],"c":true},"ix":2},"nm":"1","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"l","size":150,"style":"500","w":23.6,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[7.352,0],[16.214,0],[16.214,-71.503],[7.352,-71.503]],"c":true},"ix":2},"nm":"l","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"l","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"}]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/UXSample_1920x1080/D Transforms_All_01_1920x1080.json b/submodules/RLottie/Sources/rlottie/example/resource/UXSample_1920x1080/D Transforms_All_01_1920x1080.json deleted file mode 100644 index b1078dbe7d..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/UXSample_1920x1080/D Transforms_All_01_1920x1080.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.1.18","fr":30,"ip":0,"op":66,"w":1920,"h":1080,"nm":"D Transforms_All_01","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 6","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":90,"ix":10},"p":{"a":0,"k":[1924.5,540,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[60,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-994,4],[1024,4]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":90,"ix":10},"p":{"a":0,"k":[483.75,540,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[60,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-994,4],[1024,4]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":90,"ix":10},"p":{"a":0,"k":[964,540,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[60,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-994,4],[1024,4]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Shape Layer 3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":90,"ix":10},"p":{"a":0,"k":[1444.25,540,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[60,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-994,4],[1024,4]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Shape Layer 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":90,"ix":10},"p":{"a":0,"k":[3.5,540,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[60,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-994,4],[1024,4]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[960,540,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-994,4],[1024,4]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]},{"id":"comp_1","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Rectantgle Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":0,"s":[174.5,244,0],"e":[296.34,182,0],"to":[23.0368061065674,0,0],"ti":[-55.0616836547852,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":20,"s":[296.34,182,0],"e":[430.132,294.129,0],"to":[41.3462142944336,0,0],"ti":[-41.2537689208984,-13.1089372634888,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":40,"s":[430.132,294.129,0],"e":[575,244,0],"to":[54.448616027832,17.301778793335,0],"ti":[-22.8313579559326,0,0]},{"t":60}],"ix":2},"a":{"a":0,"k":[962,504,0],"ix":1},"s":{"a":0,"k":[50,50,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[139,139],[-139,139],[-139,-139],[139,-139]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054901960784,0.63137254902,0.901960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[962,504],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]},{"id":"comp_2","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Rectantgle Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":0,"s":[174.5],"e":[368.34]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p667_1_0p167_0"],"t":20,"s":[368.34],"e":[368.34]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":40,"s":[368.34],"e":[575]},{"t":60}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":20,"s":[185],"e":[265.5]},{"t":40}],"ix":4}},"a":{"a":0,"k":[962,504,0],"ix":1},"s":{"a":0,"k":[50,50,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[139,139],[-139,139],[-139,-139],[139,-139]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054901960784,0.63137254902,0.901960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[962,504],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]},{"id":"comp_3","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Rectantgle Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[375,244,0],"ix":2},"a":{"a":0,"k":[962,504,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.246,0.246,0.667],"y":[1,1,1]},"o":{"x":[0.421,0.421,0.167],"y":[0.125,0.125,0]},"n":["0p246_1_0p421_0p125","0p246_1_0p421_0p125","0p667_1_0p167_0"],"t":0,"s":[50,50,100],"e":[75,75,100]},{"i":{"x":[0.441,0.441,0.667],"y":[1,1,1]},"o":{"x":[0.651,0.651,0.167],"y":[0,0,0]},"n":["0p441_1_0p651_0","0p441_1_0p651_0","0p667_1_0p167_0"],"t":20,"s":[75,75,100],"e":[35,35,100]},{"i":{"x":[0,0,0.667],"y":[1,1,1]},"o":{"x":[0.487,0.487,0.167],"y":[0,0,0]},"n":["0_1_0p487_0","0_1_0p487_0","0p667_1_0p167_0"],"t":40,"s":[35,35,100],"e":[50,50,100]},{"t":60}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[139,139],[-139,139],[-139,-139],[139,-139]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054901960784,0.63137254902,0.901960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[962,504],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]},{"id":"comp_4","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Rectantgle Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.363],"y":[1]},"o":{"x":[0.717],"y":[0.463]},"n":["0p363_1_0p717_0p463"],"t":0,"s":[0],"e":[720]},{"t":60}],"ix":10},"p":{"a":0,"k":[375,241,0],"ix":2},"a":{"a":0,"k":[962,728,0],"ix":1},"s":{"a":0,"k":[50,50,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[139,139],[-139,139],[-139,-139],[139,-139]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054901960784,0.63137254902,0.901960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[962,504],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]},{"id":"comp_5","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Rectantgle Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[375,244,0],"ix":2},"a":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[962,504,0],"e":[724,701,0],"to":[-39.6666679382324,32.8333320617676,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":15,"s":[724,701,0],"e":[962,504,0],"to":[0,0,0],"ti":[-78,50.8333320617676,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":30,"s":[962,504,0],"e":[1192,396,0],"to":[78,-50.8333320617676,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":45,"s":[1192,396,0],"e":[962,504,0],"to":[0,0,0],"ti":[38.3333320617676,-18,0]},{"t":60}],"ix":1},"s":{"a":0,"k":[50,50,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[139,139],[-139,139],[-139,-139],[139,-139]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054901960784,0.63137254902,0.901960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[962,504],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]},{"id":"comp_6","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Rectantgle Outlines","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":15,"s":[0],"e":[100]},{"t":30}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[375,244,0],"ix":2},"a":{"a":0,"k":[962,504,0],"ix":1},"s":{"a":0,"k":[50,50,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[139,139],[-139,139],[-139,-139],[139,-139]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054901960784,0.63137254902,0.901960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[962,504],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]},{"id":"comp_7","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Rectantgle Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.363],"y":[1]},"o":{"x":[0.717],"y":[0.463]},"n":["0p363_1_0p717_0p463"],"t":0,"s":[0],"e":[720]},{"t":60}],"ix":10},"p":{"a":0,"k":[375,244,0],"ix":2},"a":{"a":0,"k":[962,504,0],"ix":1},"s":{"a":0,"k":[50,50,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[139,139],[-139,139],[-139,-139],[139,-139]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054901960784,0.63137254902,0.901960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[962,504],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Rectantgle Outlines 2","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[730,278,0],"ix":2},"a":{"a":0,"k":[962,504,0],"ix":1},"s":{"a":0,"k":[50,50,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[139,139],[-139,139],[-139,-139],[139,-139]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054901960784,0.63137254902,0.901960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[962,504],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]},{"id":"comp_8","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Rectantgle Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[139.2,378.1,0],"e":[585.6,82,0],"to":[-0.95211333036423,-289.677154541016,0],"ti":[2.61271214485168,258.688842773438,0]},{"t":60}],"ix":2},"a":{"a":0,"k":[962,504,0],"ix":1},"s":{"a":0,"k":[45,45,100],"ix":6}},"ao":1,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[139,139],[-139,139],[-139,-139],[139,-139]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054901960784,0.63137254902,0.901960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[962,504],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]}],"fonts":{"list":[{"fName":"SamsungOne-500","fFamily":"SamsungOne","fStyle":"500","ascent":70.9991455078125}]},"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"div","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":10,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[960,540,0],"ix":2},"a":{"a":0,"k":[960,540,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":1920,"h":1080,"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":5,"nm":"D Transforms_01 Position","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[39.375,62,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[14.576,14.576,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":150,"f":"SamsungOne-500","t":"D Transforms_01 Position","j":0,"tr":44,"lh":180,"ls":0,"fc":[0.05,0.63,0.9]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":0,"op":67,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":5,"nm":"D Transforms_02 Position","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[519.5,62,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[14.576,14.576,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":150,"f":"SamsungOne-500","t":"D Transforms_02 Position","j":0,"tr":44,"lh":180,"ls":0,"fc":[0.05,0.63,0.9]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":0,"op":67,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":5,"nm":"D Transforms_03 Scale","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1000.375,62,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[14.576,14.576,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":150,"f":"SamsungOne-500","t":"D Transforms_03 Scale","j":0,"tr":44,"lh":180,"ls":0,"fc":[0.05,0.63,0.9]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":0,"op":67,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":5,"nm":"D Transforms_04 Rotation","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1480.5,62,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[14.576,14.576,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":150,"f":"SamsungOne-500","t":"D Transforms_04 Rotation","j":0,"tr":44,"lh":180,"ls":0,"fc":[0.05,0.63,0.9]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":0,"op":67,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":5,"nm":"D Transforms_05 Anchor Point","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[39.375,601.938,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[14.576,14.576,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":150,"f":"SamsungOne-500","t":"D Transforms_05 Anchor Point","j":0,"tr":44,"lh":180,"ls":0,"fc":[0.05,0.63,0.9]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":0,"op":67,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":5,"nm":"D Transforms_06 Opacity","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[519.5,601.938,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[14.576,14.576,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":150,"f":"SamsungOne-500","t":"D Transforms_06 Opacity","j":0,"tr":44,"lh":180,"ls":0,"fc":[0.05,0.63,0.9]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":0,"op":67,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":5,"nm":"D Transforms_07 Parenting","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1000.375,601.938,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[14.576,14.576,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":150,"f":"SamsungOne-500","t":"D Transforms_07 Parenting","j":0,"tr":44,"lh":180,"ls":0,"fc":[0.05,0.63,0.9]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":0,"op":67,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":5,"nm":"D Transforms_08 Auto Orient","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1480.5,601.938,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[14.576,14.576,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":150,"f":"SamsungOne-500","t":"D Transforms_08 Auto Orient","j":0,"tr":44,"lh":180,"ls":0,"fc":[0.05,0.63,0.9]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":0,"op":67,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":0,"nm":"D Transforms_01 Position","refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[248,267,0],"ix":2},"a":{"a":0,"k":[375,244,0],"ix":1},"s":{"a":0,"k":[70,70,100],"ix":6}},"ao":0,"w":750,"h":488,"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":0,"nm":"D Transforms_02 Position (separated X,Y)","refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[726,267,0],"ix":2},"a":{"a":0,"k":[375,244,0],"ix":1},"s":{"a":0,"k":[70,70,100],"ix":6}},"ao":0,"w":750,"h":488,"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":0,"nm":"D Transforms_03 Scale","refId":"comp_3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1204,267,0],"ix":2},"a":{"a":0,"k":[375,244,0],"ix":1},"s":{"a":0,"k":[70,70,100],"ix":6}},"ao":0,"w":750,"h":488,"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":0,"nm":"D Transforms_04 Rotation","refId":"comp_4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1678,267,0],"ix":2},"a":{"a":0,"k":[375,244,0],"ix":1},"s":{"a":0,"k":[70,70,100],"ix":6}},"ao":0,"w":750,"h":488,"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":0,"nm":"D Transforms_05 Anchor Point","refId":"comp_5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[248,809.5,0],"ix":2},"a":{"a":0,"k":[375,244,0],"ix":1},"s":{"a":0,"k":[70,70,100],"ix":6}},"ao":0,"w":750,"h":488,"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":15,"ty":0,"nm":"D Transforms_06 Opacity","refId":"comp_6","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[732,809.5,0],"ix":2},"a":{"a":0,"k":[375,244,0],"ix":1},"s":{"a":0,"k":[70,70,100],"ix":6}},"ao":0,"w":750,"h":488,"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":16,"ty":0,"nm":"D Transforms_07 Parenting","refId":"comp_7","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1198,809.5,0],"ix":2},"a":{"a":0,"k":[375,244,0],"ix":1},"s":{"a":0,"k":[70,70,100],"ix":6}},"ao":0,"w":750,"h":488,"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":17,"ty":0,"nm":"D Transforms_08 Auto Orient","refId":"comp_8","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1678,809.5,0],"ix":2},"a":{"a":0,"k":[375,244,0],"ix":1},"s":{"a":0,"k":[70,70,100],"ix":6}},"ao":0,"w":750,"h":488,"ip":0,"op":6300,"st":0,"bm":0}],"markers":[],"chars":[{"ch":"D","size":150,"style":"500","w":66.6,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-6.244,0],[-6.345,6.345],[0,11.078],[6.042,5.539],[12.589,0],[5.338,-0.806]],"o":[[4.431,0.504],[13.193,0],[6.345,-6.244],[0,-10.977],[-5.942,-5.539],[-6.949,0],[0,0]],"v":[[7.654,-0.201],[23.566,0.604],[53.577,-9.164],[63.345,-35.55],[53.778,-59.921],[26.285,-68.381],[7.654,-66.971]],"c":true},"ix":2},"nm":"D","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[-4.532,0],[0.101,-16.013],[18.732,0],[2.216,0.403]],"o":[[2.316,-0.504],[18.53,0],[0,18.329],[-3.424,0],[0,0]],"v":[[16.415,-60.526],[26.688,-61.432],[54.181,-35.248],[25.278,-6.445],[16.415,-6.949]],"c":true},"ix":2},"nm":"D","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"D","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":" ","size":150,"style":"500","w":21.2,"data":{},"fFamily":"SamsungOne"},{"ch":"T","size":150,"style":"500","w":53.5,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[20.544,0],[29.407,0],[29.407,-60.425],[50.153,-60.425],[50.153,-67.877],[-0.101,-67.877],[-0.101,-60.425],[20.544,-60.425]],"c":true},"ix":2},"nm":"T","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"T","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"r","size":150,"style":"500","w":33.1,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-0.201,1.208],[-6.244,0],[-0.906,-0.201],[0,0],[1.007,0],[2.216,-6.546],[0,0],[0,0],[0,0],[0,-5.74]],"o":[[0,0],[0,0],[0,-1.511],[1.208,-6.647],[1.208,0],[0,0],[-0.806,-0.201],[-5.942,0],[0,0],[0,0],[0,0],[0.302,4.532],[0,0]],"v":[[7.352,0],[16.113,0],[16.113,-25.983],[16.516,-30.112],[28.4,-41.492],[31.421,-41.19],[31.421,-49.548],[28.903,-49.85],[15.408,-39.175],[15.005,-39.175],[14.703,-48.743],[6.949,-48.743],[7.352,-33.536]],"c":true},"ix":2},"nm":"r","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"r","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"a","size":150,"style":"500","w":48.2,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,4.23],[0,0],[14.905,0],[4.028,-2.618],[0,0],[-4.532,0],[0,-4.028],[0,0],[0,-11.783],[-9.869,0],[-2.719,3.827],[0,0],[0,0]],"o":[[-0.604,-3.323],[0,0],[0,-9.769],[-6.143,0],[0,0],[3.424,-2.216],[9.97,0],[0,0],[-18.832,-0.101],[0,7.05],[6.949,0],[0,0],[0,0],[0,0]],"v":[[42.398,0],[41.592,-11.682],[41.592,-29.91],[23.062,-49.85],[7.05,-45.52],[9.064,-39.679],[21.753,-43.304],[32.831,-32.025],[32.831,-31.018],[3.525,-12.891],[18.43,1.108],[33.334,-6.143],[33.636,-6.143],[34.341,0]],"c":true},"ix":2},"nm":"a","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0.302,-0.906],[6.345,0],[0,5.74],[-9.668,-0.201]],"o":[[0,0.906],[-1.41,4.129],[-4.532,0],[0,-9.467],[0,0]],"v":[[33.032,-16.415],[32.529,-13.596],[20.746,-5.438],[12.387,-13.898],[33.032,-24.875]],"c":true},"ix":2},"nm":"a","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"a","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"n","size":150,"style":"500","w":55.5,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-0.403,1.108],[-5.841,0],[0,-7.855],[0,0],[0,0],[0,0],[6.747,0],[2.417,-4.633],[0,0],[0,0],[0,0],[0,-5.035]],"o":[[0,0],[0,0],[0,-1.511],[1.511,-4.935],[8.359,0],[0,0],[0,0],[0,0],[0,-16.718],[-8.057,0],[0,0],[0,0],[0,0],[0.302,4.028],[0,0]],"v":[[7.352,0],[16.214,0],[16.214,-29.306],[16.818,-33.435],[28.702,-42.499],[39.981,-28.098],[39.981,0],[48.843,0],[48.843,-29.105],[31.622,-49.85],[15.509,-40.686],[15.308,-40.686],[14.804,-48.743],[6.949,-48.743],[7.352,-35.55]],"c":true},"ix":2},"nm":"n","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"n","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"s","size":150,"style":"500","w":39.6,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-5.338,0],[0,8.56],[8.459,3.223],[0,4.028],[-5.237,0],[-1.913,-1.208],[0,0],[4.935,0],[0,-7.855],[-8.762,-3.122],[0,-4.23],[6.445,0],[2.618,1.712]],"o":[[3.424,2.014],[11.581,0],[0,-7.251],[-6.345,-2.417],[0,-3.625],[4.532,0],[0,0],[-2.719,-1.611],[-10.474,0],[0,5.841],[6.546,2.417],[0,4.028],[-4.431,0],[0,0]],"v":[[3.928,-2.316],[17.624,1.007],[35.852,-13.596],[23.062,-28.299],[13.797,-36.557],[21.954,-43.204],[31.924,-40.384],[34.14,-46.829],[22.156,-49.85],[5.338,-35.55],[18.228,-21.753],[27.292,-12.79],[17.825,-5.539],[6.143,-9.064]],"c":true},"ix":2},"nm":"s","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"s","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"f","size":150,"style":"500","w":29.2,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-7.553,0],[-1.309,-0.604],[0,0],[3.122,0],[3.323,-3.223],[0,-6.848],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,-7.452],[2.518,0],[0,0],[-1.712,-0.705],[-4.129,0],[-4.129,3.928],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[17.02,0],[17.02,-41.995],[28.802,-41.995],[28.802,-48.743],[17.02,-48.743],[17.02,-51.361],[26.486,-65.46],[32.126,-64.352],[33.334,-71.201],[25.781,-72.61],[13.898,-68.079],[8.258,-51.059],[8.258,-48.743],[1.41,-48.743],[1.41,-41.995],[8.258,-41.995],[8.258,0]],"c":true},"ix":2},"nm":"f","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"f","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"o","size":150,"style":"500","w":54.9,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[13.998,0],[0,-16.315],[-13.193,0],[0,18.027]],"o":[[-13.495,0],[0,15.408],[11.783,0],[0,-14.905]],"v":[[27.997,-49.85],[3.827,-23.969],[27.191,1.108],[51.462,-24.774]],"c":true},"ix":2},"nm":"o","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-10.474,0],[0,-8.258],[8.459,0],[0,10.675]],"o":[[10.474,0],[0,10.977],[-8.661,0],[0,-9.265]],"v":[[27.795,-43.204],[42.398,-24.472],[27.594,-5.539],[12.79,-24.271]],"c":true},"ix":2},"nm":"o","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"o","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"m","size":150,"style":"500","w":83.4,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-0.504,1.309],[-5.539,0],[0,-7.755],[0,0],[0,0],[0,0],[-0.403,1.208],[-5.035,0],[0,-9.366],[0,0],[0,0],[0,0],[6.445,0],[2.921,-2.216],[1.511,-2.719],[0,0],[6.647,0],[2.719,-4.633],[0,0],[0,0],[0,0],[0,-5.035]],"o":[[0,0],[0,0],[0,-1.511],[1.41,-4.431],[6.747,0],[0,0],[0,0],[0,0],[0,-1.611],[1.511,-4.33],[7.15,0],[0,0],[0,0],[0,0],[0,-16.919],[-4.633,0],[-2.014,1.511],[0,0],[-2.115,-5.74],[-8.057,0],[0,0],[0,0],[0,0],[0.302,4.028],[0,0]],"v":[[7.352,0],[16.013,0],[16.013,-29.407],[16.718,-33.737],[27.695,-42.599],[37.866,-29.205],[37.866,0],[46.527,0],[46.527,-30.112],[47.232,-34.543],[57.706,-42.599],[68.28,-27.594],[68.28,0],[76.941,0],[76.941,-28.702],[60.928,-49.85],[50.153,-46.426],[44.714,-40.082],[44.513,-40.082],[30.716,-49.85],[15.408,-40.887],[15.106,-40.887],[14.703,-48.743],[6.949,-48.743],[7.352,-35.55]],"c":true},"ix":2},"nm":"m","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"m","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"_","size":150,"style":"500","w":50,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[0,7.553],[0,12.589],[50.354,12.589],[50.354,7.553]],"c":true},"ix":2},"nm":"_","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"_","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"0","size":150,"style":"500","w":51.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[13.797,0],[0,-21.954],[-12.79,0],[0,22.256]],"o":[[-13.293,0],[0.201,21.652],[14.502,0],[0,-20.847]],"v":[[26.385,-66.568],[3.625,-32.529],[25.278,1.108],[48.038,-33.435]],"c":true},"ix":2},"nm":"0","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-7.755,0],[0,-16.113],[9.064,0],[0,17.02]],"o":[[9.164,0],[0,16.718],[-8.057,0],[0,-17.825]],"v":[[25.882,-59.72],[39.175,-33.032],[25.781,-5.74],[12.488,-32.428]],"c":true},"ix":2},"nm":"0","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"0","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"8","size":150,"style":"500","w":51.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-13.696,0],[0,11.38],[8.157,3.223],[0,0],[0,5.539],[12.689,0],[0,-10.373],[-7.251,-3.424],[0,0],[0,-8.258]],"o":[[12.488,0],[0,-7.956],[0,0],[8.057,-3.827],[0,-8.157],[-11.481,0],[0,5.64],[0,0],[-8.057,3.424],[0,9.567]],"v":[[25.681,1.108],[47.937,-17.926],[34.744,-34.845],[34.744,-35.147],[45.52,-50.455],[26.486,-66.568],[6.244,-49.146],[16.617,-34.442],[16.718,-34.14],[3.726,-16.617]],"c":true},"ix":2},"nm":"8","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[7.956,0],[-0.302,6.647],[-7.654,2.216],[0,-7.956]],"o":[[-8.359,0],[0,-6.244],[8.862,2.518],[0,6.747]],"v":[[25.882,-5.338],[12.79,-17.825],[24.573,-31.32],[38.974,-17.02]],"c":true},"ix":2},"nm":"8","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[-7.352,0],[0,-5.237],[5.64,-1.913],[0,6.546]],"o":[[7.956,0],[0,5.942],[-7.553,-2.014],[0,-5.64]],"v":[[25.983,-60.223],[37.061,-49.548],[27.09,-37.665],[14.603,-49.75]],"c":true},"ix":2},"nm":"8","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"8","np":6,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"A","size":150,"style":"500","w":61.2,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[42.7,-21.35],[49.951,0],[59.317,0],[36.154,-67.877],[25.58,-67.877],[2.518,0],[11.581,0],[18.631,-21.35]],"c":true},"ix":2},"nm":"A","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-1.007,4.028],[0,0],[-1.511,-4.431],[0,0]],"o":[[0,0],[1.309,-4.129],[0,0],[1.007,3.928],[0,0],[0,0]],"v":[[20.444,-28.198],[27.09,-47.836],[30.515,-60.123],[30.716,-60.123],[34.241,-47.736],[40.887,-28.198]],"c":true},"ix":2},"nm":"A","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"A","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"u","size":150,"style":"500","w":55.1,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0.504,-1.309],[5.942,0],[0,9.265],[0,0],[0,0],[0,0],[-7.654,0],[-2.316,3.928],[0,0],[0,0],[0,0],[0,5.035]],"o":[[0,0],[0,0],[0,1.611],[-1.611,3.928],[-8.057,0],[0,0],[0,0],[0,0],[0,17.12],[8.661,0],[0,0],[0,0],[0,0],[-0.302,-3.827],[0,0]],"v":[[48.138,-48.743],[39.276,-48.743],[39.276,-18.832],[38.47,-14.301],[26.788,-6.244],[15.912,-21.753],[15.912,-48.743],[7.05,-48.743],[7.05,-20.242],[23.868,1.108],[39.981,-7.956],[40.182,-7.956],[40.686,0],[48.541,0],[48.138,-13.293]],"c":true},"ix":2},"nm":"u","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"u","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"t","size":150,"style":"500","w":33.1,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-2.518,-2.618],[-4.129,0],[-1.712,0.705],[0,0],[2.316,0],[0,6.042],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,5.74],[2.115,2.417],[3.424,0],[0,0],[-1.108,0.302],[-4.935,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[9.366,-60.425],[9.366,-48.743],[1.813,-48.743],[1.813,-41.995],[9.366,-41.995],[9.366,-15.408],[12.79,-2.719],[22.357,1.007],[30.212,-0.201],[29.81,-6.848],[24.673,-6.244],[18.027,-15.71],[18.027,-41.995],[30.716,-41.995],[30.716,-48.743],[18.027,-48.743],[18.027,-62.741]],"c":true},"ix":2},"nm":"t","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"t","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"O","size":150,"style":"500","w":68.9,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[18.53,0],[0,-21.552],[-17.926,0],[0,23.364]],"o":[[-18.127,0],[0,20.544],[17.322,0],[0,-20.142]],"v":[[35.147,-68.985],[3.625,-33.334],[34.14,1.108],[65.662,-34.644]],"c":true},"ix":2},"nm":"O","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-14.502,0],[0,-13.495],[13.898,0],[0,14.502]],"o":[[14.603,0],[0,15.408],[-13.797,0],[0,-14.905]],"v":[[34.744,-61.835],[56.396,-34.241],[34.644,-6.042],[12.991,-33.536]],"c":true},"ix":2},"nm":"O","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"O","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"i","size":150,"style":"500","w":23.4,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[16.214,0],[16.214,-48.743],[7.352,-48.743],[7.352,0]],"c":true},"ix":2},"nm":"i","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[3.323,0],[0,-3.122],[-3.122,0],[0.101,3.021]],"o":[[-3.223,0],[0,3.021],[3.525,0],[0,-3.122]],"v":[[11.783,-67.978],[6.244,-62.439],[11.581,-57.001],[17.221,-62.439]],"c":true},"ix":2},"nm":"i","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"i","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"e","size":150,"style":"500","w":50.1,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,1.813],[15.912,0],[0,-14.703],[-15.005,0],[-3.122,1.41],[0,0],[6.345,0],[0.201,11.984]],"o":[[0.101,-0.906],[0,-8.963],[-14.2,0],[0,14.703],[7.755,0],[0,0],[-3.323,1.41],[-8.862,0],[0,0]],"v":[[46.527,-22.76],[46.829,-26.889],[26.688,-49.85],[3.827,-23.566],[27.795,1.007],[44.009,-2.014],[42.499,-8.359],[29.004,-5.841],[12.286,-22.76]],"c":true},"ix":2},"nm":"e","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[-8.963,0],[0.101,-5.64]],"o":[[0.705,-6.143],[9.97,0],[0,0]],"v":[[12.387,-29.105],[25.983,-43.506],[38.269,-29.105]],"c":true},"ix":2},"nm":"e","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"e","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"7","size":150,"style":"500","w":51.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[5.74,-65.46],[5.74,-58.109],[37.766,-58.109],[37.766,-57.907],[9.366,0],[18.53,0],[47.031,-59.619],[47.031,-65.46]],"c":true},"ix":2},"nm":"7","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"7","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"P","size":150,"style":"500","w":53.2,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-2.618,0],[-4.633,4.935],[0,6.143],[3.726,3.223],[8.661,0],[4.23,-0.705]],"o":[[0,0],[0,0],[2.014,0.504],[8.56,0],[3.424,-3.525],[0,-6.042],[-4.028,-3.625],[-7.05,0],[0,0]],"v":[[7.654,0],[16.415,0],[16.415,-27.191],[23.465,-26.587],[44.211,-34.039],[49.448,-48.541],[43.506,-62.741],[24.472,-68.381],[7.654,-67.072]],"c":true},"ix":2},"nm":"P","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[-3.827,0],[0,-8.963],[10.574,0],[1.913,0.504]],"o":[[1.511,-0.403],[9.668,0],[0,9.366],[-2.921,0],[0,0]],"v":[[16.415,-60.727],[24.673,-61.432],[40.686,-48.138],[23.666,-33.636],[16.415,-34.341]],"c":true},"ix":2},"nm":"P","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"P","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"g","size":150,"style":"500","w":55.9,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[8.459,0],[0,-16.516],[-12.085,0],[-2.719,4.532],[0,0],[0,0],[9.064,0],[3.223,2.014],[0,0],[-5.841,0],[-4.733,4.431],[0,11.179],[0,0],[-0.201,3.525]],"o":[[0,0],[0,0],[-2.115,-4.028],[-11.179,0],[0,13.495],[7.553,0],[0,0],[0,0],[0,12.286],[-6.042,0],[0,0],[3.928,2.618],[6.143,0],[4.733,-4.23],[0,0],[0,-5.942],[0,0]],"v":[[41.592,-48.743],[41.19,-41.391],[40.988,-41.391],[25.781,-49.85],[3.827,-23.969],[24.573,-0.201],[40.082,-8.359],[40.283,-8.359],[40.283,-2.921],[24.573,14.099],[10.272,10.272],[8.057,17.02],[24.271,21.048],[41.995,15.207],[48.944,-7.05],[48.944,-35.349],[49.347,-48.743]],"c":true},"ix":2},"nm":"g","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0.504,-1.511],[5.438,0],[0,9.567],[-8.459,0],[-1.611,-5.136],[0,-1.511]],"o":[[0,1.511],[-1.913,5.64],[-9.567,0],[0,-11.279],[6.445,0],[0.403,1.208],[0,0]],"v":[[40.182,-20.746],[39.478,-16.013],[27.191,-6.949],[12.79,-24.472],[27.292,-42.902],[39.679,-33.536],[40.182,-29.507]],"c":true},"ix":2},"nm":"g","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"g","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"6","size":150,"style":"500","w":51.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[2.618,-0.403],[5.438,-5.338],[0,-12.891],[-13.998,0],[0,11.984],[11.581,0],[3.122,-4.129],[0,0],[-13.898,2.316],[-1.813,-0.101]],"o":[[-1.611,0],[-8.258,1.007],[-6.445,6.445],[0,17.02],[13.596,0],[0,-12.79],[-7.251,0],[0,0],[1.511,-10.776],[2.518,-0.403],[0,0]],"v":[[41.895,-66.467],[35.449,-65.964],[14.502,-56.296],[3.424,-26.788],[26.587,1.108],[48.34,-21.954],[28.601,-43.103],[12.79,-35.55],[12.488,-35.55],[35.248,-58.813],[41.895,-59.216]],"c":true},"ix":2},"nm":"6","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[7.654,0],[0.201,10.776],[-0.604,1.007],[-5.338,0],[0,-9.366]],"o":[[-9.265,0],[0,-1.611],[2.417,-4.733],[8.157,0],[0,9.366]],"v":[[26.587,-5.74],[12.186,-24.472],[13.193,-28.4],[25.882,-36.456],[39.377,-21.451]],"c":true},"ix":2},"nm":"6","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"6","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"p","size":150,"style":"500","w":56.9,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[-6.445,0],[0,17.523],[11.783,0],[3.625,-5.942],[0,0],[0,0],[0,0],[0,-6.244]],"o":[[0,0],[0,0],[0,0],[2.921,4.834],[11.481,0],[0,-14.804],[-7.956,0],[0,0],[0,0],[0,0],[0.201,4.633],[0,0]],"v":[[7.352,19.94],[16.113,19.94],[16.113,-6.546],[16.315,-6.546],[31.32,1.108],[53.476,-25.076],[32.831,-49.85],[15.509,-40.384],[15.308,-40.384],[14.905,-48.743],[6.949,-48.743],[7.352,-32.831]],"c":true},"ix":2},"nm":"p","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[-0.302,1.108],[-6.042,0],[0,-9.769],[9.366,0],[1.611,6.143],[0,1.309]],"o":[[0,-1.208],[1.712,-6.647],[9.366,0],[0,11.179],[-6.345,0],[-0.201,-1.108],[0,0]],"v":[[16.113,-28.198],[16.718,-31.824],[30.112,-42.801],[44.614,-24.673],[29.81,-5.841],[16.516,-16.214],[16.113,-19.839]],"c":true},"ix":2},"nm":"p","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"p","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"c","size":150,"style":"500","w":44.2,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[5.035,0],[0,11.279],[-11.179,0],[-2.115,-1.208],[0,0],[5.237,0],[0,-15.005],[-14.703,0],[-2.316,1.208]],"o":[[-2.518,1.108],[-9.668,0],[0,-10.172],[4.834,0],[0,0],[-2.417,-1.208],[-15.912,0],[0,14.905],[6.546,0],[0,0]],"v":[[40.585,-8.459],[29.709,-6.042],[12.79,-24.271],[30.011,-42.7],[40.283,-40.384],[42.297,-47.232],[30.011,-49.75],[3.827,-23.868],[28.098,1.007],[42.096,-1.813]],"c":true},"ix":2},"nm":"c","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"c","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"y","size":150,"style":"500","w":48.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,-0.504],[0.403,-0.906],[2.417,-1.913],[2.216,-0.705],[0,0],[-4.33,3.827],[-6.345,16.718],[0,0],[0,0],[0,0],[0.906,-2.921],[0,0],[1.108,3.223],[0,0]],"o":[[0,0],[0.403,1.108],[0,0.504],[-2.014,4.532],[-2.618,2.216],[0,0],[2.216,-0.403],[6.042,-5.237],[0,0],[0,0],[0,0],[-1.208,3.525],[0,0],[-0.806,-2.921],[0,0],[0,0]],"v":[[0.906,-48.743],[18.933,-3.827],[19.537,-1.511],[18.832,0.604],[11.38,10.474],[3.625,14.804],[5.841,22.256],[16.718,16.516],[33.435,-13.998],[46.729,-48.743],[37.363,-48.743],[27.695,-20.142],[24.573,-9.97],[24.371,-9.97],[21.249,-19.94],[10.574,-48.743]],"c":true},"ix":2},"nm":"y","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"y","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"5","size":150,"style":"500","w":51.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-3.726,0],[-0.101,-8.459],[8.359,0],[2.719,1.611],[0,0],[-7.15,0],[0,12.79],[5.136,2.921],[5.035,0],[1.511,-0.201],[0,0],[0,0]],"o":[[0,0],[0,0],[2.417,-0.302],[13.092,0],[0,8.762],[-5.942,0],[0,0],[3.122,2.014],[14.2,0],[0,-8.258],[-4.028,-2.417],[-2.417,0],[0,0],[0,0],[0,0]],"v":[[43.607,-65.46],[12.286,-65.46],[8.057,-34.039],[17.12,-34.744],[35.953,-20.242],[20.444,-6.042],[6.445,-9.668],[4.23,-2.921],[20.544,1.108],[44.916,-21.249],[35.55,-38.068],[21.451,-41.592],[16.113,-41.19],[18.631,-58.008],[43.607,-58.008]],"c":true},"ix":2},"nm":"5","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"5","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"h","size":150,"style":"500","w":55.5,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-0.504,1.208],[-5.74,0],[0,-7.855],[0,0],[0,0],[0,0],[6.546,0],[2.618,-1.511],[1.41,-2.518],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,-1.712],[1.611,-4.834],[8.359,0],[0,0],[0,0],[0,0],[0,-16.818],[-3.323,0],[-2.719,1.511],[0,0],[0,0],[0,0],[0,0]],"v":[[7.352,0],[16.214,0],[16.214,-29.407],[16.818,-33.636],[28.702,-42.499],[39.981,-27.997],[39.981,0],[48.843,0],[48.843,-29.004],[31.824,-49.85],[22.76,-47.333],[16.415,-41.089],[16.214,-41.089],[16.214,-71.503],[7.352,-71.503]],"c":true},"ix":2},"nm":"h","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"h","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"4","size":150,"style":"500","w":51.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[40.283,0],[40.283,-17.825],[49.448,-17.825],[49.448,-24.774],[40.283,-24.774],[40.283,-65.46],[30.716,-65.46],[1.511,-23.666],[1.511,-17.825],[31.924,-17.825],[31.924,0]],"c":true},"ix":2},"nm":"4","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-2.014,3.827],[0,0],[0,-3.424],[0,0]],"o":[[0,0],[0,0],[1.813,-3.021],[0,0],[-0.201,3.424],[0,0],[0,0]],"v":[[10.474,-24.774],[10.474,-24.976],[26.486,-47.232],[31.924,-56.9],[32.227,-56.9],[31.924,-46.628],[31.924,-24.774]],"c":true},"ix":2},"nm":"4","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"4","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"R","size":150,"style":"500","w":53.8,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[-2.014,-9.366],[-1.108,-1.913],[0,0],[2.216,9.467],[5.237,1.813],[0,0],[0,8.963],[3.424,3.021],[9.366,0],[4.431,-0.906]],"o":[[0,0],[0,0],[0,0],[7.956,0.302],[1.913,8.459],[0,0],[-1.41,-2.618],[-1.611,-7.05],[0,0],[7.15,-2.417],[0,-5.237],[-4.23,-3.827],[-6.042,0],[0,0]],"v":[[7.654,0],[16.415,0],[16.415,-29.407],[24.673,-29.407],[38.269,-16.214],[42.801,0],[51.865,0],[46.628,-18.631],[36.658,-32.327],[36.658,-32.629],[49.448,-49.951],[44.11,-62.842],[24.472,-68.381],[7.654,-66.971]],"c":true},"ix":2},"nm":"R","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[-4.23,0],[0,-8.762],[9.366,0],[0,0]],"o":[[1.41,-0.403],[9.265,0.101],[0,7.755],[0,0],[0,0]],"v":[[16.415,-60.828],[25.076,-61.633],[40.686,-48.944],[25.378,-36.053],[16.415,-36.053]],"c":true},"ix":2},"nm":"R","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"R","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"3","size":150,"style":"500","w":51.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-7.352,0],[0,10.474],[8.057,1.611],[0,0],[0,6.747],[12.891,0],[3.424,-2.518],[0,0],[-5.237,0],[0,-5.237],[6.445,0],[0,0],[0,0],[0,0],[-0.101,-9.164],[11.38,0],[2.518,1.611]],"o":[[3.223,2.115],[15.71,0],[0,-9.164],[0,0],[8.057,-2.921],[0,-7.956],[-7.05,0],[0,0],[2.82,-2.014],[8.157,0],[0,7.755],[0,0],[0,0],[0,0],[8.56,0],[0.101,5.438],[-6.143,0],[0,0]],"v":[[4.23,-3.323],[21.249,1.108],[45.117,-18.53],[30.515,-35.349],[30.515,-35.55],[42.599,-50.958],[23.868,-66.568],[6.747,-61.533],[9.064,-55.087],[22.156,-59.418],[33.636,-49.548],[19.034,-38.47],[14.099,-38.47],[14.099,-31.824],[19.034,-31.824],[35.953,-18.732],[21.149,-6.042],[6.647,-10.172]],"c":true},"ix":2},"nm":"3","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"3","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"S","size":150,"style":"500","w":49.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-6.546,0],[0,10.474],[11.481,4.431],[0,6.345],[-9.265,0],[-2.216,-1.208],[0,0],[6.949,0],[0,-10.574],[-11.078,-3.928],[0,-6.345],[8.963,0],[3.928,2.417]],"o":[[3.625,2.417],[16.013,0],[0,-9.97],[-9.366,-3.625],[0,-4.633],[6.143,0],[0,0],[-3.021,-1.712],[-13.193,0],[0,9.567],[9.164,3.525],[0,6.848],[-6.042,0],[0,0]],"v":[[4.23,-3.323],[21.552,1.007],[45.319,-18.53],[27.997,-38.47],[14.502,-51.562],[27.292,-61.734],[40.182,-58.511],[42.599,-65.662],[27.594,-68.985],[5.64,-50.555],[23.566,-31.32],[36.356,-17.825],[22.156,-6.244],[6.445,-10.675]],"c":true},"ix":2},"nm":"S","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"S","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"l","size":150,"style":"500","w":23.6,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[7.352,0],[16.214,0],[16.214,-71.503],[7.352,-71.503]],"c":true},"ix":2},"nm":"l","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"l","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"2","size":150,"style":"500","w":51.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,12.085],[14.099,0],[4.532,-3.827],[0,0],[-5.942,0],[0,-6.647],[16.718,-15.912],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[13.797,-13.293],[0,-9.366],[-7.553,0],[0,0],[3.021,-2.518],[9.769,0],[-0.101,9.869],[0,0],[0,0],[0,0]],"v":[[46.326,0],[46.326,-7.352],[16.919,-7.352],[16.919,-7.553],[22.156,-12.387],[44.714,-47.534],[24.673,-66.568],[6.143,-59.921],[8.963,-53.677],[22.861,-59.216],[35.852,-46.426],[11.481,-12.186],[4.532,-5.438],[4.532,0]],"c":true},"ix":2},"nm":"2","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"2","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"1","size":150,"style":"500","w":51.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[23.767,0],[32.327,0],[32.327,-65.46],[24.774,-65.46],[10.474,-57.806],[12.186,-51.059],[23.566,-57.202],[23.767,-57.202]],"c":true},"ix":2},"nm":"1","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"}]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/UXSample_1920x1080/E Interpolation_All_01_1920x1080.json b/submodules/RLottie/Sources/rlottie/example/resource/UXSample_1920x1080/E Interpolation_All_01_1920x1080.json deleted file mode 100644 index 46cabbe11f..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/UXSample_1920x1080/E Interpolation_All_01_1920x1080.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.1.18","fr":30,"ip":0,"op":41,"w":1920,"h":1080,"nm":"E Interpolation_All_01","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 6","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":90,"ix":10},"p":{"a":0,"k":[1924.5,540,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[60,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-994,4],[1024,4]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":90,"ix":10},"p":{"a":0,"k":[643.833,540,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[60,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-994,4],[1024,4]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":90,"ix":10},"p":{"a":0,"k":[1284.167,540,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[60,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-994,4],[1024,4]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Shape Layer 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":90,"ix":10},"p":{"a":0,"k":[3.5,540,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[60,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-994,4],[1024,4]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[960,540,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-994,4],[1024,4]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]},{"id":"comp_1","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"01 Linear Interpolation","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[111,244,0],"e":[639,244,0],"to":[88,0,0],"ti":[-88,0,0]},{"t":35}],"ix":2},"a":{"a":0,"k":[962,504,0],"ix":1},"s":{"a":0,"k":[40,40,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[139,139],[-139,139],[-139,-139],[139,-139]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054901960784,0.63137254902,0.901960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[962,504],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]},{"id":"comp_2","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"02 Bezier Interpolation","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.119,"y":1},"o":{"x":0.341,"y":0.896},"n":"0p119_1_0p341_0p896","t":0,"s":[111,244,0],"e":[639,244,0],"to":[0,0,0],"ti":[0,0,0]},{"t":35}],"ix":2},"a":{"a":0,"k":[962,504,0],"ix":1},"s":{"a":0,"k":[40,40,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[139,139],[-139,139],[-139,-139],[139,-139]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054901960784,0.63137254902,0.901960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[962,504],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]},{"id":"comp_3","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"03 Hold Interpolation","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"t":0,"s":[111,244,0],"h":1},{"t":35,"s":[639,244,0],"h":1}],"ix":2},"a":{"a":0,"k":[962,504,0],"ix":1},"s":{"a":0,"k":[40,40,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[139,139],[-139,139],[-139,-139],[139,-139]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054901960784,0.63137254902,0.901960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[962,504],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]},{"id":"comp_4","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"04 Spatial Bezier Interpolation","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.119,"y":1},"o":{"x":0.341,"y":0.888},"n":"0p119_1_0p341_0p888","t":0,"s":[111,244,0],"e":[639,244,0],"to":[87.1999969482422,-42.4000015258789,0],"ti":[-118.400001525879,55.2000007629395,0]},{"t":35}],"ix":2},"a":{"a":0,"k":[962,504,0],"ix":1},"s":{"a":0,"k":[40,40,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[139,139],[-139,139],[-139,-139],[139,-139]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054901960784,0.63137254902,0.901960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[962,504],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]},{"id":"comp_5","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"05 Rove Across Time","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.395,"y":0.334},"o":{"x":0.501,"y":0.701},"n":"0p395_0p334_0p501_0p701","t":0,"s":[111,244,0],"e":[572.148,244,0],"to":[72.73828125,0,0],"ti":[-135.300979614258,0,0]},{"i":{"x":0.532,"y":1},"o":{"x":0.115,"y":1},"n":"0p532_1_0p115_1","t":16.283,"s":[572.148,244,0],"e":[639,244,0],"to":[28.3884334564209,0,0],"ti":[-15.2617216110229,0,0]},{"t":35}],"ix":2},"a":{"a":0,"k":[962,504,0],"ix":1},"s":{"a":0,"k":[40,40,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0]],"o":[[0,0]],"v":[[2448.799,1789]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.054901998183,0.631372967888,0.901961023667,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":6,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054901960784,0.63137254902,0.901960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[139,139],[-139,139],[-139,-139],[139,-139]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054901960784,0.63137254902,0.901960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[962,504],"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,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"div","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":10,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[960,540,0],"ix":2},"a":{"a":0,"k":[960,540,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":1920,"h":1080,"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"E Interpolation_01 Linear Interpolation","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[324.499,163.512,0],"ix":2},"a":{"a":0,"k":[960,540,0],"ix":1},"s":{"a":0,"k":[72.458,72.458,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.849,-0.888],[0,-1.561],[0,0],[0,0],[0,0],[0.536,0.498],[1.035,0],[0.624,-0.243],[0.625,-0.507],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.913,0]],"o":[[0.85,0.888],[0,0],[0,0],[0,0],[0,-0.956],[-0.537,-0.498],[-0.741,0],[-0.625,0.245],[0,0],[0,0],[0,0],[0,0],[0,0],[1.288,-1.405],[1.523,0]],"v":[[4.641,-6.705],[5.914,-3.031],[5.914,8.036],[3.543,8.036],[3.543,-2.826],[2.739,-5.006],[0.381,-5.753],[-1.668,-5.388],[-3.542,-4.26],[-3.542,8.036],[-5.913,8.036],[-5.913,-7.656],[-3.717,-7.656],[-3.717,-5.929],[1.084,-8.036]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1124.737,391.907],"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,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.693,1.024],[0,2.011],[0.692,1.034],[1.327,0],[0.692,-1.035],[0,-1.99],[-0.693,-1.025],[-1.346,0]],"o":[[0.692,-1.025],[0,-1.99],[-0.693,-1.035],[-1.366,0],[-0.693,1.034],[0,2.011],[0.692,1.024],[1.347,0]],"v":[[3.06,4.552],[4.099,0],[3.06,-4.537],[0.03,-6.089],[-3.059,-4.537],[-4.099,0],[-3.059,4.552],[0,6.09]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[1.132,1.396],[0,2.694],[-1.142,1.395],[-2.109,0],[-1.133,-1.396],[0,-2.693],[1.131,-1.405],[2.108,0]],"o":[[-1.132,-1.395],[0,-2.693],[1.142,-1.396],[2.088,0],[1.131,1.395],[0,2.675],[-1.133,1.405],[-2.108,0]],"v":[[-4.86,6.134],[-6.557,0],[-4.845,-6.133],[0.03,-8.227],[4.86,-6.133],[6.557,0],[4.86,6.119],[0,8.227]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1106.702,392.097],"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":4,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-1.172,-4.831],[1.2,-4.831],[1.2,10.861],[-1.172,10.861]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.284,0.293],[0,0.527],[-0.283,0.293],[-0.526,0],[-0.283,-0.293],[0,-0.507],[0.282,-0.293],[0.528,0]],"o":[[-0.283,-0.293],[0,-0.527],[0.284,-0.293],[0.528,0],[0.282,0.293],[0,0.547],[-0.283,0.293],[-0.526,0]],"v":[[-1.216,-7.963],[-1.639,-9.193],[-1.216,-10.422],[-0.001,-10.861],[1.215,-10.422],[1.639,-9.222],[1.215,-7.963],[-0.001,-7.524]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1093.321,389.081],"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":4,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.819,0.869],[0,1.717],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.468,-0.547],[-0.977,0],[-0.547,0.176],[0,0],[0.878,0]],"o":[[-0.82,-0.869],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,1.17],[0.469,0.546],[0.526,0],[0,0],[-0.721,0.235],[-1.601,0]],"v":[[-1.067,8.958],[-2.297,5.079],[-2.297,-3.616],[-4.962,-3.616],[-4.962,-5.637],[-2.297,-5.637],[-2.297,-10.262],[0.075,-10.262],[0.075,-5.637],[4.758,-5.637],[4.758,-3.616],[0.075,-3.616],[0.075,4.728],[0.777,7.304],[2.944,8.124],[4.554,7.861],[4.963,9.91],[2.563,10.262]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1082.384,389.887],"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 4","np":2,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.653,0.303],[-0.566,0.625],[0,0],[1.142,-0.547],[0,-1.171],[-0.517,-0.458],[-1.014,0]],"o":[[0.654,-0.302],[0,0],[-2.439,0.02],[-1.142,0.547],[0,0.898],[0.517,0.459],[0.8,0]],"v":[[1.727,5.606],[3.557,4.215],[3.557,-0.087],[-1.816,0.762],[-3.528,3.337],[-2.752,5.373],[-0.454,6.061]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-1.035,-0.849],[0,-1.64],[0,0],[0,0],[0,0],[2.128,0],[0.859,0.82],[0,1.483],[-1.522,0.878],[-3.26,0.02],[0,0],[0.614,0.507],[1.191,0],[1.151,-0.546],[0,0],[-1.639,0]],"o":[[1.034,0.849],[0,0],[0,0],[0,0],[-1.015,1.542],[-1.562,0],[-0.859,-0.819],[0,-1.874],[1.523,-0.879],[0,0],[0,-0.975],[-0.615,-0.508],[-1.307,0],[0,0],[1.424,-0.721],[1.717,0]],"v":[[4.348,-6.923],[5.9,-3.191],[5.9,7.876],[3.733,7.876],[3.733,5.884],[-0.981,8.197],[-4.611,6.967],[-5.9,3.514],[-3.616,-0.614],[3.557,-1.962],[3.557,-2.986],[2.635,-5.21],[-0.073,-5.973],[-3.762,-5.152],[-4.377,-7.114],[0.219,-8.197]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1067.159,392.067],"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 5","np":4,"cix":2,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,2.323],[0,0],[0,0],[0,0],[-0.254,-0.243],[-0.547,0],[-0.409,0.079],[0,0],[0.644,0]],"o":[[0,0],[0,0],[0,0],[0,0.547],[0.253,0.245],[0.352,0],[0,0],[-0.625,0.156],[-2.283,0]],"v":[[-2.664,7.875],[-2.664,-11.359],[-0.293,-11.359],[-0.293,7.671],[0.088,8.856],[1.288,9.223],[2.43,9.104],[2.664,11.125],[0.761,11.359]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1054.993,388.759],"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 6","np":2,"cix":2,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.692,1.024],[0,2.011],[0.692,1.034],[1.327,0],[0.692,-1.035],[0,-1.99],[-0.694,-1.025],[-1.346,0]],"o":[[0.692,-1.025],[0,-1.99],[-0.692,-1.035],[-1.366,0],[-0.694,1.034],[0,2.011],[0.692,1.024],[1.348,0]],"v":[[3.059,4.552],[4.099,0],[3.059,-4.537],[0.029,-6.089],[-3.059,-4.537],[-4.099,0],[-3.059,4.552],[-0.001,6.09]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[1.132,1.396],[0,2.694],[-1.142,1.395],[-2.108,0],[-1.132,-1.396],[0,-2.693],[1.132,-1.405],[2.109,0]],"o":[[-1.132,-1.395],[0,-2.693],[1.141,-1.396],[2.089,0],[1.132,1.395],[0,2.675],[-1.132,1.405],[-2.107,0]],"v":[[-4.86,6.134],[-6.558,0],[-4.845,-6.133],[0.029,-8.227],[4.86,-6.133],[6.558,0],[4.86,6.119],[-0.001,8.227]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1040.265,392.097],"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 7","np":4,"cix":2,"ix":7,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.653,0.995],[0,1.971],[0.684,1.025],[1.347,0],[0.594,-0.293],[0.546,-0.625],[0,0],[-0.674,-0.302],[-0.741,0]],"o":[[0.654,-0.996],[0,-1.991],[-0.683,-1.024],[-0.723,0],[-0.596,0.293],[0,0],[0.488,0.546],[0.673,0.303],[1.289,0]],"v":[[2.854,1.727],[3.835,-2.723],[2.81,-7.247],[-0.234,-8.783],[-2.21,-8.344],[-3.923,-6.967],[-3.923,1.493],[-2.181,2.766],[-0.059,3.22]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-1.035,-1.464],[0,-2.616],[1.083,-1.435],[1.952,0],[0.693,0.312],[0.488,0.566],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.761,0.409],[-0.956,0]],"o":[[1.034,1.464],[0,2.557],[-1.083,1.434],[-0.82,0],[-0.693,-0.312],[0,0],[0,0],[0,0],[0,0],[0,0],[0.527,-0.8],[0.761,-0.41],[1.854,0]],"v":[[4.743,-8.871],[6.294,-2.751],[4.669,3.236],[0.117,5.387],[-2.152,4.918],[-3.923,3.601],[-3.923,11.066],[-6.294,11.066],[-6.294,-10.686],[-4.099,-10.686],[-4.099,-8.637],[-2.167,-10.452],[0.41,-11.066]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1022.932,394.936],"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 8","np":4,"cix":2,"ix":8,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.585,-0.253],[0,0],[0.605,0],[0.555,-0.312],[0.448,-0.663],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.717,0]],"o":[[0,0],[-0.743,-0.214],[-0.742,0],[-0.557,0.313],[0,0],[0,0],[0,0],[0,0],[0,0],[1.113,-1.678],[0.703,0]],"v":[[4.187,-7.627],[3.661,-5.314],[1.639,-5.636],[-0.307,-5.168],[-1.815,-3.704],[-1.815,8.007],[-4.187,8.007],[-4.187,-7.686],[-1.99,-7.686],[-1.99,-5.49],[2.255,-8.007]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1007.823,391.936],"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 9","np":2,"cix":2,"ix":9,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.273,-3.221],[0,0],[0.703,0.849],[1.229,0]],"o":[[0,0],[-0.019,-1.522],[-0.702,-0.849],[-2.401,0]],"v":[[-3.967,-1.245],[4.024,-1.245],[2.942,-4.801],[0.044,-6.076]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.078,-0.331],[0,0],[-0.811,-0.888],[-1.484,0],[-1.211,0.781],[0,0],[0.887,-0.264],[0.975,0],[1.24,1.444],[0,2.576],[-1.142,1.444],[-2.069,0],[-1.113,-1.327],[0,-2.38]],"o":[[0,0],[0.078,1.757],[0.809,0.889],[1.464,0],[0,0],[-0.625,0.488],[-0.889,0.264],[-2.226,0],[-1.239,-1.444],[0,-2.596],[1.143,-1.445],[1.992,0],[1.112,1.328],[0,0.567]],"v":[[6.308,0.687],[-3.997,0.687],[-2.664,4.655],[0.776,5.986],[4.786,4.816],[5.693,6.689],[3.425,7.816],[0.63,8.212],[-4.568,6.046],[-6.427,0.014],[-4.714,-6.046],[0.102,-8.212],[4.758,-6.222],[6.427,-0.66]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[991.823,392.082],"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 10","np":4,"cix":2,"ix":10,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.819,0.869],[0,1.717],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.468,-0.547],[-0.977,0],[-0.547,0.176],[0,0],[0.878,0]],"o":[[-0.82,-0.869],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,1.17],[0.469,0.546],[0.526,0],[0,0],[-0.721,0.235],[-1.601,0]],"v":[[-1.068,8.958],[-2.298,5.079],[-2.298,-3.616],[-4.963,-3.616],[-4.963,-5.637],[-2.298,-5.637],[-2.298,-10.262],[0.074,-10.262],[0.074,-5.637],[4.757,-5.637],[4.757,-3.616],[0.074,-3.616],[0.074,4.728],[0.776,7.304],[2.943,8.124],[4.553,7.861],[4.962,9.91],[2.562,10.262]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[976.83,389.887],"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 11","np":2,"cix":2,"ix":11,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.85,-0.888],[0,-1.561],[0,0],[0,0],[0,0],[0.537,0.498],[1.034,0],[0.625,-0.243],[0.624,-0.507],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.913,0]],"o":[[0.849,0.888],[0,0],[0,0],[0,0],[0,-0.956],[-0.537,-0.498],[-0.742,0],[-0.625,0.245],[0,0],[0,0],[0,0],[0,0],[0,0],[1.288,-1.405],[1.523,0]],"v":[[4.641,-6.705],[5.914,-3.031],[5.914,8.036],[3.543,8.036],[3.543,-2.826],[2.738,-5.006],[0.381,-5.753],[-1.669,-5.388],[-3.542,-4.26],[-3.542,8.036],[-5.914,8.036],[-5.914,-7.656],[-3.717,-7.656],[-3.717,-5.929],[1.083,-8.036]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[961.532,391.907],"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 12","np":2,"cix":2,"ix":12,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-1.216,-10.598],[1.216,-10.598],[1.216,10.598],[-1.216,10.598]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[947.581,389.344],"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 13","np":2,"cix":2,"ix":13,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.586,-0.253],[0,0],[0.605,0],[0.556,-0.312],[0.449,-0.663],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.717,0]],"o":[[0,0],[-0.742,-0.214],[-0.742,0],[-0.556,0.313],[0,0],[0,0],[0,0],[0,0],[0,0],[1.114,-1.678],[0.704,0]],"v":[[4.187,-7.627],[3.659,-5.314],[1.639,-5.636],[-0.307,-5.168],[-1.815,-3.704],[-1.815,8.007],[-4.187,8.007],[-4.187,-7.686],[-1.992,-7.686],[-1.992,-5.49],[2.253,-8.007]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[929.411,391.936],"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 14","np":2,"cix":2,"ix":14,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.654,0.303],[-0.566,0.625],[0,0],[1.143,-0.547],[0,-1.171],[-0.518,-0.458],[-1.015,0]],"o":[[0.653,-0.302],[0,0],[-2.44,0.02],[-1.142,0.547],[0,0.898],[0.516,0.459],[0.8,0]],"v":[[1.727,5.606],[3.557,4.215],[3.557,-0.087],[-1.816,0.762],[-3.528,3.337],[-2.752,5.373],[-0.454,6.061]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-1.034,-0.849],[0,-1.64],[0,0],[0,0],[0,0],[2.127,0],[0.86,0.82],[0,1.483],[-1.522,0.878],[-3.26,0.02],[0,0],[0.615,0.507],[1.191,0],[1.151,-0.546],[0,0],[-1.639,0]],"o":[[1.034,0.849],[0,0],[0,0],[0,0],[-1.016,1.542],[-1.562,0],[-0.858,-0.819],[0,-1.874],[1.523,-0.879],[0,0],[0,-0.975],[-0.614,-0.508],[-1.307,0],[0,0],[1.424,-0.721],[1.718,0]],"v":[[4.347,-6.923],[5.899,-3.191],[5.899,7.876],[3.733,7.876],[3.733,5.884],[-0.981,8.197],[-4.612,6.967],[-5.9,3.514],[-3.616,-0.614],[3.557,-1.962],[3.557,-2.986],[2.634,-5.21],[-0.074,-5.973],[-3.762,-5.152],[-4.377,-7.114],[0.219,-8.197]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[912.883,392.067],"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 15","np":4,"cix":2,"ix":15,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.273,-3.221],[0,0],[0.702,0.849],[1.229,0]],"o":[[0,0],[-0.019,-1.522],[-0.703,-0.849],[-2.402,0]],"v":[[-3.967,-1.245],[4.026,-1.245],[2.943,-4.801],[0.044,-6.076]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.078,-0.331],[0,0],[-0.81,-0.888],[-1.483,0],[-1.21,0.781],[0,0],[0.887,-0.264],[0.975,0],[1.24,1.444],[0,2.576],[-1.142,1.444],[-2.069,0],[-1.113,-1.327],[0,-2.38]],"o":[[0,0],[0.078,1.757],[0.81,0.889],[1.464,0],[0,0],[-0.625,0.488],[-0.889,0.264],[-2.225,0],[-1.24,-1.444],[0,-2.596],[1.142,-1.445],[1.991,0],[1.112,1.328],[0,0.567]],"v":[[6.308,0.687],[-3.997,0.687],[-2.664,4.655],[0.776,5.986],[4.786,4.816],[5.695,6.689],[3.425,7.816],[0.63,8.212],[-4.568,6.046],[-6.427,0.014],[-4.714,-6.046],[0.102,-8.212],[4.758,-6.222],[6.427,-0.66]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[896.603,392.082],"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 16","np":4,"cix":2,"ix":16,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.849,-0.888],[0,-1.561],[0,0],[0,0],[0,0],[0.536,0.498],[1.035,0],[0.624,-0.243],[0.625,-0.507],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.913,0]],"o":[[0.85,0.888],[0,0],[0,0],[0,0],[0,-0.956],[-0.537,-0.498],[-0.741,0],[-0.625,0.245],[0,0],[0,0],[0,0],[0,0],[0,0],[1.288,-1.405],[1.523,0]],"v":[[4.641,-6.705],[5.914,-3.031],[5.914,8.036],[3.543,8.036],[3.543,-2.826],[2.739,-5.006],[0.381,-5.753],[-1.668,-5.388],[-3.542,-4.26],[-3.542,8.036],[-5.913,8.036],[-5.913,-7.656],[-3.717,-7.656],[-3.717,-5.929],[1.084,-8.036]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[878.903,391.907],"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 17","np":2,"cix":2,"ix":17,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-1.171,-4.831],[1.2,-4.831],[1.2,10.861],[-1.171,10.861]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.282,0.293],[0,0.527],[-0.283,0.293],[-0.527,0],[-0.283,-0.293],[0,-0.507],[0.283,-0.293],[0.527,0]],"o":[[-0.283,-0.293],[0,-0.527],[0.282,-0.293],[0.527,0],[0.283,0.293],[0,0.547],[-0.283,0.293],[-0.527,0]],"v":[[-1.215,-7.963],[-1.64,-9.193],[-1.215,-10.422],[0,-10.861],[1.215,-10.422],[1.64,-9.222],[1.215,-7.963],[0,-7.524]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[865.084,389.081],"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 18","np":4,"cix":2,"ix":18,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[5.899,8.373],[5.899,10.598],[-5.899,10.598],[-5.899,-10.598],[-3.469,-10.598],[-3.469,8.373]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[853.093,389.345],"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 19","np":2,"cix":2,"ix":19,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[4.01,-10.598],[4.01,10.598],[1.61,10.598],[1.61,-7.963],[-3.309,-6.265],[-4.011,-8.314],[1.96,-10.598]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[826.99,389.345],"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 20","np":2,"cix":2,"ix":20,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.742,1.425],[0,3.025],[0.741,1.425],[1.581,0],[0.741,-1.425],[0,-3.025],[-0.743,-1.425],[-1.581,0]],"o":[[0.741,-1.425],[0,-3.025],[-0.742,-1.425],[-1.562,0],[-0.743,1.425],[0,3.025],[0.741,1.425],[1.561,0]],"v":[[3.47,6.675],[4.582,0],[3.47,-6.674],[-0.014,-8.812],[-3.469,-6.674],[-4.581,0],[-3.469,6.675],[0.015,8.813]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[1.171,1.786],[0,3.747],[-1.161,1.786],[-2.381,0],[-1.172,-1.786],[0,-3.748],[1.161,-1.786],[2.381,0]],"o":[[-1.171,-1.786],[0,-3.748],[1.161,-1.786],[2.38,0],[1.171,1.786],[0,3.747],[-1.162,1.786],[-2.381,0]],"v":[[-5.313,8.3],[-7.07,0],[-5.328,-8.299],[-0.014,-10.979],[5.315,-8.299],[7.07,0],[5.328,8.3],[0.015,10.979]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[811.516,389.344],"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 21","np":4,"cix":2,"ix":21,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-5.958,-1.112],[5.958,-1.112],[5.958,1.112],[-5.958,1.112]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[792.338,403.193],"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 22","np":2,"cix":2,"ix":22,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.849,-0.888],[0,-1.561],[0,0],[0,0],[0,0],[0.536,0.498],[1.035,0],[0.624,-0.243],[0.625,-0.507],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.913,0]],"o":[[0.85,0.888],[0,0],[0,0],[0,0],[0,-0.956],[-0.537,-0.498],[-0.741,0],[-0.625,0.245],[0,0],[0,0],[0,0],[0,0],[0,0],[1.288,-1.405],[1.523,0]],"v":[[4.641,-6.705],[5.913,-3.031],[5.913,8.036],[3.542,8.036],[3.542,-2.826],[2.738,-5.006],[0.38,-5.753],[-1.669,-5.388],[-3.543,-4.26],[-3.543,8.036],[-5.914,8.036],[-5.914,-7.656],[-3.718,-7.656],[-3.718,-5.929],[1.083,-8.036]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[773.848,391.907],"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 23","np":2,"cix":2,"ix":23,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.692,1.024],[0,2.011],[0.692,1.034],[1.327,0],[0.692,-1.035],[0,-1.99],[-0.694,-1.025],[-1.346,0]],"o":[[0.692,-1.025],[0,-1.99],[-0.692,-1.035],[-1.366,0],[-0.694,1.034],[0,2.011],[0.692,1.024],[1.348,0]],"v":[[3.059,4.552],[4.099,0],[3.059,-4.537],[0.029,-6.089],[-3.059,-4.537],[-4.099,0],[-3.059,4.552],[-0.001,6.09]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[1.132,1.396],[0,2.694],[-1.142,1.395],[-2.108,0],[-1.132,-1.396],[0,-2.693],[1.132,-1.405],[2.109,0]],"o":[[-1.132,-1.395],[0,-2.693],[1.141,-1.396],[2.089,0],[1.132,1.395],[0,2.675],[-1.132,1.405],[-2.107,0]],"v":[[-4.86,6.134],[-6.558,0],[-4.845,-6.133],[0.029,-8.227],[4.86,-6.133],[6.558,0],[4.86,6.119],[-0.001,8.227]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[755.812,392.097],"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 24","np":4,"cix":2,"ix":24,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-1.171,-4.831],[1.201,-4.831],[1.201,10.861],[-1.171,10.861]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.283,0.293],[0,0.527],[-0.283,0.293],[-0.527,0],[-0.283,-0.293],[0,-0.507],[0.283,-0.293],[0.527,0]],"o":[[-0.283,-0.293],[0,-0.527],[0.283,-0.293],[0.527,0],[0.283,0.293],[0,0.547],[-0.283,0.293],[-0.527,0]],"v":[[-1.215,-7.963],[-1.639,-9.193],[-1.215,-10.422],[0,-10.861],[1.215,-10.422],[1.639,-9.222],[1.215,-7.963],[0,-7.524]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[742.431,389.081],"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 25","np":4,"cix":2,"ix":25,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.819,0.869],[0,1.717],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.469,-0.547],[-0.976,0],[-0.547,0.176],[0,0],[0.879,0]],"o":[[-0.819,-0.869],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,1.17],[0.468,0.546],[0.527,0],[0,0],[-0.722,0.235],[-1.601,0]],"v":[[-1.068,8.958],[-2.297,5.079],[-2.297,-3.616],[-4.963,-3.616],[-4.963,-5.637],[-2.297,-5.637],[-2.297,-10.262],[0.073,-10.262],[0.073,-5.637],[4.758,-5.637],[4.758,-3.616],[0.073,-3.616],[0.073,4.728],[0.776,7.304],[2.943,8.124],[4.552,7.861],[4.962,9.91],[2.561,10.262]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[731.494,389.887],"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 26","np":2,"cix":2,"ix":26,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.653,0.303],[-0.566,0.625],[0,0],[1.142,-0.547],[0,-1.171],[-0.517,-0.458],[-1.014,0]],"o":[[0.654,-0.302],[0,0],[-2.439,0.02],[-1.142,0.547],[0,0.898],[0.517,0.459],[0.8,0]],"v":[[1.727,5.606],[3.557,4.215],[3.557,-0.087],[-1.815,0.762],[-3.528,3.337],[-2.752,5.373],[-0.454,6.061]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-1.035,-0.849],[0,-1.64],[0,0],[0,0],[0,0],[2.128,0],[0.859,0.82],[0,1.483],[-1.522,0.878],[-3.26,0.02],[0,0],[0.614,0.507],[1.191,0],[1.151,-0.546],[0,0],[-1.639,0]],"o":[[1.034,0.849],[0,0],[0,0],[0,0],[-1.015,1.542],[-1.562,0],[-0.859,-0.819],[0,-1.874],[1.523,-0.879],[0,0],[0,-0.975],[-0.615,-0.508],[-1.307,0],[0,0],[1.424,-0.721],[1.717,0]],"v":[[4.348,-6.923],[5.9,-3.191],[5.9,7.876],[3.733,7.876],[3.733,5.884],[-0.981,8.197],[-4.611,6.967],[-5.899,3.514],[-3.616,-0.614],[3.557,-1.962],[3.557,-2.986],[2.635,-5.21],[-0.073,-5.973],[-3.762,-5.152],[-4.377,-7.114],[0.22,-8.197]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[716.27,392.067],"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 27","np":4,"cix":2,"ix":27,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,2.323],[0,0],[0,0],[0,0],[-0.254,-0.243],[-0.547,0],[-0.41,0.079],[0,0],[0.644,0]],"o":[[0,0],[0,0],[0,0],[0,0.547],[0.254,0.245],[0.351,0],[0,0],[-0.625,0.156],[-2.283,0]],"v":[[-2.664,7.875],[-2.664,-11.359],[-0.293,-11.359],[-0.293,7.671],[0.087,8.856],[1.288,9.223],[2.43,9.104],[2.664,11.125],[0.761,11.359]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[704.103,388.759],"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 28","np":2,"cix":2,"ix":28,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.692,1.024],[0,2.011],[0.692,1.034],[1.327,0],[0.692,-1.035],[0,-1.99],[-0.694,-1.025],[-1.346,0]],"o":[[0.692,-1.025],[0,-1.99],[-0.692,-1.035],[-1.366,0],[-0.694,1.034],[0,2.011],[0.692,1.024],[1.348,0]],"v":[[3.059,4.552],[4.099,0],[3.059,-4.537],[0.029,-6.089],[-3.059,-4.537],[-4.099,0],[-3.059,4.552],[-0.001,6.09]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[1.132,1.396],[0,2.694],[-1.142,1.395],[-2.108,0],[-1.132,-1.396],[0,-2.693],[1.132,-1.405],[2.109,0]],"o":[[-1.132,-1.395],[0,-2.693],[1.141,-1.396],[2.089,0],[1.132,1.395],[0,2.675],[-1.132,1.405],[-2.107,0]],"v":[[-4.86,6.134],[-6.558,0],[-4.845,-6.133],[0.029,-8.227],[4.86,-6.133],[6.558,0],[4.86,6.119],[-0.001,8.227]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[689.376,392.097],"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 29","np":4,"cix":2,"ix":29,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.654,0.995],[0,1.971],[0.683,1.025],[1.347,0],[0.595,-0.293],[0.546,-0.625],[0,0],[-0.673,-0.302],[-0.742,0]],"o":[[0.653,-0.996],[0,-1.991],[-0.684,-1.024],[-0.723,0],[-0.595,0.293],[0,0],[0.487,0.546],[0.674,0.303],[1.288,0]],"v":[[2.855,1.727],[3.835,-2.723],[2.811,-7.247],[-0.234,-8.783],[-2.21,-8.344],[-3.922,-6.967],[-3.922,1.493],[-2.181,2.766],[-0.058,3.22]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-1.035,-1.464],[0,-2.616],[1.083,-1.435],[1.951,0],[0.694,0.312],[0.487,0.566],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.761,0.409],[-0.957,0]],"o":[[1.034,1.464],[0,2.557],[-1.084,1.434],[-0.821,0],[-0.692,-0.312],[0,0],[0,0],[0,0],[0,0],[0,0],[0.526,-0.8],[0.761,-0.41],[1.853,0]],"v":[[4.744,-8.871],[6.294,-2.751],[4.67,3.236],[0.118,5.387],[-2.152,4.918],[-3.922,3.601],[-3.922,11.066],[-6.294,11.066],[-6.294,-10.686],[-4.098,-10.686],[-4.098,-8.637],[-2.166,-10.452],[0.411,-11.066]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[672.041,394.936],"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 30","np":4,"cix":2,"ix":30,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.586,-0.253],[0,0],[0.605,0],[0.556,-0.312],[0.449,-0.663],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.717,0]],"o":[[0,0],[-0.742,-0.214],[-0.742,0],[-0.556,0.313],[0,0],[0,0],[0,0],[0,0],[0,0],[1.114,-1.678],[0.704,0]],"v":[[4.187,-7.627],[3.659,-5.314],[1.639,-5.636],[-0.307,-5.168],[-1.815,-3.704],[-1.815,8.007],[-4.187,8.007],[-4.187,-7.686],[-1.992,-7.686],[-1.992,-5.49],[2.253,-8.007]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[656.934,391.936],"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 31","np":2,"cix":2,"ix":31,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.273,-3.221],[0,0],[0.702,0.849],[1.229,0]],"o":[[0,0],[-0.019,-1.522],[-0.703,-0.849],[-2.402,0]],"v":[[-3.967,-1.245],[4.026,-1.245],[2.943,-4.801],[0.044,-6.076]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.078,-0.331],[0,0],[-0.81,-0.888],[-1.483,0],[-1.21,0.781],[0,0],[0.887,-0.264],[0.975,0],[1.24,1.444],[0,2.576],[-1.142,1.444],[-2.069,0],[-1.113,-1.327],[0,-2.38]],"o":[[0,0],[0.078,1.757],[0.81,0.889],[1.464,0],[0,0],[-0.625,0.488],[-0.889,0.264],[-2.225,0],[-1.24,-1.444],[0,-2.596],[1.142,-1.445],[1.991,0],[1.112,1.328],[0,0.567]],"v":[[6.308,0.687],[-3.997,0.687],[-2.664,4.655],[0.776,5.986],[4.786,4.816],[5.695,6.689],[3.425,7.816],[0.63,8.212],[-4.568,6.046],[-6.427,0.014],[-4.714,-6.046],[0.102,-8.212],[4.758,-6.222],[6.427,-0.66]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[640.932,392.082],"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 32","np":4,"cix":2,"ix":32,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.819,0.869],[0,1.717],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.468,-0.547],[-0.977,0],[-0.547,0.176],[0,0],[0.878,0]],"o":[[-0.82,-0.869],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,1.17],[0.469,0.546],[0.526,0],[0,0],[-0.721,0.235],[-1.601,0]],"v":[[-1.067,8.958],[-2.297,5.079],[-2.297,-3.616],[-4.962,-3.616],[-4.962,-5.637],[-2.297,-5.637],[-2.297,-10.262],[0.075,-10.262],[0.075,-5.637],[4.758,-5.637],[4.758,-3.616],[0.075,-3.616],[0.075,4.728],[0.777,7.304],[2.944,8.124],[4.554,7.861],[4.963,9.91],[2.563,10.262]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[625.94,389.887],"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 33","np":2,"cix":2,"ix":33,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.85,-0.888],[0,-1.561],[0,0],[0,0],[0,0],[0.537,0.498],[1.034,0],[0.625,-0.243],[0.624,-0.507],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.913,0]],"o":[[0.849,0.888],[0,0],[0,0],[0,0],[0,-0.956],[-0.537,-0.498],[-0.742,0],[-0.625,0.245],[0,0],[0,0],[0,0],[0,0],[0,0],[1.288,-1.405],[1.523,0]],"v":[[4.641,-6.705],[5.914,-3.031],[5.914,8.036],[3.543,8.036],[3.543,-2.826],[2.738,-5.006],[0.381,-5.753],[-1.669,-5.388],[-3.542,-4.26],[-3.542,8.036],[-5.914,8.036],[-5.914,-7.656],[-3.717,-7.656],[-3.717,-5.929],[1.083,-8.036]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[610.642,391.907],"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 34","np":2,"cix":2,"ix":34,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-1.216,-10.598],[1.216,-10.598],[1.216,10.598],[-1.216,10.598]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[596.692,389.344],"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 35","np":2,"cix":2,"ix":35,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[6.383,8.402],[6.383,10.598],[-6.383,10.598],[-6.383,-10.598],[6.03,-10.598],[6.03,-8.403],[-3.952,-8.403],[-3.952,-1.347],[3.513,-1.347],[3.513,0.878],[-3.952,0.878],[-3.952,8.402]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[575.681,389.345],"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 36","np":2,"cix":2,"ix":36,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":42,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"E Interpolation_02 Bezier Interpolation","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[964.374,113.924,0],"ix":2},"a":{"a":0,"k":[960,540,0],"ix":1},"s":{"a":0,"k":[72.458,72.458,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.849,-0.888],[0,-1.561],[0,0],[0,0],[0,0],[0.536,0.498],[1.035,0],[0.624,-0.243],[0.625,-0.507],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.913,0]],"o":[[0.85,0.888],[0,0],[0,0],[0,0],[0,-0.956],[-0.537,-0.498],[-0.741,0],[-0.625,0.245],[0,0],[0,0],[0,0],[0,0],[0,0],[1.288,-1.405],[1.523,0]],"v":[[4.641,-6.705],[5.914,-3.031],[5.914,8.036],[3.543,8.036],[3.543,-2.826],[2.739,-5.006],[0.381,-5.753],[-1.668,-5.388],[-3.542,-4.26],[-3.542,8.036],[-5.913,8.036],[-5.913,-7.656],[-3.717,-7.656],[-3.717,-5.929],[1.084,-8.036]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1127.343,460.157],"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,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.693,1.024],[0,2.011],[0.692,1.034],[1.327,0],[0.692,-1.035],[0,-1.99],[-0.693,-1.025],[-1.346,0]],"o":[[0.692,-1.025],[0,-1.99],[-0.693,-1.035],[-1.366,0],[-0.693,1.034],[0,2.011],[0.692,1.024],[1.347,0]],"v":[[3.06,4.552],[4.099,0],[3.06,-4.537],[0.03,-6.089],[-3.059,-4.537],[-4.099,0],[-3.059,4.552],[0,6.09]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[1.132,1.396],[0,2.694],[-1.142,1.395],[-2.109,0],[-1.133,-1.396],[0,-2.693],[1.131,-1.405],[2.108,0]],"o":[[-1.132,-1.395],[0,-2.693],[1.142,-1.396],[2.088,0],[1.131,1.395],[0,2.675],[-1.133,1.405],[-2.108,0]],"v":[[-4.86,6.134],[-6.557,0],[-4.845,-6.133],[0.03,-8.227],[4.86,-6.133],[6.557,0],[4.86,6.119],[0,8.227]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1109.308,460.347],"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":4,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-1.171,-4.831],[1.201,-4.831],[1.201,10.861],[-1.171,10.861]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.283,0.293],[0,0.527],[-0.283,0.293],[-0.527,0],[-0.284,-0.293],[0,-0.507],[0.282,-0.293],[0.527,0]],"o":[[-0.283,-0.293],[0,-0.527],[0.283,-0.293],[0.527,0],[0.282,0.293],[0,0.547],[-0.284,0.293],[-0.527,0]],"v":[[-1.215,-7.963],[-1.639,-9.193],[-1.215,-10.422],[0,-10.861],[1.216,-10.422],[1.639,-9.222],[1.216,-7.963],[0,-7.524]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1095.926,457.331],"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":4,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.819,0.869],[0,1.717],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.468,-0.547],[-0.977,0],[-0.547,0.176],[0,0],[0.878,0]],"o":[[-0.82,-0.869],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,1.17],[0.469,0.546],[0.526,0],[0,0],[-0.721,0.235],[-1.601,0]],"v":[[-1.067,8.958],[-2.297,5.079],[-2.297,-3.616],[-4.962,-3.616],[-4.962,-5.637],[-2.297,-5.637],[-2.297,-10.262],[0.075,-10.262],[0.075,-5.637],[4.758,-5.637],[4.758,-3.616],[0.075,-3.616],[0.075,4.728],[0.777,7.304],[2.944,8.124],[4.554,7.861],[4.963,9.91],[2.563,10.262]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1084.989,458.137],"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 4","np":2,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.654,0.303],[-0.566,0.625],[0,0],[1.143,-0.547],[0,-1.171],[-0.518,-0.458],[-1.015,0]],"o":[[0.653,-0.302],[0,0],[-2.44,0.02],[-1.142,0.547],[0,0.898],[0.516,0.459],[0.8,0]],"v":[[1.728,5.606],[3.557,4.215],[3.557,-0.087],[-1.816,0.762],[-3.527,3.337],[-2.751,5.373],[-0.453,6.061]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-1.034,-0.849],[0,-1.64],[0,0],[0,0],[0,0],[2.127,0],[0.86,0.82],[0,1.483],[-1.522,0.878],[-3.26,0.02],[0,0],[0.615,0.507],[1.191,0],[1.151,-0.546],[0,0],[-1.639,0]],"o":[[1.034,0.849],[0,0],[0,0],[0,0],[-1.016,1.542],[-1.562,0],[-0.858,-0.819],[0,-1.874],[1.523,-0.879],[0,0],[0,-0.975],[-0.614,-0.508],[-1.307,0],[0,0],[1.424,-0.721],[1.718,0]],"v":[[4.348,-6.923],[5.9,-3.191],[5.9,7.876],[3.734,7.876],[3.734,5.884],[-0.98,8.197],[-4.612,6.967],[-5.9,3.514],[-3.615,-0.614],[3.557,-1.962],[3.557,-2.986],[2.635,-5.21],[-0.073,-5.973],[-3.761,-5.152],[-4.376,-7.114],[0.219,-8.197]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1069.765,460.317],"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 5","np":4,"cix":2,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,2.323],[0,0],[0,0],[0,0],[-0.254,-0.243],[-0.547,0],[-0.409,0.079],[0,0],[0.644,0]],"o":[[0,0],[0,0],[0,0],[0,0.547],[0.253,0.245],[0.352,0],[0,0],[-0.625,0.156],[-2.283,0]],"v":[[-2.664,7.875],[-2.664,-11.359],[-0.293,-11.359],[-0.293,7.671],[0.088,8.856],[1.288,9.223],[2.43,9.104],[2.664,11.125],[0.761,11.359]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1057.599,457.009],"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 6","np":2,"cix":2,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.692,1.024],[0,2.011],[0.692,1.034],[1.327,0],[0.692,-1.035],[0,-1.99],[-0.694,-1.025],[-1.346,0]],"o":[[0.692,-1.025],[0,-1.99],[-0.692,-1.035],[-1.366,0],[-0.694,1.034],[0,2.011],[0.692,1.024],[1.348,0]],"v":[[3.059,4.552],[4.099,0],[3.059,-4.537],[0.029,-6.089],[-3.059,-4.537],[-4.099,0],[-3.059,4.552],[-0.001,6.09]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[1.132,1.396],[0,2.694],[-1.142,1.395],[-2.108,0],[-1.132,-1.396],[0,-2.693],[1.132,-1.405],[2.109,0]],"o":[[-1.132,-1.395],[0,-2.693],[1.141,-1.396],[2.089,0],[1.132,1.395],[0,2.675],[-1.132,1.405],[-2.107,0]],"v":[[-4.86,6.134],[-6.558,0],[-4.845,-6.133],[0.029,-8.227],[4.86,-6.133],[6.558,0],[4.86,6.119],[-0.001,8.227]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1042.871,460.347],"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 7","np":4,"cix":2,"ix":7,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.653,0.995],[0,1.971],[0.684,1.025],[1.347,0],[0.594,-0.293],[0.546,-0.625],[0,0],[-0.674,-0.302],[-0.741,0]],"o":[[0.654,-0.996],[0,-1.991],[-0.683,-1.024],[-0.723,0],[-0.596,0.293],[0,0],[0.488,0.546],[0.673,0.303],[1.289,0]],"v":[[2.854,1.727],[3.835,-2.723],[2.81,-7.247],[-0.234,-8.783],[-2.21,-8.344],[-3.923,-6.967],[-3.923,1.493],[-2.181,2.766],[-0.059,3.22]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-1.035,-1.464],[0,-2.616],[1.083,-1.435],[1.952,0],[0.693,0.312],[0.488,0.566],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.761,0.409],[-0.956,0]],"o":[[1.034,1.464],[0,2.557],[-1.083,1.434],[-0.82,0],[-0.693,-0.312],[0,0],[0,0],[0,0],[0,0],[0,0],[0.527,-0.8],[0.761,-0.41],[1.854,0]],"v":[[4.743,-8.871],[6.294,-2.751],[4.669,3.236],[0.117,5.387],[-2.152,4.918],[-3.923,3.601],[-3.923,11.066],[-6.294,11.066],[-6.294,-10.686],[-4.099,-10.686],[-4.099,-8.637],[-2.167,-10.452],[0.41,-11.066]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1025.538,463.186],"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 8","np":4,"cix":2,"ix":8,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.585,-0.253],[0,0],[0.605,0],[0.555,-0.312],[0.448,-0.663],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.717,0]],"o":[[0,0],[-0.743,-0.214],[-0.742,0],[-0.557,0.313],[0,0],[0,0],[0,0],[0,0],[0,0],[1.113,-1.678],[0.703,0]],"v":[[4.187,-7.627],[3.661,-5.314],[1.639,-5.636],[-0.307,-5.168],[-1.815,-3.704],[-1.815,8.007],[-4.187,8.007],[-4.187,-7.686],[-1.99,-7.686],[-1.99,-5.49],[2.255,-8.007]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1010.429,460.186],"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 9","np":2,"cix":2,"ix":9,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.273,-3.221],[0,0],[0.703,0.849],[1.229,0]],"o":[[0,0],[-0.019,-1.522],[-0.702,-0.849],[-2.401,0]],"v":[[-3.967,-1.245],[4.024,-1.245],[2.942,-4.801],[0.044,-6.076]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.078,-0.331],[0,0],[-0.811,-0.888],[-1.484,0],[-1.211,0.781],[0,0],[0.887,-0.264],[0.975,0],[1.24,1.444],[0,2.576],[-1.142,1.444],[-2.069,0],[-1.113,-1.327],[0,-2.38]],"o":[[0,0],[0.078,1.757],[0.809,0.889],[1.464,0],[0,0],[-0.625,0.488],[-0.889,0.264],[-2.226,0],[-1.239,-1.444],[0,-2.596],[1.143,-1.445],[1.992,0],[1.112,1.328],[0,0.567]],"v":[[6.308,0.687],[-3.997,0.687],[-2.664,4.655],[0.776,5.986],[4.786,4.816],[5.693,6.689],[3.425,7.816],[0.63,8.212],[-4.568,6.046],[-6.427,0.014],[-4.714,-6.046],[0.102,-8.212],[4.758,-6.222],[6.427,-0.66]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[994.428,460.332],"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 10","np":4,"cix":2,"ix":10,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.819,0.869],[0,1.717],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.468,-0.547],[-0.977,0],[-0.547,0.176],[0,0],[0.878,0]],"o":[[-0.82,-0.869],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,1.17],[0.469,0.546],[0.526,0],[0,0],[-0.721,0.235],[-1.601,0]],"v":[[-1.067,8.958],[-2.297,5.079],[-2.297,-3.616],[-4.962,-3.616],[-4.962,-5.637],[-2.297,-5.637],[-2.297,-10.262],[0.075,-10.262],[0.075,-5.637],[4.758,-5.637],[4.758,-3.616],[0.075,-3.616],[0.075,4.728],[0.777,7.304],[2.944,8.124],[4.554,7.861],[4.963,9.91],[2.563,10.262]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[979.436,458.137],"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 11","np":2,"cix":2,"ix":11,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.85,-0.888],[0,-1.561],[0,0],[0,0],[0,0],[0.537,0.498],[1.034,0],[0.625,-0.243],[0.624,-0.507],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.913,0]],"o":[[0.849,0.888],[0,0],[0,0],[0,0],[0,-0.956],[-0.537,-0.498],[-0.742,0],[-0.625,0.245],[0,0],[0,0],[0,0],[0,0],[0,0],[1.288,-1.405],[1.523,0]],"v":[[4.641,-6.705],[5.914,-3.031],[5.914,8.036],[3.543,8.036],[3.543,-2.826],[2.738,-5.006],[0.381,-5.753],[-1.669,-5.388],[-3.542,-4.26],[-3.542,8.036],[-5.914,8.036],[-5.914,-7.656],[-3.717,-7.656],[-3.717,-5.929],[1.083,-8.036]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[964.137,460.157],"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 12","np":2,"cix":2,"ix":12,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-1.216,-10.598],[1.216,-10.598],[1.216,10.598],[-1.216,10.598]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[950.187,457.594],"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 13","np":2,"cix":2,"ix":13,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.586,-0.253],[0,0],[0.605,0],[0.556,-0.312],[0.449,-0.663],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.717,0]],"o":[[0,0],[-0.742,-0.214],[-0.742,0],[-0.556,0.313],[0,0],[0,0],[0,0],[0,0],[0,0],[1.114,-1.678],[0.704,0]],"v":[[4.187,-7.627],[3.659,-5.314],[1.639,-5.636],[-0.307,-5.168],[-1.815,-3.704],[-1.815,8.007],[-4.187,8.007],[-4.187,-7.686],[-1.992,-7.686],[-1.992,-5.49],[2.253,-8.007]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[932.017,460.186],"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 14","np":2,"cix":2,"ix":14,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.273,-3.221],[0,0],[0.702,0.849],[1.229,0]],"o":[[0,0],[-0.019,-1.522],[-0.703,-0.849],[-2.402,0]],"v":[[-3.967,-1.245],[4.026,-1.245],[2.943,-4.801],[0.044,-6.076]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.078,-0.331],[0,0],[-0.81,-0.888],[-1.483,0],[-1.21,0.781],[0,0],[0.887,-0.264],[0.975,0],[1.24,1.444],[0,2.576],[-1.142,1.444],[-2.069,0],[-1.113,-1.327],[0,-2.38]],"o":[[0,0],[0.078,1.757],[0.81,0.889],[1.464,0],[0,0],[-0.625,0.488],[-0.889,0.264],[-2.225,0],[-1.24,-1.444],[0,-2.596],[1.142,-1.445],[1.991,0],[1.112,1.328],[0,0.567]],"v":[[6.308,0.687],[-3.997,0.687],[-2.664,4.655],[0.776,5.986],[4.786,4.816],[5.695,6.689],[3.425,7.816],[0.63,8.212],[-4.568,6.046],[-6.427,0.014],[-4.714,-6.046],[0.102,-8.212],[4.758,-6.222],[6.427,-0.66]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[916.015,460.332],"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 15","np":4,"cix":2,"ix":15,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-1.172,-4.831],[1.2,-4.831],[1.2,10.861],[-1.172,10.861]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.284,0.293],[0,0.527],[-0.283,0.293],[-0.526,0],[-0.283,-0.293],[0,-0.507],[0.282,-0.293],[0.528,0]],"o":[[-0.283,-0.293],[0,-0.527],[0.284,-0.293],[0.528,0],[0.282,0.293],[0,0.547],[-0.283,0.293],[-0.526,0]],"v":[[-1.216,-7.963],[-1.639,-9.193],[-1.216,-10.422],[-0.001,-10.861],[1.215,-10.422],[1.639,-9.222],[1.215,-7.963],[-0.001,-7.524]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[902.825,457.331],"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 16","np":4,"cix":2,"ix":16,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[5.549,5.826],[5.549,7.846],[-5.549,7.846],[-5.549,5.826],[2.737,-5.826],[-5.314,-5.826],[-5.314,-7.846],[5.432,-7.846],[5.432,-5.826],[-2.826,5.826]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[890.805,460.347],"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 17","np":2,"cix":2,"ix":17,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.273,-3.221],[0,0],[0.702,0.849],[1.229,0]],"o":[[0,0],[-0.019,-1.522],[-0.703,-0.849],[-2.402,0]],"v":[[-3.967,-1.245],[4.026,-1.245],[2.943,-4.801],[0.044,-6.076]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.078,-0.331],[0,0],[-0.81,-0.888],[-1.483,0],[-1.21,0.781],[0,0],[0.887,-0.264],[0.975,0],[1.24,1.444],[0,2.576],[-1.142,1.444],[-2.069,0],[-1.113,-1.327],[0,-2.38]],"o":[[0,0],[0.078,1.757],[0.81,0.889],[1.464,0],[0,0],[-0.625,0.488],[-0.889,0.264],[-2.225,0],[-1.24,-1.444],[0,-2.596],[1.142,-1.445],[1.991,0],[1.112,1.328],[0,0.567]],"v":[[6.308,0.687],[-3.997,0.687],[-2.664,4.655],[0.776,5.986],[4.786,4.816],[5.695,6.689],[3.425,7.816],[0.63,8.212],[-4.568,6.046],[-6.427,0.014],[-4.714,-6.046],[0.102,-8.212],[4.758,-6.222],[6.427,-0.66]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[874.877,460.332],"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 18","np":4,"cix":2,"ix":18,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.644,0.645],[0,1.269],[0.664,0.634],[1.288,0],[0,0],[0,0],[0,0]],"o":[[0.645,-0.644],[0,-1.249],[-0.663,-0.634],[0,0],[0,0],[0,0],[1.249,0]],"v":[[3.776,7.436],[4.743,4.567],[3.747,1.742],[0.82,0.79],[-4.86,0.79],[-4.86,8.402],[0.936,8.402]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-0.643,0.576],[0,1.132],[0.663,0.615],[1.288,0]],"o":[[0,0],[0,0],[1.249,0],[0.645,-0.576],[0,-1.19],[-0.663,-0.615],[0,0]],"v":[[-4.86,-8.402],[-4.86,-1.347],[-0.235,-1.347],[2.605,-2.21],[3.572,-4.772],[2.576,-7.48],[-0.352,-8.402]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,-2.752],[1.141,-1.063],[2.029,0],[0,0],[0,0],[0,0],[-1.113,-1.014],[0,-1.835],[0.459,-0.712],[0.897,-0.273]],"o":[[0,1.893],[-1.142,1.064],[0,0],[0,0],[0,0],[1.991,0],[1.112,1.015],[0,1.112],[-0.459,0.713],[2.615,0.683]],"v":[[7.29,4.567],[5.577,9.002],[0.82,10.598],[-7.29,10.598],[-7.29,-10.598],[-0.235,-10.598],[4.421,-9.076],[6.089,-4.801],[5.401,-2.064],[3.367,-0.585]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[856.797,457.595],"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 19","np":5,"cix":2,"ix":19,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[-0.361,0.712],[0,0.703],[0.674,0.605],[1.191,0],[0.859,-0.283],[0.722,-0.508],[0,0],[-1.152,0.361],[-1.094,0],[-1.113,-0.986],[0,-1.62],[0.459,-0.985],[1.093,-1.327],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0.898,-1.113],[0.36,-0.713],[0,-1.034],[-0.673,-0.605],[-0.839,0],[-0.859,0.283],[0,0],[0.742,-0.586],[1.151,-0.361],[1.834,0],[1.112,0.985],[0,0.957],[-0.459,0.986],[0,0],[0,0]],"v":[[6.266,8.68],[6.266,10.789],[-6.208,10.789],[-6.208,8.651],[1.17,-0.307],[3.059,-3.044],[3.6,-5.167],[2.59,-7.626],[-0.206,-8.534],[-2.753,-8.109],[-5.124,-6.923],[-6.266,-8.826],[-3.426,-10.246],[-0.059,-10.789],[4.362,-9.31],[6.031,-5.401],[5.342,-2.488],[3.016,0.981],[-3.397,8.68]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[829.362,457.404],"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 20","np":2,"cix":2,"ix":20,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.742,1.425],[0,3.025],[0.741,1.425],[1.581,0],[0.741,-1.425],[0,-3.025],[-0.743,-1.425],[-1.581,0]],"o":[[0.741,-1.425],[0,-3.025],[-0.742,-1.425],[-1.562,0],[-0.743,1.425],[0,3.025],[0.741,1.425],[1.561,0]],"v":[[3.47,6.675],[4.582,0],[3.47,-6.674],[-0.014,-8.812],[-3.469,-6.674],[-4.581,0],[-3.469,6.675],[0.015,8.813]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[1.171,1.786],[0,3.747],[-1.161,1.786],[-2.381,0],[-1.172,-1.786],[0,-3.748],[1.161,-1.786],[2.381,0]],"o":[[-1.171,-1.786],[0,-3.748],[1.161,-1.786],[2.38,0],[1.171,1.786],[0,3.747],[-1.162,1.786],[-2.381,0]],"v":[[-5.313,8.3],[-7.07,0],[-5.328,-8.299],[-0.014,-10.979],[5.315,-8.299],[7.07,0],[5.328,8.3],[0.015,10.979]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[811.516,457.594],"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 21","np":4,"cix":2,"ix":21,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-5.958,-1.112],[5.958,-1.112],[5.958,1.112],[-5.958,1.112]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[792.338,471.443],"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 22","np":2,"cix":2,"ix":22,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.849,-0.888],[0,-1.561],[0,0],[0,0],[0,0],[0.536,0.498],[1.035,0],[0.624,-0.243],[0.625,-0.507],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.913,0]],"o":[[0.85,0.888],[0,0],[0,0],[0,0],[0,-0.956],[-0.537,-0.498],[-0.741,0],[-0.625,0.245],[0,0],[0,0],[0,0],[0,0],[0,0],[1.288,-1.405],[1.523,0]],"v":[[4.641,-6.705],[5.913,-3.031],[5.913,8.036],[3.542,8.036],[3.542,-2.826],[2.738,-5.006],[0.38,-5.753],[-1.669,-5.388],[-3.543,-4.26],[-3.543,8.036],[-5.914,8.036],[-5.914,-7.656],[-3.718,-7.656],[-3.718,-5.929],[1.083,-8.036]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[773.848,460.157],"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 23","np":2,"cix":2,"ix":23,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.692,1.024],[0,2.011],[0.692,1.034],[1.327,0],[0.692,-1.035],[0,-1.99],[-0.694,-1.025],[-1.346,0]],"o":[[0.692,-1.025],[0,-1.99],[-0.692,-1.035],[-1.366,0],[-0.694,1.034],[0,2.011],[0.692,1.024],[1.348,0]],"v":[[3.059,4.552],[4.099,0],[3.059,-4.537],[0.029,-6.089],[-3.059,-4.537],[-4.099,0],[-3.059,4.552],[-0.001,6.09]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[1.132,1.396],[0,2.694],[-1.142,1.395],[-2.108,0],[-1.132,-1.396],[0,-2.693],[1.132,-1.405],[2.109,0]],"o":[[-1.132,-1.395],[0,-2.693],[1.141,-1.396],[2.089,0],[1.132,1.395],[0,2.675],[-1.132,1.405],[-2.107,0]],"v":[[-4.86,6.134],[-6.558,0],[-4.845,-6.133],[0.029,-8.227],[4.86,-6.133],[6.558,0],[4.86,6.119],[-0.001,8.227]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[755.812,460.347],"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 24","np":4,"cix":2,"ix":24,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-1.171,-4.831],[1.201,-4.831],[1.201,10.861],[-1.171,10.861]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.283,0.293],[0,0.527],[-0.283,0.293],[-0.527,0],[-0.283,-0.293],[0,-0.507],[0.283,-0.293],[0.527,0]],"o":[[-0.283,-0.293],[0,-0.527],[0.283,-0.293],[0.527,0],[0.283,0.293],[0,0.547],[-0.283,0.293],[-0.527,0]],"v":[[-1.215,-7.963],[-1.639,-9.193],[-1.215,-10.422],[0,-10.861],[1.215,-10.422],[1.639,-9.222],[1.215,-7.963],[0,-7.524]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[742.431,457.331],"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 25","np":4,"cix":2,"ix":25,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.819,0.869],[0,1.717],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.469,-0.547],[-0.976,0],[-0.547,0.176],[0,0],[0.879,0]],"o":[[-0.819,-0.869],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,1.17],[0.468,0.546],[0.527,0],[0,0],[-0.722,0.235],[-1.601,0]],"v":[[-1.068,8.958],[-2.297,5.079],[-2.297,-3.616],[-4.963,-3.616],[-4.963,-5.637],[-2.297,-5.637],[-2.297,-10.262],[0.073,-10.262],[0.073,-5.637],[4.758,-5.637],[4.758,-3.616],[0.073,-3.616],[0.073,4.728],[0.776,7.304],[2.943,8.124],[4.552,7.861],[4.962,9.91],[2.561,10.262]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[731.494,458.137],"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 26","np":2,"cix":2,"ix":26,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.653,0.303],[-0.566,0.625],[0,0],[1.142,-0.547],[0,-1.171],[-0.517,-0.458],[-1.014,0]],"o":[[0.654,-0.302],[0,0],[-2.439,0.02],[-1.142,0.547],[0,0.898],[0.517,0.459],[0.8,0]],"v":[[1.727,5.606],[3.557,4.215],[3.557,-0.087],[-1.815,0.762],[-3.528,3.337],[-2.752,5.373],[-0.454,6.061]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-1.035,-0.849],[0,-1.64],[0,0],[0,0],[0,0],[2.128,0],[0.859,0.82],[0,1.483],[-1.522,0.878],[-3.26,0.02],[0,0],[0.614,0.507],[1.191,0],[1.151,-0.546],[0,0],[-1.639,0]],"o":[[1.034,0.849],[0,0],[0,0],[0,0],[-1.015,1.542],[-1.562,0],[-0.859,-0.819],[0,-1.874],[1.523,-0.879],[0,0],[0,-0.975],[-0.615,-0.508],[-1.307,0],[0,0],[1.424,-0.721],[1.717,0]],"v":[[4.348,-6.923],[5.9,-3.191],[5.9,7.876],[3.733,7.876],[3.733,5.884],[-0.981,8.197],[-4.611,6.967],[-5.899,3.514],[-3.616,-0.614],[3.557,-1.962],[3.557,-2.986],[2.635,-5.21],[-0.073,-5.973],[-3.762,-5.152],[-4.377,-7.114],[0.22,-8.197]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[716.27,460.317],"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 27","np":4,"cix":2,"ix":27,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,2.323],[0,0],[0,0],[0,0],[-0.254,-0.243],[-0.547,0],[-0.41,0.079],[0,0],[0.644,0]],"o":[[0,0],[0,0],[0,0],[0,0.547],[0.254,0.245],[0.351,0],[0,0],[-0.625,0.156],[-2.283,0]],"v":[[-2.664,7.875],[-2.664,-11.359],[-0.293,-11.359],[-0.293,7.671],[0.087,8.856],[1.288,9.223],[2.43,9.104],[2.664,11.125],[0.761,11.359]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[704.103,457.009],"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 28","np":2,"cix":2,"ix":28,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.692,1.024],[0,2.011],[0.692,1.034],[1.327,0],[0.692,-1.035],[0,-1.99],[-0.694,-1.025],[-1.346,0]],"o":[[0.692,-1.025],[0,-1.99],[-0.692,-1.035],[-1.366,0],[-0.694,1.034],[0,2.011],[0.692,1.024],[1.348,0]],"v":[[3.059,4.552],[4.099,0],[3.059,-4.537],[0.029,-6.089],[-3.059,-4.537],[-4.099,0],[-3.059,4.552],[-0.001,6.09]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[1.132,1.396],[0,2.694],[-1.142,1.395],[-2.108,0],[-1.132,-1.396],[0,-2.693],[1.132,-1.405],[2.109,0]],"o":[[-1.132,-1.395],[0,-2.693],[1.141,-1.396],[2.089,0],[1.132,1.395],[0,2.675],[-1.132,1.405],[-2.107,0]],"v":[[-4.86,6.134],[-6.558,0],[-4.845,-6.133],[0.029,-8.227],[4.86,-6.133],[6.558,0],[4.86,6.119],[-0.001,8.227]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[689.376,460.347],"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 29","np":4,"cix":2,"ix":29,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.654,0.995],[0,1.971],[0.683,1.025],[1.347,0],[0.595,-0.293],[0.546,-0.625],[0,0],[-0.673,-0.302],[-0.742,0]],"o":[[0.653,-0.996],[0,-1.991],[-0.684,-1.024],[-0.723,0],[-0.595,0.293],[0,0],[0.487,0.546],[0.674,0.303],[1.288,0]],"v":[[2.855,1.727],[3.835,-2.723],[2.811,-7.247],[-0.234,-8.783],[-2.21,-8.344],[-3.922,-6.967],[-3.922,1.493],[-2.181,2.766],[-0.058,3.22]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-1.035,-1.464],[0,-2.616],[1.083,-1.435],[1.951,0],[0.694,0.312],[0.487,0.566],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.761,0.409],[-0.957,0]],"o":[[1.034,1.464],[0,2.557],[-1.084,1.434],[-0.821,0],[-0.692,-0.312],[0,0],[0,0],[0,0],[0,0],[0,0],[0.526,-0.8],[0.761,-0.41],[1.853,0]],"v":[[4.744,-8.871],[6.294,-2.751],[4.67,3.236],[0.118,5.387],[-2.152,4.918],[-3.922,3.601],[-3.922,11.066],[-6.294,11.066],[-6.294,-10.686],[-4.098,-10.686],[-4.098,-8.637],[-2.166,-10.452],[0.411,-11.066]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[672.041,463.186],"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 30","np":4,"cix":2,"ix":30,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.586,-0.253],[0,0],[0.605,0],[0.556,-0.312],[0.449,-0.663],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.717,0]],"o":[[0,0],[-0.742,-0.214],[-0.742,0],[-0.556,0.313],[0,0],[0,0],[0,0],[0,0],[0,0],[1.114,-1.678],[0.704,0]],"v":[[4.187,-7.627],[3.659,-5.314],[1.639,-5.636],[-0.307,-5.168],[-1.815,-3.704],[-1.815,8.007],[-4.187,8.007],[-4.187,-7.686],[-1.992,-7.686],[-1.992,-5.49],[2.253,-8.007]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[656.934,460.186],"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 31","np":2,"cix":2,"ix":31,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.273,-3.221],[0,0],[0.702,0.849],[1.229,0]],"o":[[0,0],[-0.019,-1.522],[-0.703,-0.849],[-2.402,0]],"v":[[-3.967,-1.245],[4.026,-1.245],[2.943,-4.801],[0.044,-6.076]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.078,-0.331],[0,0],[-0.81,-0.888],[-1.483,0],[-1.21,0.781],[0,0],[0.887,-0.264],[0.975,0],[1.24,1.444],[0,2.576],[-1.142,1.444],[-2.069,0],[-1.113,-1.327],[0,-2.38]],"o":[[0,0],[0.078,1.757],[0.81,0.889],[1.464,0],[0,0],[-0.625,0.488],[-0.889,0.264],[-2.225,0],[-1.24,-1.444],[0,-2.596],[1.142,-1.445],[1.991,0],[1.112,1.328],[0,0.567]],"v":[[6.308,0.687],[-3.997,0.687],[-2.664,4.655],[0.776,5.986],[4.786,4.816],[5.695,6.689],[3.425,7.816],[0.63,8.212],[-4.568,6.046],[-6.427,0.014],[-4.714,-6.046],[0.102,-8.212],[4.758,-6.222],[6.427,-0.66]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[640.932,460.332],"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 32","np":4,"cix":2,"ix":32,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.819,0.869],[0,1.717],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.468,-0.547],[-0.977,0],[-0.547,0.176],[0,0],[0.878,0]],"o":[[-0.82,-0.869],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,1.17],[0.469,0.546],[0.526,0],[0,0],[-0.721,0.235],[-1.601,0]],"v":[[-1.067,8.958],[-2.297,5.079],[-2.297,-3.616],[-4.962,-3.616],[-4.962,-5.637],[-2.297,-5.637],[-2.297,-10.262],[0.075,-10.262],[0.075,-5.637],[4.758,-5.637],[4.758,-3.616],[0.075,-3.616],[0.075,4.728],[0.777,7.304],[2.944,8.124],[4.554,7.861],[4.963,9.91],[2.563,10.262]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[625.94,458.137],"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 33","np":2,"cix":2,"ix":33,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.85,-0.888],[0,-1.561],[0,0],[0,0],[0,0],[0.537,0.498],[1.034,0],[0.625,-0.243],[0.624,-0.507],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.913,0]],"o":[[0.849,0.888],[0,0],[0,0],[0,0],[0,-0.956],[-0.537,-0.498],[-0.742,0],[-0.625,0.245],[0,0],[0,0],[0,0],[0,0],[0,0],[1.288,-1.405],[1.523,0]],"v":[[4.641,-6.705],[5.914,-3.031],[5.914,8.036],[3.543,8.036],[3.543,-2.826],[2.738,-5.006],[0.381,-5.753],[-1.669,-5.388],[-3.542,-4.26],[-3.542,8.036],[-5.914,8.036],[-5.914,-7.656],[-3.717,-7.656],[-3.717,-5.929],[1.083,-8.036]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[610.642,460.157],"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 34","np":2,"cix":2,"ix":34,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-1.216,-10.598],[1.216,-10.598],[1.216,10.598],[-1.216,10.598]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[596.692,457.594],"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 35","np":2,"cix":2,"ix":35,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[6.383,8.402],[6.383,10.598],[-6.383,10.598],[-6.383,-10.598],[6.03,-10.598],[6.03,-8.403],[-3.952,-8.403],[-3.952,-1.347],[3.513,-1.347],[3.513,0.878],[-3.952,0.878],[-3.952,8.402]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[575.681,457.595],"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 36","np":2,"cix":2,"ix":36,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":42,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"E Interpolation_03 Hold Interpolation","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1605.124,64.606,0],"ix":2},"a":{"a":0,"k":[960,540,0],"ix":1},"s":{"a":0,"k":[72.458,72.458,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.849,-0.888],[0,-1.561],[0,0],[0,0],[0,0],[0.536,0.498],[1.035,0],[0.624,-0.243],[0.625,-0.507],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.913,0]],"o":[[0.85,0.888],[0,0],[0,0],[0,0],[0,-0.956],[-0.537,-0.498],[-0.741,0],[-0.625,0.245],[0,0],[0,0],[0,0],[0,0],[0,0],[1.288,-1.405],[1.523,0]],"v":[[4.641,-6.705],[5.914,-3.031],[5.914,8.036],[3.543,8.036],[3.543,-2.826],[2.739,-5.006],[0.381,-5.753],[-1.668,-5.388],[-3.542,-4.26],[-3.542,8.036],[-5.913,8.036],[-5.913,-7.656],[-3.717,-7.656],[-3.717,-5.929],[1.084,-8.036]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1104.68,528.407],"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,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.692,1.024],[0,2.011],[0.692,1.034],[1.327,0],[0.692,-1.035],[0,-1.99],[-0.694,-1.025],[-1.346,0]],"o":[[0.692,-1.025],[0,-1.99],[-0.692,-1.035],[-1.366,0],[-0.694,1.034],[0,2.011],[0.692,1.024],[1.348,0]],"v":[[3.059,4.552],[4.099,0],[3.059,-4.537],[0.029,-6.089],[-3.059,-4.537],[-4.099,0],[-3.059,4.552],[-0.001,6.09]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[1.132,1.396],[0,2.694],[-1.142,1.395],[-2.108,0],[-1.132,-1.396],[0,-2.693],[1.132,-1.405],[2.109,0]],"o":[[-1.132,-1.395],[0,-2.693],[1.141,-1.396],[2.089,0],[1.132,1.395],[0,2.675],[-1.132,1.405],[-2.107,0]],"v":[[-4.86,6.134],[-6.558,0],[-4.845,-6.133],[0.029,-8.227],[4.86,-6.133],[6.558,0],[4.86,6.119],[-0.001,8.227]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1086.644,528.597],"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":4,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-1.171,-4.831],[1.201,-4.831],[1.201,10.861],[-1.171,10.861]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.283,0.293],[0,0.527],[-0.283,0.293],[-0.527,0],[-0.284,-0.293],[0,-0.507],[0.282,-0.293],[0.527,0]],"o":[[-0.283,-0.293],[0,-0.527],[0.283,-0.293],[0.527,0],[0.282,0.293],[0,0.547],[-0.284,0.293],[-0.527,0]],"v":[[-1.215,-7.963],[-1.639,-9.193],[-1.215,-10.422],[0,-10.861],[1.216,-10.422],[1.639,-9.222],[1.216,-7.963],[0,-7.524]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1073.263,525.581],"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":4,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.819,0.869],[0,1.717],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.468,-0.547],[-0.977,0],[-0.547,0.176],[0,0],[0.878,0]],"o":[[-0.82,-0.869],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,1.17],[0.469,0.546],[0.526,0],[0,0],[-0.721,0.235],[-1.601,0]],"v":[[-1.067,8.958],[-2.297,5.08],[-2.297,-3.616],[-4.962,-3.616],[-4.962,-5.636],[-2.297,-5.636],[-2.297,-10.261],[0.075,-10.261],[0.075,-5.636],[4.758,-5.636],[4.758,-3.616],[0.075,-3.616],[0.075,4.729],[0.777,7.305],[2.944,8.125],[4.554,7.861],[4.963,9.91],[2.563,10.262]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1062.326,526.387],"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 4","np":2,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.653,0.303],[-0.566,0.625],[0,0],[1.142,-0.547],[0,-1.171],[-0.517,-0.458],[-1.014,0]],"o":[[0.654,-0.302],[0,0],[-2.439,0.02],[-1.142,0.547],[0,0.898],[0.517,0.459],[0.8,0]],"v":[[1.727,5.606],[3.557,4.215],[3.557,-0.088],[-1.816,0.761],[-3.528,3.337],[-2.752,5.372],[-0.454,6.06]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-1.035,-0.849],[0,-1.64],[0,0],[0,0],[0,0],[2.128,0],[0.859,0.82],[0,1.483],[-1.522,0.878],[-3.26,0.02],[0,0],[0.614,0.507],[1.191,0],[1.151,-0.546],[0,0],[-1.639,0]],"o":[[1.034,0.849],[0,0],[0,0],[0,0],[-1.015,1.542],[-1.562,0],[-0.859,-0.819],[0,-1.874],[1.523,-0.879],[0,0],[0,-0.975],[-0.615,-0.508],[-1.307,0],[0,0],[1.424,-0.721],[1.717,0]],"v":[[4.348,-6.924],[5.9,-3.191],[5.9,7.875],[3.733,7.875],[3.733,5.884],[-0.981,8.197],[-4.611,6.967],[-5.9,3.513],[-3.616,-0.615],[3.557,-1.962],[3.557,-2.987],[2.635,-5.211],[-0.073,-5.973],[-3.762,-5.153],[-4.377,-7.115],[0.219,-8.198]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1047.102,528.567],"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 5","np":4,"cix":2,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,2.323],[0,0],[0,0],[0,0],[-0.254,-0.243],[-0.547,0],[-0.41,0.079],[0,0],[0.644,0]],"o":[[0,0],[0,0],[0,0],[0,0.547],[0.254,0.245],[0.351,0],[0,0],[-0.625,0.156],[-2.283,0]],"v":[[-2.665,7.875],[-2.665,-11.359],[-0.293,-11.359],[-0.293,7.671],[0.087,8.856],[1.288,9.223],[2.43,9.104],[2.664,11.125],[0.761,11.359]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1034.935,525.259],"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 6","np":2,"cix":2,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.692,1.024],[0,2.011],[0.692,1.034],[1.327,0],[0.692,-1.035],[0,-1.99],[-0.694,-1.025],[-1.346,0]],"o":[[0.692,-1.025],[0,-1.99],[-0.692,-1.035],[-1.366,0],[-0.694,1.034],[0,2.011],[0.692,1.024],[1.348,0]],"v":[[3.059,4.552],[4.099,0],[3.059,-4.537],[0.029,-6.089],[-3.059,-4.537],[-4.099,0],[-3.059,4.552],[-0.001,6.09]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[1.132,1.396],[0,2.694],[-1.142,1.395],[-2.108,0],[-1.132,-1.396],[0,-2.693],[1.132,-1.405],[2.109,0]],"o":[[-1.132,-1.395],[0,-2.693],[1.141,-1.396],[2.089,0],[1.132,1.395],[0,2.675],[-1.132,1.405],[-2.107,0]],"v":[[-4.86,6.134],[-6.558,0],[-4.845,-6.133],[0.029,-8.227],[4.86,-6.133],[6.558,0],[4.86,6.119],[-0.001,8.227]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1020.208,528.597],"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 7","np":4,"cix":2,"ix":7,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.654,0.995],[0,1.971],[0.683,1.025],[1.347,0],[0.595,-0.293],[0.546,-0.625],[0,0],[-0.673,-0.302],[-0.742,0]],"o":[[0.653,-0.996],[0,-1.991],[-0.684,-1.024],[-0.723,0],[-0.595,0.293],[0,0],[0.487,0.546],[0.674,0.303],[1.288,0]],"v":[[2.855,1.727],[3.835,-2.722],[2.811,-7.247],[-0.234,-8.782],[-2.21,-8.344],[-3.922,-6.967],[-3.922,1.494],[-2.181,2.766],[-0.058,3.221]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-1.035,-1.464],[0,-2.616],[1.083,-1.435],[1.951,0],[0.694,0.312],[0.487,0.566],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.761,0.409],[-0.957,0]],"o":[[1.034,1.464],[0,2.557],[-1.084,1.434],[-0.821,0],[-0.692,-0.312],[0,0],[0,0],[0,0],[0,0],[0,0],[0.526,-0.8],[0.761,-0.41],[1.853,0]],"v":[[4.744,-8.87],[6.294,-2.751],[4.67,3.236],[0.118,5.387],[-2.152,4.919],[-3.922,3.602],[-3.922,11.067],[-6.294,11.067],[-6.294,-10.686],[-4.098,-10.686],[-4.098,-8.636],[-2.166,-10.451],[0.411,-11.066]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1002.873,531.436],"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 8","np":4,"cix":2,"ix":8,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.585,-0.253],[0,0],[0.605,0],[0.555,-0.312],[0.448,-0.663],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.717,0]],"o":[[0,0],[-0.743,-0.214],[-0.742,0],[-0.557,0.313],[0,0],[0,0],[0,0],[0,0],[0,0],[1.113,-1.678],[0.703,0]],"v":[[4.187,-7.627],[3.661,-5.314],[1.639,-5.636],[-0.307,-5.168],[-1.815,-3.704],[-1.815,8.007],[-4.187,8.007],[-4.187,-7.686],[-1.99,-7.686],[-1.99,-5.49],[2.255,-8.007]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[987.766,528.436],"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 9","np":2,"cix":2,"ix":9,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.273,-3.221],[0,0],[0.702,0.849],[1.229,0]],"o":[[0,0],[-0.019,-1.522],[-0.703,-0.849],[-2.402,0]],"v":[[-3.967,-1.245],[4.026,-1.245],[2.943,-4.802],[0.044,-6.076]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.078,-0.331],[0,0],[-0.81,-0.888],[-1.483,0],[-1.21,0.781],[0,0],[0.887,-0.264],[0.975,0],[1.24,1.444],[0,2.576],[-1.142,1.444],[-2.069,0],[-1.113,-1.327],[0,-2.38]],"o":[[0,0],[0.078,1.757],[0.81,0.889],[1.464,0],[0,0],[-0.625,0.488],[-0.889,0.264],[-2.225,0],[-1.24,-1.444],[0,-2.596],[1.142,-1.445],[1.991,0],[1.112,1.328],[0,0.567]],"v":[[6.308,0.687],[-3.997,0.687],[-2.664,4.654],[0.776,5.986],[4.786,4.815],[5.695,6.689],[3.425,7.816],[0.63,8.212],[-4.568,6.045],[-6.427,0.014],[-4.714,-6.046],[0.102,-8.213],[4.758,-6.222],[6.427,-0.66]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[971.764,528.582],"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 10","np":4,"cix":2,"ix":10,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.819,0.869],[0,1.717],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.468,-0.547],[-0.977,0],[-0.547,0.176],[0,0],[0.878,0]],"o":[[-0.82,-0.869],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,1.17],[0.469,0.546],[0.526,0],[0,0],[-0.721,0.235],[-1.601,0]],"v":[[-1.068,8.958],[-2.298,5.08],[-2.298,-3.616],[-4.963,-3.616],[-4.963,-5.636],[-2.298,-5.636],[-2.298,-10.261],[0.074,-10.261],[0.074,-5.636],[4.757,-5.636],[4.757,-3.616],[0.074,-3.616],[0.074,4.729],[0.776,7.305],[2.943,8.125],[4.553,7.861],[4.962,9.91],[2.562,10.262]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[956.773,526.387],"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 11","np":2,"cix":2,"ix":11,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.85,-0.888],[0,-1.561],[0,0],[0,0],[0,0],[0.537,0.498],[1.034,0],[0.625,-0.243],[0.624,-0.507],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.913,0]],"o":[[0.849,0.888],[0,0],[0,0],[0,0],[0,-0.956],[-0.537,-0.498],[-0.742,0],[-0.625,0.245],[0,0],[0,0],[0,0],[0,0],[0,0],[1.288,-1.405],[1.523,0]],"v":[[4.641,-6.705],[5.914,-3.031],[5.914,8.036],[3.543,8.036],[3.543,-2.826],[2.738,-5.006],[0.381,-5.753],[-1.669,-5.388],[-3.542,-4.26],[-3.542,8.036],[-5.914,8.036],[-5.914,-7.656],[-3.717,-7.656],[-3.717,-5.929],[1.083,-8.036]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[941.474,528.407],"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 12","np":2,"cix":2,"ix":12,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-1.216,-10.598],[1.216,-10.598],[1.216,10.598],[-1.216,10.598]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[927.523,525.844],"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 13","np":2,"cix":2,"ix":13,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.596,0.293],[-0.547,0.625],[0,0],[0.674,0.302],[0.741,0],[0.653,-0.995],[0,-1.971],[-0.683,-1.025],[-1.346,0]],"o":[[0.596,-0.292],[0,0],[-0.488,-0.546],[-0.673,-0.303],[-1.288,0],[-0.655,0.995],[0,1.991],[0.683,1.025],[0.723,0]],"v":[[2.211,8.739],[3.923,7.363],[3.923,-1.098],[2.181,-2.371],[0.06,-2.825],[-2.854,-1.332],[-3.836,3.118],[-2.811,7.641],[0.233,9.178]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0.762,-0.41],[0.956,0],[1.034,1.464],[0,2.616],[-1.083,1.435],[-1.952,0],[-0.693,-0.312],[-0.488,-0.566],[0,0]],"o":[[0,0],[0,0],[0,0],[-0.528,0.8],[-0.761,0.41],[-1.855,0],[-1.035,-1.464],[0,-2.556],[1.083,-1.434],[0.819,0],[0.693,0.312],[0,0],[0,0]],"v":[[6.294,-11.462],[6.294,11.081],[4.099,11.081],[4.099,9.032],[2.167,10.847],[-0.41,11.462],[-4.742,9.266],[-6.294,3.147],[-4.669,-2.84],[-0.117,-4.991],[2.151,-4.523],[3.923,-3.206],[3.923,-11.462]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[905.225,525.362],"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 14","np":4,"cix":2,"ix":14,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,2.323],[0,0],[0,0],[0,0],[-0.254,-0.243],[-0.547,0],[-0.409,0.079],[0,0],[0.644,0]],"o":[[0,0],[0,0],[0,0],[0,0.547],[0.253,0.245],[0.352,0],[0,0],[-0.625,0.156],[-2.283,0]],"v":[[-2.664,7.875],[-2.664,-11.359],[-0.293,-11.359],[-0.293,7.671],[0.088,8.856],[1.288,9.223],[2.43,9.104],[2.664,11.125],[0.761,11.359]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[892.312,525.259],"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 15","np":2,"cix":2,"ix":15,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.693,1.024],[0,2.011],[0.692,1.034],[1.327,0],[0.692,-1.035],[0,-1.99],[-0.693,-1.025],[-1.346,0]],"o":[[0.692,-1.025],[0,-1.99],[-0.693,-1.035],[-1.366,0],[-0.693,1.034],[0,2.011],[0.692,1.024],[1.347,0]],"v":[[3.06,4.552],[4.098,0],[3.06,-4.537],[0.029,-6.089],[-3.06,-4.537],[-4.099,0],[-3.06,4.552],[-0.001,6.09]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[1.132,1.396],[0,2.694],[-1.142,1.395],[-2.109,0],[-1.133,-1.396],[0,-2.693],[1.131,-1.405],[2.108,0]],"o":[[-1.132,-1.395],[0,-2.693],[1.142,-1.396],[2.088,0],[1.131,1.395],[0,2.675],[-1.133,1.405],[-2.108,0]],"v":[[-4.861,6.134],[-6.557,0],[-4.846,-6.133],[0.029,-8.227],[4.86,-6.133],[6.557,0],[4.86,6.119],[-0.001,8.227]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[877.585,528.597],"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 16","np":4,"cix":2,"ix":16,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[7.466,-10.598],[7.466,10.598],[5.035,10.598],[5.035,0.937],[-5.035,0.937],[-5.035,10.598],[-7.466,10.598],[-7.466,-10.598],[-5.035,-10.598],[-5.035,-1.259],[5.035,-1.259],[5.035,-10.598]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[857.85,525.845],"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 17","np":2,"cix":2,"ix":17,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.112,-1.151],[0,-1.874],[0.585,-1.044],[1.054,-0.566],[1.405,0],[1.102,0.302],[0.801,0.508],[0,0],[-0.878,-0.263],[-0.801,0],[-0.791,0.81],[0,1.444],[0.761,0.761],[1.367,0],[0.586,-0.176],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[1.113,1.152],[0,1.346],[-0.586,1.044],[-1.055,0.565],[-1.015,0],[-1.103,-0.303],[0,0],[0.819,0.468],[0.878,0.263],[1.424,0],[0.79,-0.81],[0,-1.347],[-0.762,-0.761],[-0.742,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[1.854,0.039]],"v":[[4.86,-0.6],[6.529,3.938],[5.651,7.524],[3.192,9.94],[-0.497,10.788],[-3.674,10.335],[-6.529,9.12],[-5.562,7.041],[-3.015,8.139],[-0.497,8.534],[2.826,7.319],[4.011,3.938],[2.87,0.776],[-0.322,-0.366],[-2.313,-0.102],[-3.22,-1.273],[3.22,-8.681],[-6.177,-8.681],[-6.177,-10.788],[5.915,-10.788],[5.915,-8.681],[0.41,-2.386]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[829.624,526.035],"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 18","np":2,"cix":2,"ix":18,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.742,1.425],[0,3.025],[0.741,1.425],[1.581,0],[0.741,-1.425],[0,-3.025],[-0.743,-1.425],[-1.581,0]],"o":[[0.741,-1.425],[0,-3.025],[-0.742,-1.425],[-1.562,0],[-0.743,1.425],[0,3.025],[0.741,1.425],[1.561,0]],"v":[[3.47,6.675],[4.582,0],[3.47,-6.674],[-0.014,-8.812],[-3.469,-6.674],[-4.581,0],[-3.469,6.675],[0.015,8.813]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[1.171,1.786],[0,3.747],[-1.161,1.786],[-2.381,0],[-1.172,-1.786],[0,-3.748],[1.161,-1.786],[2.381,0]],"o":[[-1.171,-1.786],[0,-3.748],[1.161,-1.786],[2.38,0],[1.171,1.786],[0,3.747],[-1.162,1.786],[-2.381,0]],"v":[[-5.313,8.3],[-7.07,0],[-5.328,-8.299],[-0.014,-10.979],[5.315,-8.299],[7.07,0],[5.328,8.3],[0.015,10.979]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[811.516,525.844],"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 19","np":4,"cix":2,"ix":19,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-5.958,-1.112],[5.958,-1.112],[5.958,1.112],[-5.958,1.112]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[792.338,539.693],"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 20","np":2,"cix":2,"ix":20,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.849,-0.888],[0,-1.561],[0,0],[0,0],[0,0],[0.536,0.498],[1.035,0],[0.624,-0.243],[0.625,-0.507],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.913,0]],"o":[[0.85,0.888],[0,0],[0,0],[0,0],[0,-0.956],[-0.537,-0.498],[-0.741,0],[-0.625,0.245],[0,0],[0,0],[0,0],[0,0],[0,0],[1.288,-1.405],[1.523,0]],"v":[[4.641,-6.705],[5.913,-3.031],[5.913,8.036],[3.542,8.036],[3.542,-2.826],[2.738,-5.006],[0.38,-5.753],[-1.669,-5.388],[-3.543,-4.26],[-3.543,8.036],[-5.914,8.036],[-5.914,-7.656],[-3.718,-7.656],[-3.718,-5.929],[1.083,-8.036]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[773.848,528.407],"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 21","np":2,"cix":2,"ix":21,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.692,1.024],[0,2.011],[0.692,1.034],[1.327,0],[0.692,-1.035],[0,-1.99],[-0.694,-1.025],[-1.346,0]],"o":[[0.692,-1.025],[0,-1.99],[-0.692,-1.035],[-1.366,0],[-0.694,1.034],[0,2.011],[0.692,1.024],[1.348,0]],"v":[[3.059,4.552],[4.099,0],[3.059,-4.537],[0.029,-6.089],[-3.059,-4.537],[-4.099,0],[-3.059,4.552],[-0.001,6.09]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[1.132,1.396],[0,2.694],[-1.142,1.395],[-2.108,0],[-1.132,-1.396],[0,-2.693],[1.132,-1.405],[2.109,0]],"o":[[-1.132,-1.395],[0,-2.693],[1.141,-1.396],[2.089,0],[1.132,1.395],[0,2.675],[-1.132,1.405],[-2.107,0]],"v":[[-4.86,6.134],[-6.558,0],[-4.845,-6.133],[0.029,-8.227],[4.86,-6.133],[6.558,0],[4.86,6.119],[-0.001,8.227]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[755.812,528.597],"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 22","np":4,"cix":2,"ix":22,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-1.171,-4.831],[1.201,-4.831],[1.201,10.861],[-1.171,10.861]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.283,0.293],[0,0.527],[-0.283,0.293],[-0.527,0],[-0.283,-0.293],[0,-0.507],[0.283,-0.293],[0.527,0]],"o":[[-0.283,-0.293],[0,-0.527],[0.283,-0.293],[0.527,0],[0.283,0.293],[0,0.547],[-0.283,0.293],[-0.527,0]],"v":[[-1.215,-7.963],[-1.639,-9.193],[-1.215,-10.422],[0,-10.861],[1.215,-10.422],[1.639,-9.222],[1.215,-7.963],[0,-7.524]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[742.431,525.581],"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 23","np":4,"cix":2,"ix":23,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.819,0.869],[0,1.717],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.469,-0.547],[-0.976,0],[-0.547,0.176],[0,0],[0.879,0]],"o":[[-0.819,-0.869],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,1.17],[0.468,0.546],[0.527,0],[0,0],[-0.722,0.235],[-1.601,0]],"v":[[-1.068,8.958],[-2.297,5.08],[-2.297,-3.616],[-4.963,-3.616],[-4.963,-5.636],[-2.297,-5.636],[-2.297,-10.261],[0.073,-10.261],[0.073,-5.636],[4.758,-5.636],[4.758,-3.616],[0.073,-3.616],[0.073,4.729],[0.776,7.305],[2.943,8.125],[4.552,7.861],[4.962,9.91],[2.561,10.262]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[731.494,526.387],"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 24","np":2,"cix":2,"ix":24,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.653,0.303],[-0.566,0.625],[0,0],[1.142,-0.547],[0,-1.171],[-0.517,-0.458],[-1.014,0]],"o":[[0.654,-0.302],[0,0],[-2.439,0.02],[-1.142,0.547],[0,0.898],[0.517,0.459],[0.8,0]],"v":[[1.727,5.606],[3.557,4.215],[3.557,-0.088],[-1.815,0.761],[-3.528,3.337],[-2.752,5.372],[-0.454,6.06]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-1.035,-0.849],[0,-1.64],[0,0],[0,0],[0,0],[2.128,0],[0.859,0.82],[0,1.483],[-1.522,0.878],[-3.26,0.02],[0,0],[0.614,0.507],[1.191,0],[1.151,-0.546],[0,0],[-1.639,0]],"o":[[1.034,0.849],[0,0],[0,0],[0,0],[-1.015,1.542],[-1.562,0],[-0.859,-0.819],[0,-1.874],[1.523,-0.879],[0,0],[0,-0.975],[-0.615,-0.508],[-1.307,0],[0,0],[1.424,-0.721],[1.717,0]],"v":[[4.348,-6.924],[5.9,-3.191],[5.9,7.875],[3.733,7.875],[3.733,5.884],[-0.981,8.197],[-4.611,6.967],[-5.899,3.513],[-3.616,-0.615],[3.557,-1.962],[3.557,-2.987],[2.635,-5.211],[-0.073,-5.973],[-3.762,-5.153],[-4.377,-7.115],[0.22,-8.198]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[716.27,528.567],"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 25","np":4,"cix":2,"ix":25,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,2.323],[0,0],[0,0],[0,0],[-0.254,-0.243],[-0.547,0],[-0.41,0.079],[0,0],[0.644,0]],"o":[[0,0],[0,0],[0,0],[0,0.547],[0.254,0.245],[0.351,0],[0,0],[-0.625,0.156],[-2.283,0]],"v":[[-2.664,7.875],[-2.664,-11.359],[-0.293,-11.359],[-0.293,7.671],[0.087,8.856],[1.288,9.223],[2.43,9.104],[2.664,11.125],[0.761,11.359]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[704.103,525.259],"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 26","np":2,"cix":2,"ix":26,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.692,1.024],[0,2.011],[0.692,1.034],[1.327,0],[0.692,-1.035],[0,-1.99],[-0.694,-1.025],[-1.346,0]],"o":[[0.692,-1.025],[0,-1.99],[-0.692,-1.035],[-1.366,0],[-0.694,1.034],[0,2.011],[0.692,1.024],[1.348,0]],"v":[[3.059,4.552],[4.099,0],[3.059,-4.537],[0.029,-6.089],[-3.059,-4.537],[-4.099,0],[-3.059,4.552],[-0.001,6.09]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[1.132,1.396],[0,2.694],[-1.142,1.395],[-2.108,0],[-1.132,-1.396],[0,-2.693],[1.132,-1.405],[2.109,0]],"o":[[-1.132,-1.395],[0,-2.693],[1.141,-1.396],[2.089,0],[1.132,1.395],[0,2.675],[-1.132,1.405],[-2.107,0]],"v":[[-4.86,6.134],[-6.558,0],[-4.845,-6.133],[0.029,-8.227],[4.86,-6.133],[6.558,0],[4.86,6.119],[-0.001,8.227]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[689.376,528.597],"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 27","np":4,"cix":2,"ix":27,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.654,0.995],[0,1.971],[0.683,1.025],[1.347,0],[0.595,-0.293],[0.546,-0.625],[0,0],[-0.673,-0.302],[-0.742,0]],"o":[[0.653,-0.996],[0,-1.991],[-0.684,-1.024],[-0.723,0],[-0.595,0.293],[0,0],[0.487,0.546],[0.674,0.303],[1.288,0]],"v":[[2.855,1.727],[3.835,-2.722],[2.811,-7.247],[-0.234,-8.782],[-2.21,-8.344],[-3.922,-6.967],[-3.922,1.494],[-2.181,2.766],[-0.058,3.221]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-1.035,-1.464],[0,-2.616],[1.083,-1.435],[1.951,0],[0.694,0.312],[0.487,0.566],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.761,0.409],[-0.957,0]],"o":[[1.034,1.464],[0,2.557],[-1.084,1.434],[-0.821,0],[-0.692,-0.312],[0,0],[0,0],[0,0],[0,0],[0,0],[0.526,-0.8],[0.761,-0.41],[1.853,0]],"v":[[4.744,-8.87],[6.294,-2.751],[4.67,3.236],[0.118,5.387],[-2.152,4.919],[-3.922,3.602],[-3.922,11.067],[-6.294,11.067],[-6.294,-10.686],[-4.098,-10.686],[-4.098,-8.636],[-2.166,-10.451],[0.411,-11.066]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[672.041,531.436],"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 28","np":4,"cix":2,"ix":28,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.586,-0.253],[0,0],[0.605,0],[0.556,-0.312],[0.449,-0.663],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.717,0]],"o":[[0,0],[-0.742,-0.214],[-0.742,0],[-0.556,0.313],[0,0],[0,0],[0,0],[0,0],[0,0],[1.114,-1.678],[0.704,0]],"v":[[4.187,-7.627],[3.659,-5.314],[1.639,-5.636],[-0.307,-5.168],[-1.815,-3.704],[-1.815,8.007],[-4.187,8.007],[-4.187,-7.686],[-1.992,-7.686],[-1.992,-5.49],[2.253,-8.007]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[656.934,528.436],"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 29","np":2,"cix":2,"ix":29,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.273,-3.221],[0,0],[0.702,0.849],[1.229,0]],"o":[[0,0],[-0.019,-1.522],[-0.703,-0.849],[-2.402,0]],"v":[[-3.967,-1.245],[4.026,-1.245],[2.943,-4.802],[0.044,-6.076]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.078,-0.331],[0,0],[-0.81,-0.888],[-1.483,0],[-1.21,0.781],[0,0],[0.887,-0.264],[0.975,0],[1.24,1.444],[0,2.576],[-1.142,1.444],[-2.069,0],[-1.113,-1.327],[0,-2.38]],"o":[[0,0],[0.078,1.757],[0.81,0.889],[1.464,0],[0,0],[-0.625,0.488],[-0.889,0.264],[-2.225,0],[-1.24,-1.444],[0,-2.596],[1.142,-1.445],[1.991,0],[1.112,1.328],[0,0.567]],"v":[[6.308,0.687],[-3.997,0.687],[-2.664,4.654],[0.776,5.986],[4.786,4.815],[5.695,6.689],[3.425,7.816],[0.63,8.212],[-4.568,6.045],[-6.427,0.014],[-4.714,-6.046],[0.102,-8.213],[4.758,-6.222],[6.427,-0.66]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[640.932,528.582],"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 30","np":4,"cix":2,"ix":30,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.819,0.869],[0,1.717],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.468,-0.547],[-0.977,0],[-0.547,0.176],[0,0],[0.878,0]],"o":[[-0.82,-0.869],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,1.17],[0.469,0.546],[0.526,0],[0,0],[-0.721,0.235],[-1.601,0]],"v":[[-1.067,8.958],[-2.297,5.08],[-2.297,-3.616],[-4.962,-3.616],[-4.962,-5.636],[-2.297,-5.636],[-2.297,-10.261],[0.075,-10.261],[0.075,-5.636],[4.758,-5.636],[4.758,-3.616],[0.075,-3.616],[0.075,4.729],[0.777,7.305],[2.944,8.125],[4.554,7.861],[4.963,9.91],[2.563,10.262]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[625.94,526.387],"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 31","np":2,"cix":2,"ix":31,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.85,-0.888],[0,-1.561],[0,0],[0,0],[0,0],[0.537,0.498],[1.034,0],[0.625,-0.243],[0.624,-0.507],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.913,0]],"o":[[0.849,0.888],[0,0],[0,0],[0,0],[0,-0.956],[-0.537,-0.498],[-0.742,0],[-0.625,0.245],[0,0],[0,0],[0,0],[0,0],[0,0],[1.288,-1.405],[1.523,0]],"v":[[4.641,-6.705],[5.914,-3.031],[5.914,8.036],[3.543,8.036],[3.543,-2.826],[2.738,-5.006],[0.381,-5.753],[-1.669,-5.388],[-3.542,-4.26],[-3.542,8.036],[-5.914,8.036],[-5.914,-7.656],[-3.717,-7.656],[-3.717,-5.929],[1.083,-8.036]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[610.642,528.407],"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 32","np":2,"cix":2,"ix":32,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-1.216,-10.598],[1.216,-10.598],[1.216,10.598],[-1.216,10.598]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[596.692,525.844],"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 33","np":2,"cix":2,"ix":33,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[6.383,8.402],[6.383,10.598],[-6.383,10.598],[-6.383,-10.598],[6.03,-10.598],[6.03,-8.403],[-3.952,-8.403],[-3.952,-1.347],[3.513,-1.347],[3.513,0.878],[-3.952,0.878],[-3.952,8.402]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[575.681,525.845],"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 34","np":2,"cix":2,"ix":34,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":42,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"E Interpolation_04 Spatial Bezier Interpolation","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[324.499,555.091,0],"ix":2},"a":{"a":0,"k":[960,540,0],"ix":1},"s":{"a":0,"k":[72.458,72.458,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.85,-0.888],[0,-1.561],[0,0],[0,0],[0,0],[0.537,0.498],[1.034,0],[0.625,-0.243],[0.624,-0.507],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.913,0]],"o":[[0.849,0.888],[0,0],[0,0],[0,0],[0,-0.956],[-0.537,-0.498],[-0.742,0],[-0.625,0.245],[0,0],[0,0],[0,0],[0,0],[0,0],[1.288,-1.405],[1.523,0]],"v":[[4.641,-6.704],[5.914,-3.031],[5.914,8.036],[3.543,8.036],[3.543,-2.825],[2.738,-5.006],[0.381,-5.752],[-1.669,-5.387],[-3.542,-4.26],[-3.542,8.036],[-5.914,8.036],[-5.914,-7.656],[-3.717,-7.656],[-3.717,-5.928],[1.083,-8.036]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1238.255,596.656],"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,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.692,1.024],[0,2.011],[0.692,1.034],[1.327,0],[0.692,-1.035],[0,-1.99],[-0.694,-1.025],[-1.346,0]],"o":[[0.692,-1.025],[0,-1.99],[-0.692,-1.035],[-1.366,0],[-0.694,1.034],[0,2.011],[0.692,1.024],[1.348,0]],"v":[[3.059,4.552],[4.099,0],[3.059,-4.537],[0.029,-6.089],[-3.059,-4.537],[-4.099,0],[-3.059,4.552],[-0.001,6.089]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[1.132,1.396],[0,2.694],[-1.142,1.395],[-2.108,0],[-1.132,-1.396],[0,-2.693],[1.132,-1.405],[2.109,0]],"o":[[-1.132,-1.395],[0,-2.693],[1.141,-1.396],[2.089,0],[1.132,1.395],[0,2.675],[-1.132,1.405],[-2.107,0]],"v":[[-4.86,6.134],[-6.558,0],[-4.845,-6.133],[0.029,-8.227],[4.86,-6.133],[6.558,0],[4.86,6.119],[-0.001,8.227]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1220.22,596.847],"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":4,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-1.172,-4.831],[1.2,-4.831],[1.2,10.861],[-1.172,10.861]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.283,0.292],[0,0.527],[-0.283,0.293],[-0.526,0],[-0.284,-0.293],[0,-0.507],[0.282,-0.293],[0.527,0]],"o":[[-0.283,-0.293],[0,-0.527],[0.283,-0.293],[0.527,0],[0.282,0.293],[0,0.547],[-0.284,0.292],[-0.526,0]],"v":[[-1.215,-7.963],[-1.64,-9.193],[-1.215,-10.422],[0,-10.861],[1.216,-10.422],[1.64,-9.222],[1.216,-7.963],[0,-7.524]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1206.839,593.831],"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":4,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.819,0.869],[0,1.717],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.469,-0.547],[-0.976,0],[-0.547,0.176],[0,0],[0.879,0]],"o":[[-0.819,-0.869],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,1.17],[0.468,0.546],[0.527,0],[0,0],[-0.722,0.235],[-1.601,0]],"v":[[-1.068,8.958],[-2.297,5.079],[-2.297,-3.616],[-4.962,-3.616],[-4.962,-5.636],[-2.297,-5.636],[-2.297,-10.261],[0.074,-10.261],[0.074,-5.636],[4.758,-5.636],[4.758,-3.616],[0.074,-3.616],[0.074,4.729],[0.777,7.305],[2.943,8.125],[4.553,7.86],[4.963,9.91],[2.562,10.261]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1195.902,594.637],"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 4","np":2,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.653,0.303],[-0.566,0.625],[0,0],[1.142,-0.547],[0,-1.171],[-0.517,-0.458],[-1.014,0]],"o":[[0.654,-0.302],[0,0],[-2.439,0.02],[-1.142,0.547],[0,0.898],[0.517,0.459],[0.8,0]],"v":[[1.727,5.606],[3.557,4.215],[3.557,-0.088],[-1.816,0.761],[-3.528,3.337],[-2.752,5.372],[-0.454,6.06]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-1.035,-0.849],[0,-1.64],[0,0],[0,0],[0,0],[2.128,0],[0.859,0.82],[0,1.483],[-1.522,0.878],[-3.26,0.02],[0,0],[0.614,0.507],[1.191,0],[1.151,-0.546],[0,0],[-1.639,0]],"o":[[1.034,0.849],[0,0],[0,0],[0,0],[-1.015,1.542],[-1.562,0],[-0.859,-0.819],[0,-1.874],[1.523,-0.879],[0,0],[0,-0.975],[-0.615,-0.508],[-1.307,0],[0,0],[1.424,-0.721],[1.717,0]],"v":[[4.348,-6.924],[5.9,-3.191],[5.9,7.875],[3.733,7.875],[3.733,5.884],[-0.981,8.197],[-4.611,6.967],[-5.9,3.513],[-3.616,-0.615],[3.557,-1.962],[3.557,-2.987],[2.635,-5.211],[-0.073,-5.973],[-3.762,-5.153],[-4.377,-7.115],[0.219,-8.198]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1180.678,596.817],"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 5","np":4,"cix":2,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,2.323],[0,0],[0,0],[0,0],[-0.254,-0.243],[-0.547,0],[-0.41,0.079],[0,0],[0.644,0]],"o":[[0,0],[0,0],[0,0],[0,0.547],[0.254,0.245],[0.351,0],[0,0],[-0.625,0.156],[-2.283,0]],"v":[[-2.665,7.875],[-2.665,-11.359],[-0.293,-11.359],[-0.293,7.67],[0.087,8.855],[1.288,9.222],[2.43,9.104],[2.664,11.125],[0.761,11.359]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1168.511,593.509],"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 6","np":2,"cix":2,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.692,1.024],[0,2.011],[0.692,1.034],[1.327,0],[0.692,-1.035],[0,-1.99],[-0.694,-1.025],[-1.346,0]],"o":[[0.692,-1.025],[0,-1.99],[-0.692,-1.035],[-1.366,0],[-0.694,1.034],[0,2.011],[0.692,1.024],[1.348,0]],"v":[[3.059,4.552],[4.099,0],[3.059,-4.537],[0.029,-6.089],[-3.059,-4.537],[-4.099,0],[-3.059,4.552],[-0.001,6.089]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[1.132,1.396],[0,2.694],[-1.142,1.395],[-2.108,0],[-1.132,-1.396],[0,-2.693],[1.132,-1.405],[2.109,0]],"o":[[-1.132,-1.395],[0,-2.693],[1.141,-1.396],[2.089,0],[1.132,1.395],[0,2.675],[-1.132,1.405],[-2.107,0]],"v":[[-4.86,6.134],[-6.558,0],[-4.845,-6.133],[0.029,-8.227],[4.86,-6.133],[6.558,0],[4.86,6.119],[-0.001,8.227]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1153.784,596.847],"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 7","np":4,"cix":2,"ix":7,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.654,0.995],[0,1.971],[0.683,1.025],[1.347,0],[0.595,-0.293],[0.546,-0.625],[0,0],[-0.673,-0.302],[-0.742,0]],"o":[[0.653,-0.996],[0,-1.991],[-0.684,-1.024],[-0.723,0],[-0.595,0.293],[0,0],[0.487,0.546],[0.674,0.303],[1.288,0]],"v":[[2.855,1.728],[3.835,-2.722],[2.811,-7.246],[-0.234,-8.782],[-2.21,-8.344],[-3.922,-6.967],[-3.922,1.494],[-2.181,2.766],[-0.058,3.221]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-1.035,-1.464],[0,-2.616],[1.083,-1.435],[1.951,0],[0.694,0.312],[0.487,0.566],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.761,0.409],[-0.957,0]],"o":[[1.034,1.464],[0,2.557],[-1.084,1.434],[-0.821,0],[-0.692,-0.312],[0,0],[0,0],[0,0],[0,0],[0,0],[0.526,-0.8],[0.761,-0.41],[1.853,0]],"v":[[4.744,-8.87],[6.294,-2.751],[4.67,3.236],[0.118,5.387],[-2.152,4.919],[-3.922,3.602],[-3.922,11.067],[-6.294,11.067],[-6.294,-10.686],[-4.098,-10.686],[-4.098,-8.636],[-2.166,-10.451],[0.411,-11.066]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1136.45,599.686],"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 8","np":4,"cix":2,"ix":8,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.586,-0.253],[0,0],[0.605,0],[0.556,-0.312],[0.449,-0.663],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.717,0]],"o":[[0,0],[-0.742,-0.214],[-0.742,0],[-0.556,0.313],[0,0],[0,0],[0,0],[0,0],[0,0],[1.114,-1.678],[0.704,0]],"v":[[4.187,-7.627],[3.659,-5.314],[1.639,-5.636],[-0.307,-5.168],[-1.816,-3.704],[-1.816,8.007],[-4.187,8.007],[-4.187,-7.686],[-1.992,-7.686],[-1.992,-5.49],[2.253,-8.007]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1121.342,596.686],"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 9","np":2,"cix":2,"ix":9,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.273,-3.221],[0,0],[0.702,0.849],[1.229,0]],"o":[[0,0],[-0.019,-1.522],[-0.703,-0.849],[-2.402,0]],"v":[[-3.967,-1.245],[4.026,-1.245],[2.943,-4.801],[0.045,-6.076]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.078,-0.331],[0,0],[-0.81,-0.888],[-1.483,0],[-1.21,0.781],[0,0],[0.887,-0.264],[0.975,0],[1.24,1.444],[0,2.576],[-1.142,1.444],[-2.069,0],[-1.113,-1.327],[0,-2.38]],"o":[[0,0],[0.078,1.757],[0.81,0.889],[1.464,0],[0,0],[-0.625,0.488],[-0.889,0.264],[-2.225,0],[-1.24,-1.444],[0,-2.596],[1.142,-1.445],[1.991,0],[1.112,1.328],[0,0.567]],"v":[[6.308,0.688],[-3.996,0.688],[-2.664,4.654],[0.776,5.987],[4.786,4.815],[5.695,6.69],[3.426,7.816],[0.63,8.212],[-4.568,6.045],[-6.427,0.014],[-4.714,-6.045],[0.103,-8.212],[4.758,-6.221],[6.427,-0.659]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1105.34,596.832],"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 10","np":4,"cix":2,"ix":10,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.819,0.869],[0,1.717],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.468,-0.547],[-0.977,0],[-0.547,0.176],[0,0],[0.878,0]],"o":[[-0.82,-0.869],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,1.17],[0.469,0.546],[0.526,0],[0,0],[-0.721,0.235],[-1.601,0]],"v":[[-1.067,8.958],[-2.297,5.079],[-2.297,-3.616],[-4.962,-3.616],[-4.962,-5.636],[-2.297,-5.636],[-2.297,-10.261],[0.075,-10.261],[0.075,-5.636],[4.758,-5.636],[4.758,-3.616],[0.075,-3.616],[0.075,4.729],[0.777,7.305],[2.944,8.125],[4.554,7.86],[4.963,9.91],[2.563,10.261]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1090.349,594.637],"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 11","np":2,"cix":2,"ix":11,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.849,-0.888],[0,-1.561],[0,0],[0,0],[0,0],[0.536,0.498],[1.035,0],[0.624,-0.243],[0.625,-0.507],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.913,0]],"o":[[0.85,0.888],[0,0],[0,0],[0,0],[0,-0.956],[-0.537,-0.498],[-0.741,0],[-0.625,0.245],[0,0],[0,0],[0,0],[0,0],[0,0],[1.288,-1.405],[1.523,0]],"v":[[4.641,-6.704],[5.914,-3.031],[5.914,8.036],[3.543,8.036],[3.543,-2.825],[2.739,-5.006],[0.381,-5.752],[-1.668,-5.387],[-3.542,-4.26],[-3.542,8.036],[-5.913,8.036],[-5.913,-7.656],[-3.717,-7.656],[-3.717,-5.928],[1.084,-8.036]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1075.05,596.656],"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 12","np":2,"cix":2,"ix":12,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-1.215,-10.598],[1.215,-10.598],[1.215,10.598],[-1.215,10.598]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1061.099,594.094],"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 13","np":2,"cix":2,"ix":13,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.585,-0.253],[0,0],[0.605,0],[0.555,-0.312],[0.448,-0.663],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.717,0]],"o":[[0,0],[-0.743,-0.214],[-0.742,0],[-0.557,0.313],[0,0],[0,0],[0,0],[0,0],[0,0],[1.113,-1.678],[0.703,0]],"v":[[4.187,-7.627],[3.661,-5.314],[1.639,-5.636],[-0.307,-5.168],[-1.815,-3.704],[-1.815,8.007],[-4.187,8.007],[-4.187,-7.686],[-1.99,-7.686],[-1.99,-5.49],[2.255,-8.007]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1042.929,596.686],"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 14","np":2,"cix":2,"ix":14,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.273,-3.221],[0,0],[0.703,0.849],[1.229,0]],"o":[[0,0],[-0.019,-1.522],[-0.702,-0.849],[-2.401,0]],"v":[[-3.967,-1.245],[4.024,-1.245],[2.942,-4.801],[0.043,-6.076]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.078,-0.331],[0,0],[-0.811,-0.888],[-1.484,0],[-1.211,0.781],[0,0],[0.887,-0.264],[0.975,0],[1.24,1.444],[0,2.576],[-1.142,1.444],[-2.069,0],[-1.113,-1.327],[0,-2.38]],"o":[[0,0],[0.078,1.757],[0.809,0.889],[1.464,0],[0,0],[-0.625,0.488],[-0.889,0.264],[-2.226,0],[-1.239,-1.444],[0,-2.596],[1.143,-1.445],[1.992,0],[1.112,1.328],[0,0.567]],"v":[[6.308,0.688],[-3.997,0.688],[-2.665,4.654],[0.776,5.987],[4.786,4.815],[5.693,6.69],[3.425,7.816],[0.63,8.212],[-4.568,6.045],[-6.427,0.014],[-4.714,-6.045],[0.101,-8.212],[4.757,-6.221],[6.427,-0.659]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1026.928,596.832],"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 15","np":4,"cix":2,"ix":15,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-1.172,-4.831],[1.199,-4.831],[1.199,10.861],[-1.172,10.861]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.283,0.292],[0,0.527],[-0.283,0.293],[-0.527,0],[-0.283,-0.293],[0,-0.507],[0.283,-0.293],[0.528,0]],"o":[[-0.283,-0.293],[0,-0.527],[0.283,-0.293],[0.528,0],[0.283,0.293],[0,0.547],[-0.283,0.292],[-0.527,0]],"v":[[-1.216,-7.963],[-1.64,-9.193],[-1.216,-10.422],[-0.001,-10.861],[1.214,-10.422],[1.639,-9.222],[1.214,-7.963],[-0.001,-7.524]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1013.738,593.831],"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 16","np":4,"cix":2,"ix":16,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[5.548,5.826],[5.548,7.846],[-5.548,7.846],[-5.548,5.826],[2.737,-5.826],[-5.313,-5.826],[-5.313,-7.846],[5.431,-7.846],[5.431,-5.826],[-2.825,5.826]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1001.718,596.847],"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 17","np":2,"cix":2,"ix":17,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.273,-3.221],[0,0],[0.702,0.849],[1.229,0]],"o":[[0,0],[-0.019,-1.522],[-0.703,-0.849],[-2.402,0]],"v":[[-3.967,-1.245],[4.026,-1.245],[2.943,-4.801],[0.044,-6.076]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.078,-0.331],[0,0],[-0.81,-0.888],[-1.483,0],[-1.21,0.781],[0,0],[0.887,-0.264],[0.975,0],[1.24,1.444],[0,2.576],[-1.142,1.444],[-2.069,0],[-1.113,-1.327],[0,-2.38]],"o":[[0,0],[0.078,1.757],[0.81,0.889],[1.464,0],[0,0],[-0.625,0.488],[-0.889,0.264],[-2.225,0],[-1.24,-1.444],[0,-2.596],[1.142,-1.445],[1.991,0],[1.112,1.328],[0,0.567]],"v":[[6.308,0.688],[-3.997,0.688],[-2.664,4.654],[0.776,5.987],[4.786,4.815],[5.695,6.69],[3.425,7.816],[0.63,8.212],[-4.568,6.045],[-6.427,0.014],[-4.714,-6.045],[0.102,-8.212],[4.758,-6.221],[6.427,-0.659]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[985.79,596.832],"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 18","np":4,"cix":2,"ix":18,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.645,0.645],[0,1.269],[0.663,0.634],[1.288,0],[0,0],[0,0],[0,0]],"o":[[0.644,-0.644],[0,-1.249],[-0.664,-0.634],[0,0],[0,0],[0,0],[1.249,0]],"v":[[3.777,7.436],[4.742,4.567],[3.747,1.742],[0.82,0.79],[-4.86,0.79],[-4.86,8.402],[0.937,8.402]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-0.644,0.576],[0,1.132],[0.663,0.615],[1.288,0]],"o":[[0,0],[0,0],[1.249,0],[0.644,-0.576],[0,-1.19],[-0.664,-0.615],[0,0]],"v":[[-4.86,-8.402],[-4.86,-1.347],[-0.234,-1.347],[2.606,-2.21],[3.572,-4.772],[2.577,-7.48],[-0.352,-8.402]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,-2.752],[1.141,-1.063],[2.029,0],[0,0],[0,0],[0,0],[-1.113,-1.014],[0,-1.835],[0.458,-0.712],[0.897,-0.273]],"o":[[0,1.893],[-1.143,1.064],[0,0],[0,0],[0,0],[1.99,0],[1.113,1.015],[0,1.112],[-0.459,0.713],[2.615,0.683]],"v":[[7.289,4.567],[5.578,9.002],[0.82,10.598],[-7.289,10.598],[-7.289,-10.598],[-0.234,-10.598],[4.421,-9.076],[6.09,-4.801],[5.402,-2.064],[3.367,-0.585]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[967.71,594.095],"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 19","np":5,"cix":2,"ix":19,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,2.323],[0,0],[0,0],[0,0],[-0.254,-0.243],[-0.547,0],[-0.41,0.079],[0,0],[0.644,0]],"o":[[0,0],[0,0],[0,0],[0,0.547],[0.254,0.245],[0.351,0],[0,0],[-0.625,0.156],[-2.283,0]],"v":[[-2.664,7.875],[-2.664,-11.359],[-0.293,-11.359],[-0.293,7.67],[0.087,8.855],[1.288,9.222],[2.43,9.104],[2.664,11.125],[0.761,11.359]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[944.636,593.509],"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 20","np":2,"cix":2,"ix":20,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.653,0.303],[-0.566,0.625],[0,0],[1.142,-0.547],[0,-1.171],[-0.517,-0.458],[-1.014,0]],"o":[[0.654,-0.302],[0,0],[-2.439,0.02],[-1.142,0.547],[0,0.898],[0.517,0.459],[0.8,0]],"v":[[1.727,5.606],[3.557,4.215],[3.557,-0.088],[-1.815,0.761],[-3.528,3.337],[-2.752,5.372],[-0.454,6.06]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-1.035,-0.849],[0,-1.64],[0,0],[0,0],[0,0],[2.128,0],[0.859,0.82],[0,1.483],[-1.522,0.878],[-3.26,0.02],[0,0],[0.614,0.507],[1.191,0],[1.151,-0.546],[0,0],[-1.639,0]],"o":[[1.034,0.849],[0,0],[0,0],[0,0],[-1.015,1.542],[-1.562,0],[-0.859,-0.819],[0,-1.874],[1.523,-0.879],[0,0],[0,-0.975],[-0.615,-0.508],[-1.307,0],[0,0],[1.424,-0.721],[1.717,0]],"v":[[4.348,-6.924],[5.9,-3.191],[5.9,7.875],[3.733,7.875],[3.733,5.884],[-0.981,8.197],[-4.611,6.967],[-5.899,3.513],[-3.616,-0.615],[3.557,-1.962],[3.557,-2.987],[2.635,-5.211],[-0.073,-5.973],[-3.762,-5.153],[-4.377,-7.115],[0.22,-8.198]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[929.689,596.817],"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 21","np":4,"cix":2,"ix":21,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-1.172,-4.831],[1.2,-4.831],[1.2,10.861],[-1.172,10.861]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.283,0.292],[0,0.527],[-0.284,0.293],[-0.526,0],[-0.283,-0.293],[0,-0.507],[0.282,-0.293],[0.528,0]],"o":[[-0.284,-0.293],[0,-0.527],[0.283,-0.293],[0.528,0],[0.282,0.293],[0,0.547],[-0.283,0.292],[-0.526,0]],"v":[[-1.215,-7.963],[-1.639,-9.193],[-1.215,-10.422],[-0.001,-10.861],[1.215,-10.422],[1.639,-9.222],[1.215,-7.963],[-0.001,-7.524]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[917.318,593.831],"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 22","np":4,"cix":2,"ix":22,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.819,0.869],[0,1.717],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.468,-0.547],[-0.977,0],[-0.547,0.176],[0,0],[0.878,0]],"o":[[-0.82,-0.869],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,1.17],[0.469,0.546],[0.526,0],[0,0],[-0.721,0.235],[-1.601,0]],"v":[[-1.068,8.958],[-2.298,5.079],[-2.298,-3.616],[-4.963,-3.616],[-4.963,-5.636],[-2.298,-5.636],[-2.298,-10.261],[0.074,-10.261],[0.074,-5.636],[4.757,-5.636],[4.757,-3.616],[0.074,-3.616],[0.074,4.729],[0.776,7.305],[2.943,8.125],[4.553,7.86],[4.962,9.91],[2.562,10.261]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[906.381,594.637],"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 23","np":2,"cix":2,"ix":23,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.654,0.303],[-0.566,0.625],[0,0],[1.143,-0.547],[0,-1.171],[-0.518,-0.458],[-1.015,0]],"o":[[0.653,-0.302],[0,0],[-2.44,0.02],[-1.142,0.547],[0,0.898],[0.516,0.459],[0.8,0]],"v":[[1.728,5.606],[3.557,4.215],[3.557,-0.088],[-1.815,0.761],[-3.527,3.337],[-2.751,5.372],[-0.453,6.06]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-1.034,-0.849],[0,-1.64],[0,0],[0,0],[0,0],[2.127,0],[0.86,0.82],[0,1.483],[-1.522,0.878],[-3.26,0.02],[0,0],[0.615,0.507],[1.191,0],[1.151,-0.546],[0,0],[-1.639,0]],"o":[[1.034,0.849],[0,0],[0,0],[0,0],[-1.016,1.542],[-1.562,0],[-0.858,-0.819],[0,-1.874],[1.523,-0.879],[0,0],[0,-0.975],[-0.614,-0.508],[-1.307,0],[0,0],[1.424,-0.721],[1.718,0]],"v":[[4.348,-6.924],[5.9,-3.191],[5.9,7.875],[3.734,7.875],[3.734,5.884],[-0.98,8.197],[-4.612,6.967],[-5.899,3.513],[-3.615,-0.615],[3.557,-1.962],[3.557,-2.987],[2.635,-5.211],[-0.073,-5.973],[-3.761,-5.153],[-4.376,-7.115],[0.219,-8.198]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[891.156,596.817],"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 24","np":4,"cix":2,"ix":24,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.654,0.995],[0,1.971],[0.683,1.025],[1.347,0],[0.595,-0.293],[0.546,-0.625],[0,0],[-0.673,-0.302],[-0.742,0]],"o":[[0.653,-0.996],[0,-1.991],[-0.684,-1.024],[-0.723,0],[-0.595,0.293],[0,0],[0.487,0.546],[0.674,0.303],[1.288,0]],"v":[[2.855,1.728],[3.835,-2.722],[2.811,-7.246],[-0.234,-8.782],[-2.21,-8.344],[-3.922,-6.967],[-3.922,1.494],[-2.181,2.766],[-0.058,3.221]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-1.035,-1.464],[0,-2.616],[1.083,-1.435],[1.951,0],[0.694,0.312],[0.487,0.566],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.761,0.409],[-0.957,0]],"o":[[1.034,1.464],[0,2.557],[-1.084,1.434],[-0.821,0],[-0.692,-0.312],[0,0],[0,0],[0,0],[0,0],[0,0],[0.526,-0.8],[0.761,-0.41],[1.853,0]],"v":[[4.744,-8.87],[6.294,-2.751],[4.67,3.236],[0.118,5.387],[-2.152,4.919],[-3.922,3.602],[-3.922,11.067],[-6.294,11.067],[-6.294,-10.686],[-4.098,-10.686],[-4.098,-8.636],[-2.166,-10.451],[0.411,-11.066]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[874.832,599.686],"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 25","np":4,"cix":2,"ix":25,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.151,0.293],[0.879,0.547],[0,0],[-1.952,0],[-0.81,0.634],[0,1.131],[0.546,0.596],[1.132,0.293],[0,0],[0.839,0.946],[0,1.523],[-1.2,1.064],[-2.068,0],[-1.073,-0.224],[-0.897,-0.429],[0,0],[1.561,0],[0.731,-0.595],[0,-1.054],[-0.537,-0.595],[-1.132,-0.292],[0,0],[-0.85,-0.936],[0,-1.522],[1.269,-1.102],[2.186,0]],"o":[[-1.151,-0.292],[0,0],[1.834,1.053],[1.464,0],[0.809,-0.634],[0,-0.956],[-0.547,-0.595],[0,0],[-1.796,-0.488],[-0.839,-0.947],[0,-1.815],[1.2,-1.064],[1.035,0],[1.074,0.225],[0,0],[-1.991,-0.801],[-1.327,0],[-0.733,0.596],[0,0.957],[0.536,0.596],[0,0],[1.796,0.507],[0.849,0.937],[0,1.894],[-1.269,1.103],[-1.171,0]],"v":[[-3.762,10.51],[-6.807,9.251],[-5.957,7.173],[-0.278,8.754],[3.133,7.802],[4.347,5.153],[3.528,2.825],[1.01,1.493],[-1.391,0.82],[-5.343,-1.332],[-6.602,-5.036],[-4.801,-9.354],[0.102,-10.949],[3.264,-10.613],[6.221,-9.632],[5.373,-7.553],[0.044,-8.754],[-3.044,-7.861],[-4.143,-5.387],[-3.337,-3.06],[-0.834,-1.728],[1.566,-1.054],[5.534,1.112],[6.807,4.801],[4.904,9.295],[-0.278,10.949]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[856.226,594.095],"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 26","np":2,"cix":2,"ix":26,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.137,3.865],[2.137,-8.343],[-4.655,3.865]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[7.231,3.865],[7.231,6.002],[4.479,6.002],[4.479,10.598],[2.137,10.598],[2.137,6.002],[-7.231,6.002],[-7.231,3.865],[1.083,-10.598],[4.479,-10.598],[4.479,3.865]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[830.094,594.094],"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 27","np":4,"cix":2,"ix":27,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.742,1.425],[0,3.025],[0.741,1.425],[1.581,0],[0.741,-1.425],[0,-3.025],[-0.743,-1.425],[-1.581,0]],"o":[[0.741,-1.425],[0,-3.025],[-0.742,-1.425],[-1.562,0],[-0.743,1.425],[0,3.025],[0.741,1.425],[1.561,0]],"v":[[3.47,6.676],[4.582,0.001],[3.47,-6.674],[-0.014,-8.811],[-3.469,-6.674],[-4.581,0.001],[-3.469,6.676],[0.015,8.813]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[1.171,1.786],[0,3.747],[-1.161,1.786],[-2.381,0],[-1.172,-1.786],[0,-3.748],[1.161,-1.786],[2.381,0]],"o":[[-1.171,-1.786],[0,-3.748],[1.161,-1.786],[2.38,0],[1.171,1.786],[0,3.747],[-1.162,1.786],[-2.381,0]],"v":[[-5.313,8.301],[-7.07,0.001],[-5.328,-8.299],[-0.014,-10.978],[5.315,-8.299],[7.07,0.001],[5.328,8.301],[0.015,10.979]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[811.516,594.094],"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 28","np":4,"cix":2,"ix":28,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-5.958,-1.113],[5.958,-1.113],[5.958,1.112],[-5.958,1.112]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[792.338,607.943],"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 29","np":2,"cix":2,"ix":29,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.849,-0.888],[0,-1.561],[0,0],[0,0],[0,0],[0.536,0.498],[1.035,0],[0.624,-0.243],[0.625,-0.507],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.913,0]],"o":[[0.85,0.888],[0,0],[0,0],[0,0],[0,-0.956],[-0.537,-0.498],[-0.741,0],[-0.625,0.245],[0,0],[0,0],[0,0],[0,0],[0,0],[1.288,-1.405],[1.523,0]],"v":[[4.641,-6.704],[5.913,-3.031],[5.913,8.036],[3.542,8.036],[3.542,-2.825],[2.738,-5.006],[0.38,-5.752],[-1.669,-5.387],[-3.543,-4.26],[-3.543,8.036],[-5.914,8.036],[-5.914,-7.656],[-3.718,-7.656],[-3.718,-5.928],[1.083,-8.036]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[773.848,596.656],"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 30","np":2,"cix":2,"ix":30,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.692,1.024],[0,2.011],[0.692,1.034],[1.327,0],[0.692,-1.035],[0,-1.99],[-0.694,-1.025],[-1.346,0]],"o":[[0.692,-1.025],[0,-1.99],[-0.692,-1.035],[-1.366,0],[-0.694,1.034],[0,2.011],[0.692,1.024],[1.348,0]],"v":[[3.059,4.552],[4.099,0],[3.059,-4.537],[0.029,-6.089],[-3.059,-4.537],[-4.099,0],[-3.059,4.552],[-0.001,6.089]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[1.132,1.396],[0,2.694],[-1.142,1.395],[-2.108,0],[-1.132,-1.396],[0,-2.693],[1.132,-1.405],[2.109,0]],"o":[[-1.132,-1.395],[0,-2.693],[1.141,-1.396],[2.089,0],[1.132,1.395],[0,2.675],[-1.132,1.405],[-2.107,0]],"v":[[-4.86,6.134],[-6.558,0],[-4.845,-6.133],[0.029,-8.227],[4.86,-6.133],[6.558,0],[4.86,6.119],[-0.001,8.227]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[755.812,596.847],"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 31","np":4,"cix":2,"ix":31,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-1.171,-4.831],[1.201,-4.831],[1.201,10.861],[-1.171,10.861]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.283,0.292],[0,0.527],[-0.283,0.293],[-0.527,0],[-0.283,-0.293],[0,-0.507],[0.283,-0.293],[0.527,0]],"o":[[-0.283,-0.293],[0,-0.527],[0.283,-0.293],[0.527,0],[0.283,0.293],[0,0.547],[-0.283,0.292],[-0.527,0]],"v":[[-1.215,-7.963],[-1.639,-9.193],[-1.215,-10.422],[0,-10.861],[1.215,-10.422],[1.639,-9.222],[1.215,-7.963],[0,-7.524]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[742.431,593.831],"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 32","np":4,"cix":2,"ix":32,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.819,0.869],[0,1.717],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.469,-0.547],[-0.976,0],[-0.547,0.176],[0,0],[0.879,0]],"o":[[-0.819,-0.869],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,1.17],[0.468,0.546],[0.527,0],[0,0],[-0.722,0.235],[-1.601,0]],"v":[[-1.068,8.958],[-2.297,5.079],[-2.297,-3.616],[-4.963,-3.616],[-4.963,-5.636],[-2.297,-5.636],[-2.297,-10.261],[0.073,-10.261],[0.073,-5.636],[4.758,-5.636],[4.758,-3.616],[0.073,-3.616],[0.073,4.729],[0.776,7.305],[2.943,8.125],[4.552,7.86],[4.962,9.91],[2.561,10.261]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[731.494,594.637],"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 33","np":2,"cix":2,"ix":33,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.653,0.303],[-0.566,0.625],[0,0],[1.142,-0.547],[0,-1.171],[-0.517,-0.458],[-1.014,0]],"o":[[0.654,-0.302],[0,0],[-2.439,0.02],[-1.142,0.547],[0,0.898],[0.517,0.459],[0.8,0]],"v":[[1.727,5.606],[3.557,4.215],[3.557,-0.088],[-1.815,0.761],[-3.528,3.337],[-2.752,5.372],[-0.454,6.06]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-1.035,-0.849],[0,-1.64],[0,0],[0,0],[0,0],[2.128,0],[0.859,0.82],[0,1.483],[-1.522,0.878],[-3.26,0.02],[0,0],[0.614,0.507],[1.191,0],[1.151,-0.546],[0,0],[-1.639,0]],"o":[[1.034,0.849],[0,0],[0,0],[0,0],[-1.015,1.542],[-1.562,0],[-0.859,-0.819],[0,-1.874],[1.523,-0.879],[0,0],[0,-0.975],[-0.615,-0.508],[-1.307,0],[0,0],[1.424,-0.721],[1.717,0]],"v":[[4.348,-6.924],[5.9,-3.191],[5.9,7.875],[3.733,7.875],[3.733,5.884],[-0.981,8.197],[-4.611,6.967],[-5.899,3.513],[-3.616,-0.615],[3.557,-1.962],[3.557,-2.987],[2.635,-5.211],[-0.073,-5.973],[-3.762,-5.153],[-4.377,-7.115],[0.22,-8.198]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[716.27,596.817],"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 34","np":4,"cix":2,"ix":34,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,2.323],[0,0],[0,0],[0,0],[-0.254,-0.243],[-0.547,0],[-0.41,0.079],[0,0],[0.644,0]],"o":[[0,0],[0,0],[0,0],[0,0.547],[0.254,0.245],[0.351,0],[0,0],[-0.625,0.156],[-2.283,0]],"v":[[-2.664,7.875],[-2.664,-11.359],[-0.293,-11.359],[-0.293,7.67],[0.087,8.855],[1.288,9.222],[2.43,9.104],[2.664,11.125],[0.761,11.359]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[704.103,593.509],"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 35","np":2,"cix":2,"ix":35,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.692,1.024],[0,2.011],[0.692,1.034],[1.327,0],[0.692,-1.035],[0,-1.99],[-0.694,-1.025],[-1.346,0]],"o":[[0.692,-1.025],[0,-1.99],[-0.692,-1.035],[-1.366,0],[-0.694,1.034],[0,2.011],[0.692,1.024],[1.348,0]],"v":[[3.059,4.552],[4.099,0],[3.059,-4.537],[0.029,-6.089],[-3.059,-4.537],[-4.099,0],[-3.059,4.552],[-0.001,6.089]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[1.132,1.396],[0,2.694],[-1.142,1.395],[-2.108,0],[-1.132,-1.396],[0,-2.693],[1.132,-1.405],[2.109,0]],"o":[[-1.132,-1.395],[0,-2.693],[1.141,-1.396],[2.089,0],[1.132,1.395],[0,2.675],[-1.132,1.405],[-2.107,0]],"v":[[-4.86,6.134],[-6.558,0],[-4.845,-6.133],[0.029,-8.227],[4.86,-6.133],[6.558,0],[4.86,6.119],[-0.001,8.227]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[689.376,596.847],"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 36","np":4,"cix":2,"ix":36,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.654,0.995],[0,1.971],[0.683,1.025],[1.347,0],[0.595,-0.293],[0.546,-0.625],[0,0],[-0.673,-0.302],[-0.742,0]],"o":[[0.653,-0.996],[0,-1.991],[-0.684,-1.024],[-0.723,0],[-0.595,0.293],[0,0],[0.487,0.546],[0.674,0.303],[1.288,0]],"v":[[2.855,1.728],[3.835,-2.722],[2.811,-7.246],[-0.234,-8.782],[-2.21,-8.344],[-3.922,-6.967],[-3.922,1.494],[-2.181,2.766],[-0.058,3.221]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-1.035,-1.464],[0,-2.616],[1.083,-1.435],[1.951,0],[0.694,0.312],[0.487,0.566],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.761,0.409],[-0.957,0]],"o":[[1.034,1.464],[0,2.557],[-1.084,1.434],[-0.821,0],[-0.692,-0.312],[0,0],[0,0],[0,0],[0,0],[0,0],[0.526,-0.8],[0.761,-0.41],[1.853,0]],"v":[[4.744,-8.87],[6.294,-2.751],[4.67,3.236],[0.118,5.387],[-2.152,4.919],[-3.922,3.602],[-3.922,11.067],[-6.294,11.067],[-6.294,-10.686],[-4.098,-10.686],[-4.098,-8.636],[-2.166,-10.451],[0.411,-11.066]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[672.041,599.686],"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 37","np":4,"cix":2,"ix":37,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.586,-0.253],[0,0],[0.605,0],[0.556,-0.312],[0.449,-0.663],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.717,0]],"o":[[0,0],[-0.742,-0.214],[-0.742,0],[-0.556,0.313],[0,0],[0,0],[0,0],[0,0],[0,0],[1.114,-1.678],[0.704,0]],"v":[[4.187,-7.627],[3.659,-5.314],[1.639,-5.636],[-0.307,-5.168],[-1.815,-3.704],[-1.815,8.007],[-4.187,8.007],[-4.187,-7.686],[-1.992,-7.686],[-1.992,-5.49],[2.253,-8.007]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[656.934,596.686],"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 38","np":2,"cix":2,"ix":38,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.273,-3.221],[0,0],[0.702,0.849],[1.229,0]],"o":[[0,0],[-0.019,-1.522],[-0.703,-0.849],[-2.402,0]],"v":[[-3.967,-1.245],[4.026,-1.245],[2.943,-4.801],[0.044,-6.076]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.078,-0.331],[0,0],[-0.81,-0.888],[-1.483,0],[-1.21,0.781],[0,0],[0.887,-0.264],[0.975,0],[1.24,1.444],[0,2.576],[-1.142,1.444],[-2.069,0],[-1.113,-1.327],[0,-2.38]],"o":[[0,0],[0.078,1.757],[0.81,0.889],[1.464,0],[0,0],[-0.625,0.488],[-0.889,0.264],[-2.225,0],[-1.24,-1.444],[0,-2.596],[1.142,-1.445],[1.991,0],[1.112,1.328],[0,0.567]],"v":[[6.308,0.688],[-3.997,0.688],[-2.664,4.654],[0.776,5.987],[4.786,4.815],[5.695,6.69],[3.425,7.816],[0.63,8.212],[-4.568,6.045],[-6.427,0.014],[-4.714,-6.045],[0.102,-8.212],[4.758,-6.221],[6.427,-0.659]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[640.932,596.832],"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 39","np":4,"cix":2,"ix":39,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.819,0.869],[0,1.717],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.468,-0.547],[-0.977,0],[-0.547,0.176],[0,0],[0.878,0]],"o":[[-0.82,-0.869],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,1.17],[0.469,0.546],[0.526,0],[0,0],[-0.721,0.235],[-1.601,0]],"v":[[-1.067,8.958],[-2.297,5.079],[-2.297,-3.616],[-4.962,-3.616],[-4.962,-5.636],[-2.297,-5.636],[-2.297,-10.261],[0.075,-10.261],[0.075,-5.636],[4.758,-5.636],[4.758,-3.616],[0.075,-3.616],[0.075,4.729],[0.777,7.305],[2.944,8.125],[4.554,7.86],[4.963,9.91],[2.563,10.261]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[625.94,594.637],"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 40","np":2,"cix":2,"ix":40,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.85,-0.888],[0,-1.561],[0,0],[0,0],[0,0],[0.537,0.498],[1.034,0],[0.625,-0.243],[0.624,-0.507],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.913,0]],"o":[[0.849,0.888],[0,0],[0,0],[0,0],[0,-0.956],[-0.537,-0.498],[-0.742,0],[-0.625,0.245],[0,0],[0,0],[0,0],[0,0],[0,0],[1.288,-1.405],[1.523,0]],"v":[[4.641,-6.704],[5.914,-3.031],[5.914,8.036],[3.543,8.036],[3.543,-2.825],[2.738,-5.006],[0.381,-5.752],[-1.669,-5.387],[-3.542,-4.26],[-3.542,8.036],[-5.914,8.036],[-5.914,-7.656],[-3.717,-7.656],[-3.717,-5.928],[1.083,-8.036]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[610.642,596.656],"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 41","np":2,"cix":2,"ix":41,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-1.216,-10.598],[1.216,-10.598],[1.216,10.598],[-1.216,10.598]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[596.692,594.094],"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 42","np":2,"cix":2,"ix":42,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[6.383,8.402],[6.383,10.598],[-6.383,10.598],[-6.383,-10.598],[6.03,-10.598],[6.03,-8.403],[-3.952,-8.403],[-3.952,-1.347],[3.513,-1.347],[3.513,0.878],[-3.952,0.878],[-3.952,8.402]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[575.681,594.095],"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 43","np":2,"cix":2,"ix":43,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":42,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"E Interpolation_05 Rove Across Time","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[964.374,505.638,0],"ix":2},"a":{"a":0,"k":[960,540,0],"ix":1},"s":{"a":0,"k":[72.458,72.458,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.273,-3.221],[0,0],[0.703,0.849],[1.229,0]],"o":[[0,0],[-0.019,-1.522],[-0.702,-0.849],[-2.401,0]],"v":[[-3.967,-1.245],[4.025,-1.245],[2.942,-4.801],[0.044,-6.076]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.078,-0.331],[0,0],[-0.811,-0.888],[-1.484,0],[-1.211,0.781],[0,0],[0.887,-0.264],[0.975,0],[1.24,1.444],[0,2.576],[-1.142,1.444],[-2.069,0],[-1.113,-1.327],[0,-2.38]],"o":[[0,0],[0.078,1.757],[0.809,0.889],[1.464,0],[0,0],[-0.625,0.488],[-0.889,0.264],[-2.226,0],[-1.239,-1.444],[0,-2.596],[1.143,-1.445],[1.992,0],[1.112,1.328],[0,0.567]],"v":[[6.308,0.688],[-3.996,0.688],[-2.664,4.654],[0.776,5.987],[4.786,4.815],[5.693,6.69],[3.426,7.816],[0.63,8.212],[-4.568,6.045],[-6.427,0.014],[-4.714,-6.045],[0.102,-8.212],[4.758,-6.221],[6.427,-0.659]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1091.986,665.082],"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":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.82,-0.888],[0,-1.561],[0,0],[0,0],[0,0],[0.507,0.498],[0.977,0],[0.624,-0.253],[0.625,-0.546],[0,-0.41],[0,0],[0,0],[0,0],[0.518,0.498],[0.976,0],[0.606,-0.243],[0.624,-0.507],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.834,0],[-0.722,-0.419],[-0.352,-0.781],[-1.932,0]],"o":[[0.819,0.888],[0,0],[0,0],[0,0],[0,-0.956],[-0.508,-0.498],[-0.702,0],[-0.625,0.254],[0.058,0.352],[0,0],[0,0],[0,0],[0,-0.956],[-0.516,-0.498],[-0.703,0],[-0.604,0.245],[0,0],[0,0],[0,0],[0,0],[0,0],[1.288,-1.405],[0.996,0],[0.722,0.42],[1.384,-1.62],[1.464,0]],"v":[[9.121,-6.704],[10.349,-3.031],[10.349,8.036],[7.978,8.036],[7.978,-2.825],[7.218,-5.006],[4.992,-5.752],[3.002,-5.372],[1.128,-4.172],[1.216,-3.031],[1.216,8.036],[-1.155,8.036],[-1.155,-2.825],[-1.932,-5.006],[-4.172,-5.752],[-6.133,-5.387],[-7.977,-4.26],[-7.977,8.036],[-10.349,8.036],[-10.349,-7.656],[-8.152,-7.656],[-8.152,-5.928],[-3.469,-8.036],[-0.892,-7.407],[0.719,-5.606],[5.695,-8.036]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1069.85,664.906],"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,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-1.171,-4.831],[1.201,-4.831],[1.201,10.861],[-1.171,10.861]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.283,0.292],[0,0.527],[-0.283,0.293],[-0.527,0],[-0.284,-0.293],[0,-0.507],[0.282,-0.293],[0.527,0]],"o":[[-0.283,-0.293],[0,-0.527],[0.283,-0.293],[0.527,0],[0.282,0.293],[0,0.547],[-0.284,0.292],[-0.527,0]],"v":[[-1.215,-7.963],[-1.639,-9.193],[-1.215,-10.422],[0,-10.861],[1.216,-10.422],[1.639,-9.222],[1.216,-7.963],[0,-7.524]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1051.595,662.081],"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":4,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[6.836,-8.373],[1.215,-8.373],[1.215,10.598],[-1.215,10.598],[-1.215,-8.373],[-6.836,-8.373],[-6.836,-10.598],[6.836,-10.598]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1038.668,662.344],"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 4","np":2,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.927,0.244],[0.703,0.45],[0,0],[-1.621,0],[-0.576,0.41],[0,0.8],[0.361,0.371],[0.781,0.195],[0,0],[0.683,0.712],[0,1.152],[-0.966,0.82],[-1.738,0],[-0.86,-0.214],[-0.683,-0.351],[0,0],[1.308,0],[0.527,-0.39],[0,-0.742],[-0.371,-0.361],[-0.782,-0.195],[0,0],[-0.673,-0.732],[0,-1.19],[1.014,-0.839],[1.795,0]],"o":[[-0.928,-0.244],[0,0],[1.367,0.86],[1.112,0],[0.575,-0.41],[0,-0.625],[-0.361,-0.371],[0,0],[-1.425,-0.332],[-0.683,-0.712],[0,-1.444],[0.967,-0.82],[0.859,0],[0.858,0.215],[0,0],[-1.367,-0.703],[-1.015,0],[-0.528,0.39],[0,0.586],[0.371,0.361],[0,0],[1.424,0.332],[0.674,0.732],[0,1.483],[-1.016,0.839],[-0.996,0]],"v":[[-3.089,7.831],[-5.534,6.792],[-4.685,4.771],[-0.205,6.06],[2.327,5.445],[3.19,3.63],[2.649,2.138],[0.936,1.289],[-1.143,0.79],[-4.304,-0.776],[-5.329,-3.571],[-3.88,-6.967],[0.175,-8.198],[2.752,-7.875],[5.064,-7.026],[4.128,-5.007],[0.116,-6.06],[-2.196,-5.475],[-2.986,-3.776],[-2.431,-2.357],[-0.703,-1.523],[1.376,-1.024],[4.522,0.57],[5.533,3.455],[4.011,6.939],[-0.205,8.198]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1014.76,665.097],"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 5","np":2,"cix":2,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.927,0.244],[0.703,0.45],[0,0],[-1.621,0],[-0.576,0.41],[0,0.8],[0.361,0.371],[0.781,0.195],[0,0],[0.683,0.712],[0,1.152],[-0.966,0.82],[-1.738,0],[-0.86,-0.214],[-0.683,-0.351],[0,0],[1.308,0],[0.527,-0.39],[0,-0.742],[-0.371,-0.361],[-0.782,-0.195],[0,0],[-0.673,-0.732],[0,-1.19],[1.014,-0.839],[1.795,0]],"o":[[-0.928,-0.244],[0,0],[1.367,0.86],[1.112,0],[0.575,-0.41],[0,-0.625],[-0.361,-0.371],[0,0],[-1.425,-0.332],[-0.683,-0.712],[0,-1.444],[0.967,-0.82],[0.859,0],[0.858,0.215],[0,0],[-1.367,-0.703],[-1.015,0],[-0.528,0.39],[0,0.586],[0.371,0.361],[0,0],[1.424,0.332],[0.674,0.732],[0,1.483],[-1.016,0.839],[-0.996,0]],"v":[[-3.088,7.831],[-5.533,6.792],[-4.684,4.771],[-0.204,6.06],[2.328,5.445],[3.191,3.63],[2.65,2.138],[0.937,1.289],[-1.142,0.79],[-4.303,-0.776],[-5.328,-3.571],[-3.879,-6.967],[0.176,-8.198],[2.753,-7.875],[5.065,-7.026],[4.129,-5.007],[0.117,-6.06],[-2.195,-5.475],[-2.985,-3.776],[-2.43,-2.357],[-0.702,-1.523],[1.377,-1.024],[4.523,0.57],[5.534,3.455],[4.012,6.939],[-0.204,8.198]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[999.857,665.097],"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 6","np":2,"cix":2,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.692,1.024],[0,2.011],[0.692,1.034],[1.327,0],[0.692,-1.035],[0,-1.99],[-0.694,-1.025],[-1.346,0]],"o":[[0.692,-1.025],[0,-1.99],[-0.692,-1.035],[-1.366,0],[-0.694,1.034],[0,2.011],[0.692,1.024],[1.348,0]],"v":[[3.059,4.552],[4.099,0],[3.059,-4.537],[0.029,-6.089],[-3.059,-4.537],[-4.099,0],[-3.059,4.552],[-0.001,6.089]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[1.132,1.396],[0,2.694],[-1.142,1.395],[-2.108,0],[-1.132,-1.396],[0,-2.693],[1.132,-1.405],[2.109,0]],"o":[[-1.132,-1.395],[0,-2.693],[1.141,-1.396],[2.089,0],[1.132,1.395],[0,2.675],[-1.132,1.405],[-2.107,0]],"v":[[-4.86,6.134],[-6.558,0],[-4.845,-6.133],[0.029,-8.227],[4.86,-6.133],[6.558,0],[4.86,6.119],[-0.001,8.227]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[983.724,665.097],"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 7","np":4,"cix":2,"ix":7,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.586,-0.253],[0,0],[0.605,0],[0.556,-0.312],[0.449,-0.663],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.717,0]],"o":[[0,0],[-0.742,-0.214],[-0.742,0],[-0.556,0.313],[0,0],[0,0],[0,0],[0,0],[0,0],[1.114,-1.678],[0.704,0]],"v":[[4.187,-7.627],[3.659,-5.314],[1.639,-5.636],[-0.307,-5.168],[-1.815,-3.704],[-1.815,8.007],[-4.187,8.007],[-4.187,-7.686],[-1.992,-7.686],[-1.992,-5.49],[2.253,-8.007]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[969.436,664.936],"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 8","np":2,"cix":2,"ix":8,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.249,1.444],[0,2.576],[-0.576,1.24],[-1.044,0.683],[-1.366,0],[-0.78,-0.225],[-0.645,-0.409],[0,0],[1.151,0],[0.771,-1.025],[0,-1.834],[-0.81,-1.044],[-1.562,0],[-1.132,0.644],[0,0],[0.78,-0.225],[0.878,0]],"o":[[-1.249,-1.444],[0,-1.64],[0.575,-1.239],[1.044,-0.683],[0.78,0],[0.78,0.224],[0,0],[-1.268,-0.682],[-1.386,0],[-0.771,1.025],[0,2.03],[0.809,1.044],[1.171,0],[0,0],[-0.566,0.429],[-0.781,0.224],[-2.206,0]],"v":[[-3.909,6.046],[-5.782,0.015],[-4.919,-4.304],[-2.489,-7.187],[1.127,-8.212],[3.469,-7.875],[5.607,-6.924],[4.698,-4.992],[1.069,-6.016],[-2.167,-4.479],[-3.323,-0.19],[-2.108,4.421],[1.449,5.987],[4.904,5.021],[5.782,6.895],[3.762,7.876],[1.274,8.213]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[954.459,665.082],"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 9","np":2,"cix":2,"ix":9,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[3.616,2.81],[-0.044,-8.022],[-3.674,2.81]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[4.346,4.978],[-4.406,4.978],[-6.281,10.599],[-8.885,10.599],[-1.362,-10.599],[1.361,-10.599],[8.885,10.599],[6.25,10.599]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[936.131,662.345],"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 10","np":4,"cix":2,"ix":10,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.273,-3.221],[0,0],[0.702,0.849],[1.229,0]],"o":[[0,0],[-0.019,-1.522],[-0.703,-0.849],[-2.402,0]],"v":[[-3.967,-1.245],[4.026,-1.245],[2.943,-4.801],[0.044,-6.076]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.078,-0.331],[0,0],[-0.81,-0.888],[-1.483,0],[-1.21,0.781],[0,0],[0.887,-0.264],[0.975,0],[1.24,1.444],[0,2.576],[-1.142,1.444],[-2.069,0],[-1.113,-1.327],[0,-2.38]],"o":[[0,0],[0.078,1.757],[0.81,0.889],[1.464,0],[0,0],[-0.625,0.488],[-0.889,0.264],[-2.225,0],[-1.24,-1.444],[0,-2.596],[1.142,-1.445],[1.991,0],[1.112,1.328],[0,0.567]],"v":[[6.308,0.688],[-3.997,0.688],[-2.664,4.654],[0.776,5.987],[4.786,4.815],[5.695,6.69],[3.425,7.816],[0.63,8.212],[-4.568,6.045],[-6.427,0.014],[-4.714,-6.045],[0.102,-8.212],[4.758,-6.221],[6.427,-0.659]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[909.251,665.082],"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 11","np":4,"cix":2,"ix":11,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[6.763,-7.846],[1.318,7.846],[-1.289,7.846],[-6.763,-7.846],[-4.187,-7.846],[0.058,5.3],[4.245,-7.846]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[892.371,665.096],"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 12","np":2,"cix":2,"ix":12,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.692,1.024],[0,2.011],[0.692,1.034],[1.327,0],[0.692,-1.035],[0,-1.99],[-0.694,-1.025],[-1.346,0]],"o":[[0.692,-1.025],[0,-1.99],[-0.692,-1.035],[-1.366,0],[-0.694,1.034],[0,2.011],[0.692,1.024],[1.348,0]],"v":[[3.059,4.552],[4.099,0],[3.059,-4.537],[0.029,-6.089],[-3.059,-4.537],[-4.099,0],[-3.059,4.552],[-0.001,6.089]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[1.132,1.396],[0,2.694],[-1.142,1.395],[-2.108,0],[-1.132,-1.396],[0,-2.693],[1.132,-1.405],[2.109,0]],"o":[[-1.132,-1.395],[0,-2.693],[1.141,-1.396],[2.089,0],[1.132,1.395],[0,2.675],[-1.132,1.405],[-2.107,0]],"v":[[-4.86,6.134],[-6.558,0],[-4.845,-6.133],[0.029,-8.227],[4.86,-6.133],[6.558,0],[4.86,6.119],[-0.001,8.227]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[875.301,665.097],"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 13","np":4,"cix":2,"ix":13,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-0.684,0.732],[0,1.444],[0.702,0.742],[1.366,0],[0,0]],"o":[[0,0],[1.327,0],[0.682,-0.732],[0,-1.425],[-0.703,-0.742],[0,0],[0,0]],"v":[[-4.904,0.322],[-0.278,0.322],[2.738,-0.776],[3.762,-4.04],[2.708,-7.29],[-0.395,-8.403],[-4.904,-8.403]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.161,-1.151],[0,-2.049],[0.78,-1.084],[1.464,-0.352],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[2.068,0],[1.161,1.152],[0,1.679],[-0.781,1.083],[0,0],[0,0],[0,0]],"v":[[-0.835,2.489],[-4.904,2.489],[-4.904,10.598],[-7.334,10.598],[-7.334,-10.598],[-0.278,-10.598],[4.567,-8.871],[6.309,-4.07],[5.138,0.073],[1.771,2.225],[7.333,10.598],[4.347,10.598]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[857.455,662.345],"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 14","np":4,"cix":2,"ix":14,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.956,-0.556],[-0.518,-1.014],[0,-1.327],[0.585,-1.064],[1.073,-0.585],[1.406,0],[1.025,0.282],[0.722,0.468],[0,0],[-0.83,-0.244],[-0.742,0],[-0.821,0.84],[0,1.484],[0.77,0.8],[1.347,0],[0.625,-0.185],[0.468,-0.351],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.586,0.127],[-0.566,0]],"o":[[0.956,0.556],[0.517,1.016],[0,1.386],[-0.586,1.064],[-1.074,0.586],[-0.995,0],[-1.024,-0.283],[0,0],[0.721,0.429],[0.829,0.244],[1.425,0],[0.819,-0.839],[0,-1.424],[-0.772,-0.8],[-0.664,0],[-0.624,0.186],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0.469,-0.214],[0.585,-0.127],[1.248,0]],"v":[[3.382,-2.107],[5.593,0.248],[6.367,3.763],[5.49,7.436],[3.002,9.91],[-0.718,10.789],[-3.747,10.365],[-6.367,9.237],[-5.401,7.159],[-3.073,8.169],[-0.718,8.534],[2.651,7.276],[3.88,3.792],[2.724,0.455],[-0.453,-0.747],[-2.386,-0.469],[-4.024,0.336],[-5.518,-0.482],[-4.875,-10.789],[5.461,-10.789],[5.461,-8.68],[-2.795,-8.68],[-3.234,-2.24],[-1.654,-2.752],[0.073,-2.941]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[829.698,662.535],"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 15","np":2,"cix":2,"ix":15,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.742,1.425],[0,3.025],[0.741,1.425],[1.581,0],[0.741,-1.425],[0,-3.025],[-0.743,-1.425],[-1.581,0]],"o":[[0.741,-1.425],[0,-3.025],[-0.742,-1.425],[-1.562,0],[-0.743,1.425],[0,3.025],[0.741,1.425],[1.561,0]],"v":[[3.47,6.676],[4.582,0.001],[3.47,-6.674],[-0.014,-8.811],[-3.469,-6.674],[-4.581,0.001],[-3.469,6.676],[0.015,8.813]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[1.171,1.786],[0,3.747],[-1.161,1.786],[-2.381,0],[-1.172,-1.786],[0,-3.748],[1.161,-1.786],[2.381,0]],"o":[[-1.171,-1.786],[0,-3.748],[1.161,-1.786],[2.38,0],[1.171,1.786],[0,3.747],[-1.162,1.786],[-2.381,0]],"v":[[-5.313,8.301],[-7.07,0.001],[-5.328,-8.299],[-0.014,-10.978],[5.315,-8.299],[7.07,0.001],[5.328,8.301],[0.015,10.979]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[811.516,662.344],"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 16","np":4,"cix":2,"ix":16,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-5.958,-1.113],[5.958,-1.113],[5.958,1.112],[-5.958,1.112]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[792.338,676.193],"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 17","np":2,"cix":2,"ix":17,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.849,-0.888],[0,-1.561],[0,0],[0,0],[0,0],[0.536,0.498],[1.035,0],[0.624,-0.243],[0.625,-0.507],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.913,0]],"o":[[0.85,0.888],[0,0],[0,0],[0,0],[0,-0.956],[-0.537,-0.498],[-0.741,0],[-0.625,0.245],[0,0],[0,0],[0,0],[0,0],[0,0],[1.288,-1.405],[1.523,0]],"v":[[4.641,-6.704],[5.913,-3.031],[5.913,8.036],[3.542,8.036],[3.542,-2.825],[2.738,-5.006],[0.38,-5.752],[-1.669,-5.387],[-3.543,-4.26],[-3.543,8.036],[-5.914,8.036],[-5.914,-7.656],[-3.718,-7.656],[-3.718,-5.928],[1.083,-8.036]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[773.848,664.906],"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 18","np":2,"cix":2,"ix":18,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.692,1.024],[0,2.011],[0.692,1.034],[1.327,0],[0.692,-1.035],[0,-1.99],[-0.694,-1.025],[-1.346,0]],"o":[[0.692,-1.025],[0,-1.99],[-0.692,-1.035],[-1.366,0],[-0.694,1.034],[0,2.011],[0.692,1.024],[1.348,0]],"v":[[3.059,4.552],[4.099,0],[3.059,-4.537],[0.029,-6.089],[-3.059,-4.537],[-4.099,0],[-3.059,4.552],[-0.001,6.089]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[1.132,1.396],[0,2.694],[-1.142,1.395],[-2.108,0],[-1.132,-1.396],[0,-2.693],[1.132,-1.405],[2.109,0]],"o":[[-1.132,-1.395],[0,-2.693],[1.141,-1.396],[2.089,0],[1.132,1.395],[0,2.675],[-1.132,1.405],[-2.107,0]],"v":[[-4.86,6.134],[-6.558,0],[-4.845,-6.133],[0.029,-8.227],[4.86,-6.133],[6.558,0],[4.86,6.119],[-0.001,8.227]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[755.812,665.097],"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 19","np":4,"cix":2,"ix":19,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-1.171,-4.831],[1.201,-4.831],[1.201,10.861],[-1.171,10.861]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.283,0.292],[0,0.527],[-0.283,0.293],[-0.527,0],[-0.283,-0.293],[0,-0.507],[0.283,-0.293],[0.527,0]],"o":[[-0.283,-0.293],[0,-0.527],[0.283,-0.293],[0.527,0],[0.283,0.293],[0,0.547],[-0.283,0.292],[-0.527,0]],"v":[[-1.215,-7.963],[-1.639,-9.193],[-1.215,-10.422],[0,-10.861],[1.215,-10.422],[1.639,-9.222],[1.215,-7.963],[0,-7.524]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[742.431,662.081],"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 20","np":4,"cix":2,"ix":20,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.819,0.869],[0,1.717],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.469,-0.547],[-0.976,0],[-0.547,0.176],[0,0],[0.879,0]],"o":[[-0.819,-0.869],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,1.17],[0.468,0.546],[0.527,0],[0,0],[-0.722,0.235],[-1.601,0]],"v":[[-1.068,8.958],[-2.297,5.079],[-2.297,-3.616],[-4.963,-3.616],[-4.963,-5.636],[-2.297,-5.636],[-2.297,-10.261],[0.073,-10.261],[0.073,-5.636],[4.758,-5.636],[4.758,-3.616],[0.073,-3.616],[0.073,4.729],[0.776,7.305],[2.943,8.125],[4.552,7.86],[4.962,9.91],[2.561,10.261]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[731.494,662.887],"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 21","np":2,"cix":2,"ix":21,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.653,0.303],[-0.566,0.625],[0,0],[1.142,-0.547],[0,-1.171],[-0.517,-0.458],[-1.014,0]],"o":[[0.654,-0.302],[0,0],[-2.439,0.02],[-1.142,0.547],[0,0.898],[0.517,0.459],[0.8,0]],"v":[[1.727,5.606],[3.557,4.215],[3.557,-0.088],[-1.815,0.761],[-3.528,3.337],[-2.752,5.372],[-0.454,6.06]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-1.035,-0.849],[0,-1.64],[0,0],[0,0],[0,0],[2.128,0],[0.859,0.82],[0,1.483],[-1.522,0.878],[-3.26,0.02],[0,0],[0.614,0.507],[1.191,0],[1.151,-0.546],[0,0],[-1.639,0]],"o":[[1.034,0.849],[0,0],[0,0],[0,0],[-1.015,1.542],[-1.562,0],[-0.859,-0.819],[0,-1.874],[1.523,-0.879],[0,0],[0,-0.975],[-0.615,-0.508],[-1.307,0],[0,0],[1.424,-0.721],[1.717,0]],"v":[[4.348,-6.924],[5.9,-3.191],[5.9,7.875],[3.733,7.875],[3.733,5.884],[-0.981,8.197],[-4.611,6.967],[-5.899,3.513],[-3.616,-0.615],[3.557,-1.962],[3.557,-2.987],[2.635,-5.211],[-0.073,-5.973],[-3.762,-5.153],[-4.377,-7.115],[0.22,-8.198]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[716.27,665.067],"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 22","np":4,"cix":2,"ix":22,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,2.323],[0,0],[0,0],[0,0],[-0.254,-0.243],[-0.547,0],[-0.41,0.079],[0,0],[0.644,0]],"o":[[0,0],[0,0],[0,0],[0,0.547],[0.254,0.245],[0.351,0],[0,0],[-0.625,0.156],[-2.283,0]],"v":[[-2.664,7.875],[-2.664,-11.359],[-0.293,-11.359],[-0.293,7.67],[0.087,8.855],[1.288,9.222],[2.43,9.104],[2.664,11.125],[0.761,11.359]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[704.103,661.759],"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 23","np":2,"cix":2,"ix":23,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.692,1.024],[0,2.011],[0.692,1.034],[1.327,0],[0.692,-1.035],[0,-1.99],[-0.694,-1.025],[-1.346,0]],"o":[[0.692,-1.025],[0,-1.99],[-0.692,-1.035],[-1.366,0],[-0.694,1.034],[0,2.011],[0.692,1.024],[1.348,0]],"v":[[3.059,4.552],[4.099,0],[3.059,-4.537],[0.029,-6.089],[-3.059,-4.537],[-4.099,0],[-3.059,4.552],[-0.001,6.089]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[1.132,1.396],[0,2.694],[-1.142,1.395],[-2.108,0],[-1.132,-1.396],[0,-2.693],[1.132,-1.405],[2.109,0]],"o":[[-1.132,-1.395],[0,-2.693],[1.141,-1.396],[2.089,0],[1.132,1.395],[0,2.675],[-1.132,1.405],[-2.107,0]],"v":[[-4.86,6.134],[-6.558,0],[-4.845,-6.133],[0.029,-8.227],[4.86,-6.133],[6.558,0],[4.86,6.119],[-0.001,8.227]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[689.376,665.097],"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 24","np":4,"cix":2,"ix":24,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.654,0.995],[0,1.971],[0.683,1.025],[1.347,0],[0.595,-0.293],[0.546,-0.625],[0,0],[-0.673,-0.302],[-0.742,0]],"o":[[0.653,-0.996],[0,-1.991],[-0.684,-1.024],[-0.723,0],[-0.595,0.293],[0,0],[0.487,0.546],[0.674,0.303],[1.288,0]],"v":[[2.855,1.728],[3.835,-2.722],[2.811,-7.246],[-0.234,-8.782],[-2.21,-8.344],[-3.922,-6.967],[-3.922,1.494],[-2.181,2.766],[-0.058,3.221]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-1.035,-1.464],[0,-2.616],[1.083,-1.435],[1.951,0],[0.694,0.312],[0.487,0.566],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.761,0.409],[-0.957,0]],"o":[[1.034,1.464],[0,2.557],[-1.084,1.434],[-0.821,0],[-0.692,-0.312],[0,0],[0,0],[0,0],[0,0],[0,0],[0.526,-0.8],[0.761,-0.41],[1.853,0]],"v":[[4.744,-8.87],[6.294,-2.751],[4.67,3.236],[0.118,5.387],[-2.152,4.919],[-3.922,3.602],[-3.922,11.067],[-6.294,11.067],[-6.294,-10.686],[-4.098,-10.686],[-4.098,-8.636],[-2.166,-10.451],[0.411,-11.066]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[672.041,667.936],"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 25","np":4,"cix":2,"ix":25,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.586,-0.253],[0,0],[0.605,0],[0.556,-0.312],[0.449,-0.663],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.717,0]],"o":[[0,0],[-0.742,-0.214],[-0.742,0],[-0.556,0.313],[0,0],[0,0],[0,0],[0,0],[0,0],[1.114,-1.678],[0.704,0]],"v":[[4.187,-7.627],[3.659,-5.314],[1.639,-5.636],[-0.307,-5.168],[-1.815,-3.704],[-1.815,8.007],[-4.187,8.007],[-4.187,-7.686],[-1.992,-7.686],[-1.992,-5.49],[2.253,-8.007]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[656.934,664.936],"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 26","np":2,"cix":2,"ix":26,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.273,-3.221],[0,0],[0.702,0.849],[1.229,0]],"o":[[0,0],[-0.019,-1.522],[-0.703,-0.849],[-2.402,0]],"v":[[-3.967,-1.245],[4.026,-1.245],[2.943,-4.801],[0.044,-6.076]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.078,-0.331],[0,0],[-0.81,-0.888],[-1.483,0],[-1.21,0.781],[0,0],[0.887,-0.264],[0.975,0],[1.24,1.444],[0,2.576],[-1.142,1.444],[-2.069,0],[-1.113,-1.327],[0,-2.38]],"o":[[0,0],[0.078,1.757],[0.81,0.889],[1.464,0],[0,0],[-0.625,0.488],[-0.889,0.264],[-2.225,0],[-1.24,-1.444],[0,-2.596],[1.142,-1.445],[1.991,0],[1.112,1.328],[0,0.567]],"v":[[6.308,0.688],[-3.997,0.688],[-2.664,4.654],[0.776,5.987],[4.786,4.815],[5.695,6.69],[3.425,7.816],[0.63,8.212],[-4.568,6.045],[-6.427,0.014],[-4.714,-6.045],[0.102,-8.212],[4.758,-6.221],[6.427,-0.659]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[640.932,665.082],"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 27","np":4,"cix":2,"ix":27,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.819,0.869],[0,1.717],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.468,-0.547],[-0.977,0],[-0.547,0.176],[0,0],[0.878,0]],"o":[[-0.82,-0.869],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,1.17],[0.469,0.546],[0.526,0],[0,0],[-0.721,0.235],[-1.601,0]],"v":[[-1.067,8.958],[-2.297,5.079],[-2.297,-3.616],[-4.962,-3.616],[-4.962,-5.636],[-2.297,-5.636],[-2.297,-10.261],[0.075,-10.261],[0.075,-5.636],[4.758,-5.636],[4.758,-3.616],[0.075,-3.616],[0.075,4.729],[0.777,7.305],[2.944,8.125],[4.554,7.86],[4.963,9.91],[2.563,10.261]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[625.94,662.887],"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 28","np":2,"cix":2,"ix":28,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.85,-0.888],[0,-1.561],[0,0],[0,0],[0,0],[0.537,0.498],[1.034,0],[0.625,-0.243],[0.624,-0.507],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.913,0]],"o":[[0.849,0.888],[0,0],[0,0],[0,0],[0,-0.956],[-0.537,-0.498],[-0.742,0],[-0.625,0.245],[0,0],[0,0],[0,0],[0,0],[0,0],[1.288,-1.405],[1.523,0]],"v":[[4.641,-6.704],[5.914,-3.031],[5.914,8.036],[3.543,8.036],[3.543,-2.825],[2.738,-5.006],[0.381,-5.752],[-1.669,-5.387],[-3.542,-4.26],[-3.542,8.036],[-5.914,8.036],[-5.914,-7.656],[-3.717,-7.656],[-3.717,-5.928],[1.083,-8.036]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[610.642,664.906],"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 29","np":2,"cix":2,"ix":29,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-1.216,-10.598],[1.216,-10.598],[1.216,10.598],[-1.216,10.598]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[596.692,662.344],"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 30","np":2,"cix":2,"ix":30,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[6.383,8.402],[6.383,10.598],[-6.383,10.598],[-6.383,-10.598],[6.03,-10.598],[6.03,-8.403],[-3.952,-8.403],[-3.952,-1.347],[3.513,-1.347],[3.513,0.878],[-3.952,0.878],[-3.952,8.402]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054999998504,0.630999995213,0.902000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[575.681,662.345],"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 31","np":2,"cix":2,"ix":31,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":42,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":0,"nm":"E Interpolation_01 Linear Interpolation","refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[328,267,0],"ix":2},"a":{"a":0,"k":[375,244,0],"ix":1},"s":{"a":0,"k":[70,70,100],"ix":6}},"ao":0,"w":750,"h":488,"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":0,"nm":"E Interpolation_02 Bezier Interpolation","refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[965.75,267,0],"ix":2},"a":{"a":0,"k":[375,244,0],"ix":1},"s":{"a":0,"k":[70,70,100],"ix":6}},"ao":0,"w":750,"h":488,"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":0,"nm":"E Interpolation_03 Hold Interpolation","refId":"comp_3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1597.5,267,0],"ix":2},"a":{"a":0,"k":[375,244,0],"ix":1},"s":{"a":0,"k":[70,70,100],"ix":6}},"ao":0,"w":750,"h":488,"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":0,"nm":"E Interpolation_04 Spatial Bezier Interpolation","refId":"comp_4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[328,809.5,0],"ix":2},"a":{"a":0,"k":[375,244,0],"ix":1},"s":{"a":0,"k":[70,70,100],"ix":6}},"ao":0,"w":750,"h":488,"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":0,"nm":"E Interpolation_05 Rove Across Time","refId":"comp_5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[965.75,809.5,0],"ix":2},"a":{"a":0,"k":[375,244,0],"ix":1},"s":{"a":0,"k":[70,70,100],"ix":6}},"ao":0,"w":750,"h":488,"ip":0,"op":120,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/UXSample_1920x1080/F Masks_All_01_1920x1080.json b/submodules/RLottie/Sources/rlottie/example/resource/UXSample_1920x1080/F Masks_All_01_1920x1080.json deleted file mode 100644 index 40895fb58e..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/UXSample_1920x1080/F Masks_All_01_1920x1080.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.1.18","fr":30,"ip":0,"op":41,"w":1920,"h":1080,"nm":"F Masks_All_01","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 6","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":90,"ix":10},"p":{"a":0,"k":[1924.5,540,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[60,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-994,4],[1024,4]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":90,"ix":10},"p":{"a":0,"k":[643.833,540,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[60,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-994,4],[1024,4]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":90,"ix":10},"p":{"a":0,"k":[1284.167,540,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[60,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-994,4],[1024,4]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Shape Layer 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":90,"ix":10},"p":{"a":0,"k":[3.5,540,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[60,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-994,4],[1024,4]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[960,540,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-994,4],[1024,4]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]},{"id":"comp_1","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Rectantgle Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[375,244,0],"ix":2},"a":{"a":0,"k":[962,504,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[823,461],[823,547],[1101,547],[1101,461]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[139,139],[-139,139],[-139,-139],[139,-139]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054901960784,0.63137254902,0.901960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[962,504],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]},{"id":"comp_2","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Rectantgle Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[375,244,0],"ix":2},"a":{"a":0,"k":[962,504,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[823,365],[823,643],[1101,643],[1101,365]],"c":true},"ix":1},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":15,"s":[0],"e":[100]},{"t":30}],"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[139,139],[-139,139],[-139,-139],[139,-139]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054901960784,0.63137254902,0.901960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[962,504],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]},{"id":"comp_3","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Rectantgle Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[375,244,0],"ix":2},"a":{"a":0,"k":[962,504,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[823,365],[823,643],[1101,643],[1101,365]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[1060,471],[1060,537],[1126,537],[1126,471]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":20,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[1060,471],[1060,537],[1126,537],[1126,471]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[823,365],[823,643],[1101,643],[1101,365]],"c":true}]},{"t":40}],"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[139,139],[-139,139],[-139,-139],[139,-139]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054901960784,0.63137254902,0.901960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[962,504],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]},{"id":"comp_4","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Rectantgle Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[375,244,0],"ix":2},"a":{"a":0,"k":[962,504,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"s","pt":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[823,365],[823,643],[1101,643],[1101,365]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[1060,471],[1060,537],[1126,537],[1126,471]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":20,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[1060,471],[1060,537],[1126,537],[1126,471]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[823,365],[823,643],[1101,643],[1101,365]],"c":true}]},{"t":40}],"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[139,139],[-139,139],[-139,-139],[139,-139]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054901960784,0.63137254902,0.901960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[962,504],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]},{"id":"comp_5","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Rectantgle Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[375,244,0],"ix":2},"a":{"a":0,"k":[962,504,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"i","pt":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":0,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[823,365],[823,643],[1101,643],[1101,365]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[1087,365],[1087,643],[1101,643],[1101,365]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":20,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[1087,365],[1087,643],[1101,643],[1101,365]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[823,365],[823,643],[1101,643],[1101,365]],"c":true}]},{"t":40}],"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"},{"inv":false,"mode":"i","pt":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":0,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[823,365],[823,643],[1101,643],[1101,365]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[823,365],[823,643],[836.5,643],[836.5,365]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":20,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[823,365],[823,643],[836.5,643],[836.5,365]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[823,365],[823,643],[1101,643],[1101,365]],"c":true}]},{"t":40}],"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 2"}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[139,139],[-139,139],[-139,-139],[139,-139]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054901960784,0.63137254902,0.901960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[962,504],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]},{"id":"comp_6","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Rectantgle Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[375,244,0],"ix":2},"a":{"a":0,"k":[962,504,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[823,403],[823,519.5],[994,519.5],[994,403]],"c":true},"ix":1},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[100],"e":[90]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":20,"s":[90],"e":[100]},{"t":40}],"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"},{"inv":false,"mode":"a","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[1009.5,484],[1009.5,643],[1101,643],[1101,484]],"c":true},"ix":1},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[100],"e":[80]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":20,"s":[80],"e":[100]},{"t":40}],"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 2"},{"inv":false,"mode":"l","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[862,365],[862,626],[1073.5,626],[1073.5,365]],"c":true},"ix":1},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[80],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":20,"s":[100],"e":[80]},{"t":40}],"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 3"}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[139,139],[-139,139],[-139,-139],[139,-139]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054901960784,0.63137254902,0.901960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[962,504],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]}],"fonts":{"list":[{"fName":"SamsungOne-500","fFamily":"SamsungOne","fStyle":"500","ascent":70.9991455078125}]},"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"div","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":10,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[960,540,0],"ix":2},"a":{"a":0,"k":[960,540,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":1920,"h":1080,"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":5,"nm":"F Masks_01 Mask Path","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[39.375,62,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[14.576,14.576,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":150,"f":"SamsungOne-500","t":"F Masks_01 Mask Path","j":0,"tr":44,"lh":180,"ls":0,"fc":[0.05,0.63,0.9]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":0,"op":42,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":5,"nm":"F Masks_02 Mask Opacity","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[679.25,62,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[14.576,14.576,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":150,"f":"SamsungOne-500","t":"F Masks_02 Mask Opacity","j":0,"tr":44,"lh":180,"ls":0,"fc":[0.05,0.63,0.9]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":0,"op":42,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":5,"nm":"F Masks_03 Add","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1320,62,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[14.576,14.576,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":150,"f":"SamsungOne-500","t":"F Masks_03 Add","j":0,"tr":44,"lh":180,"ls":0,"fc":[0.05,0.63,0.9]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":0,"op":42,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":5,"nm":"F Masks_04 Subtract","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[39.375,601.938,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[14.576,14.576,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":150,"f":"SamsungOne-500","t":"F Masks_04 Subtract","j":0,"tr":44,"lh":180,"ls":0,"fc":[0.05,0.63,0.9]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":0,"op":42,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":5,"nm":"F Masks_05 Intersect","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[679.25,601.938,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[14.576,14.576,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":150,"f":"SamsungOne-500","t":"F Masks_05 Intersect","j":0,"tr":44,"lh":180,"ls":0,"fc":[0.05,0.63,0.9]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":0,"op":42,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":5,"nm":"F Masks_06 Lighten","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1320,601.938,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[14.576,14.576,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":150,"f":"SamsungOne-500","t":"F Masks_06 Lighten","j":0,"tr":44,"lh":180,"ls":0,"fc":[0.05,0.63,0.9]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":0,"op":42,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":0,"nm":"F Masks_01 Mask Path","refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[328,267,0],"ix":2},"a":{"a":0,"k":[375,244,0],"ix":1},"s":{"a":0,"k":[90,90,100],"ix":6}},"ao":0,"w":750,"h":488,"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":0,"nm":"F Masks_02 Mask Opacity","refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[965.75,267,0],"ix":2},"a":{"a":0,"k":[375,244,0],"ix":1},"s":{"a":0,"k":[90,90,100],"ix":6}},"ao":0,"w":750,"h":488,"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":0,"nm":"F Masks_03 Add","refId":"comp_3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1597.5,267,0],"ix":2},"a":{"a":0,"k":[375,244,0],"ix":1},"s":{"a":0,"k":[90,90,100],"ix":6}},"ao":0,"w":750,"h":488,"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":0,"nm":"F Masks_04 Subtract","refId":"comp_4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[328,809.5,0],"ix":2},"a":{"a":0,"k":[375,244,0],"ix":1},"s":{"a":0,"k":[90,90,100],"ix":6}},"ao":0,"w":750,"h":488,"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":0,"nm":"F Masks_05 Intersect","refId":"comp_5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[965.75,809.5,0],"ix":2},"a":{"a":0,"k":[375,244,0],"ix":1},"s":{"a":0,"k":[90,90,100],"ix":6}},"ao":0,"w":750,"h":488,"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":0,"nm":"F Masks_06 Lighten","refId":"comp_6","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1597.5,809.5,0],"ix":2},"a":{"a":0,"k":[375,244,0],"ix":1},"s":{"a":0,"k":[90,90,100],"ix":6}},"ao":0,"w":750,"h":488,"ip":0,"op":6300,"st":0,"bm":0}],"markers":[],"chars":[{"ch":"F","size":150,"style":"500","w":48.7,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[7.654,0],[16.415,0],[16.415,-30.716],[42.096,-30.716],[42.096,-37.967],[16.415,-37.967],[16.415,-60.526],[44.211,-60.526],[44.211,-67.877],[7.654,-67.877]],"c":true},"ix":2},"nm":"F","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"F","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":" ","size":150,"style":"500","w":21.2,"data":{},"fFamily":"SamsungOne"},{"ch":"M","size":150,"style":"500","w":80.4,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[1.712,-6.848],[0,0],[2.82,8.359],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.201,8.459],[0,0],[-3.223,-9.567],[0,0],[0,0],[0,0],[-2.316,7.956],[0,0],[-0.504,-9.467]],"o":[[0,0],[0,0],[0,0],[0,0],[-3.021,8.56],[0,0],[-1.712,-7.05],[0,0],[0,0],[0,0],[0,0],[0,0],[0.604,-10.172],[0,0],[1.913,8.057],[0,0],[0,0],[0,0],[3.424,-9.366],[0,0],[-0.101,8.459],[0,0]],"v":[[66.568,0],[75.128,0],[70.898,-67.877],[59.72,-67.877],[47.635,-35.046],[40.485,-12.186],[40.182,-12.186],[33.334,-35.046],[21.753,-67.877],[10.574,-67.877],[5.841,0],[14.2,0],[16.013,-29.105],[17.322,-59.116],[17.523,-59.116],[25.378,-32.73],[36.356,-0.403],[43.002,-0.403],[54.987,-33.334],[63.547,-59.116],[63.849,-59.116],[64.856,-29.81]],"c":true},"ix":2},"nm":"M","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"M","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"a","size":150,"style":"500","w":48.2,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,4.23],[0,0],[14.905,0],[4.028,-2.618],[0,0],[-4.532,0],[0,-4.028],[0,0],[0,-11.783],[-9.869,0],[-2.719,3.827],[0,0],[0,0]],"o":[[-0.604,-3.323],[0,0],[0,-9.769],[-6.143,0],[0,0],[3.424,-2.216],[9.97,0],[0,0],[-18.832,-0.101],[0,7.05],[6.949,0],[0,0],[0,0],[0,0]],"v":[[42.398,0],[41.592,-11.682],[41.592,-29.91],[23.062,-49.85],[7.05,-45.52],[9.064,-39.679],[21.753,-43.304],[32.831,-32.025],[32.831,-31.018],[3.525,-12.891],[18.43,1.108],[33.334,-6.143],[33.636,-6.143],[34.341,0]],"c":true},"ix":2},"nm":"a","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0.302,-0.906],[6.345,0],[0,5.74],[-9.668,-0.201]],"o":[[0,0.906],[-1.41,4.129],[-4.532,0],[0,-9.467],[0,0]],"v":[[33.032,-16.415],[32.529,-13.596],[20.746,-5.438],[12.387,-13.898],[33.032,-24.875]],"c":true},"ix":2},"nm":"a","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"a","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"s","size":150,"style":"500","w":39.6,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-5.338,0],[0,8.56],[8.459,3.223],[0,4.028],[-5.237,0],[-1.913,-1.208],[0,0],[4.935,0],[0,-7.855],[-8.762,-3.122],[0,-4.23],[6.445,0],[2.618,1.712]],"o":[[3.424,2.014],[11.581,0],[0,-7.251],[-6.345,-2.417],[0,-3.625],[4.532,0],[0,0],[-2.719,-1.611],[-10.474,0],[0,5.841],[6.546,2.417],[0,4.028],[-4.431,0],[0,0]],"v":[[3.928,-2.316],[17.624,1.007],[35.852,-13.596],[23.062,-28.299],[13.797,-36.557],[21.954,-43.204],[31.924,-40.384],[34.14,-46.829],[22.156,-49.85],[5.338,-35.55],[18.228,-21.753],[27.292,-12.79],[17.825,-5.539],[6.143,-9.064]],"c":true},"ix":2},"nm":"s","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"s","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"k","size":150,"style":"500","w":48.6,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[1.208,-1.712],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.41,1.712],[0,0],[0,0]],"v":[[16.113,-71.503],[7.352,-71.503],[7.352,0],[16.113,0],[16.113,-18.329],[20.645,-23.364],[37.463,0],[48.239,0],[26.788,-28.702],[45.621,-48.743],[34.946,-48.743],[20.645,-31.924],[16.315,-26.385],[16.113,-26.385]],"c":true},"ix":2},"nm":"k","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"k","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"_","size":150,"style":"500","w":50,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[0,7.553],[0,12.589],[50.354,12.589],[50.354,7.553]],"c":true},"ix":2},"nm":"_","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"_","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"0","size":150,"style":"500","w":51.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[13.797,0],[0,-21.954],[-12.79,0],[0,22.256]],"o":[[-13.293,0],[0.201,21.652],[14.502,0],[0,-20.847]],"v":[[26.385,-66.568],[3.625,-32.529],[25.278,1.108],[48.038,-33.435]],"c":true},"ix":2},"nm":"0","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-7.755,0],[0,-16.113],[9.064,0],[0,17.02]],"o":[[9.164,0],[0,16.718],[-8.057,0],[0,-17.825]],"v":[[25.882,-59.72],[39.175,-33.032],[25.781,-5.74],[12.488,-32.428]],"c":true},"ix":2},"nm":"0","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"0","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"6","size":150,"style":"500","w":51.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[2.618,-0.403],[5.438,-5.338],[0,-12.891],[-13.998,0],[0,11.984],[11.581,0],[3.122,-4.129],[0,0],[-13.898,2.316],[-1.813,-0.101]],"o":[[-1.611,0],[-8.258,1.007],[-6.445,6.445],[0,17.02],[13.596,0],[0,-12.79],[-7.251,0],[0,0],[1.511,-10.776],[2.518,-0.403],[0,0]],"v":[[41.895,-66.467],[35.449,-65.964],[14.502,-56.296],[3.424,-26.788],[26.587,1.108],[48.34,-21.954],[28.601,-43.103],[12.79,-35.55],[12.488,-35.55],[35.248,-58.813],[41.895,-59.216]],"c":true},"ix":2},"nm":"6","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[7.654,0],[0.201,10.776],[-0.604,1.007],[-5.338,0],[0,-9.366]],"o":[[-9.265,0],[0,-1.611],[2.417,-4.733],[8.157,0],[0,9.366]],"v":[[26.587,-5.74],[12.186,-24.472],[13.193,-28.4],[25.882,-36.456],[39.377,-21.451]],"c":true},"ix":2},"nm":"6","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"6","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"L","size":150,"style":"500","w":47.2,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[7.654,0],[45.419,0],[45.419,-7.352],[16.415,-7.352],[16.415,-67.877],[7.654,-67.877]],"c":true},"ix":2},"nm":"L","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"L","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"i","size":150,"style":"500","w":23.4,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[16.214,0],[16.214,-48.743],[7.352,-48.743],[7.352,0]],"c":true},"ix":2},"nm":"i","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[3.323,0],[0,-3.122],[-3.122,0],[0.101,3.021]],"o":[[-3.223,0],[0,3.021],[3.525,0],[0,-3.122]],"v":[[11.783,-67.978],[6.244,-62.439],[11.581,-57.001],[17.221,-62.439]],"c":true},"ix":2},"nm":"i","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"i","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"g","size":150,"style":"500","w":55.9,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[8.459,0],[0,-16.516],[-12.085,0],[-2.719,4.532],[0,0],[0,0],[9.064,0],[3.223,2.014],[0,0],[-5.841,0],[-4.733,4.431],[0,11.179],[0,0],[-0.201,3.525]],"o":[[0,0],[0,0],[-2.115,-4.028],[-11.179,0],[0,13.495],[7.553,0],[0,0],[0,0],[0,12.286],[-6.042,0],[0,0],[3.928,2.618],[6.143,0],[4.733,-4.23],[0,0],[0,-5.942],[0,0]],"v":[[41.592,-48.743],[41.19,-41.391],[40.988,-41.391],[25.781,-49.85],[3.827,-23.969],[24.573,-0.201],[40.082,-8.359],[40.283,-8.359],[40.283,-2.921],[24.573,14.099],[10.272,10.272],[8.057,17.02],[24.271,21.048],[41.995,15.207],[48.944,-7.05],[48.944,-35.349],[49.347,-48.743]],"c":true},"ix":2},"nm":"g","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0.504,-1.511],[5.438,0],[0,9.567],[-8.459,0],[-1.611,-5.136],[0,-1.511]],"o":[[0,1.511],[-1.913,5.64],[-9.567,0],[0,-11.279],[6.445,0],[0.403,1.208],[0,0]],"v":[[40.182,-20.746],[39.478,-16.013],[27.191,-6.949],[12.79,-24.472],[27.292,-42.902],[39.679,-33.536],[40.182,-29.507]],"c":true},"ix":2},"nm":"g","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"g","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"h","size":150,"style":"500","w":55.5,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-0.504,1.208],[-5.74,0],[0,-7.855],[0,0],[0,0],[0,0],[6.546,0],[2.618,-1.511],[1.41,-2.518],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,-1.712],[1.611,-4.834],[8.359,0],[0,0],[0,0],[0,0],[0,-16.818],[-3.323,0],[-2.719,1.511],[0,0],[0,0],[0,0],[0,0]],"v":[[7.352,0],[16.214,0],[16.214,-29.407],[16.818,-33.636],[28.702,-42.499],[39.981,-27.997],[39.981,0],[48.843,0],[48.843,-29.004],[31.824,-49.85],[22.76,-47.333],[16.415,-41.089],[16.214,-41.089],[16.214,-71.503],[7.352,-71.503]],"c":true},"ix":2},"nm":"h","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"h","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"t","size":150,"style":"500","w":33.1,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-2.518,-2.618],[-4.129,0],[-1.712,0.705],[0,0],[2.316,0],[0,6.042],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,5.74],[2.115,2.417],[3.424,0],[0,0],[-1.108,0.302],[-4.935,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[9.366,-60.425],[9.366,-48.743],[1.813,-48.743],[1.813,-41.995],[9.366,-41.995],[9.366,-15.408],[12.79,-2.719],[22.357,1.007],[30.212,-0.201],[29.81,-6.848],[24.673,-6.244],[18.027,-15.71],[18.027,-41.995],[30.716,-41.995],[30.716,-48.743],[18.027,-48.743],[18.027,-62.741]],"c":true},"ix":2},"nm":"t","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"t","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"e","size":150,"style":"500","w":50.1,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,1.813],[15.912,0],[0,-14.703],[-15.005,0],[-3.122,1.41],[0,0],[6.345,0],[0.201,11.984]],"o":[[0.101,-0.906],[0,-8.963],[-14.2,0],[0,14.703],[7.755,0],[0,0],[-3.323,1.41],[-8.862,0],[0,0]],"v":[[46.527,-22.76],[46.829,-26.889],[26.688,-49.85],[3.827,-23.566],[27.795,1.007],[44.009,-2.014],[42.499,-8.359],[29.004,-5.841],[12.286,-22.76]],"c":true},"ix":2},"nm":"e","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[-8.963,0],[0.101,-5.64]],"o":[[0.705,-6.143],[9.97,0],[0,0]],"v":[[12.387,-29.105],[25.983,-43.506],[38.269,-29.105]],"c":true},"ix":2},"nm":"e","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"e","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"n","size":150,"style":"500","w":55.5,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-0.403,1.108],[-5.841,0],[0,-7.855],[0,0],[0,0],[0,0],[6.747,0],[2.417,-4.633],[0,0],[0,0],[0,0],[0,-5.035]],"o":[[0,0],[0,0],[0,-1.511],[1.511,-4.935],[8.359,0],[0,0],[0,0],[0,0],[0,-16.718],[-8.057,0],[0,0],[0,0],[0,0],[0.302,4.028],[0,0]],"v":[[7.352,0],[16.214,0],[16.214,-29.306],[16.818,-33.435],[28.702,-42.499],[39.981,-28.098],[39.981,0],[48.843,0],[48.843,-29.105],[31.622,-49.85],[15.509,-40.686],[15.308,-40.686],[14.804,-48.743],[6.949,-48.743],[7.352,-35.55]],"c":true},"ix":2},"nm":"n","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"n","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"5","size":150,"style":"500","w":51.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-3.726,0],[-0.101,-8.459],[8.359,0],[2.719,1.611],[0,0],[-7.15,0],[0,12.79],[5.136,2.921],[5.035,0],[1.511,-0.201],[0,0],[0,0]],"o":[[0,0],[0,0],[2.417,-0.302],[13.092,0],[0,8.762],[-5.942,0],[0,0],[3.122,2.014],[14.2,0],[0,-8.258],[-4.028,-2.417],[-2.417,0],[0,0],[0,0],[0,0]],"v":[[43.607,-65.46],[12.286,-65.46],[8.057,-34.039],[17.12,-34.744],[35.953,-20.242],[20.444,-6.042],[6.445,-9.668],[4.23,-2.921],[20.544,1.108],[44.916,-21.249],[35.55,-38.068],[21.451,-41.592],[16.113,-41.19],[18.631,-58.008],[43.607,-58.008]],"c":true},"ix":2},"nm":"5","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"5","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"I","size":150,"style":"500","w":23.9,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[7.654,-67.877],[7.654,0],[16.415,0],[16.415,-67.877]],"c":true},"ix":2},"nm":"I","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"I","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"r","size":150,"style":"500","w":33.1,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-0.201,1.208],[-6.244,0],[-0.906,-0.201],[0,0],[1.007,0],[2.216,-6.546],[0,0],[0,0],[0,0],[0,-5.74]],"o":[[0,0],[0,0],[0,-1.511],[1.208,-6.647],[1.208,0],[0,0],[-0.806,-0.201],[-5.942,0],[0,0],[0,0],[0,0],[0.302,4.532],[0,0]],"v":[[7.352,0],[16.113,0],[16.113,-25.983],[16.516,-30.112],[28.4,-41.492],[31.421,-41.19],[31.421,-49.548],[28.903,-49.85],[15.408,-39.175],[15.005,-39.175],[14.703,-48.743],[6.949,-48.743],[7.352,-33.536]],"c":true},"ix":2},"nm":"r","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"r","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"c","size":150,"style":"500","w":44.2,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[5.035,0],[0,11.279],[-11.179,0],[-2.115,-1.208],[0,0],[5.237,0],[0,-15.005],[-14.703,0],[-2.316,1.208]],"o":[[-2.518,1.108],[-9.668,0],[0,-10.172],[4.834,0],[0,0],[-2.417,-1.208],[-15.912,0],[0,14.905],[6.546,0],[0,0]],"v":[[40.585,-8.459],[29.709,-6.042],[12.79,-24.271],[30.011,-42.7],[40.283,-40.384],[42.297,-47.232],[30.011,-49.75],[3.827,-23.868],[28.098,1.007],[42.096,-1.813]],"c":true},"ix":2},"nm":"c","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"c","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"4","size":150,"style":"500","w":51.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[40.283,0],[40.283,-17.825],[49.448,-17.825],[49.448,-24.774],[40.283,-24.774],[40.283,-65.46],[30.716,-65.46],[1.511,-23.666],[1.511,-17.825],[31.924,-17.825],[31.924,0]],"c":true},"ix":2},"nm":"4","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-2.014,3.827],[0,0],[0,-3.424],[0,0]],"o":[[0,0],[0,0],[1.813,-3.021],[0,0],[-0.201,3.424],[0,0],[0,0]],"v":[[10.474,-24.774],[10.474,-24.976],[26.486,-47.232],[31.924,-56.9],[32.227,-56.9],[31.924,-46.628],[31.924,-24.774]],"c":true},"ix":2},"nm":"4","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"4","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"S","size":150,"style":"500","w":49.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-6.546,0],[0,10.474],[11.481,4.431],[0,6.345],[-9.265,0],[-2.216,-1.208],[0,0],[6.949,0],[0,-10.574],[-11.078,-3.928],[0,-6.345],[8.963,0],[3.928,2.417]],"o":[[3.625,2.417],[16.013,0],[0,-9.97],[-9.366,-3.625],[0,-4.633],[6.143,0],[0,0],[-3.021,-1.712],[-13.193,0],[0,9.567],[9.164,3.525],[0,6.848],[-6.042,0],[0,0]],"v":[[4.23,-3.323],[21.552,1.007],[45.319,-18.53],[27.997,-38.47],[14.502,-51.562],[27.292,-61.734],[40.182,-58.511],[42.599,-65.662],[27.594,-68.985],[5.64,-50.555],[23.566,-31.32],[36.356,-17.825],[22.156,-6.244],[6.445,-10.675]],"c":true},"ix":2},"nm":"S","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"S","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"u","size":150,"style":"500","w":55.1,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0.504,-1.309],[5.942,0],[0,9.265],[0,0],[0,0],[0,0],[-7.654,0],[-2.316,3.928],[0,0],[0,0],[0,0],[0,5.035]],"o":[[0,0],[0,0],[0,1.611],[-1.611,3.928],[-8.057,0],[0,0],[0,0],[0,0],[0,17.12],[8.661,0],[0,0],[0,0],[0,0],[-0.302,-3.827],[0,0]],"v":[[48.138,-48.743],[39.276,-48.743],[39.276,-18.832],[38.47,-14.301],[26.788,-6.244],[15.912,-21.753],[15.912,-48.743],[7.05,-48.743],[7.05,-20.242],[23.868,1.108],[39.981,-7.956],[40.182,-7.956],[40.686,0],[48.541,0],[48.138,-13.293]],"c":true},"ix":2},"nm":"u","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"u","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"b","size":150,"style":"500","w":56.9,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-7.05,0],[0,17.422],[12.085,0],[3.122,-5.438],[0,0],[0,0],[0,0],[0,0],[0.201,-3.323]],"o":[[0,0],[0,0],[3.625,6.445],[10.876,0],[0.101,-14.804],[-7.855,0],[0,0],[0,0],[0,0],[0,0],[0,4.33],[0,0]],"v":[[14.603,0],[15.005,-8.057],[15.308,-8.057],[31.622,1.108],[53.476,-24.976],[32.932,-49.85],[16.315,-40.887],[16.113,-40.887],[16.113,-71.503],[7.352,-71.503],[7.352,-12.589],[6.949,0]],"c":true},"ix":2},"nm":"b","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[-0.201,1.007],[-6.042,0],[0,-9.769],[9.265,0],[1.712,6.143],[0,1.108]],"o":[[0,-1.41],[1.813,-6.747],[9.467,0],[0,11.179],[-6.445,0],[-0.201,-1.007],[0,0]],"v":[[16.113,-28.299],[16.617,-31.924],[30.112,-42.801],[44.614,-24.673],[29.81,-5.942],[16.516,-16.315],[16.113,-19.537]],"c":true},"ix":2},"nm":"b","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"b","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"3","size":150,"style":"500","w":51.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-7.352,0],[0,10.474],[8.057,1.611],[0,0],[0,6.747],[12.891,0],[3.424,-2.518],[0,0],[-5.237,0],[0,-5.237],[6.445,0],[0,0],[0,0],[0,0],[-0.101,-9.164],[11.38,0],[2.518,1.611]],"o":[[3.223,2.115],[15.71,0],[0,-9.164],[0,0],[8.057,-2.921],[0,-7.956],[-7.05,0],[0,0],[2.82,-2.014],[8.157,0],[0,7.755],[0,0],[0,0],[0,0],[8.56,0],[0.101,5.438],[-6.143,0],[0,0]],"v":[[4.23,-3.323],[21.249,1.108],[45.117,-18.53],[30.515,-35.349],[30.515,-35.55],[42.599,-50.958],[23.868,-66.568],[6.747,-61.533],[9.064,-55.087],[22.156,-59.418],[33.636,-49.548],[19.034,-38.47],[14.099,-38.47],[14.099,-31.824],[19.034,-31.824],[35.953,-18.732],[21.149,-6.042],[6.647,-10.172]],"c":true},"ix":2},"nm":"3","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"3","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"A","size":150,"style":"500","w":61.2,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[42.7,-21.35],[49.951,0],[59.317,0],[36.154,-67.877],[25.58,-67.877],[2.518,0],[11.581,0],[18.631,-21.35]],"c":true},"ix":2},"nm":"A","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-1.007,4.028],[0,0],[-1.511,-4.431],[0,0]],"o":[[0,0],[1.309,-4.129],[0,0],[1.007,3.928],[0,0],[0,0]],"v":[[20.444,-28.198],[27.09,-47.836],[30.515,-60.123],[30.716,-60.123],[34.241,-47.736],[40.887,-28.198]],"c":true},"ix":2},"nm":"A","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"A","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"d","size":150,"style":"500","w":56.4,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[7.452,0],[-0.101,-16.214],[-11.783,0],[-2.719,5.438],[0,0],[0,0],[0,0],[0,4.33],[0,0]],"o":[[0,0],[0,0],[-2.216,-3.928],[-11.884,0],[0,14.804],[7.956,0],[0,0],[0,0],[0,0],[-0.302,-3.323],[0,0],[0,0]],"v":[[40.585,-71.503],[40.585,-42.398],[40.384,-42.398],[25.681,-49.85],[3.827,-23.666],[24.673,1.108],[41.29,-8.459],[41.492,-8.459],[41.895,0],[49.85,0],[49.448,-12.589],[49.448,-71.503]],"c":true},"ix":2},"nm":"d","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0.302,-1.208],[5.942,0],[0,9.869],[-9.164,0],[-1.309,-5.64],[0,-1.108]],"o":[[0,1.41],[-1.611,6.647],[-9.567,0],[0,-10.776],[6.647,0],[0.302,1.108],[0,0]],"v":[[40.585,-20.444],[40.182,-16.617],[27.191,-6.042],[12.79,-24.069],[27.393,-42.902],[40.182,-32.629],[40.585,-28.903]],"c":true},"ix":2},"nm":"d","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"d","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"2","size":150,"style":"500","w":51.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,12.085],[14.099,0],[4.532,-3.827],[0,0],[-5.942,0],[0,-6.647],[16.718,-15.912],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[13.797,-13.293],[0,-9.366],[-7.553,0],[0,0],[3.021,-2.518],[9.769,0],[-0.101,9.869],[0,0],[0,0],[0,0]],"v":[[46.326,0],[46.326,-7.352],[16.919,-7.352],[16.919,-7.553],[22.156,-12.387],[44.714,-47.534],[24.673,-66.568],[6.143,-59.921],[8.963,-53.677],[22.861,-59.216],[35.852,-46.426],[11.481,-12.186],[4.532,-5.438],[4.532,0]],"c":true},"ix":2},"nm":"2","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"2","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"O","size":150,"style":"500","w":68.9,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[18.53,0],[0,-21.552],[-17.926,0],[0,23.364]],"o":[[-18.127,0],[0,20.544],[17.322,0],[0,-20.142]],"v":[[35.147,-68.985],[3.625,-33.334],[34.14,1.108],[65.662,-34.644]],"c":true},"ix":2},"nm":"O","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-14.502,0],[0,-13.495],[13.898,0],[0,14.502]],"o":[[14.603,0],[0,15.408],[-13.797,0],[0,-14.905]],"v":[[34.744,-61.835],[56.396,-34.241],[34.644,-6.042],[12.991,-33.536]],"c":true},"ix":2},"nm":"O","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"O","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"p","size":150,"style":"500","w":56.9,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[-6.445,0],[0,17.523],[11.783,0],[3.625,-5.942],[0,0],[0,0],[0,0],[0,-6.244]],"o":[[0,0],[0,0],[0,0],[2.921,4.834],[11.481,0],[0,-14.804],[-7.956,0],[0,0],[0,0],[0,0],[0.201,4.633],[0,0]],"v":[[7.352,19.94],[16.113,19.94],[16.113,-6.546],[16.315,-6.546],[31.32,1.108],[53.476,-25.076],[32.831,-49.85],[15.509,-40.384],[15.308,-40.384],[14.905,-48.743],[6.949,-48.743],[7.352,-32.831]],"c":true},"ix":2},"nm":"p","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[-0.302,1.108],[-6.042,0],[0,-9.769],[9.366,0],[1.611,6.143],[0,1.309]],"o":[[0,-1.208],[1.712,-6.647],[9.366,0],[0,11.179],[-6.345,0],[-0.201,-1.108],[0,0]],"v":[[16.113,-28.198],[16.718,-31.824],[30.112,-42.801],[44.614,-24.673],[29.81,-5.841],[16.516,-16.214],[16.113,-19.839]],"c":true},"ix":2},"nm":"p","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"p","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"y","size":150,"style":"500","w":48.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,-0.504],[0.403,-0.906],[2.417,-1.913],[2.216,-0.705],[0,0],[-4.33,3.827],[-6.345,16.718],[0,0],[0,0],[0,0],[0.906,-2.921],[0,0],[1.108,3.223],[0,0]],"o":[[0,0],[0.403,1.108],[0,0.504],[-2.014,4.532],[-2.618,2.216],[0,0],[2.216,-0.403],[6.042,-5.237],[0,0],[0,0],[0,0],[-1.208,3.525],[0,0],[-0.806,-2.921],[0,0],[0,0]],"v":[[0.906,-48.743],[18.933,-3.827],[19.537,-1.511],[18.832,0.604],[11.38,10.474],[3.625,14.804],[5.841,22.256],[16.718,16.516],[33.435,-13.998],[46.729,-48.743],[37.363,-48.743],[27.695,-20.142],[24.573,-9.97],[24.371,-9.97],[21.249,-19.94],[10.574,-48.743]],"c":true},"ix":2},"nm":"y","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"y","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"1","size":150,"style":"500","w":51.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[23.767,0],[32.327,0],[32.327,-65.46],[24.774,-65.46],[10.474,-57.806],[12.186,-51.059],[23.566,-57.202],[23.767,-57.202]],"c":true},"ix":2},"nm":"1","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"P","size":150,"style":"500","w":53.2,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-2.618,0],[-4.633,4.935],[0,6.143],[3.726,3.223],[8.661,0],[4.23,-0.705]],"o":[[0,0],[0,0],[2.014,0.504],[8.56,0],[3.424,-3.525],[0,-6.042],[-4.028,-3.625],[-7.05,0],[0,0]],"v":[[7.654,0],[16.415,0],[16.415,-27.191],[23.465,-26.587],[44.211,-34.039],[49.448,-48.541],[43.506,-62.741],[24.472,-68.381],[7.654,-67.072]],"c":true},"ix":2},"nm":"P","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[-3.827,0],[0,-8.963],[10.574,0],[1.913,0.504]],"o":[[1.511,-0.403],[9.668,0],[0,9.366],[-2.921,0],[0,0]],"v":[[16.415,-60.727],[24.673,-61.432],[40.686,-48.138],[23.666,-33.636],[16.415,-34.341]],"c":true},"ix":2},"nm":"P","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"P","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"}]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/UXSample_1920x1080/F Masks_All_02_1920x1080.json b/submodules/RLottie/Sources/rlottie/example/resource/UXSample_1920x1080/F Masks_All_02_1920x1080.json deleted file mode 100644 index e4e2462df9..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/UXSample_1920x1080/F Masks_All_02_1920x1080.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.1.18","fr":30,"ip":0,"op":41,"w":1920,"h":1080,"nm":"F Masks_All_02","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 6","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":90,"ix":10},"p":{"a":0,"k":[1924.5,540,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[60,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-994,4],[1024,4]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":90,"ix":10},"p":{"a":0,"k":[643.833,540,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[60,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-994,4],[1024,4]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":90,"ix":10},"p":{"a":0,"k":[1284.167,540,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[60,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-994,4],[1024,4]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Shape Layer 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":90,"ix":10},"p":{"a":0,"k":[3.5,540,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[60,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-994,4],[1024,4]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[960,540,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-994,4],[1024,4]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]},{"id":"comp_1","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Rectantgle Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[375,244,0],"ix":2},"a":{"a":0,"k":[962,504,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[823,403],[823,519.5],[994,519.5],[994,403]],"c":true},"ix":1},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[100],"e":[20]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":20,"s":[20],"e":[100]},{"t":40}],"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"},{"inv":false,"mode":"a","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[1009.5,484],[1009.5,643],[1101,643],[1101,484]],"c":true},"ix":1},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[100],"e":[50]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":20,"s":[50],"e":[100]},{"t":40}],"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 2"},{"inv":false,"mode":"d","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[862,365],[862,626],[1073.5,626],[1073.5,365]],"c":true},"ix":1},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[80],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":20,"s":[100],"e":[80]},{"t":40}],"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 3"}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[139,139],[-139,139],[-139,-139],[139,-139]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054901960784,0.63137254902,0.901960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[962,504],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]},{"id":"comp_2","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Rectantgle Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[375,244,0],"ix":2},"a":{"a":0,"k":[962,504,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[823,403],[823,519.5],[994,519.5],[994,403]],"c":true},"ix":1},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":20,"s":[100],"e":[100]},{"t":40}],"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"},{"inv":false,"mode":"a","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[1009.5,484],[1009.5,643],[1101,643],[1101,484]],"c":true},"ix":1},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[100],"e":[80]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":20,"s":[80],"e":[100]},{"t":40}],"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 2"},{"inv":false,"mode":"f","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[862,365],[862,626],[1073.5,626],[1073.5,365]],"c":true},"ix":1},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[80],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":20,"s":[100],"e":[80]},{"t":40}],"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 3"}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[139,139],[-139,139],[-139,-139],[139,-139]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054901960784,0.63137254902,0.901960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[962,504],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]},{"id":"comp_3","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Rectantgle Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[375,244,0],"ix":2},"a":{"a":0,"k":[962,504,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[904,446],[904,562],[1020,562],[1020,446]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":0,"s":[0],"e":[200]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":20,"s":[200],"e":[0]},{"t":40}],"ix":4},"nm":"Mask 1"}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[139,139],[-139,139],[-139,-139],[139,-139]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054901960784,0.63137254902,0.901960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[962,504],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]},{"id":"comp_4","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Rectantgle Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[375,244,0],"ix":2},"a":{"a":0,"k":[962,504,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[904,446],[904,562],[1020,562],[1020,446]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[139,139],[-139,139],[-139,-139],[139,-139]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054901960784,0.63137254902,0.901960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[962,504],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6300,"st":0,"bm":0}]}],"fonts":{"list":[{"fName":"SamsungOne-500","fFamily":"SamsungOne","fStyle":"500","ascent":70.9991455078125}]},"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"div","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":10,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[960,540,0],"ix":2},"a":{"a":0,"k":[960,540,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":1920,"h":1080,"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":5,"nm":"F Masks_07 Darken","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[39.375,62,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[14.576,14.576,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":150,"f":"SamsungOne-500","t":"F Masks_07 Darken","j":0,"tr":44,"lh":180,"ls":0,"fc":[0.05,0.63,0.9]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":0,"op":42,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":5,"nm":"F Masks_08 Difference","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[679.25,62,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[14.576,14.576,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":150,"f":"SamsungOne-500","t":"F Masks_08 Difference","j":0,"tr":44,"lh":180,"ls":0,"fc":[0.05,0.63,0.9]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":0,"op":42,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":5,"nm":"F Masks_09 Expansion","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1320,62,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[14.576,14.576,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":150,"f":"SamsungOne-500","t":"F Masks_09 Expansion","j":0,"tr":44,"lh":180,"ls":0,"fc":[0.05,0.63,0.9]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":0,"op":42,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":5,"nm":"F Masks_10 Feather","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[39.375,601.938,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[14.576,14.576,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":150,"f":"SamsungOne-500","t":"F Masks_10 Feather","j":0,"tr":44,"lh":180,"ls":0,"fc":[0.05,0.63,0.9]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":0,"op":42,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":0,"nm":"F Masks_07 Darken_750x488","refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[328,267,0],"ix":2},"a":{"a":0,"k":[375,244,0],"ix":1},"s":{"a":0,"k":[90,90,100],"ix":6}},"ao":0,"w":750,"h":488,"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":0,"nm":"F Masks_08 Difference_750x488","refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[965.75,267,0],"ix":2},"a":{"a":0,"k":[375,244,0],"ix":1},"s":{"a":0,"k":[90,90,100],"ix":6}},"ao":0,"w":750,"h":488,"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":0,"nm":"F Masks_09 Expansion_750x488","refId":"comp_3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1597.5,267,0],"ix":2},"a":{"a":0,"k":[375,244,0],"ix":1},"s":{"a":0,"k":[90,90,100],"ix":6}},"ao":0,"w":750,"h":488,"ip":0,"op":6300,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":0,"nm":"F Masks_10 Feather_750x488","refId":"comp_4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[328,809.5,0],"ix":2},"a":{"a":0,"k":[375,244,0],"ix":1},"s":{"a":0,"k":[90,90,100],"ix":6}},"ao":0,"w":750,"h":488,"ip":0,"op":6300,"st":0,"bm":0}],"markers":[],"chars":[{"ch":"F","size":150,"style":"500","w":48.7,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[7.654,0],[16.415,0],[16.415,-30.716],[42.096,-30.716],[42.096,-37.967],[16.415,-37.967],[16.415,-60.526],[44.211,-60.526],[44.211,-67.877],[7.654,-67.877]],"c":true},"ix":2},"nm":"F","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"F","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":" ","size":150,"style":"500","w":21.2,"data":{},"fFamily":"SamsungOne"},{"ch":"M","size":150,"style":"500","w":80.4,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[1.712,-6.848],[0,0],[2.82,8.359],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.201,8.459],[0,0],[-3.223,-9.567],[0,0],[0,0],[0,0],[-2.316,7.956],[0,0],[-0.504,-9.467]],"o":[[0,0],[0,0],[0,0],[0,0],[-3.021,8.56],[0,0],[-1.712,-7.05],[0,0],[0,0],[0,0],[0,0],[0,0],[0.604,-10.172],[0,0],[1.913,8.057],[0,0],[0,0],[0,0],[3.424,-9.366],[0,0],[-0.101,8.459],[0,0]],"v":[[66.568,0],[75.128,0],[70.898,-67.877],[59.72,-67.877],[47.635,-35.046],[40.485,-12.186],[40.182,-12.186],[33.334,-35.046],[21.753,-67.877],[10.574,-67.877],[5.841,0],[14.2,0],[16.013,-29.105],[17.322,-59.116],[17.523,-59.116],[25.378,-32.73],[36.356,-0.403],[43.002,-0.403],[54.987,-33.334],[63.547,-59.116],[63.849,-59.116],[64.856,-29.81]],"c":true},"ix":2},"nm":"M","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"M","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"a","size":150,"style":"500","w":48.2,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,4.23],[0,0],[14.905,0],[4.028,-2.618],[0,0],[-4.532,0],[0,-4.028],[0,0],[0,-11.783],[-9.869,0],[-2.719,3.827],[0,0],[0,0]],"o":[[-0.604,-3.323],[0,0],[0,-9.769],[-6.143,0],[0,0],[3.424,-2.216],[9.97,0],[0,0],[-18.832,-0.101],[0,7.05],[6.949,0],[0,0],[0,0],[0,0]],"v":[[42.398,0],[41.592,-11.682],[41.592,-29.91],[23.062,-49.85],[7.05,-45.52],[9.064,-39.679],[21.753,-43.304],[32.831,-32.025],[32.831,-31.018],[3.525,-12.891],[18.43,1.108],[33.334,-6.143],[33.636,-6.143],[34.341,0]],"c":true},"ix":2},"nm":"a","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0.302,-0.906],[6.345,0],[0,5.74],[-9.668,-0.201]],"o":[[0,0.906],[-1.41,4.129],[-4.532,0],[0,-9.467],[0,0]],"v":[[33.032,-16.415],[32.529,-13.596],[20.746,-5.438],[12.387,-13.898],[33.032,-24.875]],"c":true},"ix":2},"nm":"a","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"a","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"s","size":150,"style":"500","w":39.6,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-5.338,0],[0,8.56],[8.459,3.223],[0,4.028],[-5.237,0],[-1.913,-1.208],[0,0],[4.935,0],[0,-7.855],[-8.762,-3.122],[0,-4.23],[6.445,0],[2.618,1.712]],"o":[[3.424,2.014],[11.581,0],[0,-7.251],[-6.345,-2.417],[0,-3.625],[4.532,0],[0,0],[-2.719,-1.611],[-10.474,0],[0,5.841],[6.546,2.417],[0,4.028],[-4.431,0],[0,0]],"v":[[3.928,-2.316],[17.624,1.007],[35.852,-13.596],[23.062,-28.299],[13.797,-36.557],[21.954,-43.204],[31.924,-40.384],[34.14,-46.829],[22.156,-49.85],[5.338,-35.55],[18.228,-21.753],[27.292,-12.79],[17.825,-5.539],[6.143,-9.064]],"c":true},"ix":2},"nm":"s","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"s","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"k","size":150,"style":"500","w":48.6,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[1.208,-1.712],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.41,1.712],[0,0],[0,0]],"v":[[16.113,-71.503],[7.352,-71.503],[7.352,0],[16.113,0],[16.113,-18.329],[20.645,-23.364],[37.463,0],[48.239,0],[26.788,-28.702],[45.621,-48.743],[34.946,-48.743],[20.645,-31.924],[16.315,-26.385],[16.113,-26.385]],"c":true},"ix":2},"nm":"k","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"k","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"_","size":150,"style":"500","w":50,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[0,7.553],[0,12.589],[50.354,12.589],[50.354,7.553]],"c":true},"ix":2},"nm":"_","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"_","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"1","size":150,"style":"500","w":51.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[23.767,0],[32.327,0],[32.327,-65.46],[24.774,-65.46],[10.474,-57.806],[12.186,-51.059],[23.566,-57.202],[23.767,-57.202]],"c":true},"ix":2},"nm":"1","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"0","size":150,"style":"500","w":51.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[13.797,0],[0,-21.954],[-12.79,0],[0,22.256]],"o":[[-13.293,0],[0.201,21.652],[14.502,0],[0,-20.847]],"v":[[26.385,-66.568],[3.625,-32.529],[25.278,1.108],[48.038,-33.435]],"c":true},"ix":2},"nm":"0","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-7.755,0],[0,-16.113],[9.064,0],[0,17.02]],"o":[[9.164,0],[0,16.718],[-8.057,0],[0,-17.825]],"v":[[25.882,-59.72],[39.175,-33.032],[25.781,-5.74],[12.488,-32.428]],"c":true},"ix":2},"nm":"0","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"0","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"e","size":150,"style":"500","w":50.1,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,1.813],[15.912,0],[0,-14.703],[-15.005,0],[-3.122,1.41],[0,0],[6.345,0],[0.201,11.984]],"o":[[0.101,-0.906],[0,-8.963],[-14.2,0],[0,14.703],[7.755,0],[0,0],[-3.323,1.41],[-8.862,0],[0,0]],"v":[[46.527,-22.76],[46.829,-26.889],[26.688,-49.85],[3.827,-23.566],[27.795,1.007],[44.009,-2.014],[42.499,-8.359],[29.004,-5.841],[12.286,-22.76]],"c":true},"ix":2},"nm":"e","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[-8.963,0],[0.101,-5.64]],"o":[[0.705,-6.143],[9.97,0],[0,0]],"v":[[12.387,-29.105],[25.983,-43.506],[38.269,-29.105]],"c":true},"ix":2},"nm":"e","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"e","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"t","size":150,"style":"500","w":33.1,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-2.518,-2.618],[-4.129,0],[-1.712,0.705],[0,0],[2.316,0],[0,6.042],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,5.74],[2.115,2.417],[3.424,0],[0,0],[-1.108,0.302],[-4.935,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[9.366,-60.425],[9.366,-48.743],[1.813,-48.743],[1.813,-41.995],[9.366,-41.995],[9.366,-15.408],[12.79,-2.719],[22.357,1.007],[30.212,-0.201],[29.81,-6.848],[24.673,-6.244],[18.027,-15.71],[18.027,-41.995],[30.716,-41.995],[30.716,-48.743],[18.027,-48.743],[18.027,-62.741]],"c":true},"ix":2},"nm":"t","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"t","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"h","size":150,"style":"500","w":55.5,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-0.504,1.208],[-5.74,0],[0,-7.855],[0,0],[0,0],[0,0],[6.546,0],[2.618,-1.511],[1.41,-2.518],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,-1.712],[1.611,-4.834],[8.359,0],[0,0],[0,0],[0,0],[0,-16.818],[-3.323,0],[-2.719,1.511],[0,0],[0,0],[0,0],[0,0]],"v":[[7.352,0],[16.214,0],[16.214,-29.407],[16.818,-33.636],[28.702,-42.499],[39.981,-27.997],[39.981,0],[48.843,0],[48.843,-29.004],[31.824,-49.85],[22.76,-47.333],[16.415,-41.089],[16.214,-41.089],[16.214,-71.503],[7.352,-71.503]],"c":true},"ix":2},"nm":"h","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"h","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"r","size":150,"style":"500","w":33.1,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-0.201,1.208],[-6.244,0],[-0.906,-0.201],[0,0],[1.007,0],[2.216,-6.546],[0,0],[0,0],[0,0],[0,-5.74]],"o":[[0,0],[0,0],[0,-1.511],[1.208,-6.647],[1.208,0],[0,0],[-0.806,-0.201],[-5.942,0],[0,0],[0,0],[0,0],[0.302,4.532],[0,0]],"v":[[7.352,0],[16.113,0],[16.113,-25.983],[16.516,-30.112],[28.4,-41.492],[31.421,-41.19],[31.421,-49.548],[28.903,-49.85],[15.408,-39.175],[15.005,-39.175],[14.703,-48.743],[6.949,-48.743],[7.352,-33.536]],"c":true},"ix":2},"nm":"r","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"r","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"9","size":150,"style":"500","w":51.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-3.223,0.504],[-5.035,4.935],[0,14.401],[13.394,0],[0,-12.387],[-11.783,0],[-3.625,4.431],[0,0],[4.33,-3.928],[5.136,-0.705],[1.913,0.201]],"o":[[2.115,0.101],[7.05,-0.806],[6.445,-6.244],[0,-16.718],[-13.394,0],[0,11.179],[6.546,0],[0,0],[-1.208,7.755],[-3.726,3.525],[-3.021,0.302],[0,0]],"v":[[9.668,1.007],[17.825,0.504],[36.859,-8.258],[48.138,-38.974],[26.486,-66.568],[4.129,-43.304],[23.465,-23.264],[38.873,-30.313],[39.175,-30.313],[30.515,-12.891],[16.818,-6.546],[9.668,-6.244]],"c":true},"ix":2},"nm":"9","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-7.553,0],[0,-11.179],[0.504,-0.806],[5.942,0],[0,8.157]],"o":[[9.265,0],[0,1.41],[-2.316,3.928],[-7.654,0],[0,-9.265]],"v":[[25.781,-59.821],[39.175,-40.082],[38.37,-36.859],[25.479,-30.011],[12.891,-43.909]],"c":true},"ix":2},"nm":"9","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"9","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"E","size":150,"style":"500","w":49.2,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[42.801,-39.075],[16.415,-39.075],[16.415,-60.526],[44.312,-60.526],[44.312,-67.877],[7.654,-67.877],[7.654,0],[45.822,0],[45.822,-7.352],[16.415,-7.352],[16.415,-31.824],[42.801,-31.824]],"c":true},"ix":2},"nm":"E","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"E","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"x","size":150,"style":"500","w":46.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[-1.611,2.921],[0,0],[-1.913,-2.82],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[1.611,-2.921],[0,0],[1.813,2.719],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[1.813,-2.921],[0,0],[1.712,2.921],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.611,2.618],[0,0],[-1.611,-2.719],[0,0],[0,0]],"v":[[1.611,-48.743],[18.127,-24.875],[0.806,0],[10.574,0],[17.624,-10.977],[22.76,-19.437],[22.961,-19.437],[28.198,-10.977],[35.349,0],[45.419,0],[28.299,-25.177],[44.916,-48.743],[35.349,-48.743],[28.5,-38.37],[23.666,-30.313],[23.364,-30.313],[18.43,-38.269],[11.481,-48.743]],"c":true},"ix":2},"nm":"x","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"x","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"p","size":150,"style":"500","w":56.9,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[-6.445,0],[0,17.523],[11.783,0],[3.625,-5.942],[0,0],[0,0],[0,0],[0,-6.244]],"o":[[0,0],[0,0],[0,0],[2.921,4.834],[11.481,0],[0,-14.804],[-7.956,0],[0,0],[0,0],[0,0],[0.201,4.633],[0,0]],"v":[[7.352,19.94],[16.113,19.94],[16.113,-6.546],[16.315,-6.546],[31.32,1.108],[53.476,-25.076],[32.831,-49.85],[15.509,-40.384],[15.308,-40.384],[14.905,-48.743],[6.949,-48.743],[7.352,-32.831]],"c":true},"ix":2},"nm":"p","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[-0.302,1.108],[-6.042,0],[0,-9.769],[9.366,0],[1.611,6.143],[0,1.309]],"o":[[0,-1.208],[1.712,-6.647],[9.366,0],[0,11.179],[-6.345,0],[-0.201,-1.108],[0,0]],"v":[[16.113,-28.198],[16.718,-31.824],[30.112,-42.801],[44.614,-24.673],[29.81,-5.841],[16.516,-16.214],[16.113,-19.839]],"c":true},"ix":2},"nm":"p","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"p","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"n","size":150,"style":"500","w":55.5,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-0.403,1.108],[-5.841,0],[0,-7.855],[0,0],[0,0],[0,0],[6.747,0],[2.417,-4.633],[0,0],[0,0],[0,0],[0,-5.035]],"o":[[0,0],[0,0],[0,-1.511],[1.511,-4.935],[8.359,0],[0,0],[0,0],[0,0],[0,-16.718],[-8.057,0],[0,0],[0,0],[0,0],[0.302,4.028],[0,0]],"v":[[7.352,0],[16.214,0],[16.214,-29.306],[16.818,-33.435],[28.702,-42.499],[39.981,-28.098],[39.981,0],[48.843,0],[48.843,-29.105],[31.622,-49.85],[15.509,-40.686],[15.308,-40.686],[14.804,-48.743],[6.949,-48.743],[7.352,-35.55]],"c":true},"ix":2},"nm":"n","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"n","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"i","size":150,"style":"500","w":23.4,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[16.214,0],[16.214,-48.743],[7.352,-48.743],[7.352,0]],"c":true},"ix":2},"nm":"i","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[3.323,0],[0,-3.122],[-3.122,0],[0.101,3.021]],"o":[[-3.223,0],[0,3.021],[3.525,0],[0,-3.122]],"v":[[11.783,-67.978],[6.244,-62.439],[11.581,-57.001],[17.221,-62.439]],"c":true},"ix":2},"nm":"i","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"i","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"o","size":150,"style":"500","w":54.9,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[13.998,0],[0,-16.315],[-13.193,0],[0,18.027]],"o":[[-13.495,0],[0,15.408],[11.783,0],[0,-14.905]],"v":[[27.997,-49.85],[3.827,-23.969],[27.191,1.108],[51.462,-24.774]],"c":true},"ix":2},"nm":"o","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-10.474,0],[0,-8.258],[8.459,0],[0,10.675]],"o":[[10.474,0],[0,10.977],[-8.661,0],[0,-9.265]],"v":[[27.795,-43.204],[42.398,-24.472],[27.594,-5.539],[12.79,-24.271]],"c":true},"ix":2},"nm":"o","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"o","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"8","size":150,"style":"500","w":51.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-13.696,0],[0,11.38],[8.157,3.223],[0,0],[0,5.539],[12.689,0],[0,-10.373],[-7.251,-3.424],[0,0],[0,-8.258]],"o":[[12.488,0],[0,-7.956],[0,0],[8.057,-3.827],[0,-8.157],[-11.481,0],[0,5.64],[0,0],[-8.057,3.424],[0,9.567]],"v":[[25.681,1.108],[47.937,-17.926],[34.744,-34.845],[34.744,-35.147],[45.52,-50.455],[26.486,-66.568],[6.244,-49.146],[16.617,-34.442],[16.718,-34.14],[3.726,-16.617]],"c":true},"ix":2},"nm":"8","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[7.956,0],[-0.302,6.647],[-7.654,2.216],[0,-7.956]],"o":[[-8.359,0],[0,-6.244],[8.862,2.518],[0,6.747]],"v":[[25.882,-5.338],[12.79,-17.825],[24.573,-31.32],[38.974,-17.02]],"c":true},"ix":2},"nm":"8","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[-7.352,0],[0,-5.237],[5.64,-1.913],[0,6.546]],"o":[[7.956,0],[0,5.942],[-7.553,-2.014],[0,-5.64]],"v":[[25.983,-60.223],[37.061,-49.548],[27.09,-37.665],[14.603,-49.75]],"c":true},"ix":2},"nm":"8","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"8","np":6,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"D","size":150,"style":"500","w":66.6,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-6.244,0],[-6.345,6.345],[0,11.078],[6.042,5.539],[12.589,0],[5.338,-0.806]],"o":[[4.431,0.504],[13.193,0],[6.345,-6.244],[0,-10.977],[-5.942,-5.539],[-6.949,0],[0,0]],"v":[[7.654,-0.201],[23.566,0.604],[53.577,-9.164],[63.345,-35.55],[53.778,-59.921],[26.285,-68.381],[7.654,-66.971]],"c":true},"ix":2},"nm":"D","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[-4.532,0],[0.101,-16.013],[18.732,0],[2.216,0.403]],"o":[[2.316,-0.504],[18.53,0],[0,18.329],[-3.424,0],[0,0]],"v":[[16.415,-60.526],[26.688,-61.432],[54.181,-35.248],[25.278,-6.445],[16.415,-6.949]],"c":true},"ix":2},"nm":"D","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"D","np":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"f","size":150,"style":"500","w":29.2,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-7.553,0],[-1.309,-0.604],[0,0],[3.122,0],[3.323,-3.223],[0,-6.848],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,-7.452],[2.518,0],[0,0],[-1.712,-0.705],[-4.129,0],[-4.129,3.928],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[17.02,0],[17.02,-41.995],[28.802,-41.995],[28.802,-48.743],[17.02,-48.743],[17.02,-51.361],[26.486,-65.46],[32.126,-64.352],[33.334,-71.201],[25.781,-72.61],[13.898,-68.079],[8.258,-51.059],[8.258,-48.743],[1.41,-48.743],[1.41,-41.995],[8.258,-41.995],[8.258,0]],"c":true},"ix":2},"nm":"f","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"f","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"c","size":150,"style":"500","w":44.2,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[5.035,0],[0,11.279],[-11.179,0],[-2.115,-1.208],[0,0],[5.237,0],[0,-15.005],[-14.703,0],[-2.316,1.208]],"o":[[-2.518,1.108],[-9.668,0],[0,-10.172],[4.834,0],[0,0],[-2.417,-1.208],[-15.912,0],[0,14.905],[6.546,0],[0,0]],"v":[[40.585,-8.459],[29.709,-6.042],[12.79,-24.271],[30.011,-42.7],[40.283,-40.384],[42.297,-47.232],[30.011,-49.75],[3.827,-23.868],[28.098,1.007],[42.096,-1.813]],"c":true},"ix":2},"nm":"c","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"c","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"},{"ch":"7","size":150,"style":"500","w":51.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[5.74,-65.46],[5.74,-58.109],[37.766,-58.109],[37.766,-57.907],[9.366,0],[18.53,0],[47.031,-59.619],[47.031,-65.46]],"c":true},"ix":2},"nm":"7","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"7","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SamsungOne"}]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/_alarm.json b/submodules/RLottie/Sources/rlottie/example/resource/_alarm.json deleted file mode 100644 index 6834484058..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/_alarm.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.1.13","fr":30,"ip":0,"op":60,"w":300,"h":300,"nm":"alram","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"02","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-36,"ix":10},"p":{"a":0,"k":[114.4,38.435,0],"ix":2},"a":{"a":0,"k":[56,-77,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":0,"s":[100,100,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":11,"s":[100,100,100],"e":[120,120,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":16,"s":[120,120,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":21,"s":[100,100,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":41,"s":[100,100,100],"e":[120,120,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":46,"s":[120,120,100],"e":[100,100,100]},{"t":51}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[40,40],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"타원 패스 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"선 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.803921568627,0.122952704336,0.235112313663,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"칠 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[55,-78],"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":"변형"}],"nm":"타원 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"01","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.883],"y":[1.286]},"o":{"x":[0.377],"y":[-0.667]},"n":["0p883_1p286_0p377_-0p667"],"t":0,"s":[0],"e":[-24.645]},{"i":{"x":[0.79],"y":[1.277]},"o":{"x":[0.479],"y":[1.173]},"n":["0p79_1p277_0p479_1p173"],"t":15,"s":[-24.645],"e":[0]},{"i":{"x":[0.558],"y":[0.987]},"o":{"x":[0.382],"y":[-0.496]},"n":["0p558_0p987_0p382_-0p496"],"t":30,"s":[0],"e":[25.003]},{"i":{"x":[0.606],"y":[1.408]},"o":{"x":[0.368],"y":[-0.01]},"n":["0p606_1p408_0p368_-0p01"],"t":45,"s":[25.003],"e":[0]},{"t":60}],"ix":10},"p":{"a":0,"k":[150,68,0],"ix":2},"a":{"a":0,"k":[79.5,1.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[16.704,0],[2.581,16.778],[-2.692,0.414],[-0.413,-2.691],[-11.823,0],[-1.848,11.914],[-2.689,-0.401],[0.417,-2.69]],"o":[[-16.725,0],[-0.414,-2.692],[2.687,-0.43],[1.836,11.934],[11.809,0],[0.419,-2.692],[2.691,0.419],[-2.6,16.754]],"v":[[0.001,17.505],[-33.318,-11.453],[-29.195,-17.075],[-23.573,-12.952],[0.001,7.645],[23.57,-12.918],[29.199,-17.035],[33.315,-11.407]],"c":true},"ix":2},"nm":"패스 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"칠 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[79.299,148.318],"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":"변형"}],"nm":"그룹 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[14.119,0],[0.276,-14.184],[0,-23.047],[0,0],[6.395,-4.16],[0,-4.302],[-8.032,-0.949],[-18.918,0],[-13.078,1.594],[0,16.065],[6.281,5.042],[0.249,9.057],[0.054,0.809],[18.499,9.322]],"o":[[-14.096,0],[-19.936,9.885],[0,0],[0.038,8.569],[-8.422,5.477],[0,16.08],[13.468,1.59],[18.738,0],[7.804,-0.951],[0,-3.69],[-7.863,-6.311],[-0.022,-0.803],[-1.404,-21.085],[-0.24,-14.216]],"v":[[0,-68.536],[-25.872,-42.896],[-58.71,10.594],[-58.709,10.879],[-68.861,31.212],[-79.051,47.267],[-49.681,66.815],[0.801,68.536],[50.519,66.81],[79.051,47.267],[71.452,33.077],[58.687,8.896],[58.573,6.478],[25.873,-42.831]],"c":true},"ix":2},"nm":"패스 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-8.845,0],[0,-9.001],[0.648,-1.77],[-1.361,-20.457],[-0.019,-0.676],[-9.666,-7.758],[0,-2.278],[38.213,0],[0,10.802],[-3.67,2.386],[0.051,11.472],[0,0.078],[-19.637,6.445],[0,1.993]],"o":[[8.846,0],[0,2],[18.524,6.142],[0.046,0.682],[0.344,12.522],[2.533,2.033],[0,10.802],[-38.213,0],[0,-2.768],[9.499,-6.179],[-0.001,-0.077],[0,-22.126],[-0.643,-1.765],[0,-9.001]],"v":[[0,-58.674],[16.017,-42.376],[14.998,-36.699],[48.734,7.133],[48.831,9.169],[65.28,40.768],[69.191,47.267],[0.801,58.676],[-69.19,47.267],[-63.485,39.478],[-48.849,10.827],[-48.85,10.594],[-15.004,-36.719],[-16.016,-42.376]],"c":true},"ix":2},"nm":"패스 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"패스 병합 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"칠 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[79.301,68.785],"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":"변형"}],"nm":"그룹 2","np":4,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/a_cup_of_coffee.json b/submodules/RLottie/Sources/rlottie/example/resource/a_cup_of_coffee.json deleted file mode 100644 index 9d6b2e521a..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/a_cup_of_coffee.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.1.9","fr":60,"ip":0,"op":72,"w":600,"h":600,"nm":"Comp 1","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"1-Hello Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[300,300,0],"ix":2},"a":{"a":0,"k":[300,300,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-20.4,189.08],[0,0],[0,-44.148],[44.147,0],[2.388,0.215]],"o":[[20.4,189.08],[0,0],[0,0],[0,0],[44.147,0],[0,44.147],[-2.443,0],[0,0]],"v":[[135.532,-154.949],[68.843,154.949],[-128.378,154.949],[-195.068,-154.949],[135.532,-154.949],[215.468,-75.013],[135.532,4.922],[128.284,4.598]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":0,"s":[0],"e":[0]},{"t":35}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":0,"s":[0],"e":[100]},{"t":35}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.19199999641,0.722000002394,0.741000007181,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":9,"ix":5},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[291.348,370.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 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[5.78,8.259],[-5.781,8.258],[5.78,8.259],[0,0]],"o":[[0,0],[5.78,-8.259],[-5.781,-8.258],[5.78,-8.259],[0,0],[0,0]],"v":[[-7.704,55.018],[1.924,41.264],[1.924,13.754],[1.924,-13.754],[1.924,-41.264],[-7.704,-55.018]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[-13.53]},"o":{"x":[0.333],"y":[0]},"n":["0p667_-13p53_0p333_0"],"t":23,"s":[0],"e":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0.156]},"n":["0p667_1_0p333_0p156"],"t":36,"s":[0],"e":[100]},{"t":50}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":23,"s":[0],"e":[100]},{"t":50}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.19199999641,0.722000002394,0.741000007181,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":9,"ix":5},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[330.898,129.578],"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":3,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[5.781,8.259],[-5.781,8.258],[5.781,8.259],[0,0]],"o":[[0,0],[5.781,-8.259],[-5.781,-8.258],[5.781,-8.259],[0,0],[0,0]],"v":[[-7.704,55.018],[1.923,41.264],[1.923,13.754],[1.923,-13.754],[1.923,-41.264],[-7.704,-55.018]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[0.763]},"o":{"x":[0.333],"y":[0]},"n":["0p667_0p763_0p333_0"],"t":10,"s":[0],"e":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[25.626]},"n":["0p667_1_0p333_25p626"],"t":22,"s":[100],"e":[100]},{"t":35}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":10,"s":[0],"e":[100]},{"t":35}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.19199999641,0.722000002394,0.741000007181,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":9,"ix":5},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[262.303,129.578],"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":3,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[5.781,8.259],[-5.781,8.258],[5.781,8.259],[0,0]],"o":[[0,0],[5.781,-8.259],[-5.781,-8.258],[5.781,-8.259],[0,0],[0,0]],"v":[[-7.704,55.018],[1.923,41.264],[1.923,13.754],[1.923,-13.754],[1.923,-41.264],[-7.704,-55.018]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":16,"s":[0],"e":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":27,"s":[100],"e":[100]},{"t":39}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":16,"s":[0],"e":[100]},{"t":39}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.19199999641,0.722000002394,0.741000007181,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":9,"ix":5},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[193.707,129.578],"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 4","np":3,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[5.78,8.259],[-5.781,8.258],[5.78,8.259],[0,0]],"o":[[0,0],[5.78,-8.259],[-5.781,-8.258],[5.78,-8.259],[0,0],[0,0]],"v":[[-7.704,55.018],[1.924,41.264],[1.924,13.754],[1.924,-13.754],[1.924,-41.264],[-7.704,-55.018]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":45,"s":[0],"e":[0]},{"t":72}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":45,"s":[0],"e":[100]},{"t":72}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.19199999641,0.722000002394,0.741000007181,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":9,"ix":5},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[330.898,129.578],"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 5","np":3,"cix":2,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[5.781,8.259],[-5.781,8.258],[5.781,8.259],[0,0]],"o":[[0,0],[5.781,-8.259],[-5.781,-8.258],[5.781,-8.259],[0,0],[0,0]],"v":[[-7.704,55.018],[1.923,41.264],[1.923,13.754],[1.923,-13.754],[1.923,-41.264],[-7.704,-55.018]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":32,"s":[0],"e":[0]},{"t":57}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":32,"s":[0],"e":[100]},{"t":57}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.19199999641,0.722000002394,0.741000007181,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":9,"ix":5},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[262.303,129.578],"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 6","np":3,"cix":2,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[5.781,8.259],[-5.781,8.258],[5.781,8.259],[0,0]],"o":[[0,0],[5.781,-8.259],[-5.781,-8.258],[5.781,-8.259],[0,0],[0,0]],"v":[[-7.704,55.018],[1.923,41.264],[1.923,13.754],[1.923,-13.754],[1.923,-41.264],[-7.704,-55.018]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":38,"s":[0],"e":[0]},{"t":61}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":38,"s":[0],"e":[100]},{"t":61}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.19199999641,0.722000002394,0.741000007181,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":9,"ix":5},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[193.707,129.578],"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 7","np":3,"cix":2,"ix":7,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":72,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/a_mountain.json b/submodules/RLottie/Sources/rlottie/example/resource/a_mountain.json deleted file mode 100644 index 65fed4be0b..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/a_mountain.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.1.15","fr":25,"ip":0,"op":89,"w":300,"h":300,"nm":"MountainCircle","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"CloudA contornos","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":25,"s":[65,155,0],"e":[136,155,0],"to":[11.8333330154419,0,0],"ti":[-11.8333330154419,0,0]},{"t":88}],"ix":2},"a":{"a":0,"k":[21.25,16.25,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.25,0.25,0.667],"y":[1,1,1]},"o":{"x":[0.75,0.75,0.333],"y":[0,0,0]},"n":["0p25_1_0p75_0","0p25_1_0p75_0","0p667_1_0p333_0"],"t":10,"s":[100,0,100],"e":[100,110,100]},{"i":{"x":[0.25,0.25,0.667],"y":[1,1,1]},"o":{"x":[0.75,0.75,0.333],"y":[0,0,0]},"n":["0p25_1_0p75_0","0p25_1_0p75_0","0p667_1_0p333_0"],"t":17,"s":[100,110,100],"e":[100,90,100]},{"i":{"x":[0.25,0.25,0.667],"y":[1,1,1]},"o":{"x":[0.75,0.75,0.333],"y":[0,0,0]},"n":["0p25_1_0p75_0","0p25_1_0p75_0","0p667_1_0p333_0"],"t":22,"s":[100,90,100],"e":[100,100,100]},{"t":24}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.418],[4.418,0],[0,4.418],[-4.418,0]],"o":[[0,4.418],[-4.418,0],[0,-4.418],[4.418,0]],"v":[[8,0],[0,8],[-8,0],[0,-8]],"c":true},"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-78,149],[222,149],[222,-151],[-78,-151]],"c":true},"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-78,-151],[222,-151],[222,149],[-78,149]],"c":true},"ix":2},"nm":"Trazado 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Transformar"}],"nm":"Grupo 1","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"mm","mm":4,"nm":"Combinar trazados 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.929000016755,0.929000016755,0.929000016755,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Relleno 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[34.25,12.25],"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":"Transformar"}],"nm":"Grupo 1","np":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-6.627],[6.627,0],[0,6.627],[-6.627,0]],"o":[[0,6.627],[-6.627,0],[0,-6.627],[6.627,0]],"v":[[12,0],[0,12],[-12,0],[0,-12]],"c":true},"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-72,141],[228,141],[228,-159],[-72,-159]],"c":true},"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-72,-159],[228,-159],[228,141],[-72,141]],"c":true},"ix":2},"nm":"Trazado 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Transformar"}],"nm":"Grupo 1","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"mm","mm":4,"nm":"Combinar trazados 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.929000016755,0.929000016755,0.929000016755,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Relleno 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[28.25,20.25],"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":"Transformar"}],"nm":"Grupo 2","np":4,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-6.075],[6.075,0],[0,6.075],[-6.075,0]],"o":[[0,6.075],[-6.075,0],[0,-6.075],[6.075,0]],"v":[[11,0],[0,11],[-11,0],[0,-11]],"c":true},"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-65,150],[235,150],[235,-150],[-65,-150]],"c":true},"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-65,-150],[235,-150],[235,150],[-65,150]],"c":true},"ix":2},"nm":"Trazado 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Transformar"}],"nm":"Grupo 1","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"mm","mm":4,"nm":"Combinar trazados 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.929000016755,0.929000016755,0.929000016755,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Relleno 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[21.25,11.25],"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":"Transformar"}],"nm":"Grupo 3","np":4,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-7.18],[7.18,0],[0,7.18],[-7.18,0]],"o":[[0,7.18],[-7.18,0],[0,-7.18],[7.18,0]],"v":[[13,0],[0,13],[-13,0],[0,-13]],"c":true},"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-57,145],[243,145],[243,-155],[-57,-155]],"c":true},"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-57,-155],[243,-155],[243,145],[-57,145]],"c":true},"ix":2},"nm":"Trazado 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Transformar"}],"nm":"Grupo 1","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"mm","mm":4,"nm":"Combinar trazados 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.929000016755,0.929000016755,0.929000016755,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Relleno 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[13.25,16.25],"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":"Transformar"}],"nm":"Grupo 4","np":4,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":89,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Circle 4","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[150,150,0],"ix":2},"a":{"a":0,"k":[137.25,137.25,0],"ix":1},"s":{"a":0,"k":[97.333,97.333,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-75.663],[75.663,0],[0,75.663],[-75.663,0]],"o":[[0,75.663],[-75.663,0],[0,-75.663],[75.663,0]],"v":[[137,0],[0,137],[-137,0],[0,-137]],"c":true},"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-150,150],[150,150],[150,-150],[-150,-150]],"c":true},"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-150,-150],[150,-150],[150,150],[-150,150]],"c":true},"ix":2},"nm":"Trazado 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Transformar"}],"nm":"Grupo 1","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"mm","mm":4,"nm":"Combinar trazados 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.081999999402,0.626999978458,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Relleno 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[137.25,137.25],"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":"Transformar"}],"nm":"Grupo 1","np":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":89,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Sun contornos","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.25,"y":1},"o":{"x":0.75,"y":0},"n":"0p25_1_0p75_0","t":11,"s":[182,-13,0],"e":[182,83,0],"to":[0,16,0],"ti":[0,-13.6666669845581,0]},{"i":{"x":0.25,"y":1},"o":{"x":0.75,"y":0},"n":"0p25_1_0p75_0","t":29,"s":[182,83,0],"e":[182,69,0],"to":[0,13.6666669845581,0],"ti":[0,2.33333325386047,0]},{"t":33}],"ix":2},"a":{"a":0,"k":[20.25,20.25,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-11.05],[11.05,0],[0,0]],"o":[[0,11.05],[0,0],[11.05,0]],"v":[[10,0],[-10,20],[-10,-20]],"c":true},"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-192,207],[108,207],[108,-93],[-192,-93]],"c":true},"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-192,-93],[108,-93],[108,207],[-192,207]],"c":true},"ix":2},"nm":"Trazado 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Transformar"}],"nm":"Grupo 1","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"mm","mm":4,"nm":"Combinar trazados 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.952999997606,0.611999990426,0.071000005685,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Relleno 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[30.25,20.25],"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":"Transformar"}],"nm":"Grupo 1","np":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-11.046],[11.046,0],[0,11.046],[-11.046,0]],"o":[[0,11.046],[-11.046,0],[0,-11.046],[11.046,0]],"v":[[20,0],[0,20],[-20,0],[0,-20]],"c":true},"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-182,207],[118,207],[118,-93],[-182,-93]],"c":true},"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-182,-93],[118,-93],[118,207],[-182,207]],"c":true},"ix":2},"nm":"Trazado 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Transformar"}],"nm":"Grupo 1","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"mm","mm":4,"nm":"Combinar trazados 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.944999964097,0.769000004787,0.059000000299,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Relleno 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[20.25,20.25],"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":"Transformar"}],"nm":"Grupo 2","np":4,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":89,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Circle 2","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[150,150,0],"ix":2},"a":{"a":0,"k":[137.25,137.25,0],"ix":1},"s":{"a":0,"k":[97.333,97.333,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-75.663],[75.663,0],[0,75.663],[-75.663,0]],"o":[[0,75.663],[-75.663,0],[0,-75.663],[75.663,0]],"v":[[137,0],[0,137],[-137,0],[0,-137]],"c":true},"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-150,150],[150,150],[150,-150],[-150,-150]],"c":true},"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-150,-150],[150,-150],[150,150],[-150,150]],"c":true},"ix":2},"nm":"Trazado 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Transformar"}],"nm":"Grupo 1","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"mm","mm":4,"nm":"Combinar trazados 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.081999999402,0.626999978458,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Relleno 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[137.25,137.25],"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":"Transformar"}],"nm":"Grupo 1","np":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":89,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"MountainF contornos","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[150,280.135,0],"ix":2},"a":{"a":0,"k":[113.88,151.115,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.25,0.25,0.667],"y":[1,1,1]},"o":{"x":[0.75,0.75,0.333],"y":[0,0,0]},"n":["0p25_1_0p75_0","0p25_1_0p75_0","0p667_1_0p333_0"],"t":0,"s":[100,0,100],"e":[100,110,100]},{"i":{"x":[0.25,0.25,0.667],"y":[1,1,1]},"o":{"x":[0.75,0.75,0.333],"y":[0,0,0]},"n":["0p25_1_0p75_0","0p25_1_0p75_0","0p667_1_0p333_0"],"t":7,"s":[100,110,100],"e":[100,90,100]},{"i":{"x":[0.25,0.25,0.667],"y":[1,1,1]},"o":{"x":[0.75,0.75,0.333],"y":[0,0,0]},"n":["0p25_1_0p75_0","0p25_1_0p75_0","0p667_1_0p333_0"],"t":12,"s":[100,90,100],"e":[100,100,100]},{"t":14}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[30.77,0],[14.62,5.52],[0,0],[-0.921,-0.9]],"o":[[-22.529,17.55],[-16.54,0],[0,0],[1.17,-0.03],[0,0]],"v":[[64.32,48.55],[-17.32,76.55],[-64.32,68.01],[-64.32,-76.52],[-61.039,-75.22]],"c":true},"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-167.32,93.55],[132.68,93.55],[132.68,-206.45],[-167.32,-206.45]],"c":true},"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-167.32,-206.45],[132.68,-206.45],[132.68,93.55],[-167.32,93.55]],"c":true},"ix":2},"nm":"Trazado 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Transformar"}],"nm":"Grupo 1","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"mm","mm":4,"nm":"Combinar trazados 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.172999991623,0.243000000598,0.313999998803,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Relleno 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[131.2,77.429],"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":"Transformar"}],"nm":"Grupo 1","np":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[30.77,0],[23.34,38.3],[0,0],[-1.987,-1.96]],"o":[[-22.529,17.55],[-48.13,0],[0,0],[1.634,-2.264],[0,0]],"v":[[97.635,48.864],[15.995,76.865],[-97.635,12.995],[-34.613,-74.329],[-27.725,-74.905]],"c":true},"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-134.005,93.865],[165.995,93.865],[165.995,-206.135],[-134.005,-206.135]],"c":true},"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-134.005,-206.135],[165.995,-206.135],[165.995,93.865],[-134.005,93.865]],"c":true},"ix":2},"nm":"Trazado 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Transformar"}],"nm":"Grupo 1","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"mm","mm":4,"nm":"Combinar trazados 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.204000001795,0.286000001197,0.368999974868,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Relleno 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[97.885,77.115],"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":"Transformar"}],"nm":"Grupo 2","np":4,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":89,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"CloudB contornos","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":32,"s":[181.824,192.221,0],"e":[216.824,192.221,0],"to":[5.83333349227905,0,0],"ti":[-5.83333349227905,0,0]},{"t":88}],"ix":2},"a":{"a":0,"k":[14.733,8.87,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.25,0.25,0.667],"y":[1,1,1]},"o":{"x":[0.75,0.75,0.333],"y":[0,0,0]},"n":["0p25_1_0p75_0","0p25_1_0p75_0","0p667_1_0p333_0"],"t":17,"s":[100,0,100],"e":[100,110,100]},{"i":{"x":[0.25,0.25,0.667],"y":[1,1,1]},"o":{"x":[0.75,0.75,0.333],"y":[0,0,0]},"n":["0p25_1_0p75_0","0p25_1_0p75_0","0p667_1_0p333_0"],"t":24,"s":[100,110,100],"e":[100,90,100]},{"i":{"x":[0.25,0.25,0.667],"y":[1,1,1]},"o":{"x":[0.75,0.75,0.333],"y":[0,0,0]},"n":["0p25_1_0p75_0","0p25_1_0p75_0","0p667_1_0p333_0"],"t":29,"s":[100,90,100],"e":[100,100,100]},{"t":31}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.392,-3.246],[3.246,0.392],[-0.391,3.246],[-3.246,-0.392]],"o":[[-0.391,3.246],[-3.246,-0.391],[0.391,-3.246],[3.246,0.391]],"v":[[5.877,0.708],[-0.709,5.878],[-5.878,-0.709],[0.708,-5.878]],"c":true},"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-190.038,106.159],[109.962,106.159],[109.962,-193.841],[-190.038,-193.841]],"c":true},"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-190.038,-193.841],[109.962,-193.841],[109.962,106.159],[-190.038,106.159]],"c":true},"ix":2},"nm":"Trazado 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Transformar"}],"nm":"Grupo 1","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"mm","mm":4,"nm":"Combinar trazados 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.808000033509,0.808000033509,0.808000033509,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Relleno 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[22.948,10.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":"Transformar"}],"nm":"Grupo 1","np":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.245,-2.028],[2.029,0.245],[-0.244,2.029],[-2.029,-0.244]],"o":[[-0.244,2.029],[-2.029,-0.245],[0.244,-2.029],[2.029,0.245]],"v":[[3.673,0.442],[-0.443,3.673],[-3.674,-0.443],[0.443,-3.674]],"c":true},"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-191.304,110.478],[108.696,110.478],[108.696,-189.522],[-191.304,-189.522]],"c":true},"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-191.304,-189.522],[108.696,-189.522],[108.696,110.478],[-191.304,110.478]],"c":true},"ix":2},"nm":"Trazado 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Transformar"}],"nm":"Grupo 1","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"mm","mm":4,"nm":"Combinar trazados 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.808000033509,0.808000033509,0.808000033509,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Relleno 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[24.213,6.171],"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":"Transformar"}],"nm":"Grupo 2","np":4,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.391,-3.246],[3.246,0.391],[-0.39,3.246],[-3.246,-0.391]],"o":[[-0.392,3.246],[-3.246,-0.392],[0.392,-3.246],[3.246,0.392]],"v":[[5.878,0.708],[-0.709,5.878],[-5.879,-0.708],[0.708,-5.878]],"c":true},"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-173.609,105.902],[126.391,105.902],[126.391,-194.098],[-173.609,-194.098]],"c":true},"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-173.609,-194.098],[126.391,-194.098],[126.391,105.902],[-173.609,105.902]],"c":true},"ix":2},"nm":"Trazado 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Transformar"}],"nm":"Grupo 1","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"mm","mm":4,"nm":"Combinar trazados 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.808000033509,0.808000033509,0.808000033509,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Relleno 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[6.518,10.746],"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":"Transformar"}],"nm":"Grupo 3","np":4,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.538,-4.464],[4.464,0.539],[-0.538,4.464],[-4.464,-0.538]],"o":[[-0.537,4.463],[-4.463,-0.538],[0.538,-4.463],[4.463,0.538]],"v":[[8.082,0.974],[-0.975,8.081],[-8.082,-0.974],[0.975,-8.082]],"c":true},"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-182.779,107.779],[117.221,107.779],[117.221,-192.221],[-182.779,-192.221]],"c":true},"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-182.779,-192.221],[117.221,-192.221],[117.221,107.779],[-182.779,107.779]],"c":true},"ix":2},"nm":"Trazado 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Transformar"}],"nm":"Grupo 1","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"mm","mm":4,"nm":"Combinar trazados 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.808000033509,0.808000033509,0.808000033509,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Relleno 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[15.689,8.87],"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":"Transformar"}],"nm":"Grupo 4","np":4,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":89,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Circle 3","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[150,150,0],"ix":2},"a":{"a":0,"k":[137.25,137.25,0],"ix":1},"s":{"a":0,"k":[96.667,96.667,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-75.663],[75.663,0],[0,75.663],[-75.663,0]],"o":[[0,75.663],[-75.663,0],[0,-75.663],[75.663,0]],"v":[[137,0],[0,137],[-137,0],[0,-137]],"c":true},"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-150,150],[150,150],[150,-150],[-150,-150]],"c":true},"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-150,-150],[150,-150],[150,150],[-150,150]],"c":true},"ix":2},"nm":"Trazado 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Transformar"}],"nm":"Grupo 1","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"mm","mm":4,"nm":"Combinar trazados 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.081999999402,0.626999978458,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Relleno 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[137.25,137.25],"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":"Transformar"}],"nm":"Grupo 1","np":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":89,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"MountainB contornos","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[174.57,280.73,0],"ix":2},"a":{"a":0,"k":[0.249,105.98,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.25,0.25,0.667],"y":[1,1,1]},"o":{"x":[0.75,0.75,0.333],"y":[0,0,0]},"n":["0p25_1_0p75_0","0p25_1_0p75_0","0p667_1_0p333_0"],"t":0,"s":[100,0,100],"e":[100,110,100]},{"i":{"x":[0.25,0.25,0.667],"y":[1,1,1]},"o":{"x":[0.75,0.75,0.333],"y":[0,0,0]},"n":["0p25_1_0p75_0","0p25_1_0p75_0","0p667_1_0p333_0"],"t":7,"s":[100,110,100],"e":[100,90,100]},{"i":{"x":[0.25,0.25,0.667],"y":[1,1,1]},"o":{"x":[0.75,0.75,0.333],"y":[0,0,0]},"n":["0p25_1_0p75_0","0p25_1_0p75_0","0p667_1_0p333_0"],"t":12,"s":[100,90,100],"e":[100,100,100]},{"t":14}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[36.889,-6.891],[0,0]],"o":[[-19.399,30.58],[0,0],[0,0]],"v":[[43.91,-6.726],[-43.91,52.866],[8.52,-52.866]],"c":true},"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-218.48,72.135],[81.52,72.135],[81.52,-227.865],[-218.48,-227.865]],"c":true},"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-218.48,-227.865],[81.52,-227.865],[81.52,72.135],[-218.48,72.135]],"c":true},"ix":2},"nm":"Trazado 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Transformar"}],"nm":"Grupo 1","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"mm","mm":4,"nm":"Combinar trazados 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.109999997008,0.165000002992,0.20800000359,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Relleno 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[44.159,53.116],"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":"Transformar"}],"nm":"Grupo 1","np":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":89,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"Circle","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[150,150,0],"ix":2},"a":{"a":0,"k":[137.25,137.25,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-75.663],[75.663,0],[0,75.663],[-75.663,0]],"o":[[0,75.663],[-75.663,0],[0,-75.663],[75.663,0]],"v":[[137,0],[0,137],[-137,0],[0,-137]],"c":true},"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-150,150],[150,150],[150,-150],[-150,-150]],"c":true},"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-150,-150],[150,-150],[150,150],[-150,150]],"c":true},"ix":2},"nm":"Trazado 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Transformar"}],"nm":"Grupo 1","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"mm","mm":4,"nm":"Combinar trazados 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.081999999402,0.626999978458,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Relleno 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[137.25,137.25],"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":"Transformar"}],"nm":"Grupo 1","np":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":89,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/abstract_circle.json b/submodules/RLottie/Sources/rlottie/example/resource/abstract_circle.json deleted file mode 100644 index 8b10f9ae25..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/abstract_circle.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.1.16","fr":15,"ip":0,"op":51,"w":500,"h":500,"nm":"El 28","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Circle Abstract","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":49,"s":[100],"e":[0]},{"t":51}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250.316,250.684,0],"ix":2},"a":{"a":0,"k":[280,0,0],"ix":1},"s":{"a":0,"k":[225,225,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[145,145],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.190695878571,0.889764404297,0.972549019608,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.583]},"o":{"x":[0.01],"y":[0.006]},"n":["0p833_0p583_0p01_0p006"],"t":22.2,"s":[3],"e":[0]},{"t":49.2001953125}],"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[236,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.99,0.99],"y":[0.997,0.997]},"o":{"x":[1,1],"y":[1,1]},"n":["0p99_0p997_1_1","0p99_0p997_1_1"],"t":0,"s":[0,0],"e":[50,50]},{"i":{"x":[0.833,0.833],"y":[0.676,0.676]},"o":{"x":[0.01,0.01],"y":[0.043,0.043]},"n":["0p833_0p676_0p01_0p043","0p833_0p676_0p01_0p043"],"t":6,"s":[50,50],"e":[75,75]},{"t":49.2001953125}],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"rp","c":{"a":1,"k":[{"i":{"x":[0.99],"y":[0.985]},"o":{"x":[1],"y":[2.692]},"n":["0p99_0p985_1_2p692"],"t":0,"s":[0],"e":[18]},{"i":{"x":[0.833],"y":[0.288]},"o":{"x":[0.01],"y":[-0.02]},"n":["0p833_0p288_0p01_-0p02"],"t":21,"s":[18],"e":[0]},{"t":49.2001953125}],"ix":1},"o":{"a":0,"k":5,"ix":2},"m":1,"ix":2,"tr":{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[280,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":20,"ix":4},"so":{"a":0,"k":100,"ix":5},"eo":{"a":0,"k":100,"ix":6},"nm":"Transform"},"nm":"Repeater 1","mn":"ADBE Vector Filter - Repeater","hd":false}],"ip":0,"op":51,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/acrobatics.json b/submodules/RLottie/Sources/rlottie/example/resource/acrobatics.json deleted file mode 100644 index 7dce062fcd..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/acrobatics.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.0.5","fr":29.9700012207031,"ip":0,"op":46.0000018736184,"w":288,"h":360,"nm":"jump","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"a7","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[29],"e":[-23]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":20,"s":[-23],"e":[-52]},{"t":30.0000012219251}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.585,"y":0.651},"o":{"x":0.232,"y":0.316},"n":"0p585_0p651_0p232_0p316","t":0,"s":[223.86,137.848,0],"e":[173.574,30.76,0],"to":[-1.73460388183594,-57.7228088378906,0],"ti":[29.553560256958,21.1779880523682,0]},{"i":{"x":0.649,"y":0.681},"o":{"x":0.307,"y":0.343},"n":"0p649_0p681_0p307_0p343","t":5,"s":[173.574,30.76,0],"e":[85.663,23.367,0],"to":[-27.3250160217285,-19.5810222625732,0],"ti":[26.9960441589355,-14.1411228179932,0]},{"i":{"x":0.671,"y":0.846},"o":{"x":0.331,"y":0.195},"n":"0p671_0p846_0p331_0p195","t":10,"s":[85.663,23.367,0],"e":[36.511,149.665,0],"to":[-19.3489608764648,10.1354112625122,0],"ti":[-6.15889406204224,-86.5106048583984,0]},{"i":{"x":0.696,"y":0.889},"o":{"x":0.354,"y":0.179},"n":"0p696_0p889_0p354_0p179","t":15,"s":[36.511,149.665,0],"e":[74.554,29.842,0],"to":[1.17162692546844,16.4571990966797,0],"ti":[-42.0285682678223,27.0350360870361,0]},{"i":{"x":0.652,"y":0.943},"o":{"x":0.268,"y":0.138},"n":"0p652_0p943_0p268_0p138","t":20,"s":[74.554,29.842,0],"e":[163.85,25.327,0],"to":[50.7120628356934,-30.1498985290527,0],"ti":[-6.47687864303589,-3.83117437362671,0]},{"i":{"x":0.855,"y":0.672},"o":{"x":0.451,"y":0.05},"n":"0p855_0p672_0p451_0p05","t":25,"s":[163.85,25.327,0],"e":[223.441,143.403,0],"to":[73.0731658935547,50.364128112793,0],"ti":[-1.62066376209259,-0.90557879209518,0]},{"i":{"x":0.585,"y":0.656},"o":{"x":0.262,"y":0.658},"n":"0p585_0p656_0p262_0p658","t":30,"s":[223.441,143.403,0],"e":[173.574,30.76,0],"to":[1.62066376209259,0.90557879209518,0],"ti":[29.553560256958,21.1779880523682,0]},{"i":{"x":0.649,"y":0.681},"o":{"x":0.307,"y":0.343},"n":"0p649_0p681_0p307_0p343","t":35,"s":[173.574,30.76,0],"e":[85.663,23.367,0],"to":[-27.3250160217285,-19.5810222625732,0],"ti":[26.9960441589355,-14.1411228179932,0]},{"i":{"x":0.671,"y":0.75},"o":{"x":0.331,"y":0.315},"n":"0p671_0p75_0p331_0p315","t":40,"s":[85.663,23.367,0],"e":[63.011,118.165,0],"to":[-19.3489608764648,10.1354112625122,0],"ti":[-21.1588935852051,-45.0106010437012,0]},{"t":46.0000018736184}],"ix":2},"a":{"a":0,"k":[49.985,49.973,0],"ix":1},"s":{"a":0,"k":[-50.014,50.014,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.5,-8.4],[8.4,1.6],[0.199,0.1],[2.599,-0.9],[0.201,0],[1.6,8.5],[-8.5,1.6],[-2.8,-1.2],[0,0],[0,0],[2.9,2.9],[0,0],[-4.2,-4.1],[-0.2,-2.1],[0,0],[-0.5,-0.3],[0.299,-0.5],[0,0],[-0.7,0.3],[-3.2,-0.6]],"o":[[-1.6,8.5],[-0.3,0],[-2.5,-0.9],[-0.201,0.1],[-8.5,1.6],[-1.6,-8.5],[3.2,-0.6],[1,0.5],[0,0],[-2,0],[-4.199,-4.2],[0,0],[2.3,2.3],[0,0],[0.3,-0.5],[0.5,0.3],[0,0],[0.801,-0.1],[2.8,-1.3],[8.5,1.5]],"v":[[25.65,1.6],[4.65,29.5],[3.951,29.3],[-3.749,29.3],[-4.45,29.5],[-25.55,1.6],[-13.05,-16.6],[-3.85,-15.5],[-0.749,-14.7],[0.45,-16.9],[-8.05,-20.3],[-11.35,-30.3],[-1.35,-27],[1.951,-19.7],[7.451,-29.9],[8.85,-30.3],[9.251,-28.9],[1.65,-14.7],[3.85,-15.4],[13.05,-16.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.988235294819,0.380392163992,0.411764711142,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[50.366,50.503],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":167.000006802049,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"a6","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":29,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.67},"o":{"x":0.185,"y":0.366},"n":"0p833_0p67_0p185_0p366","t":0,"s":[186.985,40.473,0],"e":[216.985,116.473,0],"to":[1.01539611816406,-0.97280883789062,0],"ti":[6.98460388183594,-38.0271911621094,0]},{"i":{"x":0.833,"y":0.74},"o":{"x":0.185,"y":0.289},"n":"0p833_0p74_0p185_0p289","t":5,"s":[216.985,116.473,0],"e":[169.985,27.473,0],"to":[5.01539611816406,-38.4728088378906,0],"ti":[28.5490169525146,10.817400932312,0]},{"i":{"x":0.833,"y":0.716},"o":{"x":0.185,"y":0.315},"n":"0p833_0p716_0p185_0p315","t":10,"s":[169.985,27.473,0],"e":[76.485,28.973,0],"to":[-64,-24.25,0],"ti":[8.20706558227539,-7.81933689117432,0]},{"i":{"x":0.833,"y":0.732},"o":{"x":0.185,"y":0.298},"n":"0p833_0p732_0p185_0p298","t":15,"s":[76.485,28.973,0],"e":[42.485,121.973,0],"to":[-36.8030128479004,35.0643157958984,0],"ti":[-8.51539611816406,-3.02719116210938,0]},{"i":{"x":0.833,"y":0.756},"o":{"x":0.185,"y":0.271},"n":"0p833_0p756_0p185_0p271","t":20,"s":[42.485,121.973,0],"e":[85.485,24.473,0],"to":[-12.9846038818359,-63.4728088378906,0],"ti":[-12.5153961181641,8.47280883789062,0]},{"i":{"x":0.833,"y":0.717},"o":{"x":0.185,"y":0.314},"n":"0p833_0p717_0p185_0p314","t":25,"s":[85.485,24.473,0],"e":[178.485,31.973,0],"to":[40.0153961181641,-28.4728088378906,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.775},"o":{"x":0.167,"y":0.225},"n":"0p833_0p775_0p167_0p225","t":30,"s":[178.485,31.973,0],"e":[216.485,144.473,0],"to":[0,0,0],"ti":[16.4846038818359,-63.0271911621094,0]},{"i":{"x":0.833,"y":0.792},"o":{"x":0.185,"y":0.23},"n":"0p833_0p792_0p185_0p23","t":35,"s":[216.485,144.473,0],"e":[169.985,27.473,0],"to":[12.0153961181641,-51.9728088378906,0],"ti":[28.5490169525146,10.817400932312,0]},{"i":{"x":0.833,"y":0.669},"o":{"x":0.185,"y":0.368},"n":"0p833_0p669_0p185_0p368","t":40,"s":[169.985,27.473,0],"e":[73.485,29.473,0],"to":[-64,-24.25,0],"ti":[25.5490169525146,-10.682599067688,0]},{"t":46.0000018736184}],"ix":2},"a":{"a":0,"k":[49.985,49.973,0],"ix":1},"s":{"a":0,"k":[-50.014,50.014,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.5,-8.4],[8.4,1.6],[0.199,0.1],[2.599,-0.9],[0.201,0],[1.6,8.5],[-8.5,1.6],[-2.8,-1.2],[0,0],[0,0],[2.9,2.9],[0,0],[-4.2,-4.1],[-0.2,-2.1],[0,0],[-0.5,-0.3],[0.299,-0.5],[0,0],[-0.7,0.3],[-3.2,-0.6]],"o":[[-1.6,8.5],[-0.3,0],[-2.5,-0.9],[-0.201,0.1],[-8.5,1.6],[-1.6,-8.5],[3.2,-0.6],[1,0.5],[0,0],[-2,0],[-4.199,-4.2],[0,0],[2.3,2.3],[0,0],[0.3,-0.5],[0.5,0.3],[0,0],[0.801,-0.1],[2.8,-1.3],[8.5,1.5]],"v":[[25.65,1.6],[4.65,29.5],[3.951,29.3],[-3.749,29.3],[-4.45,29.5],[-25.55,1.6],[-13.05,-16.6],[-3.85,-15.5],[-0.749,-14.7],[0.45,-16.9],[-8.05,-20.3],[-11.35,-30.3],[-1.35,-27],[1.951,-19.7],[7.451,-29.9],[8.85,-30.3],[9.251,-28.9],[1.65,-14.7],[3.85,-15.4],[13.05,-16.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.988235294819,0.380392163992,0.411764711142,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[50.366,50.503],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":167.000006802049,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"a5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":29,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.585,"y":0.55},"o":{"x":0.185,"y":0.325},"n":"0p585_0p55_0p185_0p325","t":0,"s":[82.985,26.973,0],"e":[173.574,30.76,0],"to":[0.01539611816406,-3.97280883789062,0],"ti":[-43.4464416503906,-27.3220119476318,0]},{"i":{"x":0.585,"y":0.412},"o":{"x":0.303,"y":0.429},"n":"0p585_0p412_0p303_0p429","t":5,"s":[173.574,30.76,0],"e":[205.574,91.76,0],"to":[23.8329467773438,26.0342674255371,0],"ti":[6.07351684570312,9.26034545898438,0]},{"i":{"x":0.585,"y":0.449},"o":{"x":0.303,"y":0.402},"n":"0p585_0p449_0p303_0p402","t":10,"s":[205.574,91.76,0],"e":[167.074,25.76,0],"to":[-9.07351684570312,-39.7603454589844,0],"ti":[15.0735168457031,13.2603454589844,0]},{"i":{"x":0.585,"y":0.526},"o":{"x":0.303,"y":0.345},"n":"0p585_0p526_0p303_0p345","t":15,"s":[167.074,25.76,0],"e":[80.574,28.26,0],"to":[-48.5735168457031,-23.5103454589844,0],"ti":[8.82351684570312,-4.48965454101562,0]},{"i":{"x":0.585,"y":0.478},"o":{"x":0.303,"y":0.381},"n":"0p585_0p478_0p303_0p381","t":20,"s":[80.574,28.26,0],"e":[55.074,104.26,0],"to":[-26.8235168457031,30.9896545410156,0],"ti":[-2.42648315429688,-0.48965454101562,0]},{"i":{"x":0.585,"y":0.489},"o":{"x":0.303,"y":0.372},"n":"0p585_0p489_0p303_0p372","t":25,"s":[55.074,104.26,0],"e":[83.574,27.76,0],"to":[1.17648315429688,-59.2603454589844,0],"ti":[0,0,0]},{"i":{"x":0.585,"y":0.542},"o":{"x":0.167,"y":0.184},"n":"0p585_0p542_0p167_0p184","t":30,"s":[83.574,27.76,0],"e":[173.574,30.76,0],"to":[0,0,0],"ti":[-43.4464416503906,-27.3220119476318,0]},{"i":{"x":0.585,"y":0.624},"o":{"x":0.303,"y":0.274},"n":"0p585_0p624_0p303_0p274","t":35,"s":[173.574,30.76,0],"e":[217.074,133.26,0],"to":[23.8329467773438,26.0342674255371,0],"ti":[6.07351684570312,9.26034545898438,0]},{"i":{"x":0.585,"y":0.567},"o":{"x":0.303,"y":0.316},"n":"0p585_0p567_0p303_0p316","t":40,"s":[217.074,133.26,0],"e":[168.574,25.76,0],"to":[-17.0735168457031,-77.0103454589844,0],"ti":[6.07351684570312,9.26034545898438,0]},{"t":46.0000018736184}],"ix":2},"a":{"a":0,"k":[49.985,49.973,0],"ix":1},"s":{"a":0,"k":[-50.014,50.014,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.5,-8.4],[8.4,1.6],[0.199,0.1],[2.599,-0.9],[0.201,0],[1.6,8.5],[-8.5,1.6],[-2.8,-1.2],[0,0],[0,0],[2.9,2.9],[0,0],[-4.2,-4.1],[-0.2,-2.1],[0,0],[-0.5,-0.3],[0.299,-0.5],[0,0],[-0.7,0.3],[-3.2,-0.6]],"o":[[-1.6,8.5],[-0.3,0],[-2.5,-0.9],[-0.201,0.1],[-8.5,1.6],[-1.6,-8.5],[3.2,-0.6],[1,0.5],[0,0],[-2,0],[-4.199,-4.2],[0,0],[2.3,2.3],[0,0],[0.3,-0.5],[0.5,0.3],[0,0],[0.801,-0.1],[2.8,-1.3],[8.5,1.5]],"v":[[25.65,1.6],[4.65,29.5],[3.951,29.3],[-3.749,29.3],[-4.45,29.5],[-25.55,1.6],[-13.05,-16.6],[-3.85,-15.5],[-0.749,-14.7],[0.45,-16.9],[-8.05,-20.3],[-11.35,-30.3],[-1.35,-27],[1.951,-19.7],[7.451,-29.9],[8.85,-30.3],[9.251,-28.9],[1.65,-14.7],[3.85,-15.4],[13.05,-16.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.986887276173,0.380120933056,0.411817699671,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[50.125,50.785],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":167.000006802049,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"a1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":29,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.732},"o":{"x":0.185,"y":0.298},"n":"0p833_0p732_0p185_0p298","t":0,"s":[59.985,118.973,0],"e":[82.985,26.973,0],"to":[-19.4846038818359,-32.9728088378906,0],"ti":[-31.0153961181641,26.4728088378906,0]},{"i":{"x":0.833,"y":0.675},"o":{"x":0.185,"y":0.361},"n":"0p833_0p675_0p185_0p361","t":5,"s":[82.985,26.973,0],"e":[162.985,24.473,0],"to":[31.0153961181641,-26.4728088378906,0],"ti":[-21.0153961181641,-9.52719116210938,0]},{"i":{"x":0.833,"y":0.572},"o":{"x":0.185,"y":0.475},"n":"0p833_0p572_0p185_0p475","t":10,"s":[162.985,24.473,0],"e":[203.985,72.973,0],"to":[21.0153961181641,9.52719116210938,0],"ti":[-4.51539611816406,-16.5271911621094,0]},{"i":{"x":0.833,"y":0.556},"o":{"x":0.185,"y":0.493},"n":"0p833_0p556_0p185_0p493","t":15,"s":[203.985,72.973,0],"e":[165.485,24.973,0],"to":[-10.9846038818359,-31.4728088378906,0],"ti":[7.73460388183594,4.09780883789062,0]},{"i":{"x":0.833,"y":0.67},"o":{"x":0.185,"y":0.366},"n":"0p833_0p67_0p185_0p366","t":20,"s":[165.485,24.973,0],"e":[85.985,24.223,0],"to":[-51.1335983276367,-27.8870468139648,0],"ti":[2.48460388183594,-2.02719116210938,0]},{"i":{"x":0.833,"y":0.702},"o":{"x":0.185,"y":0.331},"n":"0p833_0p702_0p185_0p331","t":25,"s":[85.985,24.223,0],"e":[53.485,105.723,0],"to":[-50.724681854248,41.3863258361816,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.677},"o":{"x":0.167,"y":0.323},"n":"0p833_0p677_0p167_0p323","t":30,"s":[53.485,105.723,0],"e":[82.985,26.973,0],"to":[0,0,0],"ti":[-31.0153961181641,26.4728088378906,0]},{"i":{"x":0.833,"y":0.675},"o":{"x":0.185,"y":0.361},"n":"0p833_0p675_0p185_0p361","t":35,"s":[82.985,26.973,0],"e":[162.985,24.473,0],"to":[31.0153961181641,-26.4728088378906,0],"ti":[-21.0153961181641,-9.52719116210938,0]},{"i":{"x":0.833,"y":0.753},"o":{"x":0.185,"y":0.274},"n":"0p833_0p753_0p185_0p274","t":40,"s":[162.985,24.473,0],"e":[219.985,140.473,0],"to":[21.0153961181641,9.52719116210938,0],"ti":[-15.0153961181641,-99.0271911621094,0]},{"t":46.0000018736184}],"ix":2},"a":{"a":0,"k":[49.985,49.973,0],"ix":1},"s":{"a":0,"k":[-50.014,50.014,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.5,-8.4],[8.4,1.6],[0.199,0.1],[2.599,-0.9],[0.201,0],[1.6,8.5],[-8.5,1.6],[-2.8,-1.2],[0,0],[0,0],[2.9,2.9],[0,0],[-4.2,-4.1],[-0.2,-2.1],[0,0],[-0.5,-0.3],[0.299,-0.5],[0,0],[-0.7,0.3],[-3.2,-0.6]],"o":[[-1.6,8.5],[-0.3,0],[-2.5,-0.9],[-0.201,0.1],[-8.5,1.6],[-1.6,-8.5],[3.2,-0.6],[1,0.5],[0,0],[-2,0],[-4.199,-4.2],[0,0],[2.3,2.3],[0,0],[0.3,-0.5],[0.5,0.3],[0,0],[0.801,-0.1],[2.8,-1.3],[8.5,1.5]],"v":[[25.65,1.6],[4.65,29.5],[3.951,29.3],[-3.749,29.3],[-4.45,29.5],[-25.55,1.6],[-13.05,-16.6],[-3.85,-15.5],[-0.749,-14.7],[0.45,-16.9],[-8.05,-20.3],[-11.35,-30.3],[-1.35,-27],[1.951,-19.7],[7.451,-29.9],[8.85,-30.3],[9.251,-28.9],[1.65,-14.7],[3.85,-15.4],[13.05,-16.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.988235294819,0.380392163992,0.411764711142,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[50.366,50.503],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":167.000006802049,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"teeth Outlines","parent":14,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[20.312,41.66,0],"ix":2},"a":{"a":0,"k":[3.718,3.618,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-0.646,-2.841],[2.087,-2.018],[-0.571,2.841],[-2.087,2.392]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[5.1,4.146],"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,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-1.338,-2.982],[1.673,-2.18],[-0.039,2.982],[-1.673,2.673]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1.923,3.232],"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,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":47.0000019143492,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"right eye Outlines","parent":14,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[42.538,16.724,0],"e":[47.764,16.011,0],"to":[0.87093943357468,-0.11872462183237,0],"ti":[-0.05034303665161,-1.83084356784821,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":17,"s":[47.764,16.011,0],"e":[41.775,15.029,0],"to":[0.01295710168779,0.4712156355381,0],"ti":[3.24095487594604,-0.21771761775017,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":18,"s":[41.775,15.029,0],"e":[35.94,19.224,0],"to":[-2.2777636051178,0.15301331877708,0],"ti":[0.64945775270462,-2.75669002532959,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":19,"s":[35.94,19.224,0],"e":[37.155,29.03,0],"to":[-1.57354974746704,6.67909383773804,0],"ti":[0.77238988876343,-1.01815032958984,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":22,"s":[37.155,29.03,0],"e":[38.689,17.956,0],"to":[-0.66211730241776,0.87279099225998,0],"ti":[-4.08277225494385,3.6608738899231,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":30.5,"s":[38.689,17.956,0],"e":[46.673,19.389,0],"to":[4.08277225494385,-3.6608738899231,0],"ti":[0,0,0]},{"t":42.0000017106951}],"ix":2},"a":{"a":0,"k":[2.909,2.909,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":0,"s":[110,110,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":17,"s":[100,100,100],"e":[110,110,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":22,"s":[110,110,100],"e":[100,100,100]},{"t":42.0000017106951}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.86,-0.994],[0.994,-0.859],[0.86,0.994],[-0.994,0.86]],"o":[[0.86,0.994],[-0.993,0.86],[-0.86,-0.993],[0.993,-0.859]],"v":[[1.799,-1.557],[1.556,1.798],[-1.799,1.556],[-1.556,-1.799]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.349000010771,0.349000010771,0.349000010771,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[2.909,2.909],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":47.0000019143492,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"left eye Outlines","parent":14,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[20.352,12.353,0],"e":[23.754,15.218,0],"to":[0.75799149274826,-0.13729524612427,0],"ti":[1.20316421985626,-1.69811820983887,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":17,"s":[23.754,15.218,0],"e":[14.162,14.634,0],"to":[-0.43755486607552,0.61755484342575,0],"ti":[5.72465705871582,-5.02380609512329,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":18.75,"s":[14.162,14.634,0],"e":[14.48,23.107,0],"to":[-5.72465705871582,5.02380609512329,0],"ti":[1.21317493915558,0.42704656720161,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":22,"s":[14.48,23.107,0],"e":[14.053,13.997,0],"to":[-1.21317493915558,-0.42704656720161,0],"ti":[-4.91244649887085,5.34288120269775,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":29.75,"s":[14.053,13.997,0],"e":[23.538,15.395,0],"to":[4.91244649887085,-5.34288120269775,0],"ti":[-1.43252968788147,0.25947457551956,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":42,"s":[23.538,15.395,0],"e":[20.161,13.089,0],"to":[1.894491314888,-0.34314984083176,0],"ti":[-1.51578795909882,0.27455517649651,0]},{"t":47.0000019143492}],"ix":2},"a":{"a":0,"k":[2.909,2.909,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":0,"s":[110,110,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":17,"s":[100,100,100],"e":[110,110,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":22,"s":[110,110,100],"e":[100,100,100]},{"t":42.0000017106951}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.86,-0.994],[0.994,-0.859],[0.86,0.993],[-0.994,0.86]],"o":[[0.86,0.994],[-0.993,0.86],[-0.86,-0.993],[0.993,-0.859]],"v":[[1.799,-1.557],[1.556,1.798],[-1.799,1.556],[-1.556,-1.799]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.349000010771,0.349000010771,0.349000010771,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[2.909,2.909],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":47.0000019143492,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"right blush Outlines","parent":14,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[9.908,34.526,0],"ix":2},"a":{"a":0,"k":[4.844,4.952,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.811,2.618],[-2.549,-0.789],[0.811,-2.618],[2.549,0.79]],"o":[[0.811,-2.618],[2.548,0.79],[-0.811,2.619],[-2.548,-0.789]],"v":[[-4.615,-1.43],[1.469,-4.742],[4.615,1.428],[-1.469,4.739]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.976000019148,0.430999995213,0.430999995213,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[4.844,4.952],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":47.0000019143492,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"left blush Outlines","parent":14,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[37.356,40.818,0],"ix":2},"a":{"a":0,"k":[5.879,5.991,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.756,-1.649],[1.716,2.869],[-2.756,1.649],[-1.716,-2.868]],"o":[[-2.756,1.649],[-1.716,-2.868],[2.756,-1.649],[1.716,2.868]],"v":[[3.107,5.193],[-4.99,2.986],[-3.107,-5.192],[4.99,-2.985]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.976000019148,0.430999995213,0.430999995213,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[5.879,5.991],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":47.0000019143492,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"glass leg Outlines","parent":14,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[-42]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":17,"s":[-42],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":22,"s":[0],"e":[-42]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":42,"s":[-42],"e":[0]},{"t":47.0000019143492}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[58.822,31.197,0],"e":[64.21,21.554,0],"to":[0.89794141054153,-1.60704386234283,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":17,"s":[64.21,21.554,0],"e":[58.822,31.197,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":22,"s":[58.822,31.197,0],"e":[64.21,21.554,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":42,"s":[64.21,21.554,0],"e":[58.822,31.197,0],"to":[0,0,0],"ti":[0.89794141054153,-1.60704386234283,0]},{"t":47.0000019143492}],"ix":2},"a":{"a":0,"k":[10.014,11.241,0],"ix":1},"s":{"a":0,"k":[104.675,100,100],"ix":6}},"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},"n":"0p833_0p833_0p167_0p167","t":0,"s":[{"i":[[-1.819,-2.087],[-4.279,-4.91],[1.819,2.088],[4.279,4.91]],"o":[[4.278,4.91],[1.828,2.099],[-4.28,-4.91],[-1.829,-2.099]],"v":[[-7.945,-5.839],[4.892,8.892],[7.945,5.839],[-4.892,-8.892]],"c":true}],"e":[{"i":[[-1.819,-2.087],[-4.279,-4.91],[1.819,2.088],[4.279,4.91]],"o":[[4.278,4.91],[1.828,2.099],[-4.28,-4.91],[-1.829,-2.099]],"v":[[-7.945,-5.839],[1.191,4.186],[4.147,0.904],[-4.892,-8.892]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":17,"s":[{"i":[[-1.819,-2.087],[-4.279,-4.91],[1.819,2.088],[4.279,4.91]],"o":[[4.278,4.91],[1.828,2.099],[-4.28,-4.91],[-1.829,-2.099]],"v":[[-7.945,-5.839],[1.191,4.186],[4.147,0.904],[-4.892,-8.892]],"c":true}],"e":[{"i":[[-1.819,-2.087],[-4.279,-4.91],[1.819,2.088],[4.279,4.91]],"o":[[4.278,4.91],[1.828,2.099],[-4.28,-4.91],[-1.829,-2.099]],"v":[[-7.945,-5.839],[4.892,8.892],[7.945,5.839],[-4.892,-8.892]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":22,"s":[{"i":[[-1.819,-2.087],[-4.279,-4.91],[1.819,2.088],[4.279,4.91]],"o":[[4.278,4.91],[1.828,2.099],[-4.28,-4.91],[-1.829,-2.099]],"v":[[-7.945,-5.839],[4.892,8.892],[7.945,5.839],[-4.892,-8.892]],"c":true}],"e":[{"i":[[-1.819,-2.087],[-4.279,-4.91],[1.819,2.088],[4.279,4.91]],"o":[[4.278,4.91],[1.828,2.099],[-4.28,-4.91],[-1.829,-2.099]],"v":[[-7.945,-5.839],[1.191,4.186],[4.147,0.904],[-4.892,-8.892]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":42,"s":[{"i":[[-1.819,-2.087],[-4.279,-4.91],[1.819,2.088],[4.279,4.91]],"o":[[4.278,4.91],[1.828,2.099],[-4.28,-4.91],[-1.829,-2.099]],"v":[[-7.945,-5.839],[1.191,4.186],[4.147,0.904],[-4.892,-8.892]],"c":true}],"e":[{"i":[[-1.819,-2.087],[-4.279,-4.91],[1.819,2.088],[4.279,4.91]],"o":[[4.278,4.91],[1.828,2.099],[-4.28,-4.91],[-1.829,-2.099]],"v":[[-7.945,-5.839],[4.892,8.892],[7.945,5.839],[-4.892,-8.892]],"c":true}]},{"t":47.0000019143492}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.313999998803,0.365000017952,0.976000019148,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[10.014,11.241],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":47.0000019143492,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"glass mid","parent":14,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[31.189,19.107,0],"ix":2},"a":{"a":0,"k":[12.089,10.362,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-3.454,-3.454]],"o":[[0,0],[0,0]],"v":[[-3.454,0],[3.454,1.727]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.313999998803,0.365000017952,0.976000019148,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3.454,"ix":5},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[12.089,10.362],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":47.0000019143492,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"right glass Outlines","parent":14,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[9]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":17,"s":[9],"e":[0]},{"t":22.0000008960784}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[42.247,23.795,0],"e":[42.247,19.795,0],"to":[0,-0.66666668653488,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":17,"s":[42.247,19.795,0],"e":[42.247,23.795,0],"to":[0,0,0],"ti":[0,-0.66666668653488,0]},{"t":22.0000008960784}],"ix":2},"a":{"a":0,"k":[18.398,18.804,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.726,-1.893],[3.751,3.273],[-3.663,4.242],[-3.679,-3.355],[-0.074,-2.34]],"o":[[-3.452,3.786],[-3.725,-3.252],[3.349,-3.877],[1.839,1.677],[0.074,2.339]],"v":[[7.221,6.114],[-5.691,6.896],[-6.101,-6.033],[6.811,-6.814],[9.689,-0.512]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.313999998803,0.365000017952,0.976000019148,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3.454,"ix":5},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[18.398,18.804],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":47.0000019143492,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"right ear Outlines","parent":14,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":17,"s":[-14],"e":[-14]},{"t":42.0000017106951}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[68.438,22.11,0],"e":[59.029,9.437,0],"to":[-1.56817352771759,-2.11210107803345,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":17,"s":[59.029,9.437,0],"e":[68.438,22.11,0],"to":[0,0,0],"ti":[-0.69228959083557,-0.1520429700613,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":22,"s":[68.438,22.11,0],"e":[63.183,10.349,0],"to":[0.69228959083557,0.1520429700613,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":42,"s":[63.183,10.349,0],"e":[68.438,22.11,0],"to":[0,0,0],"ti":[-0.87588393688202,-1.96005809307098,0]},{"t":47.0000019143492}],"ix":2},"a":{"a":0,"k":[7.277,8.167,0],"ix":1},"s":{"a":0,"k":[87.794,95.636,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.205,"y":1},"o":{"x":1,"y":0},"n":"0p205_1_1_0","t":0,"s":[{"i":[[0.373,-0.494],[-4.647,-2.786],[-0.182,3.144],[3.477,0]],"o":[[-2.483,3.287],[1.628,0.976],[0.235,-4.094],[-1.392,0]],"v":[[-4.544,-7.153],[2.088,4.966],[8.16,-3.175],[-1.665,-7.917]],"c":true}],"e":[{"i":[[0.373,-0.494],[-4.647,-2.786],[-0.182,3.144],[3.477,0]],"o":[[-2.483,3.287],[1.628,0.976],[0.235,-4.094],[-1.392,0]],"v":[[-4.544,-7.153],[2.088,4.966],[8.16,-3.175],[-1.665,-7.917]],"c":true}]},{"i":{"x":1,"y":0.998},"o":{"x":1,"y":0},"n":"1_0p998_1_0","t":18,"s":[{"i":[[0.373,-0.494],[-4.647,-2.786],[-0.182,3.144],[3.477,0]],"o":[[-2.483,3.287],[1.628,0.976],[0.235,-4.094],[-1.392,0]],"v":[[-4.544,-7.153],[2.088,4.966],[8.16,-3.175],[-1.665,-7.917]],"c":true}],"e":[{"i":[[0.373,-0.494],[-4.647,-2.786],[-0.182,3.144],[3.477,0]],"o":[[-2.483,3.287],[1.628,0.976],[0.235,-4.094],[-1.392,0]],"v":[[-4.544,-7.153],[2.088,4.966],[8.16,-3.175],[-1.665,-7.917]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.052,"y":1},"n":"0_1_0p052_1","t":23,"s":[{"i":[[0.373,-0.494],[-4.647,-2.786],[-0.182,3.144],[3.477,0]],"o":[[-2.483,3.287],[1.628,0.976],[0.235,-4.094],[-1.392,0]],"v":[[-4.544,-7.153],[2.088,4.966],[8.16,-3.175],[-1.665,-7.917]],"c":true}],"e":[{"i":[[0.373,-0.494],[-4.647,-2.786],[-0.182,3.144],[3.477,0]],"o":[[-2.483,3.287],[1.628,0.976],[0.235,-4.094],[-1.392,0]],"v":[[-4.544,-7.153],[2.088,4.966],[8.16,-3.175],[-1.665,-7.917]],"c":true}]},{"t":34.0000013848484}],"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0.115,0.286],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[99.454,101.055],"ix":3},"r":{"a":0,"k":-1.33,"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":1,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.984313726425,0.525490224361,0.537254929543,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[7.541,7.827],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[104.62,100.21],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":47.0000019143492,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"left glass Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[-24]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":17,"s":[-24],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":22,"s":[0],"e":[-3]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":42,"s":[-3],"e":[0]},{"t":47.0000019143492}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[113.337,79.663,0],"e":[86.337,67.663,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":17,"s":[86.337,67.663,0],"e":[113.337,79.663,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":22,"s":[113.337,79.663,0],"e":[105.337,60.663,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":42,"s":[105.337,60.663,0],"e":[113.337,79.663,0],"to":[0,0,0],"ti":[0,0,0]},{"t":47.0000019143492}],"ix":2},"a":{"a":0,"k":[18.693,18.548,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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},"n":"0p833_0p833_0p167_0p167","t":0,"s":[{"i":[[4.149,-2.624],[2.546,4.026],[-4.149,2.623],[-2.546,-4.025]],"o":[[-4.149,2.624],[-2.546,-4.025],[4.149,-2.624],[2.546,4.026]],"v":[[4.611,7.289],[-7.512,4.751],[-4.609,-7.29],[7.512,-4.752]],"c":true}],"e":[{"i":[[4.149,-2.624],[2.546,4.026],[-4.149,2.623],[-2.546,-4.025]],"o":[[-4.149,2.624],[-2.546,-4.025],[4.149,-2.624],[2.546,4.026]],"v":[[4.611,7.289],[-7.512,4.751],[-4.609,-7.29],[7.512,-4.752]],"c":true}]},{"t":47.0000019143492}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.313999998803,0.365000017952,0.976000019148,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3.454,"ix":5},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[18.693,18.548],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":47.0000019143492,"st":0,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":"right leg Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[-21]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":17,"s":[-21],"e":[2]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":42,"s":[2],"e":[0]},{"t":47.0000019143492}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[137.234,263.001,0],"e":[149.234,229.001,0],"to":[2,-5.66666650772095,0],"ti":[-1.5,-0.5,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":17,"s":[149.234,229.001,0],"e":[146.234,266.001,0],"to":[1.5,0.5,0],"ti":[3.5,-0.16666667163372,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":22,"s":[146.234,266.001,0],"e":[128.234,230.001,0],"to":[-3.5,0.16666667163372,0],"ti":[1.5,0.5,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":42,"s":[128.234,230.001,0],"e":[137.234,263.001,0],"to":[-1.5,-0.5,0],"ti":[-1.5,-5.5,0]},{"t":47.0000019143492}],"ix":2},"a":{"a":0,"k":[6.404,11.75,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"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},"n":"0p833_0p833_0p167_0p167","t":0,"s":[{"i":[[1.203,-6.24],[-7.402,0.838],[1.536,2.127],[0,0]],"o":[[-1.039,5.389],[4.747,-0.538],[0,0],[0,0]],"v":[[-10.659,2.429],[-9.691,18.566],[16.208,-23.499],[-4.812,-19.381]],"c":true}],"e":[{"i":[[3.453,-0.562],[-9.391,2.685],[1.536,2.127],[0,0]],"o":[[-5.722,0.931],[9.444,-2.7],[0,0],[0,0]],"v":[[-8.909,-9.07],[-7.939,-2.692],[7.715,-15.478],[-4.811,-19.381]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":17,"s":[{"i":[[3.453,-0.562],[-9.391,2.685],[1.536,2.127],[0,0]],"o":[[-5.722,0.931],[9.444,-2.7],[0,0],[0,0]],"v":[[-8.909,-9.07],[-7.939,-2.692],[7.715,-15.478],[-4.811,-19.381]],"c":true}],"e":[{"i":[[3.453,-0.562],[-9.391,2.685],[1.536,2.127],[0,0]],"o":[[-5.722,0.931],[9.444,-2.7],[0,0],[0,0]],"v":[[-8.909,-9.07],[-7.939,-2.692],[7.715,-15.478],[-4.811,-19.381]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":22,"s":[{"i":[[3.453,-0.562],[-9.391,2.685],[1.536,2.127],[0,0]],"o":[[-5.722,0.931],[9.444,-2.7],[0,0],[0,0]],"v":[[-8.909,-9.07],[-7.939,-2.692],[7.715,-15.478],[-4.811,-19.381]],"c":true}],"e":[{"i":[[3.453,-0.562],[-9.391,2.685],[1.536,2.127],[0,0]],"o":[[-5.722,0.931],[9.444,-2.7],[0,0],[0,0]],"v":[[-8.909,-9.07],[-7.939,-2.692],[7.715,-15.478],[-4.811,-19.381]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":42,"s":[{"i":[[3.453,-0.562],[-9.391,2.685],[1.536,2.127],[0,0]],"o":[[-5.722,0.931],[9.444,-2.7],[0,0],[0,0]],"v":[[-8.909,-9.07],[-7.939,-2.692],[7.715,-15.478],[-4.811,-19.381]],"c":true}],"e":[{"i":[[1.203,-6.24],[-7.402,0.838],[1.536,2.127],[0,0]],"o":[[-1.039,5.389],[4.747,-0.538],[0,0],[0,0]],"v":[[-10.659,2.43],[-11.187,28.112],[16.208,-23.499],[-4.811,-19.381]],"c":true}]},{"t":47.0000019143492}],"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,99.949],"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":1,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.976470589638,0.57647061348,0.57647061348,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[9.625,19.807],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100.231,99.569],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":47.0000019143492,"st":0,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":"left leg Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[-7]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":17,"s":[-7],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":22,"s":[0],"e":[5]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":42,"s":[5],"e":[0]},{"t":47.0000019143492}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[114.346,258.893,0],"e":[119.596,226.893,0],"to":[0.875,-5.33333349227905,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":17,"s":[119.596,226.893,0],"e":[119.846,266.393,0],"to":[0,0,0],"ti":[0.46127620339394,-2.81158828735352,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":22,"s":[119.846,266.393,0],"e":[97.596,219.893,0],"to":[-0.875,5.33333349227905,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":42,"s":[97.596,219.893,0],"e":[114.346,258.893,0],"to":[0,0,0],"ti":[-2.79166674613953,-6.5,0]},{"t":47.0000019143492}],"ix":2},"a":{"a":0,"k":[16.021,16.585,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"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},"n":"0p833_0p833_0p167_0p167","t":0,"s":[{"i":[[-12.369,-1.388],[2.77,3.145],[0,1.393],[0,0],[0,0]],"o":[[10.544,1.183],[-1.665,-1.89],[0,-7.65],[0,0],[0,0]],"v":[[4.143,8.543],[10.207,3.82],[6.493,-1.492],[0.929,-14.48],[-15.771,-16.335]],"c":true}],"e":[{"i":[[-11.149,1.063],[4.196,6.676],[0,0],[0,0],[0,0]],"o":[[4.05,-0.386],[-2.99,-4.757],[0,0],[0,0],[0,0]],"v":[[9.806,8.474],[5.06,-1.478],[2.993,-11.242],[0.928,-14.48],[-16.343,-15.672]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":17,"s":[{"i":[[-11.149,1.063],[4.196,6.676],[0,0],[0,0],[0,0]],"o":[[4.05,-0.386],[-2.99,-4.757],[0,0],[0,0],[0,0]],"v":[[9.806,8.474],[5.06,-1.478],[2.993,-11.242],[0.928,-14.48],[-16.343,-15.672]],"c":true}],"e":[{"i":[[-9.87,-7.218],[0.816,5.06],[0,1.393],[0,0],[0,0]],"o":[[5.454,3.988],[-0.463,-2.868],[0,-7.65],[0,0],[0,0]],"v":[[8.992,22.67],[9.912,7.963],[6.01,-5.865],[0.929,-14.48],[-19.64,-21.193]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":22,"s":[{"i":[[-9.87,-7.218],[0.816,5.06],[0,1.393],[0,0],[0,0]],"o":[[5.454,3.988],[-0.463,-2.868],[0,-7.65],[0,0],[0,0]],"v":[[8.992,22.67],[9.912,7.963],[6.01,-5.865],[0.929,-14.48],[-19.64,-21.193]],"c":true}],"e":[{"i":[[-11.149,1.063],[4.196,6.676],[0,0],[0,0],[0,0]],"o":[[4.05,-0.386],[-2.99,-4.757],[0,0],[0,0],[0,0]],"v":[[9.806,8.474],[5.06,-1.478],[2.993,-11.242],[0.928,-14.48],[-16.343,-15.672]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":42,"s":[{"i":[[-11.149,1.063],[4.196,6.676],[0,0],[0,0],[0,0]],"o":[[4.05,-0.386],[-2.99,-4.757],[0,0],[0,0],[0,0]],"v":[[9.806,8.474],[5.06,-1.478],[2.993,-11.242],[0.928,-14.48],[-16.343,-15.672]],"c":true}],"e":[{"i":[[-12.369,-1.388],[2.77,3.145],[0,1.393],[0,0],[0,0]],"o":[[10.544,1.183],[-1.665,-1.89],[0,-7.65],[0,0],[0,0]],"v":[[4.143,8.543],[10.207,3.82],[6.493,-1.492],[0.929,-14.48],[-15.771,-16.335]],"c":true}]},{"t":47.0000019143492}],"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":1,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.976470589638,0.57647061348,0.57647061348,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[16.083,16.789],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[103.391,102.914],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":47.0000019143492,"st":0,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":"body","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":22,"s":[0],"e":[14]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":42,"s":[14],"e":[0]},{"t":47.0000019143492}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[131.075,163.508,0],"e":[125.075,144.508,0],"to":[-1,-3.16666674613953,0],"ti":[0.16666667163372,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":17,"s":[125.075,144.508,0],"e":[130.075,163.508,0],"to":[-0.16666667163372,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":22,"s":[130.075,163.508,0],"e":[125.075,144.508,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":42,"s":[125.075,144.508,0],"e":[130.075,163.508,0],"to":[0,0,0],"ti":[-0.83333331346512,-3.16666674613953,0]},{"t":47.0000019143492}],"ix":2},"a":{"a":0,"k":[57.909,101.248,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[{"i":[[3.119,14.05],[1.443,14.3],[-2.17,13.017],[24.121,3.711],[1.855,-5.566],[0,0],[3.711,-9.276],[-0.497,-4.769],[0.927,-0.928],[1.074,-2.294],[1.392,-5.65],[-12.598,-18.435],[-23.003,15.653]],"o":[[-3.406,-15.344],[-0.176,-1.741],[1.856,-11.133],[-24.12,-3.711],[0,0],[0,0],[-0.436,1.09],[0.861,8.25],[-0.637,0.638],[-2.503,5.341],[-5.042,20.471],[16.307,23.863],[20.023,-13.625]],"v":[[114.214,133.19],[100.314,82.432],[100.948,46.636],[74.972,3.961],[34.153,24.371],[32.297,29.937],[21.165,41.069],[19.24,50.728],[25.804,69.828],[11.164,95.141],[5.292,111.681],[15.526,172.377],[93.31,188.365]],"c":true}],"e":[{"i":[[2.064,8.136],[5.519,9.808],[2.437,12.97],[31.861,-4.221],[0.18,-13.631],[0,0],[1.918,-5.829],[-4.252,-6.457],[0.927,-0.928],[6.669,-10.901],[0.041,-8.441],[-15.193,-18.637],[-23.788,14.432]],"o":[[-3.865,-15.235],[-0.858,-1.525],[-4.115,-21.896],[-12.162,1.611],[0,0],[0,0],[-0.367,1.115],[6.593,10.012],[-0.637,0.638],[-4.793,7.835],[-0.091,18.721],[14.406,17.672],[31.523,-19.125]],"v":[[116.714,116.69],[100.314,82.932],[88.948,43.136],[42.472,-1.539],[16.153,25.371],[16.797,38.187],[11.665,44.569],[11.74,60.728],[23.804,72.328],[12.164,86.641],[4.292,113.681],[19.026,162.377],[92.31,178.365]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":17,"s":[{"i":[[2.064,8.136],[5.519,9.808],[2.437,12.97],[31.861,-4.221],[0.18,-13.631],[0,0],[1.918,-5.829],[-4.252,-6.457],[0.927,-0.928],[6.669,-10.901],[0.041,-8.441],[-15.193,-18.637],[-23.788,14.432]],"o":[[-3.865,-15.235],[-0.858,-1.525],[-4.115,-21.896],[-12.162,1.611],[0,0],[0,0],[-0.367,1.115],[6.593,10.012],[-0.637,0.638],[-4.793,7.835],[-0.091,18.721],[14.406,17.672],[31.523,-19.125]],"v":[[116.714,116.69],[100.314,82.932],[88.948,43.136],[42.472,-1.539],[16.153,25.371],[16.797,38.187],[11.665,44.569],[11.74,60.728],[23.804,72.328],[12.164,86.641],[4.292,113.681],[19.026,162.377],[92.31,178.365]],"c":true}],"e":[{"i":[[3.119,14.05],[1.443,14.3],[-2.17,13.017],[24.121,3.711],[1.855,-5.566],[0,0],[3.711,-9.276],[-0.497,-4.769],[0.927,-0.928],[1.074,-2.294],[1.392,-5.65],[-12.598,-18.435],[-23.003,15.653]],"o":[[-3.406,-15.344],[-0.176,-1.741],[1.856,-11.133],[-24.12,-3.711],[0,0],[0,0],[-0.436,1.09],[0.861,8.25],[-0.637,0.638],[-2.503,5.341],[-5.042,20.471],[16.307,23.863],[20.023,-13.625]],"v":[[114.214,133.19],[100.314,82.432],[100.948,46.636],[74.972,3.961],[34.153,24.371],[32.297,29.937],[21.165,41.069],[19.24,50.728],[25.804,69.828],[11.164,95.141],[5.292,111.681],[15.526,172.377],[93.31,188.365]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":22,"s":[{"i":[[3.119,14.05],[1.443,14.3],[-2.17,13.017],[24.121,3.711],[1.855,-5.566],[0,0],[3.711,-9.276],[-0.497,-4.769],[0.927,-0.928],[1.074,-2.294],[1.392,-5.65],[-12.598,-18.435],[-23.003,15.653]],"o":[[-3.406,-15.344],[-0.176,-1.741],[1.856,-11.133],[-24.12,-3.711],[0,0],[0,0],[-0.436,1.09],[0.861,8.25],[-0.637,0.638],[-2.503,5.341],[-5.042,20.471],[16.307,23.863],[20.023,-13.625]],"v":[[114.214,133.19],[100.314,82.432],[100.948,46.636],[74.972,3.961],[34.153,24.371],[32.297,29.937],[21.165,41.069],[19.24,50.728],[25.804,69.828],[11.164,95.141],[5.292,111.681],[15.526,172.377],[93.31,188.365]],"c":true}],"e":[{"i":[[2.064,8.136],[5.519,9.808],[2.437,12.97],[31.861,-4.221],[0.18,-13.631],[0,0],[1.918,-5.829],[-4.252,-6.457],[0.927,-0.928],[6.669,-10.901],[0.041,-8.441],[-15.193,-18.637],[-23.788,14.432]],"o":[[-3.865,-15.235],[-0.858,-1.525],[-4.115,-21.896],[-12.162,1.611],[0,0],[0,0],[-0.367,1.115],[6.593,10.012],[-0.637,0.638],[-4.793,7.835],[-0.091,18.721],[14.406,17.672],[31.523,-19.125]],"v":[[116.714,116.69],[100.314,82.932],[88.948,43.136],[42.472,-1.539],[16.153,25.371],[16.797,38.187],[11.665,44.569],[11.74,60.728],[23.804,72.328],[12.164,86.641],[4.292,113.681],[19.026,162.377],[92.31,178.365]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":42,"s":[{"i":[[2.064,8.136],[5.519,9.808],[2.437,12.97],[31.861,-4.221],[0.18,-13.631],[0,0],[1.918,-5.829],[-4.252,-6.457],[0.927,-0.928],[6.669,-10.901],[0.041,-8.441],[-15.193,-18.637],[-23.788,14.432]],"o":[[-3.865,-15.235],[-0.858,-1.525],[-4.115,-21.896],[-12.162,1.611],[0,0],[0,0],[-0.367,1.115],[6.593,10.012],[-0.637,0.638],[-4.793,7.835],[-0.091,18.721],[14.406,17.672],[31.523,-19.125]],"v":[[116.714,116.69],[100.314,82.932],[88.948,43.136],[42.472,-1.539],[16.153,25.371],[16.797,38.187],[11.665,44.569],[11.74,60.728],[23.804,72.328],[12.164,86.641],[4.292,113.681],[19.026,162.377],[92.31,178.365]],"c":true}],"e":[{"i":[[3.119,14.05],[1.443,14.3],[-2.17,13.017],[24.121,3.711],[1.855,-5.566],[0,0],[3.711,-9.276],[-0.497,-4.769],[0.927,-0.928],[1.074,-2.294],[1.392,-5.65],[-12.598,-18.435],[-23.003,15.653]],"o":[[-3.406,-15.344],[-0.176,-1.741],[1.856,-11.133],[-24.12,-3.711],[0,0],[0,0],[-0.436,1.09],[0.861,8.25],[-0.637,0.638],[-2.503,5.341],[-5.042,20.471],[16.307,23.863],[20.023,-13.625]],"v":[[114.214,133.19],[100.314,82.432],[100.948,46.636],[74.972,3.961],[34.153,24.371],[32.297,29.937],[21.165,41.069],[19.24,50.728],[25.804,69.828],[11.164,95.141],[5.292,111.681],[15.526,172.377],[93.31,188.365]],"c":true}]},{"t":47.0000019143492}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.976000019148,0.57599995931,0.57599995931,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":47.0000019143492,"st":0,"bm":0},{"ddd":0,"ind":19,"ty":4,"nm":"left ear","parent":14,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[47.905,119.544,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[76.687,99.836,100],"ix":6}},"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},"n":"0p833_0p833_0p167_0p167","t":0,"s":[{"i":[[13,-4.5],[0,0],[0,0]],"o":[[-10.459,3.62],[0,0],[0,0]],"v":[[-8,-120.5],[-19.5,-109.5],[1.932,-112.016]],"c":true}],"e":[{"i":[[10.44,-3.65],[0,0],[0,0]],"o":[[-10.448,3.653],[0,0],[0,0]],"v":[[-26.889,-117.04],[-18.018,-107.449],[-7.084,-114.234]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":17,"s":[{"i":[[10.44,-3.65],[0,0],[0,0]],"o":[[-10.448,3.653],[0,0],[0,0]],"v":[[-26.889,-117.04],[-18.018,-107.449],[-7.084,-114.234]],"c":true}],"e":[{"i":[[14.183,-1.941],[0,0],[0,0]],"o":[[-18.722,2.562],[0,0],[0,0]],"v":[[-3.16,-120.237],[-19.5,-109.5],[1.932,-112.016]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":22,"s":[{"i":[[14.183,-1.941],[0,0],[0,0]],"o":[[-18.722,2.562],[0,0],[0,0]],"v":[[-3.16,-120.237],[-19.5,-109.5],[1.932,-112.016]],"c":true}],"e":[{"i":[[10.932,1.606],[0,0],[0,0]],"o":[[-21.367,-3.138],[0,0],[0,0]],"v":[[3.658,-121.26],[-24.796,-110.572],[-6.371,-112.546]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":42,"s":[{"i":[[10.932,1.606],[0,0],[0,0]],"o":[[-21.367,-3.138],[0,0],[0,0]],"v":[[3.658,-121.26],[-24.796,-110.572],[-6.371,-112.546]],"c":true}],"e":[{"i":[[13,-4.5],[0,0],[0,0]],"o":[[-10.459,3.62],[0,0],[0,0]],"v":[[-8,-120.5],[-19.5,-109.5],[1.932,-112.016]],"c":true}]},{"t":47.0000019143492}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.952941179276,0.509803950787,0.501960813999,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[101.015,100.81],"ix":3},"r":{"a":0,"k":0.022,"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":"Shape 2","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":47.0000019143492,"st":0,"bm":0},{"ddd":0,"ind":20,"ty":4,"nm":"right arm Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[171.186,127.399,0],"ix":2},"a":{"a":0,"k":[52.548,63.288,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"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},"n":"0p833_0p833_0p167_0p167","t":0,"s":[{"i":[[-11.104,-11.125],[-10.566,6.314],[-2.469,1.867],[-0.826,0.524],[0.43,1.436],[0.92,0.748],[2.738,-0.091],[2.379,-0.189],[7.807,0.614],[4.254,0.971]],"o":[[10.295,-6.33],[3.554,-2.124],[0.935,-0.707],[4.367,-2.771],[-0.501,-1.673],[-1.395,-1.134],[-1.711,0.057],[-4.64,0.37],[-18.768,-1.478],[8.543,11.558]],"v":[[-19.199,20.792],[15.781,0.985],[24.956,-5.034],[33.911,-2.903],[32.779,-11.406],[28.355,-15.942],[22.268,-17.235],[16.161,-16.8],[-2.301,-16.674],[-32.458,-20.792]],"c":true}],"e":[{"i":[[-11.104,-11.125],[-15.5,5.99],[-2.532,1.977],[-0.818,0.548],[1.315,0.658],[2.733,-1.47],[2.307,-0.855],[2.425,-0.21],[7.873,0.585],[4.207,1.23]],"o":[[10.722,-6.116],[4.08,-1.577],[0.941,-0.73],[4.189,-2.716],[-6.288,-3.145],[-1.576,0.848],[-1.622,0.601],[-4.686,0.403],[-18.771,-1.407],[7.528,11.882]],"v":[[-20.519,21.393],[8.649,4.112],[26.044,-4.509],[33.858,-10.09],[38.489,-23.076],[26.709,-19.924],[22.363,-17.256],[13.134,-18.87],[-8.198,-20.59],[-32.653,-20.553]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":1,"s":[{"i":[[-11.104,-11.125],[-15.5,5.99],[-2.532,1.977],[-0.818,0.548],[1.315,0.658],[2.733,-1.47],[2.307,-0.855],[2.425,-0.21],[7.873,0.585],[4.207,1.23]],"o":[[10.722,-6.116],[4.08,-1.577],[0.941,-0.73],[4.189,-2.716],[-6.288,-3.145],[-1.576,0.848],[-1.622,0.601],[-4.686,0.403],[-18.771,-1.407],[7.528,11.882]],"v":[[-20.519,21.393],[8.649,4.112],[26.044,-4.509],[33.858,-10.09],[38.489,-23.076],[26.709,-19.924],[22.363,-17.256],[13.134,-18.87],[-8.198,-20.59],[-32.653,-20.553]],"c":true}],"e":[{"i":[[-11.104,-11.125],[-14.505,10.067],[-3.542,3.728],[-1.091,0.379],[0.288,0.961],[0.755,0.802],[2.104,0.089],[3.158,-0.545],[8.937,0.129],[3.463,5.376]],"o":[[17.56,-2.697],[6.68,-4.636],[1.042,-1.097],[2.469,-0.858],[-0.436,-1.457],[-1.146,-1.217],[-2.026,-0.086],[-5.416,0.935],[-18.824,-0.272],[-8.717,17.058]],"v":[[-41.654,31.01],[10.463,7.876],[26.189,-5.06],[28.786,-8.112],[33.299,-14.684],[31.518,-23.387],[24.713,-25.943],[16.161,-16.8],[-8.385,-13.15],[-35.767,-16.742]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":17,"s":[{"i":[[-11.104,-11.125],[-14.505,10.067],[-3.542,3.728],[-1.091,0.379],[0.288,0.961],[0.755,0.802],[2.104,0.089],[3.158,-0.545],[8.937,0.129],[3.463,5.376]],"o":[[17.56,-2.697],[6.68,-4.636],[1.042,-1.097],[2.469,-0.858],[-0.436,-1.457],[-1.146,-1.217],[-2.026,-0.086],[-5.416,0.935],[-18.824,-0.272],[-8.717,17.058]],"v":[[-41.654,31.01],[10.463,7.876],[26.189,-5.06],[28.786,-8.112],[33.299,-14.684],[31.518,-23.387],[24.713,-25.943],[16.161,-16.8],[-8.385,-13.15],[-35.767,-16.742]],"c":true}],"e":[{"i":[[-11.104,-11.125],[-9.387,5.292],[-3.92,2.822],[-0.773,0.752],[-0.73,0.992],[5.019,-0.422],[2.101,0.07],[3.195,-0.254],[7.601,1.883],[4.254,0.971]],"o":[[9.446,-0.926],[6.596,-3.719],[1.154,-0.831],[1.526,-1.486],[1.973,-2.682],[-1.59,0.134],[-2.024,-0.067],[-4.64,0.37],[-17.269,-4.278],[8.543,11.558]],"v":[[-19.199,20.792],[9.216,3.798],[25.656,-6.016],[28.563,-8.391],[35.362,-14.602],[32.833,-21.042],[23.922,-17.241],[16.161,-16.8],[-4.885,-17.657],[-32.458,-20.792]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":22,"s":[{"i":[[-11.104,-11.125],[-9.387,5.292],[-3.92,2.822],[-0.773,0.752],[-0.73,0.992],[5.019,-0.422],[2.101,0.07],[3.195,-0.254],[7.601,1.883],[4.254,0.971]],"o":[[9.446,-0.926],[6.596,-3.719],[1.154,-0.831],[1.526,-1.486],[1.973,-2.682],[-1.59,0.134],[-2.024,-0.067],[-4.64,0.37],[-17.269,-4.278],[8.543,11.558]],"v":[[-19.199,20.792],[9.216,3.798],[25.656,-6.016],[28.563,-8.391],[35.362,-14.602],[32.833,-21.042],[23.922,-17.241],[16.161,-16.8],[-4.885,-17.657],[-32.458,-20.792]],"c":true}],"e":[{"i":[[-11.104,-11.125],[-10.566,6.314],[-2.638,2.383],[-0.503,0.637],[-0.393,0.923],[2.901,0.041],[2.651,-0.472],[3.195,-0.254],[7.807,0.614],[4.254,0.971]],"o":[[10.295,-6.33],[4.866,-2.908],[0.776,-0.701],[0.993,-1.259],[1.852,-4.349],[-1.596,-0.023],[-1.993,0.355],[-4.64,0.37],[-18.768,-1.478],[8.543,11.558]],"v":[[-19.199,20.792],[15.781,0.985],[27.397,-7.033],[29.325,-9.043],[32.427,-12.909],[31.801,-24.024],[23.922,-17.241],[16.161,-16.8],[-2.301,-16.674],[-32.458,-20.792]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":42,"s":[{"i":[[-11.104,-11.125],[-10.566,6.314],[-2.638,2.383],[-0.503,0.637],[-0.393,0.923],[2.901,0.041],[2.651,-0.472],[3.195,-0.254],[7.807,0.614],[4.254,0.971]],"o":[[10.295,-6.33],[4.866,-2.908],[0.776,-0.701],[0.993,-1.259],[1.852,-4.349],[-1.596,-0.023],[-1.993,0.355],[-4.64,0.37],[-18.768,-1.478],[8.543,11.558]],"v":[[-19.199,20.792],[15.781,0.985],[27.397,-7.033],[29.325,-9.043],[32.427,-12.909],[31.801,-24.024],[23.922,-17.241],[16.161,-16.8],[-2.301,-16.674],[-32.458,-20.792]],"c":true}],"e":[{"i":[[-11.104,-11.125],[-10.566,6.314],[-2.638,2.383],[-0.503,0.637],[0.288,0.961],[0.747,0.74],[2.101,0.07],[3.195,-0.254],[7.807,0.614],[4.254,0.971]],"o":[[10.295,-6.33],[4.866,-2.908],[0.776,-0.701],[0.993,-1.259],[-0.436,-1.457],[-1.134,-1.123],[-2.024,-0.067],[-4.64,0.37],[-18.768,-1.478],[8.543,11.558]],"v":[[-19.199,20.792],[15.781,0.985],[27.397,-7.033],[29.325,-9.043],[30.454,-12.39],[28.7,-15.633],[23.922,-17.241],[16.161,-16.8],[-2.301,-16.674],[-32.458,-20.792]],"c":true}]},{"t":47.0000019143492}],"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[0,0],"e":[-7.516,-68.234],"to":[-1.25260412693024,-11.3723955154419],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":17,"s":[-7.516,-68.234],"e":[0,0],"to":[0,0],"ti":[0.44322040677071,-8.47819042205811]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":22,"s":[0,0],"e":[-10.175,-17.365],"to":[-0.44322040677071,8.47819042205811],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":42,"s":[-10.175,-17.365],"e":[0,0],"to":[0,0],"ti":[-1.69582462310791,-2.89420580863953]},{"t":47.0000019143492}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[101.323,101.673],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[-34]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":17,"s":[-34],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":22,"s":[0],"e":[25.257]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":42,"s":[25.257],"e":[0]},{"t":47.0000019143492}],"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":1,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.976470589638,0.57647061348,0.57647061348,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[74.24,107.805],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[98.342,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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":47.0000019143492,"st":0,"bm":0},{"ddd":0,"ind":21,"ty":4,"nm":"Tail Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[-33]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":17,"s":[-33],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":22,"s":[0],"e":[-17]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":42,"s":[-17],"e":[0]},{"t":47.0000019143492}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[212.335,167.723,0],"e":[190.335,118.723,0],"to":[-3.66666674613953,-8.16666698455811,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":17,"s":[190.335,118.723,0],"e":[212.335,167.723,0],"to":[0,0,0],"ti":[-0.83333331346512,-1.83333337306976,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":22,"s":[212.335,167.723,0],"e":[195.335,129.723,0],"to":[0.83333331346512,1.83333337306976,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":42,"s":[195.335,129.723,0],"e":[212.335,167.723,0],"to":[0,0,0],"ti":[-2.83333325386047,-6.33333349227905,0]},{"t":47.0000019143492}],"ix":2},"a":{"a":0,"k":[54.728,57.385,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[15.626,-43.075],[8.28,-11.357],[-20.938,9.59],[-4.438,25.785],[17.722,4.423],[2.676,0]],"o":[[-6.694,18.454],[12.237,-1.587],[23.8,-10.901],[3.197,-18.576],[-2.934,-0.733],[-23.09,0.001]],"v":[[-30.358,12.605],[-54.478,57.135],[-2.526,42.293],[51.281,-13.37],[30.872,-56.045],[22.465,-57.136]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":1,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.952941179276,0.509803950787,0.501960813999,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[54.728,57.386],"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":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":47.0000019143492,"st":0,"bm":0},{"ddd":0,"ind":23,"ty":4,"nm":"left hand","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[-62]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":17,"s":[-62],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":22,"s":[0],"e":[2]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":42,"s":[2],"e":[0]},{"t":47.0000019143492}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[73.59,148.469,0],"e":[66.59,159.469,0],"to":[-1.16666662693024,1.83333337306976,0],"ti":[0.5,0.83333331346512,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":17,"s":[66.59,159.469,0],"e":[70.59,143.469,0],"to":[-0.5,-0.83333331346512,0],"ti":[-2.5,7.16666650772095,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":22,"s":[70.59,143.469,0],"e":[81.59,116.469,0],"to":[2.5,-7.16666650772095,0],"ti":[-0.5,-0.83333331346512,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":42,"s":[81.59,116.469,0],"e":[73.59,148.469,0],"to":[0.5,0.83333331346512,0],"ti":[1.33333337306976,-5.33333349227905,0]},{"t":47.0000019143492}],"ix":2},"a":{"a":0,"k":[26.314,29.276,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"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},"n":"0p833_0p833_0p167_0p167","t":0,"s":[{"i":[[2.354,-5.536],[-1.08,-3.642],[-22.462,-9.92],[-0.008,2.143],[8.241,2.434],[0.346,0.758],[2.55,0.62]],"o":[[-1.514,3.559],[2.627,8.841],[-1.75,-5.549],[-4.541,0.998],[-7.681,-2.268],[-0.844,-1.846],[-4.134,0.346]],"v":[[-24.551,-20.684],[-24.479,-9.865],[9.958,29.026],[26.064,-6.89],[3.748,-10.381],[-10.835,-16.004],[-14.424,-29.026]],"c":true}],"e":[{"i":[[-2.873,-10.082],[-1.08,-3.642],[-27.836,-10.69],[-0.008,2.143],[7.525,2.066],[0.88,0.302],[2.55,0.62]],"o":[[1.06,3.72],[2.627,8.841],[-1.75,-5.549],[-4.045,0.889],[-8.797,-2.415],[-5.212,-1.789],[1.105,-8.394]],"v":[[-30.277,-15.063],[-24.157,-9.482],[9.958,29.026],[38.112,-0.636],[3.547,-8.438],[-10.835,-16.004],[-22.437,-22.629]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":17,"s":[{"i":[[-2.873,-10.082],[-1.08,-3.642],[-27.836,-10.69],[-0.008,2.143],[7.525,2.066],[0.88,0.302],[2.55,0.62]],"o":[[1.06,3.72],[2.627,8.841],[-1.75,-5.549],[-4.045,0.889],[-8.797,-2.415],[-5.212,-1.789],[1.105,-8.394]],"v":[[-30.277,-15.063],[-24.157,-9.482],[9.958,29.026],[38.112,-0.636],[3.547,-8.438],[-10.835,-16.004],[-22.437,-22.629]],"c":true}],"e":[{"i":[[2.354,-5.536],[-1.08,-3.642],[-10.4,-18.741],[-0.008,2.143],[7.525,2.066],[0.386,0.847],[2.55,0.62]],"o":[[-1.514,3.559],[2.627,8.841],[-1.75,-5.549],[-4.045,0.889],[-8.797,-2.415],[-0.844,-1.846],[-4.134,0.346]],"v":[[-24.551,-20.684],[-24.479,-9.865],[9.958,29.026],[33.529,-4.995],[8.487,-12.851],[-10.835,-16.004],[-14.424,-29.026]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":22,"s":[{"i":[[2.354,-5.536],[-1.08,-3.642],[-10.4,-18.741],[-0.008,2.143],[7.525,2.066],[0.386,0.847],[2.55,0.62]],"o":[[-1.514,3.559],[2.627,8.841],[-1.75,-5.549],[-4.045,0.889],[-8.797,-2.415],[-0.844,-1.846],[-4.134,0.346]],"v":[[-24.551,-20.684],[-24.479,-9.865],[9.958,29.026],[33.529,-4.995],[8.487,-12.851],[-10.835,-16.004],[-14.424,-29.026]],"c":true}],"e":[{"i":[[-2.873,-10.082],[-1.08,-3.642],[-27.836,-10.69],[-0.008,2.143],[7.525,2.066],[0.88,0.302],[2.55,0.62]],"o":[[1.06,3.72],[2.627,8.841],[-1.75,-5.549],[-4.045,0.889],[-8.797,-2.415],[-5.212,-1.789],[1.105,-8.394]],"v":[[-30.277,-15.063],[-24.157,-9.482],[9.958,29.026],[38.112,-0.636],[3.547,-8.438],[-10.835,-16.004],[-22.437,-22.629]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":42,"s":[{"i":[[-2.873,-10.082],[-1.08,-3.642],[-27.836,-10.69],[-0.008,2.143],[7.525,2.066],[0.88,0.302],[2.55,0.62]],"o":[[1.06,3.72],[2.627,8.841],[-1.75,-5.549],[-4.045,0.889],[-8.797,-2.415],[-5.212,-1.789],[1.105,-8.394]],"v":[[-30.277,-15.063],[-24.157,-9.482],[9.958,29.026],[38.112,-0.636],[3.547,-8.438],[-10.835,-16.004],[-22.437,-22.629]],"c":true}],"e":[{"i":[[2.354,-5.536],[-1.08,-3.642],[-22.462,-9.92],[-0.008,2.143],[8.241,2.434],[0.346,0.758],[2.55,0.62]],"o":[[-1.514,3.559],[2.627,8.841],[-1.75,-5.549],[-4.541,0.998],[-7.681,-2.268],[-0.844,-1.846],[-4.134,0.346]],"v":[[-24.551,-20.684],[-24.479,-9.865],[9.958,29.026],[26.064,-6.89],[3.748,-10.381],[-10.835,-16.004],[-14.424,-29.026]],"c":true}]},{"t":47.0000019143492}],"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0.152,0.512],"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":1,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.951700389385,0.511714220047,0.503170788288,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[26.602,29.879],"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":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":47.0000019143492,"st":0,"bm":0},{"ddd":0,"ind":24,"ty":4,"nm":"shadow","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[145,183,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[109.014,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":0,"s":[64.705,22.852],"e":[30,10.595]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":17,"s":[30,10.595],"e":[64.705,22.852]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":22,"s":[64.705,22.852],"e":[30,10.595]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":42,"s":[30,10.595],"e":[64.705,22.852]},{"t":46.0000018736184}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0.532000601292,0.344732820988,0.344732820988,1],"e":[0.361688107252,0.33187431097,0.33187431097,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":17,"s":[0.361688107252,0.33187431097,0.33187431097,1],"e":[0.532000601292,0.344732820988,0.344732820988,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":22,"s":[0.532000601292,0.344732820988,0.344732820988,1],"e":[0.361688107252,0.33187431097,0.33187431097,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":42,"s":[0.361688107252,0.33187431097,0.33187431097,1],"e":[0.532000601292,0.344732820988,0.344732820988,1]},{"t":46.0000018736184}],"ix":4},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[40],"e":[20]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":17,"s":[20],"e":[40]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":22,"s":[40],"e":[20]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":42,"s":[20],"e":[40]},{"t":46.0000018736184}],"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-13.212,107.812],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[92.827,156.063],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":167.000006802049,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/anubis.json b/submodules/RLottie/Sources/rlottie/example/resource/anubis.json deleted file mode 100644 index 232779db51..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/anubis.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.1.8","fr":60,"ip":3,"op":140,"w":500,"h":500,"nm":"ANUB","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"a","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-3.113,"ix":10},"p":{"a":0,"k":[327.214,315.758,0],"ix":2},"a":{"a":0,"k":[-17,77,0],"ix":1},"s":{"a":0,"k":[-100,100,100],"ix":6}},"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},"n":"0p833_0p833_0p167_0p167","t":-20.2,"s":[{"i":[[-6.5,-2],[-4.5,-15.5]],"o":[[6.5,2],[3.209,11.054]],"v":[[-17,75],[18,154]],"c":false}],"e":[{"i":[[-4.161,-1.28],[50.642,-32.142]],"o":[[4.161,1.28],[-33.86,21.491]],"v":[[-17,75],[1.858,129.142]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":-13.001,"s":[{"i":[[-4.161,-1.28],[50.642,-32.142]],"o":[[4.161,1.28],[-33.86,21.491]],"v":[[-17,75],[1.858,129.142]],"c":false}],"e":[{"i":[[0,0],[29.75,-14.5]],"o":[[0,0],[-29.75,14.5]],"v":[[-17,75],[-56.25,145.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":-3.399,"s":[{"i":[[0,0],[29.75,-14.5]],"o":[[0,0],[-29.75,14.5]],"v":[[-17,75],[-56.25,145.5]],"c":false}],"e":[{"i":[[0,0],[29.75,-14.5]],"o":[[0,0],[-29.75,14.5]],"v":[[-17,75],[-56.25,145.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":2.999,"s":[{"i":[[0,0],[29.75,-14.5]],"o":[[0,0],[-29.75,14.5]],"v":[[-17,75],[-56.25,145.5]],"c":false}],"e":[{"i":[[-4.161,-1.28],[50.642,-32.142]],"o":[[4.161,1.28],[-33.86,21.491]],"v":[[-17,75],[1.858,129.142]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":13.4,"s":[{"i":[[-4.161,-1.28],[50.642,-32.142]],"o":[[4.161,1.28],[-33.86,21.491]],"v":[[-17,75],[1.858,129.142]],"c":false}],"e":[{"i":[[-6.5,-2],[-4.5,-15.5]],"o":[[6.5,2],[3.209,11.054]],"v":[[-17,75],[18,154]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":20.599,"s":[{"i":[[-6.5,-2],[-4.5,-15.5]],"o":[[6.5,2],[3.209,11.054]],"v":[[-17,75],[18,154]],"c":false}],"e":[{"i":[[0,0],[-3.5,-4.5]],"o":[[0,0],[3.5,4.5]],"v":[[-17,75],[-11.5,164]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":32.599,"s":[{"i":[[0,0],[-3.5,-4.5]],"o":[[0,0],[3.5,4.5]],"v":[[-17,75],[-11.5,164]],"c":false}],"e":[{"i":[[0,0],[-7.5,-34]],"o":[[0,0],[7.5,34]],"v":[[-17,75],[-61,161]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":42.2,"s":[{"i":[[0,0],[-7.5,-34]],"o":[[0,0],[7.5,34]],"v":[[-17,75],[-61,161]],"c":false}],"e":[{"i":[[0,0],[29.75,-14.5]],"o":[[0,0],[-29.75,14.5]],"v":[[-17,75],[-56.25,145.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":49.999,"s":[{"i":[[0,0],[29.75,-14.5]],"o":[[0,0],[-29.75,14.5]],"v":[[-17,75],[-56.25,145.5]],"c":false}],"e":[{"i":[[-4.161,-1.28],[50.642,-32.142]],"o":[[4.161,1.28],[-33.86,21.491]],"v":[[-17,75],[1.858,129.142]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":58.999,"s":[{"i":[[-4.161,-1.28],[50.642,-32.142]],"o":[[4.161,1.28],[-33.86,21.491]],"v":[[-17,75],[1.858,129.142]],"c":false}],"e":[{"i":[[-6.5,-2],[-4.5,-15.5]],"o":[[6.5,2],[3.209,11.054]],"v":[[-17,75],[18,154]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":66.2,"s":[{"i":[[-6.5,-2],[-4.5,-15.5]],"o":[[6.5,2],[3.209,11.054]],"v":[[-17,75],[18,154]],"c":false}],"e":[{"i":[[0,0],[-3.5,-4.5]],"o":[[0,0],[3.5,4.5]],"v":[[-17,75],[-11.5,164]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":78.2,"s":[{"i":[[0,0],[-3.5,-4.5]],"o":[[0,0],[3.5,4.5]],"v":[[-17,75],[-11.5,164]],"c":false}],"e":[{"i":[[0,0],[-7.5,-34]],"o":[[0,0],[7.5,34]],"v":[[-17,75],[-61,161]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":87.8,"s":[{"i":[[0,0],[-7.5,-34]],"o":[[0,0],[7.5,34]],"v":[[-17,75],[-61,161]],"c":false}],"e":[{"i":[[0,0],[29.75,-14.5]],"o":[[0,0],[-29.75,14.5]],"v":[[-17,75],[-56.25,145.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":94.999,"s":[{"i":[[0,0],[29.75,-14.5]],"o":[[0,0],[-29.75,14.5]],"v":[[-17,75],[-56.25,145.5]],"c":false}],"e":[{"i":[[-4.161,-1.28],[50.642,-32.142]],"o":[[4.161,1.28],[-33.86,21.491]],"v":[[-17,75],[1.858,129.142]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":104.599,"s":[{"i":[[-4.161,-1.28],[50.642,-32.142]],"o":[[4.161,1.28],[-33.86,21.491]],"v":[[-17,75],[1.858,129.142]],"c":false}],"e":[{"i":[[-6.5,-2],[-4.5,-15.5]],"o":[[6.5,2],[3.209,11.054]],"v":[[-17,75],[18,154]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":111.8,"s":[{"i":[[-6.5,-2],[-4.5,-15.5]],"o":[[6.5,2],[3.209,11.054]],"v":[[-17,75],[18,154]],"c":false}],"e":[{"i":[[0,0],[-3.5,-4.5]],"o":[[0,0],[3.5,4.5]],"v":[[-17,75],[-11.5,164]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":123.8,"s":[{"i":[[0,0],[-3.5,-4.5]],"o":[[0,0],[3.5,4.5]],"v":[[-17,75],[-11.5,164]],"c":false}],"e":[{"i":[[0,0],[-7.5,-34]],"o":[[0,0],[7.5,34]],"v":[[-17,75],[-61,161]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":133.999,"s":[{"i":[[0,0],[-7.5,-34]],"o":[[0,0],[7.5,34]],"v":[[-17,75],[-61,161]],"c":false}],"e":[{"i":[[0,0],[29.75,-14.5]],"o":[[0,0],[-29.75,14.5]],"v":[[-17,75],[-56.25,145.5]],"c":false}]},{"t":138.99921875}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.149019607843,0.133333333333,0.109803921569,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":15,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[-22,82],"ix":2},"a":{"a":0,"k":[-22,82],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":-3,"op":289,"st":-20.2,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"b","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-6,"ix":10},"p":{"a":0,"k":[221.537,318.968,0],"ix":2},"a":{"a":0,"k":[-17,77,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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},"n":"0p833_0p833_0p167_0p167","t":-2.4,"s":[{"i":[[-6.5,-2],[-4.5,-15.5]],"o":[[6.5,2],[3.209,11.054]],"v":[[-17,75],[18,154]],"c":false}],"e":[{"i":[[-4.161,-1.28],[50.642,-32.142]],"o":[[4.161,1.28],[-33.86,21.491]],"v":[[-17,75],[1.858,129.142]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":3,"s":[{"i":[[-4.161,-1.28],[50.642,-32.142]],"o":[[4.161,1.28],[-33.86,21.491]],"v":[[-17,75],[1.858,129.142]],"c":false}],"e":[{"i":[[0,0],[29.75,-14.5]],"o":[[0,0],[-29.75,14.5]],"v":[[-17,75],[-56.25,145.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":14.401,"s":[{"i":[[0,0],[29.75,-14.5]],"o":[[0,0],[-29.75,14.5]],"v":[[-17,75],[-56.25,145.5]],"c":false}],"e":[{"i":[[0,0],[-7.5,-34]],"o":[[0,0],[7.5,34]],"v":[[-17,75],[-61,161]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":21.6,"s":[{"i":[[0,0],[-7.5,-34]],"o":[[0,0],[7.5,34]],"v":[[-17,75],[-61,161]],"c":false}],"e":[{"i":[[0,0],[-3.5,-4.5]],"o":[[0,0],[3.5,4.5]],"v":[[-17,75],[-11.5,164]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":31.2,"s":[{"i":[[0,0],[-3.5,-4.5]],"o":[[0,0],[3.5,4.5]],"v":[[-17,75],[-11.5,164]],"c":false}],"e":[{"i":[[-6.5,-2],[-4.5,-15.5]],"o":[[6.5,2],[3.209,11.054]],"v":[[-17,75],[18,154]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":43.2,"s":[{"i":[[-6.5,-2],[-4.5,-15.5]],"o":[[6.5,2],[3.209,11.054]],"v":[[-17,75],[18,154]],"c":false}],"e":[{"i":[[-4.161,-1.28],[50.642,-32.142]],"o":[[4.161,1.28],[-33.86,21.491]],"v":[[-17,75],[1.858,129.142]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":50.401,"s":[{"i":[[-4.161,-1.28],[50.642,-32.142]],"o":[[4.161,1.28],[-33.86,21.491]],"v":[[-17,75],[1.858,129.142]],"c":false}],"e":[{"i":[[0,0],[29.75,-14.5]],"o":[[0,0],[-29.75,14.5]],"v":[[-17,75],[-56.25,145.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":60,"s":[{"i":[[0,0],[29.75,-14.5]],"o":[[0,0],[-29.75,14.5]],"v":[[-17,75],[-56.25,145.5]],"c":false}],"e":[{"i":[[0,0],[-7.5,-34]],"o":[[0,0],[7.5,34]],"v":[[-17,75],[-61,161]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":67.2,"s":[{"i":[[0,0],[-7.5,-34]],"o":[[0,0],[7.5,34]],"v":[[-17,75],[-61,161]],"c":false}],"e":[{"i":[[0,0],[-3.5,-4.5]],"o":[[0,0],[3.5,4.5]],"v":[[-17,75],[-11.5,164]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":76.799,"s":[{"i":[[0,0],[-3.5,-4.5]],"o":[[0,0],[3.5,4.5]],"v":[[-17,75],[-11.5,164]],"c":false}],"e":[{"i":[[-6.5,-2],[-4.5,-15.5]],"o":[[6.5,2],[3.209,11.054]],"v":[[-17,75],[18,154]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":88.799,"s":[{"i":[[-6.5,-2],[-4.5,-15.5]],"o":[[6.5,2],[3.209,11.054]],"v":[[-17,75],[18,154]],"c":false}],"e":[{"i":[[-4.161,-1.28],[50.642,-32.142]],"o":[[4.161,1.28],[-33.86,21.491]],"v":[[-17,75],[1.858,129.142]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":96,"s":[{"i":[[-4.161,-1.28],[50.642,-32.142]],"o":[[4.161,1.28],[-33.86,21.491]],"v":[[-17,75],[1.858,129.142]],"c":false}],"e":[{"i":[[0,0],[29.75,-14.5]],"o":[[0,0],[-29.75,14.5]],"v":[[-17,75],[-56.25,145.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":105.6,"s":[{"i":[[0,0],[29.75,-14.5]],"o":[[0,0],[-29.75,14.5]],"v":[[-17,75],[-56.25,145.5]],"c":false}],"e":[{"i":[[0,0],[-7.5,-34]],"o":[[0,0],[7.5,34]],"v":[[-17,75],[-61,161]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":112.799,"s":[{"i":[[0,0],[-7.5,-34]],"o":[[0,0],[7.5,34]],"v":[[-17,75],[-61,161]],"c":false}],"e":[{"i":[[0,0],[-3.5,-4.5]],"o":[[0,0],[3.5,4.5]],"v":[[-17,75],[-11.5,164]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":122.401,"s":[{"i":[[0,0],[-3.5,-4.5]],"o":[[0,0],[3.5,4.5]],"v":[[-17,75],[-11.5,164]],"c":false}],"e":[{"i":[[-6.5,-2],[-4.5,-15.5]],"o":[[6.5,2],[3.209,11.054]],"v":[[-17,75],[18,154]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":132,"s":[{"i":[[-6.5,-2],[-4.5,-15.5]],"o":[[6.5,2],[3.209,11.054]],"v":[[-17,75],[18,154]],"c":false}],"e":[{"i":[[-4.161,-1.28],[50.642,-32.142]],"o":[[4.161,1.28],[-33.86,21.491]],"v":[[-17,75],[1.858,129.142]],"c":false}]},{"t":139.000390625}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.149019607843,0.133333333333,0.109803921569,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":15,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[-22,82],"ix":2},"a":{"a":0,"k":[-22,82],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":288,"st":-2.4,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"c","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-3.113,"ix":10},"p":{"a":0,"k":[361.652,319.398,0],"ix":2},"a":{"a":0,"k":[-17,77,0],"ix":1},"s":{"a":0,"k":[-100,100,100],"ix":6}},"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},"n":"0p833_0p833_0p167_0p167","t":-14.4,"s":[{"i":[[-6.5,-2],[-4.5,-15.5]],"o":[[6.5,2],[3.209,11.054]],"v":[[-17,75],[18,154]],"c":false}],"e":[{"i":[[-4.161,-1.28],[50.642,-32.142]],"o":[[4.161,1.28],[-33.86,21.491]],"v":[[-17,75],[1.858,129.142]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":-7.201,"s":[{"i":[[-4.161,-1.28],[50.642,-32.142]],"o":[[4.161,1.28],[-33.86,21.491]],"v":[[-17,75],[1.858,129.142]],"c":false}],"e":[{"i":[[-6.5,-2],[-4.5,-15.5]],"o":[[6.5,2],[3.209,11.054]],"v":[[-17,75],[18,154]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":-0.002,"s":[{"i":[[-6.5,-2],[-4.5,-15.5]],"o":[[6.5,2],[3.209,11.054]],"v":[[-17,75],[18,154]],"c":false}],"e":[{"i":[[-3.791,-1.166],[-4.083,-10.915]],"o":[[3.791,1.166],[3.33,8.322]],"v":[[-17,75],[5.704,158.168]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":3,"s":[{"i":[[-3.791,-1.166],[-4.083,-10.915]],"o":[[3.791,1.166],[3.33,8.322]],"v":[[-17,75],[5.704,158.168]],"c":false}],"e":[{"i":[[0,0],[-3.5,-4.5]],"o":[[0,0],[3.5,4.5]],"v":[[-17,75],[-11.5,164]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":11.998,"s":[{"i":[[0,0],[-3.5,-4.5]],"o":[[0,0],[3.5,4.5]],"v":[[-17,75],[-11.5,164]],"c":false}],"e":[{"i":[[0,0],[-7.5,-34]],"o":[[0,0],[7.5,34]],"v":[[-17,75],[-61,161]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":21.6,"s":[{"i":[[0,0],[-7.5,-34]],"o":[[0,0],[7.5,34]],"v":[[-17,75],[-61,161]],"c":false}],"e":[{"i":[[0,0],[29.75,-14.5]],"o":[[0,0],[-29.75,14.5]],"v":[[-17,75],[-56.25,145.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":28.799,"s":[{"i":[[0,0],[29.75,-14.5]],"o":[[0,0],[-29.75,14.5]],"v":[[-17,75],[-56.25,145.5]],"c":false}],"e":[{"i":[[-4.161,-1.28],[50.642,-32.142]],"o":[[4.161,1.28],[-33.86,21.491]],"v":[[-17,75],[1.858,129.142]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":38.399,"s":[{"i":[[-4.161,-1.28],[50.642,-32.142]],"o":[[4.161,1.28],[-33.86,21.491]],"v":[[-17,75],[1.858,129.142]],"c":false}],"e":[{"i":[[-6.5,-2],[-4.5,-15.5]],"o":[[6.5,2],[3.209,11.054]],"v":[[-17,75],[18,154]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":45.6,"s":[{"i":[[-6.5,-2],[-4.5,-15.5]],"o":[[6.5,2],[3.209,11.054]],"v":[[-17,75],[18,154]],"c":false}],"e":[{"i":[[0,0],[-3.5,-4.5]],"o":[[0,0],[3.5,4.5]],"v":[[-17,75],[-11.5,164]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":57.6,"s":[{"i":[[0,0],[-3.5,-4.5]],"o":[[0,0],[3.5,4.5]],"v":[[-17,75],[-11.5,164]],"c":false}],"e":[{"i":[[0,0],[-7.5,-34]],"o":[[0,0],[7.5,34]],"v":[[-17,75],[-61,161]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":67.2,"s":[{"i":[[0,0],[-7.5,-34]],"o":[[0,0],[7.5,34]],"v":[[-17,75],[-61,161]],"c":false}],"e":[{"i":[[0,0],[29.75,-14.5]],"o":[[0,0],[-29.75,14.5]],"v":[[-17,75],[-56.25,145.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":74.399,"s":[{"i":[[0,0],[29.75,-14.5]],"o":[[0,0],[-29.75,14.5]],"v":[[-17,75],[-56.25,145.5]],"c":false}],"e":[{"i":[[-4.161,-1.28],[50.642,-32.142]],"o":[[4.161,1.28],[-33.86,21.491]],"v":[[-17,75],[1.858,129.142]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":83.998,"s":[{"i":[[-4.161,-1.28],[50.642,-32.142]],"o":[[4.161,1.28],[-33.86,21.491]],"v":[[-17,75],[1.858,129.142]],"c":false}],"e":[{"i":[[-6.5,-2],[-4.5,-15.5]],"o":[[6.5,2],[3.209,11.054]],"v":[[-17,75],[18,154]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":91.2,"s":[{"i":[[-6.5,-2],[-4.5,-15.5]],"o":[[6.5,2],[3.209,11.054]],"v":[[-17,75],[18,154]],"c":false}],"e":[{"i":[[0,0],[-3.5,-4.5]],"o":[[0,0],[3.5,4.5]],"v":[[-17,75],[-11.5,164]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":103.2,"s":[{"i":[[0,0],[-3.5,-4.5]],"o":[[0,0],[3.5,4.5]],"v":[[-17,75],[-11.5,164]],"c":false}],"e":[{"i":[[0,0],[-7.5,-34]],"o":[[0,0],[7.5,34]],"v":[[-17,75],[-61,161]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":112.799,"s":[{"i":[[0,0],[-7.5,-34]],"o":[[0,0],[7.5,34]],"v":[[-17,75],[-61,161]],"c":false}],"e":[{"i":[[0,0],[29.75,-14.5]],"o":[[0,0],[-29.75,14.5]],"v":[[-17,75],[-56.25,145.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":119.998,"s":[{"i":[[0,0],[29.75,-14.5]],"o":[[0,0],[-29.75,14.5]],"v":[[-17,75],[-56.25,145.5]],"c":false}],"e":[{"i":[[-4.161,-1.28],[50.642,-32.142]],"o":[[4.161,1.28],[-33.86,21.491]],"v":[[-17,75],[1.858,129.142]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":130,"s":[{"i":[[-4.161,-1.28],[50.642,-32.142]],"o":[[4.161,1.28],[-33.86,21.491]],"v":[[-17,75],[1.858,129.142]],"c":false}],"e":[{"i":[[-3.791,-1.166],[-4.083,-10.915]],"o":[[3.791,1.166],[3.33,8.322]],"v":[[-17,75],[5.704,158.168]],"c":false}]},{"t":139.000390625}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.149019607843,0.133333333333,0.109803921569,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":15,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[-22,82],"ix":2},"a":{"a":0,"k":[-22,82],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":-20,"op":279,"st":-14.4,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"d","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-6,"ix":10},"p":{"a":0,"k":[254.302,326.574,0],"ix":2},"a":{"a":0,"k":[-17,77,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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},"n":"0p833_0p833_0p167_0p167","t":-28.8,"s":[{"i":[[-6.5,-2],[-4.5,-15.5]],"o":[[6.5,2],[3.209,11.054]],"v":[[-17,75],[18,154]],"c":false}],"e":[{"i":[[-4.161,-1.28],[50.642,-32.142]],"o":[[4.161,1.28],[-33.86,21.491]],"v":[[-17,75],[1.858,129.142]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":-21.601,"s":[{"i":[[-4.161,-1.28],[50.642,-32.142]],"o":[[4.161,1.28],[-33.86,21.491]],"v":[[-17,75],[1.858,129.142]],"c":false}],"e":[{"i":[[0,0],[29.75,-14.5]],"o":[[0,0],[-29.75,14.5]],"v":[[-17,75],[-56.25,145.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":-11.999,"s":[{"i":[[0,0],[29.75,-14.5]],"o":[[0,0],[-29.75,14.5]],"v":[[-17,75],[-56.25,145.5]],"c":false}],"e":[{"i":[[0,0],[-7.5,-34]],"o":[[0,0],[7.5,34]],"v":[[-17,75],[-61,161]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":-4.8,"s":[{"i":[[0,0],[-7.5,-34]],"o":[[0,0],[7.5,34]],"v":[[-17,75],[-61,161]],"c":false}],"e":[{"i":[[0,0],[-3.5,-4.5]],"o":[[0,0],[3.5,4.5]],"v":[[-17,75],[-11.5,164]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":2.8,"s":[{"i":[[0,0],[-3.5,-4.5]],"o":[[0,0],[3.5,4.5]],"v":[[-17,75],[-11.5,164]],"c":false}],"e":[{"i":[[-6.5,-2],[-4.5,-15.5]],"o":[[6.5,2],[3.209,11.054]],"v":[[-17,75],[18,154]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":16.8,"s":[{"i":[[-6.5,-2],[-4.5,-15.5]],"o":[[6.5,2],[3.209,11.054]],"v":[[-17,75],[18,154]],"c":false}],"e":[{"i":[[-4.161,-1.28],[50.642,-32.142]],"o":[[4.161,1.28],[-33.86,21.491]],"v":[[-17,75],[1.858,129.142]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":24.001,"s":[{"i":[[-4.161,-1.28],[50.642,-32.142]],"o":[[4.161,1.28],[-33.86,21.491]],"v":[[-17,75],[1.858,129.142]],"c":false}],"e":[{"i":[[0,0],[29.75,-14.5]],"o":[[0,0],[-29.75,14.5]],"v":[[-17,75],[-56.25,145.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":33.6,"s":[{"i":[[0,0],[29.75,-14.5]],"o":[[0,0],[-29.75,14.5]],"v":[[-17,75],[-56.25,145.5]],"c":false}],"e":[{"i":[[0,0],[-7.5,-34]],"o":[[0,0],[7.5,34]],"v":[[-17,75],[-61,161]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":40.8,"s":[{"i":[[0,0],[-7.5,-34]],"o":[[0,0],[7.5,34]],"v":[[-17,75],[-61,161]],"c":false}],"e":[{"i":[[0,0],[-3.5,-4.5]],"o":[[0,0],[3.5,4.5]],"v":[[-17,75],[-11.5,164]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":50.399,"s":[{"i":[[0,0],[-3.5,-4.5]],"o":[[0,0],[3.5,4.5]],"v":[[-17,75],[-11.5,164]],"c":false}],"e":[{"i":[[-6.5,-2],[-4.5,-15.5]],"o":[[6.5,2],[3.209,11.054]],"v":[[-17,75],[18,154]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":62.399,"s":[{"i":[[-6.5,-2],[-4.5,-15.5]],"o":[[6.5,2],[3.209,11.054]],"v":[[-17,75],[18,154]],"c":false}],"e":[{"i":[[-4.161,-1.28],[50.642,-32.142]],"o":[[4.161,1.28],[-33.86,21.491]],"v":[[-17,75],[1.858,129.142]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":69.6,"s":[{"i":[[-4.161,-1.28],[50.642,-32.142]],"o":[[4.161,1.28],[-33.86,21.491]],"v":[[-17,75],[1.858,129.142]],"c":false}],"e":[{"i":[[0,0],[29.75,-14.5]],"o":[[0,0],[-29.75,14.5]],"v":[[-17,75],[-56.25,145.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":79.2,"s":[{"i":[[0,0],[29.75,-14.5]],"o":[[0,0],[-29.75,14.5]],"v":[[-17,75],[-56.25,145.5]],"c":false}],"e":[{"i":[[0,0],[-7.5,-34]],"o":[[0,0],[7.5,34]],"v":[[-17,75],[-61,161]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":86.399,"s":[{"i":[[0,0],[-7.5,-34]],"o":[[0,0],[7.5,34]],"v":[[-17,75],[-61,161]],"c":false}],"e":[{"i":[[0,0],[-3.5,-4.5]],"o":[[0,0],[3.5,4.5]],"v":[[-17,75],[-11.5,164]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":96.001,"s":[{"i":[[0,0],[-3.5,-4.5]],"o":[[0,0],[3.5,4.5]],"v":[[-17,75],[-11.5,164]],"c":false}],"e":[{"i":[[-6.5,-2],[-4.5,-15.5]],"o":[[6.5,2],[3.209,11.054]],"v":[[-17,75],[18,154]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":106.001,"s":[{"i":[[-6.5,-2],[-4.5,-15.5]],"o":[[6.5,2],[3.209,11.054]],"v":[[-17,75],[18,154]],"c":false}],"e":[{"i":[[-4.161,-1.28],[50.642,-32.142]],"o":[[4.161,1.28],[-33.86,21.491]],"v":[[-17,75],[1.858,129.142]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":113.2,"s":[{"i":[[-4.161,-1.28],[50.642,-32.142]],"o":[[4.161,1.28],[-33.86,21.491]],"v":[[-17,75],[1.858,129.142]],"c":false}],"e":[{"i":[[0,0],[29.75,-14.5]],"o":[[0,0],[-29.75,14.5]],"v":[[-17,75],[-56.25,145.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":121.001,"s":[{"i":[[0,0],[29.75,-14.5]],"o":[[0,0],[-29.75,14.5]],"v":[[-17,75],[-56.25,145.5]],"c":false}],"e":[{"i":[[0,0],[-7.5,-34]],"o":[[0,0],[7.5,34]],"v":[[-17,75],[-61,161]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":130.001,"s":[{"i":[[0,0],[-7.5,-34]],"o":[[0,0],[7.5,34]],"v":[[-17,75],[-61,161]],"c":false}],"e":[{"i":[[0,0],[-3.5,-4.5]],"o":[[0,0],[3.5,4.5]],"v":[[-17,75],[-11.5,164]],"c":false}]},{"t":139.00078125}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.149019607843,0.133333333333,0.109803921569,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":15,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[-22,82],"ix":2},"a":{"a":0,"k":[-22,82],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":266,"st":-28.8,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"b2","parent":7,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.25],"y":[1]},"o":{"x":[0.75],"y":[0]},"n":["0p25_1_0p75_0"],"t":0,"s":[-81],"e":[-97]},{"i":{"x":[0.25],"y":[1]},"o":{"x":[0.75],"y":[0]},"n":["0p25_1_0p75_0"],"t":67.199,"s":[-97],"e":[-81]},{"t":136.80078125}],"ix":10},"p":{"a":0,"k":[-13.573,-61.514,0],"ix":2},"a":{"a":0,"k":[-6,48,0],"ix":1},"s":{"a":0,"k":[73.171,73.171,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[82,82],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.149019607843,0.132484795065,0.111034221275,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-6,48],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":141.6,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"b1","parent":7,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-87,"ix":10},"p":{"a":0,"k":[-27.177,43.546,0],"ix":2},"a":{"a":0,"k":[-6,48,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"fl","c":{"a":0,"k":[0.149019607843,0.132484795065,0.111034221275,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[82,82],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.149019607843,0.132484795065,0.111034221275,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-6,48],"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":"Ellipse 1","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":141.6,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"b","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":83,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":5,"s":[355.857,302.207,0],"e":[355.857,308.207,0],"to":[0,1,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":16.801,"s":[355.857,308.207,0],"e":[355.857,302.207,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":33.6,"s":[355.857,302.207,0],"e":[355.857,308.207,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":50.4,"s":[355.857,308.207,0],"e":[355.857,302.207,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":67.199,"s":[355.857,302.207,0],"e":[355.857,308.207,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":84,"s":[355.857,308.207,0],"e":[355.857,302.207,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":100.801,"s":[355.857,302.207,0],"e":[355.857,308.207,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":120,"s":[355.857,308.207,0],"e":[355.857,302.207,0],"to":[0,0,0],"ti":[0,1,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":139,"s":[355.857,302.207,0],"e":[355.857,302.207,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":180,"s":[355.857,302.207,0],"e":[355.857,308.207,0],"to":[0,1,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":196.801,"s":[355.857,308.207,0],"e":[355.857,302.207,0],"to":[0,0,0],"ti":[0,1,0]},{"t":216}],"ix":2},"a":{"a":0,"k":[-5.706,-66.449,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[5.021,11.991],[1.75,-16.75],[3.593,-23.13],[3.492,-8.369],[0,23.5]],"o":[[-6.242,-14.906],[-1.081,10.349],[-2.222,14.305],[-14.312,34.299],[0,-55.082]],"v":[[14.5,-63],[-40.44,-62.693],[-44.148,-3.184],[-56.34,28.612],[12.218,41.438]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.149019607843,0.132484795065,0.111034221275,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":141.6,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"ne","parent":6,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":0,"s":[0],"e":[20]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":67.199,"s":[20],"e":[0]},{"t":134.400390625}],"ix":10},"p":{"a":0,"k":[-12,50,0],"ix":2},"a":{"a":0,"k":[-12,50,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.59,12.987],[1.75,-16.75],[-1.434,-15.164],[4.955,22.972]],"o":[[-1,-22],[-1.75,16.75],[3.5,37],[-11,-51]],"v":[[3.5,-51.5],[-31.25,-48.25],[-45,45],[12,36.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.149019607843,0.132484795065,0.111034221275,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":141.6,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"ta","parent":5,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":0,"s":[7],"e":[75]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":22.801,"s":[75],"e":[7]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":45.6,"s":[7],"e":[75]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":68.4,"s":[75],"e":[7]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":91.199,"s":[7],"e":[75]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":114,"s":[75],"e":[7]},{"t":136.80078125}],"ix":10},"p":{"a":0,"k":[15.301,27.13,0],"ix":2},"a":{"a":0,"k":[21.895,-104.814,0],"ix":1},"s":{"a":0,"k":[136.667,136.667,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4.827,-5.636],[1.374,-48.171],[-2.647,2.438]],"o":[[33.061,38.596],[-0.068,2.375],[34.628,-76.569]],"v":[[-18.205,-190.23],[15.659,-106.249],[25.25,-102.254]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.149019607843,0.132484795065,0.111034221275,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":141.6,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"el","parent":11,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":0,"s":[-17],"e":[41]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":62.4,"s":[41],"e":[-17]},{"t":129.599609375}],"ix":10},"p":{"a":0,"k":[-90.831,16.442,0],"ix":2},"a":{"a":0,"k":[16.5,-109.52,0],"ix":1},"s":{"a":0,"k":[140.26,140.26,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.618,-7.395],[-2.323,-2.379],[-2.647,2.438]],"o":[[6.75,80.75],[1.66,1.7],[38.998,-68.667]],"v":[[-1.601,-210.907],[11.871,-104.272],[20.531,-99.66]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.149019607843,0.132484795065,0.111034221275,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":141.6,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"hea","parent":8,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":0,"s":[-15],"e":[8]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":67.199,"s":[8],"e":[-15]},{"t":134.400390625}],"ix":10},"p":{"a":0,"k":[-7.5,-46.5,0],"ix":2},"a":{"a":0,"k":[-110.468,94.987,0],"ix":1},"s":{"a":0,"k":[71.296,71.296,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"fl","c":{"a":0,"k":[0.149019607843,0.132484795065,0.111034221275,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 2","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[14.727,19.286],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.149019607843,0.132484795065,0.111034221275,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-175.409,43.844],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[59.914,100],"ix":3},"r":{"a":0,"k":-168.452,"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":"Ellipse 5","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[14.727,19.286],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.149019607843,0.132484795065,0.111034221275,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-122.039,45.221],"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":"Ellipse 3","np":3,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-10.966,2.431],[-1.181,-4.133],[1.601,-0.057],[-0.599,3.554]],"o":[[1.746,-0.387],[1.277,4.469],[-14.816,0.529],[0.406,-2.406]],"v":[[-8.421,-5.275],[2.908,3.703],[-0.161,10.282],[-18.683,3.926]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.933333333333,0.874509803922,0.650980392157,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"eye1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-181.299,40.461],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0"],"t":38.4,"s":[100,92.381],"e":[100,-0.256]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0"],"t":55.199,"s":[100,-0.256],"e":[100,-0.256]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0"],"t":62.4,"s":[100,-0.256],"e":[100,92.381]},{"t":79.19921875}],"ix":3},"r":{"a":0,"k":-128.667,"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":"Ellipse 6","np":3,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[40.675,16.831],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.933333333333,0.874509803922,0.650980392157,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"eye2","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-123.091,45.195],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0"],"t":38.4,"s":[100,92.381],"e":[100,-0.256]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0"],"t":55.199,"s":[100,-0.256],"e":[100,-0.256]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0"],"t":62.4,"s":[100,-0.256],"e":[100,92.381]},{"t":79.19921875}],"ix":3},"r":{"a":0,"k":-19.654,"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":"Ellipse 2","np":3,"cix":2,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[10.344,0.175],[-115.817,6.255]],"o":[[0,0],[-7.047,-0.119],[34.894,-1.884]],"v":[[-167.279,58.669],[-254.234,57.818],[-149.783,98.993]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.149019607843,0.132484795065,0.111034221275,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-162,72.234],"ix":2},"a":{"a":0,"k":[-164.104,75.74],"ix":1},"s":{"a":0,"k":[100.434,93.355],"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":"Shape 1","np":3,"cix":2,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[108,108],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.149019607843,0.132484795065,0.111034221275,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-128,48],"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":"Ellipse 1","np":3,"cix":2,"ix":7,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":141.6,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"er","parent":11,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":7.199,"s":[-17],"e":[41]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":67.199,"s":[41],"e":[-17]},{"t":134.400390625}],"ix":10},"p":{"a":0,"k":[-151.699,7.848,0],"ix":2},"a":{"a":0,"k":[16.5,-109.52,0],"ix":1},"s":{"a":0,"k":[131.332,131.332,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.618,-7.395],[-2.323,-2.379],[-2.647,2.438]],"o":[[6.75,80.75],[1.66,1.7],[26.148,-64.813]],"v":[[-1.601,-210.907],[9.521,-107.006],[20.155,-104.319]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.149019607843,0.132484795065,0.111034221275,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":141.6,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/ao.json b/submodules/RLottie/Sources/rlottie/example/resource/ao.json deleted file mode 100644 index 9f78a33ca8..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/ao.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.2.1","fr":60,"ip":0,"op":60,"w":500,"h":500,"nm":"Comp 1","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[100,100],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[-89.47,0],[0,-89.47],[89.47,0],[0,89.47]],"o":[[89.47,0],[0,89.47],[-89.47,0],[0,-89.47]],"v":[[0,-162],[162,0],[0,162],[-162,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":0,"op":60,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.562,"y":0.562},"o":{"x":0.167,"y":0.167},"n":"0p562_0p562_0p167_0p167","t":8,"s":[250,88,0],"e":[412,250,0],"to":[89.4701232910156,0,0],"ti":[0,-89.4701232910156,0]},{"i":{"x":0.656,"y":0.656},"o":{"x":0.311,"y":0.311},"n":"0p656_0p656_0p311_0p311","t":38,"s":[412,250,0],"e":[250,412,0],"to":[0,89.4701232910156,0],"ti":[89.4701232910156,0,0]},{"i":{"x":0.689,"y":0.689},"o":{"x":0.343,"y":0.343},"n":"0p689_0p689_0p343_0p343","t":68,"s":[250,412,0],"e":[88,250,0],"to":[-89.4701232910156,0,0],"ti":[0,89.4701232910156,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.437,"y":0.437},"n":"0p833_0p833_0p437_0p437","t":98,"s":[88,250,0],"e":[250,88,0],"to":[0,-89.4701232910156,0],"ti":[-89.4701232910156,0,0]},{"t":128}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":1,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[100,100],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":0,"op":60,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/balloons_with_string.json b/submodules/RLottie/Sources/rlottie/example/resource/balloons_with_string.json deleted file mode 100644 index 49e712183c..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/balloons_with_string.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.1.1","fr":60,"ip":0,"op":600,"w":1440,"h":2560,"nm":"Balloon Animation","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"pinkBalloon ","sr":1,"ks":{"o":{"a":0,"k":70,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.566,"y":0.555},"o":{"x":0.18,"y":0.163},"n":"0p566_0p555_0p18_0p163","t":52,"s":[856,3484.5,0],"e":[863.025,2076.672,0],"to":[1.26471793651581,-253.457336425781,0],"ti":[-3.05289053916931,611.818237304688,0]},{"i":{"x":0.841,"y":0.859},"o":{"x":0.385,"y":0.391},"n":"0p841_0p859_0p385_0p391","t":157.5,"s":[863.025,2076.672,0],"e":[875.959,-515.333,0],"to":[4.97676658630371,-997.374938964844,0],"ti":[-2.06172013282776,413.181518554688,0]},{"t":350}],"ix":2},"a":{"a":0,"k":[400.438,352.479,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[404.62,501.104],[403.62,497.604],[403.62,620.104],[405.62,622.104]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"String","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":2,"ty":"el","s":{"a":0,"k":[177.031,247.812],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[10.025,120.696],[12.355,149.564],[2.966,147.251],[-7.063,148.633],[-4.733,120.696]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0.465349324544,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[400.437,338.703],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[128.744,107.385],"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":"Ellipse 1","np":4,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"greenBalloon 4","sr":1,"ks":{"o":{"a":0,"k":70,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.829},"o":{"x":0.167,"y":0.173},"n":"0p833_0p829_0p167_0p173","t":52,"s":[56,3300.5,0],"e":[315.448,-162.334,0],"to":[43.2412719726562,-577.138977050781,0],"ti":[-43.2412719726562,577.138977050781,0]},{"t":350}],"ix":2},"a":{"a":0,"k":[400.438,352.479,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":2,"ty":"el","s":{"a":0,"k":[177.031,247.812],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[10.025,120.696],[12.355,149.564],[2.966,147.251],[-7.063,148.633],[-4.733,120.696]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,1,0.528860234279,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[400.437,338.703],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[128.744,107.385],"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":"Ellipse 1","np":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[404.62,501.104],[403.62,497.604],[403.62,620.104],[405.62,622.104]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"String","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"greenBalloon 3","sr":1,"ks":{"o":{"a":0,"k":70,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.851},"o":{"x":0.167,"y":0.16},"n":"0p833_0p851_0p167_0p16","t":148,"s":[1240,2924.5,0],"e":[1275.959,-478.276,0],"to":[5.99310493469238,-567.12939453125,0],"ti":[-5.99310493469238,567.12939453125,0]},{"t":402}],"ix":2},"a":{"a":0,"k":[400.438,352.479,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":2,"ty":"el","s":{"a":0,"k":[177.031,247.812],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[10.025,120.696],[12.355,149.564],[2.966,147.251],[-7.063,148.633],[-4.733,120.696]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,1,0.528860234279,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[400.437,338.703],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[128.744,107.385],"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":"Ellipse 1","np":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[404.62,501.104],[403.62,497.604],[403.62,620.104],[405.62,622.104]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"String","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"greenBalloon 2","sr":1,"ks":{"o":{"a":0,"k":70,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.834},"o":{"x":0.167,"y":0.167},"n":"0p833_0p834_0p167_0p167","t":0,"s":[198,2837.667,0],"e":[762,-368.5,0],"to":[94,-534.361145019531,0],"ti":[-94,534.361145019531,0]},{"t":271}],"ix":2},"a":{"a":0,"k":[400.438,352.479,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":2,"ty":"el","s":{"a":0,"k":[177.031,247.812],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[10.025,120.696],[12.355,149.564],[2.966,147.251],[-7.063,148.633],[-4.733,120.696]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,1,0.528860234279,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[400.437,338.703],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[128.744,107.385],"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":"Ellipse 1","np":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[404.62,501.104],[403.62,497.604],[403.62,620.104],[405.62,622.104]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"String","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"blueBalloon","sr":1,"ks":{"o":{"a":0,"k":70,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.83},"o":{"x":0.167,"y":0.198},"n":"0p833_0p83_0p167_0p198","t":23,"s":[1235.406,3127.833,0],"e":[761.634,-588.86,0],"to":[-78.9620056152344,-619.448791503906,0],"ti":[78.9620056152344,619.448791503906,0]},{"t":344}],"ix":2},"a":{"a":0,"k":[400.438,352.479,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":2,"ty":"el","s":{"a":0,"k":[177.031,247.812],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[10.025,120.696],[12.355,149.564],[2.966,147.251],[-7.063,148.633],[-4.733,120.696]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.46011020436,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[400.437,338.703],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[128.744,107.385],"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":"Ellipse 1","np":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[404.62,501.104],[403.62,497.604],[403.62,620.104],[405.62,622.104]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"String","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"yellowBalloon","sr":1,"ks":{"o":{"a":0,"k":70,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.856},"o":{"x":0.167,"y":0.167},"n":"0p833_0p856_0p167_0p167","t":0,"s":[1235.406,3127.833,0],"e":[1211.959,-627.333,0],"to":[-3.90793800354004,-625.861022949219,0],"ti":[3.90793800354004,625.861022949219,0]},{"t":271}],"ix":2},"a":{"a":0,"k":[400.438,352.479,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":2,"ty":"el","s":{"a":0,"k":[177.031,247.812],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[10.025,120.696],[12.355,149.564],[2.966,147.251],[-7.063,148.633],[-4.733,120.696]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.987591911765,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[400.437,338.703],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[128.744,107.385],"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":"Ellipse 1","np":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[404.62,501.104],[403.62,497.604],[403.62,620.104],[405.62,622.104]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"String","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"purpleBalloon","sr":1,"ks":{"o":{"a":0,"k":70,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.845},"o":{"x":0.167,"y":0.167},"n":"0p833_0p845_0p167_0p167","t":0,"s":[776,3020.5,0],"e":[539.959,-454.276,0],"to":[-39.3402290344238,-579.12939453125,0],"ti":[39.3402290344238,579.12939453125,0]},{"t":271}],"ix":2},"a":{"a":0,"k":[400.438,352.479,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":2,"ty":"el","s":{"a":0,"k":[177.031,247.812],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[10.025,120.696],[12.355,149.564],[2.966,147.251],[-7.063,148.633],[-4.733,120.696]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.462959289551,0,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[400.437,338.703],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[128.744,107.385],"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":"Ellipse 1","np":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[404.62,501.104],[403.62,497.604],[403.62,620.104],[405.62,622.104]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"String","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"blueBallloon","sr":1,"ks":{"o":{"a":0,"k":70,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.863},"o":{"x":0.167,"y":0.134},"n":"0p833_0p863_0p167_0p134","t":106,"s":[512,2724.5,0],"e":[1162,-464.5,0],"to":[108.333335876465,-531.5,0],"ti":[-108.333335876465,531.5,0]},{"t":330}],"ix":2},"a":{"a":0,"k":[400.438,352.479,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":2,"ty":"el","s":{"a":0,"k":[177.031,247.812],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[10.025,120.696],[12.355,149.564],[2.966,147.251],[-7.063,148.633],[-4.733,120.696]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.721047674441,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[400.437,338.703],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[128.744,107.385],"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":"Ellipse 1","np":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[404.62,501.104],[403.62,497.604],[403.62,620.104],[405.62,622.104]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"String","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"blueBalloon","sr":1,"ks":{"o":{"a":0,"k":70,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.869},"o":{"x":0.167,"y":0.128},"n":"0p833_0p869_0p167_0p128","t":191,"s":[1232,2996.5,0],"e":[831.959,-273.776,0],"to":[-60.6597709655762,-578.37939453125,0],"ti":[66.6735610961914,545.046020507812,0]},{"t":408}],"ix":2},"a":{"a":0,"k":[400.438,352.479,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":2,"ty":"el","s":{"a":0,"k":[177.031,247.812],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[10.025,120.696],[12.355,149.564],[2.966,147.251],[-7.063,148.633],[-4.733,120.696]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.497150914809,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[400.437,338.703],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[128.744,107.385],"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":"Ellipse 1","np":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[404.62,501.104],[403.62,497.604],[403.62,620.104],[405.62,622.104]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"String","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"redBallloon","sr":1,"ks":{"o":{"a":0,"k":70,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.885},"o":{"x":0.167,"y":0.112},"n":"0p833_0p885_0p167_0p112","t":191,"s":[848,3476.5,0],"e":[604.041,-273.776,0],"to":[-60.6597709655762,-578.37939453125,0],"ti":[40.6597709655762,625.046020507812,0]},{"t":408}],"ix":2},"a":{"a":0,"k":[400.438,352.479,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":2,"ty":"el","s":{"a":0,"k":[177.031,247.812],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[10.025,120.696],[12.355,149.564],[2.966,147.251],[-7.063,148.633],[-4.733,120.696]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0.392279561361,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[400.437,338.703],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[128.744,107.385],"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":"Ellipse 1","np":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[404.62,501.104],[403.62,497.604],[403.62,620.104],[405.62,622.104]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"String","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"yellowBallloon 3","sr":1,"ks":{"o":{"a":0,"k":70,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.877},"o":{"x":0.167,"y":0.121},"n":"0p833_0p877_0p167_0p121","t":191,"s":[272,3204.5,0],"e":[312.041,-293.667,0],"to":[6.67356204986572,-583.02783203125,0],"ti":[-6.67356204986572,583.02783203125,0]},{"t":408}],"ix":2},"a":{"a":0,"k":[400.438,352.479,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":2,"ty":"el","s":{"a":0,"k":[177.031,247.812],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[10.025,120.696],[12.355,149.564],[2.966,147.251],[-7.063,148.633],[-4.733,120.696]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.949172794118,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[400.437,338.703],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[128.744,107.385],"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":"Ellipse 1","np":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[404.62,501.104],[403.62,497.604],[403.62,620.104],[405.62,622.104]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"String","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"yellowBallloon 2","sr":1,"ks":{"o":{"a":0,"k":70,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.841},"o":{"x":0.167,"y":0.156},"n":"0p833_0p841_0p167_0p156","t":121,"s":[512,2924.5,0],"e":[539.959,-454.276,0],"to":[4.65977144241333,-563.12939453125,0],"ti":[-4.65977144241333,563.12939453125,0]},{"t":391}],"ix":2},"a":{"a":0,"k":[400.438,352.479,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":2,"ty":"el","s":{"a":0,"k":[177.031,247.812],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[10.025,120.696],[12.355,149.564],[2.966,147.251],[-7.063,148.633],[-4.733,120.696]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.949172794118,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[400.437,338.703],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[128.744,107.385],"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":"Ellipse 1","np":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[404.62,501.104],[403.62,497.604],[403.62,620.104],[405.62,622.104]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"String","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"yellowBallloon","sr":1,"ks":{"o":{"a":0,"k":70,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.863},"o":{"x":0.167,"y":0.134},"n":"0p833_0p863_0p167_0p134","t":106,"s":[1376,2804.5,0],"e":[312.041,-293.667,0],"to":[-177.326431274414,-516.361145019531,0],"ti":[177.326431274414,516.361145019531,0]},{"t":331}],"ix":2},"a":{"a":0,"k":[400.438,352.479,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":2,"ty":"el","s":{"a":0,"k":[177.031,247.812],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[10.025,120.696],[12.355,149.564],[2.966,147.251],[-7.063,148.633],[-4.733,120.696]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.949172794118,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[400.437,338.703],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[128.744,107.385],"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":"Ellipse 1","np":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[404.62,501.104],[403.62,497.604],[403.62,620.104],[405.62,622.104]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"String","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"redBalloonNew","sr":1,"ks":{"o":{"a":0,"k":70,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.847},"o":{"x":0.167,"y":0.167},"n":"0p833_0p847_0p167_0p167","t":0,"s":[1016,2740.5,0],"e":[1098,-774.166,0],"to":[13.6666669845581,-585.777709960938,0],"ti":[-13.6666669845581,585.777709960938,0]},{"t":271}],"ix":2},"a":{"a":0,"k":[400.438,352.479,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":2,"ty":"el","s":{"a":0,"k":[177.031,247.812],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[10.025,120.696],[12.355,149.564],[2.966,147.251],[-7.063,148.633],[-4.733,120.696]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0.404779561361,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[400.437,338.703],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[128.744,107.385],"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":"Ellipse 1","np":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[404.62,501.104],[403.62,497.604],[403.62,620.104],[405.62,622.104]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"String","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":"greenBalloonNew","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[198,2984.5,0],"e":[718,-260,0],"to":[86.6666641235352,-540.75,0],"ti":[-86.6666641235352,540.75,0]},{"t":360}],"ix":2},"a":{"a":0,"k":[-100.906,408.167,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[404.62,501.104],[403.62,497.604],[403.62,620.104],[405.62,622.104],[402.076,560.068]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-503,38],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100.015,103.448],"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":"String","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":2,"ty":"el","s":{"a":0,"k":[177.031,247.812],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[10.025,120.696],[12.355,149.564],[2.966,147.251],[-7.063,148.633],[-4.733,120.696]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,1,0.903125,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-100.906,394.391],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[128.744,107.385],"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":"Ellipse 1","np":4,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/bell.json b/submodules/RLottie/Sources/rlottie/example/resource/bell.json deleted file mode 100644 index c70f06bb7a..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/bell.json +++ /dev/null @@ -1 +0,0 @@ -{"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":0,"ty":1,"nm":"White Solid 1","td":1,"ks":{"o":{"k":100},"r":{"k":22},"p":{"k":[288.003,547.449,0]},"a":{"k":[25,25,0]},"s":{"k":[412,168,100]}},"ao":0,"sw":50,"sh":50,"sc":"#ffffff","ip":0,"op":50,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 1","tt":2,"ks":{"o":{"k":100},"r":{"k":22},"p":{"k":[273.145,580.253,0]},"a":{"k":[-0.776,155.616,0]},"s":{"k":[110.945,113.273,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"k":[59.648,59.648]},"p":{"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","fillEnabled":true,"c":{"k":[0,0,0,1]},"o":{"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"k":[-1,155.5],"ix":2},"a":{"k":[0,0],"ix":1},"s":{"k":[100,100],"ix":3},"r":{"k":0,"ix":6},"o":{"k":100,"ix":7},"sk":{"k":0,"ix":4},"sa":{"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"mn":"ADBE Vector Group"}],"ip":0,"op":50,"st":0,"bm":0,"sr":1}]}],"layers":[{"ddd":0,"ind":0,"ty":3,"nm":"Null 1","ks":{"o":{"k":0},"r":{"k":[{"i":{"x":[0.833],"y":[1.093]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_1p093_0p167_0p167"],"t":0,"s":[0],"e":[-22]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0.037]},"n":["0p833_1_0p167_0p037"],"t":6.931,"s":[-22],"e":[22]},{"i":{"x":[0.833],"y":[0.966]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p966_0p167_0"],"t":12.435,"s":[22],"e":[-22]},{"i":{"x":[0.833],"y":[0.857]},"o":{"x":[0.167],"y":[-0.098]},"n":["0p833_0p857_0p167_-0p098"],"t":18,"s":[-22],"e":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0.295]},"n":["0p833_1_0p167_0p295"],"t":26,"s":[0],"e":[4]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p667_1_0p167_0"],"t":29,"s":[4],"e":[0]},{"t":33}]},"p":{"k":[221.5,77,0]},"a":{"k":[0,0,0]},"s":{"k":[344,344,100]}},"ao":0,"ip":0,"op":50,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":1,"ty":1,"nm":"Black Solid 1","parent":0,"ks":{"o":{"k":100},"r":{"k":0},"p":{"k":[0,30.959,0]},"a":{"k":[221.5,183.5,0]},"s":{"k":[29.07,29.07,100]}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"k":{"i":[[3.376,4.804],[0,15.358],[0,0],[40.857,4.809],[0,6.956],[9.556,0],[0,-9.556],[-4.437,-3.072],[-0.007,-0.031],[0,-42.092],[0,0],[8.971,-12.559],[-5.461,0],[0,0]],"o":[[-8.874,-12.628],[0,0],[0,-41.969],[4.427,-3.689],[0,-9.556],[-9.556,0],[0,5.802],[0,0],[-40.638,4.737],[0,0],[0,15.358],[-3.413,4.778],[0,0],[5.461,0]],"v":[[318.087,264.087],[303.411,220.401],[303.411,172.619],[231.019,91.367],[238.565,77.056],[221.5,59.991],[204.435,77.056],[211.944,91.049],[211.971,91.152],[139.589,172.619],[139.589,220.401],[124.913,264.087],[130.374,275.009],[312.626,275.009]],"c":true}},"o":{"k":100},"x":{"k":0},"nm":"Mask 1"}],"ef":[{"ty":21,"nm":"Fill","mn":"ADBE Fill","ix":1,"ef":[{"ty":3,"nm":"Fill Mask","mn":"ADBE Fill-0001","ix":1,"v":{"k":0}},{"ty":7,"nm":"All Masks","mn":"ADBE Fill-0007","ix":2,"v":{"k":0}},{"ty":2,"nm":"Color","mn":"ADBE Fill-0002","ix":3,"v":{"k":[1,1,1,1]}},{"ty":7,"nm":"Invert","mn":"ADBE Fill-0006","ix":4,"v":{"k":0}},{"ty":0,"nm":"Horizontal Feather","mn":"ADBE Fill-0003","ix":5,"v":{"k":0}},{"ty":0,"nm":"Vertical Feather","mn":"ADBE Fill-0004","ix":6,"v":{"k":0}},{"ty":0,"nm":"Opacity","mn":"ADBE Fill-0005","ix":7,"v":{"k":1}}]}],"sw":443,"sh":367,"sc":"#000000","ip":0,"op":50,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":0,"nm":"Pre-comp 1","parent":0,"refId":"comp_0","ks":{"o":{"k":100},"r":{"k":-22},"p":{"k":[{"i":{"x":0.833,"y":0.814},"o":{"x":0.167,"y":0.167},"n":"0p833_0p814_0p167_0p167","t":2,"s":[4.737,11.725,0],"e":[19.737,11.725,0],"to":[2.5,0,0],"ti":[2.83333325386047,0,0]},{"i":{"x":0.833,"y":0.844},"o":{"x":0.167,"y":0.157},"n":"0p833_0p844_0p167_0p157","t":4.572,"s":[19.737,11.725,0],"e":[-12.263,11.725,0],"to":[-2.83333325386047,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.88},"o":{"x":0.167,"y":0.177},"n":"0p833_0p88_0p167_0p177","t":9,"s":[-12.263,11.725,0],"e":[19.737,11.725,0],"to":[0,0,0],"ti":[-2.66666674613953,0,0]},{"i":{"x":0.833,"y":0.886},"o":{"x":0.167,"y":0.22},"n":"0p833_0p886_0p167_0p22","t":14.008,"s":[19.737,11.725,0],"e":[-8.129,11.725,0],"to":[0.7367005944252,0,0],"ti":[4.95352220535278,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.284},"n":"0p833_0p833_0p167_0p284","t":22,"s":[-8.129,11.725,0],"e":[3.737,11.725,0],"to":[-2.79587697982788,0,0],"ti":[0.0821717903018,0,0]},{"t":31}]},"a":{"k":[350,437.5,0]},"s":{"k":[29.07,29.07,100]}},"ao":0,"ef":[{"ty":21,"nm":"Fill","mn":"ADBE Fill","ix":1,"ef":[{"ty":3,"nm":"Fill Mask","mn":"ADBE Fill-0001","ix":1,"v":{"k":0}},{"ty":7,"nm":"All Masks","mn":"ADBE Fill-0007","ix":2,"v":{"k":0}},{"ty":2,"nm":"Color","mn":"ADBE Fill-0002","ix":3,"v":{"k":[1,1,1,1]}},{"ty":7,"nm":"Invert","mn":"ADBE Fill-0006","ix":4,"v":{"k":0}},{"ty":0,"nm":"Horizontal Feather","mn":"ADBE Fill-0003","ix":5,"v":{"k":0}},{"ty":0,"nm":"Vertical Feather","mn":"ADBE Fill-0004","ix":6,"v":{"k":0}},{"ty":0,"nm":"Opacity","mn":"ADBE Fill-0005","ix":7,"v":{"k":1}}]}],"w":700,"h":875,"ip":0,"op":50,"st":0,"bm":0,"sr":1}],"v":"4.5.0","ddd":0,"ip":0,"op":42,"fr":25,"w":443,"h":367} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/birth_stone_logo.json b/submodules/RLottie/Sources/rlottie/example/resource/birth_stone_logo.json deleted file mode 100644 index f52bcc2a77..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/birth_stone_logo.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.2.1","fr":29.9700012207031,"ip":0,"op":120.0000048877,"w":150,"h":120,"nm":"logo 2","ddd":1,"assets":[],"layers":[{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[98,45.5,0],"ix":2},"a":{"a":0,"k":[-23,-14.5,0],"ix":1},"s":{"a":0,"k":[-100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[19.25,-19.25],[0,0],[0,0]],"o":[[0,0],[0,0],[-20.25,20.25],[0,0],[0,0]],"v":[[19.5,-14],[-12.5,-45.25],[-51.25,-42.25],[-55.75,-5.25],[-23,28.75]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gs","o":{"a":0,"k":100,"ix":9},"w":{"a":0,"k":8,"ix":10},"g":{"p":3,"k":{"a":0,"k":[0,0.584,0.894,0.929,0.5,0.692,0.733,0.965,1,0.8,0.573,1],"ix":8}},"s":{"a":0,"k":[-64.303,-9.492],"ix":4},"e":{"a":0,"k":[23.721,-13.33],"ix":5},"t":1,"lc":2,"lj":2,"nm":"Gradient Stroke 1","mn":"ADBE Vector Graphic - G-Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":100,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":30,"s":[100],"e":[0]},{"t":60.0000024438501}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":120.0000048877,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[75,60,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[22.75,-19.25],[0,0],[0,0]],"o":[[0,0],[0,0],[-19.75,19.75],[0,0],[0,0]],"v":[[19.5,-14],[-12.5,-45.25],[-51.25,-42.25],[-55.75,-5.25],[-23,28.75]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gs","o":{"a":0,"k":100,"ix":9},"w":{"a":0,"k":8,"ix":10},"g":{"p":3,"k":{"a":0,"k":[0,1,0.788,0.6,0.5,0.902,0.682,0.798,1,0.804,0.576,0.996],"ix":8}},"s":{"a":0,"k":[-64.303,-9.492],"ix":4},"e":{"a":0,"k":[23.721,-13.33],"ix":5},"t":1,"lc":2,"lj":2,"nm":"Gradient Stroke 1","mn":"ADBE Vector Graphic - G-Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":100,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":0,"s":[100],"e":[0]},{"t":30.0000012219251}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":120.0000048877,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Shape Layer 3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[75.5,103,0],"ix":2},"a":{"a":0,"k":[0,42.5,0],"ix":1},"s":{"a":0,"k":[91.956,91.956,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[18.648,18.648],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.8,0.572549019608,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":8,"ix":5},"lc":2,"lj":2,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,42.5],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":100,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":60,"s":[100],"e":[0]},{"t":89.0000036250443}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":120.0000048877,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/bounching_ball.json b/submodules/RLottie/Sources/rlottie/example/resource/bounching_ball.json deleted file mode 100644 index 377929513d..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/bounching_ball.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"4.5.7","fr":30,"ip":0,"op":30,"w":800,"h":600,"ddd":0,"assets":[{"id":"comp_1","layers":[{"ddd":0,"ind":0,"ty":4,"nm":"Shape Layer 4","td":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"s":true,"x":{"a":0,"k":960},"y":{"a":1,"k":[{"i":{"x":[0.96],"y":[0.317]},"o":{"x":[0.453],"y":[0]},"n":["0p96_0p317_0p453_0"],"t":0,"s":[372.934],"e":[910.934]},{"i":{"x":[0.491],"y":[0.491]},"o":{"x":[0.405],"y":[0.405]},"n":["0p491_0p491_0p405_0p405"],"t":14,"s":[910.934],"e":[910.934]},{"i":{"x":[0.328],"y":[1]},"o":{"x":[0.02],"y":[0.674]},"n":["0p328_1_0p02_0p674"],"t":16,"s":[910.934],"e":[372.934]},{"t":30}]}},"a":{"a":0,"k":[-55.922,214.156,0]},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":0,"s":[43,43,100],"e":[36.8,54.9,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":14,"s":[36.8,54.9,100],"e":[56.6,27.5,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":15,"s":[56.6,27.5,100],"e":[56.6,27.5,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":16,"s":[56.6,27.5,100],"e":[34.58,45.3,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":18,"s":[34.58,45.3,100],"e":[47.692,41.258,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":25,"s":[47.692,41.258,100],"e":[43,43,100]},{"t":30}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[460.156,460.156]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"st","c":{"a":0,"k":[0.2,0.77,0.61,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":0},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"fl","c":{"a":0,"k":[0.95,0.31,0.56,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-55.922,-15.922],"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":"Ellipse 1","np":3,"mn":"ADBE Vector Group"}],"ip":0,"op":150,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 3","parent":2,"tt":1,"ks":{"o":{"a":0,"k":12},"r":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":0,"s":[23.697,-140.59,0],"e":[59.033,-256.954,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":15,"s":[59.033,-256.954,0],"e":[23.697,-140.59,0],"to":[0,0,0],"ti":[0,0,0]},{"t":30}]},"a":{"a":0,"k":[7.73,-318.27,0]},"s":{"a":0,"k":[168.239,178.473,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[36.539,36.539]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"st","c":{"a":0,"k":[0.2,0.77,0.61,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":0},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"fl","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[7.73,-318.27],"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":"Ellipse 1","np":3,"mn":"ADBE Vector Group"}],"ip":0,"op":150,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 1","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"s":true,"x":{"a":0,"k":960},"y":{"a":1,"k":[{"i":{"x":[0.96],"y":[0.317]},"o":{"x":[0.453],"y":[0]},"n":["0p96_0p317_0p453_0"],"t":0,"s":[372.934],"e":[910.934]},{"i":{"x":[0.491],"y":[0.491]},"o":{"x":[0.405],"y":[0.405]},"n":["0p491_0p491_0p405_0p405"],"t":14,"s":[910.934],"e":[910.934]},{"i":{"x":[0.328],"y":[1]},"o":{"x":[0.02],"y":[0.674]},"n":["0p328_1_0p02_0p674"],"t":16,"s":[910.934],"e":[372.934]},{"t":30}]}},"a":{"a":0,"k":[-55.922,214.156,0]},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":0,"s":[43,43,100],"e":[36.8,54.9,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":14,"s":[36.8,54.9,100],"e":[56.6,27.5,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":15,"s":[56.6,27.5,100],"e":[56.6,27.5,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":16,"s":[56.6,27.5,100],"e":[34.58,45.3,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":18,"s":[34.58,45.3,100],"e":[47.692,41.258,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":25,"s":[47.692,41.258,100],"e":[43,43,100]},{"t":30}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[460.156,460.156]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"st","c":{"a":0,"k":[0.2,0.77,0.61,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":0},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"fl","c":{"a":0,"k":[0.95,0.31,0.56,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-55.922,-15.922],"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":"Ellipse 1","np":3,"mn":"ADBE Vector Group"}],"ip":0,"op":150,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 2","ks":{"o":{"a":0,"k":45},"r":{"a":0,"k":0},"p":{"a":0,"k":[958,908,0]},"a":{"a":0,"k":[-2,400,0]},"s":{"a":1,"k":[{"i":{"x":[0.893,0.893,1],"y":[0.5,-0.195,1]},"o":{"x":[0.44,0.44,0],"y":[0,0,0]},"n":["0p893_0p5_0p44_0","0p893_-0p195_0p44_0","1_1_0_0"],"t":0,"s":[117.1,83.8,100],"e":[39.9,51.5,100]},{"i":{"x":[0.539,0.539,1],"y":[1,1,1]},"o":{"x":[0.175,0.175,0],"y":[0.542,1.294,0]},"n":["0p539_1_0p175_0p542","0p539_1_0p175_1p294","1_1_0_0"],"t":16,"s":[39.9,51.5,100],"e":[117.1,83.8,100]},{"t":30}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[467.797,27.125]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"st","c":{"a":0,"k":[0.2,0.77,0.61,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":0},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"fl","c":{"a":0,"k":[0.18,0.62,0.5,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-2,400],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[69.545,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":"Ellipse 1","np":3,"mn":"ADBE Vector Group"}],"ip":0,"op":150,"st":0,"bm":0,"sr":1}]}],"layers":[{"ddd":0,"ind":0,"ty":0,"nm":"bouncing ball.1920x1080","cl":"1920x1080","refId":"comp_1","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[400,300,0]},"a":{"a":0,"k":[960,540,0]},"s":{"a":0,"k":[55.556,55.556,100]}},"ao":0,"w":1920,"h":1080,"ip":0,"op":150,"st":0,"bm":0,"sr":1}]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/browser.json b/submodules/RLottie/Sources/rlottie/example/resource/browser.json deleted file mode 100644 index d7e10a9dd2..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/browser.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.1.1","fr":25,"ip":0,"op":149,"w":256,"h":256,"nm":"Composição 1","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Camada de forma 3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[68.5,23.75,0],"ix":2},"a":{"a":0,"k":[-92,-93.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.32,0.32,0.32],"y":[1.27,1.27,1]},"o":{"x":[0.17,0.17,0.17],"y":[0.89,0.89,0]},"n":["0p32_1p27_0p17_0p89","0p32_1p27_0p17_0p89","0p32_1_0p17_0"],"t":41,"s":[0,0,100],"e":[85,85,100]},{"t":47}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[14.5,14.5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Caminho da elipse 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.701960784314,0.701960784314,0.701960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Preenchimento 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-92,-93.5],"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":"Transformar"}],"nm":"Elipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":149,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Camada de forma 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[48.5,23.75,0],"ix":2},"a":{"a":0,"k":[-92,-93.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.32,0.32,0.32],"y":[1.27,1.27,1]},"o":{"x":[0.17,0.17,0.17],"y":[0.89,0.89,0]},"n":["0p32_1p27_0p17_0p89","0p32_1p27_0p17_0p89","0p32_1_0p17_0"],"t":35,"s":[0,0,100],"e":[85,85,100]},{"t":41}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[14.5,14.5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Caminho da elipse 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.701960784314,0.701960784314,0.701960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Preenchimento 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-92,-93.5],"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":"Transformar"}],"nm":"Elipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":149,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Camada de forma 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[28.5,23.75,0],"ix":2},"a":{"a":0,"k":[-92,-93.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.32,0.32,0.32],"y":[1.27,1.27,1]},"o":{"x":[0.17,0.17,0.17],"y":[0.89,0.89,0]},"n":["0p32_1p27_0p17_0p89","0p32_1p27_0p17_0p89","0p32_1_0p17_0"],"t":29,"s":[0,0,100],"e":[85,85,100]},{"t":35}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[14.5,14.5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Caminho da elipse 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.701960784314,0.701960784314,0.701960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Preenchimento 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-92,-93.5],"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":"Transformar"}],"nm":"Elipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":149,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"line 9","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.66,"y":0},"n":"0p34_1_0p66_0","t":64,"s":[53.085,245,0],"e":[53.085,200,0],"to":[0,-7.5,0],"ti":[0,7.5,0]},{"t":80}],"ix":2},"a":{"a":0,"k":[-73.675,-37.75,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.34,0.34,0.34],"y":[1,1,1]},"o":{"x":[0.66,0.66,0.66],"y":[0,0,0]},"n":["0p34_1_0p66_0","0p34_1_0p66_0","0p34_1_0p66_0"],"t":111,"s":[0,100,100],"e":[127.498,100,100]},{"t":126}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[116.75,12],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":20,"ix":4},"nm":"Caminho do retângulo 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.149019607843,0.650980392157,0.819607902976,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Preenchimento 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-14.375,-37.75],"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":"Transformar"}],"nm":"Retângulo 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":149,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"line 7","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.66,"y":0},"n":"0p34_1_0p66_0","t":64,"s":[109.085,217.25,0],"e":[109.085,172.25,0],"to":[0,-7.5,0],"ti":[0,7.5,0]},{"t":80}],"ix":2},"a":{"a":0,"k":[-117.575,-37.75,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.34,0.34,0.34],"y":[1,1,1]},"o":{"x":[0.66,0.66,0.66],"y":[0,0,0]},"n":["0p34_1_0p66_0","0p34_1_0p66_0","0p34_1_0p66_0"],"t":99,"s":[0,88.542,100],"e":[50.947,88.542,100]},{"t":111}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[116.75,12],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":110,"ix":4},"nm":"Caminho do retângulo 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.286274509804,0.721568627451,0.643137254902,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Preenchimento 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-58.722,-37.75],"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":"Transformar"}],"nm":"Retângulo 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":149,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"line 6","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.66,"y":0},"n":"0p34_1_0p66_0","t":64,"s":[53.085,217.25,0],"e":[53.085,172.25,0],"to":[0,-7.5,0],"ti":[0,7.5,0]},{"t":80}],"ix":2},"a":{"a":0,"k":[-117.575,-37.75,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.1,0.1,0.1],"y":[1,1,1]},"o":{"x":[0.9,0.9,0.9],"y":[0,0,0]},"n":["0p1_1_0p9_0","0p1_1_0p9_0","0p1_1_0p9_0"],"t":88,"s":[0,79.167,100],"e":[37.298,88.542,100]},{"t":103}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[116.75,12],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":20,"ix":4},"nm":"Caminho do retângulo 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.89019613827,0.36862745098,0.325490196078,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Preenchimento 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-58.722,-37.75],"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":"Transformar"}],"nm":"Retângulo 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":149,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"line 5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.66,"y":0},"n":"0p34_1_0p66_0","t":64,"s":[52.835,190.25,0],"e":[52.835,145.25,0],"to":[0,-7.5,0],"ti":[0,7.5,0]},{"t":80}],"ix":2},"a":{"a":0,"k":[-117.575,-37.75,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.34,0.34,0.34],"y":[1,1,1]},"o":{"x":[0.66,0.66,0.66],"y":[0,0,0]},"n":["0p34_1_0p66_0","0p34_1_0p66_0","0p34_1_0p66_0"],"t":79,"s":[0,100,100],"e":[88.298,100,100]},{"t":94}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[116.75,12],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":20,"ix":4},"nm":"Caminho do retângulo 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.286274509804,0.721568627451,0.643137254902,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Preenchimento 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-58.722,-37.75],"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":"Transformar"}],"nm":"Retângulo 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":149,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"line 4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.66,"y":0},"n":"0p34_1_0p66_0","t":64,"s":[123.585,162.75,0],"e":[123.585,117.75,0],"to":[0,-7.5,0],"ti":[0,7.5,0]},{"t":80}],"ix":2},"a":{"a":0,"k":[-117.575,-37.75,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.34,0.34,0.34],"y":[1,1,1]},"o":{"x":[0.66,0.66,0.66],"y":[0,0,0]},"n":["0p34_1_0p66_0","0p34_1_0p66_0","0p34_1_0p66_0"],"t":62,"s":[0,100,100],"e":[67.298,100,100]},{"t":72}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[116.75,12],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":20,"ix":4},"nm":"Caminho do retângulo 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.149019607843,0.650980392157,0.819607902976,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Preenchimento 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-58.722,-37.75],"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":"Transformar"}],"nm":"Retângulo 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":149,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"line 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.66,"y":0},"n":"0p34_1_0p66_0","t":64,"s":[56.335,162.75,0],"e":[56.335,117.75,0],"to":[0,-7.5,0],"ti":[0,7.5,0]},{"t":80}],"ix":2},"a":{"a":0,"k":[-115.975,-37.75,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.34,0.34,0.34],"y":[1,1,1]},"o":{"x":[0.66,0.66,0.66],"y":[0,0,0]},"n":["0p34_1_0p66_0","0p34_1_0p66_0","0p34_1_0p66_0"],"t":52,"s":[0,100,100],"e":[48.498,100,100]},{"t":65}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[116.75,12],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":20,"ix":4},"nm":"Caminho do retângulo 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.89019613827,0.36862745098,0.325490196078,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Preenchimento 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-58.722,-37.75],"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":"Transformar"}],"nm":"Retângulo 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":149,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"line 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.66,"y":0},"n":"0p34_1_0p66_0","t":64,"s":[53.085,126.75,0],"e":[53.085,90.75,0],"to":[0,-6,0],"ti":[0,6,0]},{"t":80}],"ix":2},"a":{"a":0,"k":[-72.975,-37.75,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.34,0.34,0.34],"y":[1,1,1]},"o":{"x":[0.66,0.66,0.66],"y":[0,0,0]},"n":["0p34_1_0p66_0","0p34_1_0p66_0","0p34_1_0p66_0"],"t":40,"s":[0,100,100],"e":[105.498,100,100]},{"t":53}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[116.75,12],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":20,"ix":4},"nm":"Caminho do retângulo 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.937254961799,0.937254961799,0.937254961799,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Preenchimento 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-14.375,-37.75],"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":"Transformar"}],"nm":"Retângulo 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":149,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"blue","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.088,"y":1},"n":"0p34_1_0p088_1","t":16,"s":[127.77,391.572,0],"e":[127.77,145.572,0],"to":[0,-41,0],"ti":[0,41,0]},{"t":35}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[80.876,70.93,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[250.5,245.5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":13,"ix":4},"nm":"Caminho do retângulo 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.16862745098,0.254901960784,0.301960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Preenchimento 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0.25,-3.25],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[107.86,108.079],"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":"Transformar"}],"nm":"Retângulo 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":149,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"index","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.088,"y":1},"n":"0p34_1_0p088_1","t":7,"s":[127.77,402.072,0],"e":[127.77,131.072,0],"to":[0,-45.1666679382324,0],"ti":[0,45.1666679382324,0]},{"t":26}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[92,94.51,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[250.5,245.5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":13,"ix":4},"nm":"Caminho do retângulo 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.937254961799,0.937254961799,0.937254961799,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Preenchimento 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0.25,-3.25],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[107.86,108.079],"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":"Transformar"}],"nm":"Retângulo 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":149,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/confetti.json b/submodules/RLottie/Sources/rlottie/example/resource/confetti.json deleted file mode 100644 index 495035cb42..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/confetti.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"4.12.0","fr":29.9700012207031,"ip":0,"op":59.0000024031193,"w":800,"h":800,"nm":"confettis2","ddd":0,"assets":[{"id":"comp_1","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"p20","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[1],"y":[1]},"o":{"x":[0.01],"y":[0]},"n":["1_1_0p01_0"],"t":4,"s":[100],"e":[0]},{"t":43.0000017514259}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.01,"y":0},"n":"0_1_0p01_0","t":4,"s":[400,400,0],"e":[71,152,0],"to":[1.83333337306976,-220.66667175293,0],"ti":[85.1666641235352,-23.3333339691162,0]},{"t":43.0000017514259}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[7.855,0],[0,-7.855],[-7.855,0],[0,7.855]],"o":[[-7.855,0],[0,7.855],[7.855,0],[0,-7.855]],"v":[[0,-14.223],[-14.223,0],[0,14.223],[14.223,0]],"c":true},"ix":2},"nm":"Tracé 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.901960790157,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fond 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[80,80],"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":"Transformer "}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":4.00000016292334,"op":364.000014826024,"st":4.00000016292334,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"p19","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[1],"y":[1]},"o":{"x":[0.01],"y":[0]},"n":["1_1_0p01_0"],"t":3,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.01,"y":0},"n":"0_1_0p01_0","t":3,"s":[400,400,0],"e":[579,746,0],"to":[101.833335876465,91.3333358764648,0],"ti":[27.1666660308838,-153.33332824707,0]},{"t":42.0000017106951}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[7.855,0],[0,-7.855],[-7.855,0],[0,7.855]],"o":[[-7.855,0],[0,7.855],[7.855,0],[0,-7.855]],"v":[[0,-14.223],[-14.223,0],[0,14.223],[14.223,0]],"c":true},"ix":2},"nm":"Tracé 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fond 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[80,80],"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":"Transformer "}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":3.00000012219251,"op":363.000014785293,"st":3.00000012219251,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"p18","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[1],"y":[1]},"o":{"x":[0.01],"y":[0]},"n":["1_1_0p01_0"],"t":2,"s":[100],"e":[0]},{"t":41.0000016699642}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.01,"y":0},"n":"0_1_0p01_0","t":2,"s":[400,400,0],"e":[503,238,0],"to":[-84.1666641235352,-74.6666641235352,0],"ti":[-88.8333358764648,-45.3333320617676,0]},{"t":41.0000016699642}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[7.855,0],[0,-7.855],[-7.855,0],[0,7.855]],"o":[[-7.855,0],[0,7.855],[7.855,0],[0,-7.855]],"v":[[0,-14.223],[-14.223,0],[0,14.223],[14.223,0]],"c":true},"ix":2},"nm":"Tracé 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.074509806931,0.737254917622,0.172549024224,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fond 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[80,80],"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":"Transformer "}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":2.00000008146167,"op":362.000014744562,"st":2.00000008146167,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"p17","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[1],"y":[1]},"o":{"x":[0.01],"y":[0]},"n":["1_1_0p01_0"],"t":1,"s":[100],"e":[0]},{"t":40.0000016292334}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.01,"y":0},"n":"0_1_0p01_0","t":1,"s":[400,400,0],"e":[91,556,0],"to":[-82.1666641235352,-112.666664123535,0],"ti":[73.1666641235352,-199.33332824707,0]},{"t":40.0000016292334}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[7.855,0],[0,-7.855],[-7.855,0],[0,7.855]],"o":[[-7.855,0],[0,7.855],[7.855,0],[0,-7.855]],"v":[[0,-14.223],[-14.223,0],[0,14.223],[14.223,0]],"c":true},"ix":2},"nm":"Tracé 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fond 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[80,80],"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":"Transformer "}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":1.00000004073083,"op":361.000014703831,"st":1.00000004073083,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"p16","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[1],"y":[1]},"o":{"x":[0.01],"y":[0]},"n":["1_1_0p01_0"],"t":0,"s":[100],"e":[0]},{"t":39.0000015885026}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.01,"y":0},"n":"0_1_0p01_0","t":0,"s":[400,400,0],"e":[511,308,0],"to":[77.8333358764648,91.3333358764648,0],"ti":[51.1666679382324,60.6666679382324,0]},{"t":39.0000015885026}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[7.855,0],[0,-7.855],[-7.855,0],[0,7.855]],"o":[[-7.855,0],[0,7.855],[7.855,0],[0,-7.855]],"v":[[0,-14.223],[-14.223,0],[0,14.223],[14.223,0]],"c":true},"ix":2},"nm":"Tracé 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.270588248968,0.529411792755,0.952941179276,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fond 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[80,80],"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":"Transformer "}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":360.000014663101,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"p15","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[1],"y":[1]},"o":{"x":[0.01],"y":[0]},"n":["1_1_0p01_0"],"t":1,"s":[100],"e":[0]},{"t":40.0000016292334}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.01,"y":0},"n":"0_1_0p01_0","t":1,"s":[400,400,0],"e":[155,280,0],"to":[-30.1666660308838,-122.666664123535,0],"ti":[95.1666641235352,-53.3333320617676,0]},{"t":40.0000016292334}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[7.855,0],[0,-7.855],[-7.855,0],[0,7.855]],"o":[[-7.855,0],[0,7.855],[7.855,0],[0,-7.855]],"v":[[0,-14.223],[-14.223,0],[0,14.223],[14.223,0]],"c":true},"ix":2},"nm":"Tracé 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.901960790157,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fond 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[80,80],"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":"Transformer "}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":1.00000004073083,"op":361.000014703831,"st":1.00000004073083,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"p14","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[1],"y":[1]},"o":{"x":[0.01],"y":[0]},"n":["1_1_0p01_0"],"t":2,"s":[100],"e":[0]},{"t":41.0000016699642}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.01,"y":0},"n":"0_1_0p01_0","t":2,"s":[400,400,0],"e":[681,388.872,0],"to":[143.83332824707,49.3333320617676,0],"ti":[-58.8333320617676,48.6666679382324,0]},{"t":41.0000016699642}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[7.855,0],[0,-7.855],[-7.855,0],[0,7.855]],"o":[[-7.855,0],[0,7.855],[7.855,0],[0,-7.855]],"v":[[0,-14.223],[-14.223,0],[0,14.223],[14.223,0]],"c":true},"ix":2},"nm":"Tracé 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fond 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[80,80],"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":"Transformer "}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":2.00000008146167,"op":362.000014744562,"st":2.00000008146167,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"p13","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[1],"y":[1]},"o":{"x":[0.01],"y":[0]},"n":["1_1_0p01_0"],"t":3,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.01,"y":0},"n":"0_1_0p01_0","t":3,"s":[400,400,0],"e":[257,284,0],"to":[-24.1666660308838,-72.6666641235352,0],"ti":[75.1666641235352,-5.33333349227905,0]},{"t":42.0000017106951}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[7.855,0],[0,-7.855],[-7.855,0],[0,7.855]],"o":[[-7.855,0],[0,7.855],[7.855,0],[0,-7.855]],"v":[[0,-14.223],[-14.223,0],[0,14.223],[14.223,0]],"c":true},"ix":2},"nm":"Tracé 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.074509806931,0.737254917622,0.172549024224,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fond 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[80,80],"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":"Transformer "}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":3.00000012219251,"op":363.000014785293,"st":3.00000012219251,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"p12","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[1],"y":[1]},"o":{"x":[0.01],"y":[0]},"n":["1_1_0p01_0"],"t":4,"s":[100],"e":[0]},{"t":43.0000017514259}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.01,"y":0},"n":"0_1_0p01_0","t":4,"s":[400,400,0],"e":[301,474,0],"to":[-14.1666669845581,31.3333339691162,0],"ti":[65.1666641235352,-13.3333330154419,0]},{"t":43.0000017514259}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[7.855,0],[0,-7.855],[-7.855,0],[0,7.855]],"o":[[-7.855,0],[0,7.855],[7.855,0],[0,-7.855]],"v":[[0,-14.223],[-14.223,0],[0,14.223],[14.223,0]],"c":true},"ix":2},"nm":"Tracé 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fond 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[80,80],"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":"Transformer "}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":4.00000016292334,"op":364.000014826024,"st":4.00000016292334,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"p11","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[1],"y":[1]},"o":{"x":[0.01],"y":[0]},"n":["1_1_0p01_0"],"t":0,"s":[100],"e":[0]},{"t":39.0000015885026}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.01,"y":0},"n":"0_1_0p01_0","t":0,"s":[400,400,0],"e":[499,570,0],"to":[-8.16666698455811,63.3333320617676,0],"ti":[-62.8333320617676,-29.3333339691162,0]},{"t":39.0000015885026}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[7.855,0],[0,-7.855],[-7.855,0],[0,7.855]],"o":[[-7.855,0],[0,7.855],[7.855,0],[0,-7.855]],"v":[[0,-14.223],[-14.223,0],[0,14.223],[14.223,0]],"c":true},"ix":2},"nm":"Tracé 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.270588248968,0.529411792755,0.952941179276,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fond 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[80,80],"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":"Transformer "}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":360.000014663101,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"p10","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[1],"y":[1]},"o":{"x":[0.01],"y":[0]},"n":["1_1_0p01_0"],"t":1,"s":[100],"e":[0]},{"t":40.0000016292334}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.01,"y":0},"n":"0_1_0p01_0","t":1,"s":[400,400,0],"e":[557,68,0],"to":[81.8333358764648,-104.666664123535,0],"ti":[-58.8333320617676,104.666664123535,0]},{"t":40.0000016292334}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[7.855,0],[0,-7.855],[-7.855,0],[0,7.855]],"o":[[-7.855,0],[0,7.855],[7.855,0],[0,-7.855]],"v":[[0,-14.223],[-14.223,0],[0,14.223],[14.223,0]],"c":true},"ix":2},"nm":"Tracé 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.901960790157,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fond 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[80,80],"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":"Transformer "}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":1.00000004073083,"op":361.000014703831,"st":1.00000004073083,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"p9","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[1],"y":[1]},"o":{"x":[0.01],"y":[0]},"n":["1_1_0p01_0"],"t":2,"s":[100],"e":[0]},{"t":41.0000016699642}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.01,"y":0},"n":"0_1_0p01_0","t":2,"s":[400,400,0],"e":[715,138,0],"to":[151.83332824707,-46.6666679382324,0],"ti":[-26.8333339691162,72.6666641235352,0]},{"t":41.0000016699642}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[7.855,0],[0,-7.855],[-7.855,0],[0,7.855]],"o":[[-7.855,0],[0,7.855],[7.855,0],[0,-7.855]],"v":[[0,-14.223],[-14.223,0],[0,14.223],[14.223,0]],"c":true},"ix":2},"nm":"Tracé 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fond 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[80,80],"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":"Transformer "}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":2.00000008146167,"op":362.000014744562,"st":2.00000008146167,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"p8","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[1],"y":[1]},"o":{"x":[0.01],"y":[0]},"n":["1_1_0p01_0"],"t":3,"s":[100],"e":[0]},{"t":42.0000017106951}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.01,"y":0},"n":"0_1_0p01_0","t":3,"s":[400,400,0],"e":[679,664,0],"to":[107.833335876465,89.3333358764648,0],"ti":[-92.8333358764648,-103.333335876465,0]},{"t":42.0000017106951}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[7.855,0],[0,-7.855],[-7.855,0],[0,7.855]],"o":[[-7.855,0],[0,7.855],[7.855,0],[0,-7.855]],"v":[[0,-14.223],[-14.223,0],[0,14.223],[14.223,0]],"c":true},"ix":2},"nm":"Tracé 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.074509806931,0.737254917622,0.172549024224,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fond 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[80,80],"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":"Transformer "}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":3.00000012219251,"op":363.000014785293,"st":3.00000012219251,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"p7","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[1],"y":[1]},"o":{"x":[0.01],"y":[0]},"n":["1_1_0p01_0"],"t":4,"s":[100],"e":[0]},{"t":43.0000017514259}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.01,"y":0},"n":"0_1_0p01_0","t":4,"s":[400,400,0],"e":[97,686,0],"to":[-36.1666679382324,53.3333320617676,0],"ti":[75.1666641235352,-39.3333320617676,0]},{"t":43.0000017514259}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[7.855,0],[0,-7.855],[-7.855,0],[0,7.855]],"o":[[-7.855,0],[0,7.855],[7.855,0],[0,-7.855]],"v":[[0,-14.223],[-14.223,0],[0,14.223],[14.223,0]],"c":true},"ix":2},"nm":"Tracé 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fond 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[80,80],"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":"Transformer "}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":4.00000016292334,"op":364.000014826024,"st":4.00000016292334,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":"p6","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[1],"y":[1]},"o":{"x":[0.01],"y":[0]},"n":["1_1_0p01_0"],"t":5,"s":[100],"e":[0]},{"t":44.0000017921567}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.01,"y":0},"n":"0_1_0p01_0","t":5,"s":[400,400,0],"e":[65,340,0],"to":[-148.16667175293,-132.66667175293,0],"ti":[61.1666679382324,-65.3333358764648,0]},{"t":44.0000017921567}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[7.855,0],[0,-7.855],[-7.855,0],[0,7.855]],"o":[[-7.855,0],[0,7.855],[7.855,0],[0,-7.855]],"v":[[0,-14.223],[-14.223,0],[0,14.223],[14.223,0]],"c":true},"ix":2},"nm":"Tracé 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.270588248968,0.529411792755,0.952941179276,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fond 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[80,80],"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":"Transformer "}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":5.00000020365417,"op":365.000014866755,"st":5.00000020365417,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":"p5","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[1],"y":[1]},"o":{"x":[0.01],"y":[0]},"n":["1_1_0p01_0"],"t":6,"s":[100],"e":[0]},{"t":45.0000018328876}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.004,"y":0.691},"o":{"x":0.014,"y":0},"n":"0p004_0p691_0p014_0","t":6,"s":[400,400,0],"e":[400,23.613,0],"to":[-55.3803939819336,-168.204071044922,0],"ti":[27.0301876068115,124.269813537598,0]},{"t":45.0000018328876}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[7.855,0],[0,-7.855],[-7.855,0],[0,7.855]],"o":[[-7.855,0],[0,7.855],[7.855,0],[0,-7.855]],"v":[[0,-14.223],[-14.223,0],[0,14.223],[14.223,0]],"c":true},"ix":2},"nm":"Tracé 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.901960790157,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fond 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[80,80],"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":"Transformer "}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":6.00000024438501,"op":366.000014907486,"st":6.00000024438501,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":"p4","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[1],"y":[1]},"o":{"x":[0.01],"y":[0]},"n":["1_1_0p01_0"],"t":7,"s":[100],"e":[0]},{"t":46.0000018736184}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.01,"y":0},"n":"0_1_0p01_0","t":7,"s":[400,400,0],"e":[303,660,0],"to":[109.833335876465,69.3333358764648,0],"ti":[97.1666641235352,0.66666668653488,0]},{"t":46.0000018736184}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[7.855,0],[0,-7.855],[-7.855,0],[0,7.855]],"o":[[-7.855,0],[0,7.855],[7.855,0],[0,-7.855]],"v":[[0,-14.223],[-14.223,0],[0,14.223],[14.223,0]],"c":true},"ix":2},"nm":"Tracé 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fond 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[80,80],"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":"Transformer "}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":7.00000028511585,"op":367.000014948216,"st":7.00000028511585,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":"p3","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[1],"y":[1]},"o":{"x":[0.01],"y":[0]},"n":["1_1_0p01_0"],"t":8,"s":[100],"e":[0]},{"t":47.0000019143492}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.01,"y":0},"n":"0_1_0p01_0","t":8,"s":[400,400,0],"e":[663,498,0],"to":[41.8333320617676,109.333335876465,0],"ti":[-71.8333358764648,39.6666679382324,0]},{"t":47.0000019143492}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[7.855,0],[0,-7.855],[-7.855,0],[0,7.855]],"o":[[-7.855,0],[0,7.855],[7.855,0],[0,-7.855]],"v":[[0,-14.223],[-14.223,0],[0,14.223],[14.223,0]],"c":true},"ix":2},"nm":"Tracé 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.076272718608,0.735462605953,0.171031266451,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fond 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[80,80],"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":"Transformer "}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":8.00000032584668,"op":368.000014988947,"st":8.00000032584668,"bm":0},{"ddd":0,"ind":19,"ty":4,"nm":"p2","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[1],"y":[1]},"o":{"x":[0.01],"y":[0]},"n":["1_1_0p01_0"],"t":9,"s":[100],"e":[0]},{"t":48.0000019550801}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.01,"y":0},"n":"0_1_0p01_0","t":9,"s":[400,400,0],"e":[187,88,0],"to":[-0.16666667163372,-158.66667175293,0],"ti":[89.1666641235352,6.66666650772095,0]},{"t":48.0000019550801}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[7.855,0],[0,-7.855],[-7.855,0],[0,7.855]],"o":[[-7.855,0],[0,7.855],[7.855,0],[0,-7.855]],"v":[[0,-14.223],[-14.223,0],[0,14.223],[14.223,0]],"c":true},"ix":2},"nm":"Tracé 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.271778345108,0.528400123119,0.952267169952,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fond 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[80,80],"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":"Transformer "}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":9.00000036657752,"op":369.000015029678,"st":9.00000036657752,"bm":0},{"ddd":0,"ind":20,"ty":4,"nm":"p1","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[1],"y":[1]},"o":{"x":[0.01],"y":[0]},"n":["1_1_0p01_0"],"t":0,"s":[100],"e":[0]},{"t":39.0000015885026}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.01,"y":0},"n":"0_1_0p01_0","t":0,"s":[400,400,0],"e":[621,234,0],"to":[-0.16666667163372,-158.66667175293,0],"ti":[-92.8333358764648,-103.333335876465,0]},{"t":39.0000015885026}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[7.855,0],[0,-7.855],[-7.855,0],[0,7.855]],"o":[[-7.855,0],[0,7.855],[7.855,0],[0,-7.855]],"v":[[0,-14.223],[-14.223,0],[0,14.223],[14.223,0]],"c":true},"ix":2},"nm":"Tracé 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.903676450253,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fond 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[80,80],"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":"Transformer "}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":360.000014663101,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"confettis1","refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":42,"ix":10},"p":{"a":0,"k":[396,400,0],"ix":2},"a":{"a":0,"k":[400,400,0],"ix":1},"s":{"a":0,"k":[91.5,91.5,100],"ix":6}},"ao":0,"w":800,"h":800,"ip":9.00000036657752,"op":369.000015029678,"st":9.00000036657752,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"confettis1","refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":267,"ix":10},"p":{"a":0,"k":[416,420,0],"ix":2},"a":{"a":0,"k":[400,400,0],"ix":1},"s":{"a":0,"k":[64.5,64.5,100],"ix":6}},"ao":0,"w":800,"h":800,"ip":7.00000028511585,"op":367.000014948216,"st":7.00000028511585,"bm":0},{"ddd":0,"ind":3,"ty":0,"nm":"confettis1","refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":358,"ix":10},"p":{"a":0,"k":[436,400,0],"ix":2},"a":{"a":0,"k":[400,400,0],"ix":1},"s":{"a":0,"k":[64.5,64.5,100],"ix":6}},"ao":0,"w":800,"h":800,"ip":5.00000020365417,"op":365.000014866755,"st":5.00000020365417,"bm":0},{"ddd":0,"ind":4,"ty":0,"nm":"confettis1","refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":177,"ix":10},"p":{"a":0,"k":[416,380,0],"ix":2},"a":{"a":0,"k":[400,400,0],"ix":1},"s":{"a":0,"k":[64.5,64.5,100],"ix":6}},"ao":0,"w":800,"h":800,"ip":3.00000012219251,"op":363.000014785293,"st":3.00000012219251,"bm":0},{"ddd":0,"ind":5,"ty":0,"nm":"confettis1","refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":132,"ix":10},"p":{"a":0,"k":[416,400,0],"ix":2},"a":{"a":0,"k":[400,400,0],"ix":1},"s":{"a":0,"k":[91.5,91.5,100],"ix":6}},"ao":0,"w":800,"h":800,"ip":1.00000004073083,"op":361.000014703831,"st":1.00000004073083,"bm":0},{"ddd":0,"ind":6,"ty":0,"nm":"confettis1","refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-90,"ix":10},"p":{"a":0,"k":[396,400,0],"ix":2},"a":{"a":0,"k":[400,400,0],"ix":1},"s":{"a":0,"k":[91.5,91.5,100],"ix":6}},"ao":0,"w":800,"h":800,"ip":8.00000032584668,"op":368.000014988947,"st":8.00000032584668,"bm":0},{"ddd":0,"ind":7,"ty":0,"nm":"confettis1","refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":135,"ix":10},"p":{"a":0,"k":[416,420,0],"ix":2},"a":{"a":0,"k":[400,400,0],"ix":1},"s":{"a":0,"k":[64.5,64.5,100],"ix":6}},"ao":0,"w":800,"h":800,"ip":6.00000024438501,"op":366.000014907486,"st":6.00000024438501,"bm":0},{"ddd":0,"ind":8,"ty":0,"nm":"confettis1","refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":226,"ix":10},"p":{"a":0,"k":[436,400,0],"ix":2},"a":{"a":0,"k":[400,400,0],"ix":1},"s":{"a":0,"k":[64.5,64.5,100],"ix":6}},"ao":0,"w":800,"h":800,"ip":4.00000016292334,"op":364.000014826024,"st":4.00000016292334,"bm":0},{"ddd":0,"ind":9,"ty":0,"nm":"confettis1","refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":45,"ix":10},"p":{"a":0,"k":[416,380,0],"ix":2},"a":{"a":0,"k":[400,400,0],"ix":1},"s":{"a":0,"k":[64.5,64.5,100],"ix":6}},"ao":0,"w":800,"h":800,"ip":2.00000008146167,"op":362.000014744562,"st":2.00000008146167,"bm":0},{"ddd":0,"ind":10,"ty":0,"nm":"confettis1","refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[416,400,0],"ix":2},"a":{"a":0,"k":[400,400,0],"ix":1},"s":{"a":0,"k":[91.5,91.5,100],"ix":6}},"ao":0,"w":800,"h":800,"ip":0,"op":360.000014663101,"st":0,"bm":0}]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/cooking.json b/submodules/RLottie/Sources/rlottie/example/resource/cooking.json deleted file mode 100644 index d14ac8f736..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/cooking.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.1.20","fr":30,"ip":0,"op":90,"w":300,"h":300,"nm":"Layers-Panelinha","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"fum3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[118,140,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[14.645,21.967],[0,0]],"o":[[0,0],[-10,-15],[0,0]],"v":[[103.5,-40.5],[102.5,-73],[105,-104]],"c":false},"ix":2},"nm":"Caminho 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.23137254902,0.647058823529,0.345098039216,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Traçado 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Transformar"}],"nm":"Forma 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":52,"s":[0],"e":[100]},{"t":61}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":38,"s":[1],"e":[100]},{"t":48}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Aparar caminhos 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":90,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"fum2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[146.5,146.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[14.645,21.967],[0,0]],"o":[[0,0],[-10,-15],[0,0]],"v":[[103.5,-40.5],[102.5,-73],[105,-104]],"c":false},"ix":2},"nm":"Caminho 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.23137254902,0.647058823529,0.345098039216,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Traçado 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Transformar"}],"nm":"Forma 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":48,"s":[0],"e":[100]},{"t":57}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":34,"s":[0],"e":[100]},{"t":44}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Aparar caminhos 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":90,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"fum1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[172.5,156,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[14.645,21.967],[0,0]],"o":[[0,0],[-10,-15],[0,0]],"v":[[103.5,-40.5],[102.5,-73],[105,-104]],"c":false},"ix":2},"nm":"Caminho 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.23137254902,0.647058823529,0.345098039216,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Traçado 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Transformar"}],"nm":"Forma 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":44,"s":[0],"e":[100]},{"t":53}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":30,"s":[0],"e":[100]},{"t":40}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Aparar caminhos 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":90,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"tampa","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":21,"s":[3],"e":[-1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p667_1_0p167_0"],"t":30,"s":[-1],"e":[-1]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":60,"s":[-1],"e":[3]},{"t":69}],"ix":10},"p":{"a":0,"k":[45.545,146.5,0],"ix":2},"a":{"a":0,"k":[6.582,51.75,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-10.057,-13.526],[-8.536,81.451],[234.078,78.965],[232.557,-16.012]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Máscara 1"}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.181,-0.003]],"o":[[0,0]],"v":[[-0.22,-21.078]],"c":true},"ix":2},"nm":"Caminho 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[2.101,1.25],[4.773,0.893],[13.723,0.898],[6.051,0],[9.651,0],[0.205,3.94],[-2.76,0.691],[-1.947,1.145],[1.654,1.108],[3.862,0.587],[0,0],[3.533,-3.061],[0.933,-1.926],[-2.019,-0.218],[-0.671,0],[-2.685,0.154],[0,0],[4.667,-0.497],[21.998,-8.59],[4.733,-3.077],[1.514,-2.149],[0,0],[-62.874,3.606],[-0.255,0.592]],"o":[[-4.282,-2.547],[-13.548,-2.532],[-5.987,-0.393],[-9.334,0],[-0.192,-3.681],[3.294,-0.218],[2.102,-0.527],[-1.199,-1.786],[-2.849,-1.909],[0,0],[-5.411,0.808],[-1.487,1.289],[1.947,0.89],[0.659,0.072],[2.366,0],[0,0],[-4.912,0.467],[-23.337,2.485],[-5.247,2.049],[-2.046,1.33],[0,0],[62.874,-3.606],[0.254,-0.591],[-1.644,-2.017]],"v":[[105.32,8.989],[91.723,2.741],[50.79,-3.165],[32.749,-3.677],[4.32,-3.394],[3.742,-14.488],[12.777,-15.21],[18.647,-18.522],[14.986,-23.785],[4.674,-27.5],[-6.408,-27.5],[-20.437,-21.662],[-23.316,-15.976],[-17.462,-13.435],[-15.468,-13.334],[-7.956,-13.851],[-7.956,-2.777],[-22.213,-1.412],[-90.667,13.278],[-105.657,21.258],[-110.332,27.5],[-79.052,27.5],[109.569,16.681],[110.332,14.907]],"c":true},"ix":2},"nm":"Caminho 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Mesclar caminhos 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-255.545,289.5],[256.455,289.5],[256.455,-222.5],[-255.545,-222.5]],"c":true},"ix":2},"nm":"Caminho 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-255.545,-222.5],[256.455,-222.5],[256.455,289.5],[-255.545,289.5]],"c":true},"ix":2},"nm":"Caminho 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Transformar"}],"nm":"Grupo 1","np":2,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"mm","mm":4,"nm":"Mesclar caminhos 2","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"tr","p":{"a":0,"k":[110.582,27.75],"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":"Transformar"}],"nm":"Grupo 1","np":6,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":4,"s":[100],"e":[0]},{"t":14}],"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":-3,"ix":3},"m":1,"ix":2,"nm":"Aparar caminhos 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.23137254902,0.647058823529,0.345098039216,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Traçado 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":0,"op":90,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"panela 2","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":0,"s":[0],"e":[100]},{"t":9}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[149.925,197.5,0],"ix":2},"a":{"a":0,"k":[143.235,47.75,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.854,0.559],[0,0],[0.197,-2.328],[-5.896,-0.369],[-6.169,-0.264],[-0.728,-2.833],[-3.983,-13.859],[-3.697,-8.321],[-7.952,-1.308],[-6.447,-0.036],[-14.887,0],[-15.552,0.02],[-8.777,0.258],[-4.491,11.132],[-0.586,2.192],[-4.853,18.555],[-3.728,0.187],[-6.651,0.375],[-0.172,3.214]],"o":[[0,0],[-1.855,0.449],[-0.294,3.472],[6.161,0.386],[4.003,0.171],[3.58,13.924],[2.471,8.597],[2.569,5.782],[6.307,1.038],[14.886,0.083],[15.552,0],[8.786,-0.012],[15.381,-0.451],[0.862,-2.136],[4.955,-18.539],[0.713,-2.723],[6.654,-0.332],[4.02,-0.227],[0.131,-2.44]],"v":[[139.143,-47.5],[-139.292,-47.5],[-142.691,-43.703],[-134.774,-38.372],[-116.302,-37.118],[-109.899,-32.57],[-98.867,9.16],[-89.946,34.679],[-73.248,45.708],[-53.949,47.392],[-9.29,47.5],[37.366,47.453],[63.72,47.118],[93.278,29.351],[95.421,22.838],[110.176,-32.797],[116.329,-37.095],[136.264,-38.412],[142.854,-43.204]],"c":true},"ix":2},"nm":"Caminho 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-255.925,208.5],[256.075,208.5],[256.075,-303.5],[-255.925,-303.5]],"c":true},"ix":2},"nm":"Caminho 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-255.925,-303.5],[256.075,-303.5],[256.075,208.5],[-255.925,208.5]],"c":true},"ix":2},"nm":"Caminho 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Transformar"}],"nm":"Grupo 1","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"mm","mm":4,"nm":"Mesclar caminhos 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"tr","p":{"a":0,"k":[143.235,47.75],"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":"Transformar"}],"nm":"Grupo 1","np":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.647058844566,0.345098048449,1],"ix":4},"o":{"a":0,"k":32,"ix":5},"r":1,"nm":"Preenchimento 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":90,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"panela","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[149.925,197.5,0],"ix":2},"a":{"a":0,"k":[143.235,47.75,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.854,0.559],[0,0],[0.197,-2.328],[-5.896,-0.369],[-6.169,-0.264],[-0.728,-2.833],[-3.983,-13.859],[-3.697,-8.321],[-7.952,-1.308],[-6.447,-0.036],[-14.887,0],[-15.552,0.02],[-8.777,0.258],[-4.491,11.132],[-0.586,2.192],[-4.853,18.555],[-3.728,0.187],[-6.651,0.375],[-0.172,3.214]],"o":[[0,0],[-1.855,0.449],[-0.294,3.472],[6.161,0.386],[4.003,0.171],[3.58,13.924],[2.471,8.597],[2.569,5.782],[6.307,1.038],[14.886,0.083],[15.552,0],[8.786,-0.012],[15.381,-0.451],[0.862,-2.136],[4.955,-18.539],[0.713,-2.723],[6.654,-0.332],[4.02,-0.227],[0.131,-2.44]],"v":[[139.143,-47.5],[-139.292,-47.5],[-142.691,-43.703],[-134.774,-38.372],[-116.302,-37.118],[-109.899,-32.57],[-98.867,9.16],[-89.946,34.679],[-73.248,45.708],[-53.949,47.392],[-9.29,47.5],[37.366,47.453],[63.72,47.118],[93.278,29.351],[95.421,22.838],[110.176,-32.797],[116.329,-37.095],[136.264,-38.412],[142.854,-43.204]],"c":true},"ix":2},"nm":"Caminho 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-255.925,208.5],[256.075,208.5],[256.075,-303.5],[-255.925,-303.5]],"c":true},"ix":2},"nm":"Caminho 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-255.925,-303.5],[256.075,-303.5],[256.075,208.5],[-255.925,208.5]],"c":true},"ix":2},"nm":"Caminho 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Transformar"}],"nm":"Grupo 1","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"mm","mm":4,"nm":"Mesclar caminhos 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"tr","p":{"a":0,"k":[143.235,47.75],"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":"Transformar"}],"nm":"Grupo 1","np":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":0,"s":[100],"e":[0]},{"t":9}],"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":95,"ix":3},"m":1,"ix":2,"nm":"Aparar caminhos 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.23137254902,0.647058823529,0.345098039216,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":6,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Traçado 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":0,"op":90,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/dna.json b/submodules/RLottie/Sources/rlottie/example/resource/dna.json deleted file mode 100644 index 545d474b34..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/dna.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"4.13.0","fr":60,"ip":0,"op":241,"w":800,"h":600,"nm":"DNA","ddd":0,"assets":[{"id":"comp_6","layers":[{"ddd":0,"ind":1,"ty":0,"nm":"meet bar","refId":"comp_7","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[22,290,0],"ix":2},"a":{"a":0,"k":[32,205,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":64,"h":410,"ip":0,"op":361,"st":-156,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"meet bar","refId":"comp_7","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[56.455,290,0],"ix":2},"a":{"a":0,"k":[32,205,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":64,"h":410,"ip":0,"op":361,"st":-153,"bm":0},{"ddd":0,"ind":3,"ty":0,"nm":"meet bar","refId":"comp_7","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[90.909,290,0],"ix":2},"a":{"a":0,"k":[32,205,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":64,"h":410,"ip":0,"op":361,"st":-150,"bm":0},{"ddd":0,"ind":4,"ty":0,"nm":"meet bar","refId":"comp_7","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[125.364,290,0],"ix":2},"a":{"a":0,"k":[32,205,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":64,"h":410,"ip":0,"op":361,"st":-147,"bm":0},{"ddd":0,"ind":5,"ty":0,"nm":"meet bar","refId":"comp_7","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[159.818,290,0],"ix":2},"a":{"a":0,"k":[32,205,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":64,"h":410,"ip":0,"op":361,"st":-144,"bm":0},{"ddd":0,"ind":6,"ty":0,"nm":"meet bar","refId":"comp_7","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[194.273,290,0],"ix":2},"a":{"a":0,"k":[32,205,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":64,"h":410,"ip":0,"op":361,"st":-141,"bm":0},{"ddd":0,"ind":7,"ty":0,"nm":"meet bar","refId":"comp_7","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[228.727,290,0],"ix":2},"a":{"a":0,"k":[32,205,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":64,"h":410,"ip":0,"op":361,"st":-138,"bm":0},{"ddd":0,"ind":8,"ty":0,"nm":"meet bar","refId":"comp_7","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[263.182,290,0],"ix":2},"a":{"a":0,"k":[32,205,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":64,"h":410,"ip":0,"op":361,"st":-135,"bm":0},{"ddd":0,"ind":9,"ty":0,"nm":"meet bar","refId":"comp_7","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[297.636,290,0],"ix":2},"a":{"a":0,"k":[32,205,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":64,"h":410,"ip":0,"op":361,"st":-132,"bm":0},{"ddd":0,"ind":10,"ty":0,"nm":"meet bar","refId":"comp_7","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[332.091,290,0],"ix":2},"a":{"a":0,"k":[32,205,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":64,"h":410,"ip":0,"op":361,"st":-129,"bm":0},{"ddd":0,"ind":11,"ty":0,"nm":"meet bar","refId":"comp_7","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[366.545,290,0],"ix":2},"a":{"a":0,"k":[32,205,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":64,"h":410,"ip":0,"op":361,"st":-126,"bm":0},{"ddd":0,"ind":12,"ty":0,"nm":"meet bar","refId":"comp_7","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[401,290,0],"ix":2},"a":{"a":0,"k":[32,205,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":64,"h":410,"ip":0,"op":361,"st":-123,"bm":0},{"ddd":0,"ind":13,"ty":0,"nm":"meet bar","refId":"comp_7","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[435.455,290,0],"ix":2},"a":{"a":0,"k":[32,205,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":64,"h":410,"ip":0,"op":361,"st":-120,"bm":0},{"ddd":0,"ind":14,"ty":0,"nm":"meet bar","refId":"comp_7","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[469.909,290,0],"ix":2},"a":{"a":0,"k":[32,205,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":64,"h":410,"ip":0,"op":361,"st":-117,"bm":0},{"ddd":0,"ind":15,"ty":0,"nm":"meet bar","refId":"comp_7","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[504.364,290,0],"ix":2},"a":{"a":0,"k":[32,205,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":64,"h":410,"ip":0,"op":361,"st":-114,"bm":0},{"ddd":0,"ind":16,"ty":0,"nm":"meet bar","refId":"comp_7","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[538.818,290,0],"ix":2},"a":{"a":0,"k":[32,205,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":64,"h":410,"ip":0,"op":361,"st":-111,"bm":0},{"ddd":0,"ind":17,"ty":0,"nm":"meet bar","refId":"comp_7","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[573.273,290,0],"ix":2},"a":{"a":0,"k":[32,205,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":64,"h":410,"ip":0,"op":361,"st":-108,"bm":0},{"ddd":0,"ind":18,"ty":0,"nm":"meet bar","refId":"comp_7","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[607.727,290,0],"ix":2},"a":{"a":0,"k":[32,205,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":64,"h":410,"ip":0,"op":361,"st":-105,"bm":0},{"ddd":0,"ind":19,"ty":0,"nm":"meet bar","refId":"comp_7","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[642.182,290,0],"ix":2},"a":{"a":0,"k":[32,205,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":64,"h":410,"ip":0,"op":361,"st":-102,"bm":0},{"ddd":0,"ind":20,"ty":0,"nm":"meet bar","refId":"comp_7","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[676.636,290,0],"ix":2},"a":{"a":0,"k":[32,205,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":64,"h":410,"ip":0,"op":361,"st":-99,"bm":0},{"ddd":0,"ind":21,"ty":0,"nm":"meet bar","refId":"comp_7","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[711.091,290,0],"ix":2},"a":{"a":0,"k":[32,205,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":64,"h":410,"ip":0,"op":361,"st":-96,"bm":0},{"ddd":0,"ind":22,"ty":0,"nm":"meet bar","refId":"comp_7","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[745.545,290,0],"ix":2},"a":{"a":0,"k":[32,205,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":64,"h":410,"ip":0,"op":361,"st":-93,"bm":0},{"ddd":0,"ind":23,"ty":0,"nm":"meet bar","refId":"comp_7","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[780,290,0],"ix":2},"a":{"a":0,"k":[32,205,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":64,"h":410,"ip":0,"op":361,"st":-90,"bm":0}]},{"id":"comp_7","layers":[{"ddd":0,"ind":1,"ty":3,"nm":"traceNull","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[958,53,0],"ix":2,"x":"var $bm_rt;\nvar pathLayer = thisComp.layer('bar');\nvar progress = div(thisLayer.effect('Pseudo/ADBE Trace Path')('Pseudo/ADBE Trace Path-0001'), 100);\nvar pathToTrace = pathLayer('ADBE Root Vectors Group')(1)('ADBE Vector Shape');\n$bm_rt = pathLayer.toComp(pathToTrace.pointOnPath(progress));"},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Trace Path","np":4,"mn":"Pseudo/ADBE Trace Path","ix":1,"en":1,"ef":[{"ty":0,"nm":"Progress","mn":"Pseudo/ADBE Trace Path-0001","ix":1,"v":{"a":1,"k":[{"i":{"x":[0.6],"y":[1]},"o":{"x":[0.4],"y":[0]},"n":["0p6_1_0p4_0"],"t":0,"s":[0],"e":[100]},{"i":{"x":[0.6],"y":[1]},"o":{"x":[0.4],"y":[0]},"n":["0p6_1_0p4_0"],"t":60,"s":[100],"e":[0]},{"t":120}],"ix":1,"x":"var $bm_rt;\nif (thisProperty.numKeys > 1) {\n $bm_rt = thisProperty.loopOut('cycle');\n} else {\n $bm_rt = value;\n}"}},{"ty":7,"nm":"Loop","mn":"Pseudo/ADBE Trace Path-0002","ix":2,"v":{"a":0,"k":0,"ix":2}}]}],"ip":0,"op":720,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"botDot","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-90,"ix":10},"p":{"a":0,"k":[660,124,0],"ix":2,"x":"var $bm_rt;\nvar barLayer, barPath;\nbarLayer = thisComp.layer('bar');\nbarPath = barLayer.content('Path 1').path.points();\n$bm_rt = sub(barLayer.toComp(barPath[1]), sub(thisComp.layer('traceNull').transform.position, barLayer.toComp(barPath[0])));"},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":0,"s":[12,12],"e":[16,16]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":30,"s":[16,16],"e":[12,12]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":60,"s":[12,12],"e":[4,4]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":90,"s":[4,4],"e":[12,12]},{"t":120}],"ix":2,"x":"var $bm_rt;\n$bm_rt = loopOut('cycle');"},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.666666666667,0.850980392157,0.96862745098,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":720,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"topDot","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-90,"ix":10},"p":{"a":0,"k":[388,200,0],"ix":2,"x":"var $bm_rt;\n$bm_rt = thisComp.layer('traceNull').transform.position;"},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":0,"s":[12,12],"e":[4,4]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":30,"s":[4,4],"e":[12,12]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":60,"s":[12,12],"e":[16,16]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":90,"s":[16,16],"e":[12,12]},{"t":120}],"ix":2,"x":"var $bm_rt;\n$bm_rt = loopOut('cycle');"},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.666666666667,0.850980392157,0.96862745098,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":720,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"bar","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[306,436,0],"ix":2},"a":{"a":0,"k":[102,468,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-171,76],[-171,396]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1,"x":"var $bm_rt;\n$bm_rt = thisComp.layer('traceNull').effect('Trace Path')('Progress');"},"e":{"a":0,"k":100,"ix":2,"x":"var $bm_rt;\n$bm_rt = sub(100, content('Trim Paths 1').start);"},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"gs","o":{"a":0,"k":100,"ix":9},"w":{"a":0,"k":2,"ix":10},"g":{"p":5,"k":{"a":0,"k":[0,0.639,0.816,0.929,0.254,0.357,0.496,0.594,0.507,0.075,0.176,0.259,0.754,0.357,0.496,0.594,1,0.639,0.816,0.929,0,1,0.253,0.5,0.505,0,0.752,0.5,1,1],"ix":8}},"s":{"a":0,"k":[258,509],"ix":4},"e":{"a":1,"k":[{"i":{"x":0.6,"y":1},"o":{"x":0.4,"y":0},"n":"0p6_1_0p4_0","t":0,"s":[396,-25],"e":[-7,-25],"to":[0,0],"ti":[0,0]},{"i":{"x":0.6,"y":1},"o":{"x":0.4,"y":0},"n":"0p6_1_0p4_0","t":60,"s":[-7,-25],"e":[396,-25],"to":[0,0],"ti":[0,0]},{"t":120}],"ix":5,"x":"var $bm_rt;\n$bm_rt = loopOut('cycle');"},"t":1,"lc":1,"lj":1,"ml":4,"nm":"Gradient Stroke 1","mn":"ADBE Vector Graphic - G-Stroke","hd":false}],"ip":0,"op":720,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"NULL CONTROL","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":20,"ix":10},"p":{"a":0,"k":[410.059,291.323,0],"ix":2},"a":{"a":0,"k":[60,60,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ip":0,"op":241,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"meet graph","parent":1,"refId":"comp_6","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[60,60,0],"ix":2},"a":{"a":0,"k":[400,300,0],"ix":1},"s":{"a":0,"k":[78.88,-78.88,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Starglow","np":68,"mn":"tc Starglow","ix":1,"en":0,"ef":[{"ty":7,"nm":"Preset","mn":"tc Starglow-0059","ix":1,"v":{"a":0,"k":39,"ix":1}},{"ty":7,"nm":"Input Channel","mn":"tc Starglow-0001","ix":2,"v":{"a":0,"k":4,"ix":2}},{"ty":6,"nm":"Pre-Process","mn":"tc Starglow-0002","ix":3,"v":0},{"ty":0,"nm":"Threshold","mn":"tc Starglow-0003","ix":4,"v":{"a":0,"k":160,"ix":4}},{"ty":0,"nm":"Threshold Soft","mn":"tc Starglow-0004","ix":5,"v":{"a":0,"k":10,"ix":5}},{"ty":7,"nm":"Use Mask","mn":"tc Starglow-0005","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Mask Radius","mn":"tc Starglow-0006","ix":7,"v":{"a":0,"k":100,"ix":7}},{"ty":0,"nm":"Mask Feather","mn":"tc Starglow-0007","ix":8,"v":{"a":0,"k":50,"ix":8}},{"ty":3,"nm":"Mask Position","mn":"tc Starglow-0008","ix":9,"v":{"a":0,"k":[400,300],"ix":9}},{"ty":6,"nm":"","mn":"tc Starglow-0009","ix":10,"v":0},{"ty":0,"nm":"Streak Length","mn":"tc Starglow-0010","ix":11,"v":{"a":0,"k":20,"ix":11}},{"ty":0,"nm":"Boost Light","mn":"tc Starglow-0021","ix":12,"v":{"a":0,"k":0,"ix":12}},{"ty":6,"nm":"Individual Lengths","mn":"tc Starglow-0011","ix":13,"v":0},{"ty":0,"nm":"Up","mn":"tc Starglow-0012","ix":14,"v":{"a":0,"k":1,"ix":14}},{"ty":0,"nm":"Down","mn":"tc Starglow-0013","ix":15,"v":{"a":0,"k":1,"ix":15}},{"ty":0,"nm":"Left","mn":"tc Starglow-0014","ix":16,"v":{"a":0,"k":0,"ix":16}},{"ty":0,"nm":"Right","mn":"tc Starglow-0015","ix":17,"v":{"a":0,"k":0,"ix":17}},{"ty":0,"nm":"Up Left","mn":"tc Starglow-0016","ix":18,"v":{"a":0,"k":0,"ix":18}},{"ty":0,"nm":"Up Right","mn":"tc Starglow-0017","ix":19,"v":{"a":0,"k":0,"ix":19}},{"ty":0,"nm":"Down Left","mn":"tc Starglow-0018","ix":20,"v":{"a":0,"k":0,"ix":20}},{"ty":0,"nm":"Down Right","mn":"tc Starglow-0019","ix":21,"v":{"a":0,"k":0,"ix":21}},{"ty":6,"nm":"","mn":"tc Starglow-0020","ix":22,"v":0},{"ty":6,"nm":"Individual Colors","mn":"tc Starglow-0046","ix":23,"v":0},{"ty":7,"nm":"Up","mn":"tc Starglow-0047","ix":24,"v":{"a":0,"k":1,"ix":24}},{"ty":7,"nm":"Down","mn":"tc Starglow-0048","ix":25,"v":{"a":0,"k":2,"ix":25}},{"ty":7,"nm":"Left","mn":"tc Starglow-0049","ix":26,"v":{"a":0,"k":1,"ix":26}},{"ty":7,"nm":"Right","mn":"tc Starglow-0050","ix":27,"v":{"a":0,"k":1,"ix":27}},{"ty":7,"nm":"Up Left","mn":"tc Starglow-0051","ix":28,"v":{"a":0,"k":1,"ix":28}},{"ty":7,"nm":"Up Right","mn":"tc Starglow-0052","ix":29,"v":{"a":0,"k":1,"ix":29}},{"ty":7,"nm":"Down Left","mn":"tc Starglow-0053","ix":30,"v":{"a":0,"k":2,"ix":30}},{"ty":7,"nm":"Down Right","mn":"tc Starglow-0054","ix":31,"v":{"a":0,"k":3,"ix":31}},{"ty":6,"nm":"","mn":"tc Starglow-0055","ix":32,"v":0},{"ty":6,"nm":"Colormap A","mn":"tc Starglow-0022","ix":33,"v":0},{"ty":7,"nm":"Preset","mn":"tc Starglow-0023","ix":34,"v":{"a":0,"k":5,"ix":34}},{"ty":2,"nm":"Highlights","mn":"tc Starglow-0024","ix":35,"v":{"a":0,"k":[1,1,1,0],"ix":35}},{"ty":2,"nm":"Mid High","mn":"tc Starglow-0025","ix":36,"v":{"a":0,"k":[1,0.650980392157,1,0],"ix":36}},{"ty":2,"nm":"Midtones","mn":"tc Starglow-0026","ix":37,"v":{"a":0,"k":[1,0.650980392157,0,0.035294117647],"ix":37}},{"ty":2,"nm":"Mid Low","mn":"tc Starglow-0027","ix":38,"v":{"a":0,"k":[1,0.650980392157,1,0],"ix":38}},{"ty":2,"nm":"Shadows","mn":"tc Starglow-0028","ix":39,"v":{"a":0,"k":[1,0,0,0],"ix":39}},{"ty":6,"nm":"","mn":"tc Starglow-0029","ix":40,"v":0},{"ty":6,"nm":"Colormap B","mn":"tc Starglow-0030","ix":41,"v":0},{"ty":7,"nm":"Preset","mn":"tc Starglow-0031","ix":42,"v":{"a":0,"k":9,"ix":42}},{"ty":2,"nm":"Highlights","mn":"tc Starglow-0032","ix":43,"v":{"a":0,"k":[1,1,1,0],"ix":43}},{"ty":2,"nm":"Mid High","mn":"tc Starglow-0033","ix":44,"v":{"a":0,"k":[0.988235294118,0.788235294118,0.635294117647,0],"ix":44}},{"ty":2,"nm":"Midtones","mn":"tc Starglow-0034","ix":45,"v":{"a":0,"k":[0.501960784314,1,1,0.035294117647],"ix":45}},{"ty":2,"nm":"Mid Low","mn":"tc Starglow-0035","ix":46,"v":{"a":0,"k":[0.572549019608,0.478431372549,0.945098039216,0],"ix":46}},{"ty":2,"nm":"Shadows","mn":"tc Starglow-0036","ix":47,"v":{"a":0,"k":[0,0,1,0],"ix":47}},{"ty":6,"nm":"","mn":"tc Starglow-0037","ix":48,"v":0},{"ty":6,"nm":"Colormap C","mn":"tc Starglow-0038","ix":49,"v":0},{"ty":7,"nm":"Preset","mn":"tc Starglow-0039","ix":50,"v":{"a":0,"k":7,"ix":50}},{"ty":2,"nm":"Highlights","mn":"tc Starglow-0040","ix":51,"v":{"a":0,"k":[1,1,1,0],"ix":51}},{"ty":2,"nm":"Mid High","mn":"tc Starglow-0041","ix":52,"v":{"a":0,"k":[0.78431372549,1,0.501960784314,1],"ix":52}},{"ty":2,"nm":"Midtones","mn":"tc Starglow-0042","ix":53,"v":{"a":0,"k":[0.650980392157,1,0,0.035294117647],"ix":53}},{"ty":2,"nm":"Mid Low","mn":"tc Starglow-0043","ix":54,"v":{"a":0,"k":[0.313725490196,1,0,1],"ix":54}},{"ty":2,"nm":"Shadows","mn":"tc Starglow-0044","ix":55,"v":{"a":0,"k":[0,1,0,0],"ix":55}},{"ty":6,"nm":"","mn":"tc Starglow-0045","ix":56,"v":0},{"ty":6,"nm":"Shimmer","mn":"tc Starglow-0060","ix":57,"v":0},{"ty":0,"nm":"Amount","mn":"tc Starglow-0061","ix":58,"v":{"a":0,"k":0,"ix":58}},{"ty":0,"nm":"Detail","mn":"tc Starglow-0062","ix":59,"v":{"a":0,"k":10,"ix":59}},{"ty":0,"nm":"Phase","mn":"tc Starglow-0063","ix":60,"v":{"a":0,"k":0,"ix":60}},{"ty":7,"nm":"Use Loop","mn":"tc Starglow-0064","ix":61,"v":{"a":0,"k":0,"ix":61}},{"ty":0,"nm":"Revolutions in Loop","mn":"tc Starglow-0065","ix":62,"v":{"a":0,"k":1,"ix":62}},{"ty":6,"nm":"","mn":"tc Starglow-0066","ix":63,"v":0},{"ty":0,"nm":"Source Opacity","mn":"tc Starglow-0056","ix":64,"v":{"a":0,"k":100,"ix":64}},{"ty":0,"nm":"Starglow Opacity","mn":"tc Starglow-0057","ix":65,"v":{"a":0,"k":43,"ix":65}},{"ty":7,"nm":"Transfer Mode","mn":"tc Starglow-0058","ix":66,"v":{"a":0,"k":7,"ix":66}}]}],"w":800,"h":600,"ip":0,"op":241,"st":-16,"bm":0}]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/done.json b/submodules/RLottie/Sources/rlottie/example/resource/done.json deleted file mode 100644 index a4b11963e8..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/done.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"4.11.1","fr":29.9700012207031,"ip":0,"op":76.0000030955435,"w":70,"h":70,"nm":"Comp 1","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[35,35,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_1_0p333_0"],"t":33,"s":[0,0,100],"e":[120,120,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_1_0p333_0"],"t":46,"s":[120,120,100],"e":[100,100,100]},{"t":52.0000021180034}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-7,1.438],[-2.656,5.781],[7.422,-4.297]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":2,"lj":2,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":33,"s":[0],"e":[100]},{"t":52.0000021180034}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":450.000018328876,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[35,35,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_1_0p333_0"],"t":18,"s":[0,0,100],"e":[120,120,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_1_0p333_0"],"t":33,"s":[120,120,100],"e":[80,80,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_1_0p333_0"],"t":41,"s":[80,80,100],"e":[110,110,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_1_0p333_0"],"t":49,"s":[110,110,100],"e":[100,100,100]},{"t":52.0000021180034}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[13.015,0],[0,-13.015],[-13.015,0],[0,13.015]],"o":[[-13.015,0],[0,13.015],[13.015,0],[0,-13.015]],"v":[[0,-23.566],[-23.566,0],[0,23.566],[23.566,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.898039215686,0.898039215686,0.898039215686,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.760784313725,0.2,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[105.535,105.535],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":450.000018328876,"st":0,"bm":0}]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/dynamic_path_test.json b/submodules/RLottie/Sources/rlottie/example/resource/dynamic_path_test.json deleted file mode 100644 index a01e506dc2..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/dynamic_path_test.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.1.17","fr":29.9700012207031,"ip":0,"op":150.000006109625,"w":300,"h":300,"nm":"Comp 1","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[150,150,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":20,"s":[135,135],"e":[116,116]},{"t":137.000005580124}],"ix":2},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":20,"s":[24,25],"e":[57,52],"to":[5.5,4.5],"ti":[-5.5,-4.5]},{"t":129.000005254278}],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[54]},{"t":149.000006068894}],"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":0,"s":[100,100],"e":[50,50]},{"t":40.0000016292334}],"ix":2},"p":{"a":0,"k":[-26,-37],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.145327582955,0.057777773589,0.866666674614,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 2","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"sr","sy":1,"d":1,"pt":{"a":0,"k":5,"ix":3},"p":{"a":0,"k":[26,-54],"ix":4},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":110,"s":[0],"e":[184]},{"t":149.000006068894}],"ix":5},"ir":{"a":0,"k":30,"ix":6},"is":{"a":0,"k":27,"ix":8},"or":{"a":0,"k":59,"ix":7},"os":{"a":0,"k":73,"ix":9},"ix":5,"nm":"Polystar Path 1","mn":"ADBE Vector Shape - Star","hd":false},{"ty":"fl","c":{"a":0,"k":[0.07993286103,0.716212213039,0.766274511814,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 3","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":150.000006109625,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/dynamic_property.json b/submodules/RLottie/Sources/rlottie/example/resource/dynamic_property.json deleted file mode 100644 index ef04bd08c4..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/dynamic_property.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.4.3","fr":60,"ip":0,"op":30,"w":800,"h":800,"nm":"Comp 1","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"ABCDEFG Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[395,397,0],"ix":2},"a":{"a":0,"k":[86,-17,0],"ix":1},"s":{"a":0,"k":[343,343,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,-0.516],[0.334,-0.269],[0.949,-0.047],[0,0],[0,0],[0,0],[0.545,0.475],[0.668,1.594],[0,0],[0,0],[0,0],[0.598,-0.563],[0.996,-0.176],[0,0],[0,0],[0,0],[0.346,0.275],[0,0.363],[-0.399,0.926],[0,0],[0,0]],"o":[[0.469,1.113],[0,0.387],[-0.334,0.27],[0,0],[0,0],[0,0],[-0.973,-0.059],[-0.545,-0.475],[0,0],[0,0],[0,0],[-0.727,1.723],[-0.293,0.281],[0,0],[0,0],[0,0],[-1.149,-0.082],[-0.346,-0.275],[0,-0.457],[0,0],[0,0],[0,0]],"v":[[17.912,-4.553],[18.615,-2.109],[18.114,-1.125],[16.189,-0.65],[16.189,0],[25.594,0],[25.594,-0.65],[23.317,-1.45],[21.498,-4.553],[13.201,-24.381],[12.586,-24.381],[4.201,-4.764],[2.215,-1.336],[0.281,-0.65],[0.281,0],[7.787,0],[7.787,-0.65],[5.546,-1.187],[5.027,-2.145],[5.625,-4.219],[7.242,-7.98],[16.471,-7.98]],"c":true},"ix":2},"nm":"A","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[7.787,-9.281],[11.936,-18.914],[15.979,-9.281]],"c":true},"ix":2},"nm":"A","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.921568986481,0.921568986481,0.921568986481,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":[0,0],"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":"A","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.727,0.943],[0,1.195],[0.926,1.072],[1.758,0.422],[1.922,0],[0,0],[0,0],[0,0],[-0.457,-0.516],[0,-1.477],[0,0],[0.269,-0.41],[0.996,0],[0,0],[0,0],[0,0],[-1.307,0.498],[-0.75,1.084],[0,1.184],[1.137,1.078],[1.652,0.352]],"o":[[0.726,-0.943],[0,-1.394],[-0.926,-1.072],[-1.16,-0.281],[0,0],[0,0],[0,0],[0.902,0],[0.34,0.387],[0,0],[0,1.336],[-0.434,0.633],[0,0],[0,0],[0,0],[2.683,0],[1.307,-0.498],[0.75,-1.084],[0,-1.558],[-0.82,-0.773],[1.418,-0.457]],"v":[[45.844,-14.265],[46.934,-17.473],[45.545,-21.173],[41.52,-23.414],[36.896,-23.836],[26.596,-23.836],[26.596,-23.186],[27.492,-23.186],[29.531,-22.412],[30.041,-19.617],[30.041,-4.219],[29.637,-1.6],[27.492,-0.65],[26.596,-0.65],[26.596,0],[37.846,0],[43.831,-0.747],[46.916,-3.12],[48.041,-6.521],[46.336,-10.477],[42.627,-12.164]],"c":true},"ix":2},"nm":"B","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[-1.172,0],[-1.137,-0.984],[0,-1.394],[0.457,-0.762],[0.861,-0.369],[1.711,0],[0.556,0.041],[0.433,0.082]],"o":[[0.937,-0.258],[2.18,0],[1.137,0.984],[0,0.903],[-0.457,0.762],[-0.861,0.369],[-0.668,0],[-0.557,-0.041],[0,0]],"v":[[33.416,-22.271],[36.58,-22.658],[41.555,-21.182],[43.26,-17.613],[42.574,-15.117],[40.597,-13.421],[36.738,-12.867],[34.901,-12.929],[33.416,-13.113]],"c":true},"ix":2},"nm":"B","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,0],[-0.516,0.024],[-0.727,0],[-1.137,-0.492],[-0.504,-0.855],[0,-0.926],[1.113,-0.955],[2.121,0],[1.359,0.316]],"o":[[0.316,-0.059],[0.516,-0.023],[1.676,0],[1.137,0.492],[0.504,0.856],[0,1.406],[-1.113,0.955],[-1.324,0],[0,0]],"v":[[33.416,-11.496],[34.664,-11.619],[36.527,-11.654],[40.746,-10.916],[43.207,-8.895],[43.963,-6.223],[42.293,-2.681],[37.441,-1.248],[33.416,-1.723]],"c":true},"ix":2},"nm":"B","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.921568986481,0.921568986481,0.921568986481,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":[0,0],"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":"B","np":6,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.305,-0.316],[0.316,0],[0.492,0.258],[1.723,0],[1.869,-1.096],[1.066,-1.992],[0,-2.379],[-1.617,-2.18],[-3.949,0],[-1.594,0.984],[-1.195,2.121],[0,0],[1.184,-0.662],[1.547,0],[1.389,0.844],[0.691,1.582],[0,2.156],[-0.733,1.758],[-1.277,0.803],[-1.582,0],[-1.348,-1.066],[-0.727,-2.426],[0,0],[0,0]],"o":[[-0.129,0.563],[-0.235,0.223],[-0.211,0],[-1.676,-0.844],[-2.215,0],[-1.869,1.096],[-1.066,1.992],[0,2.953],[2.168,2.93],[2.191,0],[1.594,-0.984],[0,0],[-1.418,1.969],[-1.184,0.662],[-1.781,0],[-1.389,-0.844],[-0.692,-1.582],[0,-2.613],[0.732,-1.758],[1.277,-0.803],[1.887,0],[1.347,1.066],[0,0],[0,0],[0,0]],"v":[[71.068,-24.381],[70.418,-23.063],[69.592,-22.729],[68.537,-23.115],[63.439,-24.381],[57.313,-22.737],[52.91,-18.105],[51.311,-11.549],[53.736,-3.85],[62.912,0.545],[68.59,-0.932],[72.773,-5.59],[72.229,-5.941],[68.326,-1.995],[64.23,-1.002],[59.476,-2.268],[56.355,-5.906],[55.318,-11.514],[56.417,-18.07],[59.432,-21.911],[63.721,-23.115],[68.572,-21.516],[71.684,-16.277],[72.229,-16.277],[71.684,-24.381]],"c":true},"ix":2},"nm":"C","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.921568986481,0.921568986481,0.921568986481,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":[0,0],"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":"C","np":3,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-2.262,2.485],[0,3.316],[1.131,1.887],[1.857,0.809],[3.562,0],[0,0],[0,0],[0,0],[-0.457,-0.516],[0,-1.488],[0,0],[0.258,-0.387],[1.008,0],[0,0],[0,0]],"o":[[4.629,0],[2.015,-2.226],[0,-2.472],[-1.131,-1.887],[-1.858,-0.809],[0,0],[0,0],[0,0],[0.902,0],[0.328,0.375],[0,0],[0,1.348],[-0.422,0.645],[0,0],[0,0],[0,0]],"v":[[85.289,0],[95.625,-3.727],[98.648,-12.041],[96.952,-18.58],[92.47,-22.623],[84.34,-23.836],[74.637,-23.836],[74.637,-23.186],[75.533,-23.186],[77.572,-22.412],[78.064,-19.617],[78.064,-4.219],[77.678,-1.617],[75.533,-0.65],[74.637,-0.65],[74.637,0]],"c":true},"ix":2},"nm":"D","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[-1.055,0],[-1.793,-1.898],[0,-3.293],[1.793,-1.91],[2.719,0],[1.488,0.328]],"o":[[1.347,-0.34],[2.813,0],[1.793,1.898],[0,3.27],[-1.793,1.91],[-1.008,0],[0,0]],"v":[[81.439,-21.99],[85.043,-22.5],[91.951,-19.652],[94.641,-11.865],[91.951,-4.096],[85.184,-1.23],[81.439,-1.723]],"c":true},"ix":2},"nm":"D","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.921568986481,0.921568986481,0.921568986481,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":[0,0],"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":"D","np":5,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.469,-0.176],[-0.299,-0.469],[-0.246,-1.254],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.422,-0.469],[0,-1.512],[0,0],[0.135,-0.375],[0.375,-0.187],[0.563,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0.726,-0.726],[0.609,-0.187],[1.347,0],[0,0],[0.234,0.135],[0.094,0.229],[0,1.055],[0,0],[0,0],[-0.481,-0.234],[-0.211,-0.41],[-0.164,-1.16],[0,0],[0,0],[0,0],[0.609,-0.539],[1.359,0],[0,0],[0,0]],"o":[[1.184,0],[0.586,0.246],[0.299,0.469],[0,0],[0,0],[0,0],[0,0],[0,0],[0.984,0],[0.305,0.352],[0,0],[0,1.16],[-0.135,0.375],[-0.504,0.27],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.762,1.465],[-0.563,0.551],[-0.609,0.188],[0,0],[-0.656,0],[-0.235,-0.135],[-0.094,-0.229],[0,0],[0,0],[0.996,0],[0.48,0.235],[0.164,0.328],[0,0],[0,0],[0,0],[-0.07,1.36],[-0.457,0.41],[0,0],[0,0],[0,0]],"v":[[114.082,-22.535],[116.561,-22.271],[117.888,-21.199],[118.705,-18.615],[119.391,-18.615],[119.127,-23.836],[100.758,-23.836],[100.758,-23.186],[101.602,-23.186],[103.711,-22.482],[104.168,-19.688],[104.168,-4.201],[103.966,-1.898],[103.201,-1.055],[101.602,-0.65],[100.758,-0.65],[100.758,0],[119.127,0],[121.184,-5.977],[120.48,-5.977],[118.248,-2.689],[116.49,-1.582],[113.555,-1.301],[109.512,-1.301],[108.176,-1.503],[107.684,-2.048],[107.543,-3.973],[107.543,-11.83],[112.781,-11.83],[114.996,-11.479],[116.033,-10.512],[116.525,-8.279],[117.176,-8.279],[117.176,-16.576],[116.525,-16.576],[115.506,-13.729],[112.781,-13.113],[107.543,-13.113],[107.543,-22.535]],"c":true},"ix":2},"nm":"E","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.921568986481,0.921568986481,0.921568986481,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":[0,0],"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":"E","np":3,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.592,-0.234],[-0.404,-0.521],[-0.305,-1.113],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.504,-0.281],[-0.117,-0.293],[0,-1.207],[0,0],[0.281,-0.375],[0.984,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0.516,0.281],[0.117,0.293],[0,1.207],[0,0],[0,0],[-0.404,-0.217],[-0.229,-0.433],[-0.012,-0.926],[0,0],[0,0],[0,0],[0.463,-0.439],[0.996,0],[0,0],[0,0]],"o":[[1.242,0],[0.592,0.235],[0.404,0.522],[0,0],[0,0],[0,0],[0,0],[0,0],[0.574,0],[0.363,0.211],[0.152,0.387],[0,0],[0,1.43],[-0.445,0.574],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.563,0],[-0.375,-0.211],[-0.152,-0.387],[0,0],[0,0],[0.797,0],[0.404,0.217],[0.229,0.434],[0,0],[0,0],[0,0],[-0.152,1.301],[-0.463,0.439],[0,0],[0,0],[0,0]],"v":[[134.631,-22.535],[137.382,-22.184],[138.876,-21.05],[139.939,-18.598],[140.555,-18.598],[140.326,-23.836],[122.59,-23.836],[122.59,-23.186],[123.434,-23.186],[125.051,-22.764],[125.771,-22.008],[126,-19.617],[126,-4.219],[125.578,-1.512],[123.434,-0.65],[122.59,-0.65],[122.59,0],[132.82,0],[132.82,-0.65],[131.959,-0.65],[130.342,-1.072],[129.604,-1.828],[129.375,-4.219],[129.375,-11.707],[133.717,-11.707],[135.519,-11.382],[136.468,-10.406],[136.828,-8.367],[137.479,-8.367],[137.479,-16.436],[136.828,-16.436],[135.905,-13.825],[133.717,-13.166],[129.375,-13.166],[129.375,-22.535]],"c":true},"ix":2},"nm":"F","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.921568986481,0.921568986481,0.921568986481,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":[0,0],"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":"F","np":3,"cix":2,"bm":0,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.158,-0.205],[0.222,0],[0.656,0.246],[0.709,0.141],[0.867,0],[1.746,-1.02],[1.195,-2.285],[0,-2.098],[-1.793,-2.215],[-4.605,0],[-1.313,0.34],[-1.348,0.727],[0,0],[-0.235,0.434],[-0.914,0],[0,0],[0,0],[0,0],[0,0],[-0.381,-0.193],[-0.182,-0.369],[0,-1.195],[0,0],[0.82,-0.222],[0.879,0],[1.424,0.873],[0.879,1.875],[0,2.274],[-1.324,2.028],[-3.035,0],[-1.418,-1.371],[-0.621,-1.875],[0,0],[0,0]],"o":[[-0.035,0.598],[-0.158,0.205],[-0.223,0],[-1.301,-0.48],[-0.709,-0.141],[-2.379,0],[-2.086,1.23],[-1.008,1.922],[0,2.895],[2.391,2.953],[1.605,0],[1.312,-0.34],[0,0],[0,-1.277],[0.34,-0.609],[0,0],[0,0],[0,0],[0,0],[0.961,0],[0.381,0.193],[0.182,0.369],[0,0],[-0.762,0.434],[-0.82,0.223],[-1.5,0],[-1.424,-0.873],[-0.879,-1.875],[0,-2.801],[1.582,-2.402],[2.226,0],[0.984,0.949],[0,0],[0,0],[0,0]],"v":[[163.477,-24.381],[163.187,-23.177],[162.615,-22.869],[161.297,-23.238],[158.282,-24.17],[155.918,-24.381],[149.73,-22.852],[144.809,-17.578],[143.297,-11.549],[145.986,-3.885],[156.48,0.545],[160.857,0.035],[164.848,-1.564],[164.848,-8.859],[165.199,-11.426],[167.08,-12.34],[167.52,-12.34],[167.52,-13.008],[158.291,-13.008],[158.291,-12.34],[160.304,-12.05],[161.147,-11.206],[161.42,-8.859],[161.42,-1.969],[159.047,-0.984],[156.498,-0.65],[152.112,-1.96],[148.658,-6.082],[147.34,-12.305],[149.326,-19.547],[156.252,-23.15],[161.719,-21.094],[164.127,-16.857],[164.742,-16.857],[164.127,-24.381]],"c":true},"ix":2},"nm":"G","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.921568986481,0.921568986481,0.921568986481,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":[0,0],"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":"G","np":3,"cix":2,"bm":0,"ix":7,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":30,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/eid_mubarak.json b/submodules/RLottie/Sources/rlottie/example/resource/eid_mubarak.json deleted file mode 100644 index 7c198b1d36..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/eid_mubarak.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.1.6","fr":29.9700012207031,"ip":0,"op":144.00000586524,"w":800,"h":800,"nm":"Comp 1","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Dot1/Eid-letters Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[387,452,0],"ix":2},"a":{"a":0,"k":[16,16,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":90,"s":[0,0,100],"e":[100,100,100]},{"t":100.000004073084}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[8.897,-0.05],[0.113,9.015],[-8.894,0.102],[-0.039,-8.805]],"o":[[-8.985,0.051],[-0.111,-8.845],[8.768,-0.1],[0.039,8.935]],"v":[[0.144,15.694],[-15.609,0.174],[-0.079,-15.645],[15.68,-0.066]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.046535948211,0.414443550858,0.698039215686,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[15.969,15.995],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Dot2/Eid-letters Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":100,"ix":10},"p":{"a":0,"k":[378,485,0],"ix":2},"a":{"a":0,"k":[13,13,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":85,"s":[0,0,100],"e":[100,100,100]},{"t":96.0000039101602}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.005,-7.006],[7.005,0.057],[-0.098,6.816],[-6.785,-0.025]],"o":[[-0.006,7.073],[-6.911,-0.055],[0.098,-6.888],[6.855,0.025]],"v":[[12.548,0.084],[0.055,12.587],[-12.455,-0.029],[0.172,-12.619]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.046535948211,0.414443550858,0.698039215686,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[12.803,12.894],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Dot3/Eid-letters Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[485,606,0],"ix":2},"a":{"a":0,"k":[16.5,16,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":40,"s":[0,0,100],"e":[100,100,100]},{"t":55.0000022401959}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[8.746,-0.066],[0.071,8.674],[-8.785,0.027],[-0.09,-8.869]],"o":[[-8.745,0.067],[-0.073,-8.788],[8.991,-0.027],[0.088,8.767]],"v":[[0.186,15.657],[-15.759,0.091],[-0.154,-15.698],[15.745,-0.218]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.046535948211,0.414443550858,0.698039215686,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[16.083,15.975],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"E/Eid-letters Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[477,380,0],"ix":2},"a":{"a":0,"k":[122.5,80,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[{"i":[[14.912,0],[0,-15.74],[-14.912,0],[0,15.74]],"o":[[-14.912,0],[0,15.74],[14.912,0],[0,-15.74]],"v":[[224.5,-49],[197.5,-20.5],[223,11],[251.5,-20.5]],"c":true}],"e":[{"i":[[14.912,0],[9.238,-12.744],[-14.884,0.906],[0,15.74]],"o":[[-14.912,0],[-83,114.5],[57.5,-3.5],[0,-15.74]],"v":[[201,22],[156.5,14],[170.5,103],[251.5,-20.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":8,"s":[{"i":[[14.912,0],[9.238,-12.744],[-14.884,0.906],[0,15.74]],"o":[[-14.912,0],[-83,114.5],[57.5,-3.5],[0,-15.74]],"v":[[201,22],[156.5,14],[170.5,103],[251.5,-20.5]],"c":true}],"e":[{"i":[[14.912,0],[9.238,-12.744],[-14.884,0.906],[0,15.74]],"o":[[-14.912,0],[-83,114.5],[57.5,-3.5],[0,-15.74]],"v":[[201,22],[156.5,14],[160.5,130.5],[251.5,-20.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":13,"s":[{"i":[[14.912,0],[9.238,-12.744],[-14.884,0.906],[0,15.74]],"o":[[-14.912,0],[-83,114.5],[57.5,-3.5],[0,-15.74]],"v":[[201,22],[156.5,14],[160.5,130.5],[251.5,-20.5]],"c":true}],"e":[{"i":[[14.912,0],[9.238,-12.744],[-14.884,0.911],[29,236.5]],"o":[[-14.912,0],[-83,114.5],[49,-3],[-1.916,-15.623]],"v":[[201,22],[156.5,14],[160.5,130.5],[251.5,-20.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":20,"s":[{"i":[[14.912,0],[9.238,-12.744],[-14.884,0.911],[29,236.5]],"o":[[-14.912,0],[-83,114.5],[49,-3],[-1.916,-15.623]],"v":[[201,22],[156.5,14],[160.5,130.5],[251.5,-20.5]],"c":true}],"e":[{"i":[[14.912,0],[9.238,-12.744],[10.544,-10.544],[29,236.5]],"o":[[-14.912,0],[-83,114.5],[-100,100],[-1.916,-15.623]],"v":[[201,22],[156.5,14],[99,117],[251.5,-20.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":27,"s":[{"i":[[14.912,0],[9.238,-12.744],[10.544,-10.544],[29,236.5]],"o":[[-14.912,0],[-83,114.5],[-100,100],[-1.916,-15.623]],"v":[[201,22],[156.5,14],[99,117],[251.5,-20.5]],"c":true}],"e":[{"i":[[14.912,0],[7.935,-13.594],[9.191,-3.786],[183.637,333.26]],"o":[[-14.912,0],[-79.939,136.951],[-157.852,65.032],[-7.596,-13.786]],"v":[[201,22],[156.5,14],[50.5,109.5],[221.5,-13]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":32,"s":[{"i":[[14.912,0],[7.935,-13.594],[9.191,-3.786],[183.637,333.26]],"o":[[-14.912,0],[-79.939,136.951],[-157.852,65.032],[-7.596,-13.786]],"v":[[201,22],[156.5,14],[50.5,109.5],[221.5,-13]],"c":true}],"e":[{"i":[[14.912,0],[7.935,-13.594],[9.191,-3.786],[183.637,333.26]],"o":[[-14.912,0],[-79.939,136.951],[-157.852,65.032],[-7.596,-13.786]],"v":[[201,22],[156.5,20.5],[41,88.5],[212,-34]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":39,"s":[{"i":[[14.912,0],[7.935,-13.594],[9.191,-3.786],[183.637,333.26]],"o":[[-14.912,0],[-79.939,136.951],[-157.852,65.032],[-7.596,-13.786]],"v":[[201,22],[156.5,20.5],[41,88.5],[212,-34]],"c":true}],"e":[{"i":[[14.912,0],[7.935,-13.594],[9.191,-3.786],[183.637,333.26]],"o":[[-14.912,0],[-79.939,136.951],[-157.852,65.032],[-7.596,-13.786]],"v":[[201,22],[116.5,-39],[41,88.5],[212,-34]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":44,"s":[{"i":[[14.912,0],[7.935,-13.594],[9.191,-3.786],[183.637,333.26]],"o":[[-14.912,0],[-79.939,136.951],[-157.852,65.032],[-7.596,-13.786]],"v":[[201,22],[116.5,-39],[41,88.5],[212,-34]],"c":true}],"e":[{"i":[[14.912,0],[7.935,-13.594],[8.523,-5.115],[178.348,365.656]],"o":[[-14.912,0],[-79.939,136.951],[-163.23,97.968],[-6.9,-14.147]],"v":[[201,22],[116.5,-39],[-19.5,41],[212,-34]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":49,"s":[{"i":[[14.912,0],[7.935,-13.594],[8.523,-5.115],[178.348,365.656]],"o":[[-14.912,0],[-79.939,136.951],[-163.23,97.968],[-6.9,-14.147]],"v":[[201,22],[116.5,-39],[-19.5,41],[212,-34]],"c":true}],"e":[{"i":[[14.912,0],[7.935,-13.594],[8.523,-5.115],[178.348,365.656]],"o":[[-14.912,0],[-79.939,136.951],[-163.23,97.968],[-6.9,-14.147]],"v":[[201,22],[13,-89],[-19.5,41],[212,-34]],"c":true}]},{"t":57.0000023216576}],"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-15.21,7.235],[2.246,0.395],[-9.788,20.106],[-0.732,1.373],[-6.202,-0.151],[-9.412,15.289],[-2.308,4.75],[-0.675,-1.605],[9.191,-12.372],[8.825,-1.392],[9.092,5.583],[1.895,0.378],[-1.216,-2.194],[-10.857,-0.872],[-7.769,1.993],[-1.772,1.626],[-9.414,12.271],[-1.1,0.691],[0.055,-1.272],[1.095,-1.404],[25.893,-19.379],[17.172,1.05],[1.317,0]],"o":[[16.191,1.61],[-3.303,-0.366],[-21.938,-3.854],[0.681,-1.399],[2.609,-4.89],[17.204,0.421],[2.286,-3.713],[1.391,1.912],[5.596,13.314],[-5.472,7.363],[-10.169,1.604],[-0.985,-0.606],[0.665,2.499],[5.397,9.744],[8.169,0.655],[2.305,-0.591],[11.422,-10.484],[0.742,-0.967],[0.709,1.305],[-0.076,1.764],[-19.821,25.379],[-13.357,9.996],[-1.066,-0.065],[0,0]],"v":[[5.595,57.525],[51.68,47.482],[43.838,46.594],[21.039,1.595],[23.213,-2.535],[35.427,-9.515],[76.559,-30.424],[82.754,-43.023],[86.198,-38.197],[83.743,0.608],[61.716,12.801],[32.576,8.47],[28.808,6.72],[30.885,14.173],[55.884,29.188],[79.64,25.97],[86.045,22.353],[116.637,-12.372],[119.891,-14.481],[121.869,-10.572],[119.958,-5.393],[52.727,63.141],[7.298,78.269],[3.843,78.259]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[3.45,12.351],[0.178,0.306],[0.104,0.059],[13.744,6.907],[-5.73,23.029],[2.691,0.072],[3.141,8.396],[1.117,6.957],[-3.065,-2.548],[-7.604,-0.065],[-13.199,-0.032],[-6.655,-3.927],[10.925,2.071],[7.75,0.539],[9.341,1.332],[4.542,8.538],[-1.104,7.651],[-1.024,5.088],[-0.066,-2.312],[-4.346,-4.918],[-6.589,-0.067],[-8.027,0.351],[-10.117,-5.579],[2.419,-13.264],[1.46,-6.035],[0.262,-2.612],[15.96,0.712],[0.411,-2.425],[-13.665,5.614],[-5.539,3.419],[-2.945,-4.356],[-14.555,-1.639]],"o":[[-20.808,-1.891],[-0.094,-0.335],[-0.052,-0.089],[-11.724,14.264],[-13.077,-6.57],[-2.794,0],[-9.113,-0.242],[-2.489,-6.653],[2.654,3.042],[6.164,5.124],[13.198,0.112],[8.876,0.021],[2.271,-10.209],[-7.578,-1.436],[-9.437,-0.656],[-9.236,-1.317],[-3.756,-7.062],[0.676,-4.686],[3.014,1.48],[0.179,6.347],[4.472,5.061],[8.034,0.081],[11.326,-0.495],[11.722,6.464],[-1.11,6.089],[-0.57,2.353],[-15.945,-4.52],[-2.722,-0.122],[-2.953,17.398],[6.164,-2.532],[1.988,3.936],[2.88,4.259],[0,0]],"v":[[3.843,78.259],[-35.76,44.485],[-36.23,43.534],[-36.535,43.353],[-76.51,54.9],[-87.302,11.892],[-95.482,11.882],[-114.334,-1.163],[-119.259,-21.863],[-111.225,-12.822],[-89.766,-7.158],[-50.168,-7.116],[-30.405,-2.048],[-45.051,-24.108],[-68.273,-25.845],[-96.558,-28.004],[-118.168,-42.428],[-120.398,-64.926],[-117.549,-79.319],[-114.147,-73.424],[-108.44,-56.064],[-91.426,-48.772],[-67.32,-49.199],[-34.953,-42.89],[-19.47,-10.811],[-24.189,7.207],[-24.992,14.67],[-73.022,11.895],[-76.78,15.316],[-48.044,36.241],[-30.94,25.9],[-24.049,39.217],[5.595,57.525]],"c":false},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.046535948211,0.414443550858,0.698039215686,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[122.174,79.568],"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":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"K/Eid-letters Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[306,444,0],"ix":2},"a":{"a":0,"k":[122,132.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":63,"s":[{"i":[[33.413,0],[0,-12.703],[-33.413,0],[0,12.703]],"o":[[-33.413,0],[0,12.703],[33.413,0],[0,-12.703]],"v":[[112.5,-61.5],[52,-38.5],[112.5,-15.5],[173,-38.5]],"c":true}],"e":[{"i":[[33.413,0],[0,-12.703],[-22.871,-24.359],[0,12.703]],"o":[[-33.413,0],[0,12.703],[84.5,90],[0,-12.703]],"v":[[112.5,-61.5],[67,112.5],[127.5,135.5],[173,-38.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":70,"s":[{"i":[[33.413,0],[0,-12.703],[-22.871,-24.359],[0,12.703]],"o":[[-33.413,0],[0,12.703],[84.5,90],[0,-12.703]],"v":[[112.5,-61.5],[67,112.5],[127.5,135.5],[173,-38.5]],"c":true}],"e":[{"i":[[33.413,0],[0,-12.702],[-32.773,-6.508],[0,12.703]],"o":[[-33.413,0],[0,12.703],[211.5,42],[0,-12.703]],"v":[[112.5,-61.5],[20,146.5],[80.5,169.5],[173,-38.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":76,"s":[{"i":[[33.413,0],[0,-12.702],[-32.773,-6.508],[0,12.703]],"o":[[-33.413,0],[0,12.703],[211.5,42],[0,-12.703]],"v":[[112.5,-61.5],[20,146.5],[80.5,169.5],[173,-38.5]],"c":true}],"e":[{"i":[[33.413,0],[-5.1,-11.634],[-32.666,-7.025],[0,12.703]],"o":[[-33.413,0],[32,73],[232.5,50],[0,-12.703]],"v":[[112.5,-61.5],[19,185.5],[79.5,208.5],[173,-38.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":82,"s":[{"i":[[33.413,0],[-5.1,-11.634],[-32.666,-7.025],[0,12.703]],"o":[[-33.413,0],[32,73],[232.5,50],[0,-12.703]],"v":[[112.5,-61.5],[19,185.5],[79.5,208.5],[173,-38.5]],"c":true}],"e":[{"i":[[33.413,0],[-8.343,-9.579],[-32.979,-5.365],[0,12.703]],"o":[[-33.413,0],[54,62],[565.5,92],[0,-12.703]],"v":[[112.5,-61.5],[45,189.5],[105.5,212.5],[298.5,151]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":88,"s":[{"i":[[33.413,0],[-8.343,-9.579],[-32.979,-5.365],[0,12.703]],"o":[[-33.413,0],[54,62],[565.5,92],[0,-12.703]],"v":[[112.5,-61.5],[45,189.5],[105.5,212.5],[298.5,151]],"c":true}],"e":[{"i":[[33.413,0],[-8.343,-9.579],[-30.818,-12.911],[0,12.703]],"o":[[-33.413,0],[54,62],[496.5,208],[0,-12.703]],"v":[[112.5,-61.5],[45,189.5],[105.5,212.5],[298.5,151]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":94,"s":[{"i":[[33.413,0],[-8.343,-9.579],[-30.818,-12.911],[0,12.703]],"o":[[-33.413,0],[54,62],[496.5,208],[0,-12.703]],"v":[[112.5,-61.5],[45,189.5],[105.5,212.5],[298.5,151]],"c":true}],"e":[{"i":[[33.413,0],[-8.343,-9.579],[-5.675,-32.928],[19.5,99.5]],"o":[[-33.413,0],[54,62],[45.5,264],[-2.443,-12.465]],"v":[[112.5,-61.5],[45,189.5],[77.5,216.5],[298.5,151]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":99,"s":[{"i":[[33.413,0],[-8.343,-9.579],[-5.675,-32.928],[19.5,99.5]],"o":[[-33.413,0],[54,62],[45.5,264],[-2.443,-12.465]],"v":[[112.5,-61.5],[45,189.5],[77.5,216.5],[298.5,151]],"c":true}],"e":[{"i":[[33.413,0],[-8.343,-9.579],[-5.675,-32.928],[19.5,99.5]],"o":[[-33.413,0],[54,62],[45.5,264],[-2.443,-12.465]],"v":[[112.5,-61.5],[-23,118.5],[-26.5,210.5],[307.5,161]],"c":true}]},{"t":105.000004276738}],"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.509,10.645],[-2.145,-4.72],[-10.953,-2.651],[-6.522,-0.021],[-50.512,-0.052],[-5.189,-0.785],[-3.43,-8.152],[-0.708,-1.77],[-0.345,0.023],[0.814,3.237],[7.604,3.556],[14.25,0.816],[19.383,1.268],[10.003,4.401],[1.46,15.257],[-0.281,6.69],[-0.172,0.743],[-6.53,-1.78],[-10.108,24.027],[2.916,17.739],[16.924,19.848],[0.274,1.38],[-1.052,-0.768],[-6.537,-8.808],[1.776,-31.941],[12.48,-13.591],[17.96,0.885],[11.095,6.467],[-5.821,-3.975],[-10.296,-0.914],[-17.824,-1.194],[-13.423,-4.065],[-7.468,-10.232],[0.022,-7.864],[0.144,-7.911],[0.578,-1.143],[0.949,0.681],[2.374,0.372],[7.146,0.021],[52.661,0.008],[8.957,5.213],[3.351,11.818]],"o":[[1.571,5.283],[4.779,10.51],[6.347,1.536],[50.511,0.162],[5.247,0.005],[8.724,1.319],[0.739,1.756],[0.345,-0.024],[-0.326,-3.36],[-2.167,-8.615],[-13.165,-6.156],[-19.394,-1.112],[-10.773,-0.705],[-14.255,-6.274],[-0.632,-6.61],[0.048,-1.137],[6.676,2.397],[25.2,6.869],[7.064,-16.792],[-4.251,-25.863],[-0.796,-0.934],[1.51,0.142],[8.858,6.47],[18.928,25.5],[-1,17.995],[-12.177,13.261],[-12.868,-0.634],[0.43,4.427],[8.764,5.985],[17.789,1.579],[13.859,0.929],[11.807,3.577],[4.541,6.221],[-0.023,7.914],[-0.021,1.153],[-0.905,-0.743],[-2.169,-1.558],[-7.065,-1.108],[-52.661,-0.155],[-10.197,-0.001],[-10.676,-6.212],[-2.896,-10.212]],"v":[[-121.032,58.143],[-116.368,73.411],[-91.857,92.734],[-72.331,95.223],[79.204,95.275],[94.935,96.493],[113.163,110.969],[115.291,116.275],[116.327,116.206],[115.27,106.146],[99.143,88.948],[57.531,80.536],[-0.669,77.521],[-32.03,70.315],[-55.567,37.694],[-55.02,17.634],[-54.355,14.633],[-34.878,21.539],[24.458,-7.651],[29.595,-59.495],[-2.872,-127.703],[-3.759,-131.786],[0.708,-131.275],[23.711,-108.223],[50.801,-22.35],[31.987,25.883],[-13.426,44.078],[-49.089,32.782],[-39.414,45.692],[-10.354,55.206],[43.109,58.858],[84.298,64.503],[114.204,83.836],[121.469,104.875],[121.396,128.614],[119.738,132.044],[117.016,129.825],[110.417,125.423],[89.012,123.521],[-68.972,123.416],[-98.089,116.877],[-118.551,89.365]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.046535948211,0.414443550858,0.698039215686,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[121.791,132.294],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"M/Eid-letters Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[447,358,0],"ix":2},"a":{"a":0,"k":[177,234.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":16,"s":[{"i":[[19.33,0],[0,-17.949],[-19.33,0],[0,17.949]],"o":[[-19.33,0],[0,17.949],[19.33,0],[0,-17.949]],"v":[[395,333.5],[360,366],[395,398.5],[430,366]],"c":true}],"e":[{"i":[[18.955,3.791],[0,-17.949],[-19.33,0],[0,17.949]],"o":[[-155,-31],[0,17.949],[19.33,0],[0,-17.949]],"v":[[395,333.5],[284,470],[319,502.5],[430,366]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":26,"s":[{"i":[[18.955,3.791],[0,-17.949],[-19.33,0],[0,17.949]],"o":[[-155,-31],[0,17.949],[19.33,0],[0,-17.949]],"v":[[395,333.5],[284,470],[319,502.5],[430,366]],"c":true}],"e":[{"i":[[18.955,3.791],[0,-17.949],[-16.515,-10.046],[0,17.949]],"o":[[-155,-31],[0,17.949],[217,132],[0,-17.949]],"v":[[395,333.5],[168,464],[203,496.5],[430,366]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":38,"s":[{"i":[[18.955,3.791],[0,-17.949],[-16.515,-10.046],[0,17.949]],"o":[[-155,-31],[0,17.949],[217,132],[0,-17.949]],"v":[[395,333.5],[168,464],[203,496.5],[430,366]],"c":true}],"e":[{"i":[[8.815,17.203],[-0.868,-17.928],[-10,7],[0,17.949]],"o":[[-207,-404],[13,268.5],[208.081,-145.654],[0,-17.949]],"v":[[395,333.5],[141,83],[236,551.5],[421,568]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":44,"s":[{"i":[[8.815,17.203],[-0.868,-17.928],[-10,7],[0,17.949]],"o":[[-207,-404],[13,268.5],[208.081,-145.654],[0,-17.949]],"v":[[395,333.5],[141,83],[236,551.5],[421,568]],"c":true}],"e":[{"i":[[8.904,17.157],[-121,-97.5],[-270,43],[0,17.949]],"o":[[-301,-580],[209.317,168.664],[250.833,-39.947],[0,-17.949]],"v":[[395,333.5],[32,84],[236,551.5],[421,568]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":50,"s":[{"i":[[8.904,17.157],[-121,-97.5],[-270,43],[0,17.949]],"o":[[-301,-580],[209.317,168.664],[250.833,-39.947],[0,-17.949]],"v":[[395,333.5],[32,84],[236,551.5],[421,568]],"c":true}],"e":[{"i":[[8.904,17.157],[-85,-143.5],[-270,43],[0,17.949]],"o":[[-301,-580],[136.998,231.285],[250.833,-39.947],[0,-17.949]],"v":[[395,333.5],[-2,146],[202,613.5],[421,568]],"c":true}]},{"t":63.0000025660426}],"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-2.386,-4.245],[1.598,4.619],[2.608,6.321],[-4.087,-6.576]],"o":[[4.093,-3.155],[-2.202,-6.363],[-5.213,5.574],[2.42,3.895]],"v":[[152.378,205.634],[154.674,193.072],[147.012,174.25],[145.464,193.406]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0.352,-6.311],[0.336,-13.427],[-4.214,-7.723],[-12.867,10.262],[-3.052,3.153],[-1.56,-3.275],[-11.438,9.821],[-4.476,10.63],[-2.437,6.673],[-3.574,-4.79],[-3.354,-3.906],[7.139,-11.656],[6.768,-9.317],[8.117,7.042],[3.823,-4.055],[10.174,3.021],[2.314,10.754],[5.104,-3.02],[9.34,12.862],[0.345,11.327],[0,19.187],[0.144,9.352]],"o":[[-0.658,6.387],[-0.748,13.411],[-0.215,8.566],[7.863,14.41],[3.317,-2.646],[1.247,3.129],[6.474,13.6],[8.997,-7.726],[2.82,-6.692],[3.149,4.939],[3.066,4.109],[8.895,10.356],[-5.583,9.113],[-3.762,-12.216],[-3.529,4.639],[-7.178,7.612],[-7.226,-2.146],[-1.584,6.311],[-12.703,7.512],[-6.864,-9.451],[-0.584,-19.17],[-0.001,-9.355],[0,0]],"v":[[37.694,76.381],[34.037,116.093],[32.308,156.352],[37.512,181.037],[74.36,188.637],[83.412,179.401],[87.383,189.266],[119.917,196.104],[138.491,167.421],[145.978,147.115],[155.653,162.098],[165.941,173.614],[169.35,207.13],[150.125,233.884],[129.519,207.823],[119.128,221.313],[92.875,228.352],[78.16,208.651],[68.231,222.354],[29.762,213.099],[19.553,181.378],[19.407,123.82],[19.314,69.156]],"c":false},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,0],[-0.017,1.005],[-0.401,40.061],[6.175,21.01],[24.443,14.22],[25.532,-19.954],[1.967,-25.641],[-8.44,-14.225],[2.485,-1.879],[1.397,1.826],[3.187,6.491],[-1.463,18.779],[-23.602,18.074],[-34.665,-11.265],[-13.398,-23.511],[-2.664,-25.241],[1.111,-31.166],[1.377,-25.872],[0,-2.799]],"o":[[0.06,-1.004],[0.687,-40.057],[0.218,-21.769],[-7.84,-26.675],[-27.965,-16.27],[-20.344,15.898],[-1.272,16.576],[1.289,2.171],[-1.041,0.786],[-4.417,-5.768],[-8.349,-17.005],[2.32,-29.771],[29.138,-22.313],[25.611,8.323],[12.733,22.34],[3.283,31.122],[-0.924,25.889],[-0.121,2.264],[0,0]],"v":[[19.314,69.156],[19.49,66.144],[21.456,-54.031],[13.18,-118.352],[-33.712,-180.742],[-124.757,-174.553],[-157.743,-112.094],[-146.794,-66.039],[-145.659,-59.128],[-152.535,-62.07],[-164.515,-80.31],[-175.026,-134.412],[-135.401,-206.527],[-38.859,-222.619],[19.035,-173.766],[40.378,-102.055],[41.805,-8.574],[37.712,69.044],[37.694,76.381]],"c":false},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.046535948211,0.414443550858,0.698039215686,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[176.74,234.135],"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":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Moon/Eid-letters Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[378,242,0],"ix":2},"a":{"a":0,"k":[37.5,40,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":61,"s":[{"i":[[10.217,0],[0,-8.56],[-10.217,0],[0,8.56]],"o":[[-10.217,0],[0,8.56],[10.217,0],[0,-8.56]],"v":[[56,-26],[37.5,-10.5],[56,5],[74.5,-10.5]],"c":true}],"e":[{"i":[[10.217,0],[0,-8.56],[-10.217,0],[0,8.56]],"o":[[-10.217,0],[0,8.56],[10.217,0],[0,-8.56]],"v":[[56,-26],[-47.5,49.5],[36,11],[74.5,-10.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":69,"s":[{"i":[[10.217,0],[0,-8.56],[-10.217,0],[0,8.56]],"o":[[-10.217,0],[0,8.56],[10.217,0],[0,-8.56]],"v":[[56,-26],[-47.5,49.5],[36,11],[74.5,-10.5]],"c":true}],"e":[{"i":[[10.217,0],[-3.655,-7.741],[-10.217,0],[0,8.56]],"o":[[-10.217,0],[89,188.5],[10.217,0],[0,-8.56]],"v":[[56,-26],[-47.5,49.5],[36,11],[74.5,-10.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":80,"s":[{"i":[[10.217,0],[-3.655,-7.741],[-10.217,0],[0,8.56]],"o":[[-10.217,0],[89,188.5],[10.217,0],[0,-8.56]],"v":[[56,-26],[-47.5,49.5],[36,11],[74.5,-10.5]],"c":true}],"e":[{"i":[[10.217,0],[-7.781,-3.568],[-10.217,0],[0,8.56]],"o":[[-10.217,0],[326,149.5],[10.217,0],[0,-8.56]],"v":[[56,-26],[-47.5,49.5],[36,11],[74.5,-10.5]],"c":true}]},{"t":89.0000036250443}],"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-15.658,0.156],[-10.218,-16.033],[-18.193,16.255],[16.324,3.105],[-1.53,18.101]],"o":[[-19.83,10.392],[9.625,15.104],[-4.724,13.95],[-21.217,-4.037],[1.779,-21.071]],"v":[[-0.114,-39.281],[-14.396,9.088],[36.881,14.827],[-3.499,36.176],[-35.351,-4.618]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.046535948211,0.414443550858,0.698039215686,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[37.13,39.531],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"R/Eid-letters Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[340,558,0],"ix":2},"a":{"a":0,"k":[123.5,94.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":45,"s":[{"i":[[20.435,0],[0,-17.397],[-20.435,0],[0,17.397]],"o":[[-20.435,0],[0,17.397],[20.435,0],[0,-17.397]],"v":[[272.5,-66.5],[235.5,-35],[272.5,-3.5],[309.5,-35]],"c":true}],"e":[{"i":[[30.652,0],[0,-46.944],[-30.652,0],[0,46.944]],"o":[[-30.652,0],[0,46.944],[30.652,0],[0,-46.944]],"v":[[253,-62.5],[197.5,22.5],[253,107.5],[308.5,22.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":55,"s":[{"i":[[30.652,0],[0,-46.944],[-30.652,0],[0,46.944]],"o":[[-30.652,0],[0,46.944],[30.652,0],[0,-46.944]],"v":[[253,-62.5],[197.5,22.5],[253,107.5],[308.5,22.5]],"c":true}],"e":[{"i":[[70.416,0],[0,-82.29],[-70.416,0],[0,82.29]],"o":[[-70.416,0],[0,82.29],[70.416,0],[0,-82.29]],"v":[[181,-62.5],[53.5,86.5],[181,235.5],[308.5,86.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":62,"s":[{"i":[[70.416,0],[0,-82.29],[-70.416,0],[0,82.29]],"o":[[-70.416,0],[0,82.29],[70.416,0],[0,-82.29]],"v":[[181,-62.5],[53.5,86.5],[181,235.5],[308.5,86.5]],"c":true}],"e":[{"i":[[99.964,0],[0,-80.081],[-99.964,0],[0,80.081]],"o":[[-99.964,0],[0,80.081],[99.964,0],[0,-80.081]],"v":[[127.5,-62.5],[-53.5,82.5],[127.5,227.5],[308.5,82.5]],"c":true}]},{"t":69.0000028104276}],"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.146,0.124],[-8.243,-4.776],[-38.109,6.854],[-16.072,7.476],[-9.628,14.094],[3.637,11.238],[4.163,6.798],[2.957,5.406],[-9.868,11.409],[-5.761,2.072],[-1.619,0.391],[-3.699,-10.748],[-3.418,-10.051],[14.678,-20.125],[17.747,-11.114],[24.294,4.112],[29.162,20.773],[6.105,4.777]],"o":[[7.927,5.319],[33.258,19.272],[17.404,-3.131],[15.188,-7.065],[6.436,-9.42],[-2.415,-7.462],[-3.234,-5.281],[-6.578,-12.025],[3.994,-4.618],[0.959,-0.343],[-8.897,10.434],[3.455,10.041],[8.077,23.754],[-12.208,16.739],[-21.088,13.205],[-35.496,-6.006],[-6.308,-4.493],[0.146,-0.125]],"v":[[-122.403,33.635],[-98.574,49.513],[8.324,68.802],[58.81,54.018],[97.266,23.724],[104.221,-7.421],[92.927,-28.471],[82.197,-43.676],[88.143,-82.786],[102.714,-92.925],[106.32,-93.811],[103.241,-61.692],[114.766,-31.969],[104.208,34.024],[60.388,77.071],[-7.983,89.699],[-104.496,48.299],[-122.842,34.008]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.046535948211,0.414443550858,0.698039215686,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[123.092,94.061],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/emoji_shock.json b/submodules/RLottie/Sources/rlottie/example/resource/emoji_shock.json deleted file mode 100644 index 65b69bcb66..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/emoji_shock.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"4.5.7","fr":30,"ip":0,"op":90,"w":100,"h":100,"ddd":0,"assets":[{"id":"comp_43","layers":[{"ddd":0,"ind":0,"ty":4,"nm":"eyes","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[-286,45.5,0]},"a":{"a":0,"k":[-252,-416.5,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-1.381,0],[0,-1.381],[1.381,0],[0,1.381]],"o":[[1.381,0],[0,1.381],[-1.381,0],[0,-1.381]],"v":[[70.5,-419],[73,-416.5],[70.5,-414],[68,-416.5]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ind":1,"ty":"sh","ks":{"a":0,"k":{"i":[[-1.381,0],[0,-1.381],[1.381,0],[0,1.381]],"o":[[1.381,0],[0,1.381],[-1.381,0],[0,-1.381]],"v":[[97.5,-419],[100,-416.5],[97.5,-414],[95,-416.5]],"c":true}},"nm":"Path 2","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0.33,0.33,0.28,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":4,"mn":"ADBE Vector Group"}],"ip":0,"op":92,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":1,"ty":4,"nm":"eyes_white","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[-286,45.5,0]},"a":{"a":0,"k":[-252,-416.5,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-3.59,0],[0,-3.59],[3.59,0],[0,3.59]],"o":[[3.59,0],[0,3.59],[-3.59,0],[0,-3.59]],"v":[[97.5,-423],[104,-416.5],[97.5,-410],[91,-416.5]],"c":true}},"nm":"Path 2","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0.98,0.95,0.94,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[97.38,-416.49],"ix":2},"a":{"a":0,"k":[97.38,-416.49],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0"],"t":16,"s":[80,80],"e":[150,150]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0"],"t":21,"s":[150,150],"e":[140,140]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0"],"t":31,"s":[140,140],"e":[150,150]},{"i":{"x":[0.313,0.313],"y":[1,1]},"o":{"x":[0.069,0.069],"y":[0,0]},"n":["0p313_1_0p069_0","0p313_1_0p069_0"],"t":40,"s":[150,150],"e":[75,75]},{"i":{"x":[0.313,0.313],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0,0]},"n":["0p313_1_0p167_0","0p313_1_0p167_0"],"t":60,"s":[75,75],"e":[80,80]},{"t":90}],"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":"Shape 2","np":3,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-3.59,0],[0,-3.59],[3.59,0],[0,3.59]],"o":[[3.59,0],[0,3.59],[-3.59,0],[0,-3.59]],"v":[[70.5,-423],[77,-416.5],[70.5,-410],[64,-416.5]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0.98,0.95,0.94,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[70.32,-416.373],"ix":2},"a":{"a":0,"k":[70.32,-416.373],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0"],"t":16,"s":[80,80],"e":[150,150]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0"],"t":21,"s":[150,150],"e":[140,140]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0"],"t":31,"s":[140,140],"e":[150,150]},{"i":{"x":[0.313,0.313],"y":[1,1]},"o":{"x":[0.069,0.069],"y":[0,0]},"n":["0p313_1_0p069_0","0p313_1_0p069_0"],"t":40,"s":[150,150],"e":[75,75]},{"i":{"x":[0.313,0.313],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0,0]},"n":["0p313_1_0p167_0","0p313_1_0p167_0"],"t":60,"s":[75,75],"e":[80,80]},{"t":90}],"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":"Shape 1","np":3,"mn":"ADBE Vector Group"}],"ip":0,"op":92,"st":0,"bm":0,"sr":1}]},{"id":"comp_44","layers":[{"ddd":0,"ind":0,"ty":4,"nm":"mouth 3","td":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[50,65,0]},"a":{"a":0,"k":[84,-397,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.851,"y":1},"o":{"x":0.837,"y":0},"n":"0p851_1_0p837_0","t":7,"s":[{"i":[[-4.971,0],[0,-2.5],[4.971,0],[0,2.219]],"o":[[4.971,0],[0,2.594],[-4.971,0],[0,-2.344]],"v":[[84,-398.906],[91.5,-397],[84,-395],[76.75,-397]],"c":true}],"e":[{"i":[[-4.971,0],[0,-4.971],[4.971,0],[0,4.971]],"o":[[4.971,0],[0,4.971],[-4.971,0],[0,-4.971]],"v":[[84,-406.812],[93,-397],[84,-386.75],[75,-397]],"c":true}]},{"i":{"x":0.577,"y":1},"o":{"x":0.563,"y":0},"n":"0p577_1_0p563_0","t":14,"s":[{"i":[[-4.971,0],[0,-4.971],[4.971,0],[0,4.971]],"o":[[4.971,0],[0,4.971],[-4.971,0],[0,-4.971]],"v":[[84,-406.812],[93,-397],[84,-386.75],[75,-397]],"c":true}],"e":[{"i":[[-4.971,0],[0,-4.971],[4.971,0],[0,4.971]],"o":[[4.971,0],[0,4.971],[-4.971,0],[0,-4.971]],"v":[[84,-405.5],[93,-397],[84,-389],[75,-397]],"c":true}]},{"i":{"x":0.615,"y":1},"o":{"x":0.586,"y":0},"n":"0p615_1_0p586_0","t":21,"s":[{"i":[[-4.971,0],[0,-4.971],[4.971,0],[0,4.971]],"o":[[4.971,0],[0,4.971],[-4.971,0],[0,-4.971]],"v":[[84,-405.5],[93,-397],[84,-389],[75,-397]],"c":true}],"e":[{"i":[[-4.971,0],[0,-4.971],[4.971,0],[0,4.971]],"o":[[4.971,0],[0,4.971],[-4.971,0],[0,-4.971]],"v":[[84,-406],[93,-397],[84,-388],[75,-397]],"c":true}]},{"i":{"x":0.531,"y":0.201},"o":{"x":0.778,"y":0},"n":"0p531_0p201_0p778_0","t":30,"s":[{"i":[[-4.971,0],[0,-4.971],[4.971,0],[0,4.971]],"o":[[4.971,0],[0,4.971],[-4.971,0],[0,-4.971]],"v":[[84,-406],[93,-397],[84,-388],[75,-397]],"c":true}],"e":[{"i":[[-4.971,0],[0,-4.971],[4.971,0],[0,4.971]],"o":[[4.971,0],[0,4.971],[-4.971,0],[0,-4.971]],"v":[[84,-403.375],[93,-397],[84,-389.625],[75,-397]],"c":true}]},{"i":{"x":0.683,"y":1},"o":{"x":0.587,"y":1},"n":"0p683_1_0p587_1","t":46,"s":[{"i":[[-4.971,0],[0,-4.971],[4.971,0],[0,4.971]],"o":[[4.971,0],[0,4.971],[-4.971,0],[0,-4.971]],"v":[[84,-403.375],[93,-397],[84,-389.625],[75,-397]],"c":true}],"e":[{"i":[[-4.971,0],[0,-2.5],[4.971,0],[0,2.219]],"o":[[4.971,0],[0,2.594],[-4.971,0],[0,-2.344]],"v":[[84,-398.906],[91.5,-397],[84,-395],[76.75,-397]],"c":true}]},{"t":65}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":7,"s":[0.33,0.33,0.28,1],"e":[0.96,0.62,0.52,1]},{"t":9}]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"mn":"ADBE Vector Group"}],"ip":0,"op":92,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":1,"ty":4,"nm":"mouth_teeth","tt":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[-118,60,0]},"a":{"a":0,"k":[-83.5,-402,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[68,-409.75],[101,-409.75],[101,-400],[68,-400]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0.98,0.95,0.94,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"mn":"ADBE Vector Group"}],"ip":0,"op":92,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":4,"nm":"mouth 2","td":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[50,65,0]},"a":{"a":0,"k":[84,-397,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.851,"y":1},"o":{"x":0.837,"y":0},"n":"0p851_1_0p837_0","t":7,"s":[{"i":[[-4.971,0],[0,-2.5],[4.971,0],[0,2.219]],"o":[[4.971,0],[0,2.594],[-4.971,0],[0,-2.344]],"v":[[84,-398.906],[91.5,-397],[84,-395],[76.75,-397]],"c":true}],"e":[{"i":[[-4.971,0],[0,-4.971],[4.971,0],[0,4.971]],"o":[[4.971,0],[0,4.971],[-4.971,0],[0,-4.971]],"v":[[84,-406.812],[93,-397],[84,-386.75],[75,-397]],"c":true}]},{"i":{"x":0.577,"y":1},"o":{"x":0.563,"y":0},"n":"0p577_1_0p563_0","t":14,"s":[{"i":[[-4.971,0],[0,-4.971],[4.971,0],[0,4.971]],"o":[[4.971,0],[0,4.971],[-4.971,0],[0,-4.971]],"v":[[84,-406.812],[93,-397],[84,-386.75],[75,-397]],"c":true}],"e":[{"i":[[-4.971,0],[0,-4.971],[4.971,0],[0,4.971]],"o":[[4.971,0],[0,4.971],[-4.971,0],[0,-4.971]],"v":[[84,-405.5],[93,-397],[84,-389],[75,-397]],"c":true}]},{"i":{"x":0.615,"y":1},"o":{"x":0.586,"y":0},"n":"0p615_1_0p586_0","t":21,"s":[{"i":[[-4.971,0],[0,-4.971],[4.971,0],[0,4.971]],"o":[[4.971,0],[0,4.971],[-4.971,0],[0,-4.971]],"v":[[84,-405.5],[93,-397],[84,-389],[75,-397]],"c":true}],"e":[{"i":[[-4.971,0],[0,-4.971],[4.971,0],[0,4.971]],"o":[[4.971,0],[0,4.971],[-4.971,0],[0,-4.971]],"v":[[84,-406],[93,-397],[84,-388],[75,-397]],"c":true}]},{"i":{"x":0.531,"y":0.201},"o":{"x":0.778,"y":0},"n":"0p531_0p201_0p778_0","t":30,"s":[{"i":[[-4.971,0],[0,-4.971],[4.971,0],[0,4.971]],"o":[[4.971,0],[0,4.971],[-4.971,0],[0,-4.971]],"v":[[84,-406],[93,-397],[84,-388],[75,-397]],"c":true}],"e":[{"i":[[-4.971,0],[0,-4.971],[4.971,0],[0,4.971]],"o":[[4.971,0],[0,4.971],[-4.971,0],[0,-4.971]],"v":[[84,-403.375],[93,-397],[84,-389.625],[75,-397]],"c":true}]},{"i":{"x":0.683,"y":1},"o":{"x":0.587,"y":1},"n":"0p683_1_0p587_1","t":46,"s":[{"i":[[-4.971,0],[0,-4.971],[4.971,0],[0,4.971]],"o":[[4.971,0],[0,4.971],[-4.971,0],[0,-4.971]],"v":[[84,-403.375],[93,-397],[84,-389.625],[75,-397]],"c":true}],"e":[{"i":[[-4.971,0],[0,-2.5],[4.971,0],[0,2.219]],"o":[[4.971,0],[0,2.594],[-4.971,0],[0,-2.344]],"v":[[84,-398.906],[91.5,-397],[84,-395],[76.75,-397]],"c":true}]},{"t":65}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":7,"s":[0.33,0.33,0.28,1],"e":[0.96,0.62,0.52,1]},{"t":9}]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"mn":"ADBE Vector Group"}],"ip":0,"op":92,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":3,"ty":4,"nm":"mouth_teeth","tt":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[51.5,73.438,0]},"a":{"a":0,"k":[85.5,-388.562,0]},"s":{"a":1,"k":[{"i":{"x":[0.388,0.388,0.667],"y":[1,1,0.667]},"o":{"x":[0.559,0.559,0.333],"y":[0,0,0.333]},"n":["0p388_1_0p559_0","0p388_1_0p559_0","0p667_0p667_0p333_0p333"],"t":5,"s":[150,150,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0.167]},"n":["0p833_1_0p167_0","0p833_1_0p167_0","0p833_0p833_0p167_0p167"],"t":28,"s":[100,100,100],"e":[150,150,100]},{"t":54}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-8.284,0],[0,-4.418],[8.284,0],[0,4.418]],"o":[[8.284,0],[0,4.418],[-8.284,0],[0,-4.418]],"v":[[88,-393],[103,-385],[88,-377],[73,-385]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0.85,0.53,0.43,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"mn":"ADBE Vector Group"}],"ip":0,"op":92,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":4,"ty":4,"nm":"mouth","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[50,65,0]},"a":{"a":0,"k":[84,-397,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.851,"y":1},"o":{"x":0.837,"y":0},"n":"0p851_1_0p837_0","t":7,"s":[{"i":[[-4.971,0],[0,-2.5],[4.971,0],[0,2.219]],"o":[[4.971,0],[0,2.594],[-4.971,0],[0,-2.344]],"v":[[84,-398.906],[91.5,-397],[84,-395],[76.75,-397]],"c":true}],"e":[{"i":[[-4.971,0],[0,-4.971],[4.971,0],[0,4.971]],"o":[[4.971,0],[0,4.971],[-4.971,0],[0,-4.971]],"v":[[84,-406.812],[93,-397],[84,-386.75],[75,-397]],"c":true}]},{"i":{"x":0.577,"y":1},"o":{"x":0.563,"y":0},"n":"0p577_1_0p563_0","t":14,"s":[{"i":[[-4.971,0],[0,-4.971],[4.971,0],[0,4.971]],"o":[[4.971,0],[0,4.971],[-4.971,0],[0,-4.971]],"v":[[84,-406.812],[93,-397],[84,-386.75],[75,-397]],"c":true}],"e":[{"i":[[-4.971,0],[0,-4.971],[4.971,0],[0,4.971]],"o":[[4.971,0],[0,4.971],[-4.971,0],[0,-4.971]],"v":[[84,-405.5],[93,-397],[84,-389],[75,-397]],"c":true}]},{"i":{"x":0.615,"y":1},"o":{"x":0.586,"y":0},"n":"0p615_1_0p586_0","t":21,"s":[{"i":[[-4.971,0],[0,-4.971],[4.971,0],[0,4.971]],"o":[[4.971,0],[0,4.971],[-4.971,0],[0,-4.971]],"v":[[84,-405.5],[93,-397],[84,-389],[75,-397]],"c":true}],"e":[{"i":[[-4.971,0],[0,-4.971],[4.971,0],[0,4.971]],"o":[[4.971,0],[0,4.971],[-4.971,0],[0,-4.971]],"v":[[84,-406],[93,-397],[84,-388],[75,-397]],"c":true}]},{"i":{"x":0.531,"y":0.201},"o":{"x":0.778,"y":0},"n":"0p531_0p201_0p778_0","t":30,"s":[{"i":[[-4.971,0],[0,-4.971],[4.971,0],[0,4.971]],"o":[[4.971,0],[0,4.971],[-4.971,0],[0,-4.971]],"v":[[84,-406],[93,-397],[84,-388],[75,-397]],"c":true}],"e":[{"i":[[-4.971,0],[0,-4.971],[4.971,0],[0,4.971]],"o":[[4.971,0],[0,4.971],[-4.971,0],[0,-4.971]],"v":[[84,-403.375],[93,-397],[84,-389.625],[75,-397]],"c":true}]},{"i":{"x":0.683,"y":1},"o":{"x":0.587,"y":1},"n":"0p683_1_0p587_1","t":46,"s":[{"i":[[-4.971,0],[0,-4.971],[4.971,0],[0,4.971]],"o":[[4.971,0],[0,4.971],[-4.971,0],[0,-4.971]],"v":[[84,-403.375],[93,-397],[84,-389.625],[75,-397]],"c":true}],"e":[{"i":[[-4.971,0],[0,-2.5],[4.971,0],[0,2.219]],"o":[[4.971,0],[0,2.594],[-4.971,0],[0,-2.344]],"v":[[84,-398.906],[91.5,-397],[84,-395],[76.75,-397]],"c":true}]},{"t":65}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0.96,0.62,0.52,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"mn":"ADBE Vector Group"}],"ip":0,"op":92,"st":0,"bm":0,"sr":1}]},{"id":"comp_45","layers":[{"ddd":0,"ind":0,"ty":4,"nm":"round_normal","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[50,50,0]},"a":{"a":0,"k":[-252,-412,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-17.673,0],[0,-17.673],[17.673,0],[0,17.673]],"o":[[17.673,0],[0,17.673],[-17.673,0],[0,-17.673]],"v":[[-252,-444],[-220,-412],[-252,-380],[-284,-412]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[1,0.88,0.59,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"mn":"ADBE Vector Group"}],"ip":0,"op":300,"st":0,"bm":0,"sr":1}]}],"layers":[{"ddd":0,"ind":0,"ty":0,"nm":"eyes_O","parent":2,"refId":"comp_43","ks":{"o":{"a":0,"k":100},"r":{"a":1,"k":[{"i":{"x":[0.304],"y":[1]},"o":{"x":[0.446],"y":[0]},"n":["0p304_1_0p446_0"],"t":0,"s":[-11],"e":[0]},{"i":{"x":[0.304],"y":[0.304]},"o":{"x":[0.167],"y":[0.167]},"n":["0p304_0p304_0p167_0p167"],"t":15,"s":[0],"e":[0]},{"i":{"x":[0.049],"y":[1]},"o":{"x":[0.438],"y":[0]},"n":["0p049_1_0p438_0"],"t":46,"s":[0],"e":[-11]},{"t":90}]},"p":{"a":1,"k":[{"i":{"x":0.304,"y":1},"o":{"x":0.446,"y":0},"n":"0p304_1_0p446_0","t":0,"s":[45,50,0],"e":[50,50,0],"to":[1.33333337306976,1.125,0],"ti":[-1.33333337306976,1.1875,0]},{"i":{"x":0.304,"y":1},"o":{"x":0.167,"y":0},"n":"0p304_1_0p167_0","t":15,"s":[50,50,0],"e":[50,50,0],"to":[1.33333337306976,-1.1875,0],"ti":[-1.33333337306976,1.1875,0]},{"i":{"x":0.049,"y":1},"o":{"x":0.438,"y":0},"n":"0p049_1_0p438_0","t":46,"s":[50,50,0],"e":[45,50,0],"to":[1.33333337306976,-1.1875,0],"ti":[-1.33333337306976,-1.125,0]},{"t":90}]},"a":{"a":0,"k":[50,50,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"w":100,"h":100,"ip":0,"op":91,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":1,"ty":0,"nm":"mouth_O","parent":0,"refId":"comp_44","ks":{"o":{"a":0,"k":100},"r":{"a":1,"k":[{"i":{"x":[0.366],"y":[1]},"o":{"x":[0.446],"y":[0]},"n":["0p366_1_0p446_0"],"t":0,"s":[9],"e":[0]},{"i":{"x":[0.667],"y":[0.667]},"o":{"x":[0.333],"y":[0.333]},"n":["0p667_0p667_0p333_0p333"],"t":15,"s":[0],"e":[0]},{"i":{"x":[0.049],"y":[1]},"o":{"x":[0.501],"y":[0]},"n":["0p049_1_0p501_0"],"t":46,"s":[0],"e":[9]},{"t":90}]},"p":{"a":0,"k":[50,50,0]},"a":{"a":0,"k":[50,50,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"w":100,"h":100,"ip":0,"op":91,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":0,"nm":"base_normal","refId":"comp_45","ks":{"o":{"a":0,"k":100},"r":{"a":1,"k":[{"i":{"x":[0.425],"y":[0.675]},"o":{"x":[0.515],"y":[0]},"n":["0p425_0p675_0p515_0"],"t":0,"s":[-7],"e":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.477],"y":[0.942]},"n":["0p667_1_0p477_0p942"],"t":15,"s":[0],"e":[2]},{"i":{"x":[0.531],"y":[0.354]},"o":{"x":[0.333],"y":[0]},"n":["0p531_0p354_0p333_0"],"t":30,"s":[2],"e":[0]},{"i":{"x":[0.361],"y":[1]},"o":{"x":[0.33],"y":[0.357]},"n":["0p361_1_0p33_0p357"],"t":46,"s":[0],"e":[-7]},{"t":90}]},"p":{"a":0,"k":[50,84.5,0]},"a":{"a":0,"k":[50,84.5,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"w":100,"h":100,"ip":0,"op":91,"st":0,"bm":0,"sr":1}]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/emoji_wink.json b/submodules/RLottie/Sources/rlottie/example/resource/emoji_wink.json deleted file mode 100644 index 29b39a5369..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/emoji_wink.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"4.5.7","fr":30,"ip":0,"op":60,"w":100,"h":100,"ddd":0,"assets":[{"id":"comp_38","layers":[{"ddd":0,"ind":0,"ty":4,"nm":"round_normal","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[50,50,0]},"a":{"a":0,"k":[-252,-412,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-17.673,0],[0,-17.673],[17.673,0],[0,17.673]],"o":[[17.673,0],[0,17.673],[-17.673,0],[0,-17.673]],"v":[[-252,-444],[-220,-412],[-252,-380],[-284,-412]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[1,0.88,0.59,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"mn":"ADBE Vector Group"}],"ip":0,"op":300,"st":0,"bm":0,"sr":1}]}],"layers":[{"ddd":0,"ind":0,"ty":4,"nm":"eyes_normal","parent":2,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[50,45.5,0]},"a":{"a":0,"k":[-252,-416.5,0]},"s":{"a":1,"k":[{"i":{"x":[0.516,0.831,0.667],"y":[0.516,1,0.667]},"o":{"x":[0.75,0.705,0.333],"y":[0.75,0,0.333]},"n":["0p516_0p516_0p75_0p75","0p831_1_0p705_0","0p667_0p667_0p333_0p333"],"t":40,"s":[100,100,100],"e":[100,0,100]},{"i":{"x":[0.667,0.667,0.667],"y":[0.667,1,0.667]},"o":{"x":[0.333,0.333,0.333],"y":[0.333,0,0.333]},"n":["0p667_0p667_0p333_0p333","0p667_1_0p333_0","0p667_0p667_0p333_0p333"],"t":45,"s":[100,0,100],"e":[100,110,100]},{"i":{"x":[0.298,0.276,0.667],"y":[0.298,1,0.667]},"o":{"x":[0.038,0.105,0.333],"y":[0.038,0,0.333]},"n":["0p298_0p298_0p038_0p038","0p276_1_0p105_0","0p667_0p667_0p333_0p333"],"t":50,"s":[100,110,100],"e":[100,98,100]},{"i":{"x":[0.667,0.667,0.667],"y":[0.667,1,0.667]},"o":{"x":[0.333,0.333,0.333],"y":[0.333,0,0.333]},"n":["0p667_0p667_0p333_0p333","0p667_1_0p333_0","0p667_0p667_0p333_0p333"],"t":55,"s":[100,98,100],"e":[100,100,100]},{"t":60}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.313,"y":1},"o":{"x":0.467,"y":0},"n":"0p313_1_0p467_0","t":6,"s":[{"i":[[-1.933,0],[0,-1.933],[1.933,0],[0,1.933]],"o":[[1.933,0],[0,1.933],[-1.933,0],[0,-1.933]],"v":[[-237.5,-420],[-234,-416.5],[-237.5,-413],[-241,-416.5]],"c":true}],"e":[{"i":[[-1.933,0],[-0.312,-1.313],[1.933,0],[0,1.062]],"o":[[1.933,0],[0.174,0.732],[-1.933,0],[0,-1.25]],"v":[[-237.437,-418],[-231.25,-415.875],[-237.5,-416.938],[-243.188,-415.937]],"c":true}]},{"i":{"x":0.395,"y":1},"o":{"x":0.716,"y":0},"n":"0p395_1_0p716_0","t":16,"s":[{"i":[[-1.933,0],[-0.312,-1.313],[1.933,0],[0,1.062]],"o":[[1.933,0],[0.174,0.732],[-1.933,0],[0,-1.25]],"v":[[-237.437,-418],[-231.25,-415.875],[-237.5,-416.938],[-243.188,-415.937]],"c":true}],"e":[{"i":[[-1.933,0],[0,-1.933],[1.933,0],[0,1.933]],"o":[[1.933,0],[0,1.933],[-1.933,0],[0,-1.933]],"v":[[-237.5,-420],[-234,-416.5],[-237.5,-413],[-241,-416.5]],"c":true}]},{"t":29}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ind":1,"ty":"sh","ks":{"a":0,"k":{"i":[[-1.933,0],[0,-1.933],[1.933,0],[0,1.933]],"o":[[1.933,0],[0,1.933],[-1.933,0],[0,-1.933]],"v":[[-266.5,-420],[-263,-416.5],[-266.5,-413],[-270,-416.5]],"c":true}},"nm":"Path 2","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0.33,0.33,0.28,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":4,"mn":"ADBE Vector Group"}],"ip":0,"op":61,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":1,"ty":4,"nm":"mouth_smile","parent":2,"ks":{"o":{"a":0,"k":100},"r":{"a":1,"k":[{"i":{"x":[0.25],"y":[1]},"o":{"x":[0.75],"y":[0]},"n":["0p25_1_0p75_0"],"t":4,"s":[0],"e":[-15]},{"i":{"x":[0.25],"y":[1]},"o":{"x":[0.75],"y":[0]},"n":["0p25_1_0p75_0"],"t":15,"s":[-15],"e":[0]},{"t":30}]},"p":{"a":0,"k":[50.862,57.489,0]},"a":{"a":0,"k":[-251.138,-404.511,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.292,"y":1},"o":{"x":0.506,"y":0},"n":"0p292_1_0p506_0","t":0,"s":[{"i":[[6.254,0],[2.91,1.715],[-0.616,0.558],[-0.707,-0.436],[-2.276,0],[-3.615,1.995],[-0.52,-0.71],[0.737,-0.384]],"o":[[-6.249,0],[-0.716,-0.422],[0.615,-0.558],[3.273,2.017],[2.662,0],[0.728,-0.402],[0.324,0.602],[-3.252,1.696]],"v":[[-252.006,-391.01],[-263.629,-394.434],[-263.522,-396.373],[-261.398,-396.454],[-252.006,-394.02],[-242.635,-396.433],[-240.261,-396.227],[-240.405,-394.414]],"c":true}],"e":[{"i":[[6.233,0],[4.195,4.639],[-0.616,0.558],[-0.558,-0.615],[-5.401,0],[-3.206,6.717],[-0.615,-0.557],[0.338,-0.759]],"o":[[-6.249,0],[-0.557,-0.616],[0.615,-0.558],[3.626,4.01],[4.636,0],[0.358,-0.75],[0.616,0.557],[-2.811,6.323]],"v":[[-252.044,-390.197],[-266.129,-396.746],[-266.022,-398.873],[-263.898,-398.767],[-252.076,-392.959],[-239.687,-401.031],[-237.564,-401.138],[-237.457,-399.012]],"c":true}]},{"i":{"x":0.564,"y":1},"o":{"x":0.571,"y":0},"n":"0p564_1_0p571_0","t":15,"s":[{"i":[[6.233,0],[4.195,4.639],[-0.616,0.558],[-0.558,-0.615],[-5.401,0],[-3.206,6.717],[-0.615,-0.557],[0.338,-0.759]],"o":[[-6.249,0],[-0.557,-0.616],[0.615,-0.558],[3.626,4.01],[4.636,0],[0.358,-0.75],[0.616,0.557],[-2.811,6.323]],"v":[[-252.044,-390.197],[-266.129,-396.746],[-266.022,-398.873],[-263.898,-398.767],[-252.076,-392.959],[-239.687,-401.031],[-237.564,-401.138],[-237.457,-399.012]],"c":true}],"e":[{"i":[[6.254,0],[2.91,1.715],[-0.616,0.558],[-0.707,-0.436],[-2.276,0],[-3.615,1.995],[-0.52,-0.71],[0.737,-0.384]],"o":[[-6.249,0],[-0.716,-0.422],[0.615,-0.558],[3.273,2.017],[2.662,0],[0.728,-0.402],[0.324,0.602],[-3.252,1.696]],"v":[[-252.006,-391.01],[-263.629,-394.434],[-263.522,-396.373],[-261.398,-396.454],[-252.006,-394.02],[-242.635,-396.433],[-240.261,-396.227],[-240.405,-394.414]],"c":true}]},{"i":{"x":0.681,"y":0.833},"o":{"x":0.546,"y":0},"n":"0p681_0p833_0p546_0","t":30,"s":[{"i":[[6.254,0],[2.91,1.715],[-0.616,0.558],[-0.707,-0.436],[-2.276,0],[-3.615,1.995],[-0.52,-0.71],[0.737,-0.384]],"o":[[-6.249,0],[-0.716,-0.422],[0.615,-0.558],[3.273,2.017],[2.662,0],[0.728,-0.402],[0.324,0.602],[-3.252,1.696]],"v":[[-252.006,-391.01],[-263.629,-394.434],[-263.522,-396.373],[-261.398,-396.454],[-252.006,-394.02],[-242.635,-396.433],[-240.261,-396.227],[-240.405,-394.414]],"c":true}],"e":[{"i":[[6.254,0],[2.91,1.715],[-0.616,0.558],[-0.734,-0.389],[-2.276,0],[-3.487,2.248],[-0.52,-0.71],[0.673,-0.488]],"o":[[-6.249,0],[-0.716,-0.422],[0.615,-0.558],[3.089,1.638],[2.662,0],[0.699,-0.451],[0.324,0.602],[-2.905,2.105]],"v":[[-252.006,-391.01],[-264.507,-394.555],[-264.401,-396.494],[-262.276,-396.576],[-252.006,-394.02],[-242.076,-396.998],[-239.702,-396.793],[-239.845,-394.98]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.497,"y":0.261},"n":"0p667_1_0p497_0p261","t":40,"s":[{"i":[[6.254,0],[2.91,1.715],[-0.616,0.558],[-0.734,-0.389],[-2.276,0],[-3.487,2.248],[-0.52,-0.71],[0.673,-0.488]],"o":[[-6.249,0],[-0.716,-0.422],[0.615,-0.558],[3.089,1.638],[2.662,0],[0.699,-0.451],[0.324,0.602],[-2.905,2.105]],"v":[[-252.006,-391.01],[-264.507,-394.555],[-264.401,-396.494],[-262.276,-396.576],[-252.006,-394.02],[-242.076,-396.998],[-239.702,-396.793],[-239.845,-394.98]],"c":true}],"e":[{"i":[[6.254,0],[2.91,1.715],[-0.616,0.558],[-0.707,-0.436],[-2.276,0],[-3.615,1.995],[-0.52,-0.71],[0.737,-0.384]],"o":[[-6.249,0],[-0.716,-0.422],[0.615,-0.558],[3.273,2.017],[2.662,0],[0.728,-0.402],[0.324,0.602],[-3.252,1.696]],"v":[[-252.006,-391.01],[-263.629,-394.434],[-263.522,-396.373],[-261.398,-396.454],[-252.006,-394.02],[-242.635,-396.433],[-240.261,-396.227],[-240.405,-394.414]],"c":true}]},{"t":60}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0.33,0.33,0.28,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"mn":"ADBE Vector Group"}],"ip":0,"op":61,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":0,"nm":"base_normal","refId":"comp_38","ks":{"o":{"a":0,"k":100},"r":{"a":1,"k":[{"i":{"x":[0.273],"y":[1]},"o":{"x":[0.464],"y":[0]},"n":["0p273_1_0p464_0"],"t":4,"s":[0],"e":[13]},{"i":{"x":[0.532],"y":[1]},"o":{"x":[0.578],"y":[0]},"n":["0p532_1_0p578_0"],"t":19,"s":[13],"e":[0]},{"t":40}]},"p":{"a":0,"k":[50,50,0]},"a":{"a":0,"k":[50,50,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"w":100,"h":100,"ip":0,"op":61,"st":0,"bm":0,"sr":1}]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/file_transfer.json b/submodules/RLottie/Sources/rlottie/example/resource/file_transfer.json deleted file mode 100644 index ef823ffbdf..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/file_transfer.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.0.6","fr":25,"ip":0,"op":50,"w":503,"h":495,"nm":"file transfer","ddd":0,"assets":[{"id":"comp_2","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Layer 4 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[90.033,347.439,0],"ix":2},"a":{"a":0,"k":[64.5,97.25,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-17.824,0],[0,0]],"o":[[0,0],[0,17.824],[0,0],[0,0]],"v":[[-47,-79.75],[-47,47.477],[-14.727,79.75],[47,79.75]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.122000002394,0.187999994615,0.277999997606,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":7,"ix":5},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[64.5,97.25],"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,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[100]},{"t":10}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":10,"s":[0],"e":[100]},{"t":20}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":36,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Layer 7 Outlines","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":20,"s":[100],"e":[0]},{"t":23}],"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":5,"s":[90],"e":[72]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":6,"s":[72],"e":[38]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":7,"s":[38],"e":[0]},{"t":8}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[42.545,272.726,0],"e":[42.545,283.601,0],"to":[0,1.8125,0],"ti":[0,-5.89583349227905,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":1,"s":[42.545,283.601,0],"e":[42.545,308.101,0],"to":[0,5.89583349227905,0],"ti":[0,-7.75,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":2,"s":[42.545,308.101,0],"e":[42.545,330.101,0],"to":[0,7.75,0],"ti":[0,-7.47916650772095,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":3,"s":[42.545,330.101,0],"e":[42.545,352.976,0],"to":[0,7.47916650772095,0],"ti":[0,-8.41666698455811,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":4,"s":[42.545,352.976,0],"e":[42.545,380.601,0],"to":[0,8.41666698455811,0],"ti":[-0.33333334326744,-8.5625,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":5,"s":[42.545,380.601,0],"e":[44.545,404.351,0],"to":[0.33333334326744,8.5625,0],"ti":[-2.875,-6.91666650772095,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":6,"s":[44.545,404.351,0],"e":[59.795,422.101,0],"to":[2.875,6.91666650772095,0],"ti":[-6.0625,-3.8125,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":7,"s":[59.795,422.101,0],"e":[80.92,427.226,0],"to":[6.0625,3.8125,0],"ti":[-7.52083349227905,-0.85416668653488,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":8,"s":[80.92,427.226,0],"e":[104.92,427.226,0],"to":[7.52083349227905,0.85416668653488,0],"ti":[-8.25,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":9,"s":[104.92,427.226,0],"e":[130.42,427.226,0],"to":[8.25,0,0],"ti":[-4.25,0,0]},{"t":10}],"ix":2},"a":{"a":0,"k":[28.637,39.774,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-11.137,-22.274],[11.137,0],[-11.137,22.274]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.122000002394,0.187999994615,0.277999997606,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":7,"ix":5},"lc":2,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[28.637,39.774],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":1,"op":36,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"Pre-comp 1","refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":180,"ix":10},"p":{"a":0,"k":[251.5,247.5,0],"ix":2},"a":{"a":0,"k":[251.5,247.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":503,"h":495,"ip":0,"op":100,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"Pre-comp 1","refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[251.5,247.5,0],"ix":2},"a":{"a":0,"k":[251.5,247.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":503,"h":495,"ip":0,"op":100,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Layer 3 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":20,"s":[152.057,121.25,0],"e":[350.557,373.25,0],"to":[2.08333325386047,63,0],"ti":[-199.744842529297,-2.53560209274292,0]},{"t":35}],"ix":2},"a":{"a":0,"k":[152.25,121.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,-3.7],[0,0],[-3.7,0],[0,0],[0,3.7],[0,0],[3.7,0],[0,0],[0,0]],"o":[[-3.7,0],[0,0],[0,3.7],[0,0],[3.7,0],[0,0],[0,-3.7],[0,0],[0,0],[0,0]],"v":[[-138.3,-114.25],[-145,-107.55],[-145,107.65],[-138.3,114.35],[138.3,114.35],[145,107.65],[145,-66.65],[138.3,-73.35],[-12.2,-73.35],[-45.5,-114.25]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[7.5,0],[0,0],[0,7.6],[0,0],[-7.6,0],[0,0],[0,0],[0,0],[0,-7.6],[0,0]],"o":[[0,0],[-7.5,0],[0,0],[0,-7.6],[0,0],[0,0],[0,0],[7.5,0],[0,0],[0,7.5]],"v":[[138.3,121.25],[-138.3,121.25],[-152,107.55],[-152,-107.55],[-138.3,-121.25],[-42.1,-121.25],[-8.8,-80.25],[138.3,-80.25],[152,-66.55],[152,107.65]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.122000002394,0.187999994615,0.277999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[152.25,121.5],"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":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[7.412,0],[0,0],[0,7.412],[0,0],[-7.412,0],[0,0],[0,0],[0,0],[0,-7.412],[0,0]],"o":[[0,0],[-7.315,0],[0,0],[0,-7.315],[0,0],[0,0],[0,0],[7.314,0],[0,0],[0,7.315]],"v":[[134.878,118.25],[-134.878,118.25],[-148.239,104.889],[-148.239,-104.889],[-134.878,-118.25],[-41.059,-118.25],[-8.582,-78.265],[134.878,-78.265],[148.239,-64.903],[148.239,104.986]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[152.193,121.5],"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,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":100,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Layer 2 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":20,"s":[350.557,373.25,0],"e":[152.057,121.25,0],"to":[9.91666698455811,-261,0],"ti":[0,0,0]},{"t":35}],"ix":2},"a":{"a":0,"k":[152.25,121.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,-3.7],[0,0],[-3.7,0],[0,0],[0,3.7],[0,0],[3.7,0],[0,0],[0,0],[0,0]],"o":[[-3.7,0],[0,0],[0,3.7],[0,0],[3.7,0],[0,0],[0,-3.7],[0,0],[0,0],[0,0],[0,0]],"v":[[-138.3,-114.25],[-145,-107.55],[-145,107.65],[-138.3,114.35],[138.3,114.35],[145,107.65],[145,-66.65],[138.3,-73.35],[-12.1,-73.35],[-45.401,-114.35],[-138.3,-114.35]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[7.6,0],[0,0],[0,7.6],[0,0],[-7.6,0],[0,0],[0,0],[0,0],[0,-7.6],[0,0]],"o":[[0,0],[-7.5,0],[0,0],[0,-7.5],[0,0],[0,0],[0,0],[7.5,0],[0,0],[0,7.5]],"v":[[138.3,121.25],[-138.3,121.25],[-152,107.55],[-152,-107.55],[-138.3,-121.25],[-42.1,-121.25],[-8.8,-80.25],[138.3,-80.25],[152,-66.55],[152,107.65]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.122000002394,0.187999994615,0.277999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[152.25,121.5],"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":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[7.35,0],[0,0],[0,7.35],[0,0],[-7.349,0],[0,0],[0,0],[0,0],[0,-7.35],[0,0]],"o":[[0,0],[-7.253,0],[0,0],[0,-7.253],[0,0],[0,0],[0,0],[7.253,0],[0,0],[0,7.253]],"v":[[133.738,117.25],[-133.738,117.25],[-146.985,104.002],[-146.985,-104.002],[-133.738,-117.25],[-40.71,-117.25],[-8.51,-77.603],[133.738,-77.603],[146.986,-64.354],[146.986,104.099]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[152.25,121.5],"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,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":100,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/fingerprint_success.json b/submodules/RLottie/Sources/rlottie/example/resource/fingerprint_success.json deleted file mode 100644 index e036550693..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/fingerprint_success.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.1.16","fr":60,"ip":0,"op":154,"w":800,"h":600,"nm":"Fingerprint Added","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"check-mark","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":114.999,"s":[0],"e":[100]},{"t":125.999075247122}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[478,200,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":112.999,"s":[40.225,40.225,100],"e":[90.225,90.225,100]},{"t":128.999075247122}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.58,0.581],[0,0],[-0.586,0.586],[0,0],[-0.586,-0.586],[0,0],[0,0],[-0.578,-0.593],[0,0],[0.593,-0.578],[0,0]],"o":[[0,0],[-0.586,-0.586],[0,0],[0.586,-0.586],[0,0],[0,0],[0.593,-0.578],[0,0],[0.578,0.593],[0,0],[-0.588,0.573]],"v":[[-6.426,14.748],[-20.11,1.063],[-20.11,-1.059],[-16.575,-4.594],[-14.454,-4.594],[-5.306,4.553],[14.506,-14.756],[16.627,-14.729],[20.117,-11.148],[20.09,-9.027],[-4.318,14.761]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":77,"op":757.023023023023,"st":-143.877877877878,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"circle","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[478,200,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":91,"s":[118,118,100],"e":[83.4,83.4,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":104,"s":[83.4,83.4,100],"e":[100,100,100]},{"t":114}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"n":"0_1_0p167_0p167","t":506.533,"s":[{"i":[[27.5,0],[0,0],[0,27.5],[0,0],[-27.5,0],[0,0],[0,-27.5],[0,0]],"o":[[0,0],[-27.5,0],[0,0],[0,-27.5],[0,0],[27.5,0],[0,0],[0,27.5]],"v":[[0,50],[0,50],[-50,0],[-50,0],[0,-50],[0,-50],[50,0],[50,0]],"c":true}],"e":[{"i":[[27.5,0],[0,0],[0,27.5],[0,0],[-27.5,0],[0,0],[0,-27.5],[0,0]],"o":[[0,0],[-27.5,0],[0,0],[0,-27.5],[0,0],[27.5,0],[0,0],[0,27.5]],"v":[[77.5,50],[-77.5,50],[-127.5,0],[-127.5,0],[-77.5,-50],[77.5,-50],[127.5,0],[127.5,0]],"c":true}]},{"t":526.552734375}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.227450980392,0.717647058824,0.23137254902,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":74,"op":574.600600600601,"st":-26,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"bg","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0_1_0p167_0p167"],"t":460.461,"s":[35],"e":[0]},{"t":490.490234375}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400.5,299.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-11.083,111.167],[-18.417,129.833]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.509803921569,0.427450980392,0.827450980392,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 19","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,-31.333],[0,0]],"o":[[0,0],[0,26.833],[0,0]],"v":[[-2.917,0.375],[1.25,47.375],[-4.75,89.625]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.509803921569,0.427450980392,0.827450980392,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0.5,-1],"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":"Shape 18","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[16.5,-45.333]],"o":[[0,0],[0,0]],"v":[[21.083,65.167],[4.75,129.833]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.509803921569,0.427450980392,0.827450980392,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 17","np":3,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,34.5],[0.343,7.079],[-15.143,3.994],[-2.486,-6.934],[0,0]],"o":[[0,0],[0,-34.5],[-0.312,-6.447],[15.167,-4],[4.909,13.694],[0,0]],"v":[[-40.371,123.25],[-20.538,49.917],[-24.38,1.838],[-7.871,-22.25],[18.462,-7.583],[22.962,42.625]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.509803921569,0.427450980392,0.827450980392,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 16","np":3,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-11.333,0],[-9.167,-11.792],[0,-58.958],[0,0]],"o":[[0,0],[10.833,0],[7.836,10.081],[0,35.958],[0,0]],"v":[[-18.417,-41.083],[-2.583,-43.75],[30.25,-27.917],[44.417,52.625],[30.25,123.75]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.509803921569,0.427450980392,0.827450980392,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[-0.5,0],"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":"Shape 15","np":3,"cix":2,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-2.218,33.169],[0,12.439],[0,0]],"o":[[0,0],[1.75,-26.167],[0,-22.363],[0,0]],"v":[[-59.375,115.875],[-41.875,56.792],[-45.744,2.238],[-35.625,-28.375]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.509803921569,0.427450980392,0.827450980392,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 14","np":3,"cix":2,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,-51.333],[0,0]],"o":[[0,0],[0,41.022],[0,0]],"v":[[57.417,-21.5],[65.083,46.5],[55.917,114.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.509803921569,0.427450980392,0.827450980392,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 13","np":3,"cix":2,"ix":7,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.5,13],[0,15.5],[-25.188,12.89],[0,0]],"o":[[0,0],[-0.5,-13],[0,-15.5],[49.667,-25.417],[0,0]],"v":[[-64.25,56.042],[-63.5,32.625],[-67.333,-1.875],[-34.167,-57.125],[48.333,-40.708]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.509803921569,0.427450980392,0.827450980392,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 12","np":3,"cix":2,"ix":8,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-2.5,11.25]],"o":[[0,0],[0,0]],"v":[[-23,35.875],[-12,9.125]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.509803921569,0.427450980392,0.827450980392,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[-56,68.5],"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":"Shape 11","np":3,"cix":2,"ix":9,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[25.588,51.877],[0.253,0.286]],"o":[[-0.862,-0.039],[-12.167,-24.667],[0,0]],"v":[[83.122,95.5],[73.789,-41.833],[39.122,-75.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.509803921569,0.427450980392,0.827450980392,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 10","np":3,"cix":2,"ix":10,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[37.69,-39.496],[0.227,-12.901],[0,-12.5],[0,0]],"o":[[0,0],[-22.167,23.229],[-0.229,12.998],[0,29.875],[0,0]],"v":[[18.047,-83.903],[-66.12,-59.632],[-88.229,0.347],[-84.703,39.347],[-95.703,89.597]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.509803921569,0.427450980392,0.827450980392,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 9","np":3,"cix":2,"ix":11,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[1.346,-17.25]],"o":[[0,0],[0,0]],"v":[[108.577,39.125],[107.577,65.875]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.509803921569,0.427450980392,0.827450980392,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 8","np":3,"cix":2,"ix":12,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[0.509803921569,0.427450980392,0.827450980392,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 7","np":2,"cix":2,"ix":13,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-52.475,-34.419],[0,0],[0,0]],"o":[[0,0],[46.5,30.5],[0,0],[0,0]],"v":[[-44.5,-100.374],[58.25,-89.29],[106.75,6.46],[107.5,16.21]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.509803921569,0.427450980392,0.827450980392,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 6","np":3,"cix":2,"ix":14,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[2,18],[0,15.375],[-45.25,31.75]],"o":[[0,0],[-2,-18],[0,-15.375],[0,0]],"v":[[-111.125,71.625],[-106.125,41.625],[-110.125,3],[-64.875,-88.125]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.509803921569,0.427450980392,0.827450980392,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 5","np":3,"cix":2,"ix":15,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[35.5,34.75],[0,0]],"o":[[0,0],[-34.746,-34.012],[0,0]],"v":[[126.531,-3.938],[89.281,-91.854],[17.531,-127.937]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.509803921569,0.427450980392,0.827450980392,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 4","np":3,"cix":2,"ix":16,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[0.509803921569,0.427450980392,0.827450980392,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 3","np":2,"cix":2,"ix":17,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[31.5,-19.5],[0,0]],"o":[[0,0],[-31.5,19.5],[0,0]],"v":[[-4.75,-129.937],[-71,-110.687],[-118.75,-56.937]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.509803921569,0.427450980392,0.827450980392,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 2","np":3,"cix":2,"ix":18,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,-22.25],[0,0]],"o":[[0,0],[0,22.25],[0,0]],"v":[[-128.25,-36.875],[-133.5,-0.125],[-126.5,40.375]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.509803921569,0.427450980392,0.827450980392,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":19,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[100]},{"t":34}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":20,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":600.600600600601,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Scan","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0_1_0p167_0p167"],"t":338.338,"s":[100],"e":[0]},{"t":368.369140625}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400.5,299.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-11.083,111.167],[-18.417,129.833]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.294117647059,0.23137254902,0.658823529412,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 19","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,-31.333],[0,0]],"o":[[0,0],[0,26.833],[0,0]],"v":[[-2.917,0.375],[1.25,47.375],[-4.75,89.625]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.294117647059,0.23137254902,0.658823529412,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0.5,-1],"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":"Shape 18","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[16.5,-45.333]],"o":[[0,0],[0,0]],"v":[[21.083,65.167],[4.75,129.833]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.294117647059,0.23137254902,0.658823529412,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 17","np":3,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,34.5],[0.343,7.079],[-15.143,3.994],[-2.486,-6.934],[0,0]],"o":[[0,0],[0,-34.5],[-0.312,-6.447],[15.167,-4],[4.909,13.694],[0,0]],"v":[[-40.371,123.25],[-20.538,49.917],[-24.38,1.838],[-7.871,-22.25],[18.462,-7.583],[22.962,42.625]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.294117647059,0.23137254902,0.658823529412,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 16","np":3,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-11.333,0],[-9.167,-11.792],[0,-58.958],[0,0]],"o":[[0,0],[10.833,0],[7.836,10.081],[0,35.958],[0,0]],"v":[[-18.417,-41.083],[-2.583,-43.75],[30.25,-27.917],[44.417,52.625],[30.25,123.75]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.294117647059,0.23137254902,0.658823529412,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[-0.5,0],"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":"Shape 15","np":3,"cix":2,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-2.218,33.169],[0,12.439],[0,0]],"o":[[0,0],[1.75,-26.167],[0,-22.363],[0,0]],"v":[[-59.375,115.875],[-41.875,56.792],[-45.744,2.238],[-35.625,-28.375]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.294117647059,0.23137254902,0.658823529412,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 14","np":3,"cix":2,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,-51.333],[0,0]],"o":[[0,0],[0,41.022],[0,0]],"v":[[57.417,-21.5],[65.083,46.5],[55.917,114.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.294117647059,0.23137254902,0.658823529412,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 13","np":3,"cix":2,"ix":7,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.5,13],[0,15.5],[-25.188,12.89],[0,0]],"o":[[0,0],[-0.5,-13],[0,-15.5],[49.667,-25.417],[0,0]],"v":[[-64.25,56.042],[-63.5,32.625],[-67.333,-1.875],[-34.167,-57.125],[48.333,-40.708]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.294117647059,0.23137254902,0.658823529412,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 12","np":3,"cix":2,"ix":8,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-2.5,11.25]],"o":[[0,0],[0,0]],"v":[[-23,35.875],[-12,9.125]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.294117647059,0.23137254902,0.658823529412,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[-56,68.5],"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":"Shape 11","np":3,"cix":2,"ix":9,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[25.588,51.877],[0.253,0.286]],"o":[[-0.862,-0.039],[-12.167,-24.667],[0,0]],"v":[[83.122,95.5],[73.789,-41.833],[39.122,-75.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.294117647059,0.23137254902,0.658823529412,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 10","np":3,"cix":2,"ix":10,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[37.69,-39.496],[0.227,-12.901],[0,-12.5],[0,0]],"o":[[0,0],[-22.167,23.229],[-0.229,12.998],[0,29.875],[0,0]],"v":[[18.047,-83.903],[-66.12,-59.632],[-88.229,0.347],[-84.703,39.347],[-95.703,89.597]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.294117647059,0.23137254902,0.658823529412,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 9","np":3,"cix":2,"ix":11,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[1.346,-17.25]],"o":[[0,0],[0,0]],"v":[[108.577,39.125],[107.577,65.875]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.294117647059,0.23137254902,0.658823529412,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 8","np":3,"cix":2,"ix":12,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[0.294117647059,0.23137254902,0.658823529412,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 7","np":2,"cix":2,"ix":13,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-52.475,-34.419],[0,0],[0,0]],"o":[[0,0],[46.5,30.5],[0,0],[0,0]],"v":[[-44.5,-100.374],[58.25,-89.29],[106.75,6.46],[107.5,16.21]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.294117647059,0.23137254902,0.658823529412,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 6","np":3,"cix":2,"ix":14,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[2,18],[0,15.375],[-45.25,31.75]],"o":[[0,0],[-2,-18],[0,-15.375],[0,0]],"v":[[-111.125,71.625],[-106.125,41.625],[-110.125,3],[-64.875,-88.125]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.294117647059,0.23137254902,0.658823529412,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 5","np":3,"cix":2,"ix":15,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[35.5,34.75],[0,0]],"o":[[0,0],[-34.746,-34.012],[0,0]],"v":[[126.531,-3.938],[89.281,-91.854],[17.531,-127.937]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.294117647059,0.23137254902,0.658823529412,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 4","np":3,"cix":2,"ix":16,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[0.294117647059,0.23137254902,0.658823529412,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 3","np":2,"cix":2,"ix":17,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[31.5,-19.5],[0,0]],"o":[[0,0],[-31.5,19.5],[0,0]],"v":[[-4.75,-129.937],[-71,-110.687],[-118.75,-56.937]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.294117647059,0.23137254902,0.658823529412,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 2","np":3,"cix":2,"ix":18,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,-22.25],[0,0]],"o":[[0,0],[0,22.25],[0,0]],"v":[[-128.25,-36.875],[-133.5,-0.125],[-126.5,40.375]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.294117647059,0.23137254902,0.658823529412,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":19,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":38,"s":[0],"e":[100]},{"t":96}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":20,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":600.600600600601,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/funky_chicken.json b/submodules/RLottie/Sources/rlottie/example/resource/funky_chicken.json deleted file mode 100644 index 9870f71602..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/funky_chicken.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.1.14","fr":30,"ip":0,"op":32,"w":512,"h":512,"nm":"cipa 3","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":0,"nm":"cipa","refId":"comp_1","sr":0.8,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[442,468,0],"ix":2},"a":{"a":0,"k":[450,450,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":900,"h":900,"ip":0,"op":32,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Слой-фигура 1","sr":1,"ks":{"o":{"a":0,"k":36,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[442,440,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_1_0p333_0"],"t":0,"s":[103.311,100,100],"e":[85,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_1_0p333_0"],"t":8,"s":[85,100,100],"e":[103.311,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_1_0p333_0"],"t":16,"s":[103.311,100,100],"e":[85,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_1_0p333_0"],"t":24,"s":[85,100,100],"e":[103.311,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_1_0p333_0"],"t":32,"s":[103.311,100,100],"e":[85,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_1_0p333_0"],"t":40,"s":[85,100,100],"e":[103.311,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_1_0p333_0"],"t":49,"s":[103.311,100,100],"e":[85,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_1_0p333_0"],"t":57,"s":[85,100,100],"e":[103.311,100,100]},{"t":65}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[327.625,10.68],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":20,"ix":4},"nm":"Контур прямоугольника 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.582368259804,0.582368259804,0.582368259804,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Заливка 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[42.812,290.66],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,132.703],"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":"Преобразовать"}],"nm":"Прямоугольник 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":32,"st":0,"bm":0}]},{"id":"comp_1","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Кривые ochki","parent":4,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[297.64,420.945,0],"ix":2},"a":{"a":0,"k":[297.64,420.945,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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},"n":"0p667_1_0p333_0","t":0,"s":[{"i":[[0,0],[62.833,-11.624],[0,0],[17.986,-6.775],[0.333,-10.334],[3,-6],[2.333,7.333],[-2.726,8.808],[-4.655,2.007],[0,0],[-25.667,5.333],[0,0]],"o":[[0,0],[-70.215,12.99],[0.12,-1.267],[-12.802,4.822],[-0.333,10.333],[-3,6],[-2.333,-7.333],[2.167,-7],[30.525,-13.156],[0,0],[25.666,-5.333],[0,0]],"v":[[98.247,-45.334],[59.58,56.999],[-31.331,-27.111],[-83.333,-10.978],[-101.333,5.021],[-101.666,62.354],[-124.333,70.354],[-115.333,-4.812],[-102.501,-17.593],[-31.331,-50.778],[46.914,-70.334],[90.247,-78.376]],"c":false}],"e":[{"i":[[0,0],[59.667,-10],[0,0],[17.986,-6.775],[0.333,-10.334],[3,-6],[2.333,7.333],[-2.726,8.808],[-4.655,2.007],[0,0],[-25.667,5.333],[0,0]],"o":[[0,0],[-70.424,11.803],[0.12,-1.267],[-12.802,4.822],[-0.333,10.333],[-3,6],[-2.333,-7.333],[2.167,-7],[30.525,-13.156],[0,0],[25.666,-5.333],[0,0]],"v":[[134.139,-50.603],[88.999,52.688],[5.999,-32.978],[-100.333,-6.978],[-118.333,9.021],[-118.666,66.354],[-141.333,74.354],[-132.333,-0.812],[-119.501,-13.594],[5.999,-56.646],[76.334,-74.646],[124.143,-83.369]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":20,"s":[{"i":[[0,0],[59.667,-10],[0,0],[17.986,-6.775],[0.333,-10.334],[3,-6],[2.333,7.333],[-2.726,8.808],[-4.655,2.007],[0,0],[-25.667,5.333],[0,0]],"o":[[0,0],[-70.424,11.803],[0.12,-1.267],[-12.802,4.822],[-0.333,10.333],[-3,6],[-2.333,-7.333],[2.167,-7],[30.525,-13.156],[0,0],[25.666,-5.333],[0,0]],"v":[[134.139,-50.603],[88.999,52.688],[5.999,-32.978],[-100.333,-6.978],[-118.333,9.021],[-118.666,66.354],[-141.333,74.354],[-132.333,-0.812],[-119.501,-13.594],[5.999,-56.646],[76.334,-74.646],[124.143,-83.369]],"c":false}],"e":[{"i":[[0,0],[62.833,-11.624],[0,0],[17.986,-6.775],[0.333,-10.334],[3,-6],[2.333,7.333],[-2.726,8.808],[-4.655,2.007],[0,0],[-25.667,5.333],[0,0]],"o":[[0,0],[-70.215,12.99],[0.12,-1.267],[-12.802,4.822],[-0.333,10.333],[-3,6],[-2.333,-7.333],[2.167,-7],[30.525,-13.156],[0,0],[25.666,-5.333],[0,0]],"v":[[98.247,-45.334],[59.58,56.999],[-31.331,-27.111],[-83.333,-10.978],[-101.333,5.021],[-101.666,62.354],[-124.333,70.354],[-115.333,-4.812],[-102.501,-17.594],[-31.331,-50.778],[46.914,-70.334],[90.247,-78.376]],"c":false}]},{"t":40}],"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":2,"lj":2,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[260.333,426.312],"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":"Преобразовать"}],"nm":"Группа 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"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},"n":"0p667_1_0p333_0","t":0,"s":[{"i":[[3.34,20.121],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-40.586,-15.689],[-6.773,-7.368],[-35.44,22.897]],"c":true}],"e":[{"i":[[4.375,20.5],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-4.638,-21.232],[27.639,-11.958],[-1.901,17.366]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":20,"s":[{"i":[[4.375,20.5],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-4.638,-21.232],[27.639,-11.958],[-1.901,17.366]],"c":true}],"e":[{"i":[[3.34,20.121],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-40.586,-15.689],[-6.773,-7.368],[-35.44,22.897]],"c":true}]},{"t":40}],"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":2,"lj":2,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[399.167,397],"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":"Преобразовать"}],"nm":"Группа 2","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"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},"n":"0p667_1_0p333_0","t":0,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-37.857,7.499],[-8.502,7.569],[-38.857,-1.626]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-1.965,2.23],[25.91,2.98],[-2.965,-6.895]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":20,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-1.965,2.23],[25.91,2.98],[-2.965,-6.895]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-37.857,7.499],[-8.502,7.569],[-38.857,-1.626]],"c":true}]},{"t":40}],"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.783999992819,0.039000002543,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Заливка 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[398.812,383.062],"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":"Преобразовать"}],"nm":"Группа 3","np":2,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"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},"n":"0p667_1_0p333_0","t":0,"s":[{"i":[[4.125,20.75],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-40.586,-15.689],[-6.773,-7.368],[-36.586,22.311]],"c":true}],"e":[{"i":[[4.125,20.75],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-4.694,-20.958],[27.639,-11.958],[-0.694,17.042]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":20,"s":[{"i":[[4.125,20.75],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-4.694,-20.958],[27.639,-11.958],[-0.694,17.042]],"c":true}],"e":[{"i":[[4.125,20.75],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-40.586,-15.689],[-6.773,-7.368],[-36.586,22.311]],"c":true}]},{"t":40}],"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.579999976065,0.039000002543,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Заливка 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[399.167,397],"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":"Преобразовать"}],"nm":"Группа 4","np":2,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false},{"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},"n":"0p667_1_0p333_0","t":0,"s":[{"i":[[0,0],[-78.198,17.874],[7.634,11.583],[26,-3.667],[0,0]],"o":[[0,0],[54.631,-12.487],[-9.667,-14.667],[-25.958,3.661],[0,0]],"v":[[-84.836,-16.046],[-6.919,60.121],[27.414,-54.546],[-38.744,-60.302],[-96.586,-50.296]],"c":false}],"e":[{"i":[[0,0],[-69.656,15.715],[7.634,11.583],[26,-3.667],[0,0]],"o":[[0,0],[54.666,-12.334],[-9.667,-14.667],[-25.958,3.661],[0,0]],"v":[[-48.944,-21.315],[22.501,55.81],[56.834,-58.858],[-5.833,-64.858],[-62.69,-55.289]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":20,"s":[{"i":[[0,0],[-69.656,15.715],[7.634,11.583],[26,-3.667],[0,0]],"o":[[0,0],[54.666,-12.334],[-9.667,-14.667],[-25.958,3.661],[0,0]],"v":[[-48.944,-21.315],[22.501,55.81],[56.834,-58.858],[-5.833,-64.858],[-62.69,-55.289]],"c":false}],"e":[{"i":[[0,0],[-78.198,17.874],[7.634,11.583],[26,-3.667],[0,0]],"o":[[0,0],[54.631,-12.487],[-9.667,-14.667],[-25.958,3.661],[0,0]],"v":[[-84.836,-16.046],[-6.919,60.121],[27.414,-54.546],[-38.744,-60.302],[-96.586,-50.296]],"c":false}]},{"t":40}],"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":2,"lj":2,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[444.166,398.858],"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":"Преобразовать"}],"nm":"Группа 5","np":2,"cix":2,"ix":5,"mn":"ADBE Vector Group","hd":false},{"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},"n":"0p667_1_0p333_0","t":0,"s":[{"i":[[0,0],[0,0],[-47.667,7.666],[0,0],[0,0],[60.667,-11],[0,0],[0,0]],"o":[[0,0],[0,0],[47.667,-7.667],[0,0],[0,0],[-60.666,11],[0,0],[0,0]],"v":[[-159.381,42.754],[-82.245,6.333],[43.747,-23.188],[151.414,-38.522],[140.08,-40.522],[41.08,-27.522],[-85.934,3.188],[-155.787,36.774]],"c":true}],"e":[{"i":[[0,0],[0,0],[-47.667,7.666],[0,0],[0,0],[60.667,-11],[0,0],[0,0]],"o":[[0,0],[0,0],[47.667,-7.667],[0,0],[0,0],[-60.666,11],[0,0],[0,0]],"v":[[-175.833,43.833],[-44.833,-0.167],[77.643,-28.181],[180.833,-42.833],[169.5,-44.833],[74.976,-32.515],[-48.833,-4.167],[-172.501,39.501]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":20,"s":[{"i":[[0,0],[0,0],[-47.667,7.666],[0,0],[0,0],[60.667,-11],[0,0],[0,0]],"o":[[0,0],[0,0],[47.667,-7.667],[0,0],[0,0],[-60.666,11],[0,0],[0,0]],"v":[[-175.833,43.833],[-44.833,-0.167],[77.643,-28.181],[180.833,-42.833],[169.5,-44.833],[74.976,-32.515],[-48.833,-4.167],[-172.501,39.501]],"c":true}],"e":[{"i":[[0,0],[0,0],[-47.667,7.666],[0,0],[0,0],[60.667,-11],[0,0],[0,0]],"o":[[0,0],[0,0],[47.667,-7.667],[0,0],[0,0],[-60.666,11],[0,0],[0,0]],"v":[[-159.381,42.754],[-82.245,6.333],[43.747,-23.188],[151.414,-38.522],[140.08,-40.522],[41.08,-27.522],[-85.934,3.188],[-155.787,36.774]],"c":true}]},{"t":40}],"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.039000002543,0.732999973671,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Заливка 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[307.833,374.833],"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":"Преобразовать"}],"nm":"Группа 6","np":2,"cix":2,"ix":6,"mn":"ADBE Vector Group","hd":false},{"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},"n":"0p667_1_0p333_0","t":0,"s":[{"i":[[0,0],[0,0],[0,0],[2,-5],[-2.084,-0.811],[-1.333,2.333],[0,0],[-3,1.666]],"o":[[0,0],[0,0],[0,0],[-2,5],[6,2.333],[1.333,-2.333],[0,0],[3,-1.667]],"v":[[39.712,-40.466],[37.379,-61.133],[-33.958,-29.666],[-45.625,-16.666],[-52.958,59.667],[-31.958,49.667],[-31.291,-14.666],[-24.625,-20.666]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[2,-5],[-2.084,-0.811],[-1.333,2.333],[0,0],[-3,1.666]],"o":[[0,0],[0,0],[0,0],[-2,5],[6,2.333],[1.333,-2.333],[0,0],[3,-1.667]],"v":[[77.042,-46.333],[74.709,-67],[-50.958,-25.666],[-62.625,-12.666],[-69.958,63.667],[-48.958,53.667],[-48.291,-10.666],[-41.625,-16.666]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":20,"s":[{"i":[[0,0],[0,0],[0,0],[2,-5],[-2.084,-0.811],[-1.333,2.333],[0,0],[-3,1.666]],"o":[[0,0],[0,0],[0,0],[-2,5],[6,2.333],[1.333,-2.333],[0,0],[3,-1.667]],"v":[[77.042,-46.333],[74.709,-67],[-50.958,-25.666],[-62.625,-12.666],[-69.958,63.667],[-48.958,53.667],[-48.291,-10.666],[-41.625,-16.666]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[2,-5],[-2.084,-0.811],[-1.333,2.333],[0,0],[-3,1.666]],"o":[[0,0],[0,0],[0,0],[-2,5],[6,2.333],[1.333,-2.333],[0,0],[3,-1.667]],"v":[[39.712,-40.466],[37.379,-61.133],[-33.958,-29.666],[-45.625,-16.666],[-52.958,59.667],[-31.958,49.667],[-31.291,-14.666],[-24.625,-20.666]],"c":true}]},{"t":40}],"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.109999997008,0.313999998803,0.596000043084,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Заливка 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[190.292,438.667],"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":"Преобразовать"}],"nm":"Группа 7","np":2,"cix":2,"ix":7,"mn":"ADBE Vector Group","hd":false},{"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},"n":"0p667_1_0p333_0","t":0,"s":[{"i":[[-17.553,4.111],[-4.534,0],[-3,-8.333],[48.215,-10.557],[1,8.333],[-6.167,2.5]],"o":[[18.5,-4.333],[4.666,0],[3,8.333],[-51,11.167],[-1,-8.334],[6.969,-2.826]],"v":[[-49.105,-45.549],[-1.36,-53.772],[11.473,-44.105],[-14.527,49.228],[-89.438,-19.882],[-80.438,-36.382]],"c":true}],"e":[{"i":[[-17.553,4.111],[-4.534,0],[-3,-8.333],[48.215,-10.557],[1,8.333],[-6.167,2.5]],"o":[[18.5,-4.333],[4.666,0],[3,8.333],[-51,11.167],[-1,-8.334],[6.969,-2.826]],"v":[[-11.774,-51.417],[32.536,-58.765],[45.369,-49.098],[14.893,44.917],[-52.107,-25.749],[-43.107,-42.249]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":20,"s":[{"i":[[-17.553,4.111],[-4.534,0],[-3,-8.333],[48.215,-10.557],[1,8.333],[-6.167,2.5]],"o":[[18.5,-4.333],[4.666,0],[3,8.333],[-51,11.167],[-1,-8.334],[6.969,-2.826]],"v":[[-11.774,-51.417],[32.536,-58.765],[45.369,-49.098],[14.893,44.917],[-52.107,-25.749],[-43.107,-42.249]],"c":true}],"e":[{"i":[[-17.553,4.111],[-4.534,0],[-3,-8.333],[48.215,-10.557],[1,8.333],[-6.167,2.5]],"o":[[18.5,-4.333],[4.666,0],[3,8.333],[-51,11.167],[-1,-8.334],[6.969,-2.826]],"v":[[-49.104,-45.549],[-1.36,-53.772],[11.473,-44.105],[-14.527,49.228],[-89.438,-19.882],[-80.438,-36.382]],"c":true}]},{"t":40}],"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.411999990426,0.063000002094,0.325,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":10,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[333.107,419.75],"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":"Преобразовать"}],"nm":"Группа 8","np":2,"cix":2,"ix":8,"mn":"ADBE Vector Group","hd":false},{"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},"n":"0p667_1_0p333_0","t":0,"s":[{"i":[[0,0],[-6.5,-8.5],[-7.25,2.25],[-1.75,-1],[2.5,-10.25],[0,0],[-8,0.75],[0,0],[1.25,14.75],[10.5,-1],[0.5,2],[-2.093,12.324],[0,0]],"o":[[0,0],[5.075,6.637],[7.25,-2.25],[1.75,1],[-2.5,10.25],[0,0],[8,-0.75],[0,0],[-0.587,-6.926],[-4.41,0.42],[-0.5,-2],[2.25,-13.25],[0,0]],"v":[[-51.58,-38.633],[-56.08,10.617],[-39.58,15.617],[-29.83,12.617],[-31.08,38.367],[-35.827,50.306],[-14.419,53.061],[-2.169,50.811],[4.581,3.561],[-9.919,-8.689],[-24.919,-6.939],[-22.669,-31.939],[-20.419,-47.189]],"c":true}],"e":[{"i":[[0,0],[-6.5,-8.5],[-7.25,2.25],[-1.75,-1],[2.5,-10.25],[0,0],[-8,0.75],[0,0],[1.25,14.75],[10.5,-1],[0.5,2],[-2.093,12.324],[0,0]],"o":[[0,0],[5.075,6.637],[7.25,-2.25],[1.75,1],[-2.5,10.25],[0,0],[8,-0.75],[0,0],[-0.587,-6.926],[-4.41,0.42],[-0.5,-2],[2.25,-13.25],[0,0]],"v":[[-14.25,-44.5],[-18.75,4.75],[-2.25,9.75],[7.5,6.75],[6.25,32.5],[0.75,48],[15,48.75],[27.25,46.5],[34,-0.75],[19.5,-13],[4.5,-11.25],[6.75,-36.25],[9,-51.5]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":20,"s":[{"i":[[0,0],[-6.5,-8.5],[-7.25,2.25],[-1.75,-1],[2.5,-10.25],[0,0],[-8,0.75],[0,0],[1.25,14.75],[10.5,-1],[0.5,2],[-2.093,12.324],[0,0]],"o":[[0,0],[5.075,6.637],[7.25,-2.25],[1.75,1],[-2.5,10.25],[0,0],[8,-0.75],[0,0],[-0.587,-6.926],[-4.41,0.42],[-0.5,-2],[2.25,-13.25],[0,0]],"v":[[-14.25,-44.5],[-18.75,4.75],[-2.25,9.75],[7.5,6.75],[6.25,32.5],[0.75,48],[15,48.75],[27.25,46.5],[34,-0.75],[19.5,-13],[4.5,-11.25],[6.75,-36.25],[9,-51.5]],"c":true}],"e":[{"i":[[0,0],[-6.5,-8.5],[-7.25,2.25],[-1.75,-1],[2.5,-10.25],[0,0],[-8,0.75],[0,0],[1.25,14.75],[10.5,-1],[0.5,2],[-2.093,12.324],[0,0]],"o":[[0,0],[5.075,6.637],[7.25,-2.25],[1.75,1],[-2.5,10.25],[0,0],[8,-0.75],[0,0],[-0.587,-6.926],[-4.41,0.42],[-0.5,-2],[2.25,-13.25],[0,0]],"v":[[-51.58,-38.633],[-56.08,10.617],[-39.58,15.617],[-29.83,12.617],[-31.08,38.367],[-35.827,50.306],[-14.419,53.061],[-2.169,50.811],[4.581,3.561],[-9.919,-8.689],[-24.919,-6.939],[-22.669,-31.939],[-20.419,-47.189]],"c":true}]},{"t":40}],"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.948999980852,0.477999997606,0.830999995213,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Заливка 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[325.5,416.75],"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":"Преобразовать"}],"nm":"Группа 9","np":2,"cix":2,"ix":9,"mn":"ADBE Vector Group","hd":false},{"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},"n":"0p667_1_0p333_0","t":0,"s":[{"i":[[-17.553,4.111],[-4.534,0],[-3,-8.333],[48.215,-10.557],[1,8.333],[-6.167,2.5]],"o":[[18.5,-4.333],[4.666,0],[3,8.333],[-51,11.167],[-1,-8.334],[6.969,-2.826]],"v":[[-49.105,-45.549],[-1.36,-53.772],[11.473,-44.105],[-14.527,49.228],[-89.438,-19.882],[-80.438,-36.382]],"c":true}],"e":[{"i":[[-17.553,4.111],[-4.534,0],[-3,-8.333],[48.215,-10.557],[1,8.333],[-6.167,2.5]],"o":[[18.5,-4.333],[4.666,0],[3,8.333],[-51,11.167],[-1,-8.334],[6.969,-2.826]],"v":[[-11.774,-51.417],[32.536,-58.765],[45.369,-49.098],[14.893,44.917],[-52.107,-25.749],[-43.107,-42.249]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":20,"s":[{"i":[[-17.553,4.111],[-4.534,0],[-3,-8.333],[48.215,-10.557],[1,8.333],[-6.167,2.5]],"o":[[18.5,-4.333],[4.666,0],[3,8.333],[-51,11.167],[-1,-8.334],[6.969,-2.826]],"v":[[-11.774,-51.417],[32.536,-58.765],[45.369,-49.098],[14.893,44.917],[-52.107,-25.749],[-43.107,-42.249]],"c":true}],"e":[{"i":[[-17.553,4.111],[-4.534,0],[-3,-8.333],[48.215,-10.557],[1,8.333],[-6.167,2.5]],"o":[[18.5,-4.333],[4.666,0],[3,8.333],[-51,11.167],[-1,-8.334],[6.969,-2.826]],"v":[[-49.104,-45.549],[-1.36,-53.772],[11.473,-44.105],[-14.527,49.228],[-89.438,-19.882],[-80.438,-36.382]],"c":true}]},{"t":40}],"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.885999971278,0.337000020345,0.74900004069,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Заливка 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[333.107,419.75],"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":"Преобразовать"}],"nm":"Группа 10","np":2,"cix":2,"ix":10,"mn":"ADBE Vector Group","hd":false},{"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},"n":"0p667_1_0p333_0","t":0,"s":[{"i":[[0,0],[59.667,-10],[0,0],[17.986,-6.775],[0.333,-10.334],[3,-6],[2.333,7.333],[-2.726,8.808],[-4.655,2.007],[0,0],[-25.667,5.333],[0,0]],"o":[[0,0],[-70.424,11.803],[0.12,-1.267],[-12.802,4.822],[-0.333,10.333],[-3,6],[-2.333,-7.333],[2.167,-7],[30.525,-13.156],[0,0],[25.666,-5.333],[0,0]],"v":[[98.247,-45.522],[59.58,56.811],[-31.331,-27.299],[-83.333,-11.166],[-101.333,4.834],[-101.666,62.167],[-124.333,70.167],[-115.333,-5],[-102.501,-17.781],[-31.331,-50.966],[46.914,-70.522],[90.914,-78.189]],"c":false}],"e":[{"i":[[0,0],[59.667,-10],[0,0],[17.986,-6.775],[0.333,-10.334],[3,-6],[2.333,7.333],[-2.726,8.808],[-4.655,2.007],[0,0],[-25.667,5.333],[0,0]],"o":[[0,0],[-70.424,11.803],[0.12,-1.267],[-12.802,4.822],[-0.333,10.333],[-3,6],[-2.333,-7.333],[2.167,-7],[30.525,-13.156],[0,0],[25.666,-5.333],[0,0]],"v":[[134.139,-50.791],[88.999,52.5],[5.999,-33.166],[-100.333,-7.166],[-118.333,8.834],[-118.666,66.167],[-141.333,74.167],[-132.333,-1],[-119.501,-13.781],[5.999,-56.833],[76.334,-74.833],[124.81,-83.182]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":20,"s":[{"i":[[0,0],[59.667,-10],[0,0],[17.986,-6.775],[0.333,-10.334],[3,-6],[2.333,7.333],[-2.726,8.808],[-4.655,2.007],[0,0],[-25.667,5.333],[0,0]],"o":[[0,0],[-70.424,11.803],[0.12,-1.267],[-12.802,4.822],[-0.333,10.333],[-3,6],[-2.333,-7.333],[2.167,-7],[30.525,-13.156],[0,0],[25.666,-5.333],[0,0]],"v":[[134.139,-50.791],[88.999,52.5],[5.999,-33.166],[-100.333,-7.166],[-118.333,8.834],[-118.666,66.167],[-141.333,74.167],[-132.333,-1],[-119.501,-13.781],[5.999,-56.833],[76.334,-74.833],[124.81,-83.182]],"c":false}],"e":[{"i":[[0,0],[59.667,-10],[0,0],[17.986,-6.775],[0.333,-10.334],[3,-6],[2.333,7.333],[-2.726,8.808],[-4.655,2.007],[0,0],[-25.667,5.333],[0,0]],"o":[[0,0],[-70.424,11.803],[0.12,-1.267],[-12.802,4.822],[-0.333,10.333],[-3,6],[-2.333,-7.333],[2.167,-7],[30.525,-13.156],[0,0],[25.666,-5.333],[0,0]],"v":[[98.247,-45.522],[59.58,56.811],[-31.331,-27.299],[-83.333,-11.166],[-101.333,4.834],[-101.666,62.167],[-124.333,70.167],[-115.333,-5],[-102.501,-17.781],[-31.331,-50.966],[46.914,-70.522],[90.914,-78.189]],"c":false}]},{"t":40}],"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.176000004189,0.430999995213,0.694000004787,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Заливка 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[260.333,426.5],"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":"Преобразовать"}],"nm":"Группа 11","np":2,"cix":2,"ix":11,"mn":"ADBE Vector Group","hd":false},{"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},"n":"0p667_1_0p333_0","t":0,"s":[{"i":[[-17.776,3.003],[-4.526,-0.284],[-2.472,-8.504],[48.781,-7.515],[0.475,8.379],[-6.31,2.109]],"o":[[18.735,-3.166],[4.657,0.292],[2.472,8.505],[-51.599,7.949],[-0.477,-8.38],[7.133,-2.383]],"v":[[-41.42,-47.106],[2.244,-51.507],[14.446,-41.056],[-17.352,50.465],[-83.282,-24.017],[-73.267,-39.921]],"c":true}],"e":[{"i":[[-17.776,3.003],[-4.526,-0.284],[-2.472,-8.504],[48.781,-7.515],[0.475,8.379],[-6.31,2.109]],"o":[[18.735,-3.166],[4.657,0.292],[2.472,8.505],[-51.599,7.949],[-0.477,-8.38],[7.133,-2.383]],"v":[[-8.509,-51.662],[31.663,-55.819],[43.866,-45.368],[12.068,46.153],[-45.895,-29.254],[-35.88,-45.158]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":20,"s":[{"i":[[-17.776,3.003],[-4.526,-0.284],[-2.472,-8.504],[48.781,-7.515],[0.475,8.379],[-6.31,2.109]],"o":[[18.735,-3.166],[4.657,0.292],[2.472,8.505],[-51.599,7.949],[-0.477,-8.38],[7.133,-2.383]],"v":[[-8.509,-51.662],[31.663,-55.819],[43.866,-45.368],[12.068,46.153],[-45.895,-29.254],[-35.88,-45.158]],"c":true}],"e":[{"i":[[-17.776,3.003],[-4.526,-0.284],[-2.472,-8.504],[48.781,-7.515],[0.475,8.379],[-6.31,2.109]],"o":[[18.735,-3.166],[4.657,0.292],[2.472,8.505],[-51.599,7.949],[-0.477,-8.38],[7.133,-2.383]],"v":[[-41.42,-47.106],[2.244,-51.507],[14.446,-41.056],[-17.352,50.465],[-83.282,-24.017],[-73.267,-39.921]],"c":true}]},{"t":40}],"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.411999990426,0.063000002094,0.325,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":10,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[448.707,398.839],"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":"Преобразовать"}],"nm":"Группа 12","np":2,"cix":2,"ix":12,"mn":"ADBE Vector Group","hd":false},{"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},"n":"0p667_1_0p333_0","t":0,"s":[{"i":[[0,0],[-5.954,-8.891],[-7.377,1.792],[-1.684,-1.108],[3.137,-10.073],[0,0],[-8.032,0.247],[0,0],[0.323,14.799],[10.542,-0.34],[0.374,2.028],[-2.861,12.169],[0,0]],"o":[[0,0],[4.649,6.942],[7.377,-1.791],[1.684,1.108],[-3.138,10.074],[0,0],[8.031,-0.248],[0,0],[-0.152,-6.95],[-4.428,0.143],[-0.374,-2.027],[3.076,-13.083],[0,0]],"v":[[-47.969,-40.476],[-53.586,7.757],[-40.39,14.489],[-28.476,11.967],[-31.406,36.59],[-34.839,52.005],[-17.172,53.403],[-4.805,51.924],[4.892,5.191],[-8.812,-7.945],[-23.892,-7.139],[-20.08,-31.949],[-16.878,-47.027]],"c":true}],"e":[{"i":[[0,0],[-5.954,-8.891],[-7.377,1.792],[-1.684,-1.108],[3.137,-10.073],[0,0],[-8.032,0.247],[0,0],[0.323,14.799],[10.542,-0.34],[0.374,2.028],[-2.861,12.169],[0,0]],"o":[[0,0],[4.649,6.942],[7.377,-1.791],[1.684,1.108],[-3.138,10.074],[0,0],[8.031,-0.248],[0,0],[-0.152,-6.95],[-4.428,0.143],[-0.374,-2.027],[3.076,-13.083],[0,0]],"v":[[-11.103,-45.809],[-14.204,2.38],[1.95,8.404],[7.393,6.703],[4.532,32.324],[2.548,46.767],[12.247,49.091],[24.614,47.612],[34.311,0.879],[20.607,-12.256],[5.527,-11.45],[9.339,-36.26],[12.541,-51.338]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":20,"s":[{"i":[[0,0],[-5.954,-8.891],[-7.377,1.792],[-1.684,-1.108],[3.137,-10.073],[0,0],[-8.032,0.247],[0,0],[0.323,14.799],[10.542,-0.34],[0.374,2.028],[-2.861,12.169],[0,0]],"o":[[0,0],[4.649,6.942],[7.377,-1.791],[1.684,1.108],[-3.138,10.074],[0,0],[8.031,-0.248],[0,0],[-0.152,-6.95],[-4.428,0.143],[-0.374,-2.027],[3.076,-13.083],[0,0]],"v":[[-11.103,-45.809],[-14.204,2.38],[1.95,8.404],[7.393,6.703],[4.532,32.324],[2.548,46.767],[12.247,49.091],[24.614,47.612],[34.311,0.879],[20.607,-12.256],[5.527,-11.45],[9.339,-36.26],[12.541,-51.338]],"c":true}],"e":[{"i":[[0,0],[-5.954,-8.891],[-7.377,1.792],[-1.684,-1.108],[3.137,-10.073],[0,0],[-8.032,0.247],[0,0],[0.323,14.799],[10.542,-0.34],[0.374,2.028],[-2.861,12.169],[0,0]],"o":[[0,0],[4.649,6.942],[7.377,-1.791],[1.684,1.108],[-3.138,10.074],[0,0],[8.031,-0.248],[0,0],[-0.152,-6.95],[-4.428,0.143],[-0.374,-2.027],[3.076,-13.083],[0,0]],"v":[[-47.969,-40.476],[-53.586,7.757],[-40.39,14.489],[-28.476,11.967],[-31.406,36.59],[-34.839,52.005],[-17.172,53.402],[-4.805,51.923],[4.892,5.19],[-8.812,-7.944],[-23.892,-7.138],[-20.08,-31.948],[-16.878,-47.026]],"c":true}]},{"t":40}],"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.948999980852,0.477999997606,0.830999995213,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Заливка 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[440.991,396.264],"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":"Преобразовать"}],"nm":"Группа 13","np":2,"cix":2,"ix":13,"mn":"ADBE Vector Group","hd":false},{"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},"n":"0p667_1_0p333_0","t":0,"s":[{"i":[[-17.776,3.003],[-4.526,-0.284],[-2.472,-8.504],[48.781,-7.515],[0.475,8.379],[-6.31,2.109]],"o":[[18.735,-3.166],[4.657,0.292],[2.472,8.505],[-51.599,7.949],[-0.477,-8.38],[7.133,-2.383]],"v":[[-41.42,-47.106],[2.244,-51.507],[14.446,-41.056],[-17.352,50.465],[-83.282,-24.017],[-73.267,-39.921]],"c":true}],"e":[{"i":[[-17.776,3.003],[-4.526,-0.284],[-2.472,-8.504],[48.781,-7.515],[0.475,8.379],[-6.31,2.109]],"o":[[18.735,-3.166],[4.657,0.292],[2.472,8.505],[-51.599,7.949],[-0.477,-8.38],[7.133,-2.383]],"v":[[-8.509,-51.662],[31.663,-55.819],[43.866,-45.368],[12.068,46.153],[-45.895,-29.254],[-35.88,-45.158]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":20,"s":[{"i":[[-17.776,3.003],[-4.526,-0.284],[-2.472,-8.504],[48.781,-7.515],[0.475,8.379],[-6.31,2.109]],"o":[[18.735,-3.166],[4.657,0.292],[2.472,8.505],[-51.599,7.949],[-0.477,-8.38],[7.133,-2.383]],"v":[[-8.509,-51.662],[31.663,-55.819],[43.866,-45.368],[12.068,46.153],[-45.895,-29.254],[-35.88,-45.158]],"c":true}],"e":[{"i":[[-17.776,3.003],[-4.526,-0.284],[-2.472,-8.504],[48.781,-7.515],[0.475,8.379],[-6.31,2.109]],"o":[[18.735,-3.166],[4.657,0.292],[2.472,8.505],[-51.599,7.949],[-0.477,-8.38],[7.133,-2.383]],"v":[[-41.42,-47.106],[2.244,-51.507],[14.446,-41.056],[-17.352,50.465],[-83.282,-24.017],[-73.267,-39.921]],"c":true}]},{"t":40}],"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.885999971278,0.337000020345,0.74900004069,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Заливка 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[448.707,398.839],"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":"Преобразовать"}],"nm":"Группа 14","np":2,"cix":2,"ix":14,"mn":"ADBE Vector Group","hd":false},{"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},"n":"0p667_1_0p333_0","t":0,"s":[{"i":[[0,0],[-76.291,14.727],[13,1.667],[28.667,-1.333],[0,0]],"o":[[0,0],[71.119,-13.729],[-5.96,-0.764],[-28.667,1.333],[0,0]],"v":[[-98.253,-47.606],[-19.919,59.394],[14.747,-63.273],[-25.586,-65.606],[-99.919,-54.273]],"c":true}],"e":[{"i":[[0,0],[-63.044,12.094],[13,1.667],[28.667,-1.333],[0,0]],"o":[[0,0],[71.135,-13.646],[-5.96,-0.764],[-28.667,1.333],[0,0]],"v":[[-64.358,-52.599],[9.5,55.083],[44.166,-67.584],[3.833,-69.917],[-66.024,-59.266]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":20,"s":[{"i":[[0,0],[-63.044,12.094],[13,1.667],[28.667,-1.333],[0,0]],"o":[[0,0],[71.135,-13.646],[-5.96,-0.764],[-28.667,1.333],[0,0]],"v":[[-64.358,-52.599],[9.5,55.083],[44.166,-67.584],[3.833,-69.917],[-66.024,-59.266]],"c":true}],"e":[{"i":[[0,0],[-76.291,14.727],[13,1.667],[28.667,-1.333],[0,0]],"o":[[0,0],[71.119,-13.729],[-5.96,-0.764],[-28.667,1.333],[0,0]],"v":[[-98.253,-47.606],[-19.919,59.394],[14.747,-63.273],[-25.586,-65.606],[-99.919,-54.273]],"c":true}]},{"t":40}],"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.176000004189,0.430999995213,0.694000004787,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Заливка 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[450.167,401.584],"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":"Преобразовать"}],"nm":"Группа 15","np":2,"cix":2,"ix":15,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":40,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Кривые volosy","parent":4,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[297.64,420.945,0],"ix":2},"a":{"a":0,"k":[297.64,420.945,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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},"n":"0p667_1_0p333_0","t":0,"s":[{"i":[[0,0],[-4.493,1.259],[-1.676,-26.43],[0,0],[-16,-0.667],[0,0],[1.333,32.667],[0,0],[-14,4],[0,0],[-11.334,4],[0,0],[-21.269,2.127],[0,0]],"o":[[-0.5,-15.667],[11.036,-3.092],[1.084,17.083],[0,0],[16,0.666],[0,0],[-1.333,-32.667],[0,0],[14,-4],[0,0],[11.333,-4],[0,0],[33.333,-3.334],[0,0]],"v":[[-108.667,29],[-106.417,9.25],[-90.834,50.75],[-90.834,85.417],[-63.5,89.417],[-27.5,88.75],[-76.167,8.75],[-59.834,-36.667],[-33.834,-36],[-8.5,-55.333],[13.501,-56],[29.5,-71.333],[60.833,-63.333],[109.166,-91.333]],"c":false}],"e":[{"i":[[0,0],[-4.493,1.259],[-3.812,-26.207],[0,0],[-16,-0.667],[0,0],[1.333,32.667],[0,0],[-14,4],[0,0],[-11.334,4],[0,0],[-21.269,2.127],[0,0]],"o":[[-0.5,-15.667],[11.036,-3.092],[2.667,18.333],[0,0],[16,0.666],[0,0],[-1.333,-32.667],[0,0],[14,-4],[0,0],[11.333,-4],[0,0],[33.333,-3.334],[0,0]],"v":[[-108.667,29],[-99.667,8.5],[-67.834,52],[-67.834,86.667],[-40.5,90.667],[8.187,87.118],[-48.69,9.318],[-39.834,-36.667],[-13.834,-36],[11.5,-55.333],[33.5,-56],[49.5,-71.333],[80.833,-63.333],[118.166,-91.333]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":20,"s":[{"i":[[0,0],[-4.493,1.259],[-3.812,-26.207],[0,0],[-16,-0.667],[0,0],[1.333,32.667],[0,0],[-14,4],[0,0],[-11.334,4],[0,0],[-21.269,2.127],[0,0]],"o":[[-0.5,-15.667],[11.036,-3.092],[2.667,18.333],[0,0],[16,0.666],[0,0],[-1.333,-32.667],[0,0],[14,-4],[0,0],[11.333,-4],[0,0],[33.333,-3.334],[0,0]],"v":[[-108.667,29],[-99.667,8.5],[-67.834,52],[-67.834,86.667],[-40.5,90.667],[8.187,87.118],[-48.69,9.318],[-39.834,-36.667],[-13.834,-36],[11.5,-55.333],[33.5,-56],[49.5,-71.333],[80.833,-63.333],[118.166,-91.333]],"c":false}],"e":[{"i":[[0,0],[-4.493,1.259],[-1.676,-26.43],[0,0],[-16,-0.667],[0,0],[1.333,32.667],[0,0],[-14,4],[0,0],[-11.334,4],[0,0],[-21.269,2.127],[0,0]],"o":[[-0.5,-15.667],[11.036,-3.092],[1.084,17.083],[0,0],[16,0.666],[0,0],[-1.333,-32.667],[0,0],[14,-4],[0,0],[11.333,-4],[0,0],[33.333,-3.334],[0,0]],"v":[[-108.667,29],[-106.417,9.25],[-90.834,50.75],[-90.834,85.417],[-63.5,89.417],[-27.5,88.75],[-76.167,8.75],[-59.834,-36.667],[-33.834,-36],[-8.5,-55.333],[13.5,-56],[29.5,-71.333],[60.833,-63.333],[109.166,-91.333]],"c":false}]},{"t":40}],"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":2,"lj":2,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[278.5,378.667],"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":"Преобразовать"}],"nm":"Группа 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"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},"n":"0p667_1_0p333_0","t":0,"s":[{"i":[[0,0],[-4.493,1.259],[-3.812,-26.207],[0,0],[-16,-0.667],[0,0],[1.333,32.667],[0,0],[-14,4],[0,0],[-11.334,4],[0,0],[-21.269,2.127],[0,0],[53.5,4.5],[48,-26.5],[-2,-29]],"o":[[-0.5,-15.667],[11.036,-3.092],[2.667,18.333],[0,0],[16,0.666],[0,0],[-1.333,-32.667],[0,0],[14,-4],[0,0],[11.333,-4],[0,0],[33.333,-3.334],[0,0],[-47.501,-3.995],[-48,26.5],[2,29]],"v":[[-96.417,54.914],[-94.167,35.164],[-78.584,76.664],[-78.584,111.332],[-51.25,115.332],[-15.25,114.664],[-63.917,34.664],[-47.584,-10.753],[-21.584,-10.086],[3.75,-29.418],[25.75,-30.086],[41.75,-45.418],[73.083,-37.418],[121.416,-65.418],[76.25,-113.253],[-65.25,-87.253],[-127.75,15.747]],"c":true}],"e":[{"i":[[0,0],[-4.493,1.259],[-3.812,-26.207],[0,0],[-16,-0.667],[0,0],[1.333,32.667],[0,0],[-14,4],[0,0],[-11.334,4],[0,0],[-21.269,2.127],[0,0],[53.5,4.5],[48,-26.5],[-2,-29]],"o":[[-0.5,-15.667],[11.036,-3.092],[2.667,18.333],[0,0],[16,0.666],[0,0],[-1.333,-32.667],[0,0],[14,-4],[0,0],[11.333,-4],[0,0],[33.333,-3.334],[0,0],[-47.501,-3.995],[-48,26.5],[2,29]],"v":[[-96.417,54.914],[-87.417,34.414],[-55.584,77.914],[-55.584,112.582],[-28.25,116.582],[20.436,113.033],[-36.441,35.233],[-27.584,-10.753],[-1.584,-10.086],[23.75,-29.418],[45.75,-30.086],[61.75,-45.418],[93.083,-37.418],[130.416,-65.418],[76.25,-113.253],[-65.25,-87.253],[-127.75,15.747]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":20,"s":[{"i":[[0,0],[-4.493,1.259],[-3.812,-26.207],[0,0],[-16,-0.667],[0,0],[1.333,32.667],[0,0],[-14,4],[0,0],[-11.334,4],[0,0],[-21.269,2.127],[0,0],[53.5,4.5],[48,-26.5],[-2,-29]],"o":[[-0.5,-15.667],[11.036,-3.092],[2.667,18.333],[0,0],[16,0.666],[0,0],[-1.333,-32.667],[0,0],[14,-4],[0,0],[11.333,-4],[0,0],[33.333,-3.334],[0,0],[-47.501,-3.995],[-48,26.5],[2,29]],"v":[[-96.417,54.914],[-87.417,34.414],[-55.584,77.914],[-55.584,112.582],[-28.25,116.582],[20.436,113.033],[-36.441,35.233],[-27.584,-10.753],[-1.584,-10.086],[23.75,-29.418],[45.75,-30.086],[61.75,-45.418],[93.083,-37.418],[130.416,-65.418],[76.25,-113.253],[-65.25,-87.253],[-127.75,15.747]],"c":true}],"e":[{"i":[[0,0],[-4.493,1.259],[-3.812,-26.207],[0,0],[-16,-0.667],[0,0],[1.333,32.667],[0,0],[-14,4],[0,0],[-11.334,4],[0,0],[-21.269,2.127],[0,0],[53.5,4.5],[48,-26.5],[-2,-29]],"o":[[-0.5,-15.667],[11.036,-3.092],[2.667,18.333],[0,0],[16,0.666],[0,0],[-1.333,-32.667],[0,0],[14,-4],[0,0],[11.333,-4],[0,0],[33.333,-3.334],[0,0],[-47.501,-3.995],[-48,26.5],[2,29]],"v":[[-96.417,54.914],[-94.167,35.164],[-78.584,76.664],[-78.584,111.332],[-51.25,115.332],[-15.25,114.664],[-63.917,34.664],[-47.584,-10.753],[-21.584,-10.086],[3.75,-29.418],[25.75,-30.086],[41.75,-45.418],[73.083,-37.418],[121.416,-65.418],[76.25,-113.253],[-65.25,-87.253],[-127.75,15.747]],"c":true}]},{"t":40}],"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.180000005984,0.035000000748,0.144999994016,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Заливка 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[266.25,352.752],"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":"Преобразовать"}],"nm":"Группа 2","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":40,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Кривые R_ruka","parent":4,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[196.296,490.712,0],"ix":2},"a":{"a":0,"k":[196.293,491.186,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[13.227,-15.815],[-7,-6],[-13.802,5.751],[0,0]],"o":[[0,0],[-11.499,13.749],[7,6],[13.663,-5.693],[0,0]],"v":[[17.67,-35.5],[-6.308,-13.159],[-19.412,28.154],[10.657,13.007],[31.33,7.739]],"c":false},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.830999995213,0.26699999641,0.019999999626,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":2,"lj":2,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[168.83,506.5],"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":"Преобразовать"}],"nm":"Группа 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[17.969,15.418],[13.227,-15.815],[-7,-6],[-13.802,5.751],[0,0]],"o":[[0,0],[-11.499,13.749],[7,6],[13.663,-5.693],[0,0]],"v":[[15.516,-35.5],[-8.462,-13.159],[-21.566,28.154],[8.503,13.007],[29.175,7.739]],"c":true},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.875,0.039000002543,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Заливка 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[171.56,505.925],"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":"Преобразовать"}],"nm":"Группа 2","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":40,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Кривые telo","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":0,"s":[2],"e":[15]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":20,"s":[15],"e":[2]},{"t":40}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":0,"s":[449.64,462.945,0],"e":[449.64,439.945,0],"to":[0,-3.83333325386047,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":10,"s":[449.64,439.945,0],"e":[449.64,462.945,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":20,"s":[449.64,462.945,0],"e":[449.64,439.945,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":30,"s":[449.64,439.945,0],"e":[449.64,462.945,0],"to":[0,0,0],"ti":[0,-3.83333325386047,0]},{"t":40}],"ix":2},"a":{"a":0,"k":[297.64,420.945,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":0,"s":[100,100,100],"e":[100,97,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":5,"s":[100,97,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":10,"s":[100,100,100],"e":[100,103,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":15,"s":[100,103,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":20,"s":[100,100,100],"e":[100,97,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":25,"s":[100,97,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":30,"s":[100,100,100],"e":[100,103,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":35,"s":[100,103,100],"e":[100,100,100]},{"t":40}],"ix":6}},"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},"n":"0p667_1_0p333_0","t":0,"s":[{"i":[[0,0],[-69.333,11.333],[0,0]],"o":[[0,0],[69.333,-11.334],[0,0]],"v":[[-94.243,-3.694],[-16.919,36.694],[-99.586,-41.973]],"c":false}],"e":[{"i":[[0,0],[-69.333,11.333],[0,0]],"o":[[0,0],[69.333,-11.334],[0,0]],"v":[[-59.666,-8],[13.667,32.667],[-69,-46]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":20,"s":[{"i":[[0,0],[-69.333,11.333],[0,0]],"o":[[0,0],[69.333,-11.334],[0,0]],"v":[[-59.666,-8],[13.667,32.667],[-69,-46]],"c":false}],"e":[{"i":[[0,0],[-69.333,11.333],[0,0]],"o":[[0,0],[69.333,-11.334],[0,0]],"v":[[-94.243,-3.694],[-16.919,36.694],[-99.586,-41.973]],"c":false}]},{"t":40}],"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.705999995213,0.011999999776,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Заливка 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[448.333,423.667],"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":"Преобразовать"}],"nm":"Группа 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"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},"n":"0p667_1_0p333_0","t":0,"s":[{"i":[[0,0],[0,0],[-71.333,14],[0,0],[0,0]],"o":[[0,0],[0,0],[78.024,-15.313],[0,0],[0,0]],"v":[[-105.345,-5.167],[-75.449,-13.199],[17.988,59.833],[23.988,-65.833],[-112.012,-25.833]],"c":false}],"e":[{"i":[[0,0],[0,0],[-71.333,14],[0,0],[0,0]],"o":[[0,0],[0,0],[78.024,-15.313],[0,0],[0,0]],"v":[[-105.345,-5.167],[-41.012,-19.499],[40.988,54.833],[46.988,-70.833],[-112.012,-25.833]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":20,"s":[{"i":[[0,0],[0,0],[-71.333,14],[0,0],[0,0]],"o":[[0,0],[0,0],[78.024,-15.313],[0,0],[0,0]],"v":[[-105.345,-5.167],[-41.012,-19.499],[40.988,54.833],[46.988,-70.833],[-112.012,-25.833]],"c":false}],"e":[{"i":[[0,0],[0,0],[-71.333,14],[0,0],[0,0]],"o":[[0,0],[0,0],[78.024,-15.313],[0,0],[0,0]],"v":[[-105.345,-5.167],[-75.449,-13.199],[17.988,59.833],[23.988,-65.833],[-112.012,-25.833]],"c":false}]},{"t":40}],"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.705999995213,0.011999999776,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Заливка 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[300.345,427.167],"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":"Преобразовать"}],"nm":"Группа 2","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.333,19.334],[-73.334,27.334],[-30,-32],[19.411,-53.972],[60.441,-6.199],[4.666,100.667]],"o":[[-3.588,-52.03],[104.531,-38.961],[30,32],[-27.333,76],[-78,8],[-2.105,-45.407]],"v":[[-166.578,-27.52],[-85.911,-160.186],[120.422,-90.186],[150.755,89.147],[8.755,191.147],[-163.911,59.147]],"c":true},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.830999995213,0.26699999641,0.019999999626,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":10,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[339.578,452.853],"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":"Преобразовать"}],"nm":"Группа 3","np":2,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"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},"n":"0p667_1_0p333_0","t":0,"s":[{"i":[[0,0],[-63.626,-57.679],[0,0],[64.667,41.999],[3.334,67.333],[0,0]],"o":[[0,0],[71.333,64.667],[0,0],[-60.325,-39.181],[-3.333,-67.333],[0,0]],"v":[[-88.333,-130.667],[-39.667,42],[120.333,94],[-47.001,88.667],[-117.001,-46.667],[-117.001,-125.999]],"c":false}],"e":[{"i":[[0,0],[-63.626,-57.679],[0,0],[64.667,41.999],[3.334,67.333],[0,0]],"o":[[0,0],[71.333,64.667],[0,0],[-60.325,-39.181],[-3.333,-67.333],[0,0]],"v":[[-76.333,-130.667],[-21.667,36],[120.333,94],[-47.001,88.667],[-117.001,-46.667],[-117.001,-125.999]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":20,"s":[{"i":[[0,0],[-63.626,-57.679],[0,0],[64.667,41.999],[3.334,67.333],[0,0]],"o":[[0,0],[71.333,64.667],[0,0],[-60.325,-39.181],[-3.333,-67.333],[0,0]],"v":[[-76.333,-130.667],[-21.667,36],[120.333,94],[-47.001,88.667],[-117.001,-46.667],[-117.001,-125.999]],"c":false}],"e":[{"i":[[0,0],[-63.626,-57.679],[0,0],[64.667,41.999],[3.334,67.333],[0,0]],"o":[[0,0],[71.333,64.667],[0,0],[-60.325,-39.181],[-3.333,-67.333],[0,0]],"v":[[-88.333,-130.667],[-39.667,42],[120.333,94],[-47.001,88.667],[-117.001,-46.667],[-117.001,-125.999]],"c":false}]},{"t":40}],"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.705999995213,0.011999999776,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Заливка 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[290.667,535.333],"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":"Преобразовать"}],"nm":"Группа 4","np":2,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.333,19.334],[-73.334,27.334],[-30,-32],[19.411,-53.972],[60.441,-6.199],[4.666,100.667]],"o":[[-3.588,-52.03],[104.531,-38.961],[30,32],[-27.333,76],[-78,8],[-2.105,-45.407]],"v":[[-166.578,-27.52],[-85.911,-160.186],[120.422,-90.186],[150.755,89.147],[8.755,191.147],[-163.911,59.147]],"c":true},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.830999995213,0.26699999641,0.019999999626,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":10,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.875,0.039000002543,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Заливка 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[339.578,452.853],"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":"Преобразовать"}],"nm":"Группа 5","np":3,"cix":2,"ix":5,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":40,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Кривые L_noga 3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"n":["0p833_0p833_0p333_0"],"t":20,"s":[0],"e":[34]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":30,"s":[34],"e":[67]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"n":["0p833_0p833_0p333_0"],"t":40,"s":[67],"e":[34]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":50,"s":[34],"e":[0]},{"t":60}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":20,"s":[577.14,653.445,0],"e":[485.14,672.445,0],"to":[-14.5833330154419,8.58333301544189,0],"ti":[40.7188301086426,-1.91244661808014,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":30,"s":[485.14,672.445,0],"e":[397.14,653.945,0],"to":[-47.4723854064941,2.2296416759491,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":40,"s":[397.14,653.945,0],"e":[485.14,646.445,0],"to":[0,0,0],"ti":[-17.2466659545898,0.14780442416668,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":50,"s":[485.14,646.445,0],"e":[577.14,653.445,0],"to":[60.0219345092773,-0.51438969373703,0],"ti":[13.1223392486572,-7.72343397140503,0]},{"t":60}],"ix":2},"a":{"a":0,"k":[425.14,624.445,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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},"n":"0p833_0p833_0p333_0","t":20,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[12.323,-8.378],[-6.738,22.378],[18.988,-0.711]],"c":false}],"e":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[8.169,-8.122],[-11.207,15.154],[14.192,-2.049]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":28,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[8.169,-8.122],[-11.207,15.154],[14.192,-2.049]],"c":false}],"e":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[12.328,-3.35],[-12.728,12.696],[12.56,-2.505]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":30,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[12.328,-3.35],[-12.728,12.696],[12.56,-2.505]],"c":false}],"e":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[8.777,-4.082],[-13.794,13.763],[9.374,-2.623]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":32,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[8.777,-4.082],[-13.794,13.763],[9.374,-2.623]],"c":false}],"e":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[9.271,-0.383],[-14.861,14.83],[10.232,1.691]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":34,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[9.271,-0.383],[-14.861,14.83],[10.232,1.691]],"c":false}],"e":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[9.417,4.837],[-16.861,16.831],[13,13.368]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":40,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[9.417,4.837],[-16.861,16.831],[13,13.368]],"c":false}],"e":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-8.55,25.291],[-26.4,-1.895],[-14.663,36.832]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":47,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-8.55,25.291],[-26.4,-1.895],[-14.663,36.832]],"c":false}],"e":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[12.323,-8.378],[-6.738,22.378],[18.988,-0.711]],"c":false}]},{"t":60}],"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.830999995213,0.26699999641,0.019999999626,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":2,"lj":2,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[455.594,644.211],"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":"Преобразовать"}],"nm":"Группа 1","np":2,"cix":2,"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},"n":"0p833_0p833_0p333_0","t":20,"s":[{"i":[[0,0],[0,0],[5.023,8.361],[0,0]],"o":[[0,0],[0,0],[-6.791,-11.305],[0,0]],"v":[[29.083,14.289],[1.022,26.044],[-15.293,6.51],[-25.084,-16.544]],"c":false}],"e":[{"i":[[0,0],[0,0],[4.542,8.632],[0,0]],"o":[[0,0],[0,0],[-8.023,-15.246],[0,0]],"v":[[19.49,0.585],[-4.978,16.544],[-16.289,-2.108],[-29.554,-28.296]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":30,"s":[{"i":[[0,0],[0,0],[4.542,8.632],[0,0]],"o":[[0,0],[0,0],[-8.023,-15.246],[0,0]],"v":[[19.49,0.585],[-4.978,16.544],[-16.289,-2.108],[-29.554,-28.296]],"c":false}],"e":[{"i":[[0,0],[0,0],[4.542,8.632],[0,0]],"o":[[0,0],[0,0],[-8.023,-15.246],[0,0]],"v":[[17.209,2.001],[-6.041,17.565],[-11.82,-3.225],[-29.554,-28.296]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":32,"s":[{"i":[[0,0],[0,0],[4.542,8.632],[0,0]],"o":[[0,0],[0,0],[-8.023,-15.246],[0,0]],"v":[[17.209,2.001],[-6.041,17.565],[-11.82,-3.225],[-29.554,-28.296]],"c":false}],"e":[{"i":[[0,0],[0,0],[4.542,8.632],[0,0]],"o":[[0,0],[0,0],[-8.023,-15.246],[0,0]],"v":[[18.972,7.85],[-7.105,18.585],[-7.352,-4.342],[-29.554,-28.296]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":34,"s":[{"i":[[0,0],[0,0],[4.542,8.632],[0,0]],"o":[[0,0],[0,0],[-8.023,-15.246],[0,0]],"v":[[18.972,7.85],[-7.105,18.585],[-7.352,-4.342],[-29.554,-28.296]],"c":false}],"e":[{"i":[[0,0],[0,0],[4.542,8.632],[0,0]],"o":[[0,0],[0,0],[-8.023,-15.246],[0,0]],"v":[[21.289,28.144],[-9.1,20.498],[1.029,-6.436],[-29.554,-28.296]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":40,"s":[{"i":[[0,0],[0,0],[4.542,8.632],[0,0]],"o":[[0,0],[0,0],[-8.023,-15.246],[0,0]],"v":[[21.289,28.144],[-9.1,20.498],[1.029,-6.436],[-29.554,-28.296]],"c":false}],"e":[{"i":[[0,0],[0,0],[4.706,8.543],[0,0]],"o":[[0,0],[0,0],[-5.449,-9.892],[0,0]],"v":[[-17,40.956],[-18.639,1.771],[-4.062,-18.442],[-29.554,-28.296]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":47,"s":[{"i":[[0,0],[0,0],[4.706,8.543],[0,0]],"o":[[0,0],[0,0],[-5.449,-9.892],[0,0]],"v":[[-17,40.956],[-18.639,1.771],[-4.062,-18.442],[-29.554,-28.296]],"c":false}],"e":[{"i":[[0,0],[0,0],[5.023,8.361],[0,0]],"o":[[0,0],[0,0],[-6.791,-11.305],[0,0]],"v":[[29.083,14.289],[1.022,26.044],[-15.293,6.51],[-25.084,-16.544]],"c":false}]},{"t":60}],"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.830999995213,0.26699999641,0.019999999626,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":2,"lj":2,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[447.833,640.544],"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":"Преобразовать"}],"nm":"Группа 2","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":20,"op":60,"st":20,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Кривые L_noga 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"n":["0p833_0p833_0p333_0"],"t":-20,"s":[0],"e":[34]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":-10,"s":[34],"e":[67]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"n":["0p833_0p833_0p333_0"],"t":0,"s":[67],"e":[34]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":10,"s":[34],"e":[0]},{"t":20}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":-20,"s":[577.14,653.445,0],"e":[485.14,672.445,0],"to":[-14.5833330154419,8.58333301544189,0],"ti":[40.7188301086426,-1.91244661808014,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":-10,"s":[485.14,672.445,0],"e":[397.14,653.945,0],"to":[-47.4723854064941,2.2296416759491,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":0,"s":[397.14,653.945,0],"e":[485.14,646.445,0],"to":[0,0,0],"ti":[-17.2466659545898,0.14780442416668,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":10,"s":[485.14,646.445,0],"e":[577.14,653.445,0],"to":[60.0219345092773,-0.51438969373703,0],"ti":[13.1223392486572,-7.72343397140503,0]},{"t":20}],"ix":2},"a":{"a":0,"k":[425.14,624.445,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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},"n":"0p833_0p833_0p333_0","t":-20,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[12.323,-8.378],[-6.738,22.378],[18.988,-0.711]],"c":false}],"e":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[8.169,-8.122],[-11.207,15.154],[14.192,-2.049]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":-12,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[8.169,-8.122],[-11.207,15.154],[14.192,-2.049]],"c":false}],"e":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[12.328,-3.35],[-12.728,12.696],[12.56,-2.505]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":-10,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[12.328,-3.35],[-12.728,12.696],[12.56,-2.505]],"c":false}],"e":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[8.777,-4.082],[-13.794,13.763],[9.374,-2.623]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":-8,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[8.777,-4.082],[-13.794,13.763],[9.374,-2.623]],"c":false}],"e":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[9.271,-0.383],[-14.861,14.83],[10.232,1.691]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":-6,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[9.271,-0.383],[-14.861,14.83],[10.232,1.691]],"c":false}],"e":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[9.417,4.837],[-16.861,16.831],[13,13.368]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":0,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[9.417,4.837],[-16.861,16.831],[13,13.368]],"c":false}],"e":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-8.55,25.291],[-26.4,-1.895],[-14.663,36.832]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":7,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-8.55,25.291],[-26.4,-1.895],[-14.663,36.832]],"c":false}],"e":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[12.323,-8.378],[-6.738,22.378],[18.988,-0.711]],"c":false}]},{"t":20}],"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.830999995213,0.26699999641,0.019999999626,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":2,"lj":2,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[455.594,644.211],"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":"Преобразовать"}],"nm":"Группа 1","np":2,"cix":2,"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},"n":"0p833_0p833_0p333_0","t":-20,"s":[{"i":[[0,0],[0,0],[5.023,8.361],[0,0]],"o":[[0,0],[0,0],[-6.791,-11.305],[0,0]],"v":[[29.083,14.289],[1.022,26.044],[-15.293,6.51],[-25.084,-16.544]],"c":false}],"e":[{"i":[[0,0],[0,0],[4.542,8.632],[0,0]],"o":[[0,0],[0,0],[-8.023,-15.246],[0,0]],"v":[[19.49,0.585],[-4.978,16.544],[-16.289,-2.108],[-29.554,-28.296]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":-10,"s":[{"i":[[0,0],[0,0],[4.542,8.632],[0,0]],"o":[[0,0],[0,0],[-8.023,-15.246],[0,0]],"v":[[19.49,0.585],[-4.978,16.544],[-16.289,-2.108],[-29.554,-28.296]],"c":false}],"e":[{"i":[[0,0],[0,0],[4.542,8.632],[0,0]],"o":[[0,0],[0,0],[-8.023,-15.246],[0,0]],"v":[[17.209,2.001],[-6.041,17.565],[-11.82,-3.225],[-29.554,-28.296]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":-8,"s":[{"i":[[0,0],[0,0],[4.542,8.632],[0,0]],"o":[[0,0],[0,0],[-8.023,-15.246],[0,0]],"v":[[17.209,2.001],[-6.041,17.565],[-11.82,-3.225],[-29.554,-28.296]],"c":false}],"e":[{"i":[[0,0],[0,0],[4.542,8.632],[0,0]],"o":[[0,0],[0,0],[-8.023,-15.246],[0,0]],"v":[[18.972,7.85],[-7.105,18.585],[-7.352,-4.342],[-29.554,-28.296]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":-6,"s":[{"i":[[0,0],[0,0],[4.542,8.632],[0,0]],"o":[[0,0],[0,0],[-8.023,-15.246],[0,0]],"v":[[18.972,7.85],[-7.105,18.585],[-7.352,-4.342],[-29.554,-28.296]],"c":false}],"e":[{"i":[[0,0],[0,0],[4.542,8.632],[0,0]],"o":[[0,0],[0,0],[-8.023,-15.246],[0,0]],"v":[[21.289,28.144],[-9.1,20.498],[1.029,-6.436],[-29.554,-28.296]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":0,"s":[{"i":[[0,0],[0,0],[4.542,8.632],[0,0]],"o":[[0,0],[0,0],[-8.023,-15.246],[0,0]],"v":[[21.289,28.144],[-9.1,20.498],[1.029,-6.436],[-29.554,-28.296]],"c":false}],"e":[{"i":[[0,0],[0,0],[4.706,8.543],[0,0]],"o":[[0,0],[0,0],[-5.449,-9.892],[0,0]],"v":[[-17,40.956],[-18.639,1.771],[-4.062,-18.442],[-29.554,-28.296]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":7,"s":[{"i":[[0,0],[0,0],[4.706,8.543],[0,0]],"o":[[0,0],[0,0],[-5.449,-9.892],[0,0]],"v":[[-17,40.956],[-18.639,1.771],[-4.062,-18.442],[-29.554,-28.296]],"c":false}],"e":[{"i":[[0,0],[0,0],[5.023,8.361],[0,0]],"o":[[0,0],[0,0],[-6.791,-11.305],[0,0]],"v":[[29.083,14.289],[1.022,26.044],[-15.293,6.51],[-25.084,-16.544]],"c":false}]},{"t":20}],"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.830999995213,0.26699999641,0.019999999626,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":2,"lj":2,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[447.833,640.544],"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":"Преобразовать"}],"nm":"Группа 2","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":-20,"op":20,"st":-20,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Кривые L_noga","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"n":["0p833_0p833_0p333_0"],"t":0,"s":[0],"e":[34]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":10,"s":[34],"e":[67]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"n":["0p833_0p833_0p333_0"],"t":20,"s":[67],"e":[34]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":30,"s":[34],"e":[0]},{"t":40}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":0,"s":[577.14,653.445,0],"e":[485.14,672.445,0],"to":[-14.5833330154419,8.58333301544189,0],"ti":[40.7188301086426,-1.91244661808014,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":10,"s":[485.14,672.445,0],"e":[397.14,653.945,0],"to":[-47.4723854064941,2.2296416759491,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":20,"s":[397.14,653.945,0],"e":[485.14,646.445,0],"to":[0,0,0],"ti":[-17.2466659545898,0.14780442416668,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":30,"s":[485.14,646.445,0],"e":[577.14,653.445,0],"to":[60.0219345092773,-0.51438969373703,0],"ti":[13.1223392486572,-7.72343397140503,0]},{"t":40}],"ix":2},"a":{"a":0,"k":[425.14,624.445,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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},"n":"0p833_0p833_0p333_0","t":0,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[12.323,-8.378],[-6.738,22.378],[18.988,-0.711]],"c":false}],"e":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[8.169,-8.122],[-11.207,15.154],[14.192,-2.049]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":8,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[8.169,-8.122],[-11.207,15.154],[14.192,-2.049]],"c":false}],"e":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[12.328,-3.35],[-12.728,12.696],[12.56,-2.505]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":10,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[12.328,-3.35],[-12.728,12.696],[12.56,-2.505]],"c":false}],"e":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[8.777,-4.082],[-13.794,13.763],[9.374,-2.623]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":12,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[8.777,-4.082],[-13.794,13.763],[9.374,-2.623]],"c":false}],"e":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[9.271,-0.383],[-14.861,14.83],[10.232,1.691]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":14,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[9.271,-0.383],[-14.861,14.83],[10.232,1.691]],"c":false}],"e":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[9.417,4.837],[-16.861,16.831],[13,13.368]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":20,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[9.417,4.837],[-16.861,16.831],[13,13.368]],"c":false}],"e":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-8.55,25.291],[-26.4,-1.895],[-14.663,36.832]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":27,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-8.55,25.291],[-26.4,-1.895],[-14.663,36.832]],"c":false}],"e":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[12.323,-8.378],[-6.738,22.378],[18.988,-0.711]],"c":false}]},{"t":40}],"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.830999995213,0.26699999641,0.019999999626,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":2,"lj":2,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[455.594,644.211],"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":"Преобразовать"}],"nm":"Группа 1","np":2,"cix":2,"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},"n":"0p833_0p833_0p333_0","t":0,"s":[{"i":[[0,0],[0,0],[5.023,8.361],[0,0]],"o":[[0,0],[0,0],[-6.791,-11.305],[0,0]],"v":[[29.083,14.289],[1.022,26.044],[-15.293,6.51],[-25.084,-16.544]],"c":false}],"e":[{"i":[[0,0],[0,0],[4.542,8.632],[0,0]],"o":[[0,0],[0,0],[-8.023,-15.246],[0,0]],"v":[[19.49,0.585],[-4.978,16.544],[-16.289,-2.108],[-29.554,-28.296]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":10,"s":[{"i":[[0,0],[0,0],[4.542,8.632],[0,0]],"o":[[0,0],[0,0],[-8.023,-15.246],[0,0]],"v":[[19.49,0.585],[-4.978,16.544],[-16.289,-2.108],[-29.554,-28.296]],"c":false}],"e":[{"i":[[0,0],[0,0],[4.542,8.632],[0,0]],"o":[[0,0],[0,0],[-8.023,-15.246],[0,0]],"v":[[17.209,2.001],[-6.041,17.565],[-11.82,-3.225],[-29.554,-28.296]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":12,"s":[{"i":[[0,0],[0,0],[4.542,8.632],[0,0]],"o":[[0,0],[0,0],[-8.023,-15.246],[0,0]],"v":[[17.209,2.001],[-6.041,17.565],[-11.82,-3.225],[-29.554,-28.296]],"c":false}],"e":[{"i":[[0,0],[0,0],[4.542,8.632],[0,0]],"o":[[0,0],[0,0],[-8.023,-15.246],[0,0]],"v":[[18.972,7.85],[-7.105,18.585],[-7.352,-4.342],[-29.554,-28.296]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":14,"s":[{"i":[[0,0],[0,0],[4.542,8.632],[0,0]],"o":[[0,0],[0,0],[-8.023,-15.246],[0,0]],"v":[[18.972,7.85],[-7.105,18.585],[-7.352,-4.342],[-29.554,-28.296]],"c":false}],"e":[{"i":[[0,0],[0,0],[4.542,8.632],[0,0]],"o":[[0,0],[0,0],[-8.023,-15.246],[0,0]],"v":[[21.289,28.144],[-9.1,20.498],[1.029,-6.436],[-29.554,-28.296]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":20,"s":[{"i":[[0,0],[0,0],[4.542,8.632],[0,0]],"o":[[0,0],[0,0],[-8.023,-15.246],[0,0]],"v":[[21.289,28.144],[-9.1,20.498],[1.029,-6.436],[-29.554,-28.296]],"c":false}],"e":[{"i":[[0,0],[0,0],[4.706,8.543],[0,0]],"o":[[0,0],[0,0],[-5.449,-9.892],[0,0]],"v":[[-17,40.956],[-18.639,1.771],[-4.062,-18.442],[-29.554,-28.296]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":27,"s":[{"i":[[0,0],[0,0],[4.706,8.543],[0,0]],"o":[[0,0],[0,0],[-5.449,-9.892],[0,0]],"v":[[-17,40.956],[-18.639,1.771],[-4.062,-18.442],[-29.554,-28.296]],"c":false}],"e":[{"i":[[0,0],[0,0],[5.023,8.361],[0,0]],"o":[[0,0],[0,0],[-6.791,-11.305],[0,0]],"v":[[29.083,14.289],[1.022,26.044],[-15.293,6.51],[-25.084,-16.544]],"c":false}]},{"t":40}],"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.830999995213,0.26699999641,0.019999999626,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":2,"lj":2,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[447.833,640.544],"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":"Преобразовать"}],"nm":"Группа 2","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":40,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"Кривые volosy_back","parent":4,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[278.64,439.945,0],"ix":2},"a":{"a":0,"k":[278.64,439.945,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0.167,0]},"n":["0p667_1_0p167_0","0p667_1_0p167_0p167","0p667_1_0p167_0"],"t":0,"s":[100,100,100],"e":[100,96,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,0.833,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p833_1_0p333_0","0p833_0p833_0p333_0","0p833_1_0p333_0"],"t":5,"s":[100,96,100],"e":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0.167,0]},"n":["0p667_1_0p167_0","0p667_1_0p167_0p167","0p667_1_0p167_0"],"t":10,"s":[100,100,100],"e":[100,104,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,0.833,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p833_1_0p333_0","0p833_0p833_0p333_0","0p833_1_0p333_0"],"t":15,"s":[100,104,100],"e":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0.167,0]},"n":["0p667_1_0p167_0","0p667_1_0p167_0p167","0p667_1_0p167_0"],"t":20,"s":[100,100,100],"e":[100,96,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,0.833,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p833_1_0p333_0","0p833_0p833_0p333_0","0p833_1_0p333_0"],"t":25,"s":[100,96,100],"e":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0.167,0]},"n":["0p667_1_0p167_0","0p667_1_0p167_0p167","0p667_1_0p167_0"],"t":30,"s":[100,100,100],"e":[100,104,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,0.833,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p833_1_0p333_0","0p833_0p833_0p333_0","0p833_1_0p333_0"],"t":35,"s":[100,104,100],"e":[100,100,100]},{"t":40}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[18.333,4.667],[0,0],[20.667,14.666],[0,0],[6.667,28],[0,0],[-4.333,20.667],[0,0],[-4.333,9.334],[0,0],[-21,18],[0,0],[-22.661,8.664],[0,0],[-15,2],[0,0],[-25.333,-2.333],[0,0],[-18,-10.334],[0,0],[-13.334,-9],[0,0],[-5,-21.667],[0,0],[4.334,-16.667],[0,0],[3.666,-9],[0,0]],"o":[[0,0],[-18.334,-4.667],[0,0],[-20.667,-14.667],[0,0],[-5.9,-24.781],[0,0],[4.333,-20.667],[0,0],[4.333,-9.333],[0,0],[21,-18],[0,0],[22.666,-8.667],[0,0],[15,-2],[0,0],[25.334,2.334],[0,0],[18,10.333],[0,0],[13.333,9],[0,0],[5,21.666],[0,0],[-4.333,16.667],[0,0],[-3.667,9],[0,0]],"v":[[-65.883,165.167],[-99.217,171.167],[-121.883,149.167],[-159.883,142.834],[-178.551,110.167],[-215.883,75.166],[-205.216,31.834],[-213.883,-10.833],[-194.883,-36.5],[-192.883,-55.5],[-176.551,-67.166],[-161.551,-113.167],[-115.883,-123.167],[-88.217,-157.167],[-49.217,-151.5],[-23.217,-171.833],[5.449,-163.5],[44.449,-173.5],[78.449,-156.833],[119.449,-154.167],[144.449,-121.5],[175.783,-116.833],[191.783,-88.5],[213.45,-62.166],[208.45,-28.166],[217.45,5.167],[199.783,30.167],[199.783,49.5],[179.117,62.167]],"c":false},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":2,"lj":2,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[253.883,287.833],"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":"Преобразовать"}],"nm":"Группа 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[13.333,9],[0,0],[18,10.333],[0,0],[25.334,2.333],[0,0],[15,-2],[0,0],[22.667,-8.667],[0,0],[21,-18],[0,0],[4.333,-9.334],[0,0],[4.333,-20.666],[0,0],[-10.61,20.795],[0,0],[-5.334,7],[0,0],[-20.667,14.667],[0,0],[-24.166,9.916],[0,0],[-17.177,2.417],[0,0],[-23.667,-3.667],[0,0],[-17.666,-8],[0,0],[-13,-11],[0,0],[-7.25,-4.75]],"o":[[-5,-21.667],[0,0],[-13.334,-9],[0,0],[-18,-10.333],[0,0],[-25.333,-2.334],[0,0],[-15,2],[0,0],[-22.66,8.665],[0,0],[-21,18],[0,0],[-4.334,9.333],[0,0],[-4.334,20.667],[0,0],[8.333,-16.333],[0,0],[5.333,-7],[0,0],[20.667,-14.667],[0,0],[21.189,-8.695],[0,0],[22.5,-3.167],[0,0],[23.667,3.666],[0,0],[17.667,8],[0,0],[13,11],[0,0],[7.25,4.75]],"v":[[215.833,9.834],[194.167,-16.499],[178.167,-44.833],[146.833,-49.499],[121.833,-82.167],[80.833,-84.833],[46.833,-101.499],[7.834,-91.499],[-20.834,-99.833],[-46.833,-79.499],[-85.833,-85.167],[-113.5,-51.167],[-159.167,-41.167],[-174.167,4.833],[-190.5,16.501],[-192.5,35.501],[-211.5,61.167],[-202.833,103.833],[-202.5,62.167],[-178.167,43.167],[-177.5,21.833],[-160.167,13.167],[-147.167,-28.167],[-104.5,-38.083],[-79.833,-70.499],[-41.833,-63.833],[-18.499,-84.167],[10.833,-72.833],[46.833,-86.499],[82.167,-64.499],[115.833,-69.499],[141,-39.833],[174.5,-34.333],[189.833,-9.499],[202.5,-3.583]],"c":true},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.430999995213,0.216000007181,0.654999976065,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Заливка 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[251.5,215.833],"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":"Преобразовать"}],"nm":"Группа 2","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[18.333,4.667],[0,0],[20.667,14.666],[0,0],[6.667,28],[0,0],[-4.333,20.667],[0,0],[-4.333,9.334],[0,0],[-21,18],[0,0],[-22.661,8.664],[0,0],[-15,2],[0,0],[-25.333,-2.333],[0,0],[-18,-10.334],[0,0],[-13.334,-9],[0,0],[-5,-21.667],[0,0],[4.334,-16.667],[0,0],[3.666,-9],[0,0]],"o":[[0,0],[-18.334,-4.667],[0,0],[-20.667,-14.667],[0,0],[-5.9,-24.781],[0,0],[4.333,-20.667],[0,0],[4.333,-9.333],[0,0],[21,-18],[0,0],[22.666,-8.667],[0,0],[15,-2],[0,0],[25.334,2.334],[0,0],[18,10.333],[0,0],[13.333,9],[0,0],[5,21.666],[0,0],[-4.333,16.667],[0,0],[-3.667,9],[0,0]],"v":[[-65.883,165.167],[-99.217,171.167],[-121.883,149.167],[-159.883,142.834],[-178.551,110.167],[-215.883,75.166],[-205.216,31.834],[-213.883,-10.833],[-194.883,-36.5],[-192.883,-55.5],[-176.551,-67.166],[-161.551,-113.167],[-115.883,-123.167],[-88.217,-157.167],[-49.217,-151.5],[-23.217,-171.833],[5.449,-163.5],[44.449,-173.5],[78.449,-156.833],[119.449,-154.167],[144.449,-121.5],[175.783,-116.833],[191.783,-88.5],[213.45,-62.166],[208.45,-28.166],[217.45,5.167],[199.783,30.167],[199.783,49.5],[179.117,62.167]],"c":false},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.180000005984,0.035000000748,0.144999994016,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Заливка 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[253.883,287.833],"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":"Преобразовать"}],"nm":"Группа 3","np":2,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":40,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"Кривые L_ruka","parent":4,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[461.575,424.56,0],"ix":2},"a":{"a":0,"k":[454.176,425.589,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-16.006,-12.996],[5.725,-7.226],[14.647,3.007],[0,0]],"o":[[0,0],[13.914,11.297],[-5.723,7.228],[-14.5,-2.976],[0,0]],"v":[[-27.114,-31.501],[5.777,-13.773],[26.534,24.273],[-5.875,15.152],[-32.259,13.552]],"c":false},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.830999995213,0.26699999641,0.019999999626,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":2,"lj":2,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[487.767,436.625],"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":"Преобразовать"}],"nm":"Группа 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-14.69,18.569],[-16.006,-12.996],[5.724,-7.228],[14.647,3.007],[0,0]],"o":[[0,0],[13.915,11.297],[-5.724,7.227],[-14.499,-2.977],[0,0]],"v":[[-22.341,-31.501],[10.55,-13.773],[31.307,24.274],[-1.102,15.153],[-27.485,13.552]],"c":true},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.875,0.039000002543,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Заливка 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[482.32,436.17],"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":"Преобразовать"}],"nm":"Группа 2","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":40,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"cipa 2","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,266,0],"ix":2},"a":{"a":0,"k":[450,450,0],"ix":1},"s":{"a":0,"k":[80,80,100],"ix":6}},"ao":0,"w":900,"h":900,"ip":0,"op":32,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/gears.json b/submodules/RLottie/Sources/rlottie/example/resource/gears.json deleted file mode 100644 index 13b2a0ee1f..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/gears.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"4.5.7","fr":30,"ip":0,"op":52,"w":128,"h":128,"ddd":0,"assets":[],"layers":[{"ddd":0,"ind":0,"ty":3,"nm":"Null 5","ks":{"o":{"a":0,"k":0},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":0,"s":[0],"e":[90]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":25,"s":[90],"e":[0]},{"t":52}]},"p":{"a":0,"k":[64,64,0]},"a":{"a":0,"k":[0,0,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"ip":0,"op":53,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":1,"ty":4,"nm":"gear3","parent":0,"ks":{"o":{"a":0,"k":100},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[360],"e":[0]},{"t":52}]},"p":{"s":true,"x":{"a":0,"k":19.125},"y":{"a":0,"k":22.125}},"a":{"a":0,"k":[28,30,0]},"s":{"a":0,"k":[75,75,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[1.627,0.306],[0,0],[0,0],[0,0],[1.704,-0.597],[0,0],[0,0],[0,0],[1.186,-1.384],[0,0],[0,0],[0,0],[0.33,-1.753],[0,0],[0,0],[0,0],[-0.6,-1.701],[0,0],[0,0],[0,0],[-1.387,-1.186],[0,0],[0,0],[0,0],[-0.127,-0.045],[-1.627,-0.306],[0,0],[0,0],[0,0],[-1.703,0.598],[0,0],[0,0],[0,0],[-1.185,1.383],[0,0],[0,0],[0,0],[-0.329,1.754],[0,0],[0,0],[0,0],[0.6,1.703],[0,0],[0,0],[0,0],[1.386,1.188],[0,0],[0,0],[0,0],[0.126,0.045]],"o":[[-1.591,-0.564],[0,0],[0,0],[0,0],[-1.779,0.307],[0,0],[0,0],[0,0],[-1.371,1.14],[0,0],[0,0],[0,0],[-0.63,1.709],[0,0],[0,0],[0,0],[0.31,1.777],[0,0],[0,0],[0,0],[1.145,1.369],[0,0],[0,0],[0,0],[0.127,0.047],[1.59,0.564],[0,0],[0,0],[0,0],[1.779,-0.308],[0,0],[0,0],[0,0],[1.371,-1.142],[0,0],[0,0],[0,0],[0.631,-1.708],[0,0],[0,0],[0,0],[-0.311,-1.78],[0,0],[0,0],[0,0],[-1.145,-1.371],[0,0],[0,0],[0,0],[-0.125,-0.047],[-0.126,-0.044]],"v":[[105.253,4.747],[100.419,3.445],[97.651,8.16],[91.588,8.111],[88.885,3.362],[83.651,4.72],[83.618,10.179],[78.347,13.166],[73.623,10.395],[69.778,14.184],[72.485,18.94],[69.421,24.162],[63.947,24.118],[62.513,29.322],[67.238,32.093],[67.2,38.151],[62.449,40.843],[63.816,46.073],[69.283,46.117],[72.28,51.386],[69.513,56.102],[73.312,59.946],[78.07,57.251],[83.302,60.32],[83.266,65.787],[83.646,65.925],[88.479,67.227],[91.245,62.513],[97.309,62.56],[100.012,67.31],[105.245,65.951],[105.279,60.493],[110.55,57.506],[115.275,60.278],[119.119,56.488],[116.412,51.731],[119.477,46.511],[124.95,46.553],[126.383,41.349],[121.659,38.579],[121.697,32.52],[126.449,29.83],[125.08,24.598],[119.616,24.555],[116.618,19.286],[119.384,14.571],[115.584,10.724],[110.827,13.421],[105.596,10.352],[105.63,4.884],[105.253,4.747]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ind":1,"ty":"sh","ks":{"a":0,"k":{"i":[[-9.941,0],[0,-9.941],[9.941,0],[0,9.941]],"o":[[9.941,0],[0,9.941],[-9.941,0],[0,-9.941]],"v":[[94.463,17.334],[112.463,35.334],[94.463,53.334],[76.463,35.334]],"c":true}},"nm":"Path 2","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0.25,0.37,0.44,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-66.463,-5.334],"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":"Path","np":4,"mn":"ADBE Vector Group"}],"ip":0,"op":53,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":4,"nm":"gear2","parent":0,"ks":{"o":{"a":0,"k":100},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[-360],"e":[0]},{"t":52}]},"p":{"s":true,"x":{"a":0,"k":-22.5},"y":{"a":0,"k":-2.25}},"a":{"a":0,"k":[-36,-4,0]},"s":{"a":0,"k":[75,75,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[1.982,-0.286],[0,0],[0,0],[0,0],[1.588,-1.254],[0,0],[0,0],[0,0],[0.734,-1.84],[0,0],[0,0],[0,0],[-0.285,-1.981],[0,0],[0,0],[0,0],[-1.254,-1.589],[0,0],[0,0],[0,0],[-1.839,-0.735],[0,0],[0,0],[0,0],[-1.982,0.287],[0,0],[0,0],[0,0],[-1.587,1.254],[0,0],[0,0],[0,0],[-0.734,1.838],[0,0],[0,0],[0,0],[0.287,1.982],[0,0],[0,0],[0,0],[1.255,1.588],[0,0],[0,0],[0,0],[1.838,0.734]],"o":[[0,0],[0,0],[0,0],[-2.001,-0.045],[0,0],[0,0],[0,0],[-1.737,0.951],[0,0],[0,0],[0,0],[-1.052,1.727],[0,0],[0,0],[0,0],[-0.046,2.003],[0,0],[0,0],[0,0],[0.951,1.736],[0,0],[0,0],[0,0],[1.727,1.054],[0,0],[0,0],[0,0],[2.003,0.044],[0,0],[0,0],[0,0],[1.736,-0.95],[0,0],[0,0],[0,0],[1.053,-1.726],[0,0],[0,0],[0,0],[0.044,-2.001],[0,0],[0,0],[0,0],[-0.952,-1.738],[0,0],[0,0],[0,0],[-1.727,-1.053],[-1.838,-0.734]],"v":[[43.8,-32.098],[39.776,-27.554],[33.19,-28.898],[31.27,-34.644],[25.285,-34.281],[24.075,-28.343],[17.7,-26.211],[13.157,-30.235],[8.16,-26.928],[10.083,-21.173],[5.628,-16.139],[-0.317,-17.35],[-2.993,-11.989],[1.549,-7.964],[0.207,-1.377],[-5.538,0.543],[-5.176,6.53],[0.762,7.74],[2.891,14.117],[-1.132,18.662],[2.175,23.66],[7.929,21.736],[12.96,26.192],[11.749,32.139],[17.11,34.817],[21.132,30.273],[27.718,31.613],[29.637,37.362],[35.623,36.999],[36.833,31.06],[43.207,28.929],[47.752,32.952],[52.748,29.646],[50.825,23.89],[55.281,18.856],[61.225,20.068],[63.902,14.708],[59.359,10.683],[60.701,4.096],[66.448,2.174],[66.084,-3.812],[60.147,-5.023],[58.017,-11.399],[62.04,-15.943],[58.733,-20.942],[52.979,-19.019],[47.948,-23.475],[49.159,-29.421],[43.8,-32.098]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ind":1,"ty":"sh","ks":{"a":0,"k":{"i":[[-11.046,0],[0,-11.046],[11.046,0],[0,11.046]],"o":[[11.046,0],[0,11.046],[-11.046,0],[0,-11.046]],"v":[[30.463,-18.666],[50.463,1.334],[30.463,21.334],[10.463,1.334]],"c":true}},"nm":"Path 2","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0.89,0.34,0.3,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-66.463,-5.334],"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":"Path","np":4,"mn":"ADBE Vector Group"}],"ip":0,"op":53,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":3,"ty":4,"nm":"gear1","parent":0,"ks":{"o":{"a":0,"k":100},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[360],"e":[0]},{"t":52}]},"p":{"s":true,"x":{"a":0,"k":17.063},"y":{"a":0,"k":-23.437}},"a":{"a":0,"k":[24,-34,0]},"s":{"a":0,"k":[75,75,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[1.357,0.446],[0,0],[0,0],[0,0],[1.525,-0.316],[0,0],[0,0],[0,0],[1.17,-1.05],[0,0],[0,0],[0,0],[0.479,-1.462],[0,0],[0,0],[0,0],[-0.322,-1.524],[0,0],[0,0],[0,0],[-1.053,-1.172],[0,0],[0,0],[0,0],[-0.103,-0.053],[-1.358,-0.446],[0,0],[0,0],[0,0],[-1.524,0.318],[0,0],[0,0],[0,0],[-1.169,1.05],[0,0],[0,0],[0,0],[-0.478,1.463],[0,0],[0,0],[0,0],[0.322,1.525],[0,0],[0,0],[0,0],[1.053,1.174],[0,0],[0,0],[0,0],[0.102,0.053]],"o":[[-1.298,-0.664],[0,0],[0,0],[0,0],[-1.557,0.062],[0,0],[0,0],[0,0],[-1.301,0.82],[0,0],[0,0],[0,0],[-0.731,1.392],[0,0],[0,0],[0,0],[0.065,1.557],[0,0],[0,0],[0,0],[0.826,1.303],[0,0],[0,0],[0,0],[0.103,0.055],[1.297,0.663],[0,0],[0,0],[0,0],[1.556,-0.062],[0,0],[0,0],[0,0],[1.301,-0.821],[0,0],[0,0],[0,0],[0.732,-1.391],[0,0],[0,0],[0,0],[-0.066,-1.557],[0,0],[0,0],[0,0],[-0.826,-1.304],[0,0],[0,0],[0,0],[-0.102,-0.054],[-0.103,-0.052]],"v":[[103.129,-53.638],[99.14,-55.302],[96.242,-51.581],[91.061,-52.312],[89.282,-56.683],[84.652,-56.115],[84.01,-51.446],[79.164,-49.487],[75.435,-52.395],[71.719,-49.589],[73.501,-45.211],[70.293,-41.09],[65.615,-41.749],[63.803,-37.459],[67.534,-34.55],[66.821,-29.369],[62.454,-27.604],[63.036,-22.972],[67.707,-22.315],[69.68,-17.464],[66.782,-13.743],[69.6,-10.021],[73.973,-11.788],[78.105,-8.567],[77.46,-3.891],[77.769,-3.73],[81.757,-2.067],[84.653,-5.788],[89.836,-5.059],[91.615,-0.687],[96.244,-1.256],[96.887,-5.923],[101.731,-7.882],[105.462,-4.973],[109.177,-7.78],[107.396,-12.158],[110.604,-16.279],[115.282,-15.621],[117.092,-19.912],[113.363,-22.82],[114.076,-28.001],[118.443,-29.765],[117.86,-34.397],[113.19,-35.054],[111.218,-39.904],[114.114,-43.626],[111.296,-47.35],[106.923,-45.582],[102.792,-48.802],[103.436,-53.479],[103.129,-53.638]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ind":1,"ty":"sh","ks":{"a":0,"k":{"i":[[-8.837,0],[0,-8.837],[8.836,0],[0,8.837]],"o":[[8.836,0],[0,8.837],[-8.837,0],[0,-8.837]],"v":[[90.463,-44.666],[106.463,-28.666],[90.463,-12.666],[74.463,-28.666]],"c":true}},"nm":"Path 2","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0.39,0.5,0.56,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-66.463,-5.334],"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":"Path","np":4,"mn":"ADBE Vector Group"}],"ip":0,"op":53,"st":0,"bm":0,"sr":1}]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/gears_or_settings.json b/submodules/RLottie/Sources/rlottie/example/resource/gears_or_settings.json deleted file mode 100644 index 668465fab0..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/gears_or_settings.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.1.1","fr":25,"ip":0,"op":29,"w":261,"h":299,"nm":"Comp 1","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"gear Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[91],"e":[0]},{"t":29}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[65.543,243.492,0],"e":[66.114,246.141,0],"to":[0.63389188051224,0.43371549248695,0],"ti":[-0.59447288513184,-1.12922275066376,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":1,"s":[66.114,246.141,0],"e":[66.79,248.814,0],"to":[0.41561776399612,0.78948098421097,0],"ti":[-0.45528426766396,-1.02199518680573,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":2,"s":[66.79,248.814,0],"e":[67.639,251.325,0],"to":[0.3837648332119,0.86145251989365,0],"ti":[-0.43365067243576,-0.97296315431595,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":3,"s":[67.639,251.325,0],"e":[68.655,253.812,0],"to":[0.39388379454613,0.88373994827271,0],"ti":[-0.45162639021873,-0.9361160993576,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":4,"s":[68.655,253.812,0],"e":[69.789,256.264,0],"to":[0.42802980542183,0.8872058391571,0],"ti":[-0.49433445930481,-0.91032445430756,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":5,"s":[69.789,256.264,0],"e":[71.114,258.581,0],"to":[0.48347863554955,0.89033323526382,0],"ti":[-0.56523299217224,-0.93818730115891,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":6,"s":[71.114,258.581,0],"e":[72.489,260.831,0],"to":[2.14385366439819,3.55841970443726,0],"ti":[-0.56523299217224,-0.93818730115891,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":7,"s":[72.489,260.831,0],"e":[74.039,263.038,0],"to":[0.66254264116287,1.09970414638519,0],"ti":[-0.56497228145599,-0.77992361783981,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":8,"s":[74.039,263.038,0],"e":[75.676,265.237,0],"to":[0.67640376091003,0.93375080823898,0],"ti":[-0.79516309499741,-0.82775580883026,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":9,"s":[75.676,265.237,0],"e":[77.505,267.325,0],"to":[0.68977969884872,0.71805286407471,0],"ti":[-0.97716957330704,-0.82866209745407,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":10,"s":[77.505,267.325,0],"e":[79.389,269.272,0],"to":[0.76325196027756,0.64725506305695,0],"ti":[-0.82630759477615,-0.56484717130661,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":11,"s":[79.389,269.272,0],"e":[81.407,271.087,0],"to":[0.83111488819122,0.56813335418701,0],"ti":[-0.88650888204575,-0.55724161863327,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":12,"s":[81.407,271.087,0],"e":[83.475,272.848,0],"to":[0.85700911283493,0.53869867324829,0],"ti":[-0.89429974555969,-0.50983655452728,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":13,"s":[83.475,272.848,0],"e":[85.579,274.422,0],"to":[0.88868284225464,0.50663435459137,0],"ti":[-0.92676615715027,-0.45997801423073,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":14,"s":[85.579,274.422,0],"e":[87.872,275.881,0],"to":[0.92115861177444,0.45719486474991,0],"ti":[-0.93775117397308,-0.39359641075134,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":15,"s":[87.872,275.881,0],"e":[90.159,277.311,0],"to":[0.95279586315155,0.39991104602814,0],"ti":[-1.10174834728241,-0.50261902809143,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":16,"s":[90.159,277.311,0],"e":[92.506,278.622,0],"to":[1.1385383605957,0.51940268278122,0],"ti":[-0.95087832212448,-0.2986201941967,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":17,"s":[92.506,278.622,0],"e":[95.023,279.586,0],"to":[0.99073857069016,0.31113818287849,0],"ti":[-0.93247872591019,-0.34245449304581,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":18,"s":[95.023,279.586,0],"e":[97.558,280.658,0],"to":[0.93090575933456,0.34187683463097,0],"ti":[-0.92517024278641,-0.03547479957342,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":19,"s":[97.558,280.658,0],"e":[100.144,281.54,0],"to":[0.95009499788284,0.03643051534891,0],"ti":[-0.93971288204193,-0.2205313295126,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":20,"s":[100.144,281.54,0],"e":[102.775,282.08,0],"to":[1.01888990402222,0.23911255598068,0],"ti":[-1.10344433784485,-0.17690135538578,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":21,"s":[102.775,282.08,0],"e":[105.473,282.795,0],"to":[1.20659899711609,0.19343885779381,0],"ti":[-0.9462838768959,0.08564107865095,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":22,"s":[105.473,282.795,0],"e":[108.081,283.204,0],"to":[1.06814050674438,-0.09666941314936,0],"ti":[-0.91514319181442,-0.08660132437944,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":23,"s":[108.081,283.204,0],"e":[110.765,283.459,0],"to":[1.16727662086487,0.11046107113361,0],"ti":[-0.86166793107986,0.15333108603954,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":24,"s":[110.765,283.459,0],"e":[113.543,283.492,0],"to":[1.8156601190567,-0.32309100031853,0],"ti":[-0.0203275885433,-0.0203275885433,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":25,"s":[113.543,283.492,0],"e":[116.293,283.367,0],"to":[0.02718277275562,0.02718277275562,0],"ti":[-0.04166666790843,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":26,"s":[116.293,283.367,0],"e":[118.918,283.117,0],"to":[0.04166666790843,0,0],"ti":[0.04166666790843,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":27,"s":[118.918,283.117,0],"e":[121.668,282.867,0],"to":[-0.04166666790843,0,0],"ti":[0.04166666790843,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":28,"s":[121.668,282.867,0],"e":[124.168,282.242,0],"to":[-0.04166666790843,0,0],"ti":[0.04166666790843,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":29,"s":[124.168,282.242,0],"e":[124.168,282.367,0],"to":[-0.04166666790843,0,0],"ti":[0.04166666790843,0,0]},{"t":30}],"ix":2},"a":{"a":0,"k":[144,280,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[16.838,0],[0,16.837],[-16.837,0],[0,-16.839]],"o":[[-16.837,0],[0,-16.839],[16.838,0],[0,16.837]],"v":[[0,30.48],[-30.48,-0.001],[0,-30.48],[30.48,-0.001]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.356,1.169],[0,0],[0,0],[0,0],[0.889,0.829],[0,0],[0,0],[0,0],[1.195,0.278],[0,0],[0,0],[0,0],[1.169,-0.347],[0,0],[0,0],[0,0],[0.823,-0.892],[0,0],[0,0],[0,0],[0.286,-1.197],[0,0],[0,0],[0,0],[-0.357,-1.165],[0,0],[0,0],[0,0],[-0.881,-0.832],[0,0],[0,0],[0,0],[-1.197,-0.277],[0,0],[0,0],[0,0],[-1.169,0.356],[0,0],[0,0],[0,0],[-0.829,0.883],[0,0],[0,0],[0,0],[-0.277,1.197],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[-0.811,-0.911],[0,0],[0,0],[0,0],[-1.157,-0.377],[0,0],[0,0],[0,0],[-1.197,0.25],[0,0],[0,0],[0,0],[-0.9,0.812],[0,0],[0,0],[0,0],[-0.376,1.159],[0,0],[0,0],[0,0],[0.247,1.198],[0,0],[0,0],[0,0],[0.813,0.901],[0,0],[0,0],[0,0],[1.157,0.376],[0,0],[0,0],[0,0],[1.205,-0.257],[0,0],[0,0],[0,0],[0.911,-0.812],[0,0],[0,0],[0,0],[0.377,-1.165],[0,0],[0,0],[0,0],[-0.25,-1.208]],"v":[[40.709,-12.329],[44.006,-19.519],[39.294,-27.681],[31.648,-28.402],[29.097,-31.015],[28.354,-38.909],[20.181,-43.617],[13.217,-40.431],[9.676,-41.423],[5.097,-47.871],[-4.333,-47.871],[-8.774,-41.622],[-12.337,-40.718],[-19.529,-44.005],[-27.688,-39.295],[-28.411,-31.648],[-31.014,-29.094],[-38.91,-28.353],[-43.626,-20.182],[-40.442,-13.217],[-41.431,-9.676],[-47.871,-5.094],[-47.871,4.334],[-41.628,8.773],[-40.719,12.334],[-44.013,19.529],[-39.293,27.689],[-31.647,28.412],[-29.104,31.015],[-28.354,38.908],[-20.192,43.626],[-13.225,40.442],[-9.686,41.432],[-5.104,47.871],[4.334,47.871],[8.766,41.629],[12.327,40.719],[19.519,44.014],[27.681,39.293],[28.402,31.648],[31.013,29.102],[38.909,28.351],[43.618,20.181],[40.432,13.224],[41.422,9.686],[47.872,5.105],[47.872,-4.334],[41.62,-8.764]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[133.701,231.739],"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":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":29,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"01","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[415.5,245,0],"ix":2},"a":{"a":0,"k":[360,300,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":720,"h":600,"ip":0,"op":29,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"01","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[345.5,185,0],"ix":2},"a":{"a":0,"k":[360,300,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":720,"h":600,"ip":0,"op":29,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/glow_loading.json b/submodules/RLottie/Sources/rlottie/example/resource/glow_loading.json deleted file mode 100644 index 3cbcc056bd..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/glow_loading.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"4.6.8","fr":29.9700012207031,"ip":0,"op":69.0000028104276,"w":256,"h":256,"nm":"Comp 1","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Glow ball","ks":{"o":{"a":0,"k":100},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[360]},{"t":69.0000028104276}]},"p":{"a":0,"k":[127.984,127.969,0]},"a":{"a":0,"k":[-0.182,32.385,0]},"s":{"a":0,"k":[132,132,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[14.125,14.125]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":0,"k":[0.1635217,0.8509804,0.8105415,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-0.063,1.5],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":0,"op":300.00001221925,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 8","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":315},"p":{"a":0,"k":[127.984,127.969,0]},"a":{"a":0,"k":[-0.182,32.385,0]},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":56,"s":[132,132,100],"e":[145,145,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":59,"s":[145,145,100],"e":[132,132,100]},{"t":63.0000025660426}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[14.125,14.125]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0.1647059,0.6313726,0.8509804,1],"e":[0.1647059,0.6313726,0.8509804,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":56,"s":[0.1647059,0.6313726,0.8509804,1],"e":[0.1647059,0.8509804,0.8117647,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":62,"s":[0.1647059,0.8509804,0.8117647,1],"e":[0.1647059,0.6313726,0.8509804,1]},{"t":69.0000028104276}]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-0.063,1.5],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":0,"op":300.00001221925,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 7","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":270},"p":{"a":0,"k":[127.984,127.969,0]},"a":{"a":0,"k":[-0.182,32.385,0]},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":48,"s":[132,132,100],"e":[145,145,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":51,"s":[145,145,100],"e":[132,132,100]},{"t":55.0000022401959}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[14.125,14.125]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0.1647059,0.6313726,0.8509804,1],"e":[0.1647059,0.6745098,0.8431373,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":47,"s":[0.1647059,0.6745098,0.8431373,1],"e":[0.1647059,0.8509804,0.8117647,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":58,"s":[0.1647059,0.8509804,0.8117647,1],"e":[0.1647059,0.6313726,0.8509804,1]},{"t":69.0000028104276}]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-0.063,1.5],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":0,"op":300.00001221925,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":4,"ty":4,"nm":"Shape Layer 6","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":225},"p":{"a":0,"k":[127.984,127.969,0]},"a":{"a":0,"k":[-0.182,32.385,0]},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":39,"s":[132,132,100],"e":[145,145,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":42,"s":[145,145,100],"e":[132,132,100]},{"t":46.0000018736184}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[14.125,14.125]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0.1647059,0.6313726,0.8509804,1],"e":[0.1647059,0.6313726,0.8509804,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":37,"s":[0.1647059,0.6313726,0.8509804,1],"e":[0.1647059,0.8509804,0.8117647,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":43,"s":[0.1647059,0.8509804,0.8117647,1],"e":[0.1647059,0.6313726,0.8509804,1]},{"t":48.0000019550801}]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-0.063,1.5],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":0,"op":300.00001221925,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":5,"ty":4,"nm":"Shape Layer 5","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":180},"p":{"a":0,"k":[127.984,127.969,0]},"a":{"a":0,"k":[-0.182,32.385,0]},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":31,"s":[132,132,100],"e":[145,145,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":34,"s":[145,145,100],"e":[132,132,100]},{"t":38.0000015477717}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[14.125,14.125]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0.1647059,0.6313726,0.8509804,1],"e":[0.1647059,0.6313726,0.8509804,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":26,"s":[0.1647059,0.6313726,0.8509804,1],"e":[0.1647059,0.8509804,0.8117647,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":38,"s":[0.1647059,0.8509804,0.8117647,1],"e":[0.1647059,0.6313726,0.8509804,1]},{"t":42.0000017106951}]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-0.063,1.5],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":0,"op":300.00001221925,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":6,"ty":4,"nm":"Shape Layer 4","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":135},"p":{"a":0,"k":[127.984,127.969,0]},"a":{"a":0,"k":[-0.182,32.385,0]},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":23,"s":[132,132,100],"e":[145,145,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":26,"s":[145,145,100],"e":[132,132,100]},{"t":30.0000012219251}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[14.125,14.125]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0.1647059,0.6313726,0.8509804,1],"e":[0.1647059,0.8509804,0.8117647,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":30,"s":[0.1647059,0.8509804,0.8117647,1],"e":[0.1647059,0.6313726,0.8509804,1]},{"t":38.0000015477717}]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-0.063,1.5],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":0,"op":300.00001221925,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":7,"ty":4,"nm":"Shape Layer 3","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":90},"p":{"a":0,"k":[127.984,127.969,0]},"a":{"a":0,"k":[-0.182,32.385,0]},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":14,"s":[132,132,100],"e":[145,145,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":17,"s":[145,145,100],"e":[132,132,100]},{"t":21.0000008553475}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[14.125,14.125]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0.1647059,0.6313726,0.8509804,1],"e":[0.1647059,0.8509804,0.8117647,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":22,"s":[0.1647059,0.8509804,0.8117647,1],"e":[0.1647059,0.6313726,0.8509804,1]},{"t":28.0000011404634}]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-0.063,1.5],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":0,"op":300.00001221925,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":8,"ty":4,"nm":"Shape Layer 2","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":45},"p":{"a":0,"k":[127.984,127.969,0]},"a":{"a":0,"k":[-0.182,32.385,0]},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":7,"s":[132,132,100],"e":[145,145,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":10,"s":[145,145,100],"e":[132,132,100]},{"t":14.0000005702317}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[14.125,14.125]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0.1647059,0.6313726,0.8509804,1],"e":[0.1647059,0.8509804,0.8117647,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":16,"s":[0.1647059,0.8509804,0.8117647,1],"e":[0.1647059,0.6313726,0.8509804,1]},{"t":22.0000008960784}]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-0.063,1.5],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":0,"op":300.00001221925,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":9,"ty":4,"nm":"Shape Layer 1","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[127.984,127.969,0]},"a":{"a":0,"k":[-0.182,32.385,0]},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":0,"s":[132,132,100],"e":[145,145,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":3,"s":[145,145,100],"e":[132,132,100]},{"t":7.00000028511585}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[14.125,14.125]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0.1647059,0.6313726,0.8509804,1],"e":[0.1647059,0.8509804,0.8117647,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":5,"s":[0.1647059,0.8509804,0.8117647,1],"e":[0.1647059,0.6313726,0.8509804,1]},{"t":16.0000006516934}]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-0.063,1.5],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":0,"op":300.00001221925,"st":0,"bm":0,"sr":1}]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/gradient_animated_background.json b/submodules/RLottie/Sources/rlottie/example/resource/gradient_animated_background.json deleted file mode 100644 index f9ce52d41e..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/gradient_animated_background.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"4.6.10","fr":15,"ip":0,"op":155,"w":1080,"h":1920,"nm":"background","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 1","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[540,960,0]},"a":{"a":0,"k":[0,0,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[1160,880]},"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":0},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect"},{"ty":"st","c":{"a":0,"k":[0.9960784,0.7843137,0.145098,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":6},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"gf","o":{"a":0,"k":100},"r":1,"g":{"p":3,"k":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[0,0.511,0.89,0.283,0.5,0.334,0.873,0.583,1,0.156,0.857,0.882],"e":[0,0.726,0.283,0.89,0.5,0.441,0.356,0.886,1,0.156,0.429,0.882]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":31,"s":[0,0.726,0.283,0.89,0.5,0.441,0.356,0.886,1,0.156,0.429,0.882],"e":[0,0.89,0.283,0.283,0.5,0.886,0.553,0.219,1,0.882,0.823,0.156]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":61,"s":[0,0.89,0.283,0.283,0.5,0.886,0.553,0.219,1,0.882,0.823,0.156],"e":[0,0,0.312,0.737,0.5,0.078,0.597,0.754,1,0.156,0.882,0.771]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":91,"s":[0,0,0.312,0.737,0.5,0.078,0.597,0.754,1,0.156,0.882,0.771],"e":[0,0.51,0.89,0.282,0.5,0.333,0.873,0.582,1,0.157,0.855,0.882]},{"t":120}]}},"s":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[-430.769,-404.573],"e":[23.726,-364.48],"to":[75.7491683959961,6.68213844299316],"ti":[-123.915840148926,-8.51547145843506]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":31,"s":[23.726,-364.48],"e":[312.726,-353.48],"to":[123.915840148926,8.51547145843506],"ti":[-1.00208830833435,-1.83333337306976]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":61,"s":[312.726,-353.48],"e":[29.739,-353.48],"to":[1.00208830833435,1.83333337306976],"ti":[120.055290222168,0.60746711492538]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":91,"s":[29.739,-353.48],"e":[-407.606,-357.125],"to":[-120.055290222168,-0.60746711492538],"ti":[72.8907089233398,0.60746711492538]},{"t":120}]},"e":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[374.412,342.611],"e":[22.822,357.191],"to":[-58.5984153747559,2.42986845970154],"ti":[132.520950317383,-7.89707231521606]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":31,"s":[22.822,357.191],"e":[-420.714,389.994],"to":[-132.520950317383,7.89707231521606],"ti":[-4.68509674072266,-7.89707231521606]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":61,"s":[-420.714,389.994],"e":[50.932,404.573],"to":[4.68509674072266,7.89707231521606],"ti":[-132.918350219727,4.25226974487305]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":91,"s":[50.932,404.573],"e":[376.797,364.48],"to":[132.918350219727,-4.25226974487305],"ti":[-54.3107261657715,6.68213844299316]},{"t":120}]},"t":1,"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill"},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[93.29,219.491],"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":"Rectangle 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":0,"op":155,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":1,"nm":"Deep Red Solid 1","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[540,960,0]},"a":{"a":0,"k":[540,960,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"sw":1080,"sh":1920,"sc":"#be2a2a","ip":0,"op":155,"st":0,"bm":0,"sr":1}]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/gradient_sleepy_loader.json b/submodules/RLottie/Sources/rlottie/example/resource/gradient_sleepy_loader.json deleted file mode 100644 index 2881125f7f..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/gradient_sleepy_loader.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.1.8","fr":23.9759979248047,"ip":0,"op":240.999979140721,"w":300,"h":300,"nm":"SynthesisProto_Loader","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Layer 2 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[-180],"e":[180]},{"t":239.999979227274}],"ix":10},"p":{"a":0,"k":[150.125,150,0],"ix":2},"a":{"a":0,"k":[533,533,0],"ix":1},"s":{"a":0,"k":[16,16,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[65.74,-27.805],[48.897,-48.895],[26.837,-63.449],[0,-71.877],[-27.805,-65.739],[-48.894,-48.896],[-63.449,-26.837],[-71.878,0],[-65.739,27.805],[-48.895,48.895],[-26.837,63.449],[0,71.878],[27.805,65.739],[48.896,48.896],[63.449,26.837],[71.877,0]],"o":[[-63.449,26.837],[-48.894,48.896],[-27.805,65.739],[0,71.878],[26.837,63.449],[48.897,48.895],[65.74,27.805],[71.877,0],[63.449,-26.837],[48.896,-48.896],[27.805,-65.739],[0,-71.877],[-26.837,-63.449],[-48.895,-48.895],[-65.739,-27.805],[-71.878,0]],"v":[[-207.395,-490.833],[-376.703,-376.703],[-490.833,-207.394],[-532.735,0],[-490.833,207.393],[-376.703,376.702],[-207.395,490.833],[0,532.735],[207.394,490.833],[376.702,376.702],[490.833,207.393],[532.738,0],[490.833,-207.394],[376.702,-376.703],[207.394,-490.833],[0,-532.738]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[65.201,65.2],[0,92.206],[-65.199,65.2],[-92.207,0],[-65.2,-65.2],[0,-92.206],[65.2,-65.201],[92.206,0]],"o":[[-65.199,-65.201],[0,-92.206],[65.201,-65.2],[92.206,0],[65.2,65.2],[0,92.206],[-65.2,65.2],[-92.207,0]],"v":[[-244.095,244.094],[-345.202,0],[-244.095,-244.094],[0,-345.202],[244.095,-244.094],[345.202,0],[244.095,244.094],[0,345.202]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"g":{"p":3,"k":{"a":0,"k":[0,0.133,0.063,0.282,0.5,0.386,0.257,0.459,1,0.639,0.451,0.635],"ix":9}},"s":{"a":0,"k":[661,0],"ix":5},"e":{"a":0,"k":[-690,0],"ix":6},"t":1,"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[533,533],"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":1,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":720.999937595269,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Layer 1 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[180],"e":[-180]},{"t":239.999979227274}],"ix":10},"p":{"a":0,"k":[150.125,150,0],"ix":2},"a":{"a":0,"k":[726,726,0],"ix":1},"s":{"a":0,"k":[16,16,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-400.378],[-400.379,0],[0,400.378],[400.378,0]],"o":[[0,400.378],[400.378,0],[0,-400.378],[-400.379,0]],"v":[[-724.948,0],[0,724.949],[724.948,0],[0,-724.949]],"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,"g":{"p":3,"k":{"a":0,"k":[0,0.133,0.063,0.282,0.5,0.386,0.257,0.459,1,0.639,0.451,0.635],"ix":9}},"s":{"a":0,"k":[200,0],"ix":5},"e":{"a":0,"k":[-608,0],"ix":6},"t":1,"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[726,726],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":180,"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":1,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":720.999937595269,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/happy.json b/submodules/RLottie/Sources/rlottie/example/resource/happy.json deleted file mode 100644 index 2558e31b52..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/happy.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.1.17","fr":25,"ip":0,"op":79,"w":1100,"h":1072,"nm":"feliz","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"emoticon feliz","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[561,549,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[300,300,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Degradado de 4 colores","np":16,"mn":"ADBE 4ColorGradient","ix":1,"en":1,"ef":[{"ty":6,"nm":"Posiciones y colores","mn":"ADBE 4ColorGradient-0011","ix":1,"v":0},{"ty":3,"nm":"Punto 1","mn":"ADBE 4ColorGradient-0001","ix":2,"v":{"a":0,"k":[70.469,58.563],"ix":2}},{"ty":2,"nm":"Color 1","mn":"ADBE 4ColorGradient-0002","ix":3,"v":{"a":0,"k":[0.937254905701,0.937254905701,0.623529434204,1],"ix":3}},{"ty":3,"nm":"Punto 2","mn":"ADBE 4ColorGradient-0003","ix":4,"v":{"a":0,"k":[970.521,70.474],"ix":4}},{"ty":2,"nm":"Color 2","mn":"ADBE 4ColorGradient-0004","ix":5,"v":{"a":0,"k":[0.937254905701,0.937254905701,0.623529434204,1],"ix":5}},{"ty":3,"nm":"Punto 3","mn":"ADBE 4ColorGradient-0005","ix":6,"v":{"a":0,"k":[110,964.8],"ix":6}},{"ty":2,"nm":"Color 3","mn":"ADBE 4ColorGradient-0006","ix":7,"v":{"a":0,"k":[0.937254905701,0.937254905701,0.623529434204,1],"ix":7}},{"ty":3,"nm":"Punto 4","mn":"ADBE 4ColorGradient-0007","ix":8,"v":{"a":0,"k":[990,964.8],"ix":8}},{"ty":2,"nm":"Color 4","mn":"ADBE 4ColorGradient-0008","ix":9,"v":{"a":0,"k":[1,0.78823530674,0.278431385756,1],"ix":9}},{"ty":6,"nm":"Color 4","mn":"ADBE 4ColorGradient-0012","ix":10,"v":0},{"ty":0,"nm":"Fusionar","mn":"ADBE 4ColorGradient-0009","ix":11,"v":{"a":0,"k":100,"ix":11}},{"ty":0,"nm":"Variación","mn":"ADBE 4ColorGradient-0010","ix":12,"v":{"a":0,"k":0,"ix":12}},{"ty":0,"nm":"Opacidad","mn":"ADBE 4ColorGradient-0013","ix":13,"v":{"a":0,"k":100,"ix":13}},{"ty":7,"nm":"Modo de fusión","mn":"ADBE 4ColorGradient-0014","ix":14,"v":{"a":0,"k":5,"ix":14}}]}],"shapes":[{"ty":"gr","it":[{"ty":"fl","c":{"a":0,"k":[0,0.894117474556,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Relleno 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"d":1,"ty":"el","s":{"a":0,"k":[115,115],"ix":2},"p":{"a":0,"k":[39,-37],"ix":3},"nm":"Trazado elíptico 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":0,"k":32,"ix":1},"e":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":-187,"ix":3},"m":1,"ix":3,"nm":"Recortar trazados 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.011764706112,0.010841984302,0.010841984302,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":8,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Trazo 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[6,99],"e":[63,88],"to":[9.5,-1.83333337306976],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":31.699,"s":[63,88],"e":[6,99],"to":[0,0],"ti":[9.5,3]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":45.88,"s":[6,99],"e":[6,70],"to":[-9.5,-3],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":50.884,"s":[6,70],"e":[6,99],"to":[0,0],"ti":[7.83333349227905,-2.83333325386047]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":55.055,"s":[6,99],"e":[-41,87],"to":[-7.83333349227905,2.83333325386047],"ti":[7.83333349227905,2]},{"t":65.8990478108317}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":0,"s":[100,100],"e":[100,100]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":45.88,"s":[100,100],"e":[146,146]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":50.884,"s":[146,146],"e":[100,100]},{"t":55.0552978108317}],"ix":3},"r":{"a":0,"k":-51.614,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformar"}],"nm":"boca 2","np":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":45.88,"s":[54.7,80.409],"e":[54.7,0]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":50.884,"s":[54.7,0],"e":[54.7,76]},{"t":55.0552978108317}],"ix":2},"p":{"a":0,"k":[-51,0],"ix":3},"nm":"Trazado elíptico 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":45.88,"s":[54.7,80.409],"e":[54.7,0]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":50.884,"s":[54.7,0],"e":[54.7,76]},{"t":55.0552978108317}],"ix":2},"p":{"a":0,"k":[51,0],"ix":3},"nm":"Trazado elíptico 2","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.027450980619,0.026697425172,0.026697425172,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Relleno 2","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"fl","c":{"a":0,"k":[0.007843137255,0.00719723234,0.00719723234,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Relleno 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.171},"n":"0p667_1_0p167_0p171","t":5.005,"s":[0,-26],"e":[71,-26],"to":[11.8333330154419,0],"ti":[0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":28.362,"s":[71,-26],"e":[0,-26],"to":[0,0],"ti":[22.1666660308838,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":50.884,"s":[0,-26],"e":[-62,-26],"to":[-22.1666660308838,0],"ti":[10.3333330154419,0]},{"t":74.2408446858317}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0]},"n":["0p667_1_0p167_0p167","0p667_1_0p167_0"],"t":5.005,"s":[100,100],"e":[74,100]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0"],"t":28.362,"s":[74,100],"e":[100,100]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0"],"t":50.884,"s":[100,100],"e":[87,100]},{"t":74.2408446858317}],"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":"Transformar"}],"nm":"ojos","np":4,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[100,100],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Trazado elíptico 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":15,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Recortar trazados 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.011764706112,0.010841984302,0.010841984302,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":8,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Trazo 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[52,-36],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-8,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformar"}],"nm":"ceja2","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[100,100],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Trazado elíptico 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":15,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Recortar trazados 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.011764706112,0.010841984302,0.010841984302,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":8,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Trazo 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[-52,-36],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-45,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformar"}],"nm":"ceja1","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.171},"n":"0p667_1_0p167_0p171","t":5.005,"s":[0,0],"e":[73,0],"to":[12.1666669845581,0],"ti":[0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":28.362,"s":[73,0],"e":[0,0],"to":[0,0],"ti":[23.3333339691162,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":50.884,"s":[0,0],"e":[-67,0],"to":[-23.3333339691162,0],"ti":[11.1666669845581,0]},{"t":74.2408446858317}],"ix":2},"a":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":45.88,"s":[0,0],"e":[0,-15],"to":[0,-2.5],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":50.884,"s":[0,-15],"e":[0,0],"to":[0,0],"ti":[0,-2.5]},{"t":55.0552978108317}],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0]},"n":["0p667_1_0p167_0p167","0p667_1_0p167_0"],"t":5.005,"s":[100,100],"e":[70,100]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0"],"t":28.362,"s":[70,100],"e":[100,100]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0"],"t":50.884,"s":[100,100],"e":[77,100]},{"t":74.2408446858317}],"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":"Transformar"}],"nm":"cejas","np":2,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[300,300],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Trazado elíptico 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.960784313725,0.847058823529,0.505882352941,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Relleno 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Transformar"}],"nm":"cara","np":2,"cix":2,"ix":5,"mn":"ADBE Vector Group","hd":false}],"ip":-1.66833500166833,"op":248.581915248582,"st":-1.66833500166833,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/heart.json b/submodules/RLottie/Sources/rlottie/example/resource/heart.json deleted file mode 100644 index 08b20396b1..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/heart.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.1.7","fr":29.9700012207031,"ip":0,"op":24.00000097754,"w":100,"h":100,"nm":"heart","ddd":0,"assets":[{"id":"comp_4","layers":[{"ddd":0,"ind":1,"ty":0,"nm":"Shape Layer 2 Comp 2","refId":"comp_5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":180,"ix":10},"p":{"a":0,"k":[50,50,0],"ix":2},"a":{"a":0,"k":[50,50,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":100,"h":100,"ip":0,"op":900.000036657751,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"Shape Layer 2 Comp 2","refId":"comp_5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":130,"ix":10},"p":{"a":0,"k":[50,50,0],"ix":2},"a":{"a":0,"k":[50,50,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":100,"h":100,"ip":0,"op":900.000036657751,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":0,"nm":"Shape Layer 2 Comp 2","refId":"comp_5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":90,"ix":10},"p":{"a":0,"k":[50,50,0],"ix":2},"a":{"a":0,"k":[50,50,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":100,"h":100,"ip":0,"op":900.000036657751,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":0,"nm":"Shape Layer 2 Comp 2","refId":"comp_5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":45,"ix":10},"p":{"a":0,"k":[50,50,0],"ix":2},"a":{"a":0,"k":[50,50,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":100,"h":100,"ip":0,"op":900.000036657751,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":0,"nm":"Shape Layer 2 Comp 2","refId":"comp_5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-135,"ix":10},"p":{"a":0,"k":[50,50,0],"ix":2},"a":{"a":0,"k":[50,50,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":100,"h":100,"ip":0,"op":900.000036657751,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":0,"nm":"Shape Layer 2 Comp 2","refId":"comp_5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-90,"ix":10},"p":{"a":0,"k":[50,50,0],"ix":2},"a":{"a":0,"k":[50,50,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":100,"h":100,"ip":0,"op":900.000036657751,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":0,"nm":"Shape Layer 2 Comp 2","refId":"comp_5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-45,"ix":10},"p":{"a":0,"k":[50,50,0],"ix":2},"a":{"a":0,"k":[50,50,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":100,"h":100,"ip":0,"op":900.000036657751,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":0,"nm":"Shape Layer 2 Comp 2","refId":"comp_5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[50,50,0],"ix":2},"a":{"a":0,"k":[50,50,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":100,"h":100,"ip":0,"op":900.000036657751,"st":0,"bm":0}]},{"id":"comp_5","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 4","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0.281]},"n":["0p667_1_0p333_0p281"],"t":3,"s":[0],"e":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":9,"s":[100],"e":[0]},{"t":17.0000006924242}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":0.567},"o":{"x":0.333,"y":0.406},"n":"0p667_0p567_0p333_0p406","t":3,"s":[39.878,39.582,0],"e":[39.878,22.253,0],"to":[0,-0.83333331346512,0],"ti":[0,2.48720121383667,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0.5},"n":"0p667_1_0p333_0p5","t":9,"s":[39.878,22.253,0],"e":[39.878,2.25,0],"to":[0,-8.33440494537354,0],"ti":[0,3.3337619304657,0]},{"t":17.0000006924242}],"ix":2},"a":{"a":0,"k":[-0.122,-27.75,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[15.897,15.897,-17.409]},"o":{"x":[0.333,0.333,0.333],"y":[-44.172,-44.172,107.618]},"n":["0p667_15p897_0p333_-44p172","0p667_15p897_0p333_-44p172","0p667_-17p409_0p333_107p618"],"t":3,"s":[78.68,78.68,100],"e":[78,78,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[-0.562,-0.562,24.545]},"n":["0p667_1_0p333_-0p562","0p667_1_0p333_-0p562","0p667_1_0p333_24p545"],"t":9,"s":[78,78,100],"e":[54,54,100]},{"t":17.0000006924242}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[6.66,6.66],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803921569,0.18431372549,0.56862745098,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-0.17,-26.594],"ix":2},"a":{"a":0,"k":[0,1.076],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":900.000036657751,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 3","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0.281]},"n":["0p667_1_0p333_0p281"],"t":0,"s":[0],"e":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":17.0000006924242}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":0.567},"o":{"x":0.333,"y":0.406},"n":"0p667_0p567_0p333_0p406","t":0,"s":[49.878,39.582,0],"e":[49.878,22.253,0],"to":[0,-2.35414934158325,0],"ti":[0,2.48720121383667,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0.687},"n":"0p667_1_0p333_0p687","t":6,"s":[49.878,22.253,0],"e":[49.878,2.25,0],"to":[0,-8.33440494537354,0],"ti":[0,3.3337619304657,0]},{"t":17.0000006924242}],"ix":2},"a":{"a":0,"k":[-0.122,-27.75,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[15.897,15.897,-17.409]},"o":{"x":[0.333,0.333,0.333],"y":[-44.172,-44.172,107.618]},"n":["0p667_15p897_0p333_-44p172","0p667_15p897_0p333_-44p172","0p667_-17p409_0p333_107p618"],"t":0,"s":[78.68,78.68,100],"e":[78,78,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[-0.773,-0.773,33.75]},"n":["0p667_1_0p333_-0p773","0p667_1_0p333_-0p773","0p667_1_0p333_33p75"],"t":6,"s":[78,78,100],"e":[54,54,100]},{"t":17.0000006924242}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[6.66,6.66],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.964705882353,0.309803921569,0.4,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-0.17,-26.594],"ix":2},"a":{"a":0,"k":[0,1.076],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":900.000036657751,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 2","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0.281]},"n":["0p667_1_0p333_0p281"],"t":5,"s":[0],"e":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":11,"s":[100],"e":[0]},{"t":19.0000007738859}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":0.567},"o":{"x":0.333,"y":0.406},"n":"0p667_0p567_0p333_0p406","t":5,"s":[59.878,39.582,0],"e":[59.878,22.253,0],"to":[0,-2.35414934158325,0],"ti":[0,2.48720121383667,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0.5},"n":"0p667_1_0p333_0p5","t":11,"s":[59.878,22.253,0],"e":[59.878,2.25,0],"to":[0,-8.33440494537354,0],"ti":[0,3.3337619304657,0]},{"t":19.0000007738859}],"ix":2},"a":{"a":0,"k":[-0.122,-27.75,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[15.897,15.897,-17.409]},"o":{"x":[0.333,0.333,0.333],"y":[-44.172,-44.172,107.618]},"n":["0p667_15p897_0p333_-44p172","0p667_15p897_0p333_-44p172","0p667_-17p409_0p333_107p618"],"t":5,"s":[78.68,78.68,100],"e":[78,78,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[-0.562,-0.562,24.545]},"n":["0p667_1_0p333_-0p562","0p667_1_0p333_-0p562","0p667_1_0p333_24p545"],"t":11,"s":[78,78,100],"e":[54,54,100]},{"t":19.0000007738859}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[6.66,6.66],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.868822583965,0.051056981554,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-0.17,-26.594],"ix":2},"a":{"a":0,"k":[0,1.076],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":5.00000020365417,"op":905.000036861406,"st":5.00000020365417,"bm":0}]}],"layers":[{"ddd":0,"ind":3,"ty":4,"nm":"Layer 2 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[50.085,49.972,0],"ix":2},"a":{"a":0,"k":[20.392,17.022,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.486,0.486,0.333],"y":[0,0,0]},"n":["0p667_1_0p486_0","0p667_1_0p486_0","0p667_1_0p333_0"],"t":0,"s":[0,0,100],"e":[119,119,100]},{"i":{"x":[0.576,0.576,0.667],"y":[1,1,1]},"o":{"x":[0.439,0.439,0.333],"y":[0,0,0]},"n":["0p576_1_0p439_0","0p576_1_0p439_0","0p667_1_0p333_0"],"t":5,"s":[119,119,100],"e":[82,82,100]},{"i":{"x":[0.288,0.288,0.667],"y":[1,1,1]},"o":{"x":[0.152,0.152,0.333],"y":[0,0,0]},"n":["0p288_1_0p152_0","0p288_1_0p152_0","0p667_1_0p333_0"],"t":10,"s":[82,82,100],"e":[100,100,100]},{"t":15.0000006109625}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-2.008,2.091],[-2.887,0.06],[0,0],[-2.098,-2.123],[0,0],[0,0],[-3.003,0.063],[0,0],[-2.092,-2.008],[-0.059,-2.889],[2.542,-1.428],[0.178,8.815]],"o":[[2.007,-2.09],[0,0],[3.002,-0.062],[0,0],[0,0],[2.009,-2.205],[0,0],[2.89,-0.058],[2.09,2.008],[0.229,11.336],[-7.185,-3.885],[-0.059,-2.89]],"v":[[-17.06,-13.009],[-9.471,-16.342],[-9.465,-16.342],[-1.555,-13.145],[-0.209,-11.783],[1.081,-13.198],[8.851,-16.714],[8.855,-16.714],[16.579,-13.69],[19.913,-6.096],[0.38,16.772],[-20.083,-5.285]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.964999988032,0.310000011968,0.4,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[20.392,17.022],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":900.000036657751,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":0,"nm":"Shape Layer 2 Comp 1","refId":"comp_4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[50,50,0],"ix":2},"a":{"a":0,"k":[50,50,0],"ix":1},"s":{"a":0,"k":[86,86,100],"ix":6}},"ao":0,"w":100,"h":100,"ip":3.00000012219251,"op":903.000036779944,"st":3.00000012219251,"bm":0},{"ddd":0,"ind":6,"ty":1,"nm":"White Solid 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[50,50,0],"ix":2},"a":{"a":0,"k":[50,50,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"sw":100,"sh":100,"sc":"#ffffff","ip":0,"op":900.000036657751,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/hourglass.json b/submodules/RLottie/Sources/rlottie/example/resource/hourglass.json deleted file mode 100644 index 8f54d57f4a..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/hourglass.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.0.3","fr":24,"ip":0,"op":46,"w":1280,"h":720,"nm":"Comp 1","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Layer 4 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[719.269,437.649,0],"ix":2},"a":{"a":0,"k":[81.853,109.045,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-15.782,6.528],[0,-19.879]],"o":[[0,0],[0,0],[0,-19.879],[15.81,6.551],[0,0]],"v":[[49.861,99.744],[-49.855,99.744],[-49.855,49.873],[-0.011,4.538],[49.861,49.873]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,19.879],[0,0],[0,0],[0,0],[15.787,-6.528]],"o":[[0,0],[0,0],[0,0],[0,19.901],[-15.782,-6.528]],"v":[[-49.855,-49.873],[-49.855,-99.717],[49.861,-99.717],[49.861,-49.873],[-0.011,-4.54]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[16.932,7.99],[0,23.823],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-16.938,-7.99],[0,-23.795],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,-23.795],[16.932,-7.99],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,23.823],[-16.938,7.99],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[81.6,99.744],[58.939,99.744],[58.939,49.873],[9.067,-0.001],[58.939,-49.873],[58.939,-99.717],[81.6,-99.717],[81.6,-108.795],[-81.6,-108.795],[-81.6,-99.717],[-58.933,-99.717],[-58.933,-49.873],[-9.061,-0.001],[-58.933,49.873],[-58.933,99.744],[-81.6,99.744],[-81.6,108.795],[81.6,108.795]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.999999820485,0.999999760646,0.999999820485,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[81.85,109.045],"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":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Layer 3 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[717.751,446.954,0],"e":[717.751,529.954,0],"to":[0,13.8333330154419,0],"ti":[0,-13.8333330154419,0]},{"t":4}],"ix":2},"a":{"a":0,"k":[3.594,3.594,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.839,0],[0,-1.839],[-1.857,0],[0,1.84]],"o":[[-1.857,0],[0,1.84],[1.839,0],[0,-1.839]],"v":[[0,-3.345],[-3.345,0],[0,3.345],[3.345,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[3.594,3.594],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":32,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Layer 10 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":180,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":25,"s":[719.431,537.721,0],"e":[719.431,537,0],"to":[0,-0.90864837169647,0],"ti":[0,1.77124309539795,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":32,"s":[719.431,537,0],"e":[719.431,537,0],"to":[0,-0.35245817899704,0],"ti":[0,0.40625029802322,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":36,"s":[719.431,537,0],"e":[719.431,537.722,0],"to":[0,-0.05667289346457,0],"ti":[0,0.15397024154663,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":37,"s":[719.431,537.722,0],"e":[719.431,513.721,0],"to":[0,-2.94422245025635,0],"ti":[0,0.72574734687805,0]},{"t":41}],"ix":2},"a":{"a":0,"k":[61.419,0.91,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":0,"s":[100,0.39,100],"e":[100,7.248,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":4,"s":[100,7.248,100],"e":[100,65.273,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":9,"s":[100,65.273,100],"e":[102,103.253,100]},{"t":24}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-6.218,1.013],[0,0],[0,0],[0,0],[0,0],[0,0],[14.228,-18.623],[8.547,0.072],[0,0],[0.008,0.001],[0.037,0.001],[0,0],[0.001,0],[0,0],[0.203,0.01],[0,0],[0.028,0.007],[12.494,16.755]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[6.458,1.052],[-12.475,16.329],[0,0],[-0.007,0],[-0.037,-0.001],[0,0],[-0.001,-0.001],[0,0],[-0.196,0.005],[0,0],[-0.028,-0.002],[-9.007,-0.572],[-13.433,-18.017]],"v":[[-54.95,-35.66],[-2.777,-35.66],[-2.777,-35.659],[2.537,-35.659],[2.537,-35.66],[54.71,-35.66],[41.714,8.278],[0.017,35.588],[0.017,35.595],[-0.005,35.589],[-0.12,35.593],[-0.119,35.556],[-0.121,35.555],[-0.12,35.593],[-0.722,35.574],[-0.722,35.595],[-0.806,35.571],[-42.953,5.945]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[61.418,35.91],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Layer 9 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":12,"s":[717.751,446.954,0],"e":[717.751,529.954,0],"to":[0,13.8333330154419,0],"ti":[0,-13.8333330154419,0]},{"t":16}],"ix":2},"a":{"a":0,"k":[3.594,3.594,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.839,0],[0,-1.839],[-1.857,0],[0,1.84]],"o":[[-1.857,0],[0,1.84],[1.839,0],[0,-1.839]],"v":[[0,-3.345],[-3.345,0],[0,3.345],[3.345,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[3.594,3.594],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":12,"op":24,"st":12,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Layer 8 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":11,"s":[717.751,446.954,0],"e":[717.751,529.954,0],"to":[0,13.8333330154419,0],"ti":[0,-13.8333330154419,0]},{"t":15}],"ix":2},"a":{"a":0,"k":[3.594,3.594,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.839,0],[0,-1.839],[-1.857,0],[0,1.84]],"o":[[-1.857,0],[0,1.84],[1.839,0],[0,-1.839]],"v":[[0,-3.345],[-3.345,0],[0,3.345],[3.345,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[3.594,3.594],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":11,"op":23,"st":11,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Layer 7 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":10,"s":[717.751,446.954,0],"e":[717.751,529.954,0],"to":[0,13.8333330154419,0],"ti":[0,-13.8333330154419,0]},{"t":14}],"ix":2},"a":{"a":0,"k":[3.594,3.594,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.839,0],[0,-1.839],[-1.857,0],[0,1.84]],"o":[[-1.857,0],[0,1.84],[1.839,0],[0,-1.839]],"v":[[0,-3.345],[-3.345,0],[0,3.345],[3.345,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[3.594,3.594],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":10,"op":22,"st":10,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Layer 6 Outlines 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":7,"s":[717.751,446.954,0],"e":[717.751,529.954,0],"to":[0,13.8333330154419,0],"ti":[0,-13.8333330154419,0]},{"t":11}],"ix":2},"a":{"a":0,"k":[3.594,3.594,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.839,0],[0,-1.839],[-1.857,0],[0,1.84]],"o":[[-1.857,0],[0,1.84],[1.839,0],[0,-1.839]],"v":[[0,-3.345],[-3.345,0],[0,3.345],[3.345,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[3.594,3.594],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":7,"op":19,"st":7,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"Layer 6 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":5,"s":[717.751,446.954,0],"e":[717.751,529.954,0],"to":[0,13.8333330154419,0],"ti":[0,-13.8333330154419,0]},{"t":9}],"ix":2},"a":{"a":0,"k":[3.594,3.594,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.839,0],[0,-1.839],[-1.857,0],[0,1.84]],"o":[[-1.857,0],[0,1.84],[1.839,0],[0,-1.839]],"v":[[0,-3.345],[-3.345,0],[0,3.345],[3.345,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[3.594,3.594],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":5,"op":17,"st":5,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"Layer 5 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":2,"s":[717.751,446.954,0],"e":[717.751,529.954,0],"to":[0,13.8333330154419,0],"ti":[0,-13.8333330154419,0]},{"t":6}],"ix":2},"a":{"a":0,"k":[3.594,3.594,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.839,0],[0,-1.839],[-1.857,0],[0,1.84]],"o":[[-1.857,0],[0,1.84],[1.839,0],[0,-1.839]],"v":[[0,-3.345],[-3.345,0],[0,3.345],[3.345,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[3.594,3.594],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":2,"op":14,"st":2,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"Layer 2 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[718.431,432.721,0],"ix":2},"a":{"a":0,"k":[61.419,69.91,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":0,"s":[100,100,100],"e":[88.882,63.763,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":10,"s":[88.882,63.763,100],"e":[84.435,49.34,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":14,"s":[84.435,49.34,100],"e":[65.373,33.486,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":18,"s":[65.373,33.486,100],"e":[39.758,11.315,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":24,"s":[39.758,11.315,100],"e":[30.803,-0.129,100]},{"t":27}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-6.218,1.013],[0,0],[0,0],[0,0],[0,0],[0,0],[14.228,-18.623],[8.547,0.072],[0,0],[0.008,0.001],[0.037,0.001],[0,0],[0.001,0],[0,0],[0.203,0.01],[0,0],[0.028,0.007],[12.494,16.755]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[6.458,1.052],[-12.475,16.329],[0,0],[-0.007,0],[-0.037,-0.001],[0,0],[-0.001,-0.001],[0,0],[-0.196,0.005],[0,0],[-0.028,-0.002],[-9.007,-0.572],[-13.433,-18.017]],"v":[[-54.95,-35.66],[-2.777,-35.66],[-2.777,-35.659],[2.537,-35.659],[2.537,-35.66],[54.71,-35.66],[41.714,8.278],[0.017,35.588],[0.017,35.595],[-0.005,35.589],[-0.12,35.593],[-0.119,35.556],[-0.121,35.555],[-0.12,35.593],[-0.722,35.574],[-0.722,35.595],[-0.806,35.571],[-42.953,5.945]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[61.418,35.91],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":2,"ty":0,"nm":"egg timer","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":34,"s":[0],"e":[180]},{"t":40}],"ix":10},"p":{"a":0,"k":[628,388,0],"ix":2},"a":{"a":0,"k":[719,437,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":1400,"h":980,"ip":0,"op":47,"st":0,"bm":0}]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/icon_animation.json b/submodules/RLottie/Sources/rlottie/example/resource/icon_animation.json deleted file mode 100644 index c574f7491b..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/icon_animation.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.1.13","fr":33.8690032958984,"ip":0,"op":90.000932593746,"w":276,"h":580,"nm":"IconAnimation","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[100,102,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[400,400,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-2.083,-0.067],[-0.067,2.085],[2.085,0.067],[0.068,-2.084]],"o":[[2.084,0.068],[0.067,-2.084],[-2.083,-0.068],[-0.067,2.085]],"v":[[-0.123,3.772],[3.774,0.12],[0.122,-3.773],[-3.774,-0.124]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[2.438,-16.813],"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":"head","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.66,4.158],[0.55,-0.255],[0.162,-0.111],[0,0],[0.052,-0.433],[0,0],[-0.72,-0.085],[-0.053,0],[-0.079,0.669],[0,0],[0,0]],"o":[[-0.122,0.001],[-0.175,0.062],[0,0],[-0.358,0.248],[0,0],[-0.083,0.72],[0.053,0.006],[0.656,0],[0,0],[0,0],[0,0]],"v":[[1.653,-16.626],[-0.169,-16.3],[-0.678,-16.043],[-6.499,-11.32],[-7.142,-10.25],[-7.54,-4.643],[-6.387,-3.183],[-6.23,-3.174],[-4.926,-4.334],[-4.207,-9.214],[-2.379,-10.24]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1.219,-10.875],"ix":2},"a":{"a":0,"k":[1.219,-15.875],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":50.804,"s":[0],"e":[-40]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":60.964,"s":[-40],"e":[-71]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":76.205,"s":[-71],"e":[-40]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":86.366,"s":[-40],"e":[0]},{"t":101.607009887695}],"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":"arm right","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.091,-0.063],[0,0],[-0.282,0],[-0.276,0.395],[0.644,0.449],[0,0],[0,0],[0.035,0.064]],"o":[[0.074,0.082],[0,0],[0.247,0.175],[0.448,0],[0.447,-0.644],[0,0],[0,0],[-0.291,-1.581],[-4.465,2.376]],"v":[[4.208,-6.719],[4.455,-6.499],[8.738,-3.549],[9.55,-3.292],[10.717,-3.899],[10.366,-5.878],[6.496,-8.672],[4.938,-13.658],[1.653,-16.626]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1.313,-10.375],"ix":2},"a":{"a":0,"k":[1.313,-15.375],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":50.804,"s":[0],"e":[40]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":60.964,"s":[40],"e":[78]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":76.205,"s":[78],"e":[40]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":86.366,"s":[40],"e":[0]},{"t":101.607009887695}],"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":"arm left","np":2,"cix":2,"ix":3,"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},"n":"0p833_0p833_0p167_0p167","t":50.804,"s":[{"i":[[7.053,-0.748],[0,0],[0,0],[-0.65,-0.519],[-0.331,0],[-0.297,0.374],[0,0],[-0.065,0.158],[0,0]],"o":[[-0.072,-0.061],[0,0],[-0.519,0.651],[0.277,0.222],[0.441,0],[0,0],[0.106,-0.134],[0,0],[0,0]],"v":[[-2.616,-2.439],[-5.683,6.781],[-10.646,13.483],[-10.407,15.601],[-9.466,15.932],[-8.288,15.362],[-2.648,8.873],[-2.389,8.435],[0.782,2.375]],"c":true}],"e":[{"i":[[7.053,-0.748],[0,0],[0,0],[-0.65,-0.519],[-0.331,0],[-0.297,0.374],[0,0],[-0.065,0.158],[0,0]],"o":[[-0.072,-0.061],[0,0],[-0.519,0.651],[0.277,0.222],[0.441,0],[0,0],[0.106,-0.134],[0,0],[0,0]],"v":[[-2.616,-2.439],[-5.683,6.781],[-13.908,5.842],[-14.222,8.524],[-13.282,8.855],[-12.04,9.012],[-4.151,10.956],[-3.306,10.456],[0.782,2.375]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":60.964,"s":[{"i":[[7.053,-0.748],[0,0],[0,0],[-0.65,-0.519],[-0.331,0],[-0.297,0.374],[0,0],[-0.065,0.158],[0,0]],"o":[[-0.072,-0.061],[0,0],[-0.519,0.651],[0.277,0.222],[0.441,0],[0,0],[0.106,-0.134],[0,0],[0,0]],"v":[[-2.616,-2.439],[-5.683,6.781],[-13.908,5.842],[-14.222,8.524],[-13.282,8.855],[-12.04,9.012],[-4.151,10.956],[-3.306,10.456],[0.782,2.375]],"c":true}],"e":[{"i":[[7.053,-0.748],[0,0],[0,0],[-0.65,-0.519],[-0.331,0],[-0.297,0.374],[0,0],[-0.065,0.158],[0,0]],"o":[[-0.072,-0.061],[0,0],[-0.519,0.651],[0.277,0.222],[0.441,0],[0,0],[0.106,-0.134],[0,0],[0,0]],"v":[[-2.616,-2.439],[-5.683,6.781],[-9.071,14.817],[-8.832,16.934],[-7.892,17.265],[-6.713,16.695],[-2.648,8.873],[-2.389,8.435],[0.782,2.375]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":71.125,"s":[{"i":[[7.053,-0.748],[0,0],[0,0],[-0.65,-0.519],[-0.331,0],[-0.297,0.374],[0,0],[-0.065,0.158],[0,0]],"o":[[-0.072,-0.061],[0,0],[-0.519,0.651],[0.277,0.222],[0.441,0],[0,0],[0.106,-0.134],[0,0],[0,0]],"v":[[-2.616,-2.439],[-5.683,6.781],[-9.071,14.817],[-8.832,16.934],[-7.892,17.265],[-6.713,16.695],[-2.648,8.873],[-2.389,8.435],[0.782,2.375]],"c":true}],"e":[{"i":[[7.053,-0.748],[0,0],[0,0],[-0.65,-0.519],[-0.331,0],[-0.297,0.374],[0,0],[-0.065,0.158],[0,0]],"o":[[-0.072,-0.061],[0,0],[-0.519,0.651],[0.277,0.222],[0.441,0],[0,0],[0.106,-0.134],[0,0],[0,0]],"v":[[-2.616,-2.439],[-5.683,6.781],[-10.646,13.483],[-10.407,15.601],[-9.466,15.932],[-8.288,15.362],[-2.648,8.873],[-2.389,8.435],[0.782,2.375]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":76.205,"s":[{"i":[[7.053,-0.748],[0,0],[0,0],[-0.65,-0.519],[-0.331,0],[-0.297,0.374],[0,0],[-0.065,0.158],[0,0]],"o":[[-0.072,-0.061],[0,0],[-0.519,0.651],[0.277,0.222],[0.441,0],[0,0],[0.106,-0.134],[0,0],[0,0]],"v":[[-2.616,-2.439],[-5.683,6.781],[-10.646,13.483],[-10.407,15.601],[-9.466,15.932],[-8.288,15.362],[-2.648,8.873],[-2.389,8.435],[0.782,2.375]],"c":true}],"e":[{"i":[[7.053,-0.748],[0,0],[0,0],[-0.65,-0.519],[-0.331,0],[-0.297,0.374],[0,0],[-0.065,0.158],[0,0]],"o":[[-0.072,-0.061],[0,0],[-0.519,0.651],[0.277,0.222],[0.441,0],[0,0],[0.106,-0.134],[0,0],[0,0]],"v":[[-2.616,-2.439],[-5.683,6.781],[-9.071,14.817],[-8.832,16.934],[-7.892,17.265],[-6.713,16.695],[-2.648,8.873],[-2.389,8.435],[0.782,2.375]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":86.366,"s":[{"i":[[7.053,-0.748],[0,0],[0,0],[-0.65,-0.519],[-0.331,0],[-0.297,0.374],[0,0],[-0.065,0.158],[0,0]],"o":[[-0.072,-0.061],[0,0],[-0.519,0.651],[0.277,0.222],[0.441,0],[0,0],[0.106,-0.134],[0,0],[0,0]],"v":[[-2.616,-2.439],[-5.683,6.781],[-9.071,14.817],[-8.832,16.934],[-7.892,17.265],[-6.713,16.695],[-2.648,8.873],[-2.389,8.435],[0.782,2.375]],"c":true}],"e":[{"i":[[7.053,-0.748],[0,0],[0,0],[-0.65,-0.519],[-0.331,0],[-0.297,0.374],[0,0],[-0.065,0.158],[0,0]],"o":[[-0.072,-0.061],[0,0],[-0.519,0.651],[0.277,0.222],[0.441,0],[0,0],[0.106,-0.134],[0,0],[0,0]],"v":[[-2.616,-2.439],[-5.683,6.781],[-8.141,13.802],[-7.902,15.92],[-6.961,16.251],[-5.783,15.681],[-2.648,8.873],[-2.389,8.435],[0.782,2.375]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":96.527,"s":[{"i":[[7.053,-0.748],[0,0],[0,0],[-0.65,-0.519],[-0.331,0],[-0.297,0.374],[0,0],[-0.065,0.158],[0,0]],"o":[[-0.072,-0.061],[0,0],[-0.519,0.651],[0.277,0.222],[0.441,0],[0,0],[0.106,-0.134],[0,0],[0,0]],"v":[[-2.616,-2.439],[-5.683,6.781],[-8.141,13.802],[-7.902,15.92],[-6.961,16.251],[-5.783,15.681],[-2.648,8.873],[-2.389,8.435],[0.782,2.375]],"c":true}],"e":[{"i":[[7.053,-0.748],[0,0],[0,0],[-0.65,-0.519],[-0.331,0],[-0.297,0.374],[0,0],[-0.065,0.158],[0,0]],"o":[[-0.072,-0.061],[0,0],[-0.519,0.651],[0.277,0.222],[0.441,0],[0,0],[0.106,-0.134],[0,0],[0,0]],"v":[[-2.616,-2.439],[-5.683,6.781],[-10.646,13.483],[-10.407,15.601],[-9.466,15.932],[-8.288,15.362],[-2.648,8.873],[-2.389,8.435],[0.782,2.375]],"c":true}]},{"t":101.607009887695}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-0.063,2.75],"ix":2},"a":{"a":0,"k":[-0.063,-2.25],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":50.804,"s":[0],"e":[-42]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":60.964,"s":[-42],"e":[-57]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":71.125,"s":[-57],"e":[-59]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":76.205,"s":[-59],"e":[-25]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":86.366,"s":[-25],"e":[4]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":96.527,"s":[4],"e":[0]},{"t":101.607009887695}],"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":"leg right","np":2,"cix":2,"ix":4,"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},"n":"0p833_0p833_0p167_0p167","t":50.804,"s":[{"i":[[0,0],[0.101,0.149],[0,0],[-0.007,0.021],[0,0],[0,0],[0,0],[-0.656,0],[-0.15,0.046],[0.248,0.813]],"o":[[-0.054,-0.172],[0,0],[0.034,-0.145],[-5.804,0.458],[0,0],[0,0],[0.201,0.661],[0.149,0],[0.811,-0.248],[0,0]],"v":[[8.566,6.553],[8.333,6.066],[3.59,-2.105],[3.664,-2.552],[0.782,2.375],[5.127,7.892],[7.725,15.592],[9.191,16.678],[9.643,16.612],[10.662,14.693]],"c":true}],"e":[{"i":[[0,0],[0.101,0.149],[0,0],[-0.007,0.021],[0,0],[0,0],[0,0],[-0.656,0],[-0.15,0.046],[0.248,0.813]],"o":[[-0.054,-0.172],[0,0],[0.034,-0.145],[-5.804,0.458],[0,0],[0,0],[0.201,0.661],[0.149,0],[0.811,-0.248],[0,0]],"v":[[8.566,6.553],[8.333,6.066],[3.59,-2.105],[3.664,-2.552],[0.782,2.375],[5.127,7.892],[9.788,14.342],[11.253,15.428],[11.706,15.362],[12.724,13.443]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":60.964,"s":[{"i":[[0,0],[0.101,0.149],[0,0],[-0.007,0.021],[0,0],[0,0],[0,0],[-0.656,0],[-0.15,0.046],[0.248,0.813]],"o":[[-0.054,-0.172],[0,0],[0.034,-0.145],[-5.804,0.458],[0,0],[0,0],[0.201,0.661],[0.149,0],[0.811,-0.248],[0,0]],"v":[[8.566,6.553],[8.333,6.066],[3.59,-2.105],[3.664,-2.552],[0.782,2.375],[5.127,7.892],[9.788,14.342],[11.253,15.428],[11.706,15.362],[12.724,13.443]],"c":true}],"e":[{"i":[[0,0],[0.101,0.149],[0,0],[-0.007,0.021],[0,0],[0,0],[0,0],[-0.656,0],[-0.15,0.046],[0.248,0.813]],"o":[[-0.054,-0.172],[0,0],[0.034,-0.145],[-5.804,0.458],[0,0],[0,0],[0.201,0.661],[0.149,0],[0.811,-0.248],[0,0]],"v":[[8.566,6.553],[8.333,6.066],[3.59,-2.105],[3.664,-2.552],[0.782,2.375],[5.127,7.892],[9.788,14.342],[11.253,15.428],[11.706,15.362],[12.724,13.443]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":71.125,"s":[{"i":[[0,0],[0.101,0.149],[0,0],[-0.007,0.021],[0,0],[0,0],[0,0],[-0.656,0],[-0.15,0.046],[0.248,0.813]],"o":[[-0.054,-0.172],[0,0],[0.034,-0.145],[-5.804,0.458],[0,0],[0,0],[0.201,0.661],[0.149,0],[0.811,-0.248],[0,0]],"v":[[8.566,6.553],[8.333,6.066],[3.59,-2.105],[3.664,-2.552],[0.782,2.375],[5.127,7.892],[9.788,14.342],[11.253,15.428],[11.706,15.362],[12.724,13.443]],"c":true}],"e":[{"i":[[0,0],[0.101,0.149],[0,0],[-0.007,0.021],[0,0],[0,0],[0,0],[-0.656,0],[-0.15,0.046],[0.248,0.813]],"o":[[-0.054,-0.172],[0,0],[0.034,-0.145],[-5.804,0.458],[0,0],[0,0],[0.201,0.661],[0.149,0],[0.811,-0.248],[0,0]],"v":[[8.566,6.553],[8.333,6.066],[3.59,-2.105],[3.664,-2.552],[0.782,2.375],[5.127,7.892],[7.725,15.592],[9.191,16.678],[9.643,16.612],[10.662,14.693]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":76.205,"s":[{"i":[[0,0],[0.101,0.149],[0,0],[-0.007,0.021],[0,0],[0,0],[0,0],[-0.656,0],[-0.15,0.046],[0.248,0.813]],"o":[[-0.054,-0.172],[0,0],[0.034,-0.145],[-5.804,0.458],[0,0],[0,0],[0.201,0.661],[0.149,0],[0.811,-0.248],[0,0]],"v":[[8.566,6.553],[8.333,6.066],[3.59,-2.105],[3.664,-2.552],[0.782,2.375],[5.127,7.892],[7.725,15.592],[9.191,16.678],[9.643,16.612],[10.662,14.693]],"c":true}],"e":[{"i":[[0,0],[0.101,0.149],[0,0],[-0.007,0.021],[0,0],[0,0],[0,0],[-0.656,0],[-0.15,0.046],[-0.146,0.395]],"o":[[-0.054,-0.172],[0,0],[0.034,-0.145],[-5.804,0.458],[0,0],[0,0],[0.201,0.661],[0.149,0],[0.811,-0.248],[0,0]],"v":[[8.884,7.314],[9.099,6.616],[3.59,-2.105],[3.664,-2.552],[0.782,2.375],[5.127,7.892],[1.131,14.888],[2.597,15.974],[3.049,15.908],[4.628,14.457]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":86.366,"s":[{"i":[[0,0],[0.101,0.149],[0,0],[-0.007,0.021],[0,0],[0,0],[0,0],[-0.656,0],[-0.15,0.046],[-0.146,0.395]],"o":[[-0.054,-0.172],[0,0],[0.034,-0.145],[-5.804,0.458],[0,0],[0,0],[0.201,0.661],[0.149,0],[0.811,-0.248],[0,0]],"v":[[8.884,7.314],[9.099,6.616],[3.59,-2.105],[3.664,-2.552],[0.782,2.375],[5.127,7.892],[1.131,14.888],[2.597,15.974],[3.049,15.908],[4.628,14.457]],"c":true}],"e":[{"i":[[0,0],[0.101,0.149],[0,0],[-0.007,0.021],[0,0],[0,0],[0,0],[-0.656,0],[-0.15,0.046],[0.248,0.813]],"o":[[-0.054,-0.172],[0,0],[0.034,-0.145],[-5.804,0.458],[0,0],[0,0],[0.201,0.661],[0.149,0],[0.811,-0.248],[0,0]],"v":[[8.566,6.553],[8.333,6.066],[3.59,-2.105],[3.664,-2.552],[0.782,2.375],[5.127,7.892],[9.722,13.827],[11.188,14.913],[11.64,14.846],[12.659,12.927]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":96.527,"s":[{"i":[[0,0],[0.101,0.149],[0,0],[-0.007,0.021],[0,0],[0,0],[0,0],[-0.656,0],[-0.15,0.046],[0.248,0.813]],"o":[[-0.054,-0.172],[0,0],[0.034,-0.145],[-5.804,0.458],[0,0],[0,0],[0.201,0.661],[0.149,0],[0.811,-0.248],[0,0]],"v":[[8.566,6.553],[8.333,6.066],[3.59,-2.105],[3.664,-2.552],[0.782,2.375],[5.127,7.892],[9.722,13.827],[11.188,14.913],[11.64,14.846],[12.659,12.927]],"c":true}],"e":[{"i":[[0,0],[0.101,0.149],[0,0],[-0.007,0.021],[0,0],[0,0],[0,0],[-0.656,0],[-0.15,0.046],[0.248,0.813]],"o":[[-0.054,-0.172],[0,0],[0.034,-0.145],[-5.804,0.458],[0,0],[0,0],[0.201,0.661],[0.149,0],[0.811,-0.248],[0,0]],"v":[[8.566,6.553],[8.333,6.066],[3.59,-2.105],[3.664,-2.552],[0.782,2.375],[5.127,7.892],[7.725,15.592],[9.191,16.678],[9.643,16.612],[10.662,14.693]],"c":true}]},{"t":101.607009887695}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1.094,3.281],"ix":2},"a":{"a":0,"k":[1.094,-1.719],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":50.804,"s":[0],"e":[34]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":60.964,"s":[34],"e":[64]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":71.125,"s":[64],"e":[60]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":76.205,"s":[60],"e":[18]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":86.366,"s":[18],"e":[4]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":96.527,"s":[4],"e":[0]},{"t":101.607009887695}],"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":"leg left","np":2,"cix":2,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.013,0.152],[0,0],[-0.091,-0.063],[1.678,0.136],[0.55,-0.255],[0.162,-0.111],[0,0],[0,0],[-0.022,-0.203],[-1.843,0.062]],"o":[[0.034,-0.145],[0,0],[0.074,0.082],[0,0],[-0.65,-0.052],[-0.175,0.062],[0,0],[0,0],[-0.018,0.211],[0,0],[1.843,-0.062]],"v":[[3.59,-2.105],[3.664,-2.552],[4.208,-6.719],[4.455,-6.499],[1.653,-16.626],[-0.169,-16.3],[-0.678,-16.043],[-2.379,-10.24],[-2.626,-3.062],[-2.616,-2.439],[0.782,2.375]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,5],"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":"body","np":3,"cix":2,"ix":6,"mn":"ADBE Vector Group","hd":false}],"ip":50.8035049438477,"op":389.493537902832,"st":50.8035049438477,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[100,102,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[400,400,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-2.083,-0.067],[-0.067,2.085],[2.085,0.067],[0.068,-2.084]],"o":[[2.084,0.068],[0.067,-2.084],[-2.083,-0.068],[-0.067,2.085]],"v":[[-0.123,3.772],[3.774,0.12],[0.122,-3.773],[-3.774,-0.124]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[2.438,-16.813],"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":"head","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.66,4.158],[0.55,-0.255],[0.162,-0.111],[0,0],[0.052,-0.433],[0,0],[-0.72,-0.085],[-0.053,0],[-0.079,0.669],[0,0],[0,0]],"o":[[-0.122,0.001],[-0.175,0.062],[0,0],[-0.358,0.248],[0,0],[-0.083,0.72],[0.053,0.006],[0.656,0],[0,0],[0,0],[0,0]],"v":[[1.653,-16.626],[-0.169,-16.3],[-0.678,-16.043],[-6.499,-11.32],[-7.142,-10.25],[-7.54,-4.643],[-6.387,-3.183],[-6.23,-3.174],[-4.926,-4.334],[-4.207,-9.214],[-2.379,-10.24]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1.219,-10.875],"ix":2},"a":{"a":0,"k":[1.219,-15.875],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[-40]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":10.161,"s":[-40],"e":[-71]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":25.402,"s":[-71],"e":[-40]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35.562,"s":[-40],"e":[0]},{"t":50.8035049438477}],"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":"arm right","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.091,-0.063],[0,0],[-0.282,0],[-0.276,0.395],[0.644,0.449],[0,0],[0,0],[0.035,0.064]],"o":[[0.074,0.082],[0,0],[0.247,0.175],[0.448,0],[0.447,-0.644],[0,0],[0,0],[-0.291,-1.581],[-4.465,2.376]],"v":[[4.208,-6.719],[4.455,-6.499],[8.738,-3.549],[9.55,-3.292],[10.717,-3.899],[10.366,-5.878],[6.496,-8.672],[4.938,-13.658],[1.653,-16.626]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1.313,-10.375],"ix":2},"a":{"a":0,"k":[1.313,-15.375],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[40]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":10.161,"s":[40],"e":[78]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":25.402,"s":[78],"e":[40]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35.562,"s":[40],"e":[0]},{"t":50.8035049438477}],"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":"arm left","np":2,"cix":2,"ix":3,"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},"n":"0p833_0p833_0p167_0p167","t":0,"s":[{"i":[[7.053,-0.748],[0,0],[0,0],[-0.65,-0.519],[-0.331,0],[-0.297,0.374],[0,0],[-0.065,0.158],[0,0]],"o":[[-0.072,-0.061],[0,0],[-0.519,0.651],[0.277,0.222],[0.441,0],[0,0],[0.106,-0.134],[0,0],[0,0]],"v":[[-2.616,-2.439],[-5.683,6.781],[-10.646,13.483],[-10.407,15.601],[-9.466,15.932],[-8.288,15.362],[-2.648,8.873],[-2.389,8.435],[0.782,2.375]],"c":true}],"e":[{"i":[[7.053,-0.748],[0,0],[0,0],[-0.65,-0.519],[-0.331,0],[-0.297,0.374],[0,0],[-0.065,0.158],[0,0]],"o":[[-0.072,-0.061],[0,0],[-0.519,0.651],[0.277,0.222],[0.441,0],[0,0],[0.106,-0.134],[0,0],[0,0]],"v":[[-2.616,-2.439],[-5.683,6.781],[-13.908,5.842],[-14.222,8.524],[-13.282,8.855],[-12.04,9.012],[-4.151,10.956],[-3.306,10.456],[0.782,2.375]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":10.161,"s":[{"i":[[7.053,-0.748],[0,0],[0,0],[-0.65,-0.519],[-0.331,0],[-0.297,0.374],[0,0],[-0.065,0.158],[0,0]],"o":[[-0.072,-0.061],[0,0],[-0.519,0.651],[0.277,0.222],[0.441,0],[0,0],[0.106,-0.134],[0,0],[0,0]],"v":[[-2.616,-2.439],[-5.683,6.781],[-13.908,5.842],[-14.222,8.524],[-13.282,8.855],[-12.04,9.012],[-4.151,10.956],[-3.306,10.456],[0.782,2.375]],"c":true}],"e":[{"i":[[7.053,-0.748],[0,0],[0,0],[-0.65,-0.519],[-0.331,0],[-0.297,0.374],[0,0],[-0.065,0.158],[0,0]],"o":[[-0.072,-0.061],[0,0],[-0.519,0.651],[0.277,0.222],[0.441,0],[0,0],[0.106,-0.134],[0,0],[0,0]],"v":[[-2.616,-2.439],[-5.683,6.781],[-9.071,14.817],[-8.832,16.934],[-7.892,17.265],[-6.713,16.695],[-2.648,8.873],[-2.389,8.435],[0.782,2.375]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":20.321,"s":[{"i":[[7.053,-0.748],[0,0],[0,0],[-0.65,-0.519],[-0.331,0],[-0.297,0.374],[0,0],[-0.065,0.158],[0,0]],"o":[[-0.072,-0.061],[0,0],[-0.519,0.651],[0.277,0.222],[0.441,0],[0,0],[0.106,-0.134],[0,0],[0,0]],"v":[[-2.616,-2.439],[-5.683,6.781],[-9.071,14.817],[-8.832,16.934],[-7.892,17.265],[-6.713,16.695],[-2.648,8.873],[-2.389,8.435],[0.782,2.375]],"c":true}],"e":[{"i":[[7.053,-0.748],[0,0],[0,0],[-0.65,-0.519],[-0.331,0],[-0.297,0.374],[0,0],[-0.065,0.158],[0,0]],"o":[[-0.072,-0.061],[0,0],[-0.519,0.651],[0.277,0.222],[0.441,0],[0,0],[0.106,-0.134],[0,0],[0,0]],"v":[[-2.616,-2.439],[-5.683,6.781],[-10.646,13.483],[-10.407,15.601],[-9.466,15.932],[-8.288,15.362],[-2.648,8.873],[-2.389,8.435],[0.782,2.375]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":25.402,"s":[{"i":[[7.053,-0.748],[0,0],[0,0],[-0.65,-0.519],[-0.331,0],[-0.297,0.374],[0,0],[-0.065,0.158],[0,0]],"o":[[-0.072,-0.061],[0,0],[-0.519,0.651],[0.277,0.222],[0.441,0],[0,0],[0.106,-0.134],[0,0],[0,0]],"v":[[-2.616,-2.439],[-5.683,6.781],[-10.646,13.483],[-10.407,15.601],[-9.466,15.932],[-8.288,15.362],[-2.648,8.873],[-2.389,8.435],[0.782,2.375]],"c":true}],"e":[{"i":[[7.053,-0.748],[0,0],[0,0],[-0.65,-0.519],[-0.331,0],[-0.297,0.374],[0,0],[-0.065,0.158],[0,0]],"o":[[-0.072,-0.061],[0,0],[-0.519,0.651],[0.277,0.222],[0.441,0],[0,0],[0.106,-0.134],[0,0],[0,0]],"v":[[-2.616,-2.439],[-5.683,6.781],[-9.071,14.817],[-8.832,16.934],[-7.892,17.265],[-6.713,16.695],[-2.648,8.873],[-2.389,8.435],[0.782,2.375]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":35.562,"s":[{"i":[[7.053,-0.748],[0,0],[0,0],[-0.65,-0.519],[-0.331,0],[-0.297,0.374],[0,0],[-0.065,0.158],[0,0]],"o":[[-0.072,-0.061],[0,0],[-0.519,0.651],[0.277,0.222],[0.441,0],[0,0],[0.106,-0.134],[0,0],[0,0]],"v":[[-2.616,-2.439],[-5.683,6.781],[-9.071,14.817],[-8.832,16.934],[-7.892,17.265],[-6.713,16.695],[-2.648,8.873],[-2.389,8.435],[0.782,2.375]],"c":true}],"e":[{"i":[[7.053,-0.748],[0,0],[0,0],[-0.65,-0.519],[-0.331,0],[-0.297,0.374],[0,0],[-0.065,0.158],[0,0]],"o":[[-0.072,-0.061],[0,0],[-0.519,0.651],[0.277,0.222],[0.441,0],[0,0],[0.106,-0.134],[0,0],[0,0]],"v":[[-2.616,-2.439],[-5.683,6.781],[-8.141,13.802],[-7.902,15.92],[-6.961,16.251],[-5.783,15.681],[-2.648,8.873],[-2.389,8.435],[0.782,2.375]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":45.723,"s":[{"i":[[7.053,-0.748],[0,0],[0,0],[-0.65,-0.519],[-0.331,0],[-0.297,0.374],[0,0],[-0.065,0.158],[0,0]],"o":[[-0.072,-0.061],[0,0],[-0.519,0.651],[0.277,0.222],[0.441,0],[0,0],[0.106,-0.134],[0,0],[0,0]],"v":[[-2.616,-2.439],[-5.683,6.781],[-8.141,13.802],[-7.902,15.92],[-6.961,16.251],[-5.783,15.681],[-2.648,8.873],[-2.389,8.435],[0.782,2.375]],"c":true}],"e":[{"i":[[7.053,-0.748],[0,0],[0,0],[-0.65,-0.519],[-0.331,0],[-0.297,0.374],[0,0],[-0.065,0.158],[0,0]],"o":[[-0.072,-0.061],[0,0],[-0.519,0.651],[0.277,0.222],[0.441,0],[0,0],[0.106,-0.134],[0,0],[0,0]],"v":[[-2.616,-2.439],[-5.683,6.781],[-10.646,13.483],[-10.407,15.601],[-9.466,15.932],[-8.288,15.362],[-2.648,8.873],[-2.389,8.435],[0.782,2.375]],"c":true}]},{"t":50.8035049438477}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-0.063,2.75],"ix":2},"a":{"a":0,"k":[-0.063,-2.25],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[-42]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":10.161,"s":[-42],"e":[-57]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":20.321,"s":[-57],"e":[-59]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":25.402,"s":[-59],"e":[-25]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35.562,"s":[-25],"e":[4]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":45.723,"s":[4],"e":[0]},{"t":50.8035049438477}],"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":"leg right","np":2,"cix":2,"ix":4,"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},"n":"0p833_0p833_0p167_0p167","t":0,"s":[{"i":[[0,0],[0.101,0.149],[0,0],[-0.007,0.021],[0,0],[0,0],[0,0],[-0.656,0],[-0.15,0.046],[0.248,0.813]],"o":[[-0.054,-0.172],[0,0],[0.034,-0.145],[-5.804,0.458],[0,0],[0,0],[0.201,0.661],[0.149,0],[0.811,-0.248],[0,0]],"v":[[8.566,6.553],[8.333,6.066],[3.59,-2.105],[3.664,-2.552],[0.782,2.375],[5.127,7.892],[7.725,15.592],[9.191,16.678],[9.643,16.612],[10.662,14.693]],"c":true}],"e":[{"i":[[0,0],[0.101,0.149],[0,0],[-0.007,0.021],[0,0],[0,0],[0,0],[-0.656,0],[-0.15,0.046],[0.248,0.813]],"o":[[-0.054,-0.172],[0,0],[0.034,-0.145],[-5.804,0.458],[0,0],[0,0],[0.201,0.661],[0.149,0],[0.811,-0.248],[0,0]],"v":[[8.566,6.553],[8.333,6.066],[3.59,-2.105],[3.664,-2.552],[0.782,2.375],[5.127,7.892],[9.788,14.342],[11.253,15.428],[11.706,15.362],[12.724,13.443]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":10.161,"s":[{"i":[[0,0],[0.101,0.149],[0,0],[-0.007,0.021],[0,0],[0,0],[0,0],[-0.656,0],[-0.15,0.046],[0.248,0.813]],"o":[[-0.054,-0.172],[0,0],[0.034,-0.145],[-5.804,0.458],[0,0],[0,0],[0.201,0.661],[0.149,0],[0.811,-0.248],[0,0]],"v":[[8.566,6.553],[8.333,6.066],[3.59,-2.105],[3.664,-2.552],[0.782,2.375],[5.127,7.892],[9.788,14.342],[11.253,15.428],[11.706,15.362],[12.724,13.443]],"c":true}],"e":[{"i":[[0,0],[0.101,0.149],[0,0],[-0.007,0.021],[0,0],[0,0],[0,0],[-0.656,0],[-0.15,0.046],[0.248,0.813]],"o":[[-0.054,-0.172],[0,0],[0.034,-0.145],[-5.804,0.458],[0,0],[0,0],[0.201,0.661],[0.149,0],[0.811,-0.248],[0,0]],"v":[[8.566,6.553],[8.333,6.066],[3.59,-2.105],[3.664,-2.552],[0.782,2.375],[5.127,7.892],[9.788,14.342],[11.253,15.428],[11.706,15.362],[12.724,13.443]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":20.321,"s":[{"i":[[0,0],[0.101,0.149],[0,0],[-0.007,0.021],[0,0],[0,0],[0,0],[-0.656,0],[-0.15,0.046],[0.248,0.813]],"o":[[-0.054,-0.172],[0,0],[0.034,-0.145],[-5.804,0.458],[0,0],[0,0],[0.201,0.661],[0.149,0],[0.811,-0.248],[0,0]],"v":[[8.566,6.553],[8.333,6.066],[3.59,-2.105],[3.664,-2.552],[0.782,2.375],[5.127,7.892],[9.788,14.342],[11.253,15.428],[11.706,15.362],[12.724,13.443]],"c":true}],"e":[{"i":[[0,0],[0.101,0.149],[0,0],[-0.007,0.021],[0,0],[0,0],[0,0],[-0.656,0],[-0.15,0.046],[0.248,0.813]],"o":[[-0.054,-0.172],[0,0],[0.034,-0.145],[-5.804,0.458],[0,0],[0,0],[0.201,0.661],[0.149,0],[0.811,-0.248],[0,0]],"v":[[8.566,6.553],[8.333,6.066],[3.59,-2.105],[3.664,-2.552],[0.782,2.375],[5.127,7.892],[7.725,15.592],[9.191,16.678],[9.643,16.612],[10.662,14.693]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":25.402,"s":[{"i":[[0,0],[0.101,0.149],[0,0],[-0.007,0.021],[0,0],[0,0],[0,0],[-0.656,0],[-0.15,0.046],[0.248,0.813]],"o":[[-0.054,-0.172],[0,0],[0.034,-0.145],[-5.804,0.458],[0,0],[0,0],[0.201,0.661],[0.149,0],[0.811,-0.248],[0,0]],"v":[[8.566,6.553],[8.333,6.066],[3.59,-2.105],[3.664,-2.552],[0.782,2.375],[5.127,7.892],[7.725,15.592],[9.191,16.678],[9.643,16.612],[10.662,14.693]],"c":true}],"e":[{"i":[[0,0],[0.101,0.149],[0,0],[-0.007,0.021],[0,0],[0,0],[0,0],[-0.656,0],[-0.15,0.046],[-0.146,0.395]],"o":[[-0.054,-0.172],[0,0],[0.034,-0.145],[-5.804,0.458],[0,0],[0,0],[0.201,0.661],[0.149,0],[0.811,-0.248],[0,0]],"v":[[8.884,7.314],[9.099,6.616],[3.59,-2.105],[3.664,-2.552],[0.782,2.375],[5.127,7.892],[1.131,14.888],[2.597,15.974],[3.049,15.908],[4.628,14.457]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":35.562,"s":[{"i":[[0,0],[0.101,0.149],[0,0],[-0.007,0.021],[0,0],[0,0],[0,0],[-0.656,0],[-0.15,0.046],[-0.146,0.395]],"o":[[-0.054,-0.172],[0,0],[0.034,-0.145],[-5.804,0.458],[0,0],[0,0],[0.201,0.661],[0.149,0],[0.811,-0.248],[0,0]],"v":[[8.884,7.314],[9.099,6.616],[3.59,-2.105],[3.664,-2.552],[0.782,2.375],[5.127,7.892],[1.131,14.888],[2.597,15.974],[3.049,15.908],[4.628,14.457]],"c":true}],"e":[{"i":[[0,0],[0.101,0.149],[0,0],[-0.007,0.021],[0,0],[0,0],[0,0],[-0.656,0],[-0.15,0.046],[0.248,0.813]],"o":[[-0.054,-0.172],[0,0],[0.034,-0.145],[-5.804,0.458],[0,0],[0,0],[0.201,0.661],[0.149,0],[0.811,-0.248],[0,0]],"v":[[8.566,6.553],[8.333,6.066],[3.59,-2.105],[3.664,-2.552],[0.782,2.375],[5.127,7.892],[9.722,13.827],[11.188,14.913],[11.64,14.846],[12.659,12.927]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":45.723,"s":[{"i":[[0,0],[0.101,0.149],[0,0],[-0.007,0.021],[0,0],[0,0],[0,0],[-0.656,0],[-0.15,0.046],[0.248,0.813]],"o":[[-0.054,-0.172],[0,0],[0.034,-0.145],[-5.804,0.458],[0,0],[0,0],[0.201,0.661],[0.149,0],[0.811,-0.248],[0,0]],"v":[[8.566,6.553],[8.333,6.066],[3.59,-2.105],[3.664,-2.552],[0.782,2.375],[5.127,7.892],[9.722,13.827],[11.188,14.913],[11.64,14.846],[12.659,12.927]],"c":true}],"e":[{"i":[[0,0],[0.101,0.149],[0,0],[-0.007,0.021],[0,0],[0,0],[0,0],[-0.656,0],[-0.15,0.046],[0.248,0.813]],"o":[[-0.054,-0.172],[0,0],[0.034,-0.145],[-5.804,0.458],[0,0],[0,0],[0.201,0.661],[0.149,0],[0.811,-0.248],[0,0]],"v":[[8.566,6.553],[8.333,6.066],[3.59,-2.105],[3.664,-2.552],[0.782,2.375],[5.127,7.892],[7.725,15.592],[9.191,16.678],[9.643,16.612],[10.662,14.693]],"c":true}]},{"t":50.8035049438477}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1.094,3.281],"ix":2},"a":{"a":0,"k":[1.094,-1.719],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[34]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":10.161,"s":[34],"e":[64]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":20.321,"s":[64],"e":[60]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":25.402,"s":[60],"e":[18]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35.562,"s":[18],"e":[4]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":45.723,"s":[4],"e":[0]},{"t":50.8035049438477}],"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":"leg left","np":2,"cix":2,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.013,0.152],[0,0],[-0.091,-0.063],[1.678,0.136],[0.55,-0.255],[0.162,-0.111],[0,0],[0,0],[-0.022,-0.203],[-1.843,0.062]],"o":[[0.034,-0.145],[0,0],[0.074,0.082],[0,0],[-0.65,-0.052],[-0.175,0.062],[0,0],[0,0],[-0.018,0.211],[0,0],[1.843,-0.062]],"v":[[3.59,-2.105],[3.664,-2.552],[4.208,-6.719],[4.455,-6.499],[1.653,-16.626],[-0.169,-16.3],[-0.678,-16.043],[-2.379,-10.24],[-2.626,-3.062],[-2.616,-2.439],[0.782,2.375]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,5],"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":"body","np":3,"cix":2,"ix":6,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":50.8035049438477,"st":0,"bm":0}]},{"id":"comp_1","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[99.657,107.486,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[400,400,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-2.083,-0.067],[-0.067,2.085],[2.085,0.067],[0.068,-2.084]],"o":[[2.084,0.068],[0.067,-2.084],[-2.083,-0.068],[-0.067,2.085]],"v":[[-0.123,3.772],[3.774,0.12],[0.122,-3.773],[-3.774,-0.124]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[6.625,-20.75],"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":"head","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.017,0.019],[0.04,0.027],[0,0],[0,0],[0,0],[-0.672,0],[-0.124,0.03],[0.205,0.745],[0,0],[0.348,0.264],[0,0]],"o":[[-0.013,0.013],[0,0],[0,0],[0,0],[0.173,0.629],[0.123,0],[0.807,-0.189],[0,0],[-0.11,-0.401],[0,0],[0,0]],"v":[[2.561,-4.414],[0.991,-2.508],[2.518,0.539],[9.146,5.668],[11.642,14.735],[13.1,15.782],[13.472,15.738],[14.561,14.047],[13.08,4.085],[12.375,3.061],[5.551,-3.128]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[3.063,-2.188],"ix":2},"a":{"a":0,"k":[3.063,-2.188],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":54.19,"s":[94],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":67.738,"s":[0],"e":[94]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":81.286,"s":[94],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":94.833,"s":[0],"e":[94]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":108.381,"s":[94],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":115.155,"s":[0],"e":[94]},{"t":121.928411865234}],"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":"leg left","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.039,-0.055],[0,0],[0,0],[0.064,-0.838],[-0.814,-0.068],[0,0],[-0.055,0],[-0.387,0.536],[0,0],[0.941,1.069]],"o":[[-0.043,0.051],[0,0],[0,0],[-0.815,-0.069],[-0.066,0.839],[0,0],[0.057,0.004],[0.69,0],[0,0],[0,0],[-1.011,-1.15]],"v":[[-0.697,-4.047],[-0.822,-3.891],[-5.511,3.443],[-13.571,3.263],[-15.162,4.658],[-13.808,6.299],[-4.627,7.337],[-4.461,7.344],[-2.736,6.49],[2.518,0.539],[3.114,-3.753]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[2,-3.313],"ix":2},"a":{"a":0,"k":[2,-3.313],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":54.19,"s":[-92],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":67.738,"s":[0],"e":[-92]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":81.286,"s":[-92],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":94.833,"s":[0],"e":[-92]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":108.381,"s":[-92],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":115.155,"s":[0],"e":[-92]},{"t":121.928411865234}],"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":"leg right","np":2,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.576,0.03],[-0.027,0.003],[-0.261,0.549],[0,0],[0.723,0.342],[0.341,-0.722],[0,0],[0,0],[0,0],[0.009,0.01],[1.037,0.254],[0.218,-1.676],[0,0]],"o":[[0.348,0.465],[0.027,-0.002],[0.604,-0.061],[0,0],[0.343,-0.722],[-0.722,-0.341],[0,0],[0,0],[0,0],[-0.009,-0.009],[-0.483,-0.828],[-0.956,-0.079],[-0.218,1.676],[0,0]],"v":[[8.772,-5.613],[10.252,-4.92],[10.334,-4.927],[11.728,-5.911],[14.885,-10.833],[14.198,-12.759],[12.272,-12.071],[10.205,-9.296],[8.014,-13.23],[7.877,-13.474],[7.851,-13.502],[5.51,-15.23],[2.522,-12.203],[7.043,-7.479]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[3.5,-14.094],"ix":2},"a":{"a":0,"k":[3.5,-14.094],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":54.19,"s":[102],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":67.738,"s":[0],"e":[102]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":81.286,"s":[102],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":94.833,"s":[0],"e":[102]},{"t":108.380810546875}],"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":"arm left","np":2,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.571,1.598],[0,0],[0,0],[0.003,0],[0.309,-0.694],[0,0],[-0.727,-0.324],[-0.142,-0.016],[-0.263,0.59],[0,0],[0,0]],"o":[[0.571,-1.598],[0,0],[-0.002,0],[-0.752,-0.087],[0,0],[-0.324,0.727],[0.138,0.061],[0.61,0.071],[0,0],[0,0],[0,0]],"v":[[4.577,-12.524],[3.928,-15.382],[-2.871,-15.695],[-2.877,-15.695],[-4.66,-14.677],[-6.655,-9.525],[-5.924,-7.621],[-5.502,-7.506],[-4.02,-8.352],[-2.009,-12.1],[0.749,-11.524]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[4.656,-13.281],"ix":2},"a":{"a":0,"k":[4.656,-13.281],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":54.19,"s":[-146],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":67.738,"s":[0],"e":[-146]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":81.286,"s":[-146],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":94.833,"s":[0],"e":[-146]},{"t":108.380810546875}],"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":"arm right","np":2,"cix":2,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0.009,0.01],[1.037,0.254],[0.237,0.013],[0.018,0.003],[0,0],[1.075,-1.386],[0,0],[0,0],[0.039,-0.055],[0,0],[0,0],[0.348,0.264],[0,0],[0,0]],"o":[[0,0],[0,0],[-0.009,-0.009],[-0.483,-0.828],[-0.238,-0.059],[-0.016,-0.002],[0,0],[0,0],[-1.075,1.386],[0,0],[-0.043,0.051],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[7.798,-10.046],[8.014,-13.23],[7.877,-13.474],[7.851,-13.502],[5.51,-15.23],[4.795,-15.336],[4.746,-15.345],[3.928,-15.382],[1.879,-14.538],[0.749,-11.524],[-0.697,-4.047],[-0.822,-3.891],[-0.403,-0.141],[2.518,0.539],[5.47,-0.404],[5.551,-3.128],[7.043,-7.479]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"body","np":4,"cix":2,"ix":6,"mn":"ADBE Vector Group","hd":false}],"ip":54.1904052734375,"op":108.380810546875,"st":54.1904052734375,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[99.657,107.486,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[400,400,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-2.083,-0.067],[-0.067,2.085],[2.085,0.067],[0.068,-2.084]],"o":[[2.084,0.068],[0.067,-2.084],[-2.083,-0.068],[-0.067,2.085]],"v":[[-0.123,3.772],[3.774,0.12],[0.122,-3.773],[-3.774,-0.124]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[6.625,-20.75],"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":"head","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.017,0.019],[0.04,0.027],[0,0],[0,0],[0,0],[-0.672,0],[-0.124,0.03],[0.205,0.745],[0,0],[0.348,0.264],[0,0]],"o":[[-0.013,0.013],[0,0],[0,0],[0,0],[0.173,0.629],[0.123,0],[0.807,-0.189],[0,0],[-0.11,-0.401],[0,0],[0,0]],"v":[[2.561,-4.414],[0.991,-2.508],[2.518,0.539],[9.146,5.668],[11.642,14.735],[13.1,15.782],[13.472,15.738],[14.561,14.047],[13.08,4.085],[12.375,3.061],[5.551,-3.128]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[3.063,-2.188],"ix":2},"a":{"a":0,"k":[3.063,-2.188],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[94],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":13.548,"s":[0],"e":[94]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":27.095,"s":[94],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":40.643,"s":[0],"e":[94]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":54.19,"s":[94],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":60.964,"s":[0],"e":[94]},{"t":67.7380065917969}],"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":"leg left","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.039,-0.055],[0,0],[0,0],[0.064,-0.838],[-0.814,-0.068],[0,0],[-0.055,0],[-0.387,0.536],[0,0],[0.941,1.069]],"o":[[-0.043,0.051],[0,0],[0,0],[-0.815,-0.069],[-0.066,0.839],[0,0],[0.057,0.004],[0.69,0],[0,0],[0,0],[-1.011,-1.15]],"v":[[-0.697,-4.047],[-0.822,-3.891],[-5.511,3.443],[-13.571,3.263],[-15.162,4.658],[-13.808,6.299],[-4.627,7.337],[-4.461,7.344],[-2.736,6.49],[2.518,0.539],[3.114,-3.753]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[2,-3.313],"ix":2},"a":{"a":0,"k":[2,-3.313],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[-92],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":13.548,"s":[0],"e":[-92]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":27.095,"s":[-92],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":40.643,"s":[0],"e":[-92]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":54.19,"s":[-92],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":60.964,"s":[0],"e":[-92]},{"t":67.7380065917969}],"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":"leg right","np":2,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.576,0.03],[-0.027,0.003],[-0.261,0.549],[0,0],[0.723,0.342],[0.341,-0.722],[0,0],[0,0],[0,0],[0.009,0.01],[1.037,0.254],[0.218,-1.676],[0,0]],"o":[[0.348,0.465],[0.027,-0.002],[0.604,-0.061],[0,0],[0.343,-0.722],[-0.722,-0.341],[0,0],[0,0],[0,0],[-0.009,-0.009],[-0.483,-0.828],[-0.956,-0.079],[-0.218,1.676],[0,0]],"v":[[8.772,-5.613],[10.252,-4.92],[10.334,-4.927],[11.728,-5.911],[14.885,-10.833],[14.198,-12.759],[12.272,-12.071],[10.205,-9.296],[8.014,-13.23],[7.877,-13.474],[7.851,-13.502],[5.51,-15.23],[2.522,-12.203],[7.043,-7.479]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[3.5,-14.094],"ix":2},"a":{"a":0,"k":[3.5,-14.094],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[102],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":13.548,"s":[0],"e":[102]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":27.095,"s":[102],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":40.643,"s":[0],"e":[102]},{"t":54.1904052734375}],"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":"arm left","np":2,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.571,1.598],[0,0],[0,0],[0.003,0],[0.309,-0.694],[0,0],[-0.727,-0.324],[-0.142,-0.016],[-0.263,0.59],[0,0],[0,0]],"o":[[0.571,-1.598],[0,0],[-0.002,0],[-0.752,-0.087],[0,0],[-0.324,0.727],[0.138,0.061],[0.61,0.071],[0,0],[0,0],[0,0]],"v":[[4.577,-12.524],[3.928,-15.382],[-2.871,-15.695],[-2.877,-15.695],[-4.66,-14.677],[-6.655,-9.525],[-5.924,-7.621],[-5.502,-7.506],[-4.02,-8.352],[-2.009,-12.1],[0.749,-11.524]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[4.656,-13.281],"ix":2},"a":{"a":0,"k":[4.656,-13.281],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[-146],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":13.548,"s":[0],"e":[-146]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":27.095,"s":[-146],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":40.643,"s":[0],"e":[-146]},{"t":54.1904052734375}],"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":"arm right","np":2,"cix":2,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0.009,0.01],[1.037,0.254],[0.237,0.013],[0.018,0.003],[0,0],[1.075,-1.386],[0,0],[0,0],[0.039,-0.055],[0,0],[0,0],[0.348,0.264],[0,0],[0,0]],"o":[[0,0],[0,0],[-0.009,-0.009],[-0.483,-0.828],[-0.238,-0.059],[-0.016,-0.002],[0,0],[0,0],[-1.075,1.386],[0,0],[-0.043,0.051],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[7.798,-10.046],[8.014,-13.23],[7.877,-13.474],[7.851,-13.502],[5.51,-15.23],[4.795,-15.336],[4.746,-15.345],[3.928,-15.382],[1.879,-14.538],[0.749,-11.524],[-0.697,-4.047],[-0.822,-3.891],[-0.403,-0.141],[2.518,0.539],[5.47,-0.404],[5.551,-3.128],[7.043,-7.479]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"body","np":4,"cix":2,"ix":6,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":54.1904052734375,"st":0,"bm":0}]},{"id":"comp_2","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[100,100,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[400,400,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-2.083,-0.067],[-0.067,2.085],[2.085,0.067],[0.068,-2.084]],"o":[[2.084,0.068],[0.067,-2.084],[-2.083,-0.068],[-0.067,2.085]],"v":[[-0.123,3.772],[3.774,0.12],[0.122,-3.773],[-3.774,-0.124]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-14.438],"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":"head","np":2,"cix":2,"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},"n":"0p833_0p833_0p167_0p167","t":67.738,"s":[{"i":[[0.717,2.38],[0,0],[0,0],[0.313,-0.621],[-0.53,-0.458],[0,0],[-0.011,0.063]],"o":[[0,0],[0,0],[-0.545,-0.365],[-0.314,0.621],[0,0],[0,0],[2.396,0.532]],"v":[[-0.717,-11.599],[-7.06,-13.364],[-13.286,-13.415],[-14.978,-12.858],[-14.421,-11.166],[-8.351,-10.775],[-3.864,-8.282]],"c":true}],"e":[{"i":[[0.717,2.38],[0,0],[0,0],[0.313,-0.621],[-0.53,-0.458],[0,0],[-0.011,0.063]],"o":[[0,0],[0,0],[-0.545,-0.365],[-0.314,0.621],[0,0],[0,0],[2.396,0.532]],"v":[[-0.717,-11.599],[-7.06,-13.364],[-11.599,-16.915],[-13.29,-16.358],[-12.733,-14.666],[-8.351,-10.775],[-3.864,-8.282]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":84.673,"s":[{"i":[[0.717,2.38],[0,0],[0,0],[0.313,-0.621],[-0.53,-0.458],[0,0],[-0.011,0.063]],"o":[[0,0],[0,0],[-0.545,-0.365],[-0.314,0.621],[0,0],[0,0],[2.396,0.532]],"v":[[-0.717,-11.599],[-7.06,-13.364],[-11.599,-16.915],[-13.29,-16.358],[-12.733,-14.666],[-8.351,-10.775],[-3.864,-8.282]],"c":true}],"e":[{"i":[[0.717,2.38],[0,0],[0,0],[0.313,-0.621],[-0.53,-0.458],[0,0],[-0.011,0.063]],"o":[[0,0],[0,0],[-0.545,-0.365],[-0.314,0.621],[0,0],[0,0],[2.396,0.532]],"v":[[-0.717,-11.599],[-7.06,-13.364],[-13.286,-13.415],[-14.978,-12.858],[-14.421,-11.166],[-8.351,-10.775],[-3.864,-8.282]],"c":true}]},{"t":101.607009887695}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-2.188,-6.875],"ix":2},"a":{"a":0,"k":[-2.188,-9.875],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":67.738,"s":[-90],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":84.673,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":88.059,"s":[0],"e":[-90]},{"t":101.607009887695}],"ix":6,"x":"var $bm_rt;\nvar easingPreset = [\n [\n 3,\n 4,\n [\n 'make_bezier_easing',\n [\n 0.25,\n 0.46,\n 0.45,\n 1\n ],\n 'Glide.Out',\n false\n ]\n ],\n [\n 1,\n 2,\n [\n 'make_bezier_easing',\n [\n 0.25,\n 0.46,\n 0.45,\n 1\n ],\n 'Glide.Out',\n false\n ]\n ]\n ];\nfunction easingMaker() {\n var t, d, newProgress, sX, eX, sY, eY, sZ, eZ, val1, val2, val2, val3;\n var n = 0;\n if (numKeys > 0) {\n n = nearestKey(time).index;\n if (key(n).time > time) {\n n--;\n }\n }\n try {\n var key1 = key(n);\n var key2 = key(sum(n, 1));\n } catch (e) {\n return null;\n }\n var dim = 1;\n try {\n key(1)[1];\n dim = 2;\n key(1)[2];\n dim = 3;\n } catch (e) {\n }\n var expression = null;\n for (var i = 0; i < easingPreset.length; ++i) {\n if (easingPreset[i][0] <= n && easingPreset[i][1] >= n + 1) {\n var expression = eval([easingPreset[i][2][0]][0]);\n try {\n expression = expression.apply({}, easingPreset[i][2][1].concat(easingPreset[i][2][3]));\n } catch (e) {\n expression = expression.apply({}, easingPreset[i][2][1]);\n }\n break;\n }\n }\n if (!expression)\n return null;\n t = sub(time, key1.time);\n d = sub(key2.time, key1.time);\n if (expression.hasOwnProperty('curviosity') && expression.curviosity) {\n newProgress = expression.executeProgress(div(t, d));\n return thisProperty.valueAtTime(sum(key1.time, mul(d, newProgress)));\n }\n sX = key1[0];\n eX = sub(key2[0], key1[0]);\n if (dim >= 2) {\n sY = key1[1];\n eY = sub(key2[1], key1[1]);\n if (dim >= 3) {\n sZ = key1[2];\n eZ = sub(key2[2], key1[2]);\n }\n }\n if (time < key1.time || time > key2.time) {\n return value;\n } else {\n val1 = expression.execute(t, sX, eX, d);\n switch (dim) {\n case 1:\n return val1;\n case 2:\n val2 = expression.execute(t, sY, eY, d);\n return [\n val1,\n val2\n ];\n case 3:\n val2 = expression.execute(t, sY, eY, d);\n val3 = expression.execute(t, sZ, eZ, d);\n return [\n val1,\n val2,\n val3\n ];\n default:\n return null;\n }\n }\n}\n$bm_rt = easingMaker() || value;\nfunction sampleCurveY(t) {\n return mul(sum(mul(sum(mul(this.ay, t), this.by), t), this.cy), t);\n}\nfunction sampleCurveX(t) {\n return mul(sum(mul(sum(mul(this.ax, t), this.bx), t), this.cx), t);\n}\nfunction sampleCurveDerivativeX(t) {\n return sum(mul(sum(mul(mul(3, this.ax), t), mul(2, this.bx)), t), this.cx);\n}\nfunction solveCurveX(x, epsilon) {\n var t2, i, x2, d2, t0, t1;\n for (t2 = x, i = 0; i < 8; i++) {\n x2 = sub(sampleCurveX.call(this, t2), x);\n if (Math.abs(x2) < epsilon)\n return t2;\n d2 = sampleCurveDerivativeX.call(this, t2);\n if (Math.abs(d2) < 0.000001)\n break;\n t2 = sub(t2, div(x2, d2));\n }\n t0 = 0;\n t1 = 1;\n t2 = x;\n if (t2 < t0)\n return t0;\n if (t2 > t1)\n return t1;\n while (t0 < t1) {\n x2 = sampleCurveX.call(this, t2);\n if (Math.abs(x2 - x) < epsilon)\n return t2;\n if (x > x2)\n t0 = t2;\n else\n t1 = t2;\n t2 = sum(mul(sub(t1, t0), 0.5), t0);\n }\n return t2;\n}\nfunction executeBezier(t, b, e, d) {\n return sum(b, mul(e, sampleCurveY.call(this, solveCurveX.call(this, div(t, d), div(1, mul(200, d))))));\n}\nfunction executeBezierProgress(oldProgress) {\n return sampleCurveY.call(this, solveCurveX.call(this, oldProgress, 1 / 200));\n}\nfunction make_bezier_easing(p1x, p1y, p2x, p2y, curviosity) {\n this.cx = mul(3, p1x);\n this.bx = sub(mul(3, sub(p2x, p1x)), this.cx);\n this.ax = sub(sub(1, this.cx), this.bx);\n this.cy = mul(3, p1y);\n this.by = sub(mul(3, sub(p2y, p1y)), this.cy);\n this.ay = sub(sub(1, this.cy), this.by);\n this.curviosity = curviosity;\n this.execute = executeBezier;\n this.executeProgress = executeBezierProgress;\n return this;\n}\nfunction executeElasticIn(t, b, c, d) {\n var s = 1.70158;\n var p = 0;\n var a = c;\n if (t === 0)\n return b;\n if ((t /= d) === 1)\n return sum(b, c);\n if (!p)\n p = mul(d, 0.3);\n if (a < Math.abs(c)) {\n a = c;\n s = div(p, 4);\n } else\n s = mul(div(p, mul(2, Math.PI)), Math.asin(1));\n return sum($bm_neg(mul(mul(a, Math.pow(2, mul(10, t -= 1))), Math.sin(div(mul(sub(mul(t, d), s), mul(2, Math.PI)), p)))), b);\n}\nfunction executeElasticOut(t, b, c, d) {\n var s = 1.70158;\n var p = 0;\n var a = c;\n if (t === 0)\n return b;\n if ((t /= d) === 1)\n return sum(b, c);\n if (!p)\n p = mul(d, 0.3);\n if (a < Math.abs(c)) {\n a = c;\n s = div(p, 4);\n } else\n s = mul(div(p, mul(2, Math.PI)), Math.asin(1));\n return sum(sum(mul(mul(a, Math.pow(2, mul(-10, t))), Math.sin(div(mul(sub(mul(t, d), s), mul(2, Math.PI)), p))), c), b);\n}\nfunction executeElasticInOut(t, b, c, d) {\n var s = 1.70158;\n var p = 0;\n var a = c;\n if (t === 0)\n return b;\n if ((t /= d / 2) === 2)\n return sum(b, c);\n if (!p)\n p = mul(d, 0.3 * 1.5);\n if (a < Math.abs(c)) {\n a = c;\n s = div(p, 4);\n } else\n s = mul(div(p, mul(2, Math.PI)), Math.asin(1));\n if (t < 1)\n return sum(mul(-0.5, mul(mul(a, Math.pow(2, mul(10, t -= 1))), Math.sin(div(mul(sub(mul(t, d), s), mul(2, Math.PI)), p)))), b);\n return sum(sum(mul(mul(mul(a, Math.pow(2, mul(-10, t -= 1))), Math.sin(div(mul(sub(mul(t, d), s), mul(2, Math.PI)), p))), 0.5), c), b);\n}\nfunction executeElasticInProgress(Progress) {\n return Progress === 0 ? 0 : Progress === 1 ? 1 : -Math.pow(2, 10 * Progress - 10) * Math.sin((Progress * 10 - 10.75) * (2 * Math.PI / 3));\n}\nfunction executeElasticOutProgress(Progress) {\n return Progress === 0 ? 0 : Progress === 1 ? 1 : Math.pow(2, -10 * Progress) * Math.sin((Progress * 10 - 0.75) * (2 * Math.PI / 3)) + 1;\n}\nfunction executeElasticInOutProgress(Progress) {\n return Progress === 0 ? 0 : Progress === 1 ? 1 : Progress < 0.5 ? -(Math.pow(2, 20 * Progress - 10) * Math.sin((20 * Progress - 11.125) * (2 * Math.PI / 4.5))) / 2 : Math.pow(2, -20 * Progress + 10) * Math.sin((20 * Progress - 11.125) * (2 * Math.PI / 4.5)) / 2 + 1;\n}\nfunction make_elastic_easing_in(curviosity) {\n this.execute = executeElasticIn;\n this.executeProgress = executeElasticInProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction make_elastic_easing_out(curviosity) {\n this.execute = executeElasticOut;\n this.executeProgress = executeElasticOutProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction make_elastic_easing_in_out(curviosity) {\n this.execute = executeElasticInOut;\n this.executeProgress = executeElasticInOutProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction executeBounceIn(t, b, c, d) {\n return sum(sub(c, executeBounceOut(sub(d, t), 0, c, d)), b);\n}\nfunction executeBounceOut(t, b, c, d) {\n if ((t /= d) < 1 / 2.75) {\n return sum(mul(c, mul(mul(7.5625, t), t)), b);\n } else if (t < 2 / 2.75) {\n return sum(mul(c, sum(mul(mul(7.5625, t -= 1.5 / 2.75), t), 0.75)), b);\n } else if (t < 2.5 / 2.75) {\n return sum(mul(c, sum(mul(mul(7.5625, t -= 2.25 / 2.75), t), 0.9375)), b);\n } else {\n return sum(mul(c, sum(mul(mul(7.5625, t -= 2.625 / 2.75), t), 0.984375)), b);\n }\n}\nfunction executeBounceInOut(t, b, c, d) {\n if (t < d / 2)\n return sum(mul(executeBounceIn(mul(t, 2), 0, c, d), 0.5), b);\n return sum(sum(mul(executeBounceOut(sub(mul(t, 2), d), 0, c, d), 0.5), mul(c, 0.5)), b);\n}\nfunction executeBounceInProgress(oldProgress) {\n return sub(1, executeBounceOut(sub(1, oldProgress)));\n}\nfunction executeBounceOutProgress(oldProgress) {\n if (oldProgress < 1 / 2.75) {\n return mul(mul(7.5625, oldProgress), oldProgress);\n } else if (oldProgress < 2 / 2.75) {\n return sum(mul(mul(7.5625, oldProgress -= 1.5 / 2.75), oldProgress), 0.75);\n } else if (oldProgress < 2.5 / 2.75) {\n return sum(mul(mul(7.5625, oldProgress -= 2.25 / 2.75), oldProgress), 0.9375);\n } else {\n return sum(mul(mul(7.5625, oldProgress -= 2.625 / 2.75), oldProgress), 0.984375);\n }\n}\nfunction executeBounceInOutProgress(oldProgress) {\n if (oldProgress < 1 / 2)\n return mul(executeBounceIn(mul(oldProgress, 2)), 0.5);\n return sum(mul(executeBounceOut(sub(mul(oldProgress, 2), 1)), 0.5), 0.5);\n}\nfunction make_bounce_easing_in(curviosity) {\n this.execute = executeBounceIn;\n this.executeProgress = executeBounceInProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction make_bounce_easing_out(curviosity) {\n this.execute = executeBounceOut;\n this.executeProgress = executeBounceOutProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction make_bounce_easing_in_out(curviosity) {\n this.execute = executeBounceInOut;\n this.executeProgress = executeBounceInOutProgress;\n this.curviosity = curviosity;\n return this;\n}"},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"arm left","np":2,"cix":2,"ix":2,"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},"n":"0p833_0p833_0p167_0p167","t":67.738,"s":[{"i":[[0,0],[0,0],[0.314,0.621],[0.573,-0.371],[0,0],[-0.026,0.054],[-2.461,0.5]],"o":[[0,0],[0.607,-0.463],[-0.313,-0.621],[0,0],[0,0],[-1.183,2.773],[0.008,0]],"v":[[8.035,-10.775],[13.921,-11.416],[14.478,-13.108],[12.786,-13.665],[6.745,-13.364],[0.964,-11.617],[4.117,-8.282]],"c":true}],"e":[{"i":[[0,0],[0,0],[0.314,0.621],[0.573,-0.371],[0,0],[-0.026,0.054],[-2.461,0.5]],"o":[[0,0],[0.607,-0.463],[-0.313,-0.621],[0,0],[0,0],[-1.183,2.773],[0.008,0]],"v":[[8.035,-10.775],[12.733,-14.666],[13.29,-16.358],[11.599,-16.915],[6.745,-13.364],[0.964,-11.617],[4.117,-8.282]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":84.673,"s":[{"i":[[0,0],[0,0],[0.314,0.621],[0.573,-0.371],[0,0],[-0.026,0.054],[-2.461,0.5]],"o":[[0,0],[0.607,-0.463],[-0.313,-0.621],[0,0],[0,0],[-1.183,2.773],[0.008,0]],"v":[[8.035,-10.775],[12.733,-14.666],[13.29,-16.358],[11.599,-16.915],[6.745,-13.364],[0.964,-11.617],[4.117,-8.282]],"c":true}],"e":[{"i":[[0,0],[0,0],[0.314,0.621],[0.573,-0.371],[0,0],[-0.026,0.054],[-2.461,0.5]],"o":[[0,0],[0.607,-0.463],[-0.313,-0.621],[0,0],[0,0],[-1.183,2.773],[0.008,0]],"v":[[8.035,-10.775],[13.921,-11.416],[14.478,-13.108],[12.786,-13.665],[6.745,-13.364],[0.964,-11.617],[4.117,-8.282]],"c":true}]},{"t":101.607009887695}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[2,-6.969],"ix":2},"a":{"a":0,"k":[2,-9.969],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":67.738,"s":[90],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":84.673,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":88.059,"s":[0],"e":[90]},{"t":101.607009887695}],"ix":6,"x":"var $bm_rt;\nvar easingPreset = [\n [\n 3,\n 4,\n [\n 'make_bezier_easing',\n [\n 0.25,\n 0.46,\n 0.45,\n 1\n ],\n 'Glide.Out',\n false\n ]\n ],\n [\n 1,\n 2,\n [\n 'make_bezier_easing',\n [\n 0.25,\n 0.46,\n 0.45,\n 1\n ],\n 'Glide.Out',\n false\n ]\n ]\n ];\nfunction easingMaker() {\n var t, d, newProgress, sX, eX, sY, eY, sZ, eZ, val1, val2, val2, val3;\n var n = 0;\n if (numKeys > 0) {\n n = nearestKey(time).index;\n if (key(n).time > time) {\n n--;\n }\n }\n try {\n var key1 = key(n);\n var key2 = key(sum(n, 1));\n } catch (e) {\n return null;\n }\n var dim = 1;\n try {\n key(1)[1];\n dim = 2;\n key(1)[2];\n dim = 3;\n } catch (e) {\n }\n var expression = null;\n for (var i = 0; i < easingPreset.length; ++i) {\n if (easingPreset[i][0] <= n && easingPreset[i][1] >= n + 1) {\n var expression = eval([easingPreset[i][2][0]][0]);\n try {\n expression = expression.apply({}, easingPreset[i][2][1].concat(easingPreset[i][2][3]));\n } catch (e) {\n expression = expression.apply({}, easingPreset[i][2][1]);\n }\n break;\n }\n }\n if (!expression)\n return null;\n t = sub(time, key1.time);\n d = sub(key2.time, key1.time);\n if (expression.hasOwnProperty('curviosity') && expression.curviosity) {\n newProgress = expression.executeProgress(div(t, d));\n return thisProperty.valueAtTime(sum(key1.time, mul(d, newProgress)));\n }\n sX = key1[0];\n eX = sub(key2[0], key1[0]);\n if (dim >= 2) {\n sY = key1[1];\n eY = sub(key2[1], key1[1]);\n if (dim >= 3) {\n sZ = key1[2];\n eZ = sub(key2[2], key1[2]);\n }\n }\n if (time < key1.time || time > key2.time) {\n return value;\n } else {\n val1 = expression.execute(t, sX, eX, d);\n switch (dim) {\n case 1:\n return val1;\n case 2:\n val2 = expression.execute(t, sY, eY, d);\n return [\n val1,\n val2\n ];\n case 3:\n val2 = expression.execute(t, sY, eY, d);\n val3 = expression.execute(t, sZ, eZ, d);\n return [\n val1,\n val2,\n val3\n ];\n default:\n return null;\n }\n }\n}\n$bm_rt = easingMaker() || value;\nfunction sampleCurveY(t) {\n return mul(sum(mul(sum(mul(this.ay, t), this.by), t), this.cy), t);\n}\nfunction sampleCurveX(t) {\n return mul(sum(mul(sum(mul(this.ax, t), this.bx), t), this.cx), t);\n}\nfunction sampleCurveDerivativeX(t) {\n return sum(mul(sum(mul(mul(3, this.ax), t), mul(2, this.bx)), t), this.cx);\n}\nfunction solveCurveX(x, epsilon) {\n var t2, i, x2, d2, t0, t1;\n for (t2 = x, i = 0; i < 8; i++) {\n x2 = sub(sampleCurveX.call(this, t2), x);\n if (Math.abs(x2) < epsilon)\n return t2;\n d2 = sampleCurveDerivativeX.call(this, t2);\n if (Math.abs(d2) < 0.000001)\n break;\n t2 = sub(t2, div(x2, d2));\n }\n t0 = 0;\n t1 = 1;\n t2 = x;\n if (t2 < t0)\n return t0;\n if (t2 > t1)\n return t1;\n while (t0 < t1) {\n x2 = sampleCurveX.call(this, t2);\n if (Math.abs(x2 - x) < epsilon)\n return t2;\n if (x > x2)\n t0 = t2;\n else\n t1 = t2;\n t2 = sum(mul(sub(t1, t0), 0.5), t0);\n }\n return t2;\n}\nfunction executeBezier(t, b, e, d) {\n return sum(b, mul(e, sampleCurveY.call(this, solveCurveX.call(this, div(t, d), div(1, mul(200, d))))));\n}\nfunction executeBezierProgress(oldProgress) {\n return sampleCurveY.call(this, solveCurveX.call(this, oldProgress, 1 / 200));\n}\nfunction make_bezier_easing(p1x, p1y, p2x, p2y, curviosity) {\n this.cx = mul(3, p1x);\n this.bx = sub(mul(3, sub(p2x, p1x)), this.cx);\n this.ax = sub(sub(1, this.cx), this.bx);\n this.cy = mul(3, p1y);\n this.by = sub(mul(3, sub(p2y, p1y)), this.cy);\n this.ay = sub(sub(1, this.cy), this.by);\n this.curviosity = curviosity;\n this.execute = executeBezier;\n this.executeProgress = executeBezierProgress;\n return this;\n}\nfunction executeElasticIn(t, b, c, d) {\n var s = 1.70158;\n var p = 0;\n var a = c;\n if (t === 0)\n return b;\n if ((t /= d) === 1)\n return sum(b, c);\n if (!p)\n p = mul(d, 0.3);\n if (a < Math.abs(c)) {\n a = c;\n s = div(p, 4);\n } else\n s = mul(div(p, mul(2, Math.PI)), Math.asin(1));\n return sum($bm_neg(mul(mul(a, Math.pow(2, mul(10, t -= 1))), Math.sin(div(mul(sub(mul(t, d), s), mul(2, Math.PI)), p)))), b);\n}\nfunction executeElasticOut(t, b, c, d) {\n var s = 1.70158;\n var p = 0;\n var a = c;\n if (t === 0)\n return b;\n if ((t /= d) === 1)\n return sum(b, c);\n if (!p)\n p = mul(d, 0.3);\n if (a < Math.abs(c)) {\n a = c;\n s = div(p, 4);\n } else\n s = mul(div(p, mul(2, Math.PI)), Math.asin(1));\n return sum(sum(mul(mul(a, Math.pow(2, mul(-10, t))), Math.sin(div(mul(sub(mul(t, d), s), mul(2, Math.PI)), p))), c), b);\n}\nfunction executeElasticInOut(t, b, c, d) {\n var s = 1.70158;\n var p = 0;\n var a = c;\n if (t === 0)\n return b;\n if ((t /= d / 2) === 2)\n return sum(b, c);\n if (!p)\n p = mul(d, 0.3 * 1.5);\n if (a < Math.abs(c)) {\n a = c;\n s = div(p, 4);\n } else\n s = mul(div(p, mul(2, Math.PI)), Math.asin(1));\n if (t < 1)\n return sum(mul(-0.5, mul(mul(a, Math.pow(2, mul(10, t -= 1))), Math.sin(div(mul(sub(mul(t, d), s), mul(2, Math.PI)), p)))), b);\n return sum(sum(mul(mul(mul(a, Math.pow(2, mul(-10, t -= 1))), Math.sin(div(mul(sub(mul(t, d), s), mul(2, Math.PI)), p))), 0.5), c), b);\n}\nfunction executeElasticInProgress(Progress) {\n return Progress === 0 ? 0 : Progress === 1 ? 1 : -Math.pow(2, 10 * Progress - 10) * Math.sin((Progress * 10 - 10.75) * (2 * Math.PI / 3));\n}\nfunction executeElasticOutProgress(Progress) {\n return Progress === 0 ? 0 : Progress === 1 ? 1 : Math.pow(2, -10 * Progress) * Math.sin((Progress * 10 - 0.75) * (2 * Math.PI / 3)) + 1;\n}\nfunction executeElasticInOutProgress(Progress) {\n return Progress === 0 ? 0 : Progress === 1 ? 1 : Progress < 0.5 ? -(Math.pow(2, 20 * Progress - 10) * Math.sin((20 * Progress - 11.125) * (2 * Math.PI / 4.5))) / 2 : Math.pow(2, -20 * Progress + 10) * Math.sin((20 * Progress - 11.125) * (2 * Math.PI / 4.5)) / 2 + 1;\n}\nfunction make_elastic_easing_in(curviosity) {\n this.execute = executeElasticIn;\n this.executeProgress = executeElasticInProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction make_elastic_easing_out(curviosity) {\n this.execute = executeElasticOut;\n this.executeProgress = executeElasticOutProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction make_elastic_easing_in_out(curviosity) {\n this.execute = executeElasticInOut;\n this.executeProgress = executeElasticInOutProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction executeBounceIn(t, b, c, d) {\n return sum(sub(c, executeBounceOut(sub(d, t), 0, c, d)), b);\n}\nfunction executeBounceOut(t, b, c, d) {\n if ((t /= d) < 1 / 2.75) {\n return sum(mul(c, mul(mul(7.5625, t), t)), b);\n } else if (t < 2 / 2.75) {\n return sum(mul(c, sum(mul(mul(7.5625, t -= 1.5 / 2.75), t), 0.75)), b);\n } else if (t < 2.5 / 2.75) {\n return sum(mul(c, sum(mul(mul(7.5625, t -= 2.25 / 2.75), t), 0.9375)), b);\n } else {\n return sum(mul(c, sum(mul(mul(7.5625, t -= 2.625 / 2.75), t), 0.984375)), b);\n }\n}\nfunction executeBounceInOut(t, b, c, d) {\n if (t < d / 2)\n return sum(mul(executeBounceIn(mul(t, 2), 0, c, d), 0.5), b);\n return sum(sum(mul(executeBounceOut(sub(mul(t, 2), d), 0, c, d), 0.5), mul(c, 0.5)), b);\n}\nfunction executeBounceInProgress(oldProgress) {\n return sub(1, executeBounceOut(sub(1, oldProgress)));\n}\nfunction executeBounceOutProgress(oldProgress) {\n if (oldProgress < 1 / 2.75) {\n return mul(mul(7.5625, oldProgress), oldProgress);\n } else if (oldProgress < 2 / 2.75) {\n return sum(mul(mul(7.5625, oldProgress -= 1.5 / 2.75), oldProgress), 0.75);\n } else if (oldProgress < 2.5 / 2.75) {\n return sum(mul(mul(7.5625, oldProgress -= 2.25 / 2.75), oldProgress), 0.9375);\n } else {\n return sum(mul(mul(7.5625, oldProgress -= 2.625 / 2.75), oldProgress), 0.984375);\n }\n}\nfunction executeBounceInOutProgress(oldProgress) {\n if (oldProgress < 1 / 2)\n return mul(executeBounceIn(mul(oldProgress, 2)), 0.5);\n return sum(mul(executeBounceOut(sub(mul(oldProgress, 2), 1)), 0.5), 0.5);\n}\nfunction make_bounce_easing_in(curviosity) {\n this.execute = executeBounceIn;\n this.executeProgress = executeBounceInProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction make_bounce_easing_out(curviosity) {\n this.execute = executeBounceOut;\n this.executeProgress = executeBounceOutProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction make_bounce_easing_in_out(curviosity) {\n this.execute = executeBounceInOut;\n this.executeProgress = executeBounceInOutProgress;\n this.curviosity = curviosity;\n return this;\n}"},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"arm right","np":2,"cix":2,"ix":3,"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},"n":"0p833_0p833_0p167_0p167","t":81.286,"s":[{"i":[[3.419,-0.047],[0,0],[0,0],[-0.589,-0.426],[-0.061,-0.031],[-0.387,0.532],[0,0],[0.006,-0.049]],"o":[[0.013,-0.047],[0,0],[-0.427,0.589],[0.056,0.041],[0.568,0.29],[0,0],[0,0],[0.975,-3.393]],"v":[[-3.606,0.078],[-9.234,8.474],[-12.881,15.048],[-12.586,16.888],[-12.411,16.996],[-10.746,16.594],[-5.964,9.747],[-0.006,4.393]],"c":true}],"e":[{"i":[[3.419,-0.047],[0,0],[0,0],[-0.589,-0.426],[-0.061,-0.031],[-0.387,0.532],[0,0],[0.006,-0.049]],"o":[[0.013,-0.047],[0,0],[-0.427,0.589],[0.056,0.041],[0.568,0.29],[0,0],[0,0],[0.975,-3.393]],"v":[[-3.606,0.078],[-9.297,6.224],[-12.443,12.673],[-12.148,14.513],[-11.974,14.621],[-10.309,14.219],[-6.026,7.497],[-0.006,4.393]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":88.059,"s":[{"i":[[3.419,-0.047],[0,0],[0,0],[-0.589,-0.426],[-0.061,-0.031],[-0.387,0.532],[0,0],[0.006,-0.049]],"o":[[0.013,-0.047],[0,0],[-0.427,0.589],[0.056,0.041],[0.568,0.29],[0,0],[0,0],[0.975,-3.393]],"v":[[-3.606,0.078],[-9.297,6.224],[-12.443,12.673],[-12.148,14.513],[-11.974,14.621],[-10.309,14.219],[-6.026,7.497],[-0.006,4.393]],"c":true}],"e":[{"i":[[3.419,-0.047],[0,0],[0,0],[-0.589,-0.426],[-0.061,-0.031],[-0.387,0.532],[0,0],[0.006,-0.049]],"o":[[0.013,-0.047],[0,0],[-0.427,0.589],[0.056,0.041],[0.568,0.29],[0,0],[0,0],[0.975,-3.393]],"v":[[-3.606,0.078],[-9.234,8.474],[-12.881,15.048],[-12.586,16.888],[-12.411,16.996],[-10.746,16.594],[-5.964,9.747],[-0.006,4.393]],"c":true}]},{"t":101.607009887695}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,3],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":67.738,"s":[-30],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":84.673,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":88.059,"s":[0],"e":[-30]},{"t":101.607009887695}],"ix":6,"x":"var $bm_rt;\nvar easingPreset = [\n [\n 3,\n 4,\n [\n 'make_bezier_easing',\n [\n 0.25,\n 0.46,\n 0.45,\n 1\n ],\n 'Glide.Out',\n false\n ]\n ],\n [\n 1,\n 2,\n [\n 'make_bezier_easing',\n [\n 0.25,\n 0.46,\n 0.45,\n 1\n ],\n 'Glide.Out',\n false\n ]\n ]\n ];\nfunction easingMaker() {\n var t, d, newProgress, sX, eX, sY, eY, sZ, eZ, val1, val2, val2, val3;\n var n = 0;\n if (numKeys > 0) {\n n = nearestKey(time).index;\n if (key(n).time > time) {\n n--;\n }\n }\n try {\n var key1 = key(n);\n var key2 = key(sum(n, 1));\n } catch (e) {\n return null;\n }\n var dim = 1;\n try {\n key(1)[1];\n dim = 2;\n key(1)[2];\n dim = 3;\n } catch (e) {\n }\n var expression = null;\n for (var i = 0; i < easingPreset.length; ++i) {\n if (easingPreset[i][0] <= n && easingPreset[i][1] >= n + 1) {\n var expression = eval([easingPreset[i][2][0]][0]);\n try {\n expression = expression.apply({}, easingPreset[i][2][1].concat(easingPreset[i][2][3]));\n } catch (e) {\n expression = expression.apply({}, easingPreset[i][2][1]);\n }\n break;\n }\n }\n if (!expression)\n return null;\n t = sub(time, key1.time);\n d = sub(key2.time, key1.time);\n if (expression.hasOwnProperty('curviosity') && expression.curviosity) {\n newProgress = expression.executeProgress(div(t, d));\n return thisProperty.valueAtTime(sum(key1.time, mul(d, newProgress)));\n }\n sX = key1[0];\n eX = sub(key2[0], key1[0]);\n if (dim >= 2) {\n sY = key1[1];\n eY = sub(key2[1], key1[1]);\n if (dim >= 3) {\n sZ = key1[2];\n eZ = sub(key2[2], key1[2]);\n }\n }\n if (time < key1.time || time > key2.time) {\n return value;\n } else {\n val1 = expression.execute(t, sX, eX, d);\n switch (dim) {\n case 1:\n return val1;\n case 2:\n val2 = expression.execute(t, sY, eY, d);\n return [\n val1,\n val2\n ];\n case 3:\n val2 = expression.execute(t, sY, eY, d);\n val3 = expression.execute(t, sZ, eZ, d);\n return [\n val1,\n val2,\n val3\n ];\n default:\n return null;\n }\n }\n}\n$bm_rt = easingMaker() || value;\nfunction sampleCurveY(t) {\n return mul(sum(mul(sum(mul(this.ay, t), this.by), t), this.cy), t);\n}\nfunction sampleCurveX(t) {\n return mul(sum(mul(sum(mul(this.ax, t), this.bx), t), this.cx), t);\n}\nfunction sampleCurveDerivativeX(t) {\n return sum(mul(sum(mul(mul(3, this.ax), t), mul(2, this.bx)), t), this.cx);\n}\nfunction solveCurveX(x, epsilon) {\n var t2, i, x2, d2, t0, t1;\n for (t2 = x, i = 0; i < 8; i++) {\n x2 = sub(sampleCurveX.call(this, t2), x);\n if (Math.abs(x2) < epsilon)\n return t2;\n d2 = sampleCurveDerivativeX.call(this, t2);\n if (Math.abs(d2) < 0.000001)\n break;\n t2 = sub(t2, div(x2, d2));\n }\n t0 = 0;\n t1 = 1;\n t2 = x;\n if (t2 < t0)\n return t0;\n if (t2 > t1)\n return t1;\n while (t0 < t1) {\n x2 = sampleCurveX.call(this, t2);\n if (Math.abs(x2 - x) < epsilon)\n return t2;\n if (x > x2)\n t0 = t2;\n else\n t1 = t2;\n t2 = sum(mul(sub(t1, t0), 0.5), t0);\n }\n return t2;\n}\nfunction executeBezier(t, b, e, d) {\n return sum(b, mul(e, sampleCurveY.call(this, solveCurveX.call(this, div(t, d), div(1, mul(200, d))))));\n}\nfunction executeBezierProgress(oldProgress) {\n return sampleCurveY.call(this, solveCurveX.call(this, oldProgress, 1 / 200));\n}\nfunction make_bezier_easing(p1x, p1y, p2x, p2y, curviosity) {\n this.cx = mul(3, p1x);\n this.bx = sub(mul(3, sub(p2x, p1x)), this.cx);\n this.ax = sub(sub(1, this.cx), this.bx);\n this.cy = mul(3, p1y);\n this.by = sub(mul(3, sub(p2y, p1y)), this.cy);\n this.ay = sub(sub(1, this.cy), this.by);\n this.curviosity = curviosity;\n this.execute = executeBezier;\n this.executeProgress = executeBezierProgress;\n return this;\n}\nfunction executeElasticIn(t, b, c, d) {\n var s = 1.70158;\n var p = 0;\n var a = c;\n if (t === 0)\n return b;\n if ((t /= d) === 1)\n return sum(b, c);\n if (!p)\n p = mul(d, 0.3);\n if (a < Math.abs(c)) {\n a = c;\n s = div(p, 4);\n } else\n s = mul(div(p, mul(2, Math.PI)), Math.asin(1));\n return sum($bm_neg(mul(mul(a, Math.pow(2, mul(10, t -= 1))), Math.sin(div(mul(sub(mul(t, d), s), mul(2, Math.PI)), p)))), b);\n}\nfunction executeElasticOut(t, b, c, d) {\n var s = 1.70158;\n var p = 0;\n var a = c;\n if (t === 0)\n return b;\n if ((t /= d) === 1)\n return sum(b, c);\n if (!p)\n p = mul(d, 0.3);\n if (a < Math.abs(c)) {\n a = c;\n s = div(p, 4);\n } else\n s = mul(div(p, mul(2, Math.PI)), Math.asin(1));\n return sum(sum(mul(mul(a, Math.pow(2, mul(-10, t))), Math.sin(div(mul(sub(mul(t, d), s), mul(2, Math.PI)), p))), c), b);\n}\nfunction executeElasticInOut(t, b, c, d) {\n var s = 1.70158;\n var p = 0;\n var a = c;\n if (t === 0)\n return b;\n if ((t /= d / 2) === 2)\n return sum(b, c);\n if (!p)\n p = mul(d, 0.3 * 1.5);\n if (a < Math.abs(c)) {\n a = c;\n s = div(p, 4);\n } else\n s = mul(div(p, mul(2, Math.PI)), Math.asin(1));\n if (t < 1)\n return sum(mul(-0.5, mul(mul(a, Math.pow(2, mul(10, t -= 1))), Math.sin(div(mul(sub(mul(t, d), s), mul(2, Math.PI)), p)))), b);\n return sum(sum(mul(mul(mul(a, Math.pow(2, mul(-10, t -= 1))), Math.sin(div(mul(sub(mul(t, d), s), mul(2, Math.PI)), p))), 0.5), c), b);\n}\nfunction executeElasticInProgress(Progress) {\n return Progress === 0 ? 0 : Progress === 1 ? 1 : -Math.pow(2, 10 * Progress - 10) * Math.sin((Progress * 10 - 10.75) * (2 * Math.PI / 3));\n}\nfunction executeElasticOutProgress(Progress) {\n return Progress === 0 ? 0 : Progress === 1 ? 1 : Math.pow(2, -10 * Progress) * Math.sin((Progress * 10 - 0.75) * (2 * Math.PI / 3)) + 1;\n}\nfunction executeElasticInOutProgress(Progress) {\n return Progress === 0 ? 0 : Progress === 1 ? 1 : Progress < 0.5 ? -(Math.pow(2, 20 * Progress - 10) * Math.sin((20 * Progress - 11.125) * (2 * Math.PI / 4.5))) / 2 : Math.pow(2, -20 * Progress + 10) * Math.sin((20 * Progress - 11.125) * (2 * Math.PI / 4.5)) / 2 + 1;\n}\nfunction make_elastic_easing_in(curviosity) {\n this.execute = executeElasticIn;\n this.executeProgress = executeElasticInProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction make_elastic_easing_out(curviosity) {\n this.execute = executeElasticOut;\n this.executeProgress = executeElasticOutProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction make_elastic_easing_in_out(curviosity) {\n this.execute = executeElasticInOut;\n this.executeProgress = executeElasticInOutProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction executeBounceIn(t, b, c, d) {\n return sum(sub(c, executeBounceOut(sub(d, t), 0, c, d)), b);\n}\nfunction executeBounceOut(t, b, c, d) {\n if ((t /= d) < 1 / 2.75) {\n return sum(mul(c, mul(mul(7.5625, t), t)), b);\n } else if (t < 2 / 2.75) {\n return sum(mul(c, sum(mul(mul(7.5625, t -= 1.5 / 2.75), t), 0.75)), b);\n } else if (t < 2.5 / 2.75) {\n return sum(mul(c, sum(mul(mul(7.5625, t -= 2.25 / 2.75), t), 0.9375)), b);\n } else {\n return sum(mul(c, sum(mul(mul(7.5625, t -= 2.625 / 2.75), t), 0.984375)), b);\n }\n}\nfunction executeBounceInOut(t, b, c, d) {\n if (t < d / 2)\n return sum(mul(executeBounceIn(mul(t, 2), 0, c, d), 0.5), b);\n return sum(sum(mul(executeBounceOut(sub(mul(t, 2), d), 0, c, d), 0.5), mul(c, 0.5)), b);\n}\nfunction executeBounceInProgress(oldProgress) {\n return sub(1, executeBounceOut(sub(1, oldProgress)));\n}\nfunction executeBounceOutProgress(oldProgress) {\n if (oldProgress < 1 / 2.75) {\n return mul(mul(7.5625, oldProgress), oldProgress);\n } else if (oldProgress < 2 / 2.75) {\n return sum(mul(mul(7.5625, oldProgress -= 1.5 / 2.75), oldProgress), 0.75);\n } else if (oldProgress < 2.5 / 2.75) {\n return sum(mul(mul(7.5625, oldProgress -= 2.25 / 2.75), oldProgress), 0.9375);\n } else {\n return sum(mul(mul(7.5625, oldProgress -= 2.625 / 2.75), oldProgress), 0.984375);\n }\n}\nfunction executeBounceInOutProgress(oldProgress) {\n if (oldProgress < 1 / 2)\n return mul(executeBounceIn(mul(oldProgress, 2)), 0.5);\n return sum(mul(executeBounceOut(sub(mul(oldProgress, 2), 1)), 0.5), 0.5);\n}\nfunction make_bounce_easing_in(curviosity) {\n this.execute = executeBounceIn;\n this.executeProgress = executeBounceInProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction make_bounce_easing_out(curviosity) {\n this.execute = executeBounceOut;\n this.executeProgress = executeBounceOutProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction make_bounce_easing_in_out(curviosity) {\n this.execute = executeBounceInOut;\n this.executeProgress = executeBounceInOutProgress;\n this.curviosity = curviosity;\n return this;\n}"},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"leg left","np":2,"cix":2,"ix":4,"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},"n":"0p833_0p833_0p167_0p167","t":81.286,"s":[{"i":[[-1.494,-2.799],[0,0],[0,0],[-0.568,0.29],[-0.056,0.041],[0.427,0.589],[0,0],[0.007,0.016]],"o":[[-0.025,-0.018],[0,0],[0.385,0.532],[0.061,-0.031],[0.589,-0.426],[0,0],[0,0],[-3.118,-0.234]],"v":[[-0.006,4.393],[5.97,9.514],[10.735,16.594],[12.399,16.996],[12.574,16.888],[12.869,15.048],[9.04,8.191],[3.587,0.078]],"c":true}],"e":[{"i":[[-1.494,-2.799],[0,0],[0,0],[-0.568,0.29],[-0.056,0.041],[0.427,0.589],[0,0],[0.007,0.016]],"o":[[-0.025,-0.018],[0,0],[0.385,0.532],[0.061,-0.031],[0.589,-0.426],[0,0],[0,0],[-3.118,-0.234]],"v":[[-0.006,4.393],[6.345,7.764],[10.36,14.219],[12.024,14.621],[12.199,14.513],[12.494,12.673],[9.415,6.441],[3.587,0.078]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":88.059,"s":[{"i":[[-1.494,-2.799],[0,0],[0,0],[-0.568,0.29],[-0.056,0.041],[0.427,0.589],[0,0],[0.007,0.016]],"o":[[-0.025,-0.018],[0,0],[0.385,0.532],[0.061,-0.031],[0.589,-0.426],[0,0],[0,0],[-3.118,-0.234]],"v":[[-0.006,4.393],[6.345,7.764],[10.36,14.219],[12.024,14.621],[12.199,14.513],[12.494,12.673],[9.415,6.441],[3.587,0.078]],"c":true}],"e":[{"i":[[-1.494,-2.799],[0,0],[0,0],[-0.568,0.29],[-0.056,0.041],[0.427,0.589],[0,0],[0.007,0.016]],"o":[[-0.025,-0.018],[0,0],[0.385,0.532],[0.061,-0.031],[0.589,-0.426],[0,0],[0,0],[-3.118,-0.234]],"v":[[-0.006,4.393],[5.97,9.514],[10.735,16.594],[12.399,16.996],[12.574,16.888],[12.869,15.048],[9.04,8.191],[3.587,0.078]],"c":true}]},{"t":101.607009887695}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,3],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":67.738,"s":[30],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":84.673,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":88.059,"s":[0],"e":[30]},{"t":101.607009887695}],"ix":6,"x":"var $bm_rt;\nvar easingPreset = [\n [\n 3,\n 4,\n [\n 'make_bezier_easing',\n [\n 0.25,\n 0.46,\n 0.45,\n 1\n ],\n 'Glide.Out',\n false\n ]\n ],\n [\n 1,\n 2,\n [\n 'make_bezier_easing',\n [\n 0.25,\n 0.46,\n 0.45,\n 1\n ],\n 'Glide.Out',\n false\n ]\n ],\n [\n 2,\n 3,\n [\n 'make_bezier_easing',\n [\n 0.25,\n 0.46,\n 0.45,\n 1\n ],\n 'Glide.Out',\n false\n ]\n ]\n ];\nfunction easingMaker() {\n var t, d, newProgress, sX, eX, sY, eY, sZ, eZ, val1, val2, val2, val3;\n var n = 0;\n if (numKeys > 0) {\n n = nearestKey(time).index;\n if (key(n).time > time) {\n n--;\n }\n }\n try {\n var key1 = key(n);\n var key2 = key(sum(n, 1));\n } catch (e) {\n return null;\n }\n var dim = 1;\n try {\n key(1)[1];\n dim = 2;\n key(1)[2];\n dim = 3;\n } catch (e) {\n }\n var expression = null;\n for (var i = 0; i < easingPreset.length; ++i) {\n if (easingPreset[i][0] <= n && easingPreset[i][1] >= n + 1) {\n var expression = eval([easingPreset[i][2][0]][0]);\n try {\n expression = expression.apply({}, easingPreset[i][2][1].concat(easingPreset[i][2][3]));\n } catch (e) {\n expression = expression.apply({}, easingPreset[i][2][1]);\n }\n break;\n }\n }\n if (!expression)\n return null;\n t = sub(time, key1.time);\n d = sub(key2.time, key1.time);\n if (expression.hasOwnProperty('curviosity') && expression.curviosity) {\n newProgress = expression.executeProgress(div(t, d));\n return thisProperty.valueAtTime(sum(key1.time, mul(d, newProgress)));\n }\n sX = key1[0];\n eX = sub(key2[0], key1[0]);\n if (dim >= 2) {\n sY = key1[1];\n eY = sub(key2[1], key1[1]);\n if (dim >= 3) {\n sZ = key1[2];\n eZ = sub(key2[2], key1[2]);\n }\n }\n if (time < key1.time || time > key2.time) {\n return value;\n } else {\n val1 = expression.execute(t, sX, eX, d);\n switch (dim) {\n case 1:\n return val1;\n case 2:\n val2 = expression.execute(t, sY, eY, d);\n return [\n val1,\n val2\n ];\n case 3:\n val2 = expression.execute(t, sY, eY, d);\n val3 = expression.execute(t, sZ, eZ, d);\n return [\n val1,\n val2,\n val3\n ];\n default:\n return null;\n }\n }\n}\n$bm_rt = easingMaker() || value;\nfunction sampleCurveY(t) {\n return mul(sum(mul(sum(mul(this.ay, t), this.by), t), this.cy), t);\n}\nfunction sampleCurveX(t) {\n return mul(sum(mul(sum(mul(this.ax, t), this.bx), t), this.cx), t);\n}\nfunction sampleCurveDerivativeX(t) {\n return sum(mul(sum(mul(mul(3, this.ax), t), mul(2, this.bx)), t), this.cx);\n}\nfunction solveCurveX(x, epsilon) {\n var t2, i, x2, d2, t0, t1;\n for (t2 = x, i = 0; i < 8; i++) {\n x2 = sub(sampleCurveX.call(this, t2), x);\n if (Math.abs(x2) < epsilon)\n return t2;\n d2 = sampleCurveDerivativeX.call(this, t2);\n if (Math.abs(d2) < 0.000001)\n break;\n t2 = sub(t2, div(x2, d2));\n }\n t0 = 0;\n t1 = 1;\n t2 = x;\n if (t2 < t0)\n return t0;\n if (t2 > t1)\n return t1;\n while (t0 < t1) {\n x2 = sampleCurveX.call(this, t2);\n if (Math.abs(x2 - x) < epsilon)\n return t2;\n if (x > x2)\n t0 = t2;\n else\n t1 = t2;\n t2 = sum(mul(sub(t1, t0), 0.5), t0);\n }\n return t2;\n}\nfunction executeBezier(t, b, e, d) {\n return sum(b, mul(e, sampleCurveY.call(this, solveCurveX.call(this, div(t, d), div(1, mul(200, d))))));\n}\nfunction executeBezierProgress(oldProgress) {\n return sampleCurveY.call(this, solveCurveX.call(this, oldProgress, 1 / 200));\n}\nfunction make_bezier_easing(p1x, p1y, p2x, p2y, curviosity) {\n this.cx = mul(3, p1x);\n this.bx = sub(mul(3, sub(p2x, p1x)), this.cx);\n this.ax = sub(sub(1, this.cx), this.bx);\n this.cy = mul(3, p1y);\n this.by = sub(mul(3, sub(p2y, p1y)), this.cy);\n this.ay = sub(sub(1, this.cy), this.by);\n this.curviosity = curviosity;\n this.execute = executeBezier;\n this.executeProgress = executeBezierProgress;\n return this;\n}\nfunction executeElasticIn(t, b, c, d) {\n var s = 1.70158;\n var p = 0;\n var a = c;\n if (t === 0)\n return b;\n if ((t /= d) === 1)\n return sum(b, c);\n if (!p)\n p = mul(d, 0.3);\n if (a < Math.abs(c)) {\n a = c;\n s = div(p, 4);\n } else\n s = mul(div(p, mul(2, Math.PI)), Math.asin(1));\n return sum($bm_neg(mul(mul(a, Math.pow(2, mul(10, t -= 1))), Math.sin(div(mul(sub(mul(t, d), s), mul(2, Math.PI)), p)))), b);\n}\nfunction executeElasticOut(t, b, c, d) {\n var s = 1.70158;\n var p = 0;\n var a = c;\n if (t === 0)\n return b;\n if ((t /= d) === 1)\n return sum(b, c);\n if (!p)\n p = mul(d, 0.3);\n if (a < Math.abs(c)) {\n a = c;\n s = div(p, 4);\n } else\n s = mul(div(p, mul(2, Math.PI)), Math.asin(1));\n return sum(sum(mul(mul(a, Math.pow(2, mul(-10, t))), Math.sin(div(mul(sub(mul(t, d), s), mul(2, Math.PI)), p))), c), b);\n}\nfunction executeElasticInOut(t, b, c, d) {\n var s = 1.70158;\n var p = 0;\n var a = c;\n if (t === 0)\n return b;\n if ((t /= d / 2) === 2)\n return sum(b, c);\n if (!p)\n p = mul(d, 0.3 * 1.5);\n if (a < Math.abs(c)) {\n a = c;\n s = div(p, 4);\n } else\n s = mul(div(p, mul(2, Math.PI)), Math.asin(1));\n if (t < 1)\n return sum(mul(-0.5, mul(mul(a, Math.pow(2, mul(10, t -= 1))), Math.sin(div(mul(sub(mul(t, d), s), mul(2, Math.PI)), p)))), b);\n return sum(sum(mul(mul(mul(a, Math.pow(2, mul(-10, t -= 1))), Math.sin(div(mul(sub(mul(t, d), s), mul(2, Math.PI)), p))), 0.5), c), b);\n}\nfunction executeElasticInProgress(Progress) {\n return Progress === 0 ? 0 : Progress === 1 ? 1 : -Math.pow(2, 10 * Progress - 10) * Math.sin((Progress * 10 - 10.75) * (2 * Math.PI / 3));\n}\nfunction executeElasticOutProgress(Progress) {\n return Progress === 0 ? 0 : Progress === 1 ? 1 : Math.pow(2, -10 * Progress) * Math.sin((Progress * 10 - 0.75) * (2 * Math.PI / 3)) + 1;\n}\nfunction executeElasticInOutProgress(Progress) {\n return Progress === 0 ? 0 : Progress === 1 ? 1 : Progress < 0.5 ? -(Math.pow(2, 20 * Progress - 10) * Math.sin((20 * Progress - 11.125) * (2 * Math.PI / 4.5))) / 2 : Math.pow(2, -20 * Progress + 10) * Math.sin((20 * Progress - 11.125) * (2 * Math.PI / 4.5)) / 2 + 1;\n}\nfunction make_elastic_easing_in(curviosity) {\n this.execute = executeElasticIn;\n this.executeProgress = executeElasticInProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction make_elastic_easing_out(curviosity) {\n this.execute = executeElasticOut;\n this.executeProgress = executeElasticOutProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction make_elastic_easing_in_out(curviosity) {\n this.execute = executeElasticInOut;\n this.executeProgress = executeElasticInOutProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction executeBounceIn(t, b, c, d) {\n return sum(sub(c, executeBounceOut(sub(d, t), 0, c, d)), b);\n}\nfunction executeBounceOut(t, b, c, d) {\n if ((t /= d) < 1 / 2.75) {\n return sum(mul(c, mul(mul(7.5625, t), t)), b);\n } else if (t < 2 / 2.75) {\n return sum(mul(c, sum(mul(mul(7.5625, t -= 1.5 / 2.75), t), 0.75)), b);\n } else if (t < 2.5 / 2.75) {\n return sum(mul(c, sum(mul(mul(7.5625, t -= 2.25 / 2.75), t), 0.9375)), b);\n } else {\n return sum(mul(c, sum(mul(mul(7.5625, t -= 2.625 / 2.75), t), 0.984375)), b);\n }\n}\nfunction executeBounceInOut(t, b, c, d) {\n if (t < d / 2)\n return sum(mul(executeBounceIn(mul(t, 2), 0, c, d), 0.5), b);\n return sum(sum(mul(executeBounceOut(sub(mul(t, 2), d), 0, c, d), 0.5), mul(c, 0.5)), b);\n}\nfunction executeBounceInProgress(oldProgress) {\n return sub(1, executeBounceOut(sub(1, oldProgress)));\n}\nfunction executeBounceOutProgress(oldProgress) {\n if (oldProgress < 1 / 2.75) {\n return mul(mul(7.5625, oldProgress), oldProgress);\n } else if (oldProgress < 2 / 2.75) {\n return sum(mul(mul(7.5625, oldProgress -= 1.5 / 2.75), oldProgress), 0.75);\n } else if (oldProgress < 2.5 / 2.75) {\n return sum(mul(mul(7.5625, oldProgress -= 2.25 / 2.75), oldProgress), 0.9375);\n } else {\n return sum(mul(mul(7.5625, oldProgress -= 2.625 / 2.75), oldProgress), 0.984375);\n }\n}\nfunction executeBounceInOutProgress(oldProgress) {\n if (oldProgress < 1 / 2)\n return mul(executeBounceIn(mul(oldProgress, 2)), 0.5);\n return sum(mul(executeBounceOut(sub(mul(oldProgress, 2), 1)), 0.5), 0.5);\n}\nfunction make_bounce_easing_in(curviosity) {\n this.execute = executeBounceIn;\n this.executeProgress = executeBounceInProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction make_bounce_easing_out(curviosity) {\n this.execute = executeBounceOut;\n this.executeProgress = executeBounceOutProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction make_bounce_easing_in_out(curviosity) {\n this.execute = executeBounceInOut;\n this.executeProgress = executeBounceInOutProgress;\n this.curviosity = curviosity;\n return this;\n}"},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"leg right","np":2,"cix":2,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.551,0.153],[0,0],[0,0],[-3.568,0.081],[0,0],[0,0]],"o":[[-0.548,0.165],[0,0],[0,0],[0,0],[3.568,-0.081],[0,0],[0.001,-0.048]],"v":[[1.526,-11.742],[-1.779,-11.724],[-3.864,-8.282],[-3.606,0.078],[-0.006,4.393],[3.587,0.078],[4.117,-8.282]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,3],"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":"body","np":3,"cix":2,"ix":6,"mn":"ADBE Vector Group","hd":false}],"ip":67.7380065917969,"op":101.607009887695,"st":67.7380065917969,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[100,100,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[400,400,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-2.083,-0.067],[-0.067,2.085],[2.085,0.067],[0.068,-2.084]],"o":[[2.084,0.068],[0.067,-2.084],[-2.083,-0.068],[-0.067,2.085]],"v":[[-0.123,3.772],[3.774,0.12],[0.122,-3.773],[-3.774,-0.124]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-14.438],"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":"head","np":2,"cix":2,"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},"n":"0p833_0p833_0p167_0p167","t":33.869,"s":[{"i":[[0.717,2.38],[0,0],[0,0],[0.313,-0.621],[-0.53,-0.458],[0,0],[-0.011,0.063]],"o":[[0,0],[0,0],[-0.545,-0.365],[-0.314,0.621],[0,0],[0,0],[2.396,0.532]],"v":[[-0.717,-11.599],[-7.06,-13.364],[-13.286,-13.415],[-14.978,-12.858],[-14.421,-11.166],[-8.351,-10.775],[-3.864,-8.282]],"c":true}],"e":[{"i":[[0.717,2.38],[0,0],[0,0],[0.313,-0.621],[-0.53,-0.458],[0,0],[-0.011,0.063]],"o":[[0,0],[0,0],[-0.545,-0.365],[-0.314,0.621],[0,0],[0,0],[2.396,0.532]],"v":[[-0.717,-11.599],[-7.06,-13.364],[-11.599,-16.915],[-13.29,-16.358],[-12.733,-14.666],[-8.351,-10.775],[-3.864,-8.282]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":50.804,"s":[{"i":[[0.717,2.38],[0,0],[0,0],[0.313,-0.621],[-0.53,-0.458],[0,0],[-0.011,0.063]],"o":[[0,0],[0,0],[-0.545,-0.365],[-0.314,0.621],[0,0],[0,0],[2.396,0.532]],"v":[[-0.717,-11.599],[-7.06,-13.364],[-11.599,-16.915],[-13.29,-16.358],[-12.733,-14.666],[-8.351,-10.775],[-3.864,-8.282]],"c":true}],"e":[{"i":[[0.717,2.38],[0,0],[0,0],[0.313,-0.621],[-0.53,-0.458],[0,0],[-0.011,0.063]],"o":[[0,0],[0,0],[-0.545,-0.365],[-0.314,0.621],[0,0],[0,0],[2.396,0.532]],"v":[[-0.717,-11.599],[-7.06,-13.364],[-13.286,-13.415],[-14.978,-12.858],[-14.421,-11.166],[-8.351,-10.775],[-3.864,-8.282]],"c":true}]},{"t":67.7380065917969}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-2.188,-6.875],"ix":2},"a":{"a":0,"k":[-2.188,-9.875],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":33.869,"s":[-90],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":50.804,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":54.19,"s":[0],"e":[-90]},{"t":67.7380065917969}],"ix":6,"x":"var $bm_rt;\nvar easingPreset = [\n [\n 3,\n 4,\n [\n 'make_bezier_easing',\n [\n 0.25,\n 0.46,\n 0.45,\n 1\n ],\n 'Glide.Out',\n false\n ]\n ],\n [\n 1,\n 2,\n [\n 'make_bezier_easing',\n [\n 0.25,\n 0.46,\n 0.45,\n 1\n ],\n 'Glide.Out',\n false\n ]\n ]\n ];\nfunction easingMaker() {\n var t, d, newProgress, sX, eX, sY, eY, sZ, eZ, val1, val2, val2, val3;\n var n = 0;\n if (numKeys > 0) {\n n = nearestKey(time).index;\n if (key(n).time > time) {\n n--;\n }\n }\n try {\n var key1 = key(n);\n var key2 = key(sum(n, 1));\n } catch (e) {\n return null;\n }\n var dim = 1;\n try {\n key(1)[1];\n dim = 2;\n key(1)[2];\n dim = 3;\n } catch (e) {\n }\n var expression = null;\n for (var i = 0; i < easingPreset.length; ++i) {\n if (easingPreset[i][0] <= n && easingPreset[i][1] >= n + 1) {\n var expression = eval([easingPreset[i][2][0]][0]);\n try {\n expression = expression.apply({}, easingPreset[i][2][1].concat(easingPreset[i][2][3]));\n } catch (e) {\n expression = expression.apply({}, easingPreset[i][2][1]);\n }\n break;\n }\n }\n if (!expression)\n return null;\n t = sub(time, key1.time);\n d = sub(key2.time, key1.time);\n if (expression.hasOwnProperty('curviosity') && expression.curviosity) {\n newProgress = expression.executeProgress(div(t, d));\n return thisProperty.valueAtTime(sum(key1.time, mul(d, newProgress)));\n }\n sX = key1[0];\n eX = sub(key2[0], key1[0]);\n if (dim >= 2) {\n sY = key1[1];\n eY = sub(key2[1], key1[1]);\n if (dim >= 3) {\n sZ = key1[2];\n eZ = sub(key2[2], key1[2]);\n }\n }\n if (time < key1.time || time > key2.time) {\n return value;\n } else {\n val1 = expression.execute(t, sX, eX, d);\n switch (dim) {\n case 1:\n return val1;\n case 2:\n val2 = expression.execute(t, sY, eY, d);\n return [\n val1,\n val2\n ];\n case 3:\n val2 = expression.execute(t, sY, eY, d);\n val3 = expression.execute(t, sZ, eZ, d);\n return [\n val1,\n val2,\n val3\n ];\n default:\n return null;\n }\n }\n}\n$bm_rt = easingMaker() || value;\nfunction sampleCurveY(t) {\n return mul(sum(mul(sum(mul(this.ay, t), this.by), t), this.cy), t);\n}\nfunction sampleCurveX(t) {\n return mul(sum(mul(sum(mul(this.ax, t), this.bx), t), this.cx), t);\n}\nfunction sampleCurveDerivativeX(t) {\n return sum(mul(sum(mul(mul(3, this.ax), t), mul(2, this.bx)), t), this.cx);\n}\nfunction solveCurveX(x, epsilon) {\n var t2, i, x2, d2, t0, t1;\n for (t2 = x, i = 0; i < 8; i++) {\n x2 = sub(sampleCurveX.call(this, t2), x);\n if (Math.abs(x2) < epsilon)\n return t2;\n d2 = sampleCurveDerivativeX.call(this, t2);\n if (Math.abs(d2) < 0.000001)\n break;\n t2 = sub(t2, div(x2, d2));\n }\n t0 = 0;\n t1 = 1;\n t2 = x;\n if (t2 < t0)\n return t0;\n if (t2 > t1)\n return t1;\n while (t0 < t1) {\n x2 = sampleCurveX.call(this, t2);\n if (Math.abs(x2 - x) < epsilon)\n return t2;\n if (x > x2)\n t0 = t2;\n else\n t1 = t2;\n t2 = sum(mul(sub(t1, t0), 0.5), t0);\n }\n return t2;\n}\nfunction executeBezier(t, b, e, d) {\n return sum(b, mul(e, sampleCurveY.call(this, solveCurveX.call(this, div(t, d), div(1, mul(200, d))))));\n}\nfunction executeBezierProgress(oldProgress) {\n return sampleCurveY.call(this, solveCurveX.call(this, oldProgress, 1 / 200));\n}\nfunction make_bezier_easing(p1x, p1y, p2x, p2y, curviosity) {\n this.cx = mul(3, p1x);\n this.bx = sub(mul(3, sub(p2x, p1x)), this.cx);\n this.ax = sub(sub(1, this.cx), this.bx);\n this.cy = mul(3, p1y);\n this.by = sub(mul(3, sub(p2y, p1y)), this.cy);\n this.ay = sub(sub(1, this.cy), this.by);\n this.curviosity = curviosity;\n this.execute = executeBezier;\n this.executeProgress = executeBezierProgress;\n return this;\n}\nfunction executeElasticIn(t, b, c, d) {\n var s = 1.70158;\n var p = 0;\n var a = c;\n if (t === 0)\n return b;\n if ((t /= d) === 1)\n return sum(b, c);\n if (!p)\n p = mul(d, 0.3);\n if (a < Math.abs(c)) {\n a = c;\n s = div(p, 4);\n } else\n s = mul(div(p, mul(2, Math.PI)), Math.asin(1));\n return sum($bm_neg(mul(mul(a, Math.pow(2, mul(10, t -= 1))), Math.sin(div(mul(sub(mul(t, d), s), mul(2, Math.PI)), p)))), b);\n}\nfunction executeElasticOut(t, b, c, d) {\n var s = 1.70158;\n var p = 0;\n var a = c;\n if (t === 0)\n return b;\n if ((t /= d) === 1)\n return sum(b, c);\n if (!p)\n p = mul(d, 0.3);\n if (a < Math.abs(c)) {\n a = c;\n s = div(p, 4);\n } else\n s = mul(div(p, mul(2, Math.PI)), Math.asin(1));\n return sum(sum(mul(mul(a, Math.pow(2, mul(-10, t))), Math.sin(div(mul(sub(mul(t, d), s), mul(2, Math.PI)), p))), c), b);\n}\nfunction executeElasticInOut(t, b, c, d) {\n var s = 1.70158;\n var p = 0;\n var a = c;\n if (t === 0)\n return b;\n if ((t /= d / 2) === 2)\n return sum(b, c);\n if (!p)\n p = mul(d, 0.3 * 1.5);\n if (a < Math.abs(c)) {\n a = c;\n s = div(p, 4);\n } else\n s = mul(div(p, mul(2, Math.PI)), Math.asin(1));\n if (t < 1)\n return sum(mul(-0.5, mul(mul(a, Math.pow(2, mul(10, t -= 1))), Math.sin(div(mul(sub(mul(t, d), s), mul(2, Math.PI)), p)))), b);\n return sum(sum(mul(mul(mul(a, Math.pow(2, mul(-10, t -= 1))), Math.sin(div(mul(sub(mul(t, d), s), mul(2, Math.PI)), p))), 0.5), c), b);\n}\nfunction executeElasticInProgress(Progress) {\n return Progress === 0 ? 0 : Progress === 1 ? 1 : -Math.pow(2, 10 * Progress - 10) * Math.sin((Progress * 10 - 10.75) * (2 * Math.PI / 3));\n}\nfunction executeElasticOutProgress(Progress) {\n return Progress === 0 ? 0 : Progress === 1 ? 1 : Math.pow(2, -10 * Progress) * Math.sin((Progress * 10 - 0.75) * (2 * Math.PI / 3)) + 1;\n}\nfunction executeElasticInOutProgress(Progress) {\n return Progress === 0 ? 0 : Progress === 1 ? 1 : Progress < 0.5 ? -(Math.pow(2, 20 * Progress - 10) * Math.sin((20 * Progress - 11.125) * (2 * Math.PI / 4.5))) / 2 : Math.pow(2, -20 * Progress + 10) * Math.sin((20 * Progress - 11.125) * (2 * Math.PI / 4.5)) / 2 + 1;\n}\nfunction make_elastic_easing_in(curviosity) {\n this.execute = executeElasticIn;\n this.executeProgress = executeElasticInProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction make_elastic_easing_out(curviosity) {\n this.execute = executeElasticOut;\n this.executeProgress = executeElasticOutProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction make_elastic_easing_in_out(curviosity) {\n this.execute = executeElasticInOut;\n this.executeProgress = executeElasticInOutProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction executeBounceIn(t, b, c, d) {\n return sum(sub(c, executeBounceOut(sub(d, t), 0, c, d)), b);\n}\nfunction executeBounceOut(t, b, c, d) {\n if ((t /= d) < 1 / 2.75) {\n return sum(mul(c, mul(mul(7.5625, t), t)), b);\n } else if (t < 2 / 2.75) {\n return sum(mul(c, sum(mul(mul(7.5625, t -= 1.5 / 2.75), t), 0.75)), b);\n } else if (t < 2.5 / 2.75) {\n return sum(mul(c, sum(mul(mul(7.5625, t -= 2.25 / 2.75), t), 0.9375)), b);\n } else {\n return sum(mul(c, sum(mul(mul(7.5625, t -= 2.625 / 2.75), t), 0.984375)), b);\n }\n}\nfunction executeBounceInOut(t, b, c, d) {\n if (t < d / 2)\n return sum(mul(executeBounceIn(mul(t, 2), 0, c, d), 0.5), b);\n return sum(sum(mul(executeBounceOut(sub(mul(t, 2), d), 0, c, d), 0.5), mul(c, 0.5)), b);\n}\nfunction executeBounceInProgress(oldProgress) {\n return sub(1, executeBounceOut(sub(1, oldProgress)));\n}\nfunction executeBounceOutProgress(oldProgress) {\n if (oldProgress < 1 / 2.75) {\n return mul(mul(7.5625, oldProgress), oldProgress);\n } else if (oldProgress < 2 / 2.75) {\n return sum(mul(mul(7.5625, oldProgress -= 1.5 / 2.75), oldProgress), 0.75);\n } else if (oldProgress < 2.5 / 2.75) {\n return sum(mul(mul(7.5625, oldProgress -= 2.25 / 2.75), oldProgress), 0.9375);\n } else {\n return sum(mul(mul(7.5625, oldProgress -= 2.625 / 2.75), oldProgress), 0.984375);\n }\n}\nfunction executeBounceInOutProgress(oldProgress) {\n if (oldProgress < 1 / 2)\n return mul(executeBounceIn(mul(oldProgress, 2)), 0.5);\n return sum(mul(executeBounceOut(sub(mul(oldProgress, 2), 1)), 0.5), 0.5);\n}\nfunction make_bounce_easing_in(curviosity) {\n this.execute = executeBounceIn;\n this.executeProgress = executeBounceInProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction make_bounce_easing_out(curviosity) {\n this.execute = executeBounceOut;\n this.executeProgress = executeBounceOutProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction make_bounce_easing_in_out(curviosity) {\n this.execute = executeBounceInOut;\n this.executeProgress = executeBounceInOutProgress;\n this.curviosity = curviosity;\n return this;\n}"},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"arm left","np":2,"cix":2,"ix":2,"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},"n":"0p833_0p833_0p167_0p167","t":33.869,"s":[{"i":[[0,0],[0,0],[0.314,0.621],[0.573,-0.371],[0,0],[-0.026,0.054],[-2.461,0.5]],"o":[[0,0],[0.607,-0.463],[-0.313,-0.621],[0,0],[0,0],[-1.183,2.773],[0.008,0]],"v":[[8.035,-10.775],[13.921,-11.416],[14.478,-13.108],[12.786,-13.665],[6.745,-13.364],[0.964,-11.617],[4.117,-8.282]],"c":true}],"e":[{"i":[[0,0],[0,0],[0.314,0.621],[0.573,-0.371],[0,0],[-0.026,0.054],[-2.461,0.5]],"o":[[0,0],[0.607,-0.463],[-0.313,-0.621],[0,0],[0,0],[-1.183,2.773],[0.008,0]],"v":[[8.035,-10.775],[12.733,-14.666],[13.29,-16.358],[11.599,-16.915],[6.745,-13.364],[0.964,-11.617],[4.117,-8.282]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":50.804,"s":[{"i":[[0,0],[0,0],[0.314,0.621],[0.573,-0.371],[0,0],[-0.026,0.054],[-2.461,0.5]],"o":[[0,0],[0.607,-0.463],[-0.313,-0.621],[0,0],[0,0],[-1.183,2.773],[0.008,0]],"v":[[8.035,-10.775],[12.733,-14.666],[13.29,-16.358],[11.599,-16.915],[6.745,-13.364],[0.964,-11.617],[4.117,-8.282]],"c":true}],"e":[{"i":[[0,0],[0,0],[0.314,0.621],[0.573,-0.371],[0,0],[-0.026,0.054],[-2.461,0.5]],"o":[[0,0],[0.607,-0.463],[-0.313,-0.621],[0,0],[0,0],[-1.183,2.773],[0.008,0]],"v":[[8.035,-10.775],[13.921,-11.416],[14.478,-13.108],[12.786,-13.665],[6.745,-13.364],[0.964,-11.617],[4.117,-8.282]],"c":true}]},{"t":67.7380065917969}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[2,-6.969],"ix":2},"a":{"a":0,"k":[2,-9.969],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":33.869,"s":[90],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":50.804,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":54.19,"s":[0],"e":[90]},{"t":67.7380065917969}],"ix":6,"x":"var $bm_rt;\nvar easingPreset = [\n [\n 3,\n 4,\n [\n 'make_bezier_easing',\n [\n 0.25,\n 0.46,\n 0.45,\n 1\n ],\n 'Glide.Out',\n false\n ]\n ],\n [\n 1,\n 2,\n [\n 'make_bezier_easing',\n [\n 0.25,\n 0.46,\n 0.45,\n 1\n ],\n 'Glide.Out',\n false\n ]\n ]\n ];\nfunction easingMaker() {\n var t, d, newProgress, sX, eX, sY, eY, sZ, eZ, val1, val2, val2, val3;\n var n = 0;\n if (numKeys > 0) {\n n = nearestKey(time).index;\n if (key(n).time > time) {\n n--;\n }\n }\n try {\n var key1 = key(n);\n var key2 = key(sum(n, 1));\n } catch (e) {\n return null;\n }\n var dim = 1;\n try {\n key(1)[1];\n dim = 2;\n key(1)[2];\n dim = 3;\n } catch (e) {\n }\n var expression = null;\n for (var i = 0; i < easingPreset.length; ++i) {\n if (easingPreset[i][0] <= n && easingPreset[i][1] >= n + 1) {\n var expression = eval([easingPreset[i][2][0]][0]);\n try {\n expression = expression.apply({}, easingPreset[i][2][1].concat(easingPreset[i][2][3]));\n } catch (e) {\n expression = expression.apply({}, easingPreset[i][2][1]);\n }\n break;\n }\n }\n if (!expression)\n return null;\n t = sub(time, key1.time);\n d = sub(key2.time, key1.time);\n if (expression.hasOwnProperty('curviosity') && expression.curviosity) {\n newProgress = expression.executeProgress(div(t, d));\n return thisProperty.valueAtTime(sum(key1.time, mul(d, newProgress)));\n }\n sX = key1[0];\n eX = sub(key2[0], key1[0]);\n if (dim >= 2) {\n sY = key1[1];\n eY = sub(key2[1], key1[1]);\n if (dim >= 3) {\n sZ = key1[2];\n eZ = sub(key2[2], key1[2]);\n }\n }\n if (time < key1.time || time > key2.time) {\n return value;\n } else {\n val1 = expression.execute(t, sX, eX, d);\n switch (dim) {\n case 1:\n return val1;\n case 2:\n val2 = expression.execute(t, sY, eY, d);\n return [\n val1,\n val2\n ];\n case 3:\n val2 = expression.execute(t, sY, eY, d);\n val3 = expression.execute(t, sZ, eZ, d);\n return [\n val1,\n val2,\n val3\n ];\n default:\n return null;\n }\n }\n}\n$bm_rt = easingMaker() || value;\nfunction sampleCurveY(t) {\n return mul(sum(mul(sum(mul(this.ay, t), this.by), t), this.cy), t);\n}\nfunction sampleCurveX(t) {\n return mul(sum(mul(sum(mul(this.ax, t), this.bx), t), this.cx), t);\n}\nfunction sampleCurveDerivativeX(t) {\n return sum(mul(sum(mul(mul(3, this.ax), t), mul(2, this.bx)), t), this.cx);\n}\nfunction solveCurveX(x, epsilon) {\n var t2, i, x2, d2, t0, t1;\n for (t2 = x, i = 0; i < 8; i++) {\n x2 = sub(sampleCurveX.call(this, t2), x);\n if (Math.abs(x2) < epsilon)\n return t2;\n d2 = sampleCurveDerivativeX.call(this, t2);\n if (Math.abs(d2) < 0.000001)\n break;\n t2 = sub(t2, div(x2, d2));\n }\n t0 = 0;\n t1 = 1;\n t2 = x;\n if (t2 < t0)\n return t0;\n if (t2 > t1)\n return t1;\n while (t0 < t1) {\n x2 = sampleCurveX.call(this, t2);\n if (Math.abs(x2 - x) < epsilon)\n return t2;\n if (x > x2)\n t0 = t2;\n else\n t1 = t2;\n t2 = sum(mul(sub(t1, t0), 0.5), t0);\n }\n return t2;\n}\nfunction executeBezier(t, b, e, d) {\n return sum(b, mul(e, sampleCurveY.call(this, solveCurveX.call(this, div(t, d), div(1, mul(200, d))))));\n}\nfunction executeBezierProgress(oldProgress) {\n return sampleCurveY.call(this, solveCurveX.call(this, oldProgress, 1 / 200));\n}\nfunction make_bezier_easing(p1x, p1y, p2x, p2y, curviosity) {\n this.cx = mul(3, p1x);\n this.bx = sub(mul(3, sub(p2x, p1x)), this.cx);\n this.ax = sub(sub(1, this.cx), this.bx);\n this.cy = mul(3, p1y);\n this.by = sub(mul(3, sub(p2y, p1y)), this.cy);\n this.ay = sub(sub(1, this.cy), this.by);\n this.curviosity = curviosity;\n this.execute = executeBezier;\n this.executeProgress = executeBezierProgress;\n return this;\n}\nfunction executeElasticIn(t, b, c, d) {\n var s = 1.70158;\n var p = 0;\n var a = c;\n if (t === 0)\n return b;\n if ((t /= d) === 1)\n return sum(b, c);\n if (!p)\n p = mul(d, 0.3);\n if (a < Math.abs(c)) {\n a = c;\n s = div(p, 4);\n } else\n s = mul(div(p, mul(2, Math.PI)), Math.asin(1));\n return sum($bm_neg(mul(mul(a, Math.pow(2, mul(10, t -= 1))), Math.sin(div(mul(sub(mul(t, d), s), mul(2, Math.PI)), p)))), b);\n}\nfunction executeElasticOut(t, b, c, d) {\n var s = 1.70158;\n var p = 0;\n var a = c;\n if (t === 0)\n return b;\n if ((t /= d) === 1)\n return sum(b, c);\n if (!p)\n p = mul(d, 0.3);\n if (a < Math.abs(c)) {\n a = c;\n s = div(p, 4);\n } else\n s = mul(div(p, mul(2, Math.PI)), Math.asin(1));\n return sum(sum(mul(mul(a, Math.pow(2, mul(-10, t))), Math.sin(div(mul(sub(mul(t, d), s), mul(2, Math.PI)), p))), c), b);\n}\nfunction executeElasticInOut(t, b, c, d) {\n var s = 1.70158;\n var p = 0;\n var a = c;\n if (t === 0)\n return b;\n if ((t /= d / 2) === 2)\n return sum(b, c);\n if (!p)\n p = mul(d, 0.3 * 1.5);\n if (a < Math.abs(c)) {\n a = c;\n s = div(p, 4);\n } else\n s = mul(div(p, mul(2, Math.PI)), Math.asin(1));\n if (t < 1)\n return sum(mul(-0.5, mul(mul(a, Math.pow(2, mul(10, t -= 1))), Math.sin(div(mul(sub(mul(t, d), s), mul(2, Math.PI)), p)))), b);\n return sum(sum(mul(mul(mul(a, Math.pow(2, mul(-10, t -= 1))), Math.sin(div(mul(sub(mul(t, d), s), mul(2, Math.PI)), p))), 0.5), c), b);\n}\nfunction executeElasticInProgress(Progress) {\n return Progress === 0 ? 0 : Progress === 1 ? 1 : -Math.pow(2, 10 * Progress - 10) * Math.sin((Progress * 10 - 10.75) * (2 * Math.PI / 3));\n}\nfunction executeElasticOutProgress(Progress) {\n return Progress === 0 ? 0 : Progress === 1 ? 1 : Math.pow(2, -10 * Progress) * Math.sin((Progress * 10 - 0.75) * (2 * Math.PI / 3)) + 1;\n}\nfunction executeElasticInOutProgress(Progress) {\n return Progress === 0 ? 0 : Progress === 1 ? 1 : Progress < 0.5 ? -(Math.pow(2, 20 * Progress - 10) * Math.sin((20 * Progress - 11.125) * (2 * Math.PI / 4.5))) / 2 : Math.pow(2, -20 * Progress + 10) * Math.sin((20 * Progress - 11.125) * (2 * Math.PI / 4.5)) / 2 + 1;\n}\nfunction make_elastic_easing_in(curviosity) {\n this.execute = executeElasticIn;\n this.executeProgress = executeElasticInProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction make_elastic_easing_out(curviosity) {\n this.execute = executeElasticOut;\n this.executeProgress = executeElasticOutProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction make_elastic_easing_in_out(curviosity) {\n this.execute = executeElasticInOut;\n this.executeProgress = executeElasticInOutProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction executeBounceIn(t, b, c, d) {\n return sum(sub(c, executeBounceOut(sub(d, t), 0, c, d)), b);\n}\nfunction executeBounceOut(t, b, c, d) {\n if ((t /= d) < 1 / 2.75) {\n return sum(mul(c, mul(mul(7.5625, t), t)), b);\n } else if (t < 2 / 2.75) {\n return sum(mul(c, sum(mul(mul(7.5625, t -= 1.5 / 2.75), t), 0.75)), b);\n } else if (t < 2.5 / 2.75) {\n return sum(mul(c, sum(mul(mul(7.5625, t -= 2.25 / 2.75), t), 0.9375)), b);\n } else {\n return sum(mul(c, sum(mul(mul(7.5625, t -= 2.625 / 2.75), t), 0.984375)), b);\n }\n}\nfunction executeBounceInOut(t, b, c, d) {\n if (t < d / 2)\n return sum(mul(executeBounceIn(mul(t, 2), 0, c, d), 0.5), b);\n return sum(sum(mul(executeBounceOut(sub(mul(t, 2), d), 0, c, d), 0.5), mul(c, 0.5)), b);\n}\nfunction executeBounceInProgress(oldProgress) {\n return sub(1, executeBounceOut(sub(1, oldProgress)));\n}\nfunction executeBounceOutProgress(oldProgress) {\n if (oldProgress < 1 / 2.75) {\n return mul(mul(7.5625, oldProgress), oldProgress);\n } else if (oldProgress < 2 / 2.75) {\n return sum(mul(mul(7.5625, oldProgress -= 1.5 / 2.75), oldProgress), 0.75);\n } else if (oldProgress < 2.5 / 2.75) {\n return sum(mul(mul(7.5625, oldProgress -= 2.25 / 2.75), oldProgress), 0.9375);\n } else {\n return sum(mul(mul(7.5625, oldProgress -= 2.625 / 2.75), oldProgress), 0.984375);\n }\n}\nfunction executeBounceInOutProgress(oldProgress) {\n if (oldProgress < 1 / 2)\n return mul(executeBounceIn(mul(oldProgress, 2)), 0.5);\n return sum(mul(executeBounceOut(sub(mul(oldProgress, 2), 1)), 0.5), 0.5);\n}\nfunction make_bounce_easing_in(curviosity) {\n this.execute = executeBounceIn;\n this.executeProgress = executeBounceInProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction make_bounce_easing_out(curviosity) {\n this.execute = executeBounceOut;\n this.executeProgress = executeBounceOutProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction make_bounce_easing_in_out(curviosity) {\n this.execute = executeBounceInOut;\n this.executeProgress = executeBounceInOutProgress;\n this.curviosity = curviosity;\n return this;\n}"},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"arm right","np":2,"cix":2,"ix":3,"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},"n":"0p833_0p833_0p167_0p167","t":47.417,"s":[{"i":[[3.419,-0.047],[0,0],[0,0],[-0.589,-0.426],[-0.061,-0.031],[-0.387,0.532],[0,0],[0.006,-0.049]],"o":[[0.013,-0.047],[0,0],[-0.427,0.589],[0.056,0.041],[0.568,0.29],[0,0],[0,0],[0.975,-3.393]],"v":[[-3.606,0.078],[-9.234,8.474],[-12.881,15.048],[-12.586,16.888],[-12.411,16.996],[-10.746,16.594],[-5.964,9.747],[-0.006,4.393]],"c":true}],"e":[{"i":[[3.419,-0.047],[0,0],[0,0],[-0.589,-0.426],[-0.061,-0.031],[-0.387,0.532],[0,0],[0.006,-0.049]],"o":[[0.013,-0.047],[0,0],[-0.427,0.589],[0.056,0.041],[0.568,0.29],[0,0],[0,0],[0.975,-3.393]],"v":[[-3.606,0.078],[-9.297,6.224],[-12.443,12.673],[-12.148,14.513],[-11.974,14.621],[-10.309,14.219],[-6.026,7.497],[-0.006,4.393]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":54.19,"s":[{"i":[[3.419,-0.047],[0,0],[0,0],[-0.589,-0.426],[-0.061,-0.031],[-0.387,0.532],[0,0],[0.006,-0.049]],"o":[[0.013,-0.047],[0,0],[-0.427,0.589],[0.056,0.041],[0.568,0.29],[0,0],[0,0],[0.975,-3.393]],"v":[[-3.606,0.078],[-9.297,6.224],[-12.443,12.673],[-12.148,14.513],[-11.974,14.621],[-10.309,14.219],[-6.026,7.497],[-0.006,4.393]],"c":true}],"e":[{"i":[[3.419,-0.047],[0,0],[0,0],[-0.589,-0.426],[-0.061,-0.031],[-0.387,0.532],[0,0],[0.006,-0.049]],"o":[[0.013,-0.047],[0,0],[-0.427,0.589],[0.056,0.041],[0.568,0.29],[0,0],[0,0],[0.975,-3.393]],"v":[[-3.606,0.078],[-9.234,8.474],[-12.881,15.048],[-12.586,16.888],[-12.411,16.996],[-10.746,16.594],[-5.964,9.747],[-0.006,4.393]],"c":true}]},{"t":67.7380065917969}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,3],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":33.869,"s":[-30],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":50.804,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":54.19,"s":[0],"e":[-30]},{"t":67.7380065917969}],"ix":6,"x":"var $bm_rt;\nvar easingPreset = [\n [\n 3,\n 4,\n [\n 'make_bezier_easing',\n [\n 0.25,\n 0.46,\n 0.45,\n 1\n ],\n 'Glide.Out',\n false\n ]\n ],\n [\n 1,\n 2,\n [\n 'make_bezier_easing',\n [\n 0.25,\n 0.46,\n 0.45,\n 1\n ],\n 'Glide.Out',\n false\n ]\n ]\n ];\nfunction easingMaker() {\n var t, d, newProgress, sX, eX, sY, eY, sZ, eZ, val1, val2, val2, val3;\n var n = 0;\n if (numKeys > 0) {\n n = nearestKey(time).index;\n if (key(n).time > time) {\n n--;\n }\n }\n try {\n var key1 = key(n);\n var key2 = key(sum(n, 1));\n } catch (e) {\n return null;\n }\n var dim = 1;\n try {\n key(1)[1];\n dim = 2;\n key(1)[2];\n dim = 3;\n } catch (e) {\n }\n var expression = null;\n for (var i = 0; i < easingPreset.length; ++i) {\n if (easingPreset[i][0] <= n && easingPreset[i][1] >= n + 1) {\n var expression = eval([easingPreset[i][2][0]][0]);\n try {\n expression = expression.apply({}, easingPreset[i][2][1].concat(easingPreset[i][2][3]));\n } catch (e) {\n expression = expression.apply({}, easingPreset[i][2][1]);\n }\n break;\n }\n }\n if (!expression)\n return null;\n t = sub(time, key1.time);\n d = sub(key2.time, key1.time);\n if (expression.hasOwnProperty('curviosity') && expression.curviosity) {\n newProgress = expression.executeProgress(div(t, d));\n return thisProperty.valueAtTime(sum(key1.time, mul(d, newProgress)));\n }\n sX = key1[0];\n eX = sub(key2[0], key1[0]);\n if (dim >= 2) {\n sY = key1[1];\n eY = sub(key2[1], key1[1]);\n if (dim >= 3) {\n sZ = key1[2];\n eZ = sub(key2[2], key1[2]);\n }\n }\n if (time < key1.time || time > key2.time) {\n return value;\n } else {\n val1 = expression.execute(t, sX, eX, d);\n switch (dim) {\n case 1:\n return val1;\n case 2:\n val2 = expression.execute(t, sY, eY, d);\n return [\n val1,\n val2\n ];\n case 3:\n val2 = expression.execute(t, sY, eY, d);\n val3 = expression.execute(t, sZ, eZ, d);\n return [\n val1,\n val2,\n val3\n ];\n default:\n return null;\n }\n }\n}\n$bm_rt = easingMaker() || value;\nfunction sampleCurveY(t) {\n return mul(sum(mul(sum(mul(this.ay, t), this.by), t), this.cy), t);\n}\nfunction sampleCurveX(t) {\n return mul(sum(mul(sum(mul(this.ax, t), this.bx), t), this.cx), t);\n}\nfunction sampleCurveDerivativeX(t) {\n return sum(mul(sum(mul(mul(3, this.ax), t), mul(2, this.bx)), t), this.cx);\n}\nfunction solveCurveX(x, epsilon) {\n var t2, i, x2, d2, t0, t1;\n for (t2 = x, i = 0; i < 8; i++) {\n x2 = sub(sampleCurveX.call(this, t2), x);\n if (Math.abs(x2) < epsilon)\n return t2;\n d2 = sampleCurveDerivativeX.call(this, t2);\n if (Math.abs(d2) < 0.000001)\n break;\n t2 = sub(t2, div(x2, d2));\n }\n t0 = 0;\n t1 = 1;\n t2 = x;\n if (t2 < t0)\n return t0;\n if (t2 > t1)\n return t1;\n while (t0 < t1) {\n x2 = sampleCurveX.call(this, t2);\n if (Math.abs(x2 - x) < epsilon)\n return t2;\n if (x > x2)\n t0 = t2;\n else\n t1 = t2;\n t2 = sum(mul(sub(t1, t0), 0.5), t0);\n }\n return t2;\n}\nfunction executeBezier(t, b, e, d) {\n return sum(b, mul(e, sampleCurveY.call(this, solveCurveX.call(this, div(t, d), div(1, mul(200, d))))));\n}\nfunction executeBezierProgress(oldProgress) {\n return sampleCurveY.call(this, solveCurveX.call(this, oldProgress, 1 / 200));\n}\nfunction make_bezier_easing(p1x, p1y, p2x, p2y, curviosity) {\n this.cx = mul(3, p1x);\n this.bx = sub(mul(3, sub(p2x, p1x)), this.cx);\n this.ax = sub(sub(1, this.cx), this.bx);\n this.cy = mul(3, p1y);\n this.by = sub(mul(3, sub(p2y, p1y)), this.cy);\n this.ay = sub(sub(1, this.cy), this.by);\n this.curviosity = curviosity;\n this.execute = executeBezier;\n this.executeProgress = executeBezierProgress;\n return this;\n}\nfunction executeElasticIn(t, b, c, d) {\n var s = 1.70158;\n var p = 0;\n var a = c;\n if (t === 0)\n return b;\n if ((t /= d) === 1)\n return sum(b, c);\n if (!p)\n p = mul(d, 0.3);\n if (a < Math.abs(c)) {\n a = c;\n s = div(p, 4);\n } else\n s = mul(div(p, mul(2, Math.PI)), Math.asin(1));\n return sum($bm_neg(mul(mul(a, Math.pow(2, mul(10, t -= 1))), Math.sin(div(mul(sub(mul(t, d), s), mul(2, Math.PI)), p)))), b);\n}\nfunction executeElasticOut(t, b, c, d) {\n var s = 1.70158;\n var p = 0;\n var a = c;\n if (t === 0)\n return b;\n if ((t /= d) === 1)\n return sum(b, c);\n if (!p)\n p = mul(d, 0.3);\n if (a < Math.abs(c)) {\n a = c;\n s = div(p, 4);\n } else\n s = mul(div(p, mul(2, Math.PI)), Math.asin(1));\n return sum(sum(mul(mul(a, Math.pow(2, mul(-10, t))), Math.sin(div(mul(sub(mul(t, d), s), mul(2, Math.PI)), p))), c), b);\n}\nfunction executeElasticInOut(t, b, c, d) {\n var s = 1.70158;\n var p = 0;\n var a = c;\n if (t === 0)\n return b;\n if ((t /= d / 2) === 2)\n return sum(b, c);\n if (!p)\n p = mul(d, 0.3 * 1.5);\n if (a < Math.abs(c)) {\n a = c;\n s = div(p, 4);\n } else\n s = mul(div(p, mul(2, Math.PI)), Math.asin(1));\n if (t < 1)\n return sum(mul(-0.5, mul(mul(a, Math.pow(2, mul(10, t -= 1))), Math.sin(div(mul(sub(mul(t, d), s), mul(2, Math.PI)), p)))), b);\n return sum(sum(mul(mul(mul(a, Math.pow(2, mul(-10, t -= 1))), Math.sin(div(mul(sub(mul(t, d), s), mul(2, Math.PI)), p))), 0.5), c), b);\n}\nfunction executeElasticInProgress(Progress) {\n return Progress === 0 ? 0 : Progress === 1 ? 1 : -Math.pow(2, 10 * Progress - 10) * Math.sin((Progress * 10 - 10.75) * (2 * Math.PI / 3));\n}\nfunction executeElasticOutProgress(Progress) {\n return Progress === 0 ? 0 : Progress === 1 ? 1 : Math.pow(2, -10 * Progress) * Math.sin((Progress * 10 - 0.75) * (2 * Math.PI / 3)) + 1;\n}\nfunction executeElasticInOutProgress(Progress) {\n return Progress === 0 ? 0 : Progress === 1 ? 1 : Progress < 0.5 ? -(Math.pow(2, 20 * Progress - 10) * Math.sin((20 * Progress - 11.125) * (2 * Math.PI / 4.5))) / 2 : Math.pow(2, -20 * Progress + 10) * Math.sin((20 * Progress - 11.125) * (2 * Math.PI / 4.5)) / 2 + 1;\n}\nfunction make_elastic_easing_in(curviosity) {\n this.execute = executeElasticIn;\n this.executeProgress = executeElasticInProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction make_elastic_easing_out(curviosity) {\n this.execute = executeElasticOut;\n this.executeProgress = executeElasticOutProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction make_elastic_easing_in_out(curviosity) {\n this.execute = executeElasticInOut;\n this.executeProgress = executeElasticInOutProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction executeBounceIn(t, b, c, d) {\n return sum(sub(c, executeBounceOut(sub(d, t), 0, c, d)), b);\n}\nfunction executeBounceOut(t, b, c, d) {\n if ((t /= d) < 1 / 2.75) {\n return sum(mul(c, mul(mul(7.5625, t), t)), b);\n } else if (t < 2 / 2.75) {\n return sum(mul(c, sum(mul(mul(7.5625, t -= 1.5 / 2.75), t), 0.75)), b);\n } else if (t < 2.5 / 2.75) {\n return sum(mul(c, sum(mul(mul(7.5625, t -= 2.25 / 2.75), t), 0.9375)), b);\n } else {\n return sum(mul(c, sum(mul(mul(7.5625, t -= 2.625 / 2.75), t), 0.984375)), b);\n }\n}\nfunction executeBounceInOut(t, b, c, d) {\n if (t < d / 2)\n return sum(mul(executeBounceIn(mul(t, 2), 0, c, d), 0.5), b);\n return sum(sum(mul(executeBounceOut(sub(mul(t, 2), d), 0, c, d), 0.5), mul(c, 0.5)), b);\n}\nfunction executeBounceInProgress(oldProgress) {\n return sub(1, executeBounceOut(sub(1, oldProgress)));\n}\nfunction executeBounceOutProgress(oldProgress) {\n if (oldProgress < 1 / 2.75) {\n return mul(mul(7.5625, oldProgress), oldProgress);\n } else if (oldProgress < 2 / 2.75) {\n return sum(mul(mul(7.5625, oldProgress -= 1.5 / 2.75), oldProgress), 0.75);\n } else if (oldProgress < 2.5 / 2.75) {\n return sum(mul(mul(7.5625, oldProgress -= 2.25 / 2.75), oldProgress), 0.9375);\n } else {\n return sum(mul(mul(7.5625, oldProgress -= 2.625 / 2.75), oldProgress), 0.984375);\n }\n}\nfunction executeBounceInOutProgress(oldProgress) {\n if (oldProgress < 1 / 2)\n return mul(executeBounceIn(mul(oldProgress, 2)), 0.5);\n return sum(mul(executeBounceOut(sub(mul(oldProgress, 2), 1)), 0.5), 0.5);\n}\nfunction make_bounce_easing_in(curviosity) {\n this.execute = executeBounceIn;\n this.executeProgress = executeBounceInProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction make_bounce_easing_out(curviosity) {\n this.execute = executeBounceOut;\n this.executeProgress = executeBounceOutProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction make_bounce_easing_in_out(curviosity) {\n this.execute = executeBounceInOut;\n this.executeProgress = executeBounceInOutProgress;\n this.curviosity = curviosity;\n return this;\n}"},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"leg left","np":2,"cix":2,"ix":4,"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},"n":"0p833_0p833_0p167_0p167","t":47.417,"s":[{"i":[[-1.494,-2.799],[0,0],[0,0],[-0.568,0.29],[-0.056,0.041],[0.427,0.589],[0,0],[0.007,0.016]],"o":[[-0.025,-0.018],[0,0],[0.385,0.532],[0.061,-0.031],[0.589,-0.426],[0,0],[0,0],[-3.118,-0.234]],"v":[[-0.006,4.393],[5.97,9.514],[10.735,16.594],[12.399,16.996],[12.574,16.888],[12.869,15.048],[9.04,8.191],[3.587,0.078]],"c":true}],"e":[{"i":[[-1.494,-2.799],[0,0],[0,0],[-0.568,0.29],[-0.056,0.041],[0.427,0.589],[0,0],[0.007,0.016]],"o":[[-0.025,-0.018],[0,0],[0.385,0.532],[0.061,-0.031],[0.589,-0.426],[0,0],[0,0],[-3.118,-0.234]],"v":[[-0.006,4.393],[6.345,7.764],[10.36,14.219],[12.024,14.621],[12.199,14.513],[12.494,12.673],[9.415,6.441],[3.587,0.078]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":54.19,"s":[{"i":[[-1.494,-2.799],[0,0],[0,0],[-0.568,0.29],[-0.056,0.041],[0.427,0.589],[0,0],[0.007,0.016]],"o":[[-0.025,-0.018],[0,0],[0.385,0.532],[0.061,-0.031],[0.589,-0.426],[0,0],[0,0],[-3.118,-0.234]],"v":[[-0.006,4.393],[6.345,7.764],[10.36,14.219],[12.024,14.621],[12.199,14.513],[12.494,12.673],[9.415,6.441],[3.587,0.078]],"c":true}],"e":[{"i":[[-1.494,-2.799],[0,0],[0,0],[-0.568,0.29],[-0.056,0.041],[0.427,0.589],[0,0],[0.007,0.016]],"o":[[-0.025,-0.018],[0,0],[0.385,0.532],[0.061,-0.031],[0.589,-0.426],[0,0],[0,0],[-3.118,-0.234]],"v":[[-0.006,4.393],[5.97,9.514],[10.735,16.594],[12.399,16.996],[12.574,16.888],[12.869,15.048],[9.04,8.191],[3.587,0.078]],"c":true}]},{"t":67.7380065917969}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,3],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":33.869,"s":[30],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":50.804,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":54.19,"s":[0],"e":[30]},{"t":67.7380065917969}],"ix":6,"x":"var $bm_rt;\nvar easingPreset = [\n [\n 3,\n 4,\n [\n 'make_bezier_easing',\n [\n 0.25,\n 0.46,\n 0.45,\n 1\n ],\n 'Glide.Out',\n false\n ]\n ],\n [\n 1,\n 2,\n [\n 'make_bezier_easing',\n [\n 0.25,\n 0.46,\n 0.45,\n 1\n ],\n 'Glide.Out',\n false\n ]\n ],\n [\n 2,\n 3,\n [\n 'make_bezier_easing',\n [\n 0.25,\n 0.46,\n 0.45,\n 1\n ],\n 'Glide.Out',\n false\n ]\n ]\n ];\nfunction easingMaker() {\n var t, d, newProgress, sX, eX, sY, eY, sZ, eZ, val1, val2, val2, val3;\n var n = 0;\n if (numKeys > 0) {\n n = nearestKey(time).index;\n if (key(n).time > time) {\n n--;\n }\n }\n try {\n var key1 = key(n);\n var key2 = key(sum(n, 1));\n } catch (e) {\n return null;\n }\n var dim = 1;\n try {\n key(1)[1];\n dim = 2;\n key(1)[2];\n dim = 3;\n } catch (e) {\n }\n var expression = null;\n for (var i = 0; i < easingPreset.length; ++i) {\n if (easingPreset[i][0] <= n && easingPreset[i][1] >= n + 1) {\n var expression = eval([easingPreset[i][2][0]][0]);\n try {\n expression = expression.apply({}, easingPreset[i][2][1].concat(easingPreset[i][2][3]));\n } catch (e) {\n expression = expression.apply({}, easingPreset[i][2][1]);\n }\n break;\n }\n }\n if (!expression)\n return null;\n t = sub(time, key1.time);\n d = sub(key2.time, key1.time);\n if (expression.hasOwnProperty('curviosity') && expression.curviosity) {\n newProgress = expression.executeProgress(div(t, d));\n return thisProperty.valueAtTime(sum(key1.time, mul(d, newProgress)));\n }\n sX = key1[0];\n eX = sub(key2[0], key1[0]);\n if (dim >= 2) {\n sY = key1[1];\n eY = sub(key2[1], key1[1]);\n if (dim >= 3) {\n sZ = key1[2];\n eZ = sub(key2[2], key1[2]);\n }\n }\n if (time < key1.time || time > key2.time) {\n return value;\n } else {\n val1 = expression.execute(t, sX, eX, d);\n switch (dim) {\n case 1:\n return val1;\n case 2:\n val2 = expression.execute(t, sY, eY, d);\n return [\n val1,\n val2\n ];\n case 3:\n val2 = expression.execute(t, sY, eY, d);\n val3 = expression.execute(t, sZ, eZ, d);\n return [\n val1,\n val2,\n val3\n ];\n default:\n return null;\n }\n }\n}\n$bm_rt = easingMaker() || value;\nfunction sampleCurveY(t) {\n return mul(sum(mul(sum(mul(this.ay, t), this.by), t), this.cy), t);\n}\nfunction sampleCurveX(t) {\n return mul(sum(mul(sum(mul(this.ax, t), this.bx), t), this.cx), t);\n}\nfunction sampleCurveDerivativeX(t) {\n return sum(mul(sum(mul(mul(3, this.ax), t), mul(2, this.bx)), t), this.cx);\n}\nfunction solveCurveX(x, epsilon) {\n var t2, i, x2, d2, t0, t1;\n for (t2 = x, i = 0; i < 8; i++) {\n x2 = sub(sampleCurveX.call(this, t2), x);\n if (Math.abs(x2) < epsilon)\n return t2;\n d2 = sampleCurveDerivativeX.call(this, t2);\n if (Math.abs(d2) < 0.000001)\n break;\n t2 = sub(t2, div(x2, d2));\n }\n t0 = 0;\n t1 = 1;\n t2 = x;\n if (t2 < t0)\n return t0;\n if (t2 > t1)\n return t1;\n while (t0 < t1) {\n x2 = sampleCurveX.call(this, t2);\n if (Math.abs(x2 - x) < epsilon)\n return t2;\n if (x > x2)\n t0 = t2;\n else\n t1 = t2;\n t2 = sum(mul(sub(t1, t0), 0.5), t0);\n }\n return t2;\n}\nfunction executeBezier(t, b, e, d) {\n return sum(b, mul(e, sampleCurveY.call(this, solveCurveX.call(this, div(t, d), div(1, mul(200, d))))));\n}\nfunction executeBezierProgress(oldProgress) {\n return sampleCurveY.call(this, solveCurveX.call(this, oldProgress, 1 / 200));\n}\nfunction make_bezier_easing(p1x, p1y, p2x, p2y, curviosity) {\n this.cx = mul(3, p1x);\n this.bx = sub(mul(3, sub(p2x, p1x)), this.cx);\n this.ax = sub(sub(1, this.cx), this.bx);\n this.cy = mul(3, p1y);\n this.by = sub(mul(3, sub(p2y, p1y)), this.cy);\n this.ay = sub(sub(1, this.cy), this.by);\n this.curviosity = curviosity;\n this.execute = executeBezier;\n this.executeProgress = executeBezierProgress;\n return this;\n}\nfunction executeElasticIn(t, b, c, d) {\n var s = 1.70158;\n var p = 0;\n var a = c;\n if (t === 0)\n return b;\n if ((t /= d) === 1)\n return sum(b, c);\n if (!p)\n p = mul(d, 0.3);\n if (a < Math.abs(c)) {\n a = c;\n s = div(p, 4);\n } else\n s = mul(div(p, mul(2, Math.PI)), Math.asin(1));\n return sum($bm_neg(mul(mul(a, Math.pow(2, mul(10, t -= 1))), Math.sin(div(mul(sub(mul(t, d), s), mul(2, Math.PI)), p)))), b);\n}\nfunction executeElasticOut(t, b, c, d) {\n var s = 1.70158;\n var p = 0;\n var a = c;\n if (t === 0)\n return b;\n if ((t /= d) === 1)\n return sum(b, c);\n if (!p)\n p = mul(d, 0.3);\n if (a < Math.abs(c)) {\n a = c;\n s = div(p, 4);\n } else\n s = mul(div(p, mul(2, Math.PI)), Math.asin(1));\n return sum(sum(mul(mul(a, Math.pow(2, mul(-10, t))), Math.sin(div(mul(sub(mul(t, d), s), mul(2, Math.PI)), p))), c), b);\n}\nfunction executeElasticInOut(t, b, c, d) {\n var s = 1.70158;\n var p = 0;\n var a = c;\n if (t === 0)\n return b;\n if ((t /= d / 2) === 2)\n return sum(b, c);\n if (!p)\n p = mul(d, 0.3 * 1.5);\n if (a < Math.abs(c)) {\n a = c;\n s = div(p, 4);\n } else\n s = mul(div(p, mul(2, Math.PI)), Math.asin(1));\n if (t < 1)\n return sum(mul(-0.5, mul(mul(a, Math.pow(2, mul(10, t -= 1))), Math.sin(div(mul(sub(mul(t, d), s), mul(2, Math.PI)), p)))), b);\n return sum(sum(mul(mul(mul(a, Math.pow(2, mul(-10, t -= 1))), Math.sin(div(mul(sub(mul(t, d), s), mul(2, Math.PI)), p))), 0.5), c), b);\n}\nfunction executeElasticInProgress(Progress) {\n return Progress === 0 ? 0 : Progress === 1 ? 1 : -Math.pow(2, 10 * Progress - 10) * Math.sin((Progress * 10 - 10.75) * (2 * Math.PI / 3));\n}\nfunction executeElasticOutProgress(Progress) {\n return Progress === 0 ? 0 : Progress === 1 ? 1 : Math.pow(2, -10 * Progress) * Math.sin((Progress * 10 - 0.75) * (2 * Math.PI / 3)) + 1;\n}\nfunction executeElasticInOutProgress(Progress) {\n return Progress === 0 ? 0 : Progress === 1 ? 1 : Progress < 0.5 ? -(Math.pow(2, 20 * Progress - 10) * Math.sin((20 * Progress - 11.125) * (2 * Math.PI / 4.5))) / 2 : Math.pow(2, -20 * Progress + 10) * Math.sin((20 * Progress - 11.125) * (2 * Math.PI / 4.5)) / 2 + 1;\n}\nfunction make_elastic_easing_in(curviosity) {\n this.execute = executeElasticIn;\n this.executeProgress = executeElasticInProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction make_elastic_easing_out(curviosity) {\n this.execute = executeElasticOut;\n this.executeProgress = executeElasticOutProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction make_elastic_easing_in_out(curviosity) {\n this.execute = executeElasticInOut;\n this.executeProgress = executeElasticInOutProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction executeBounceIn(t, b, c, d) {\n return sum(sub(c, executeBounceOut(sub(d, t), 0, c, d)), b);\n}\nfunction executeBounceOut(t, b, c, d) {\n if ((t /= d) < 1 / 2.75) {\n return sum(mul(c, mul(mul(7.5625, t), t)), b);\n } else if (t < 2 / 2.75) {\n return sum(mul(c, sum(mul(mul(7.5625, t -= 1.5 / 2.75), t), 0.75)), b);\n } else if (t < 2.5 / 2.75) {\n return sum(mul(c, sum(mul(mul(7.5625, t -= 2.25 / 2.75), t), 0.9375)), b);\n } else {\n return sum(mul(c, sum(mul(mul(7.5625, t -= 2.625 / 2.75), t), 0.984375)), b);\n }\n}\nfunction executeBounceInOut(t, b, c, d) {\n if (t < d / 2)\n return sum(mul(executeBounceIn(mul(t, 2), 0, c, d), 0.5), b);\n return sum(sum(mul(executeBounceOut(sub(mul(t, 2), d), 0, c, d), 0.5), mul(c, 0.5)), b);\n}\nfunction executeBounceInProgress(oldProgress) {\n return sub(1, executeBounceOut(sub(1, oldProgress)));\n}\nfunction executeBounceOutProgress(oldProgress) {\n if (oldProgress < 1 / 2.75) {\n return mul(mul(7.5625, oldProgress), oldProgress);\n } else if (oldProgress < 2 / 2.75) {\n return sum(mul(mul(7.5625, oldProgress -= 1.5 / 2.75), oldProgress), 0.75);\n } else if (oldProgress < 2.5 / 2.75) {\n return sum(mul(mul(7.5625, oldProgress -= 2.25 / 2.75), oldProgress), 0.9375);\n } else {\n return sum(mul(mul(7.5625, oldProgress -= 2.625 / 2.75), oldProgress), 0.984375);\n }\n}\nfunction executeBounceInOutProgress(oldProgress) {\n if (oldProgress < 1 / 2)\n return mul(executeBounceIn(mul(oldProgress, 2)), 0.5);\n return sum(mul(executeBounceOut(sub(mul(oldProgress, 2), 1)), 0.5), 0.5);\n}\nfunction make_bounce_easing_in(curviosity) {\n this.execute = executeBounceIn;\n this.executeProgress = executeBounceInProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction make_bounce_easing_out(curviosity) {\n this.execute = executeBounceOut;\n this.executeProgress = executeBounceOutProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction make_bounce_easing_in_out(curviosity) {\n this.execute = executeBounceInOut;\n this.executeProgress = executeBounceInOutProgress;\n this.curviosity = curviosity;\n return this;\n}"},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"leg right","np":2,"cix":2,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.551,0.153],[0,0],[0,0],[-3.568,0.081],[0,0],[0,0]],"o":[[-0.548,0.165],[0,0],[0,0],[0,0],[3.568,-0.081],[0,0],[0.001,-0.048]],"v":[[1.526,-11.742],[-1.779,-11.724],[-3.864,-8.282],[-3.606,0.078],[-0.006,4.393],[3.587,0.078],[4.117,-8.282]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,3],"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":"body","np":3,"cix":2,"ix":6,"mn":"ADBE Vector Group","hd":false}],"ip":33.8690032958984,"op":67.7380065917969,"st":33.8690032958984,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[100,100,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[400,400,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-2.083,-0.067],[-0.067,2.085],[2.085,0.067],[0.068,-2.084]],"o":[[2.084,0.068],[0.067,-2.084],[-2.083,-0.068],[-0.067,2.085]],"v":[[-0.123,3.772],[3.774,0.12],[0.122,-3.773],[-3.774,-0.124]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-14.438],"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":"head","np":2,"cix":2,"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},"n":"0p833_0p833_0p167_0p167","t":0,"s":[{"i":[[0.717,2.38],[0,0],[0,0],[0.313,-0.621],[-0.53,-0.458],[0,0],[-0.011,0.063]],"o":[[0,0],[0,0],[-0.545,-0.365],[-0.314,0.621],[0,0],[0,0],[2.396,0.532]],"v":[[-0.717,-11.599],[-7.06,-13.364],[-13.286,-13.415],[-14.978,-12.858],[-14.421,-11.166],[-8.351,-10.775],[-3.864,-8.282]],"c":true}],"e":[{"i":[[0.717,2.38],[0,0],[0,0],[0.313,-0.621],[-0.53,-0.458],[0,0],[-0.011,0.063]],"o":[[0,0],[0,0],[-0.545,-0.365],[-0.314,0.621],[0,0],[0,0],[2.396,0.532]],"v":[[-0.717,-11.599],[-7.06,-13.364],[-11.599,-16.915],[-13.29,-16.358],[-12.733,-14.666],[-8.351,-10.775],[-3.864,-8.282]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":16.935,"s":[{"i":[[0.717,2.38],[0,0],[0,0],[0.313,-0.621],[-0.53,-0.458],[0,0],[-0.011,0.063]],"o":[[0,0],[0,0],[-0.545,-0.365],[-0.314,0.621],[0,0],[0,0],[2.396,0.532]],"v":[[-0.717,-11.599],[-7.06,-13.364],[-11.599,-16.915],[-13.29,-16.358],[-12.733,-14.666],[-8.351,-10.775],[-3.864,-8.282]],"c":true}],"e":[{"i":[[0.717,2.38],[0,0],[0,0],[0.313,-0.621],[-0.53,-0.458],[0,0],[-0.011,0.063]],"o":[[0,0],[0,0],[-0.545,-0.365],[-0.314,0.621],[0,0],[0,0],[2.396,0.532]],"v":[[-0.717,-11.599],[-7.06,-13.364],[-13.286,-13.415],[-14.978,-12.858],[-14.421,-11.166],[-8.351,-10.775],[-3.864,-8.282]],"c":true}]},{"t":33.8690032958984}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-2.188,-6.875],"ix":2},"a":{"a":0,"k":[-2.188,-9.875],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[-90],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":16.935,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":20.321,"s":[0],"e":[-90]},{"t":33.8690032958984}],"ix":6,"x":"var $bm_rt;\nvar easingPreset = [\n [\n 3,\n 4,\n [\n 'make_bezier_easing',\n [\n 0.25,\n 0.46,\n 0.45,\n 1\n ],\n 'Glide.Out',\n false\n ]\n ],\n [\n 1,\n 2,\n [\n 'make_bezier_easing',\n [\n 0.25,\n 0.46,\n 0.45,\n 1\n ],\n 'Glide.Out',\n false\n ]\n ]\n ];\nfunction easingMaker() {\n var t, d, newProgress, sX, eX, sY, eY, sZ, eZ, val1, val2, val2, val3;\n var n = 0;\n if (numKeys > 0) {\n n = nearestKey(time).index;\n if (key(n).time > time) {\n n--;\n }\n }\n try {\n var key1 = key(n);\n var key2 = key(sum(n, 1));\n } catch (e) {\n return null;\n }\n var dim = 1;\n try {\n key(1)[1];\n dim = 2;\n key(1)[2];\n dim = 3;\n } catch (e) {\n }\n var expression = null;\n for (var i = 0; i < easingPreset.length; ++i) {\n if (easingPreset[i][0] <= n && easingPreset[i][1] >= n + 1) {\n var expression = eval([easingPreset[i][2][0]][0]);\n try {\n expression = expression.apply({}, easingPreset[i][2][1].concat(easingPreset[i][2][3]));\n } catch (e) {\n expression = expression.apply({}, easingPreset[i][2][1]);\n }\n break;\n }\n }\n if (!expression)\n return null;\n t = sub(time, key1.time);\n d = sub(key2.time, key1.time);\n if (expression.hasOwnProperty('curviosity') && expression.curviosity) {\n newProgress = expression.executeProgress(div(t, d));\n return thisProperty.valueAtTime(sum(key1.time, mul(d, newProgress)));\n }\n sX = key1[0];\n eX = sub(key2[0], key1[0]);\n if (dim >= 2) {\n sY = key1[1];\n eY = sub(key2[1], key1[1]);\n if (dim >= 3) {\n sZ = key1[2];\n eZ = sub(key2[2], key1[2]);\n }\n }\n if (time < key1.time || time > key2.time) {\n return value;\n } else {\n val1 = expression.execute(t, sX, eX, d);\n switch (dim) {\n case 1:\n return val1;\n case 2:\n val2 = expression.execute(t, sY, eY, d);\n return [\n val1,\n val2\n ];\n case 3:\n val2 = expression.execute(t, sY, eY, d);\n val3 = expression.execute(t, sZ, eZ, d);\n return [\n val1,\n val2,\n val3\n ];\n default:\n return null;\n }\n }\n}\n$bm_rt = easingMaker() || value;\nfunction sampleCurveY(t) {\n return mul(sum(mul(sum(mul(this.ay, t), this.by), t), this.cy), t);\n}\nfunction sampleCurveX(t) {\n return mul(sum(mul(sum(mul(this.ax, t), this.bx), t), this.cx), t);\n}\nfunction sampleCurveDerivativeX(t) {\n return sum(mul(sum(mul(mul(3, this.ax), t), mul(2, this.bx)), t), this.cx);\n}\nfunction solveCurveX(x, epsilon) {\n var t2, i, x2, d2, t0, t1;\n for (t2 = x, i = 0; i < 8; i++) {\n x2 = sub(sampleCurveX.call(this, t2), x);\n if (Math.abs(x2) < epsilon)\n return t2;\n d2 = sampleCurveDerivativeX.call(this, t2);\n if (Math.abs(d2) < 0.000001)\n break;\n t2 = sub(t2, div(x2, d2));\n }\n t0 = 0;\n t1 = 1;\n t2 = x;\n if (t2 < t0)\n return t0;\n if (t2 > t1)\n return t1;\n while (t0 < t1) {\n x2 = sampleCurveX.call(this, t2);\n if (Math.abs(x2 - x) < epsilon)\n return t2;\n if (x > x2)\n t0 = t2;\n else\n t1 = t2;\n t2 = sum(mul(sub(t1, t0), 0.5), t0);\n }\n return t2;\n}\nfunction executeBezier(t, b, e, d) {\n return sum(b, mul(e, sampleCurveY.call(this, solveCurveX.call(this, div(t, d), div(1, mul(200, d))))));\n}\nfunction executeBezierProgress(oldProgress) {\n return sampleCurveY.call(this, solveCurveX.call(this, oldProgress, 1 / 200));\n}\nfunction make_bezier_easing(p1x, p1y, p2x, p2y, curviosity) {\n this.cx = mul(3, p1x);\n this.bx = sub(mul(3, sub(p2x, p1x)), this.cx);\n this.ax = sub(sub(1, this.cx), this.bx);\n this.cy = mul(3, p1y);\n this.by = sub(mul(3, sub(p2y, p1y)), this.cy);\n this.ay = sub(sub(1, this.cy), this.by);\n this.curviosity = curviosity;\n this.execute = executeBezier;\n this.executeProgress = executeBezierProgress;\n return this;\n}\nfunction executeElasticIn(t, b, c, d) {\n var s = 1.70158;\n var p = 0;\n var a = c;\n if (t === 0)\n return b;\n if ((t /= d) === 1)\n return sum(b, c);\n if (!p)\n p = mul(d, 0.3);\n if (a < Math.abs(c)) {\n a = c;\n s = div(p, 4);\n } else\n s = mul(div(p, mul(2, Math.PI)), Math.asin(1));\n return sum($bm_neg(mul(mul(a, Math.pow(2, mul(10, t -= 1))), Math.sin(div(mul(sub(mul(t, d), s), mul(2, Math.PI)), p)))), b);\n}\nfunction executeElasticOut(t, b, c, d) {\n var s = 1.70158;\n var p = 0;\n var a = c;\n if (t === 0)\n return b;\n if ((t /= d) === 1)\n return sum(b, c);\n if (!p)\n p = mul(d, 0.3);\n if (a < Math.abs(c)) {\n a = c;\n s = div(p, 4);\n } else\n s = mul(div(p, mul(2, Math.PI)), Math.asin(1));\n return sum(sum(mul(mul(a, Math.pow(2, mul(-10, t))), Math.sin(div(mul(sub(mul(t, d), s), mul(2, Math.PI)), p))), c), b);\n}\nfunction executeElasticInOut(t, b, c, d) {\n var s = 1.70158;\n var p = 0;\n var a = c;\n if (t === 0)\n return b;\n if ((t /= d / 2) === 2)\n return sum(b, c);\n if (!p)\n p = mul(d, 0.3 * 1.5);\n if (a < Math.abs(c)) {\n a = c;\n s = div(p, 4);\n } else\n s = mul(div(p, mul(2, Math.PI)), Math.asin(1));\n if (t < 1)\n return sum(mul(-0.5, mul(mul(a, Math.pow(2, mul(10, t -= 1))), Math.sin(div(mul(sub(mul(t, d), s), mul(2, Math.PI)), p)))), b);\n return sum(sum(mul(mul(mul(a, Math.pow(2, mul(-10, t -= 1))), Math.sin(div(mul(sub(mul(t, d), s), mul(2, Math.PI)), p))), 0.5), c), b);\n}\nfunction executeElasticInProgress(Progress) {\n return Progress === 0 ? 0 : Progress === 1 ? 1 : -Math.pow(2, 10 * Progress - 10) * Math.sin((Progress * 10 - 10.75) * (2 * Math.PI / 3));\n}\nfunction executeElasticOutProgress(Progress) {\n return Progress === 0 ? 0 : Progress === 1 ? 1 : Math.pow(2, -10 * Progress) * Math.sin((Progress * 10 - 0.75) * (2 * Math.PI / 3)) + 1;\n}\nfunction executeElasticInOutProgress(Progress) {\n return Progress === 0 ? 0 : Progress === 1 ? 1 : Progress < 0.5 ? -(Math.pow(2, 20 * Progress - 10) * Math.sin((20 * Progress - 11.125) * (2 * Math.PI / 4.5))) / 2 : Math.pow(2, -20 * Progress + 10) * Math.sin((20 * Progress - 11.125) * (2 * Math.PI / 4.5)) / 2 + 1;\n}\nfunction make_elastic_easing_in(curviosity) {\n this.execute = executeElasticIn;\n this.executeProgress = executeElasticInProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction make_elastic_easing_out(curviosity) {\n this.execute = executeElasticOut;\n this.executeProgress = executeElasticOutProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction make_elastic_easing_in_out(curviosity) {\n this.execute = executeElasticInOut;\n this.executeProgress = executeElasticInOutProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction executeBounceIn(t, b, c, d) {\n return sum(sub(c, executeBounceOut(sub(d, t), 0, c, d)), b);\n}\nfunction executeBounceOut(t, b, c, d) {\n if ((t /= d) < 1 / 2.75) {\n return sum(mul(c, mul(mul(7.5625, t), t)), b);\n } else if (t < 2 / 2.75) {\n return sum(mul(c, sum(mul(mul(7.5625, t -= 1.5 / 2.75), t), 0.75)), b);\n } else if (t < 2.5 / 2.75) {\n return sum(mul(c, sum(mul(mul(7.5625, t -= 2.25 / 2.75), t), 0.9375)), b);\n } else {\n return sum(mul(c, sum(mul(mul(7.5625, t -= 2.625 / 2.75), t), 0.984375)), b);\n }\n}\nfunction executeBounceInOut(t, b, c, d) {\n if (t < d / 2)\n return sum(mul(executeBounceIn(mul(t, 2), 0, c, d), 0.5), b);\n return sum(sum(mul(executeBounceOut(sub(mul(t, 2), d), 0, c, d), 0.5), mul(c, 0.5)), b);\n}\nfunction executeBounceInProgress(oldProgress) {\n return sub(1, executeBounceOut(sub(1, oldProgress)));\n}\nfunction executeBounceOutProgress(oldProgress) {\n if (oldProgress < 1 / 2.75) {\n return mul(mul(7.5625, oldProgress), oldProgress);\n } else if (oldProgress < 2 / 2.75) {\n return sum(mul(mul(7.5625, oldProgress -= 1.5 / 2.75), oldProgress), 0.75);\n } else if (oldProgress < 2.5 / 2.75) {\n return sum(mul(mul(7.5625, oldProgress -= 2.25 / 2.75), oldProgress), 0.9375);\n } else {\n return sum(mul(mul(7.5625, oldProgress -= 2.625 / 2.75), oldProgress), 0.984375);\n }\n}\nfunction executeBounceInOutProgress(oldProgress) {\n if (oldProgress < 1 / 2)\n return mul(executeBounceIn(mul(oldProgress, 2)), 0.5);\n return sum(mul(executeBounceOut(sub(mul(oldProgress, 2), 1)), 0.5), 0.5);\n}\nfunction make_bounce_easing_in(curviosity) {\n this.execute = executeBounceIn;\n this.executeProgress = executeBounceInProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction make_bounce_easing_out(curviosity) {\n this.execute = executeBounceOut;\n this.executeProgress = executeBounceOutProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction make_bounce_easing_in_out(curviosity) {\n this.execute = executeBounceInOut;\n this.executeProgress = executeBounceInOutProgress;\n this.curviosity = curviosity;\n return this;\n}"},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"arm left","np":2,"cix":2,"ix":2,"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},"n":"0p833_0p833_0p167_0p167","t":0,"s":[{"i":[[0,0],[0,0],[0.314,0.621],[0.573,-0.371],[0,0],[-0.026,0.054],[-2.461,0.5]],"o":[[0,0],[0.607,-0.463],[-0.313,-0.621],[0,0],[0,0],[-1.183,2.773],[0.008,0]],"v":[[8.035,-10.775],[13.921,-11.416],[14.478,-13.108],[12.786,-13.665],[6.745,-13.364],[0.964,-11.617],[4.117,-8.282]],"c":true}],"e":[{"i":[[0,0],[0,0],[0.314,0.621],[0.573,-0.371],[0,0],[-0.026,0.054],[-2.461,0.5]],"o":[[0,0],[0.607,-0.463],[-0.313,-0.621],[0,0],[0,0],[-1.183,2.773],[0.008,0]],"v":[[8.035,-10.775],[12.733,-14.666],[13.29,-16.358],[11.599,-16.915],[6.745,-13.364],[0.964,-11.617],[4.117,-8.282]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":16.935,"s":[{"i":[[0,0],[0,0],[0.314,0.621],[0.573,-0.371],[0,0],[-0.026,0.054],[-2.461,0.5]],"o":[[0,0],[0.607,-0.463],[-0.313,-0.621],[0,0],[0,0],[-1.183,2.773],[0.008,0]],"v":[[8.035,-10.775],[12.733,-14.666],[13.29,-16.358],[11.599,-16.915],[6.745,-13.364],[0.964,-11.617],[4.117,-8.282]],"c":true}],"e":[{"i":[[0,0],[0,0],[0.314,0.621],[0.573,-0.371],[0,0],[-0.026,0.054],[-2.461,0.5]],"o":[[0,0],[0.607,-0.463],[-0.313,-0.621],[0,0],[0,0],[-1.183,2.773],[0.008,0]],"v":[[8.035,-10.775],[13.921,-11.416],[14.478,-13.108],[12.786,-13.665],[6.745,-13.364],[0.964,-11.617],[4.117,-8.282]],"c":true}]},{"t":33.8690032958984}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[2,-6.969],"ix":2},"a":{"a":0,"k":[2,-9.969],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[90],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":16.935,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":20.321,"s":[0],"e":[90]},{"t":33.8690032958984}],"ix":6,"x":"var $bm_rt;\nvar easingPreset = [\n [\n 3,\n 4,\n [\n 'make_bezier_easing',\n [\n 0.25,\n 0.46,\n 0.45,\n 1\n ],\n 'Glide.Out',\n false\n ]\n ],\n [\n 1,\n 2,\n [\n 'make_bezier_easing',\n [\n 0.25,\n 0.46,\n 0.45,\n 1\n ],\n 'Glide.Out',\n false\n ]\n ]\n ];\nfunction easingMaker() {\n var t, d, newProgress, sX, eX, sY, eY, sZ, eZ, val1, val2, val2, val3;\n var n = 0;\n if (numKeys > 0) {\n n = nearestKey(time).index;\n if (key(n).time > time) {\n n--;\n }\n }\n try {\n var key1 = key(n);\n var key2 = key(sum(n, 1));\n } catch (e) {\n return null;\n }\n var dim = 1;\n try {\n key(1)[1];\n dim = 2;\n key(1)[2];\n dim = 3;\n } catch (e) {\n }\n var expression = null;\n for (var i = 0; i < easingPreset.length; ++i) {\n if (easingPreset[i][0] <= n && easingPreset[i][1] >= n + 1) {\n var expression = eval([easingPreset[i][2][0]][0]);\n try {\n expression = expression.apply({}, easingPreset[i][2][1].concat(easingPreset[i][2][3]));\n } catch (e) {\n expression = expression.apply({}, easingPreset[i][2][1]);\n }\n break;\n }\n }\n if (!expression)\n return null;\n t = sub(time, key1.time);\n d = sub(key2.time, key1.time);\n if (expression.hasOwnProperty('curviosity') && expression.curviosity) {\n newProgress = expression.executeProgress(div(t, d));\n return thisProperty.valueAtTime(sum(key1.time, mul(d, newProgress)));\n }\n sX = key1[0];\n eX = sub(key2[0], key1[0]);\n if (dim >= 2) {\n sY = key1[1];\n eY = sub(key2[1], key1[1]);\n if (dim >= 3) {\n sZ = key1[2];\n eZ = sub(key2[2], key1[2]);\n }\n }\n if (time < key1.time || time > key2.time) {\n return value;\n } else {\n val1 = expression.execute(t, sX, eX, d);\n switch (dim) {\n case 1:\n return val1;\n case 2:\n val2 = expression.execute(t, sY, eY, d);\n return [\n val1,\n val2\n ];\n case 3:\n val2 = expression.execute(t, sY, eY, d);\n val3 = expression.execute(t, sZ, eZ, d);\n return [\n val1,\n val2,\n val3\n ];\n default:\n return null;\n }\n }\n}\n$bm_rt = easingMaker() || value;\nfunction sampleCurveY(t) {\n return mul(sum(mul(sum(mul(this.ay, t), this.by), t), this.cy), t);\n}\nfunction sampleCurveX(t) {\n return mul(sum(mul(sum(mul(this.ax, t), this.bx), t), this.cx), t);\n}\nfunction sampleCurveDerivativeX(t) {\n return sum(mul(sum(mul(mul(3, this.ax), t), mul(2, this.bx)), t), this.cx);\n}\nfunction solveCurveX(x, epsilon) {\n var t2, i, x2, d2, t0, t1;\n for (t2 = x, i = 0; i < 8; i++) {\n x2 = sub(sampleCurveX.call(this, t2), x);\n if (Math.abs(x2) < epsilon)\n return t2;\n d2 = sampleCurveDerivativeX.call(this, t2);\n if (Math.abs(d2) < 0.000001)\n break;\n t2 = sub(t2, div(x2, d2));\n }\n t0 = 0;\n t1 = 1;\n t2 = x;\n if (t2 < t0)\n return t0;\n if (t2 > t1)\n return t1;\n while (t0 < t1) {\n x2 = sampleCurveX.call(this, t2);\n if (Math.abs(x2 - x) < epsilon)\n return t2;\n if (x > x2)\n t0 = t2;\n else\n t1 = t2;\n t2 = sum(mul(sub(t1, t0), 0.5), t0);\n }\n return t2;\n}\nfunction executeBezier(t, b, e, d) {\n return sum(b, mul(e, sampleCurveY.call(this, solveCurveX.call(this, div(t, d), div(1, mul(200, d))))));\n}\nfunction executeBezierProgress(oldProgress) {\n return sampleCurveY.call(this, solveCurveX.call(this, oldProgress, 1 / 200));\n}\nfunction make_bezier_easing(p1x, p1y, p2x, p2y, curviosity) {\n this.cx = mul(3, p1x);\n this.bx = sub(mul(3, sub(p2x, p1x)), this.cx);\n this.ax = sub(sub(1, this.cx), this.bx);\n this.cy = mul(3, p1y);\n this.by = sub(mul(3, sub(p2y, p1y)), this.cy);\n this.ay = sub(sub(1, this.cy), this.by);\n this.curviosity = curviosity;\n this.execute = executeBezier;\n this.executeProgress = executeBezierProgress;\n return this;\n}\nfunction executeElasticIn(t, b, c, d) {\n var s = 1.70158;\n var p = 0;\n var a = c;\n if (t === 0)\n return b;\n if ((t /= d) === 1)\n return sum(b, c);\n if (!p)\n p = mul(d, 0.3);\n if (a < Math.abs(c)) {\n a = c;\n s = div(p, 4);\n } else\n s = mul(div(p, mul(2, Math.PI)), Math.asin(1));\n return sum($bm_neg(mul(mul(a, Math.pow(2, mul(10, t -= 1))), Math.sin(div(mul(sub(mul(t, d), s), mul(2, Math.PI)), p)))), b);\n}\nfunction executeElasticOut(t, b, c, d) {\n var s = 1.70158;\n var p = 0;\n var a = c;\n if (t === 0)\n return b;\n if ((t /= d) === 1)\n return sum(b, c);\n if (!p)\n p = mul(d, 0.3);\n if (a < Math.abs(c)) {\n a = c;\n s = div(p, 4);\n } else\n s = mul(div(p, mul(2, Math.PI)), Math.asin(1));\n return sum(sum(mul(mul(a, Math.pow(2, mul(-10, t))), Math.sin(div(mul(sub(mul(t, d), s), mul(2, Math.PI)), p))), c), b);\n}\nfunction executeElasticInOut(t, b, c, d) {\n var s = 1.70158;\n var p = 0;\n var a = c;\n if (t === 0)\n return b;\n if ((t /= d / 2) === 2)\n return sum(b, c);\n if (!p)\n p = mul(d, 0.3 * 1.5);\n if (a < Math.abs(c)) {\n a = c;\n s = div(p, 4);\n } else\n s = mul(div(p, mul(2, Math.PI)), Math.asin(1));\n if (t < 1)\n return sum(mul(-0.5, mul(mul(a, Math.pow(2, mul(10, t -= 1))), Math.sin(div(mul(sub(mul(t, d), s), mul(2, Math.PI)), p)))), b);\n return sum(sum(mul(mul(mul(a, Math.pow(2, mul(-10, t -= 1))), Math.sin(div(mul(sub(mul(t, d), s), mul(2, Math.PI)), p))), 0.5), c), b);\n}\nfunction executeElasticInProgress(Progress) {\n return Progress === 0 ? 0 : Progress === 1 ? 1 : -Math.pow(2, 10 * Progress - 10) * Math.sin((Progress * 10 - 10.75) * (2 * Math.PI / 3));\n}\nfunction executeElasticOutProgress(Progress) {\n return Progress === 0 ? 0 : Progress === 1 ? 1 : Math.pow(2, -10 * Progress) * Math.sin((Progress * 10 - 0.75) * (2 * Math.PI / 3)) + 1;\n}\nfunction executeElasticInOutProgress(Progress) {\n return Progress === 0 ? 0 : Progress === 1 ? 1 : Progress < 0.5 ? -(Math.pow(2, 20 * Progress - 10) * Math.sin((20 * Progress - 11.125) * (2 * Math.PI / 4.5))) / 2 : Math.pow(2, -20 * Progress + 10) * Math.sin((20 * Progress - 11.125) * (2 * Math.PI / 4.5)) / 2 + 1;\n}\nfunction make_elastic_easing_in(curviosity) {\n this.execute = executeElasticIn;\n this.executeProgress = executeElasticInProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction make_elastic_easing_out(curviosity) {\n this.execute = executeElasticOut;\n this.executeProgress = executeElasticOutProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction make_elastic_easing_in_out(curviosity) {\n this.execute = executeElasticInOut;\n this.executeProgress = executeElasticInOutProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction executeBounceIn(t, b, c, d) {\n return sum(sub(c, executeBounceOut(sub(d, t), 0, c, d)), b);\n}\nfunction executeBounceOut(t, b, c, d) {\n if ((t /= d) < 1 / 2.75) {\n return sum(mul(c, mul(mul(7.5625, t), t)), b);\n } else if (t < 2 / 2.75) {\n return sum(mul(c, sum(mul(mul(7.5625, t -= 1.5 / 2.75), t), 0.75)), b);\n } else if (t < 2.5 / 2.75) {\n return sum(mul(c, sum(mul(mul(7.5625, t -= 2.25 / 2.75), t), 0.9375)), b);\n } else {\n return sum(mul(c, sum(mul(mul(7.5625, t -= 2.625 / 2.75), t), 0.984375)), b);\n }\n}\nfunction executeBounceInOut(t, b, c, d) {\n if (t < d / 2)\n return sum(mul(executeBounceIn(mul(t, 2), 0, c, d), 0.5), b);\n return sum(sum(mul(executeBounceOut(sub(mul(t, 2), d), 0, c, d), 0.5), mul(c, 0.5)), b);\n}\nfunction executeBounceInProgress(oldProgress) {\n return sub(1, executeBounceOut(sub(1, oldProgress)));\n}\nfunction executeBounceOutProgress(oldProgress) {\n if (oldProgress < 1 / 2.75) {\n return mul(mul(7.5625, oldProgress), oldProgress);\n } else if (oldProgress < 2 / 2.75) {\n return sum(mul(mul(7.5625, oldProgress -= 1.5 / 2.75), oldProgress), 0.75);\n } else if (oldProgress < 2.5 / 2.75) {\n return sum(mul(mul(7.5625, oldProgress -= 2.25 / 2.75), oldProgress), 0.9375);\n } else {\n return sum(mul(mul(7.5625, oldProgress -= 2.625 / 2.75), oldProgress), 0.984375);\n }\n}\nfunction executeBounceInOutProgress(oldProgress) {\n if (oldProgress < 1 / 2)\n return mul(executeBounceIn(mul(oldProgress, 2)), 0.5);\n return sum(mul(executeBounceOut(sub(mul(oldProgress, 2), 1)), 0.5), 0.5);\n}\nfunction make_bounce_easing_in(curviosity) {\n this.execute = executeBounceIn;\n this.executeProgress = executeBounceInProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction make_bounce_easing_out(curviosity) {\n this.execute = executeBounceOut;\n this.executeProgress = executeBounceOutProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction make_bounce_easing_in_out(curviosity) {\n this.execute = executeBounceInOut;\n this.executeProgress = executeBounceInOutProgress;\n this.curviosity = curviosity;\n return this;\n}"},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"arm right","np":2,"cix":2,"ix":3,"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},"n":"0p833_0p833_0p167_0p167","t":13.548,"s":[{"i":[[3.419,-0.047],[0,0],[0,0],[-0.589,-0.426],[-0.061,-0.031],[-0.387,0.532],[0,0],[0.006,-0.049]],"o":[[0.013,-0.047],[0,0],[-0.427,0.589],[0.056,0.041],[0.568,0.29],[0,0],[0,0],[0.975,-3.393]],"v":[[-3.606,0.078],[-9.234,8.474],[-12.881,15.048],[-12.586,16.888],[-12.411,16.996],[-10.746,16.594],[-5.964,9.747],[-0.006,4.393]],"c":true}],"e":[{"i":[[3.419,-0.047],[0,0],[0,0],[-0.589,-0.426],[-0.061,-0.031],[-0.387,0.532],[0,0],[0.006,-0.049]],"o":[[0.013,-0.047],[0,0],[-0.427,0.589],[0.056,0.041],[0.568,0.29],[0,0],[0,0],[0.975,-3.393]],"v":[[-3.606,0.078],[-9.297,6.224],[-12.443,12.673],[-12.148,14.513],[-11.974,14.621],[-10.309,14.219],[-6.026,7.497],[-0.006,4.393]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":20.321,"s":[{"i":[[3.419,-0.047],[0,0],[0,0],[-0.589,-0.426],[-0.061,-0.031],[-0.387,0.532],[0,0],[0.006,-0.049]],"o":[[0.013,-0.047],[0,0],[-0.427,0.589],[0.056,0.041],[0.568,0.29],[0,0],[0,0],[0.975,-3.393]],"v":[[-3.606,0.078],[-9.297,6.224],[-12.443,12.673],[-12.148,14.513],[-11.974,14.621],[-10.309,14.219],[-6.026,7.497],[-0.006,4.393]],"c":true}],"e":[{"i":[[3.419,-0.047],[0,0],[0,0],[-0.589,-0.426],[-0.061,-0.031],[-0.387,0.532],[0,0],[0.006,-0.049]],"o":[[0.013,-0.047],[0,0],[-0.427,0.589],[0.056,0.041],[0.568,0.29],[0,0],[0,0],[0.975,-3.393]],"v":[[-3.606,0.078],[-9.234,8.474],[-12.881,15.048],[-12.586,16.888],[-12.411,16.996],[-10.746,16.594],[-5.964,9.747],[-0.006,4.393]],"c":true}]},{"t":33.8690032958984}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,3],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[-30],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":16.935,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":20.321,"s":[0],"e":[-30]},{"t":33.8690032958984}],"ix":6,"x":"var $bm_rt;\nvar easingPreset = [\n [\n 3,\n 4,\n [\n 'make_bezier_easing',\n [\n 0.25,\n 0.46,\n 0.45,\n 1\n ],\n 'Glide.Out',\n false\n ]\n ],\n [\n 1,\n 2,\n [\n 'make_bezier_easing',\n [\n 0.25,\n 0.46,\n 0.45,\n 1\n ],\n 'Glide.Out',\n false\n ]\n ]\n ];\nfunction easingMaker() {\n var t, d, newProgress, sX, eX, sY, eY, sZ, eZ, val1, val2, val2, val3;\n var n = 0;\n if (numKeys > 0) {\n n = nearestKey(time).index;\n if (key(n).time > time) {\n n--;\n }\n }\n try {\n var key1 = key(n);\n var key2 = key(sum(n, 1));\n } catch (e) {\n return null;\n }\n var dim = 1;\n try {\n key(1)[1];\n dim = 2;\n key(1)[2];\n dim = 3;\n } catch (e) {\n }\n var expression = null;\n for (var i = 0; i < easingPreset.length; ++i) {\n if (easingPreset[i][0] <= n && easingPreset[i][1] >= n + 1) {\n var expression = eval([easingPreset[i][2][0]][0]);\n try {\n expression = expression.apply({}, easingPreset[i][2][1].concat(easingPreset[i][2][3]));\n } catch (e) {\n expression = expression.apply({}, easingPreset[i][2][1]);\n }\n break;\n }\n }\n if (!expression)\n return null;\n t = sub(time, key1.time);\n d = sub(key2.time, key1.time);\n if (expression.hasOwnProperty('curviosity') && expression.curviosity) {\n newProgress = expression.executeProgress(div(t, d));\n return thisProperty.valueAtTime(sum(key1.time, mul(d, newProgress)));\n }\n sX = key1[0];\n eX = sub(key2[0], key1[0]);\n if (dim >= 2) {\n sY = key1[1];\n eY = sub(key2[1], key1[1]);\n if (dim >= 3) {\n sZ = key1[2];\n eZ = sub(key2[2], key1[2]);\n }\n }\n if (time < key1.time || time > key2.time) {\n return value;\n } else {\n val1 = expression.execute(t, sX, eX, d);\n switch (dim) {\n case 1:\n return val1;\n case 2:\n val2 = expression.execute(t, sY, eY, d);\n return [\n val1,\n val2\n ];\n case 3:\n val2 = expression.execute(t, sY, eY, d);\n val3 = expression.execute(t, sZ, eZ, d);\n return [\n val1,\n val2,\n val3\n ];\n default:\n return null;\n }\n }\n}\n$bm_rt = easingMaker() || value;\nfunction sampleCurveY(t) {\n return mul(sum(mul(sum(mul(this.ay, t), this.by), t), this.cy), t);\n}\nfunction sampleCurveX(t) {\n return mul(sum(mul(sum(mul(this.ax, t), this.bx), t), this.cx), t);\n}\nfunction sampleCurveDerivativeX(t) {\n return sum(mul(sum(mul(mul(3, this.ax), t), mul(2, this.bx)), t), this.cx);\n}\nfunction solveCurveX(x, epsilon) {\n var t2, i, x2, d2, t0, t1;\n for (t2 = x, i = 0; i < 8; i++) {\n x2 = sub(sampleCurveX.call(this, t2), x);\n if (Math.abs(x2) < epsilon)\n return t2;\n d2 = sampleCurveDerivativeX.call(this, t2);\n if (Math.abs(d2) < 0.000001)\n break;\n t2 = sub(t2, div(x2, d2));\n }\n t0 = 0;\n t1 = 1;\n t2 = x;\n if (t2 < t0)\n return t0;\n if (t2 > t1)\n return t1;\n while (t0 < t1) {\n x2 = sampleCurveX.call(this, t2);\n if (Math.abs(x2 - x) < epsilon)\n return t2;\n if (x > x2)\n t0 = t2;\n else\n t1 = t2;\n t2 = sum(mul(sub(t1, t0), 0.5), t0);\n }\n return t2;\n}\nfunction executeBezier(t, b, e, d) {\n return sum(b, mul(e, sampleCurveY.call(this, solveCurveX.call(this, div(t, d), div(1, mul(200, d))))));\n}\nfunction executeBezierProgress(oldProgress) {\n return sampleCurveY.call(this, solveCurveX.call(this, oldProgress, 1 / 200));\n}\nfunction make_bezier_easing(p1x, p1y, p2x, p2y, curviosity) {\n this.cx = mul(3, p1x);\n this.bx = sub(mul(3, sub(p2x, p1x)), this.cx);\n this.ax = sub(sub(1, this.cx), this.bx);\n this.cy = mul(3, p1y);\n this.by = sub(mul(3, sub(p2y, p1y)), this.cy);\n this.ay = sub(sub(1, this.cy), this.by);\n this.curviosity = curviosity;\n this.execute = executeBezier;\n this.executeProgress = executeBezierProgress;\n return this;\n}\nfunction executeElasticIn(t, b, c, d) {\n var s = 1.70158;\n var p = 0;\n var a = c;\n if (t === 0)\n return b;\n if ((t /= d) === 1)\n return sum(b, c);\n if (!p)\n p = mul(d, 0.3);\n if (a < Math.abs(c)) {\n a = c;\n s = div(p, 4);\n } else\n s = mul(div(p, mul(2, Math.PI)), Math.asin(1));\n return sum($bm_neg(mul(mul(a, Math.pow(2, mul(10, t -= 1))), Math.sin(div(mul(sub(mul(t, d), s), mul(2, Math.PI)), p)))), b);\n}\nfunction executeElasticOut(t, b, c, d) {\n var s = 1.70158;\n var p = 0;\n var a = c;\n if (t === 0)\n return b;\n if ((t /= d) === 1)\n return sum(b, c);\n if (!p)\n p = mul(d, 0.3);\n if (a < Math.abs(c)) {\n a = c;\n s = div(p, 4);\n } else\n s = mul(div(p, mul(2, Math.PI)), Math.asin(1));\n return sum(sum(mul(mul(a, Math.pow(2, mul(-10, t))), Math.sin(div(mul(sub(mul(t, d), s), mul(2, Math.PI)), p))), c), b);\n}\nfunction executeElasticInOut(t, b, c, d) {\n var s = 1.70158;\n var p = 0;\n var a = c;\n if (t === 0)\n return b;\n if ((t /= d / 2) === 2)\n return sum(b, c);\n if (!p)\n p = mul(d, 0.3 * 1.5);\n if (a < Math.abs(c)) {\n a = c;\n s = div(p, 4);\n } else\n s = mul(div(p, mul(2, Math.PI)), Math.asin(1));\n if (t < 1)\n return sum(mul(-0.5, mul(mul(a, Math.pow(2, mul(10, t -= 1))), Math.sin(div(mul(sub(mul(t, d), s), mul(2, Math.PI)), p)))), b);\n return sum(sum(mul(mul(mul(a, Math.pow(2, mul(-10, t -= 1))), Math.sin(div(mul(sub(mul(t, d), s), mul(2, Math.PI)), p))), 0.5), c), b);\n}\nfunction executeElasticInProgress(Progress) {\n return Progress === 0 ? 0 : Progress === 1 ? 1 : -Math.pow(2, 10 * Progress - 10) * Math.sin((Progress * 10 - 10.75) * (2 * Math.PI / 3));\n}\nfunction executeElasticOutProgress(Progress) {\n return Progress === 0 ? 0 : Progress === 1 ? 1 : Math.pow(2, -10 * Progress) * Math.sin((Progress * 10 - 0.75) * (2 * Math.PI / 3)) + 1;\n}\nfunction executeElasticInOutProgress(Progress) {\n return Progress === 0 ? 0 : Progress === 1 ? 1 : Progress < 0.5 ? -(Math.pow(2, 20 * Progress - 10) * Math.sin((20 * Progress - 11.125) * (2 * Math.PI / 4.5))) / 2 : Math.pow(2, -20 * Progress + 10) * Math.sin((20 * Progress - 11.125) * (2 * Math.PI / 4.5)) / 2 + 1;\n}\nfunction make_elastic_easing_in(curviosity) {\n this.execute = executeElasticIn;\n this.executeProgress = executeElasticInProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction make_elastic_easing_out(curviosity) {\n this.execute = executeElasticOut;\n this.executeProgress = executeElasticOutProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction make_elastic_easing_in_out(curviosity) {\n this.execute = executeElasticInOut;\n this.executeProgress = executeElasticInOutProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction executeBounceIn(t, b, c, d) {\n return sum(sub(c, executeBounceOut(sub(d, t), 0, c, d)), b);\n}\nfunction executeBounceOut(t, b, c, d) {\n if ((t /= d) < 1 / 2.75) {\n return sum(mul(c, mul(mul(7.5625, t), t)), b);\n } else if (t < 2 / 2.75) {\n return sum(mul(c, sum(mul(mul(7.5625, t -= 1.5 / 2.75), t), 0.75)), b);\n } else if (t < 2.5 / 2.75) {\n return sum(mul(c, sum(mul(mul(7.5625, t -= 2.25 / 2.75), t), 0.9375)), b);\n } else {\n return sum(mul(c, sum(mul(mul(7.5625, t -= 2.625 / 2.75), t), 0.984375)), b);\n }\n}\nfunction executeBounceInOut(t, b, c, d) {\n if (t < d / 2)\n return sum(mul(executeBounceIn(mul(t, 2), 0, c, d), 0.5), b);\n return sum(sum(mul(executeBounceOut(sub(mul(t, 2), d), 0, c, d), 0.5), mul(c, 0.5)), b);\n}\nfunction executeBounceInProgress(oldProgress) {\n return sub(1, executeBounceOut(sub(1, oldProgress)));\n}\nfunction executeBounceOutProgress(oldProgress) {\n if (oldProgress < 1 / 2.75) {\n return mul(mul(7.5625, oldProgress), oldProgress);\n } else if (oldProgress < 2 / 2.75) {\n return sum(mul(mul(7.5625, oldProgress -= 1.5 / 2.75), oldProgress), 0.75);\n } else if (oldProgress < 2.5 / 2.75) {\n return sum(mul(mul(7.5625, oldProgress -= 2.25 / 2.75), oldProgress), 0.9375);\n } else {\n return sum(mul(mul(7.5625, oldProgress -= 2.625 / 2.75), oldProgress), 0.984375);\n }\n}\nfunction executeBounceInOutProgress(oldProgress) {\n if (oldProgress < 1 / 2)\n return mul(executeBounceIn(mul(oldProgress, 2)), 0.5);\n return sum(mul(executeBounceOut(sub(mul(oldProgress, 2), 1)), 0.5), 0.5);\n}\nfunction make_bounce_easing_in(curviosity) {\n this.execute = executeBounceIn;\n this.executeProgress = executeBounceInProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction make_bounce_easing_out(curviosity) {\n this.execute = executeBounceOut;\n this.executeProgress = executeBounceOutProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction make_bounce_easing_in_out(curviosity) {\n this.execute = executeBounceInOut;\n this.executeProgress = executeBounceInOutProgress;\n this.curviosity = curviosity;\n return this;\n}"},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"leg left","np":2,"cix":2,"ix":4,"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},"n":"0p833_0p833_0p167_0p167","t":13.548,"s":[{"i":[[-1.494,-2.799],[0,0],[0,0],[-0.568,0.29],[-0.056,0.041],[0.427,0.589],[0,0],[0.007,0.016]],"o":[[-0.025,-0.018],[0,0],[0.385,0.532],[0.061,-0.031],[0.589,-0.426],[0,0],[0,0],[-3.118,-0.234]],"v":[[-0.006,4.393],[5.97,9.514],[10.735,16.594],[12.399,16.996],[12.574,16.888],[12.869,15.048],[9.04,8.191],[3.587,0.078]],"c":true}],"e":[{"i":[[-1.494,-2.799],[0,0],[0,0],[-0.568,0.29],[-0.056,0.041],[0.427,0.589],[0,0],[0.007,0.016]],"o":[[-0.025,-0.018],[0,0],[0.385,0.532],[0.061,-0.031],[0.589,-0.426],[0,0],[0,0],[-3.118,-0.234]],"v":[[-0.006,4.393],[6.345,7.764],[10.36,14.219],[12.024,14.621],[12.199,14.513],[12.494,12.673],[9.415,6.441],[3.587,0.078]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":20.321,"s":[{"i":[[-1.494,-2.799],[0,0],[0,0],[-0.568,0.29],[-0.056,0.041],[0.427,0.589],[0,0],[0.007,0.016]],"o":[[-0.025,-0.018],[0,0],[0.385,0.532],[0.061,-0.031],[0.589,-0.426],[0,0],[0,0],[-3.118,-0.234]],"v":[[-0.006,4.393],[6.345,7.764],[10.36,14.219],[12.024,14.621],[12.199,14.513],[12.494,12.673],[9.415,6.441],[3.587,0.078]],"c":true}],"e":[{"i":[[-1.494,-2.799],[0,0],[0,0],[-0.568,0.29],[-0.056,0.041],[0.427,0.589],[0,0],[0.007,0.016]],"o":[[-0.025,-0.018],[0,0],[0.385,0.532],[0.061,-0.031],[0.589,-0.426],[0,0],[0,0],[-3.118,-0.234]],"v":[[-0.006,4.393],[5.97,9.514],[10.735,16.594],[12.399,16.996],[12.574,16.888],[12.869,15.048],[9.04,8.191],[3.587,0.078]],"c":true}]},{"t":33.8690032958984}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,3],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[30],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":16.935,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":20.321,"s":[0],"e":[30]},{"t":33.8690032958984}],"ix":6,"x":"var $bm_rt;\nvar easingPreset = [\n [\n 3,\n 4,\n [\n 'make_bezier_easing',\n [\n 0.25,\n 0.46,\n 0.45,\n 1\n ],\n 'Glide.Out',\n false\n ]\n ],\n [\n 1,\n 2,\n [\n 'make_bezier_easing',\n [\n 0.25,\n 0.46,\n 0.45,\n 1\n ],\n 'Glide.Out',\n false\n ]\n ],\n [\n 2,\n 3,\n [\n 'make_bezier_easing',\n [\n 0.25,\n 0.46,\n 0.45,\n 1\n ],\n 'Glide.Out',\n false\n ]\n ]\n ];\nfunction easingMaker() {\n var t, d, newProgress, sX, eX, sY, eY, sZ, eZ, val1, val2, val2, val3;\n var n = 0;\n if (numKeys > 0) {\n n = nearestKey(time).index;\n if (key(n).time > time) {\n n--;\n }\n }\n try {\n var key1 = key(n);\n var key2 = key(sum(n, 1));\n } catch (e) {\n return null;\n }\n var dim = 1;\n try {\n key(1)[1];\n dim = 2;\n key(1)[2];\n dim = 3;\n } catch (e) {\n }\n var expression = null;\n for (var i = 0; i < easingPreset.length; ++i) {\n if (easingPreset[i][0] <= n && easingPreset[i][1] >= n + 1) {\n var expression = eval([easingPreset[i][2][0]][0]);\n try {\n expression = expression.apply({}, easingPreset[i][2][1].concat(easingPreset[i][2][3]));\n } catch (e) {\n expression = expression.apply({}, easingPreset[i][2][1]);\n }\n break;\n }\n }\n if (!expression)\n return null;\n t = sub(time, key1.time);\n d = sub(key2.time, key1.time);\n if (expression.hasOwnProperty('curviosity') && expression.curviosity) {\n newProgress = expression.executeProgress(div(t, d));\n return thisProperty.valueAtTime(sum(key1.time, mul(d, newProgress)));\n }\n sX = key1[0];\n eX = sub(key2[0], key1[0]);\n if (dim >= 2) {\n sY = key1[1];\n eY = sub(key2[1], key1[1]);\n if (dim >= 3) {\n sZ = key1[2];\n eZ = sub(key2[2], key1[2]);\n }\n }\n if (time < key1.time || time > key2.time) {\n return value;\n } else {\n val1 = expression.execute(t, sX, eX, d);\n switch (dim) {\n case 1:\n return val1;\n case 2:\n val2 = expression.execute(t, sY, eY, d);\n return [\n val1,\n val2\n ];\n case 3:\n val2 = expression.execute(t, sY, eY, d);\n val3 = expression.execute(t, sZ, eZ, d);\n return [\n val1,\n val2,\n val3\n ];\n default:\n return null;\n }\n }\n}\n$bm_rt = easingMaker() || value;\nfunction sampleCurveY(t) {\n return mul(sum(mul(sum(mul(this.ay, t), this.by), t), this.cy), t);\n}\nfunction sampleCurveX(t) {\n return mul(sum(mul(sum(mul(this.ax, t), this.bx), t), this.cx), t);\n}\nfunction sampleCurveDerivativeX(t) {\n return sum(mul(sum(mul(mul(3, this.ax), t), mul(2, this.bx)), t), this.cx);\n}\nfunction solveCurveX(x, epsilon) {\n var t2, i, x2, d2, t0, t1;\n for (t2 = x, i = 0; i < 8; i++) {\n x2 = sub(sampleCurveX.call(this, t2), x);\n if (Math.abs(x2) < epsilon)\n return t2;\n d2 = sampleCurveDerivativeX.call(this, t2);\n if (Math.abs(d2) < 0.000001)\n break;\n t2 = sub(t2, div(x2, d2));\n }\n t0 = 0;\n t1 = 1;\n t2 = x;\n if (t2 < t0)\n return t0;\n if (t2 > t1)\n return t1;\n while (t0 < t1) {\n x2 = sampleCurveX.call(this, t2);\n if (Math.abs(x2 - x) < epsilon)\n return t2;\n if (x > x2)\n t0 = t2;\n else\n t1 = t2;\n t2 = sum(mul(sub(t1, t0), 0.5), t0);\n }\n return t2;\n}\nfunction executeBezier(t, b, e, d) {\n return sum(b, mul(e, sampleCurveY.call(this, solveCurveX.call(this, div(t, d), div(1, mul(200, d))))));\n}\nfunction executeBezierProgress(oldProgress) {\n return sampleCurveY.call(this, solveCurveX.call(this, oldProgress, 1 / 200));\n}\nfunction make_bezier_easing(p1x, p1y, p2x, p2y, curviosity) {\n this.cx = mul(3, p1x);\n this.bx = sub(mul(3, sub(p2x, p1x)), this.cx);\n this.ax = sub(sub(1, this.cx), this.bx);\n this.cy = mul(3, p1y);\n this.by = sub(mul(3, sub(p2y, p1y)), this.cy);\n this.ay = sub(sub(1, this.cy), this.by);\n this.curviosity = curviosity;\n this.execute = executeBezier;\n this.executeProgress = executeBezierProgress;\n return this;\n}\nfunction executeElasticIn(t, b, c, d) {\n var s = 1.70158;\n var p = 0;\n var a = c;\n if (t === 0)\n return b;\n if ((t /= d) === 1)\n return sum(b, c);\n if (!p)\n p = mul(d, 0.3);\n if (a < Math.abs(c)) {\n a = c;\n s = div(p, 4);\n } else\n s = mul(div(p, mul(2, Math.PI)), Math.asin(1));\n return sum($bm_neg(mul(mul(a, Math.pow(2, mul(10, t -= 1))), Math.sin(div(mul(sub(mul(t, d), s), mul(2, Math.PI)), p)))), b);\n}\nfunction executeElasticOut(t, b, c, d) {\n var s = 1.70158;\n var p = 0;\n var a = c;\n if (t === 0)\n return b;\n if ((t /= d) === 1)\n return sum(b, c);\n if (!p)\n p = mul(d, 0.3);\n if (a < Math.abs(c)) {\n a = c;\n s = div(p, 4);\n } else\n s = mul(div(p, mul(2, Math.PI)), Math.asin(1));\n return sum(sum(mul(mul(a, Math.pow(2, mul(-10, t))), Math.sin(div(mul(sub(mul(t, d), s), mul(2, Math.PI)), p))), c), b);\n}\nfunction executeElasticInOut(t, b, c, d) {\n var s = 1.70158;\n var p = 0;\n var a = c;\n if (t === 0)\n return b;\n if ((t /= d / 2) === 2)\n return sum(b, c);\n if (!p)\n p = mul(d, 0.3 * 1.5);\n if (a < Math.abs(c)) {\n a = c;\n s = div(p, 4);\n } else\n s = mul(div(p, mul(2, Math.PI)), Math.asin(1));\n if (t < 1)\n return sum(mul(-0.5, mul(mul(a, Math.pow(2, mul(10, t -= 1))), Math.sin(div(mul(sub(mul(t, d), s), mul(2, Math.PI)), p)))), b);\n return sum(sum(mul(mul(mul(a, Math.pow(2, mul(-10, t -= 1))), Math.sin(div(mul(sub(mul(t, d), s), mul(2, Math.PI)), p))), 0.5), c), b);\n}\nfunction executeElasticInProgress(Progress) {\n return Progress === 0 ? 0 : Progress === 1 ? 1 : -Math.pow(2, 10 * Progress - 10) * Math.sin((Progress * 10 - 10.75) * (2 * Math.PI / 3));\n}\nfunction executeElasticOutProgress(Progress) {\n return Progress === 0 ? 0 : Progress === 1 ? 1 : Math.pow(2, -10 * Progress) * Math.sin((Progress * 10 - 0.75) * (2 * Math.PI / 3)) + 1;\n}\nfunction executeElasticInOutProgress(Progress) {\n return Progress === 0 ? 0 : Progress === 1 ? 1 : Progress < 0.5 ? -(Math.pow(2, 20 * Progress - 10) * Math.sin((20 * Progress - 11.125) * (2 * Math.PI / 4.5))) / 2 : Math.pow(2, -20 * Progress + 10) * Math.sin((20 * Progress - 11.125) * (2 * Math.PI / 4.5)) / 2 + 1;\n}\nfunction make_elastic_easing_in(curviosity) {\n this.execute = executeElasticIn;\n this.executeProgress = executeElasticInProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction make_elastic_easing_out(curviosity) {\n this.execute = executeElasticOut;\n this.executeProgress = executeElasticOutProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction make_elastic_easing_in_out(curviosity) {\n this.execute = executeElasticInOut;\n this.executeProgress = executeElasticInOutProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction executeBounceIn(t, b, c, d) {\n return sum(sub(c, executeBounceOut(sub(d, t), 0, c, d)), b);\n}\nfunction executeBounceOut(t, b, c, d) {\n if ((t /= d) < 1 / 2.75) {\n return sum(mul(c, mul(mul(7.5625, t), t)), b);\n } else if (t < 2 / 2.75) {\n return sum(mul(c, sum(mul(mul(7.5625, t -= 1.5 / 2.75), t), 0.75)), b);\n } else if (t < 2.5 / 2.75) {\n return sum(mul(c, sum(mul(mul(7.5625, t -= 2.25 / 2.75), t), 0.9375)), b);\n } else {\n return sum(mul(c, sum(mul(mul(7.5625, t -= 2.625 / 2.75), t), 0.984375)), b);\n }\n}\nfunction executeBounceInOut(t, b, c, d) {\n if (t < d / 2)\n return sum(mul(executeBounceIn(mul(t, 2), 0, c, d), 0.5), b);\n return sum(sum(mul(executeBounceOut(sub(mul(t, 2), d), 0, c, d), 0.5), mul(c, 0.5)), b);\n}\nfunction executeBounceInProgress(oldProgress) {\n return sub(1, executeBounceOut(sub(1, oldProgress)));\n}\nfunction executeBounceOutProgress(oldProgress) {\n if (oldProgress < 1 / 2.75) {\n return mul(mul(7.5625, oldProgress), oldProgress);\n } else if (oldProgress < 2 / 2.75) {\n return sum(mul(mul(7.5625, oldProgress -= 1.5 / 2.75), oldProgress), 0.75);\n } else if (oldProgress < 2.5 / 2.75) {\n return sum(mul(mul(7.5625, oldProgress -= 2.25 / 2.75), oldProgress), 0.9375);\n } else {\n return sum(mul(mul(7.5625, oldProgress -= 2.625 / 2.75), oldProgress), 0.984375);\n }\n}\nfunction executeBounceInOutProgress(oldProgress) {\n if (oldProgress < 1 / 2)\n return mul(executeBounceIn(mul(oldProgress, 2)), 0.5);\n return sum(mul(executeBounceOut(sub(mul(oldProgress, 2), 1)), 0.5), 0.5);\n}\nfunction make_bounce_easing_in(curviosity) {\n this.execute = executeBounceIn;\n this.executeProgress = executeBounceInProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction make_bounce_easing_out(curviosity) {\n this.execute = executeBounceOut;\n this.executeProgress = executeBounceOutProgress;\n this.curviosity = curviosity;\n return this;\n}\nfunction make_bounce_easing_in_out(curviosity) {\n this.execute = executeBounceInOut;\n this.executeProgress = executeBounceInOutProgress;\n this.curviosity = curviosity;\n return this;\n}"},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"leg right","np":2,"cix":2,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.551,0.153],[0,0],[0,0],[-3.568,0.081],[0,0],[0,0]],"o":[[-0.548,0.165],[0,0],[0,0],[0,0],[3.568,-0.081],[0,0],[0.001,-0.048]],"v":[[1.526,-11.742],[-1.779,-11.724],[-3.864,-8.282],[-3.606,0.078],[-0.006,4.393],[3.587,0.078],[4.117,-8.282]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,3],"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":"body","np":3,"cix":2,"ix":6,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":33.8690032958984,"st":0,"bm":0}]},{"id":"comp_3","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[101.25,104.125,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[400,400,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.74,0.359],[0.357,1.738],[1.738,-0.356],[-0.354,-1.737]],"o":[[1.733,-0.354],[-0.355,-1.737],[-1.738,0.354],[0.357,1.737]],"v":[[0.647,3.143],[3.144,-0.646],[-0.645,-3.146],[-3.147,0.646]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-11.25,4.844],"ix":2},"a":{"a":0,"k":[6.5,17.969],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[30]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":16.935,"s":[30],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":42.336,"s":[0],"e":[30]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":59.271,"s":[30],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":84.673,"s":[0],"e":[30]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":96.527,"s":[30],"e":[0]},{"t":111.767710876465}],"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":"head","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.145,-0.018],[0.306,-0.102],[-0.519,-1.549],[-0.175,-1.679],[-3.71,1.418],[0,0],[-0.004,0.004],[0,0],[0.369,1.397]],"o":[[-0.14,-0.014],[-0.313,0],[-1.549,0.52],[0.694,2.07],[0.146,0.847],[0,0],[0.003,-0.002],[0,0],[-0.506,-1.975],[0,0]],"v":[[-14.642,-8.556],[-15.072,-8.547],[-16.006,-8.398],[-17.872,-4.654],[-15.683,2.599],[-11.015,5.502],[-11.014,5.502],[-11.004,5.496],[-10.372,0.328],[-11.79,-5.252]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-11.266,4.844],"ix":2},"a":{"a":0,"k":[-11.266,4.844],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[30]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":16.935,"s":[30],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":42.336,"s":[0],"e":[30]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":59.271,"s":[30],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":84.673,"s":[0],"e":[30]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":96.527,"s":[30],"e":[0]},{"t":111.767710876465}],"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":"body","np":2,"cix":2,"ix":2,"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},"n":"0p833_0p833_0p167_0p167","t":0,"s":[{"i":[[2.615,0.41],[0.044,0.006],[0,0],[0.419,0.042],[0,0],[0.369,1.397],[0,0],[-0.201,0.143],[0,0]],"o":[[-0.03,-0.013],[0,0],[-0.132,-0.38],[0,0],[-0.14,-0.014],[0,0],[0.266,0.026],[0,0],[-1.733,0.917]],"v":[[14.448,-2.291],[14.337,-2.32],[-3.302,-6.104],[-4.195,-6.817],[-14.642,-8.556],[-11.79,-5.252],[-4.408,-4.707],[-3.691,-4.9],[11.048,-1.729]],"c":true}],"e":[{"i":[[2.142,0.411],[0.036,0.006],[0,0],[0.343,0.042],[0,0],[0.303,1.398],[0,0],[-0.165,0.143],[0,0]],"o":[[-0.025,-0.013],[0,0],[-0.108,-0.38],[0,0],[-0.114,-0.014],[0,0],[0.218,0.026],[0,0],[-1.419,0.916]],"v":[[14.921,-2.292],[14.831,-2.321],[0.384,-6.112],[-0.347,-6.825],[-8.903,-8.567],[-6.565,-5.262],[-0.52,-4.715],[0.067,-4.908],[12.138,-1.732]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":16.935,"s":[{"i":[[2.142,0.411],[0.036,0.006],[0,0],[0.343,0.042],[0,0],[0.303,1.398],[0,0],[-0.165,0.143],[0,0]],"o":[[-0.025,-0.013],[0,0],[-0.108,-0.38],[0,0],[-0.114,-0.014],[0,0],[0.218,0.026],[0,0],[-1.419,0.916]],"v":[[14.921,-2.292],[14.831,-2.321],[0.384,-6.112],[-0.347,-6.825],[-8.903,-8.567],[-6.565,-5.262],[-0.52,-4.715],[0.067,-4.908],[12.138,-1.732]],"c":true}],"e":[{"i":[[2.615,0.41],[0.044,0.006],[0,0],[0.419,0.042],[0,0],[0.369,1.397],[0,0],[-0.201,0.143],[0,0]],"o":[[-0.03,-0.013],[0,0],[-0.132,-0.38],[0,0],[-0.14,-0.014],[0,0],[0.266,0.026],[0,0],[-1.733,0.917]],"v":[[14.448,-2.291],[14.337,-2.32],[-3.302,-6.104],[-4.195,-6.817],[-14.642,-8.556],[-11.79,-5.252],[-4.408,-4.707],[-3.691,-4.9],[11.048,-1.729]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":42.336,"s":[{"i":[[2.615,0.41],[0.044,0.006],[0,0],[0.419,0.042],[0,0],[0.369,1.397],[0,0],[-0.201,0.143],[0,0]],"o":[[-0.03,-0.013],[0,0],[-0.132,-0.38],[0,0],[-0.14,-0.014],[0,0],[0.266,0.026],[0,0],[-1.733,0.917]],"v":[[14.448,-2.291],[14.337,-2.32],[-3.302,-6.104],[-4.195,-6.817],[-14.642,-8.556],[-11.79,-5.252],[-4.408,-4.707],[-3.691,-4.9],[11.048,-1.729]],"c":true}],"e":[{"i":[[2.142,0.411],[0.036,0.006],[0,0],[0.343,0.042],[0,0],[0.303,1.398],[0,0],[-0.165,0.143],[0,0]],"o":[[-0.025,-0.013],[0,0],[-0.108,-0.38],[0,0],[-0.114,-0.014],[0,0],[0.218,0.026],[0,0],[-1.419,0.916]],"v":[[14.921,-2.292],[14.831,-2.321],[0.384,-6.112],[-0.347,-6.825],[-8.903,-8.567],[-6.565,-5.262],[-0.52,-4.715],[0.067,-4.908],[12.138,-1.732]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":59.271,"s":[{"i":[[2.142,0.411],[0.036,0.006],[0,0],[0.343,0.042],[0,0],[0.303,1.398],[0,0],[-0.165,0.143],[0,0]],"o":[[-0.025,-0.013],[0,0],[-0.108,-0.38],[0,0],[-0.114,-0.014],[0,0],[0.218,0.026],[0,0],[-1.419,0.916]],"v":[[14.921,-2.292],[14.831,-2.321],[0.384,-6.112],[-0.347,-6.825],[-8.903,-8.567],[-6.565,-5.262],[-0.52,-4.715],[0.067,-4.908],[12.138,-1.732]],"c":true}],"e":[{"i":[[2.615,0.41],[0.044,0.006],[0,0],[0.419,0.042],[0,0],[0.369,1.397],[0,0],[-0.201,0.143],[0,0]],"o":[[-0.03,-0.013],[0,0],[-0.132,-0.38],[0,0],[-0.14,-0.014],[0,0],[0.266,0.026],[0,0],[-1.733,0.917]],"v":[[14.448,-2.291],[14.337,-2.32],[-3.302,-6.104],[-4.195,-6.817],[-14.642,-8.556],[-11.79,-5.252],[-4.408,-4.707],[-3.691,-4.9],[11.048,-1.729]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":84.673,"s":[{"i":[[2.615,0.41],[0.044,0.006],[0,0],[0.419,0.042],[0,0],[0.369,1.397],[0,0],[-0.201,0.143],[0,0]],"o":[[-0.03,-0.013],[0,0],[-0.132,-0.38],[0,0],[-0.14,-0.014],[0,0],[0.266,0.026],[0,0],[-1.733,0.917]],"v":[[14.448,-2.291],[14.337,-2.32],[-3.302,-6.104],[-4.195,-6.817],[-14.642,-8.556],[-11.79,-5.252],[-4.408,-4.707],[-3.691,-4.9],[11.048,-1.729]],"c":true}],"e":[{"i":[[2.142,0.411],[0.036,0.006],[0,0],[0.343,0.042],[0,0],[0.303,1.398],[0,0],[-0.165,0.143],[0,0]],"o":[[-0.025,-0.013],[0,0],[-0.108,-0.38],[0,0],[-0.114,-0.014],[0,0],[0.218,0.026],[0,0],[-1.419,0.916]],"v":[[14.921,-2.292],[14.831,-2.321],[0.384,-6.112],[-0.347,-6.825],[-8.903,-8.567],[-6.565,-5.262],[-0.52,-4.715],[0.067,-4.908],[12.138,-1.732]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":96.527,"s":[{"i":[[2.142,0.411],[0.036,0.006],[0,0],[0.343,0.042],[0,0],[0.303,1.398],[0,0],[-0.165,0.143],[0,0]],"o":[[-0.025,-0.013],[0,0],[-0.108,-0.38],[0,0],[-0.114,-0.014],[0,0],[0.218,0.026],[0,0],[-1.419,0.916]],"v":[[14.921,-2.292],[14.831,-2.321],[0.384,-6.112],[-0.347,-6.825],[-8.903,-8.567],[-6.565,-5.262],[-0.52,-4.715],[0.067,-4.908],[12.138,-1.732]],"c":true}],"e":[{"i":[[2.615,0.41],[0.044,0.006],[0,0],[0.419,0.042],[0,0],[0.369,1.397],[0,0],[-0.201,0.143],[0,0]],"o":[[-0.03,-0.013],[0,0],[-0.132,-0.38],[0,0],[-0.14,-0.014],[0,0],[0.266,0.026],[0,0],[-1.733,0.917]],"v":[[14.448,-2.291],[14.337,-2.32],[-3.302,-6.104],[-4.195,-6.817],[-14.642,-8.556],[-11.79,-5.252],[-4.408,-4.707],[-3.691,-4.9],[11.048,-1.729]],"c":true}]},{"t":111.767710876465}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0.113,"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":"arm","np":2,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.71,1.418],[0,0],[-0.004,0.004],[0,0],[0,0],[-0.291,0.617],[0.617,0.289],[0,0],[0.512,-0.252],[0,0]],"o":[[0,0],[0.003,-0.002],[0,0],[0,0],[0.616,0.29],[0.29,-0.617],[0,0],[-0.515,-0.242],[0,0],[-0.506,-1.975]],"v":[[-11.015,5.502],[-11.014,5.502],[-11.004,5.496],[-3.568,1.344],[3.58,4.77],[5.222,4.178],[4.63,2.535],[-2.965,-2.291],[-4.588,-2.274],[-10.372,0.328]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"leg","np":2,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,2.914],[2.615,0.41],[0.044,0.006],[0,0],[0,-2.097],[-0.673,-0.908],[0,0],[0,-0.611],[-0.612,0],[0,0],[-0.006,0],[-0.006,0],[0,0],[-0.015,0.009]],"o":[[0,-2.729],[-0.03,-0.013],[0,0],[-1.733,0.917],[0,1.218],[0,0],[-0.612,0],[0,0.613],[0,0],[0,0],[0,0],[0,0],[0.059,0],[2.874,-0.162]],"v":[[19.065,3.104],[14.448,-2.291],[14.337,-2.32],[11.048,-1.729],[8.133,3.104],[9.208,6.351],[-17.956,6.351],[-19.065,7.459],[-17.956,8.568],[13.58,8.568],[13.599,8.569],[13.618,8.568],[13.808,8.568],[13.91,8.554]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[2.034,0],[0,2.034],[-2.034,0],[0,-2.034]],"o":[[-2.034,0],[0,-2.034],[2.034,0],[0,2.034]],"v":[[13.599,6.787],[9.916,3.104],[13.599,-0.58],[17.282,3.104]],"c":true},"ix":2},"nm":"circle","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"macine","np":3,"cix":2,"ix":5,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":338.690032958984,"st":0,"bm":0}]},{"id":"comp_4","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[100.539,100.996,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[400,400,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[1.473,-1.118],[-1.989,-1.65],[-1.284,0.567],[0.251,1.628]],"o":[[-1.342,-1.164],[-1.927,1.461],[1.08,0.896],[1.73,-0.764],[0,0]],"v":[[-11.176,-7.404],[-16.007,-7.559],[-16.101,-1.52],[-12.186,-0.974],[-9.898,-5.095]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[3.438,6.953],"ix":2},"a":{"a":0,"k":[3.438,6.953],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[25]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":11.854,"s":[25],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":27.095,"s":[0],"e":[25]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":38.949,"s":[25],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":54.19,"s":[0],"e":[25]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":66.045,"s":[25],"e":[0]},{"t":81.2856079101562}],"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":"head","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0.409,0.451],[0.604,-0.063],[0,0],[0.251,1.628],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.215,-1.029],[-3.595,0],[0,0],[-1.66,1.26]],"o":[[0,0],[0,0],[0,0],[0.121,-0.596],[-0.409,-0.449],[0,0],[-1.342,-1.164],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.983,1.252],[2.743,2.324],[0,0],[2.084,0],[0,0]],"v":[[1.707,2.891],[-2.509,2.815],[-5.914,0.3],[-3.283,-6.308],[-3.714,-8.037],[-5.326,-8.653],[-11.176,-7.404],[-9.898,-5.095],[-6.652,-5.636],[-6.762,-5.477],[-6.747,-5.513],[-9.383,-1.929],[-11.629,1.03],[-11.216,5.116],[-1.402,8.716],[-1.002,8.716],[4.769,6.774]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[3.453,6.953],"ix":2},"a":{"a":0,"k":[3.453,6.953],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[25]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":11.854,"s":[25],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":27.095,"s":[0],"e":[25]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":38.949,"s":[25],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":54.19,"s":[0],"e":[25]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":66.045,"s":[25],"e":[0]},{"t":81.2856079101562}],"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":"body top","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.73,0.716],[0,0],[1.121,-0.761],[0,0],[0,0],[0,0],[-1.66,1.26],[0,0],[0,0],[-0.883,0.883]],"o":[[0,0],[-0.961,-0.956],[0,0],[0,0],[0,0],[2.084,0],[0,0],[0,0],[0.341,0.247],[0.679,-0.678]],"v":[[17.34,5.004],[11.346,-1.059],[7.762,-1.394],[1.707,2.891],[-2.509,2.815],[0.06,6.434],[4.769,6.774],[9.442,2.983],[14.991,7.558],[17.412,7.557]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"body bottom","np":3,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":338.690032958984,"st":0,"bm":0}]},{"id":"comp_5","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[100,100,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[400,400,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-2.027,-1.297],[-1.295,2.036],[2.03,1.294],[1.295,-2.031]],"o":[[2.029,1.293],[1.292,-2.024],[-2.029,-1.297],[-1.298,2.028]],"v":[[-2.531,15.115],[3.49,13.779],[2.159,7.764],[-3.859,9.094]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[0,-3.063],"e":[0,-5.063],"to":[0,0],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":25.402,"s":[0,-5.063],"e":[0,-3.063],"to":[0,0],"ti":[0,0]},{"t":67.7380065917969}],"ix":2},"a":{"a":0,"k":[-0.188,20.375],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":67.738,"s":[0],"e":[35]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":101.607,"s":[35],"e":[-35]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":169.345,"s":[-35],"e":[0]},{"t":203.214019775391}],"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":"head","np":2,"cix":2,"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},"n":"0p833_0p833_0p167_0p167","t":0,"s":[{"i":[[1.024,0.29],[0,0],[-0.277,0.418],[0.714,0.476],[0,0],[0,0],[0.127,0.188],[2.398,0.001],[0,0],[0.529,-1.678],[0.058,-0.178],[0,0],[0,0],[-0.511,-0.763],[-0.319,-0.117],[0,0],[-0.182,-1.05],[-1.004,0],[-0.048,0.003],[0,0],[-0.039,0.005],[-3.297,-0.177],[0,0],[0,0],[-0.047,0],[-0.174,1.002]],"o":[[0,0],[0.465,-0.031],[0.478,-0.714],[0,0],[0,0],[-0.074,-0.227],[-0.58,-1.622],[0,0],[-2.451,0],[-0.091,0.155],[0,0],[0,0],[-0.764,0.509],[0.201,0.305],[0,0],[-1.026,0.29],[0.174,1.003],[0.047,0],[0,0],[0.041,-0.002],[0.33,-0.03],[0.006,0],[0,0],[0.048,0.003],[1.004,0],[0.183,-1.05]],"v":[[15.109,7.459],[13.649,7.047],[14.839,6.361],[14.409,4.207],[8.091,-0.689],[5.568,-8.097],[5.265,-8.719],[0.277,-11.541],[0.275,-11.541],[-4.753,-8.612],[-4.978,-8.113],[-7.582,-0.54],[-13.894,4.078],[-14.353,6.38],[-13.545,7.017],[-15.108,7.459],[-16.593,9.816],[-14.545,11.541],[-14.403,11.536],[-2.768,10.742],[-2.647,10.728],[2.75,10.741],[2.761,10.742],[14.401,11.536],[14.544,11.541],[16.592,9.816]],"c":true}],"e":[{"i":[[1.024,0.29],[0,0],[-0.277,0.418],[0.714,0.476],[0,0],[0,0],[0.127,0.188],[2.398,0.001],[0,0],[0.529,-1.678],[0.058,-0.178],[0,0],[0,0],[-0.511,-0.763],[-0.319,-0.117],[0,0],[-0.182,-1.05],[-1.004,0],[-0.048,0.003],[0,0],[-0.039,0.005],[-3.297,-0.177],[0,0],[0,0],[-0.047,0],[-0.174,1.002]],"o":[[0,0],[0.465,-0.031],[0.478,-0.714],[0,0],[0,0],[-0.074,-0.227],[-0.58,-1.622],[0,0],[-2.451,0],[-0.091,0.155],[0,0],[0,0],[-0.764,0.509],[0.201,0.305],[0,0],[-1.026,0.29],[0.174,1.003],[0.047,0],[0,0],[0.041,-0.002],[0.33,-0.03],[0.006,0],[0,0],[0.048,0.003],[1.004,0],[0.183,-1.05]],"v":[[15.109,7.459],[13.649,7.047],[14.839,6.361],[14.409,4.207],[9.091,-0.876],[7.725,-9.097],[7.421,-9.719],[0.09,-13.604],[0.088,-13.604],[-7.472,-9.706],[-7.696,-9.207],[-8.988,-0.759],[-13.894,4.078],[-14.353,6.38],[-13.545,7.017],[-15.108,7.459],[-16.593,9.816],[-14.545,11.541],[-14.403,11.536],[-2.768,10.742],[-2.647,10.728],[2.75,10.741],[2.761,10.742],[14.401,11.536],[14.544,11.541],[16.592,9.816]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":25.402,"s":[{"i":[[1.024,0.29],[0,0],[-0.277,0.418],[0.714,0.476],[0,0],[0,0],[0.127,0.188],[2.398,0.001],[0,0],[0.529,-1.678],[0.058,-0.178],[0,0],[0,0],[-0.511,-0.763],[-0.319,-0.117],[0,0],[-0.182,-1.05],[-1.004,0],[-0.048,0.003],[0,0],[-0.039,0.005],[-3.297,-0.177],[0,0],[0,0],[-0.047,0],[-0.174,1.002]],"o":[[0,0],[0.465,-0.031],[0.478,-0.714],[0,0],[0,0],[-0.074,-0.227],[-0.58,-1.622],[0,0],[-2.451,0],[-0.091,0.155],[0,0],[0,0],[-0.764,0.509],[0.201,0.305],[0,0],[-1.026,0.29],[0.174,1.003],[0.047,0],[0,0],[0.041,-0.002],[0.33,-0.03],[0.006,0],[0,0],[0.048,0.003],[1.004,0],[0.183,-1.05]],"v":[[15.109,7.459],[13.649,7.047],[14.839,6.361],[14.409,4.207],[9.091,-0.876],[7.725,-9.097],[7.421,-9.719],[0.09,-13.604],[0.088,-13.604],[-7.472,-9.706],[-7.696,-9.207],[-8.988,-0.759],[-13.894,4.078],[-14.353,6.38],[-13.545,7.017],[-15.108,7.459],[-16.593,9.816],[-14.545,11.541],[-14.403,11.536],[-2.768,10.742],[-2.647,10.728],[2.75,10.741],[2.761,10.742],[14.401,11.536],[14.544,11.541],[16.592,9.816]],"c":true}],"e":[{"i":[[1.024,0.29],[0,0],[-0.277,0.418],[0.714,0.476],[0,0],[0,0],[0.127,0.188],[2.398,0.001],[0,0],[0.529,-1.678],[0.058,-0.178],[0,0],[0,0],[-0.511,-0.763],[-0.319,-0.117],[0,0],[-0.182,-1.05],[-1.004,0],[-0.048,0.003],[0,0],[-0.039,0.005],[-3.297,-0.177],[0,0],[0,0],[-0.047,0],[-0.174,1.002]],"o":[[0,0],[0.465,-0.031],[0.478,-0.714],[0,0],[0,0],[-0.074,-0.227],[-0.58,-1.622],[0,0],[-2.451,0],[-0.091,0.155],[0,0],[0,0],[-0.764,0.509],[0.201,0.305],[0,0],[-1.026,0.29],[0.174,1.003],[0.047,0],[0,0],[0.041,-0.002],[0.33,-0.03],[0.006,0],[0,0],[0.048,0.003],[1.004,0],[0.183,-1.05]],"v":[[15.109,7.459],[13.649,7.047],[14.839,6.361],[14.409,4.207],[8.091,-0.689],[5.568,-8.097],[5.265,-8.719],[0.277,-11.541],[0.275,-11.541],[-4.753,-8.612],[-4.978,-8.113],[-7.582,-0.54],[-13.894,4.078],[-14.353,6.38],[-13.545,7.017],[-15.108,7.459],[-16.593,9.816],[-14.545,11.541],[-14.403,11.536],[-2.768,10.742],[-2.647,10.728],[2.75,10.741],[2.761,10.742],[14.401,11.536],[14.544,11.541],[16.592,9.816]],"c":true}]},{"t":67.7380065917969}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,6],"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":"body","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":338.690032958984,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"walking","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[80,113,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[40,40,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":338.690032958984,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"running","refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[182.5,115,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[40,40,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":338.690032958984,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":0,"nm":"star jumps","refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[84.5,213,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[40,40,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":338.690032958984,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":0,"nm":"rawing machine","refId":"comp_3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[191.5,222.5,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[40,40,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":338.690032958984,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":0,"nm":"crunches","refId":"comp_4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[193,313.5,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[40,40,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":338.690032958984,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":0,"nm":"yoga","refId":"comp_5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[81.5,314.5,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[40,40,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":0,"op":338.690032958984,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/image_embedded.json b/submodules/RLottie/Sources/rlottie/example/resource/image_embedded.json deleted file mode 100644 index c3d48387f1..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/image_embedded.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.4.3","fr":60,"ip":0,"op":60,"w":800,"h":800,"nm":"Comp 1","ddd":0,"assets":[{"id":"image_0","w":200,"h":300,"u":"","p":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAAEsCAYAAACG+vy+AAAgAElEQVR4Xly9C7Tla1Xd+e29zzlVdYsLl6cKAZLWaKsdjenWoR0HaKImrQ61Y8zQ1iHa7StttH00GMVHHAYBjSIxoh0RENELKEoUFUFIIgiIBLHTLYo61PYBmiCPW7fqPPajx5y/Ob//xpJrVZ06Z+/9/75vrTXXXHOtb/XtX/nDh/1YjcPqZBzGGPrz/jDGYTXGdr8f+7HWv+qr42ysx3rsx9DfV2v/vh+HcTiMsfLPHcb2cPDP7w76Pn1N3zHGejXGyt+n/9ZjvR5jtVqNlb4+eK3NajXWeu9xGGv9gL9X770a6xWvr9eaX/fX9Mn0uYf/zOfOc/gn9fOHvAM/zVf0B/3sauyGPvd6HFbr+fr9Hr2evlu/Dz29fnA1xsHPqc+9H0M/51XkdVk/3lM/5tXTIunPWVt94/J11nN5jX5O/7DX6ERrs1n7BbQWrOV+rA5aG+3DGIfd3p/Lb+L3Wv6sn9+M/bh7M4Z2euXXGWPjp9K6ag2G92+399tmrVhzfZ+eS8+xyz6cjjFO1vr53RiH/bi+HuNstRqX+8O48PfyGhs/xGHs9yt/NJ2qK+2VP6deb4wrr+d+bFbrcbbSeWGh+j1nq8O4uVmNzUrnbcXnHOtxsT+M8z1nxTukdfL38Ln9Lz6LrK9+Xmuh5/fZO4zBsh7GxV5ngf3WWbrU1n77Vz7bW7tfzaM/DquVF0kv621YHcZmfxin3ii9sB5qPa68AD2EMgotwmHMz3vYc1j0YTgRNjedHC2ED6//ygPaiOYRlvHwsBsfteHXZdF5dP1sDZpDyU/vvID9/Ly6DpM+hxdvHmUdeP5+pU9zWPtZ5RS0UDxej30+mV5XHzSHUO8/D3uece/Pweph8DUTm1qMTLuC89C3c5bnlvr7/PY2ED1rNna9Yd12OpReyrGxt9HaaNMOY6d/sxHMc+PvPVvrkA3vow6t/jvxuu/83tuD9v3gfdUa6qBrHbteXseVrIcDqs9xOg7j2maM1X43zrSvQ4d9NS7sXPlZvQfrr9fVymBk+kz6Hr1W18jP5KXejzXeiWcc+3HXZjXOvDK4PTm2q/1qXMrRZT9kAHbW2QuME8PW516vtLs4Be8PR9ifSwZxycfivB1WY/UdX/lsHnXNm9ob6sBoseKFOFircbbGgvWkfTG9hR5IP4XnwRPo+7VDByzEH3i1xxPrARwt9J82ao1H5GjmE/vfWKw+BM9YLx4Ps8piafGzlVr0nRYw3y8v22VlvTDyPHEWWxvFV/S7DrnXIwumz6wPo6i69hr1MOMB7Xny9ePI4M3OIcejs67YHhGgxuAIOCMy3+MoZCexctSVY9HL6CDqEMl56Hu29pI1yP3Y77UCGBi/MIgbqzGurffj1HvgmOjV4vCySoqml/v9uLMjItaLd5/1UzIefb8c5rW1Xjv7pEMrY5P9JlpuVvtxQhxmrRLZHJEcWVgBRQY5QX1moht7xFnZj2urw7i+XnOmvDXslZ5URiZXaIPw4Va0SPTPe2N8McW8hj6kfkKvcb4f44JlnM+9espX/cjBoT2GoYOhY8ohAYYY8thT8QFkjRhILRyIxEIGguz1YLz5fm8glsMGaOvB18IJThHyepAbVXgNfR0flA9ub9/4CYDaFt7EQ+trRMYl1OejAVPyTDMcG551sXkfr4XDfLyKnIixViFR4oRDtH5WXpPvsUPoR8zhAV4AMexY/IEWTyrvTVxdoCXGoVfl+71u+9XYnCTuao13OpA7Ik0i7Mq4gK3W7zosm8N+XFsPHzQ9/0kW0Z9ntffBw1BW4/ywHuc+uIkfdqM66Iquy0HX++i1DeEEbwOz/az16lrrHMzL3R7HVcM1HGJndge9Ms/l/YmR6PeTIQinNeDrdliJVor+WlFFM59EH/r9OAtKKSQMsObwGyEpqvE6ipQXA1hFWhBw/7SveQ7nWtBInt6HkQMXHzRzBVmynsbhyHgVHye8PbfCC8nf1vmzHtuL742uN8um1Vjy0Hj25Cr2JtmgGI8DUuJM8wJgIIePEE4UJBc6EB39zfLYGLN+GYsH5tl+9Wx/Ja/hKAHfiI5sTQAQxrNuHsRxAvYFBs7Dnn9zNI0f0WsJsqzWY7fjoOi1tHs6Jt6JmctoPXFYJ+s13jELZXi07W4Rxe199YL6eXnOA55Yh+h0rcgDXG6eghPEoQm2XIwxzresaSEyvzevWuDuqfMQEiydG+WAjTqsxgJptB9yBM5Qkwt4PeLJ+RzLCjvKHfSZV4aGXg9FLq25YKD/Yz2vreVGFD05Y/p+Dn8/dyNVYrbXh+ijs3yltGFPDqvj4n/+rq95riMWnzHJjQ/JGLs1gdPvk//HIRQE0/fKkPQqx5CDMO+F0WHPa+/2u+DAhDlvGJusdzixF8JD1oNOuHWUDwSx+Qebc/jwJx/RBhWoTQPJ9/J8SXSSpPrQTZOT59ASYwjHUUvfVfICbxdDSaj3QXK0AhtPA4oH7rFqNFLU1rqVuDAuz8bUQBpl+STTp41NINvJRgYG5AAFcEDsX73ePqnJN/gE2tHT1d6HB+cDtPUBDdGgI60k+2J38OGTsZuOgM4x3NP3QkushgykxrjdK3EG7Ho/5WZ7QJMLYHQYFdAquVggLYdmFejFe8sgHPXWymkwcMFtHWilA/oefY4iHL0/qSI5X41U77WcMZ5NP6/nNFmw53e5G//c07/muQcdNJuBk2os2KxCchJDn2J94z0eUP++rYfNAcIjL+zRxgcSTOqQtodJYNHIbQihwrKYfOGJ85gwEP7jzI3j1QMgehzrvY3x/QObsc33FBbgdoFEQdjxiol8E3YsyZo3MXSEcXMiwGJAeaUYC5g2GxP2bUHo/HRDe1+K9eyTBGIEO5NU9kBrzeo6lAPwZx2EzSaw7bBzvqdkXQdCuSNOi2URZFMk2azljWXs2hf9I95en+VCMGu/tzfVgSHp52B2h5qH9fPJu9sDxyML0onZGocdzkCLt9bZIkKe6kwFa3nPgxb0Z3vxuYaLcSsKbtb7cd3nkbyR2BnioURNokg/7Vw/J+lr55I9T44eYT6dP5ls4syvvvtrnwdJm3DU0Fi8DMBZjf1avklLK4hF4PQLrTZArXj+YsvSuooS+qWwSnImdqLeEGxalkIL5g2yTWE4oDoSerap8WWe0sAA7QFW7+iSHMTGvNKChAr1pgQC+TV79ANJ8rKLUSS69uvFzv47a+CH7/PXJzuXi+8PrOKpl4R0JuTxrDPxDxzK0gVylSpPLgc/buzv5FOwS7mc8IX+06HfGeyN60eRGc/N6mi97YmH8gJ4WUV9RUE5ljtb9qwwC+DKOvn7y/Tk9bV7yiO8B+B2H+SNjvBEEzhYkwbrgKkYRldHBmnDXLY4qy2j2gduwVXh6VkpOWadN+hoHLgjmxN9DJzoD2PF3oXlCmtbY4F2HmP1PV/3/IXIi7dzUhzKkMMWOnW98WErxBLVq4fQG67ELjhRxyvMGkeTb+csCx71RhoWgCllAKYeRdUE0WnDyzrxKMlHZuLIQgNAepCxqtY0xJUbV+uzGtZgHFrYom4vb8+5ocZffa+43hANvFO8X6KGXyIb37xFB5iDhDcy5Fv4NCJRPrjyuLJYZmO6eUeY3Ct8BBH9BOsNa7fe2ED2onh3Sh5YX72O6FF2aj0u83x6LdUWTNvPhLqHngN2Z7eHLg+rZHhiYE5C32jqmpjXNlArUN0MZRLsE+VaCycxHRkeEDpf+6D1oh6TPMZ5GgulMyXYVja1iXrZylgJVHeo3p2S04PIBU6x3kURTAbiMoWfhwjlmlryVv2bd+4ZX/+j05/7Y8SLsxmwJ3oDQ5XVxvWS3dhA5cW0mh6G4ImfYbHx0dqEJZkHdwubKmlOvlJWKUVBaiBQnMXpwKWkQzPsT7/LWQsbx7PoPe0/vBjb/Ur/HBYmHj41n+mtp5fMBiUy9FmW5wl+npGFz+uNnIxaDEnGYQMQOxgjCaXKHpHHgfF5B8w3fw7sDU0wsxr9nBJ2RQ/gaE7zYQstbMZL9KgOCMdD0EmHQPBHh1Z0r1k9f3YSXDNtqzEurijg9UkbQexyYgT28jFy8kntaaCiWTkZIbQJz5U1So63SxCXY9RPXYqRM+wLQZC8SRHA7Oe69bhASzIor5Yct7hw5XJEh4VSlmGRNwlOCQoCB222PmNyYiKTlhqK480zv/65pHFhgeQNhPN4/eBl07RY2FZGog/jwmLgViJIPbmr02FQHP677ZPGXUKf+R/HZPBtizgkqHgPcG84cxladqT4tZWEeldStuybFx5iQZ9bLJ0Wr5gTFq4LVWoyny9wRK/VekbXpOAsdjrjGKAKEyFqUPdArdDPweY5gQzrBfYHArzvr4UNtKNJcJfj4J0oFHK+Q4knxzNTJTbnIJeGoxJ1u99Rl4BCV/WbRF5bJihqLy5Pa0aHg33qSL9E/DouCq0Ng0QQEwV+IEryZtRMZzfHqRJjIUzkEAt9FPVxwKyydlNFSEU7Gb4p6+YEodz1vZeqrO8wmFnmCE4oIbBzXrVEKah8yCn2bsEkdtA/8HXPEa4Brznhazkbj9acQr8LorgA50OFjwOqFAPWY+MpS99pc4ptTSPnRVuQxiPJ8+BpTOe5CJV6QZJ3YE1hSg7dEU/PwaKqrG+caXjwuqv/TuwWLh8mLEXF8Ok9pj5+Ohg6eGaOoAFs9I60RED7+9Cp1GwwT6NURSx7bYyzhltjKJb3egaOtWCn15RnO8pmlsJf1tCIy9GWgq2MRYW3sd+Z7dE7nqrKvZGHPYxzyVFUowqLCNTCkHS0XA9QdTpemM8nmlV1BkEsHc6wSKHvQZ6sRXfl6ElJvuMw7TicALNX2ZrULpT7iFVSIVKlBJxAGU7Vb3SWVCy11/driO0a42pQt3Ftzj8G0wZhxOcyi9nkX+dAz2hj4ut52UnemGX94Sc+JyTeajjc2VAq1cAXlpHRG4OjcyhcfSfwcjBTzIumSR/AYdcoLdRpP78TywAWPxTGYY/n0J/EKp7NBy84Hv0VnkKHHt9Y7j3PYIi1SDVytL2QovWKMb0qoXW1WH029FVL8W2JVjLeVloKh+r38XZxM9SH8lllJLOutMS3fO5EmUlLNupg5MTsmB0JEpiZR8VF2KkMM1mONDsZCJ5REeJ0DXNztROM6o4dLN2QBAWMDvy4bbmJKFQiHPQMjktGUodX9cNBRUoZwRpDWOJgDKPOJcYGgFwAV+GknkHnS9HjYq8Dz0HXMbmmSOccNWvtpee8KdpJjyVd1nFu6OTdCZb2NQXqGe1gyhzdwyD6FE9HyPusfuRJzyNIxqt6K9Z41Foigr44fie4ScadDOtFN+Mg7Lc2X+GF1oNc7XgAxHThlctYYE/vwzZUGyQD0YaZjhS3nfBnSJcahMmBJGPAleM6aQ0VNgxvUqAs6hfuWxsFC0L6T3Tk2cWItbBp6JHX8eEM3YmgDlaocQN5xFIYI5jpc8ephP+3bCQJszc5+jFX8yPBaJUCYWH8oA2kfA+fO/HK8CPb5z/Xc9fZ7LY79s7ULYf3bIxxY0OOoleT49BBu9wjN9GqeV/MEOHBqdID/fxTqPlikKJ0l/VuHUz/rvoNtaKAw8h99EVBpu6gXk3GcdvECgXl65K0hC3zA+d1vG5DNRvVMigz1uEB3BdBrRyDopEMHe0ZZgM6JYFfJDOh1X/4Sc8/oJTF7nlBhT48kf+uxCVRxZ4rH8RlNZsZR2K/PuHgWbNFMW166hpY5QOBQ7bgWTdJ+M6hI5KksBX8yoJEEjIFlXjXMkZIVvCweg5Xb7PQHKYcQnn15FvW87giz+f20QhUQzqSr03NUTOuJWLUJ5rGjjDuWAXbBF4eWarXJvX6rCSm4G5j6EprSnW1JDSjBuZb5tBPHHQM/AOn++v7/VjtUrEKQycs3vxAh99JbLyrcDyVZfISOyhHmRTfHIHCaJXMdgGuhAowjjwpybUS9TBDZTlxLEtxE9ISgxdUurVDRCoDuWtDBJmRNNH+cg8sM3w+oobtZPp+UXgrRYC8CJGQtVjQAcVIv0dzph/4hucfZJk+VOWPq6iMRMOFm3lIIocPXenDUBylyiasNydW0md7RnIJ5wWRC+DZWRCUxPGXNg4MgygipiaQK65DkcMJb6JSUt54gnrUnJbUQBoRFdmKcOqt+2wUncbYmnX6KxL1/NgUmoCuZqLcIl9l5JZRJ0FdaGOex6roOBeKYayp2wVChgAZi5GBCstzRh/WdC6wy0c8LQQW+OG9UPcacom54kGu9DVrMjgUS+bE56ioUO+JTIV3bztCk/HEkNQbgF+mqI3/cSKm75vaJql3wa/vm7W0m3VUER29Gu/dIUbUz0pDZjLBFXUM6M4UObIPpZ1l3NZUpYbmyBj5S6O7HUcEnn76aMqoybEeWofV9z3pxw6qdso74LmOYIM/DBBF1NmlvasYrNQ6/MLFhST5+7UoVcIesKWhWrIKfB4/1kQLcQTFKB5Ui2RYkAUzJQnyi+aHEMmWLTUQQmU1QknUqs8KwgoK8QJQBGt9gnCuPIxCGTmZ09yjugjgoHAtNjLzMozGh0Ekgz+CkshKPsjo9O8mIvzC/WCFm7xGBXYumgU+ppJwxOItXh9qlWMueNgaaJWzWhh5ThmIDvDWvSPKHXgG8mGiZGD7FBs6r7Jz26sEEoyRepEfoTUQcjOzTH6diEJTDG7EcFRRDSZ4X06pfSmYNI71lpPvjQ0bKT0FYz2n6GrlStVqwXZyhiUbueNuAByJIkwCZsgbcIRySauHp16s1fhJ4I7Vdz/xJw5iMaynmakTzImtyeEXKCIpsAhD5yRRjgpLOyzZcwXXC9YYkvGgV3JWYU3ArPLSJXbLNrUIhgfRJsoowL1AOW9SlL9+xEnDzqMRP59kO8pU4e7mU8bOLmzxJYdnQcgWD0M0FNuapVt+fKpI+0aGcjqcIRBI9EJHJlQ56sQQkLhTDZbhN9GF/VrkFjruhQnSNzmyVCPmmspEgAFafKJjpStF3AWHUpSleHiQXsqROHGpSmMX5oDcwuwuQpahS87B4lF9WKwr6CD5mU2terc6u6KEIzq/EUjM2FngFnUrKYpxUGbnyn6uRD9vxpXz0UXAg8MhIiphF/SCrlauSjTpx23u1C8010TrNdz71Ax09fQnvfCgBbOFhjrjtUqpCRJw8EWRKiIY2lS/Fb0+HzCHTrDG379xwqcPWHyMeCxQxsUZaIkZ0szIaGM2Pkj2eFVmJieAYcIL6ISJH69i1fSfE1TVbFgkFLgpbrmzbCkQUb1GDbBUu6vwZMl9vlsbWqixKYRrmlCj0V7KO6I89ZNhKhX+BWLVa+JgUkOwPoq1p0OTiq+bmAopZ7J7RAk2kZ9FP3lfiIxCPK2XtHGWXOx3fk8zgUrGi9mDtVDE8gxOzPsAkb27uBiH2ocDmiyFQhuxHRv1E16nGjUiBYLKMa6rkYuMioJfjnsPB/wUTtfy9uSJpqmVp6ppKxV4OXKgKmumugeOzKXQnDVtCH9efuXMO7/i0K6e+qQXu/QmA2kIZjH2xrB9KIe+JLX2bJKdhBLWQkvvIxFZPbVe/s5+M27bga1nI4sxftiJJv7Yaw52NsMkQQxHeB090VIEKiyDAYGFqRchIQfC4YUXarRwaZGaxAlW4mzPtLa4Ei+l+kUTvvL3yURmk9YCvEzxynkoMc6BKNzRE3qz7ABW40SRJF5VK6BinPMuYxw4fMngFTlET5eW5HWBOn0Xok/zL6ICh4nDT6WYoixwDG2S/s0GEgey6MdyBpLwE3nTuxEGbFbHo5BFGUE22VoO9agm60fYPlDWRijNlttpldzjjBsJG2GqKxDVUFisz6x9N02dnBGZSljM1DoaeWnyQmmc4F4qZ8JWrU27Lb2XT33SixwbnQDFyquLASuyGUo4WaC8+VpQS/0L9LTJgru5zoMPY5xbEcr3ywD1kBeH9bht9eQC6Eim4qmNdYNWDan0usOq0C4CVfpEh3Dl8lBO7J1vBZIFc7RjjTMA++IDER3Qsl7tmaZQJk+lRW3CDgUeY2j60GS9+jMtfyjZKpb99yPOHcQFhK0WytViPUOMXcdgMjFRmDYXsYFYebvkgqE4moWkzx5Vdg8DPSp7RxUIJnIHixpTVCvd6RrC7NEARje34kfjfQ9yIaW6eSYictutOQxFJZwNPpOjtn42EnavRahWWh8C2UsEhcBwJhvvSUcjDqzzEGySLSHEZ5O4q9CdLtdyLDYif4owVzgCoSqfwmd84wsPwmtdAMr5y0NVui5D0QGEVnQmaM+qnMRaID1k84S8hqIFBoJWSAwSHPd63G+MGBFf6eUa32Q1yIX0ebQIZWD88aKWte4m0Yf+ajyWWaQI4PTeSCg4K/Lc+l4yTrCzVbHZNEcQJXp7aOqG80kK2LAamBP8y9Lky6UYiSjsBhLuBFl/HW9ex6TPRKGUNe7ACw8oOBpgUJYFrw98rFECcoAx9aaGsHEObooLrAGD8x9KVyJXStSzsQk1NVBXzwOhEicjw1KynAhDP0bl/nTs+T0DkRyJJkEdQiVwXS7Xa+CcePKFUM2GueRi3rpkgxW5MngDB9c4WgdTAsjoZafaR1OnoAWjHIy4UJezcxirH3zyCw/uypKQr6X8UHNEEH7Q3WiGPcipvYGWL+A/1AJKLrGm0jyLMUgt9IWziOoEb8Rx633bwadD7qEJDs/QwoURaHHWDBuwE0f46MMQXRWhOqErhS17gDBGigQyVn2PqsHOW7KZbUU93cA4KUKpknx/aMZWW+E7Wp3PyU/z0qxDlCovp9/IaKzfRqMmjHDycjyI8YAMbhEo1Sr2MC2hxv2HHeswaV9J3DkV1XzZ869aqI33nvUP1AGWwzd5CgQVq1XdlFZfkbcFYj1GHc4Rq5z6Wdgr09qBhjFEWpZBHgx8CIRxzksfhqKcUAPGIbhPa20OgH9eBkP+y1lUzkkZs8XgMpIBZfYdqAdc+PW3EtVQKKdUsEf35dOU+pnTi6ownvPN9/oU3acPmgPEJmHp9YB45E6c4CDSvw71a3bJRYYjMk+NMvWaWgAtio0EnCgPTQU5koEjKQns0d4yeq2UmDbBtHqW5uvkNDmF8Wz1BE2C9b4y0lvC86lNyEu7q86Jq6q0aL+azGnj1JctBTC9ATgQGq0EC2CqQAxtEptoJkm/MWhEikd5jA2wn1lFw3RTqtIruUbwNEn6alwqH7Kjh5BAcbBLca/gJZXkqGTNFLa9wMyPXqsNceE3THWyl26aMjUdnVVcMe2xeOZ6VSt+J7Tk0DfCdNAC0Zg2bhfiJuVLXqt8AzoXIgK2THkk/95fOCQKz86U/H3NIZCPzFWPIpc90WtL1h4FR6aZyCnQPQic23loxBLJFF94VpU29mP1vG954UEhTd78PktDFvZqmSpxLJ1gNA4fi4O9O2zivrFyia+qUjVzEkunYkvbpH7gjgVx5CLbMF9OZO0dyHGSYvgDX2siG0M9Zp6qpzF68MEHerjF1PByP27LW8RgrS8Km2QSwDJqNtIQwQaCRB7VcnBqtgNIkRhXxXLFqZHi0Kx1LNshtCs6OR+IlTvRTA6oLxZL6xBaUKd+9aOiIEayJPhaI9ee0jZqyiMHH92U8DcSbwSyQKXK0vXvMpD1Toa6zUCD7HEYNEeQFNEY09NzCWVskalgtml4PLXZSucq5DhtqZ7V6uB/1Zt00N356OjA2pIxLdIUvydluYlTXQ5IAbQkCOwlbbQykBIQBWdozHIuQyVzjtlngD3TVlbPfvJPHK6fAJ/EON02ZsRL9o11mJpAUcVugt1QhZwO2Ti5yVjFvFLZlUU7fAbGmelIzUFLCOPC8DY2GsVw5dRAvHjPKY3QT24I4S3wpTBUT69P0egjb6WoRdgHibqqrQiyFlMWBO/IJgMJ9veZwrLoXiNhLeA1wxISozUD14HSrgolzqZbKBniAniwFNbkPbXwUqXys+11iKfv4e57JcILugmGtVrcBAkJO4boYXrTKIkadnKFKvLe9vT7sd9t51A8eiREjVNoBKgARfl5TEXgx8Ptui4JkBasRtIqR8Q5ar0nBpCD31FEjRB9Zc89CKeCDi0ERvRfNzTQIeJVOR+tn86PCCEGzPE5OUvZtpYGYoSul2SuGwwcHN3qh7/53sPdG4Zy6YC+Z7sadw6MaoMDp7DEBL0mZ60vpJyfsqJBWYqKLAtFJ8Ekh+nIC8D/eA0YLD2M+qDrIjrGZzFEDpjgWZtwyCdIcBe2ozOSdBCth6paNZH4/l1pQA4IxILaTzEQQS05AYqcaQoL21K4UDkCarWckTUYut5Rz0p/Nqewm66NEElR2MInT2KaAqAia+lpS0dMBy+HGTlLIEI2vnw/Bz/+vbg7UTPVmAWU5MBQN8I5mPHL0DcoWt4Y9gk62KTPTPDxy4JM7ftRD3qBD8+fOVcukEZmM7tLO16pgkh4sPbSmPHOuvC2vCAenpzlLpcoiPC3pVh2XkHdjghScqQ0dbEPaYOMuLqzatsmennut9x7eOBGIynBmu/absZtixU5gC2wyUBavp3FvpkoNRwSAfzi+Z14SEFw56hCnUAWT3GS/EDU74VOj2ovanJqlKrRxHZgbRh5aTmH5jzhwuY0ChgrvB7ar0X307Cb2mU2loUXU3Y9iaS8suogUgGgXi7zgREoEiph7kbq3z15w/sb6Jnmoxqyfo6JlAxnE7QoGyTxotbkjiKXGL4UwFsfoV6SiNDzGe5l6qZyGN174YOE0raMmn1+4AzddbxewaOJF8nhZ061dy8MquUlYvBzS3st7dU5uOkibI2llGs1akjmRTQAf+WgLAXJ3AED4wwHNAxKO4L21Ml8yBiLLYMkUCuTlEti0pZdpQ0XiQaL3iwbGaPX3qiwqDbcnFRUFelZWT3vW37scHM9xoNPPVFovHd/4uS0C4lMIln9pPBWLugYK8cDlkrjBzOORnRpOr8KAxQAACAASURBVPjoZacTUX/2Qq009QIYpQVQR9jlitKk+6tTOaZIVQk1fpuDCIy/kW4zHV1P1MjhYoQq7axltDqWVIuoZyPk8xSif33wA6+1IZeRUXtyYiYaivU6VcWbIwjJEIFnlbR6iSap+owmBRLuS79Wau8uzqyjakczN4uU5my1c2usn3wK7IAMdj5HlDDSFYxDh1vfD8TAOOS4ahQM9AM+4nakaYxEJLmEiZq2RcfovNcttQcmVuyKjJ68w54+IRYnRaSh+YqcT19zTuMhb205YI+rg5MRoSYIpT1rNkQODYbQ87qNNnuBNIcozu4SJSutYXRS1Ao1kKgZnIuEnFj9+Lfde7i53o+7aAgYd+LhtHmCNHpMY8uwG3pjM087VXeXBaDoRCbJ2FEHXryBmnWiy3Il1ErT9ZxjBA5HHHglfsZhdSnaOVcIL+7gWGFeqE4dnruc4LWJKrULsUU+AGGgWtNtf0eS+BYqqUFAVZpmFcuyEz3MBpmpEeXoNlXzeJFqTFDjepCNMdBAkYAqf+Xhydsy7tLTFF2txsguh0R4MIp4VcYknRoGRvPuaTLISPrLdYwj42gvSCGRJz96cmTYtFS4p8gxVCdpSg857zf/HkaKNCzdpvl+08ypQ1QqbiMKHGNGlvbxSMJkwND2bMAmEzLbqhyA10EOMePWuarRkn5cr6PiblXbznGTaANnww7OvA/Dt0ohtbQOiJvqdSXp9377iw43VL0VERX6TIukw0GRTG9FpdyJTjwyMvZF+g4zEr6s2V+SbvuT1cbG5152txgCtQyBMt9dh0vraQVwuHOvr2so8vCYPdRyIE866TSUeeYEs+IKIu8gAi0ojUvB+CYcGH7naGLIlg2MZEItquqP6BCBqVtDvT8l1ZzVSCS8GWV6yCGocWQ4QPRKc5lS9a0MR+yZhXqRXbTFlZ/ntRj+UKYOuNfo4YT6CI7pc3poRX6mxTu0YkQMvVL7MTwFvT+foW4YBM9ko0pCT7SlIOh+mmmzKTrGEOmBIWcQLLbqQrWNTFSvYtwgqm0QmROsd+2A6hJYrqe4Ap8iYmpFWoO6q+aMxMmeVfKPTtVkbd4316QOxqusXvgdLz7c2HTatyhRMniJDGlA4SMBJ/LnXDMgtkCRgFE/9TRNgDJ8S4fR/RUn48qHMVEFzQbePW2UHhbRtktHaI68Gay0cwpb+dB7EXlvPYpYKFeg41KZfJhiYoyksBHaFkMjEWcB7ak7fTBlqNuaJVtGSWF3r/xD8vsQEjLWDB3TZxdm7tCCJqocJiKJinGFhmIJPQbUjoZoZDYvzqe/k7dBVfP0CEBlUKbObRzZHeVFHjWKHKWHBFgXoWioTSTienKGOhTi4BQRTXYugQFPGCkq/FErpDJup5rCYqO8p7RoEaKOFXwVnQ5EhbwxjBVL1mHl9jMM/Ksw0UM2klb5M7WMnPUmJQNy+uqEdjyGRu5POMJO0STPYCeXJN3dpJYYYfB2HD/5nS85WMYxdtY7aaGUyEpvr40p3UguQjTRSpH4ofR1ggy3Ow3FEMXfBISgC3Djeof0W/JR+jO/GHrgLQq0oobARtO036Of/pTOvkpfCYW/cNi8VCAH0YY5S/THtxClr3eKfZM4JoSTsOll6ig8HjOq0M2e/hR3TKYGYRcSjh4GMI+W9ljyBV5UG6iipBgzJawEZzZLh96G4bC/TC8HJtAR18Q7wXWO2sGAKs4Mm+Xn7vUGUe+mXtKI57pKIrlyFBUU1Z7rZwjRYIPIVMzCK9U/tP/sTa6+8Jnp+WidDAesXEokiJ2QWVEmkVhRkRxBBq9zARsJodE50At7x96URpq5mNeTdfUexumk+BMXT7pAapSal7WB0MFtmvO/i8r+6ae+5KCk6YbujkjiqST9fsNwfHC9g35oNtRkwxsymdqRqwnigfhZYEHiSwZLA7X83xwhFElKqqmxOzrVfLbyCul+dEJuPdjGXormqkXQCHuSduFAKnwkBUJkJhmjeqSjwszxHjqgykEacVpLuJ4ypjdPY2SsNUNNoI/aRi+u0uiBrsWkW1L9D24agiFKuk0PQ3RqwEHCvfj95Luzvx60jralvR4kxmGmLOtYLtUxTOwIp7xjp354AHXgq+HYTgwWtSJPs9lj2OixiFKmn48ErtVowSJGHZFhHfqbnIHOmJ9ba7XeoBKYTW1M+NCZ0Bns/tC23c7HUs9xrEd+E0zBJMkz73N1g9GizdoP0pLZOWlaG6ekUofKDXpZO82ffdpPHa5t1v7gNzbS6Yxx3/Zk3Mr4lFbBob0Fu7TgKtSg1aFhqoEAYaIWU3Nf249teVh0P4RSDrcSUi+5FkpWHN/u5vyMmtFDkPTWI8r75sIYdZZpIL974DM8zXkG4YeGIaIX2BSuXt6bCjMiRtpZe5lO+tijgaLnWZCTZ9b3io1ClKcoyR0fMo4Ew9n3fATIYV1TMLScI7IRkmteV5DEQ/kiHiIXjvDQHnUzJSGki2WY+Cw4/KVOQbUcta0+y1WkPyAB9o7dSGRNvUro4dLKyt3si9juroggkdnQwiuyggq56e56ZeWvW0HrsEHZQ637DdctUBErE3BinXzX87BWm3GhmcrHDN1RbtP8gkF5MGWt1bT/RPWsMyEicGny5rjYkAbuJkzuYXib/Ew1Ks8OS26z+vnvfulBH7hqWSVu79mtx63dBu1UcKQ2ytSc56Eexu0dfb+FBiRNWLrDZWoPfJ5aK/AFXQ0GokF09FzgOfR7r+DyAcniTq8cT6ID6iFg8qwbeW8MBMhEHUefpbclcTjVtVY9U5Er5xqpAXCM8B5YGBimQ0Oi7mO4VIzFUqXJiegDdKh3p3YR/5A7U9yPnqTdAxGcT0FPWw5jFQOv5XbdZFbUOzJ1JUMSYK4QHlbF20gTGoPeEkcaXsvNZYiC/Hd5c8/Tyld19YHu8bAI0i8cObzFjMmDEp00tRGJTgecyzCg28XEeUi0uxhJ0gXj9TNmijS/YOZbmW0lowkawQCWCSkz/z9a3wkwEh0sRlX5QIbYdc36A5sKf3MbV1CRk3Xn3atxnv33fv7S97zULbcdzaOFvBybcXu3gZJL364SdhnHXZmR1NE5HvCVrrWkEfRb1KEG/lQrpddH5Ad0KMTSkQF7Up6k0EEOwrQMEjsq8IFIOlap+q50VUNznchUYLw6KA6sDD5dhhBQ/GxNh750MyapL8gzupfAUIDDi3i21DHdg1SSiZqGWTn4XEmXwWQdQmHjAK60Ic3R2TIJ8r/52VNgUo7YaG4mMUXcGoObgZLzzcpOVao1jjmiCPYKdQJ5JLPQUFOoHVr7TXNVxIiHra9UULTw2KOMZpKn9tTF6tDM7DHqVc8D3JKx5fIeNze1qYpr/JDerMbF6gQB65TJZjhcvD6o3vV+nFDqSq5RAXFMWujzyBHKSPSrzCXOnK/1z81F9DU5KDvtOqEaiGTeOtFMa2cKoFgEywI8mUQT+RDuKcnSwkqeovBNaFqPW1twq46+PQquzdCjxTN5fEOmFGSKzDokYSuma2q0iArUphJ5cgXZUvRzp8nYB0YwF6piR5gROBr0YXiXSMXDoOkzCCZwLwSwUYkjauIk/elDcC3HHh4Ma2jlalNagwXdspmFPM0jWmS0vk2HKlq3pVgFeFBVVxRvtdTyao7OrsHAVi394IxosuQ/Sb4+c5W5Hd1KJMBQYdBoKdV6gNUxepMOzuuqVyPqOGrIQMJmOg85bJGnW6enQRSR0NsIWT/tpQ+b4Ol+P840umfl+J46E/Ux3w+534ztOgJWT8YJdVdyo4fauWVmisVZ6TXmrC7ngwzNUxF6FlcrF4qS3Il9GbFK8+WgbaD8svN6xff97EFG4AS81xqEHi0rxHVcEeoF991lRoJ6p/qJL7YM+9Iis3gp3euQ5f7DFmyOb5uiUQfIZRVvpsfrokwNy+agEo7MpBlXUhQ0YxPdfkcE1ZMZnYYKVsjvz3cAhN5Hnlr/ci1j9PX5tW70CyyZuyuyOR6dXRU7AJxNtq1U6+KhOmTPRUgzOUpWBUsCe0K/Mn1efH8HXEN4QNN2dhTDqKt1pl/jaNBzoCwRJnK7HAyqyES3/jstvzsTBUIEHX/UNTbjZmPAKZrqzWfRzjSPUhQPhZBVKg2f3vF4bmoh4Hv8Z9sdmCKoHFTOadZr5lOksS25ms92p+VHRYBWLNKiNp45D44hpLjcmcONRZhCpNLvc01FptO8+pkvgyPKG3YRbUEeg6NpJiry8UDaH23kXUq43IN+GGcbBGLmN4Q5vWDxUrNoRkOUk7PMfdWDOmRPcUSqsYUvgWBU3wMqnKBnHFGuPtMaeM5Skm9mMLVqg8JYD+kBEClC6TCcu45CVVybZg2UcwaiUAUBPqjTyDAeXxopx+LDqP79aSuRaAN829RDX/3OBiLZfsZBTNGdSYpMLzH0zNUSHcujDwo8YCiCHAuSCPIXTtwyfKENQnRRNrWlLkS7byecsE+VejPxJVdbp9LNCNM4vFxX4ZbUo3sNYc4CG6fqYR6/5D/ARHKyRvd+NhmH0IriaznLFGIlsYgejDoZRG33gSDzV7szlzsy5WkEy1xgThsF5YdGVIZrBKzgsJPwrF79r19ms+v1Xz2IDAtrsUZTszMORjmKnSZskBIuBF94jesaPxrMqUiiCm8HGPgxnH4QxpQIakPkTU0bRiLew6dvZS6wjEKBWTABQ3TkMBzIeEqxac1Xkqv4aKRbzUmiinKZdaXDeOE5vT1AjDWaqqRovwws4rlc8fcgiIUVgy3FGEmq28OQwou9E0ZxfaPfhePr1cDHhhlR/hqSaB3ca8artobShJ2xNQjsJPnxoQsz5vpTNhdGCzioxq0OwXKO5EYxRlfQXYiwbU4/jNlpT9pAB1hNyTjjhPwZ0vBEZNIRpPnJV1dHpeBYFyGjWcY8mx8lTXHQ2RzijmpFX9ch6pQIOymz3Y5JlyAcEqnb/air/wqVaa8IjeKPwNltizlBCCcOAzrG6jXPetmBMTy8cVkDKW31Ukqg4NGAGdLYM3DhyGKVo6QnwZXd/KzEck4u3VCTUSrh6GdRJlGkYdxfT9GRnm3e39INRS9X5ZdeEyr9/Y+1RgtWz4QxCy5ek7Ga7wVNm87spsxrrxNyZ4IPWJlSGke3juJfWDzXIXKYPWerNyplTpQMo/BKn96VYhfJWGMXM92ph2xwiQ7RKh0VYfUIMtw7sUYZv7VylYPYMXaQNEeiCmN5XqQ9GAjQBHaL6ILXt+jQTOTRnOT0pbcJTHQ0nYoVeHZeV6KTKeDC4Q6BiONwUKBWZUc3J3eS/8pREBcYou2TmVGqHaZnAiB5SJ3IbM9gwt28UqLqi+DuWchtExfANbcEJydzvvarP/AyCXNNubUwoxNA408tnVXTYZLalD70ROLkAo4IhB86BgNRlIvY5yuRlRmqqhtuX6/afgEPWz66dKueTzrX+vhqgeDc27WoR6ZZy5jZpECa+/05+AeP2bF3odZjOYMPGr0nHlVpyEWNACZISWtEgzlwjUoiNpwwA33TokwnIh13JI4UJRU5qJ63xdWDzbKm+tz6DIrCen/m5GJ8TIWXypbPxVidXFm8I0GnO3JvycnCCsdoMkgDLxsYkQTdkgwjhVTgE1FLLLuZTP/tt2ioUiBsjuDCmmncFISzFopUHVfqSOVbeTEMV5w6D3neE8nam7A2xYuhtemNWhZrDakBFX9ujRy1LPJTDNMG33xkDv4GfUBSLO3jutZaRlpI2xNvRkzv95ofeNmBPg3qF4oSFGH4kFoY9yKsNJKeTcS6uWMjbC6VyGh9bD4Zj9MD4uaWNOXQK6BK7fYoAY+qNX0KPnWuHguGVfqO96Nu0MIPdKvPfJ9ucvpED6Y+hn5NNV0/IOOQoehfFLWcwGX6un7SM4WT7/hYerBFBsJFJN88iiQ2/SNJjJ33SCdmSrSZULVdUKpI4qkbKJqo4AnTha+/2O2TuLd/HJghWle9DrGk0KxU1T1nNoyTWCOtHv0NwFRLLPbcdDujTzRzgplmiXyIBH+T6Opat4P2iz5vfY/bkX2QzTn5s8Ca1znkHkQ7KqSV7RuBmGm/+KLa6D4W6uJE0/6ageq+eVf7kwhWg0aD1YjIa7oL0l+MU8+tXBo2x3BvILHhXVINQzW1eOtc/cqzfj4Bmt4N0ZjtDdBPIyyTB8R8NTBYdzeYEs2JZPp7rN/JBImUPlyb8VH+pgaRwlF7lcWRI5VglSt+BCZUssg0xxpkvTzJGcI8KsdskKAYi5I5W23l9SHBq+9zbYMci6Nn8oBlhE7zGgCIl/+oX5pkc4EsnfXbaY4et+/kPHfk2VORXOog0Y+vnG6RvMjzehSsh8XRIqw98XTKHHp5fdG6VVtn2ULfcvSY6yQHV8kFaoHCNzNh2g9HLOhjH1jllqmyT2fULsPD1oOw6XZM33nkk0TSyAJt5NRHmLfFPrSGFZI8bdpLPqbXoO89BcLAJ8Sg0fTNHnnafpeKe6rqc3gdkb3pgSl/GYw7P4kOSgUK7UStVxwKXFZgWMlAfsE5qMWD1uMj1XMvQiIHFKowNMrbzj5VFbubjLSDAhDwgKMsyYnBU6qZ+jO8eqBBHkg1Fdt5+4YzWdChslAmbqpGkqA78wNuperNQ2WE2XQ9jSQMtw9ot1RIml2LoZRL74ZHSJ85Ca1+uRknm0jlHfBXD0bNhs0ss2IqNdNSSm0CnQoVkFvLyei1UBTjCWVMd9SemwMZ35O6R3on/G9RCMeZdPJJh4CzI/HYqaovOSRRzoYfD4xRQS2rorDAKEWinZuqNKHQLF1qTREEBUIpalJUdKGUQU0IFFN/8FqmOQ5dFLukzyIyRb9cP4kTYe0o+nI+iSrcwpVpkW0OK48cxhKan9usaM9eCrmEPlIHqHycVpUMq1f94C+2LswEDjIGtmheTB9vdDQGCM1KL6DBP5TSrIfxXFonaZUMcHg610gsgr2VHjB3ThARkDeU2gyXw6PEWPyK5vaRdSCfgNpDmUty77pIvIc2Re3E+g5jax/DGIqjjpLmKMuCkyPnAdK1MNir6GbjViKANwrD9P0YqZwL4wsOcMFoR+GUjeFauzJlHuCcPIhpgEl8k3ugH0K8OKv6SUYpJkbGkgmNztZyjYVJmB6m4tEUblUw9Kdzrgg00mgjD5HecWjMoqVLcb9XkZgZWGxJVx36V/UOat7KbflMVUqbgKgOLyUIDiq5nM6Eh9ulpFD2TZ+CPiAQjF7f6XumlDBIAseOo1qNrTtWlWdot0E3ikgYC+0N+qSS1+Dsl9u6/C+v/MFfOvgeCdRvKS8dAZmwGR60cPQwvoGo1fewH/aqwZWLESdSBKPm3E7MHGEJCD5VYoY3I08w/666ypFCuA07zjzsHFkQNdAs00ZytXCSMuQkSKhlAxgIj91GKi2kW4LjIDwkOYbPhgBRjOnjaXLmpvzf8M2OgQTYWVRk7Gxa0wQgCpCSJLXsmFWz2cgOXkbirkNKg9e8ZDOSCwwzzGKYJ66MCOFA0gYj2PfM55GERyQCFDEFTM/dyn76vkKrgKOLmonw0sXY6Ys9eKWyQyQnOSZX7FhSQ9xMwqkSWu+p3E8MWUWqluWkt4VgTg7E2qPJq0jTgz0cavcuNPtV3BlL5Yk2cfRyyolbuHTnab4HvRtOdvXKH/oljX0bYx2FVER+nvyd4qBDvzFgS1IwWfJupeM8KsUeeGmJxUg6LTBe3g+WRppclnMMmSgCE0VMMfrPsF9O7ueUL6DUrMom9/Dd6mlhrSRlwcdg4T4PEm9g6oSGXn/C/+VhY+mFNUXxSKbEYwDorcpkEWUd4aq9Sk+8qcjAEWp9QIhSx6D/DMoITNRrLfIRpo3A7LG+pqddy2neRRRmRBO1F19fF7tQfjVzmIBOiwkjKVLCTv/+Ims3f6i8SWzRXjCO/hd/XhfOeqvUsoJ2OMk3yElaewgDZXgWeOrwHJGqz58Kr7tJHWudtD9SAJ+udh4oYR/vdKLQc+fonLuAgOmFUrr9N/BKCJbh1WFaUwuyBrFkR9ZKy0CEPozVq37oFQdPRSxVmiS2QxPM6fegQ5qnTwTc1kYkjkkbTvgZsDMbiMQ8fLY9AAfVA8UC3ewFEo3oI3GZCIp0v52q1EYVUuck0IY/lLEM67w4LAZyFmQbsFrNqTYIIfNZyJuAAqZSdRnQOHVvwh3nHx3XgydsjmZ6mZPPfeTzAhwOR9k9KGRYFoAh0bFKZaT48fA+sCkSuuEJlYLu1dPB5pIioBaRqqJOoI3WwPcKBobMWWD+XiATw9UyctYfDHjS26+glRn27D6SHCTaCVQEhnRBB8XzkKMRZ2cnXw/eUQMeCTTM2tXqZE6ulJH6PhmTKPTO3LRiuAO2A5+c82K8HTpR5QMSiNTCMqTCgGwOfuiMBSBiFQjoLdgvFZF3Iqx+5d/+shP8dv1Rl+OyBYY4H3ndbB6Hv0O52usbwixGI0Uo68m/ayEtWQjbgakRsucdFJY8ABXKVzuSHKQXkvaHa8N8IFw8wouFXV+oPD8PkhS9X7IKjCUJqFt0e9V0CpL1Lo4AFSauT8edceJh2/q8x+NXa5ytxpaN04Fqi6i+pzL1BcBm3I4r8rn2QII/H7bQjcH13O/BeqgnRVHFI4nmVcr8m7122lbLuNWIS9nDGhJD/bVo1YgahV6oG7w7obRXBv6K3jRKOZPUfuzJJIiGLbShtDWTmdisvwC1coVDHaEdEONdESsA8WDnKCQoN7ppyAnsNqpOIxppKlpeP79pUPaJ91uyV7dzx0l6dFRyVfIVzqVzsLCLCEZXY/X6Z/8ygTtshFgs8cFlPdo1kAABfEkPOsvDG5e+ZEpGsHbYLD7M0sXH5Do+DMwMm0H325FkJEusL/oatlSLJbtmAiA5iiFZCGB4gSbay8C6KcXvnd+bXI8csR5ev5ANFs8ztMZm3FmdjnOZ90EKUQzOz9287ehOCX0WFwqDj4lcnUAfhWgOgKlL42B5SElyUNye6wYl14CAQIIQ+ptrFGVzotD1iKU9aloOKwmsaW71n2TsKrsUoWK8N5T18jzcEtvIiPqglXZBKhmIVygQ2LvvaemowLt3yhfK7k1EYE8OVV86VV5aUBZjwMp0TbUio/58ctiO61Y+N49ln2f6n3OIWcwOCahbE06dKbyMfbJTS2WeZ4eY6PlplyH1sP1Y/dpzXllC1x7ZFu1FVgJV/8CP2+NXedKbmZwwchCbUBoyRLXfD28q0SNWUoDLCElviDd9qbACu8pG4Yc6isfpll3Hbhzi2dy3ECMzEAprNSvumQXMZMdMY1QESRFP4Rt2hvZauPF12m3V2LVxr4Lwspu90hYQn+uDQdKPysg1i04AKcOSgQDAEKKqDF7tu4KfHAJKr7f2m3G+Q39mAZ+fE2FiC5J8KRvbvCWcRXMmfRjNDPPupD8bahpjoeZAYVCzuMz2YEbM8YpXdDxJ9NbNVGaPwjKKYuaOQuUPrAg3kvX6s+SEgfF0D1YHl/wk++8253QYevbwAXkOkhgiU4d8AAiJEXupDAr/Z0wjfjo65s4RctZS6mB/yJ82phFZUFBjdKs3PvdVWTLC6rxizd4LbzSXtJSejSSRI9V3X/KZeodaZn1bEFkGcoYmi9YeNR7xhw5R0PuT9AOhgGXIHBw9g/MJUWz60u0WaUUMBVkFGBdDWY3VCcRui5I6lDfW4uuZ2MEOJ8zmbhB9qd2FY3Pim7WQQ6R/JIm5mst04KknYGj535xAwq1VhQ9EMOVXeg7VDVbby3HYnIz7D+qqo9tOejFm7iaHcvgiAvs22Rh0hYF6T7Fv+hnBQYZiA19I8rEIMWH2oJ124tVC3azvcvSIXCOhZ6qJZRxyhpZ42NNeRdXcCfDJQed1agy1ZsRSJ0vmfphsq+nrrI3zJ1PkW0YxxUCYwyx2CvgMrmsVqmeqOmlYzSKXpFgZ1ABC0tXWhsWARiB41pZywgEDMYPSanLskvCe22pdnAF++NAnjCCNp3bgRv+EtGWih4o+wvosun5W3+fEcFaFk1zGDD06phITe1l5MvWXJBm0dQPFKHZVVg8V7AsqMyTCHH1GMDpI6yG1aHpdX/k1xk2NNLfXSt0iwj1mUgFJmDZIUrnbWM1Fq/Bk+TByGZpH8ESo2Jut2ozlzstIXWRMciTw8vvx9nf88Xjmz7xgfOrHPH583Ef9j1y7IH5+B1So1+/v1H2gN523pU2XlmHepdMa7YQCJ/Rnif8EH0NhTE8M5b6U/Hq3pA/KkeHrTKr9wfWEQFy9rqRDoM7FA/vQeQ4aTqoDyyn4QdM6ckxiAwphKU5HE5i2Aj+15mnFkUIQ8KvPw61naa3Wcx9BQ/IhzgGtCrmzMQiH0bacdjdMvel5rwqU5sv+4HoYT5dIZ9k0lEAte0+iA5d1Vqbs1SAp7YU8vr8QOOOwmwiSszHZl2R/81ZSP/DsRycHQbGaEF8wDqhMlMoEFf990Wg1ObMWaX2SmUy9yagKVBamo3OotRzNR7K3ktCStdFwAfdUB3pqd9R+es1et/Js1kH3VDRl0GFAm4VBehySPuDlrfGd9/7o+LJP/9xx9z0PQ0qiWlMMlbyHKuRx8t3rHACFsFJ6OV8S1OmCR303NFhRqCO3610dFE4n7ekohF91ATb74bFEu1wN4YgT0sR7BdO49FkgHg0mmNDShpL8E0IB+IgCgbYK7TXPUA1b2UGcsv+/wlfyCaBB5qSl78d3vuhJU7fpBTlQxMxeboG5TCD5bN5BZ+1Nz1OSzqUkFMzo7GLjWHb9Oi4AOhgFbnlvCwVm4/7CIjj5PuzHjd5xl2ro0tLK4pPhZPpf8V/wcCGaBW+pBLdO4uOQr4E+Ir8OxjeNqwiw29qTbTabcXqycZejx50GKlptGo/WngJYlYRebeRW9QgihI/DijGplay4YzBzrkx/566TvkaTW8EpD53wRwfnPPDsdPzzzui0UwAAIABJREFUH/3h8S+/4EvGX1zQgCa1gpwPWC3MEIsPHLbhRR8WrZjeqwPwtDbeN8OtRqFcCMTDpi8ERa+kRIY5nQYfWMbP8l5IzdO3H2N0mVN09QGhEtQySmOSZyh4OS2REGb4rFwG1Duhz81e4cBSz6noMsRPZwWE7WP8kBwSYqDOHbZM3/MHlMfIYKPkCOTX9zZiobnifVpIndFa5/CNz1MOQnmdYhVQqbKLdBBjJNn0NqooXHrmq+EVxRV4DhiYtpLISlPTdD7h6mcYrl5n0EkgyFQiJTf3HUo7dREZiSUOMgCH1+USSePxHRFN/9NGncmz7S7Gakv4F6tzdnY6NOShk096LQOppbwQVWSWPZSsPSqyfVijLjqfQPOxuGdEdDRr4MancP8QD3pNEs9Zm4qjuX52Or7hec8Z3/GFXzT+8py1dK9ItUcpEOojeZ6tL6QMe9PBBE7i015QpxOev7B3duHJMSSsiWAQFNauuWGpI3XtYRlp6sgT9TE6quqhkJkbzmmog9dO9RoQiZyM4CzjhTjos6U59al2JnoeQfLTGhpkD06h8J6bvtgbnjg5cQrEViR4nSl6gvsQprCfmTfgAX4UsrmgFgdbB2Tj+7Uf/Y+HFtDI+BGgFTphW0cYOP0JHM1lRI4XMF2FTFHMQIPSuHMz8chMry/WhDFxqK04LUkT0/3CFyX8Wbflxc21xpVkJ5HXv0jCr1/asNP91VhfXbDZ8nTXr4+T040LWuXDCwRm/0gLb/FWFD3JR/R0FQRqUIVyJrRWjNbE8BDp+d9S4ZZxyIBkSAtXDwN4dnI6/vnzf2R82+d90bjlkUotBpLUtjEMRqpGSwSSI1LUl7ec83uTB7HGSFcMcS3LoF/GV+elpYE7DyOLSX8FBxKHQJOUJiGG3SydXzo7UJdJLdSzdMAqu+9dl5ykzu5K/SJ3B3ILLWWEUCyh8DnYqIsxsvYGwTgy0YbgSg4jZlKCVJ+FGFAdHtdlAwWbywU/zEDg99eWvuHHXmNHUiEbwADrd3jWQTOOhK5TKHQ24PYIvIo28CLIDZiUUG1ja+JHcgx6BDKQjHUEJ5d3up5i1LC0tTYJ6yQKY2LTjS3yxJvH6DieiOSmZGV3PtZXV0CN69fGycmJF9ALWclEFt7exqcDGhVGjCIeNQ6FbjbNHXXK85MvqQAp09QBpOiE3+TgaNDFVTZXMBbBoeDGjdPT8U0/9tzxbZ/3+R65JJk7hVryijYUTXHnkTdUb70OZK8VKH2mddN7WnzoA4Ev5kYq9g1R08LeNe8DMYB1T5Mf+LLXAmK3ePQizKh65ywC+j/0OUoONI+Rk3INK+epjolZw0QLSKCygMk/EwVSQaO6X4WyCZhGCV5REn5p4jgl5GNWkdtCUxbInsbkSGMK60NBrl73gtcdfIvqvKx8kT9gZwwZ1nA2Y9N50WYGPaiwOKXgfFCHUSdMmXIYqpcbmCiaGSoEBqhfWy2+4NBmI8CopmQdIuYttjwj9N9sM62yd8YCClBO0HZjs7sa693lODk9HavNydicbDzP6vpmN66HRtQHNrybIJEoCfWM72uVV9FHSSyzXCnK9SByd0bEF6lX6LVljDc32zns2lEiB04G8i0//iPjyf/4c10ak2GJKbo6aJiByG7ODIPblt+1RLoRTFGbaZEpmqohamwzH2o3TteCSnV9Y9zZcUWZx2y2El81dFW7Pi1cuqpzIPX2khMB2Svbp9gHizir6ymERhvunEC6ujJX1cz5dVJNt7gzziVYIzcSLzU5392RgilaLs4MreN1jwAwPRvqh/bKo5bmJ45qHimKEjkyeUV/fu1PvP7gPvNcLOkPlVlIvk/ci8Qbt+m9BUMS7bBdMSZKOhGTRUxoOjDddaWLQ8jbRHzLbD6wu0LeB5Yl1MWyWTxGo5xFgsIDcTDcVXlUqfbi7HZjtfPNIxiH8o8Tbz2TTtISW0ZG/ePX12oMgnI2qDJ8XC6GbI/3bOZxbqD8oxAITh1mBnbsuhvPKCZqRTr1UZDncns1vuJZTx9f+Q8+fXzsh33UON/SSajD71GcURJjIDwtkFg9I4zL8dblBq6zsR0319tx46BnwaEod6vs5r0ykP163PElglqH3PSbq6B91XeQg2fl6j8VL0OthwTLNQHsB5oynrV1GqI8mYKm4LQegzCy2AD/w30nHHAgFPMNtG/UnojsOFHEseRyIZLmuFmOP0LUwLzMDHCdalbxONlVc1Rk2WKxP81r7339Qd6KkLs07liz5BpDMpAwS3w4xksuBZtw3DGSyoaNW82M0QvsJLqMTHBoP5QLZpZaRJ/VHCRDD9wleHRHhdMzjUON0tccPqCZuMRvjkriwTeHq9yyuhrrkxOzWb03kEWknqKDJHmDE80wN/VWEBIarBzDqQLAa6PcgkTd65NCmmOJ3j9QElJimz6EeLmxGn95333jCd//XeN/e9zfH//kEz5p3L7a+eBrFKn75sN4ANU4PMA46lCCuKUqBadubjQHl7KvPpdv6DaJcfA1ZSpESl/mEbxeNyTv1w5bJmp6fhUEjKKcG4pE3TcviZHK5Ji6CYRsjmE1ca8a8BlS0pzXdS87hIj2y2ZitBE3l70jftFf4jkImZmGZJ0IDYNIncUUtLov7X+OBJyJ5+Q1vKbVF7nUCNSV+QElkdIXtHrTi95wkHGIUvSY+dCCEHV4V4pvFGyO9VeGEZ5NRbW6lGkjDkxW7uJLlbQCtmqVwMkIBxGLsTp+b+cGy9VZ1nBNhiU0ZfsXjH/FLnE9Q+OrBXZbbXHmJKnP+uyaayH2qqkm03uA5AN/DUyiNgTzoV9UkFEZlO/wdQYCRsageM8OE2hl3S7EB5bbZG9s3BHPUU+j0//0tKeMb/7Mzxwf92EfOe7fagSp7txDl8WVcRnocHT7FsYI9BWEs4F7/NLeQw30Ux4kPgugY9zWYGlJWnZU61lzEvy71js8vbVfzKoyrOxFN4atGIJWwKYf0aedQ5vFMqeMqytwEC6iVvE9RbAYB7mFqu2MIDqWHwHB0uSULkG3fRvVBOHMyTwYu80m8AqXVTZUEKvZS7pVEwRo2w6wq/jyTS9+w4Ekm6KUtVi+ABPXgq4K3GjDc2ydOCjCQAyhTALLG4PptV8uzgRfJglmNE5udprFmaXRiLm1nVCRtt0OSms9JJIIV16dS2RhItI7SEy3vXKRzz0vp9ech3iiYCZtVPfF81ayXqhQtJpRPE6qQwcmqmIg+f60gjbqzH77CDG1BqqD3L1RmQroqf9u3zkf//Mzvmd82eMfPz7r4z9x3H9FLcR3Z2TW8LzYM01edkA5OIJWusLixnrr8Z76NxmAhmzo/5y0Bu6JVFDudJ9gCyfMe83QZ83QhdpVuy/XmgGHrN1KgmsYkkk4al1QJDd7ZehE3qIIrffl0k4kPVq723tJRkrb5nrplHqaN6Cyxdk0t1DSLXkIRVNBz14L0VID021QEQTuBXq7oJjcn3euTCaSqJyFxUljVqtff9Eb7BwLs5qPVK6ODJoCHY4m1dVAoWOY5eue593mGTvp5iN9Hj68k95w4SFJEqmWwc9lGSRRsScn3HgfYdvC/SZpXVii3C4kPJwIsdpvx/6KGsjh5HRsNqeenaXDIOixFIryPoIBSaypKXB4yCXAu146f3uY9ei4vJkWPYKjdVho69zSEZe3uGt95UOMP9X6rsedy4vx2d/73eOf/b1PHJ/yMY8bt7c79yOQ5yUJnTLu9lwkUuUuSUGYu6Xp0msf1uNdu83Y7skvPO6UKcV2djr46s+nTwSnoih4bZ3qda4hI1q+b16oXMYjUodgqsiSjDQKngfyMPVe66y8SySBvle53K29lNE0NlExZ14ZkG7JQWwI7mZs7zuHH14Kho8nAuK3hlG5SyE056lVmLZt81PxDtPpoz9DieFc+E0v/rVDK8Gl/zz7SkAj+UYxmuOH6X5ewIcg0cIK2kzIK9RyQp67PApRlOijx+Kj4UGDDadOPxy6cSEDpXnv0q2RkjQBdv6wSOqVyzAQjCr60N0Wm5Ox2uhKB5I3eXz1GiAvoZIMxOLfGM8J/GsVorUQezR/pqOoEt2cvLM+JfQt0ObmWhBPiSafUTBOC0lewdP/5h/84fjGFzx7fORjHjue+oX/K6RAqPMLZjLk7zSp0e3XUa2IJz2tw5geD6kIoj+5Su4IgexCz9uW3c7KajH3dKVcrYJNHU4BztRIPF4WBqnX83HnPcwVV1VjTfpdOYinb8o49LU1Q/IEj6aMXkfXgz20h6pzUKdpHueo6TPQ44zIklrOcnp61IGtrI05uyMpij+V6z7cezIj+HTAKKq7tiY8fuPFrweYuBcbbOpe8/Dk7stmvU3R+Y3bH5578kiOlw6uysUdvTs/N9um16dItdz7wCddbhBqwg1nzb1yLZz2vc0WhZJDz9/pJ2Gz8nobSUx2u7E+PXE+o9yDwdoUKTtDSp6OQc5UusPFzQPVyY5e4zw3c6HIdzg0EhcGgiV3swfVoVPsDDQlse0aH8bl+cV4/W//v+N7f+6F49H33DP+1RO+dDzkgQ82VPEM4X0ZqjI46MgIpuGlQgrZn4aW9Rzl6KhURNwkF7CbKYuRyjJniqiqf0czR/7Tfm98Qmj83NeK3+8ABMY3dRqjCQmxYxuMlloHBdyOcK3Q0hX3NYl9YZVQjcSavcOQgnbyMJMh1OPq4B2LvS6J9vNSn3zuOihPo0+iXnFm8lafo2Ny7T//1OsOPqzz9lgVr3JHXA4ydzhwiPWbw1ASd3a9dgvtNptVop5lnm7gQDxhuW4bHjoXhG7Fhxn4VsrPG9NkKl2ITAZM4cdsFtDLoTb3bmM4muyxQRnc+0FUYbexw1iJudJ/llhnaIEkJzAsJBshyGa/AHkGSaXgkAfryYf4INEmerLS62lDYlgZUm0PuBJ7dWv87GtfNf6fP/7D8ZY/+v1x9/Xr41P+1keMz/64x43rZzfHgx70kNDNWEQPJOM6ieDOMWQIuZwEmtLHMOwM+RlXFbT1GYN1yhDP6sQ29096momSdHn7HLi2RFMv4jnhndA92al4phe+XX8RTasxPu412nNZEoM16G9vh6OhrtbKBIHYNSLNnf3puHMAklH0JXeM7wx5seSJ2vfCre6d3l11K89pS44ZUEb5IfO7mPgYLW/nPP/WT/4qE6ridZgXC4+TU8uAgMlu1RgWxSrOSFaLIRAwMSh5uJ0v7WwvRG6y1ffJM4LfJvOADh/mCs1NrL9tuHmv8vlTfavN9a1IMRBFrjUQo0OnUYfCzAGxCKnyrqoXXFu5A8YJpyreNGkJGqWSXZKBci+nK8Umiwt3SZonONqZOt046cUrayoJUI3w/4L/+Krx8je/Ybz7zsW42FPtuHl6Oj76sY8Zf/cjPnp8/N/678d+CwGqX713zxBJ7xdhHve7Y5jNk+akj2iOzlbkQoVaHIbkOM33MqxDh/NS8MpFdsa1UmOBWKk317953FAmOBqWhsfRORCDZp2TDny6JCloUlvCtwaiHcFDXya0O3ENiPZieu8NhR35k5f5nnnWhhwGCr5XXJveTq4KmCXiOZtMDmREUW1ZeqCMQ+SAf+snXzfdo0WHlnET2uvPPbuWXla/GfNi8RyEsyNpQOe/RtNlvj5TQhw1+iApIs4e6RgW/pCZSEaYgRIcRL7W3GXmMJUOaJPdSMUEDhW6nElkBhIJeW/DlVEAq5SL0HOChzpzq6dSUF9anXbivHHYvBaXTDuY6VmP2zqwuuxHjI2GGnS6eSQ0QCI676j/HMa3v/DF42fe8qZxujmdPaNX26tx/WQznvq5Txgf/WEfMXY7jfzsc+OArPGKwhckSwEM5mfpPe/n7A1V+mwegGBIsdzg5G7KMGKuVGslAiULDYv4+3eGT6Bpai7CpwtJPkd7MnVTtLH248wJu+YNR9CYw9rcRa8gRvVix8QT5lWhsaocXyODnOOm/FDkERzL2QkJY3bSeQ7ndea8R0MGl4jLEySDkYH8qlfJP+ykLwaSg6zF4OqxpfEe9W6HN6fmEOxHWE8USW3EeYc0XfFOkz8Ip73kGfkcoXxpsSxciOLbwr/jGa/NykLLRfW7zNEigtBe2ansFEHldTXx/dr6alyPsYjjNxTRATc9qTMX2sG9DrSb9uCx6PKG63EnHXmnA5aqY3hgwNJnk1E2jihX5+Mp9947/t1v/9642l25qOnJLKvVuHl2Ov7PT/qH41Mf//fH5ZXSZLA/jFqGtQUSAPTw3OQQyzXMSzNVb91Yim9irBRN9PMumRzdBtVMN3bJQD53ia7TaFRiBW1EJfGlXAj8kX8EBTjXlQPxvTKZy3uE+Z3TRXZC2wJSxyq/OdgRICoSz3Xo3ehQ2YST6vNAIoKWxWUWUVpxkdFRVoMsY6mmF9a/v/WnXp9AS4jicWEISNqBBLbkfN3FwiTW7XWeHzYFtl5C0+sKXPWNrN5RxUWlBrvEggwR8N/CoEHdBWbl4c2kTRQKPKM7bKI1f3pDjlCYELSFV6VfEfFdX23H9cPW9Qm3+uaGLAvrXGBUNV6fmuGUhVYoijmw293GWiV5xzPVng0r4FY4sMLVBYYyuv14133vGV/wrH873vGed/s1VOSk0KZJjJfjcz/mY8fXftbnMCQ6++EDYgfURmWKp8Lu9P3Dvun7L3eosiElFqM27eu6xG6cbRjrkwoXCTqN69GkpXVg3kEPiC7qTwoIu2lUzl4IhlXHRgYQgsFbThQt08QZSr1jTtnvEA1gclBREAVrUKjKWQjnFyWDWypcWGb/Zr8P3njCEEtY8gbc2Azc4oyNsXrrS14/uQkn6i6oAKW88fO+PsGvXmxf7pmD2g41L1zerOQoDUWLiNGPEYzqZp9kOvq985q6IJWdBNXwvXm+XiJjGzgyqLmYWVMoSER0UJncX+eEXdEiPP0NGYgglSNIZBMO0Xgley/lCEctpimGUMmOJi2VC8Os1m/keT2nNvmV24r36/G6t/7O+OaXvHTcd3GR0xXCIhMlP+rRjx1P/px/Mu65+0HAn/RsmBzIRS8+jKZ4t05ySeSRkAgNCA67dyWHRd7U5IEvE0qbcnD9yUl6PLaJMqjI2wEQmFdEjqFs9ZYqRlq3BYNmBJG73nEh9BnhRNl/DnzxM7lmhY+t+2CinLHK2zliSKJK7Vbr16TAjj0FTu2bnncqI9IXxY4mqieSmIqekD429Fs//QZ/VR6SyQVJIAMdZBSM3cSi6AFRIo/CtDdSucU2bzBnr051ZVIjJ+0tpMF29Q4I8CXvjT/jtTkMQCQtXG/InVZh4yi3g7GYwgxzpi+4quvmf7h6z9hKko7cXarX3bhrLzoW1qncfidquLDlgmkPIbBJjUuFI8jxK4nAa3PTUWQw4a91qK62q/HTb/zN8YyXvwLIFs/mZ8/kyYc94AHjqZ//hPGohz18igwrVLRTiFfWIjEPl8/OlHkl2FE4pB/FNK5ZLBEHKOa0ay6IZg4CJYEQAh60AG2uAW0QMeGPtDeKUJ0hIEWEPbUIBeUXIWDq/XOnC69SIGaAGvlQ9j1Kia6H2Tp7hzjHRI426rWj0pquNEe5nVaTTkz1Eynl9GjU4jyBgtjlxUn3/DfX3Y/Vb/8MEaQVY6i75ZBWPrw0sfDilshHnoY+izdmJhHOU4JGqFC2tbfOOjolP8HDVGHJn9+HKo6GaybnE4Yt+UqjVvH25CmWvUR64D4OSR84JErOZRg3JNLbXzqCXJskdwYVBHb5KXyQlZTrEDLnl6Q8vJGeaUeSTu9BhdhEKuZHCMKsxuV2M37uP/3m+KYXvXBsd9txuRVTZDCGyni9Hh/w4IeM7//iLx2PfcQjApFoQivg6kFrNdw9H+ERWUmbKFg7VzeLlLCoEA4Up6PiaaLFRJCZM2UKu3KUtQ7+gneqGujkGx+3XH5jxquzumYrdnyJPTY7Wnhjjx7DDKu+/Ju/Hmo3VD/PTFSuMfVqNlPoPutHg7Qz9sioqPeahN6uBApYnymScbyr333p671KRIgkTzPOhAIMrqnX0lu72Bf4ZdFY79gOuzCjwLTQtuNyjRqSgqPL56cdL7lEeIcjcTJeBEIhbFch3eyyY2OWJcVKGDoAPlcEsfxB8OogA9laxSqJ+Nnh0kYjr+4B2maEEsy9I1TEPXXkQB6ASJBuOFOMOYTw7qrPaOofamV55K17MTbjlb/51vGt9/6E6d2r3XZs1ic2ltONeubX46F33RzP/rKvGI98yINDZXYSZSMlKSuUZNL4GILnCzhvYjCbopIjh+EevSE+HyIuGPmVnADIJCNurYGb3jjQbbdua6/zh3hlH9QoA0hRK5Np7w/vsRQp39dIiBIhZfKappMzlNtGkpqMWbwKYE3tozAwe+kcHbjoqZ2BmOTSMfLMYLAD8HC+iD7jsBk8Msbq91/6Ot9RCDyqunEJOsCV+iosvoUeY1Av23pcashZ+hJmmSidhSxWpp1YQbsZ516pmKVp4LzHbLllg7DpJn9BpP1M/mgoQNuh2LqJLMH+1Adn8bp6G7fhSpjnPhAaptxcZMO5Gmu16FqAmLklR3mHq+i6uNJVZg6AEnMVIH0Q45WUvfnnI59uhVsSFiX0ojB//ff/aDzxBT82zq8ux9X20hL87dVunJ5tXNh86F13jR/9p/9s3HPzepqhlsSWKJ9DYHhGCR9O/6h+ZLgVufzRNXCO2r0tKxXvjXrHV4dxuT0Zd7YnEz5rbRlcftzEBi5QNEJEuRCt/tNkKOekwamjWvLEmKAPcrVUIJGZZ/ibUTzoM1iXZdhBb06N14ffaUJYVBnNvCwJ6KsIYzV25ih4BQPB9bOq00hmpU2lKeswVr//795AYIlnZhgZWS9cMl1qhLLlDr98E5+9F3z6nmsQt0Pg++QU9Fib6s0sLfPbmcbuw2UPwp1x9hTBVU3aOszBYrK6vxgRFfWE/5IAnVSfQ+uQm4srBUeAV4y3tNH4dyXqGpZ9yUU2h8sMZy7bg9flxizYPF9Ukw9gciKScCXN9uLxgiTuGpuDclre/d7XvH484xdfBiCy11eNYDM+5OEPG1/7GZ85/vYHftDY7q5czJxXzeW+j8Q39iY3yF5faQfScWcvjB8y3s5hsDxmTpnByPXakoRoCW9tT8flHgOxc8nwcYZ8k4eIqmUEU6bQl8N3uSw1mZlrJGH6qwzKJJMqE1qIDIyfwiuX6yBVWeBRL+cJ85reFjvn3O1IPpozERQgI1GBtUMO6dWB4VR3JXdHYqyWMP3uz77xYF1Tqpi1Ko59UphUjAE3LIABWZHH0VR3LgPl/r9KTIo1O6LUBpLxQs13lk7EYtzQ1iHGQgAVxE6oFVtOX3UzlVDWU1RTS8s93qZ7lW8cxl2HK65m1n/7Mll80o0GoR3cIeMKvavUiRpdHRlK4LwPjenwnTRfMjTmRLVS7CqwxvBvgZjr1Wa87U//Ynzu939fGC4S/munZ+P97757vODrviF3zjOYuVXqVo6pW4UZCp0p3ZdrJfW89mDtT2EoeQMiDoiJNjRJRdUtAkYRP6N5fF1Zkm9T15mc6RpR9t51GDsgEAdxK9C2Kgif3d7tQfQoGK5qHGiuxLyOlvOgq98YW0sdplKlNJcyB8FG0sEfnQuQMxxZkuCU5ECloH1XY/gwruOmCN762+ptP/tG5/LypnzgYHuHn6UsX8MhJWp4P74VFgZKC8tF73nQWKONxAVD+k0srxdtrOHFyYBmM1ZYKH0eDIhQ6GAbpoL5WGFDTIOzEEjrj3rnfQi4+MYV1SheFS1kGKJ3zw5XbnY61e+RmPD6yh9K7cpYwLpAKaoOLr+li81y7nSiMTZTWL8KWkm6wd+UGbiN90/+/L+Oz37mD46tItbp6VAVXbfCftDDHjqe9eVf7cOIn9aYIksFrDlTQ1RH1WALMHTKkVRW1Oc0MSANlPo/Qrta65QOUhmzjI5KOGTK4tiAMC2uom5YUITurSyl2/0TKeEzk/ywV3vPyTHOPQX3IG/687B9qcJ5bVtU5UR6mEcihA4wTCdMFbGQ+cUwYtJwJS8KxOI+Rc4Rc72a4PPJFQlt6HZu5CS9E3L1ez/3JgqFxnhV6pKwx4YzKGDhiOGsQ90m2yec8bX2MLibMCyWeXj3dGsq4aLl10CCdoUxEKLv2kR0Cc9d0KCqmCoYFQZ1oakrvmyy3mio363DUg5yuBp3OffYjtM90MrDz7LRKH11IE32zzGbeDDSVCtzRfcGaoZrAcrpvz1Sdw4OsADaGviinONTnvavxn9577vGtdNr487lHVelv/DjHze+6lM/bYr8nEXHY7t7UZfjNGd0cQ56yQaYhi5T54km7bNQ7qVVujhwly5FtOaCCGDsyPI8fsJJ4uSyGc/ObRWiRCmoYibh6TKc4tM6B61GoB91sNDMuSKb2IOnA/DFQHSjrelboi8dm8zY8thbpykQFh0K1wKimUO341K87PsifsRp6n/cNEwrQ53O6vdf9utW8zZBR+HCwnpx3EAk3pw+gjDXeOkyBklsHDVSwGpRyGY29VnpG+6FoVa0airKJlPxViNzAY4S7BhKg3H2obTg5OxzXMtidLK7sWw6F+0twyqpam4FrwqE6lc/ihaOGoEm1p/KA2WivHn1SAc5SLrkMjlXMK+Ww1BDh3afi9xCVRKBiMI6HjevXRsf843fMk43h3G+3Y3zy/Nx7eR0fMknfML4kk/+JLNa8rhcWQ2ZUu0TY0MxDDNJnCxPf7QDi+LAe5b6gqCSPtH2cOorsD3Y2iQJF7iC/Sns0qXJRTat0AMX/V1hucp1Rf5jLVjqZksOnjwIL40GK0OsO4xC5yxtC72+ji7WFAJMjnDmPGqpHbA7Em8jh0xnJD/EWXgMLNK+2d9ElAd2a58cDdNO3cF5LXas/vDn6AfZa8xHZArAAha/ExFbZDLsCPBByJcEMBoaVMDLodaRxBsakLGLAAAgAElEQVRRJ9cBsTbL9ZKMwReH5Gp775AIjDvqLvO2OETrxUjky6EbecSYqwamYt+KAX7MB8tXwiFIZJZu8g7fg6gkWpEEeKVFcH6W/MNyfI/X3LK+ufvucodbMVNiok1CHwauqfoOUEz+EiNCPTrG2enJ+MQn/4vxwLtOx32X23Hn4nzcPDsbn/ZRHzme+JmfMS6228A69EJ6Do1mFoXcS2X0/GbWdrBNGZNhw1KbgqvcocEhXBhop1u4BPNckPUwbo4+s3URp/ooN2FlHEKo79QyInkPAE4OwplgVlX7jATzQA69K5Jrzpb6twffmQYH7OGrO+Ct9TGisJN1XSi0IyLKiGEsBeE05CHTK6PAXjp82Cf2q5cOURA1E2bjgq3zOf+zl/0qAzx96Ur0PWVdLC9uzyDXBLfHeMGbKfu3OmnN/8J/l42glAZdWwzaQQ+6nOZCG5Rhn6b80ouCTyTXmWNfsk0UiNgabW2NmVAfdkOHwZ1XmfoReYXzjz21DzFXbihyvsF9F0wICS7WQY8ylAgE5OLZOFidSFuWxWAl0WNqt2ZOxSfWp5JBfeZ3Pm28+84trv66uhgf+n7vPx734f/d+JpP+5RxdaWuif5Kb6MvIqUsXHcELUl8p82Xu15EJ3d9JtHhL2T0agyd9lVugqVuUHl72p5LtXrBGU4xXeHxrIIki6hwPWjJPAWX5rCi+qUZCKJVC+WAs7CmON20U/SKvvxd0SIfLsxW1datWQW/eVQTnaFEeoz/SIY181rnHEE5jip+vih/3/7zr7Vpzstm0jsO7cvkDzwSB4YL4jlIMp5iTJfEUqHk6oBW1zngTL9goy2D8HMizkPvJSPBo5QqMENRyjhRyREo9HE33v1W/rz0q/mYOBoxH9dHLAtQI3Kx0AJF6h8eOmDKj8PfA2BpiSFnMo6ofM0U5VD2+WT4SDHIV4jEWl7oB8AJBAalgtW4fXk1PvFbv3U87AE3x3vOL8bF9nI84Oz6+Ji/8ZjxQ1/2BNdIluY0wQtBI6r1PqqhkXEoND/Ybx/U866hDUyBcjRIjsY2SJmXqJ6Ku6bbcD86bVj4n2ZxqRn4eRAXao06xT90yeSlmCfWYh69H1yPAerQPjOQYmGrcDgtFHJxafNARfJWziFQKLpiLzHa5GGsvcFmGMRezVEnTa7NWaR+gsojzSO9LFZP82e/8NrYNVbGQWJeUaewwWBRtlfGD4V53C7PQlL+ZyPw7khMqHLKKDZcDWbPQbKG5gHL1oZWWq+Qbw1Q2C8nVkdNXc09JpOVCd09iPKQnsk1K/sAYqjIPIcLhVTRZSBlrUw9ZhNIdKF6HeMMw3wNjhu+EHdijG7siVaJduEMJet6xNUIpOmXoNw73vXu8ZU/9IPjL+67zxf8bLeXbpj6b9///cZP/B9fOs6vLjLTSlQnMhWt36xJ2NlDllLwBSJYTT0vQKIGYpdltfDiTT1LIA7F4sbEGzRkGIMznwj6PPppdhiC1Htlsl3pnBkWBxnhJAc/58HeHVhH4Q6So8M8yjiSgwCz6jYhS45rc/y7oDEQuAad7wuZMPVX6Xkx49UOwhZL5rO6Rm9p4uodv/Da8kwZwJDF7ECv1BLKiMjDurlIylFbaK5H88BiktVQAISpoAPu9+ZqN7f0Gn8y/iV0PDStrxWQ5+8MwUYYluh4ygfBunQvHt55UaZA0h2dw+BvZcaXv8+/p3vQz9TDn4arMEIwOB3tz8UQhWHcdZc6RDfdPYv1akszWYv/k38/qFYyxu+9/R3jf3/Ws8atyzv2hncuLsfD7n7A+OBHPHy86Ou+zJBLMpX2ccpAlORKDWyRaUWepjqhben+ixRoXtpTBmFpQrPXVGTJXeo7weNEZ8bmEBcmqZCkV3usglpYgVCxjA8VMnAtIo7PnjyKihIHsEgYl0b3VM7PjcnA2/7qn2orOOoesRRhrY9r5Me5lWQqqTQHQRy9oPPMo70iqjfys16rt7/89W5L6aw6wj9RoMk4u5MrEqL1sSd1AsdVACShhHlBrIKpJB4RIVL/8AF27SAovx1j1VD17uzUVKzdyvVdaVVYAn9mwtoj2ysrgQ4NaEUvnsxwLAxMDUkTFyteZMIJEhMKbWH3XQtI85T/Xf9lvqzjOzFr7245pP1EkfTMTPYt+UKwrV5fgsT/+w/+eHz+M585HvGAm+PW1dW4vLocf+3BD/EYoDc+5cnj1vm5bn6jWSmkjt714kqmqk+tYQcEfB0wU8u6/KijcnIguP4g4quwS/T6aKpIdsuKHUb2IKCuZCSMpT8ANKx6TUrIO9L7wp9o8kIzd5JNdVJ0qvJm0LMLF2Z5ugw+lkABMO+fWzSPOyWRFmFmDLIDFmNbkCyQKyyAd8qtAZHh+FAcNcLl/IbuS445ZCBvOFTCIEjQxvUGbrQ9lXTXO2GhCoHrFY1GaIE4MKUUFyqWzbG/tTiMQ8RjaZPoYmzK6TTJRkHCb+iVP8+CYfBjU0j3uqXfw/mCcw8gHesMNicaUOYj5+i4Hyo4DeeODsG23K6rZF6NUBlCF+rU3jV4GzgcCXXmxi75Rj8DcE1rJBXta976e+NHfvEV40/e/e5x//bSFeP3e8DN8Ze3zsevP+3J4/ziylhb3wsxQD3q8nI17hzOxqFUbQ6I0uytWo0DlzvMutHW0hgAIpS8aXkOYin6ktCtKxhiZaZVDzf3EwLBiAWsM3kouQSXulIUFCh1gTi1iFKxgEOgFM3CIWSCrlrLIK8KsQXbk/8lutqwRKDopYgoam8AKrecCE1eKQEQcpmu2PzHDJgd6mqs/vTlb4yB4Fa8vWGxnE6b06eWS60EfhmEygc4U/VZSWPeDGFbvE0q3kE4SztuNC8k6m1LakQhwbMwO3dpq1OjDAghGDdH7oKH6+c3m2+5fRJDM1iALat5RfPuQzDk2eg4Y/FsGDaQ/owijT4B0cM3XcWjI5brALa2VqX1y5iRCFagJ/aPvhIu83n5b/zWePpP/vR4x/33W3pyfnkxHnH3A8Y9dz1gvPSJX2EBY0jJRaK+24/Ly/24kIEwWsL748tItV7J9/RFD1BIHSh4Ir/1p+K8oltbEEe1dIm+gZzOMaako2etVf2k9EmcUcTiCD0+NRCaUamBfJlkg4oXaCZlLc41t+fOQiWkjpwn1Xpeg6CBilH3JHp9s7+wjoVtyS1nTIlhhoygXnJkNDo3f/aK/5SoxBtx0UlnG+VOiSY+xKmZYwBZzEmlkBgu+ojdsgVHi+MHSZWShpfAsdxMlWoG1OnU0mpRVEgkksB6ZKhAsCqegADG509FN0fLEaS1EstNaKDxczY8B1pW2oKGSpVwPR+5h1ppmeWnIWgtYKnwtRiJ/VkWHK9d2qCwFQPRa5+drsdLfvU3xpN+/IXjIXc9YNy+uhrvOb8zHnvPPWaTXvLELx8PvHkTg00PxX7H9ddquJIKwWRE2kOtjTIU1S25WgNYm6Ir3xScYRmVmNQg3PUZ0GJv7mdY2EhHi0zVVP1BtQrHDjN5mjii22erIubgUZHGOLxaGVNEgZlDW5QBtQrFW2KGx0ZbNVWHyZv0uav8aPFSWjoTKunL96cPLayvQToLCsYJJuqBFEp0RNZkmc4Yqz995ZuzFEFqvTgzPQ5QqJWdRAsVPO/qen39WpM3qsqM4KRVUH9/M4HaV5JbJ/bpWUjrKmUisV6ZxZEZV9RNNh5LJEoSeAZ0arIeEjVBPxlrD6xHgeJRoAOYlXRMf8KHR2Nm7yaG63KcHC6j02K0p20wRskon6XQVjqbjSsCDnntdeU1rp2sx7Nf8brxlt952/jdv3jnePt9d1xn+ujHPGq85c/eMe796i8aj3zoQ8d2q/6USHmkM7KnQ4zPwQM8qiCo32dFvJtuuj6y8wgGta+dhAJwQ2egg4tQEFUyKUFK0WG1fPOvDQb17ZT5xxg7RwD4yWt1bBFBuhIYiTt7owCuiYkqZOGpQgXqioCI44tamA5CKvBIYjJh0/sL6uEi1l4CK6YLrVUr7QFrY+vv6/zoJPlCn3/+6jcfmrwujUFJfsJuwBCnYBhun3fH55+sr8aJZj8FB5uwcyW60abGUVm94yTeQ4OMZ20gC2PhGX4e0bmu/SplwNyuCx+QVN5zDB1KUwgMiFyiSS6P6W25ftYksDAXRFAKXF1eEvTru8txbXXuCGIubnYK4nU8DUQjaiJhgPJejDZYYBbWWvU/O12N73npL4+3/8mfjl9+2x+MO9ut+0Ie+aAHjUc/6EHjiZ/9yePDHvPocXF5ZZLGjmQNS+aDK5o01Hop8KXzaenjnkxbBox3KEEXIO4ML5r+GQ5RInNk2zYGVa7TyTdhkVsViJylyPtnK7vTo0FMygSSrreNLbAdi8v852iy2nRlZQcGws25MpeMiHWTWqj4wGJD5SSArkOZwUz5IXQ0W9TWgFypbWeHOXst3vnqN5HydGpFVJH1fHgWMIottUK+OEZ5QtO+663pSPDy1Rg6RItAiL9PCljdTHg7PGPuGqnVCbcatggqMO5NSXpDvmooygguVwwWg1JkNi3kMLUOPna4/xYTTQE2/2iSCSNDFTcXb4bb02GW2vfm4XycrnTPYcQRoV5BjaFdS/kGkvauddY3tGFAl57uxunJeMqLf368/M1vGe+8/5YVqXfOb48PfPjDxgc99J7xBZ/08eNjP+SDxtWForMS35OhO8CVRApaEWnRTqGnQ16DRKTD9yBHqgie1eQoWlv3qF4Cv0c27Fzz6LA4cvlWLXbZuWAq1UiAgHMuLueeQ20zREvo+NYxUiOqsZU9OvgOSDlYHZH2wAOxaB1K/uEIeNSCHCgvaY8lPiFf6DYgFDYvxsMcXdWdmWCqvDNzuKOFZCCvUpKuzzNr0ECHXH1YQWJnroIVS5+B6wyEdN+FjUyRIwYyJRkwEPMD7jdU0dus6IOVFs1KnVUn2UkI6NnoZA1H2iqZge7LUyQ5t9iRpE1P4at/nVsA+Wo0TZfLl/LvEA39r7Ibxh5hONJsnR0uxqlQv2leOYNO9KvUpgMAOJyE9tCjGSABROhQ2/24cbYe3/T8nx5vftvbxnvuXIx3n1+Mq93l+GsPetC4eXoyvvwffML45I/8sHF1Jepa6xXNF9vvdWHq7+I8MA4DrvBDzckSsQOxDDXM8NHFzk9USAkM8o7NPCBJdPKTymfwwB1iTkIPsgjcTvrQ5ivnMTaeECEWKAa6O38o68TrHANz3/0STNRry/lrbuNN1cuNTjES4VGGaSx0Lxw2n4M+EozC5IEd825c7tVYdRird736jZMj6EWIs/E/SRSFHS6gMdBpFT3hTPBqI/mJosuaCw48P9xQJIl7RTC1rTAdHKbgNSe4oQicwGs2LN1tzD1M3hGRIN5e+QjFRz4/m1PgpoIgtG4476NmIkSJKQyVR3fi2YJk8obkWTIODYXTbVXuN/dkPti05i7ObI4SXD1mC2N0pVQzpAiyGV/1fz1/vN/pyfipt/wmd3HstuOB187G3Wen40s/+fHjH33c/zAurpB+AFBIbOm9ORlXni6TiVjVExmJRCTos1+6YJ6vqB34+lQYZ494fQwErE6V27nJlOyHUp30bJ7To6N4H4STPZwtARB1nDynuMfAkKVmMQuF0+sv9LyjiKck5sx4kn+lPaAHCptEuBp4wHDuvedny7LJQC53TIOxcZmpUzTZj9V7Xv1rHPNgvU6baPIyNySmi4ae+gFXRyIpdvLrtrCrJLEWDiQPoSW0dy4AfShOGpfOdADf5+iilk8l6fuTcbE/HRfKAPR366tSH/GYVNgwqucyEuoheg8PU3CfOZMSYZdwcU2k2wNisJIbovqNS/IZHVIUBOo0lJbrIFiZwuDSoR01wWwEi4+bYscUYA+7cdfZ6fjiZ/zQuHuzH7/8W7/nTTq/vBwf+PCHjw966EPGx33EB48vfPzfHeeeHJ7CWZw0A8cRBF6tT9y0pfZlOxs7gUWaY7VCqSw/fqaaTLV0GZxGgKzSHM4WhUMMv0pZ9FgL1epzFJaxRxjyJDRrFbem0WUkTC+YNz4lbyvzFnLJ+0UBMQMw7Jz4OTup1ODMVGUeGUa+KM1xMCEUEvHMiCpi6BaysfdkmStNl0mheKc/3/fq1x1ojY2QywuIhS2MGg8u5O7D1ao1pTh0WZLGK1F3sr4dh1UjSIpv6UdIdsnC9sLHKifDxjC+9MRGouEIlzuBm2tO2DWPy5JC95GEKq6oMck+zBpYWJ/N1QJvBj3hYMpAKI/1yQQT07oUBH1jnp0fULAeEYUBchNWjEswJ0Vt4yXScUhghpoXUQOBSbvr7GR8ztOfOf74z/98nK5Pxn+9//a4dX7/+OsPe+j42L/+mPGIhz10fPWn/8NxrtGjYX8MZ7x2qHER30c16wFtgVbwtCksJlJ0b/3XGgE6Cjxua1zAozI9NLEtzUZExc59K7Wb2Dh7f8okpMKtusSkVxmhxFr2QgRgkt2JhYgxVh9H+uJL07iO5f4k7QOv5ajU8ah5jqoZGCpB1J1Rw0LLMbbbikmhfy+2IiLYI9vArX//2inAgO0owGKh7SFjLHpDMUjLrEHdTou6V4H+bHU5Tk4UNbShOZBcrZhQm1C6jEnN11MhtjfSaVeOIq94YlHj1VbA5nTAI51RVZfy17ScjmsLl+HyU9AszHIlXBuUG1yZ1NKcIY1hTd4jK9GdIrrGU+2pTvA6jtKnqJsLa5Yyj1klS01WLWr28lIiZY3KBnzYjhsnq/F5T/834+Mf+8jxk2/+z+Mvb59b+ft3Hv2ocd+di/F3/uYHjq//R5/h+ogjg4uXBWkL3JxK7OQReO3g/OQRHJbUyG1ETYCjx673njJznVDmC5dupe6BQtraZBuO323+bphiFNC8ThS1EAT3tLR21jlsVTJUeEREiHG4iZJz2LyKupvywjnzc8qdDB1Un6nDlUm5d4Q2W4Y+aMSPRJ8yECaybNWzYyZyR33HeVEi/Z1//9qDpedk6uFY+OfQW/aC9kVeGNUhEBSqYqtDKEXsXavLcX19Pk43V2OsYRIowGzH2Fz6a1BvglSW2aaCpd/LfrVKJJbr1BFktz8b57uzcTGuj6vD2bijw7c6RSYf9SnFw7SzNpHvBTruy1CTFJNB2lE4i4uTnoQGpAp/hZbHWaKeI+xQcwBDxLYA5Hg46JZFqtqrE5OW3hLuVoGnFz/3+d/1b8Yjr5+On3vr74yT9em4uLr0Ov3tRz1qfPSHfPD4un/8WeP25X5cts+a8hXNWobFglaecZSJ+4l2kccUBXWKZZWMqCE43MbzLgLG2NsEFSjkiJF+cprWCiNbUMyA6ZAHEFqVosg4GLbn0a3urSl6UF6r6ECXplfNEJkLbiqWtHHEqCk5FNYHvvkFOVsmH9QwFcSipVZtxUrrNFjJCBQtrI520TM97P49uZCnyxzG6s5/+BWY71Q38TTg29KqFUpInozArBopKEV9pxKlG+Ni3Dw5H5s1m0zipXChYa+atnGk2Qot6O9xYh/pgzdFG74eq93p2O1Px9X+bFzsr43zQwxlJe0th4QchNDpTUxrJhCRPkYxW2bbpKfyldCpktIxkEPCJugzctc5Y0ahMqtVChPUuosT+yxk++JnNMudFqlPEzWy+KVHt9vxJd/3rHH/rfvHH77zneNitx/3nd8Zj7rnweMjHv3I8dB7Hjr+5RM+b9y+2EYIWFankbL7dAyPl8Iuhoj0nToJdSM7rybPTWgzsb7OG5Ip8EhnwsLR+NX8GdeQ6JH5A4C34v8snamhK99XbwNx1OWdQsmQw4YI4lJVVByFVYDVROJeKzIHygFJ9ts941DTq2PjUPIt56KkfKvEm45FGQbRhd9tUE5Me/1enNrVr/wHermWfIuE0Dhz0fnwNK1wuzw4Z2fRe8EwBF08c2Ota+dlEBFu6LDJCET/tog4hXeLp5lYJbWR1f7EcEts1jSS5CJmcNLPDphr/0NqTVKAehCDvJOmn4NhzWplW7nGbUF/+F62Hbk0TVT2hzaaRCpHnQZ/Ntuv6RblBMaJ8isLX3RuUfyMy/PL8b88/XvHPWdn47137oz/793vHbfOb4+/+X4fMD7lwz90vO2d7xn/+p9+sQuFhgCtAoejE9RBhtNJ7y30KUq7T27ZV6cEZX7ivHxI5XnLIlIcDAObn42BmcgJ41Xn6bZazkqLpJWJNKqbT7PTuwTmHnVnFq/o3xlsoXMimh7OUi0VSzaXulbwFzUQsid0WQdLcHTQL69kBIociiT7sdMtx8rddodxsd3N8UC05na+FvAMKX0KmtrT3WtezfYeUXwcCDBvqV+cKM39Vt+mUOVtd0Fn7YdzYW1cjWurS1O/cH6ycBkIJaOYH5HFMoYj7heQ7UIi/Yw6jCfjansyLnbXxsVKUUQIVH3sGxcLjS8jh+/UPGj8tAnLO0nars+Xe9EXI1nUnDJQg8mKLv3uHd3TQlMPBYeSyz77PvJ66JLN5niNWkALHIjmSA95361b418858fH3/vw/2Y8+1WvHe+6c+5w/7gP/eDxR//lneOxH/Do8a1f9AXJhmW0UCSO8JK0ez8oj1KBIrcg0UXubY1UMLlzqWrjks8AhTgUhkJRWds6bF+hBENR67UhIbjvjan2+q4yiZA5+H5MgEYmkuoaSTV/TcoNq/yfRr9qUn3Y0rR8q3qegkmKfkR8bgHjMxo9CDJdjXF+eRgXu60jCOJT01WM9VEyrjZg0fn6WhDUArv5zCaptr/yyv+fqzeBt7OszsXXPns6U04SEggzQSIEJ1SUqojzWK1WKtfbwdbev7b2/rxqba3/jgK1trbqbWsntXbCoU51qFTrrCgIAoKCILNJgAwkOckZ93x/z7De74vYNMnJOXt/+/veNT3rWc+aBAQboF5s7ozKEaUWZfqMhVc17irpA0WU7E+kkAA9qjvs0JliUsaeiDRv5aVHRLrwdPAwSyno7q0gdHlqjmQ51ULjEHDvGtt2KN4hcqaiHXRqKnaUZqPeK3eog8wGeR9sshVdQZ4iB3+S/OaKi/c9OT45PqvoqilCDH8JVc3XskyQk9OsBrRzPnEtz7dPJvHQ4pH4rb99b1y0Y3t85NrrY6k/oIrJiZs2xZknnhzR7MSlr351tFrtwpSSfJAgJAkjYObezOckHMIIigiFiuTqc2pSTqlEdpl9yIwGaWLQaZsjJ83CYEV23eW85DiEcuV1ZA2bSKHeh7AsG3hKY8vKOFKqZGJIg8EOJ3sa4E+t31TSMqeofNexiKeAngdDRAn0NPDncfQG+LsUaRChKNfkzGUN/+Y120S23KjOGRgdf2xJvvqrEx5Eh1ANz9gPmWMEqBU3QJ7Rs9Vmizpz9HIdaTepGyq9WiBcWbVgpoLH1x33bCZStSjlREvr1J1W1nNCtkaU2EE/BIiW+iMIxtTZcld5MOW+CPfa5cGV91b9Ia2qNm4sLncqJyi1AUtwofOjrFWS3GgiJ5Am1mplXkWZsjq66c8LN7b0tHMOAYcEqN/9+w/EOz/yEebGN953b6z1+/y1bfPm+JknPDkOrK7H617xP2Nmds6AsbBYdakViwnzcgKzGkBj5AQwQY+tmXbCtuw56V5oVCHTyzQQRZHJSIoi2SwUbcWUHY5jy8Xhxw1lKAWkwYppzayELliTj0UMyLwo1COIEkIEdSEahcYvGAdwS7M0cGYsO6VoLTE/9mPg6REluNJNEQLkzv5Qf+4PEHGValJJBuik1yPIMDRcplFw70VxGkcRycm1X9PlIUUyypoTZnJ8AtjorXLTUR7iIqqgEgtvxkF6/wwBSU3P0+Rw2+AdQEHEDWAK1ui7NknUyDPX6Z0MP2IWFI3DwchU+AkoJogi3Odk0A/0EwgQe1CKyoE6UCzMjSBxP4hRFcxkQCg6AYlMUkpzn2dSKUIqxLPrgAEiw+J8f3tv3GcNYuFmJglEUSdfhzSY8Sj27NsXr/6Ld8dx87MxGPRj/9GjcXh1KbZs2BQXPvK8ONobxm+98pdjYeG4whLQiGxWSp6czPSGg1JGznBMR1gSpNwfn59IFUsipWsyWNcpRqyygQcjUSfaXWo7DdX7WS67OUsSpQel6GiVYikhBMqW8LeZDrz/A6VbmcQZSeUKPKrNQBK2Fx3ULq5FRETVv4sTouhAp801DZIBwi84HU4t4s+GfrPepIg1vu7pRroy3ArvsuR5Z6RDVfCdr0xyDXN+eBlLDYbFx+C9dAj1uKMIdHhIop9TmMGoRnotDih5cSTCJccorXeB1l+r2Y9GYxCT6LmRZxxlggJdDTgxf/E85amhHsIOO2+jeiXeekFDAYERMEHfdVI2DImYkPLuVQA8NBCY1qARuD6EEd3a53y2y24iKgXIMO3GPC4Wep6lV6QVNQITbYKVKyNTc0ue8fb7dsVHv/yVePSpJ8e/fePbcWhthYfygnPOjQcOL8bO7TviZ5/3oti6bZvcS/Hcvh8eLdasjAtoGqb6EMzpS9RMiDUjhxp3BW1kWuYegD2zRo0thIBDmTWFq0itIBDRlCgX007UR95E74Ys8UkACvS84repM54NMfV38r1gFN3JesxO1mM6elLPSWG/cZ8RBKRGRDsxjM0HQ13BHseExM/shwC5Sv4XfbvZyMmmUE9I902jySZWItMZXfffPu7J2tUmFTVnFD1KgQ7vDcEAhtlcX6Xow7A1gd5Ru2zBxQwCji5XfnlISUcup9Fzh7hpKWzMkTbmsCucn4rvhio1q6EGHBqF/VEn1idtIlpQC6TEJB9ckzJCjGqsBAFvCvqFkWT45ifFByQGjtHWKe4bzzydRH+8ds5/WG8rAYCk2EvBBf/pd2Xf0Ps1GIrX5kAPuFx64Lfcc1/805WfizOO2xqfu/n7sdLrMT1otabi9BNPi7PPOCte9Oznxyknn+YmpLIi2YB7D56clOiePmfOgitHH0dnCHgbvSnN3LMmguBnqZUAACAASURBVHGQOat6hUWsUS04MTJyAcvyerV+zqlAaQzyoJU9MTDgVgybuF/tmuiGZzjoLDzEVakumF5fiSywBhlDEnY95iZrMdNAMp0rKYYRjGyqZbO+wOVTHYWFtxqBMBRqqbl7X4CI0nRMmr2djbjxfm6u2ZjefxdFemKTzhnLUzAAlYP85EghYoATZVECejGok8CTKEFhX4I6SC5gcSjdi+B6BVPmSbNrCLEQHV65sLSoAM2JqyODwANQm0jKTbJ4ComNobLRceHeiRGaifZu2DyrKQ4dXjzStsUNqNFrXD5PXq5cRlqAAaQc37XjUa5LnpVEAESENCM1aR6sVXyQfTBQd4juIsV4pHk33HFXvP8zn4sNs9Nx0493x6HlpVhZX42Tj9sWTzjviXF0aSl+8WWXxPbTt1fNyhoFI0sleu7SkzCNJvu+Rp+mIIqNAz9CP2LomXQp1zGq0RiEfGnwSEajtFQpTY4QsNBlo5hVl5FN96RgJI1WjJptjkuzHuHNkNpk8peS7qP3FNQDAAWKl5CCRfSYn6xGt9mL6QmiRl8qlaiRkFoxglgohA1AqS3iPODPmValgfBcZWpqpnKaQxIl1ZAURamggeMbv+7EARefcKtTmzwVIvX7oHr+AOmLSYL6XTWKjEQhP/cW0ts6yy9jT1ygiVRDaMUUuu8uhjXemTh+LsN0HguOlkdJ2eG2yDF1qYBusZmoGRJED6R+KOJ7KOLNFMiaRKkXhKyBniQTFOdiJHiQ6RbCLoTaREAi9o7CnpFFUZe8IuPxMhWJHCRXW7WH7goOZ5I9r731h/GeT3yC0XdpvReHlo/E0dUVbpr66ac9N+YXjosnPvbxcc7DzzGAIC1ZdHjR28HrslFXxgBY9SnN5XPwhmL3b3jgYSisv1KYDa8DA4EBSaOYLAGvbUinxbSDUUZzPjkKi3uAe8wnSePQn4GscYENBrwkEsasQ+m8Zou4shqOY9QjoNAdD6I76cdMY8BNX1jPDfoS5nEA/9It2kCow+vUif0hp1ZqBEqfK4U3iDp6KJJnlGhcVXXysxUmuFJsOWaYxM3fMDNM3Bt1hxQ4xZs3BZ2pTjPGIyhTABJ2zkGfnEIBSokyF9XopBGKLHZdaDHn9Gan7hSKdm09JC7iHka9815aWaxLNHqrvNwbhTy0hDltALkYtCoQsA14HUonlskTaNDgYWGD04hJzofwpju/RSifajWi3ZiyYB5m0hXNrH/Ba4IXpGel8VRMUkq2pgESX5dhfvt7N8U3b7ghzj7l1Pjkt74ZDx09xEbWacefEgubNsWOM3fEU550UZx+2uk87Pg5pGxMWZ26sS5y5E4RC2pTETiweqEF5HitWaDDAViYguvm4L2HvWiheM6p0cLC9XQh9XKtjsh6RXk+FRIbTnNpHBDbqAa3KPwBgqGH2qRvbKeJ+z9aj86ox7qDK/CMfJKUyAyDWKVHLTTViFOH32EYyhix9QsUEgnsZf2hbCa5ejpFFUNEaR+7OExPhfZplEEaxY3x9z4/QSccvRAYQK6A1jij804qkbXUl6CaoEiCuYJYCJb6IuBnAdXBTUsKCy5KBDMh5QVAcb8EXmN6CmhFz5QUUFVqNPike9B2cS2JouB69Uv7ru29mVa1VJuw2qiaV9pL4pUFzNFx8HVtUFisH47sE1DCBjMZU6DUCO4m+pXQ91TOgUMMWp1ZRC2ABJzkKNpdJuJ5Audr114TRxcPxvzsQvzLlZ+Oo0cXef9n5zbEScefFNtOODkuOP8Jcd5jzncdJQgdi3+4azAF0pxOqaPNmOYkQePD6A1RC7K2E5zyoRbbJlJF+HcU7SF6EENGk1SCmTCamkVgeBmHjqPJOHyAV53SEtnT0IYgf/ehpqdCOsgEDQaEZpF2suWI7cIwjrHSKSp3cmeJKEwwDmkJJPER6ZUYzjkxiEIdkZPpFakjpsF4JiTp7vQRGR7owE2ZT46Xlrjo/DFqIsVKsqCqPEcN7wXO5JyFrGX0Abk680EvQJMhKM4VPZiDGnpUfyDxD1uoMXgZoeBGwJHovmOFWGuK0sYmCqb6XRLpcPEappKsqCfq+Gf3Mgy7ajSXTLEiQkCZf3wd++g8soqrA5ExFd+h1SvqdbJiVRtRZhS5L1TRuRZW14T/6BSm2ppsTMat081SIPogp8jCV779zbj2hu/Ew04/Kz795StjfX2V2rytZjueeeGzo9XsxlOffGHsPGdnWSHBazWiljwmKbRoXFhtWWVk+EwCWXx4sGIMf4fquyVhE8kpU3dQv2e9JO6U0t6fpL6LKaCKykaSax3MscqcH76105hwzcQMDIHwrtI5Qb099aUmSLMU/1seiALoxWQZEcX8OHX7rSHg6cZcrgMOFhFO4y4CEfIv2fPR33NLVym/XaCnpG0p2Ec3f5vpskp4yzc635a5iFLA/2CVSOSdNgH27Y3Ak2rHOmsALYxPNhIKXQVDqPcpOvGCG02xN0tRbk6+u63ovmOZZpfDtIB/17krEBjZhExb6eLGBKNQM9En05djUdas1XVz4YqNlXPb/CSSyYEBg7q/ml7egztIhfAwsVxHcy6eq7BXkdcaUfgZnyOHdpT7mznkFdeqlTwu4CExiLolD/jL3/pafODf/zVGg2EcXV2KdqvJwhMYfXd6Js46bUe85Pkviic96UIPQClF0LoydRkgFEdNLzb/VHNkGw9bs0TzAa4/FesmURP9o0yoNmKxIM0ZGX9OFeneruWZlkpZXY+YjUKLLgg71TXhJQjGcIApuEkY97M77kV7uB5To77u7ajHPwOZYn1k0IapVXMS01yO6oZrocGbjWEgjilVOqRELA1DJ82lfm2puCJGcVLyibgYnpcYRK4ZbIy/f7XZaTn44wLGh1dxzEU6mym42VbTAA9o0qCRrGLvHqsjIA3qKyT2TYwcd9SHCtGXvehUPDxGtiULXqQQo8DOPZXd8PcwlPUI/NK4n9CtcSf6k+noNTCd0tE+DGv7csoQEcXawAWWpFSnGowsLH2T0/OKMIdOtLlW9iEZfoco5EGCaTW5+kwsA3DXZCSEmc1FxXuycuIiItPLYxL/+fWvxbv/+b2B7bKQC8X9wGwCNgLPdGfi6PJSvOk1r4tnPu25xdFkN7fi76aipKII34s9EMR0C1EEVBhlFPz8SDGJ/KEms/qAAYyqw+42u+kZqksrEesibWRTlcma5MnxgmFMo+ge92N6hIZfLzpIo4Zrlm8dBFI3QMkaZFNKwx0uNPwx9ybyyBjtQHptHocieiEaiofGYOEOv9ptWU8r1VMPRJ8hibTGGvnZijyr4SyWCL3v3TihB+Kie+3AS26SAXeTB+0h2Jr3gTIHDO+Hw7Y6noo1Mm+rzjlD9FBeH1GEmsc5+UZ2Y2ra6hCJqoGUS0ka16PRs6hBZD0TskPp4YDIgD4w0t5yIFkUMkBNNNWJyVRbpDZiDWzfMQXMzVYc2ne0SZ0pNvJQDJsbpEinDjYPplEpbX+axKSJ1MrIH2FCUTBYrCfjy/MN3pbIr376i1+Iu+65M+7cdW/ces+dMTc9S+8PcOD8nY+O47eeEOee88h4+lOf4f6GgnmurBOFx41Jpzb6GmgmyfkKzu+sYdiNUUO5ea7QY4rkxplbATpM7iEkU5acK5MaM0PQscOtcc6O9AypKkCP8SBmxusxPVyLmdGa0qfxuqgvVLyB60dvJtHLkndodoSplXSHaST2+ALEqmU3VG4sG6W8INQwLtFFRx4xf/WzdYJmSf6d+cg9ZySmgXxvkjvMcRFNFEitwlcoqIUjtTeMqi+RaAEcgcSIpdgOY1nhllQTIAmzCQ7lDnIXMKKJJ9FNnVZarUXNWGFwZBb6vyhMYSjiMQG/1+ozfGjktj0iMSyQkfphhsSEPvZgOD8u2JZMWNLlp0lXwfKeoWdMRDCwsbrj3gZvyDIySYXmd9GF9aM/iliJDot/SIUirdB8ttIQboIi+qT5ePyHyPXvV/5XrC8fjdt33xcPHNwfK2vYD6L5yJ2nb49HnHlOdBY2xvOf8wKmc8UPulDG66QKu6D0jMoSeWDNlH0pKhwaAvYsOo2XlO9cmSB2sjuOFdeJ/QFB2ix2a41kDV4lf0DHqzsexdykF/PDtdgwWorp8Uq0x+tWPVRfhQ6TCieImGIDw9DUd7HDdteL6JJ7FGmoUoRP4zaSmcl9bU8IV8wR81TxLWNWya5i3fMsRmPr3DI68tXv3jCZaqq3werBS+VhvbowMVf1ooJ22X9A1BjJg1QCzpKyZ/hmRPHqglqdlOJ0AtdEqmN3d6jxR9NiCkWanXhsTEK61QTTU5qCSbKG8Bx7HeB0OqziARBZIbKBfo1uMCOCd/oJSICuFqgpwu+J9ODGA8Mn41cgoKJaaNEOm5raDEUynj0tqA0rw0ZMmlpt1vLEn4xNjGL8gtA3+i7woB/47H/G4Yceiq2bNsdXb7w+Dhw+GH3sRG93YucZ22PLpuPj7LMeHhdd+CymrFkqUi+qKOhn/SiYGf0R4ine4sS2hWuPIgRnaFOeOCNDAv/+HQeIoIwYsPg+3g2ubat1K3VolCJ5kAlObW7cj42jldg0Wozp0QrutDZ4sS5y03SChqXQTj4hY0TOlVz7JlycOa78UlGR8cCXWN/JLcsRhmRQp/STQV4TE1UP67OoS1Ux03OitnHg6pu475Sib+6G00imsL8CCw61C1iNFMO7DlV6ZflUDqow9VJHld5qhP0PyH2VckhHoDZ/4UeuWQQ9/rz1jCV0ZkppUBNgtBfdVnRVc3Uabi3fm/UEt3yU9+froTGXqwzSE9VyUFFkmrFuGR2gPGqyGTJO5Q9jYaTMC7Go1l27xuoNJDzGZ0Wky01GPgeFeKI6TN3G8f6PfijW1vqxPhrEnffdHUeXj8TS+mpMt6bjtBO2xQsufGYcXD4aL3veTyuNM0NWe7x1oIjAe/0ATGiWNxC9Ca040yCZ7qOxFR8Io3KlchFsrWdhvpbrKtbfOVOSjoMwriJKQgb82A1Nb85OhjE3Xo+FwdGYHS/RQNrgUbE7L8pNNiFFhvAmLBUSvsbqRLD9QC6XF6aah5Zpn2ZfVMtIKtXnyaBD7ttkn9KETzUtdeIk9aQhQTY3qJ4zFY1919wsMoS/t1CPmRpoyTo0eFutcTSbKjeZ9IyheijqBqIAHg4jB/fBqYjnxlBul1LKqfW8+tBalOgIldx7d6rTV8i7KI1g0eYNs+ypTAYxM1lnBxaoD9ItGKQMU7I3PVwPUwMp8Gnu2UaYxTfZxyOmZZxTZicWQzRTMW6iZmq5KYgUT/KXOeWGiyP3JyOqB3JIjrMx4LG3UITb6DSeLF7WRz/3GfK+4Pdv/tGtse+hvezgr/Z68Se/9r/j3v2HottpxTMedz57Pb0p6QHksBKfmQ0adQveA7UTUjoYOe4J269lTXWyLW0IdBxGFpOIUwQP7KpI/1d2UZ9Zn3Kk1NyQD50zEDgkIFdzk34sjFZidrwcnckqp3c6IxhHz7QRHWYaJLl9jlI5UpHMYSN0HoJ1XafNyEL17O89/SmttTw9MlppumUMrtU75q7hOnL7biKvTMz2XXfLBCQzbvZyrmkGDZszsERNew2i3cQMxTCQkiHEDyGiwCk/XCiyvFyiY0yeRqLLEnHMFACjIakWLsGACgXJv2vqQh8QXlsD/Sjcqgk+wMG48UjduPsOnhNiD0SEFL3KwnlDoCofhNIApULqJI6PUCTUVIQP8RntuXTTlaFSaMDum81RpgdaIsOVxGUm2iWf05LsT6AOwf38109+NH7qrDPivr0Pxdd+cBOh3taUJrKfcf7j49TjT4rFpaV40VOfHo0WqyCtB/CBF9xhh5Oxt0xFai9fcVSpNeDopyYu46D0ylxsc0AgoW3XNOmwBC27NGdKJeoIzoP6Z3od3Btc7eykHxvHazE7Xo3pcU/6xi7UUYsyqpmRy9LHwgtuuak5ScaGwYDy6snxUwaD48cKzZpoqmHVVE1QSEmUMxibu0afTNdh0LFgnjMCuo8937l10gADsxbWIPUDRAuejrPZnogDuoDDBESpPaVBHMiDYk/FWgOG0o6xZyuKFA4/pJiWityCQxOJ0DgkiwcTFf1BXGAKCtaTYkFq3kzVS0fKIgFOGqHRI0QxGaQiFxAc+iuPXEpfFg9yEl0rLzI8e56Ah8vD/IqbvnmIPCNNviFScGwz+x6gWDha4ZK1S0NlP6kLfo12o0Ep0yv+46PxrB2nxZdvvzN+vH8/jWF9MCD9/pQTTowLd54bD62sxC+88KUxaYKE6ULT+sHs6JcHr7qwTn3hQJUjudZuZwrl1EUhSNwq3GKemFp9YQa0iNT+3rQWR32CA3AALY8gGw3C15GBoDm4abgWC7ES05M19rbg1Nj/8P55iiqYK8WuvaOYRUq8FUrokpI6KNnrnND9plggz0bOw8iUk8TpCqViE5gRwe4DnYTOZH5W1SSNaNx97Q8nItKZluxYgL+KoIf/01qvLFrJCiVtoBetEQwllM5wmAkNqVYMmu2YohK52yzcY2HZfL6uPDL+Ocl+smhfKG2iktnX7dGgEQpWoVeSidEGKBiuC0ouqkexbfWVCVuNjAg8RObykALCAlzcING8RaMWXUGEPoEOMi7ckzHqGqRiGMoxMq/ohQS8xc+NXoyKW0VP5ciwmkG02i12kf/min/klt1fuOjJ8fZPfo6KJuAULa4ux1/82mvju7fdEYeXjsZrL74kxs1ponKqPXBARKoTNC7PzrkMgjQqTlLthQJ7nqmhR7UKjA6Hagnez9S+VVJaGoiIEmJPOz7YVlzu8JDgvraQL1rLKqsIzgNNxrF1dDQ2j4/GHGmjqCEBz2MHPGgq2vEuhZE8Mkq9UteKnCtSmXC5ZnmYL4W9KGr0iVtFEUP2VEzHJyrmBjHrMlGT8B+f/xR+WXCDTkSFJCP+7d+9k+sPyA7NAXh7db4BRxT1cQveQDqFim0yYQHd5l6JlLYCmmUFRDI7iQE0Y9yUGANDHqODH3Ku9OI1ZKomzj4OpqgGFiGwmAS8B8Z6swDlWK1p2Vlmi+kq3EtTJ+An6UTJc4i2DmPVA/H8OKLjcBx9pmp+3G5sylOrONb8RTatRJ5DMakETgIPEoHADwyjMRhEo9mI9ngQl7/vPfGkM0+N7/14TxxeXor1/iAGI9RDg+h2puNVT39afH/37njTz10c0Zxls49NSD88DaMldUK0c0Q1PSw5CXyvakVzkAyNKs3M1EWVnq7Z/w8ypnaaSg1TGwxpVcYpJS10rj4P+GzZCq1kbNUfOW60HJvHSzE7WaP2GHdbejgLPWZEeew+pLibBRXEacqVC05jPe+Tg2I4zFpPDoRwIgCnqeygxY0DloViaor7VKiSijhmmin6qH4V92wSjTuuvytLZb5QPlp1qTWiCTSJhyl1iJwq4fbA07IrCcarBcJYQ3DOQmgO0h2QF5mRy/WZQq4brA6mTDBxcFxH8eKGGYWtJjDo7jQjVHVA+cgdhZSZSfaHB8YDVL1amoAowcLdKuA5DYiP1UOj1/mqIrlSEXlgR7faBCUPnWHRgYIjewYMWPgzZjHAXm01oznsxV/9y/viEaecEC9+0hPivV/4atzy413RGwxibTCMN19ycbSb3bhjz+549fOeFlNNzOIDeFCUTmAg7x3BU4oQVIUovCRAk6wDywSdiwlOg7r7bkIHfzp1fem+as+GP8a6owBNTsgkwSOYjDdBzxd8NUcUHjk2XzHrMYz58Vp0h6vKCCZo9GpEljWjN9+ynmOeZZJiLthhKo3DLiaxVkAopUI2MdOA/NSIvzooFXgdCJfKPHj/jKxmnaO1EYqi+prQ2caPvnvnBD/I/JzhOXu9VqrjIdMhqlAg3Qh1YAX0adZZ7mcy1IBNa4hcE8UYPrxYvhQhHaWCoYdyOLfsc91sGWd3Ec2XrNIuGYgONH6p7qg6uQn1Ib0Aiws/S9YrG1J4kLoBlN3m4ZWBg6XLx25pflKpTa9gRCDFRveEqAj0603VEK1fKZVqORxgedk8hPwyHA39wyQG62vxrn98b7zl5y+O+++/Lz533ffi1j0PxPELC7H74EPx5otfFt3p2bjp7vviVc9+Smydn+PhgZJ9Nrp0a0QjgYwNEUPTMTJ6SFBPqRejntMxsX7xAu4olXujQ0msrvCfcNF65hohS+1cbz72vyiddscaXiE3QaGfZIgd9W0W06hnp8drrEca3KLVL3MbSKXUbNdsDmo59T+SHDnhHHyWsCzsE54GORL1z1QjOiRr4DrbMWk2Y4i0m6LnoB+JMq9UU0ADUuOEuxkJ77r2tkkqYggtqFADlgq0cG1Z5YCLawqxHsXutdCFQ7QOJQG47Dewi64uN2UeqfdqBMLTa/Cs+vCS0BQu5vBnPX3JT8qlUQ6GxiERAnzVnF0T/qoF9YoKvl7zKRKUkJSREJ1K9lLGQITGiBdhVEcThHGY2fq4EatDaYTh4FM4wF60tKismq/oKRvEEVteWY7f+8t3xRPO3hH37t0Xu/fdTyj3xM2b4759D8TWhY3x2O1nxm17Hoi3/MLLY+fJp6r34uvRclUd+hUAJeA/j5BO2QN7YI3Fb0bYjBbmI5U00YgUH0kux6xFomMRKn0P72g6Xf687nDW+PwzmM9Zg3r+hlOaMJjCSVN2Ati7OerTqSIVzf0qMI4xxN5GA44jc0VbLXqzUUBj17lQCYODDo0BtSqEcMFQWtFowlAgXythD45LZIPIzl6KnHYId1x7OzttKmqde9FGcrbakadEEEvRO2TKH+fQmEJeAabspXzrXK/DCkQV4cyz3tmQY0pAOpXyOucMz2yKOZ8HR4e1l3NIIG2SyjRxkA1FeUzl7EbqKCvj9/WBZW/BzNOEuPlPjKipVijQAr0geG3kymsAJegglDKqaJU6uCJOg72UPDUiROJgN+LHDzwYb/m7v4pTT9wWjz7jjPjubbfGgcWl6LSacXjlaGyYno3H7zgnHjh0MF75vOfGBefuLGkgjh15St4KuwwDAaMAA1KE3wFvKyMgWmdUqEDtPmQyBhXjdAX+DMmtyvMum3eulQfbEbcMMySVv17gK+uRW8k6jFlMbolyM5VO2f10qy8CKWSaDsdKpzqMUX8QI6B8KO7hUB25nFMIXoKnAvEOfRpONAqKTsIjJhwp9WQeoMTGDXwYgcuBAbqBH1z7I/07wr9JeVJNcg5mqrNU7NQk4wQG9nwbg1Vuqw8IVETqi7m8BDdHH4FjmhyYQURRkg4EgbpGZSVWVXTjdZGOADFinZOqKEQ07BX0yi72K7qD7p0iHg6q9nInCqTCTx126bbCmFjQsVk5jummkKce3tvozgDcMopGgAErtrJEJpQPMPVAk7IPThVuUJcdcPwMPidgQ6Jhk0bceMd98a4P/XNcsPORhHfvfnAPJUaH41Esra3GY7Y/LB4Flff+KB7xsDPieRc8JSZjCMv5uTQmNIKc4Fy3UiBhbjZnVSehaHc56evM/eU+uCVSZGGhnpSiZfY97KFLq0MRRGYj95fi0v6x9L/lVZRNOOSU+XD9HCKKlBPFaNZZ0X1tUHxBu0Qk1DCI0XAY416fRpNXwTeaQiSHJK6dGoyEzV68tuVZcfZI0KocQmmUpzXX7knj1qt+wLlBihS4m4o/UDFC59JXrEYMta1yb7qbd3g9zlrYoycpsPwgU1OzhF0U84bwZ3xIzcdi84nRCRCubr4gXSFewKNYe5SR0co48onihjBdomfPmYf0IQkRy6ARTbIHk5LcQD+k70WeAF9Wc85K1tSE8sIgRC4JvPKzUIJmMFTPodWVNCgVTZBCouMvI/vSTbfEF6+9Ji6+8Mmxd3Exrr3j7rj7gQfihE0b4569++L/vPh5cc4Z2+P+g0di10OL8XPPfS6JjLgPvL4Ipnj4HxdMeH85jpUKUF0vaiEJM7sRl5BwLrpJL+80ttr2VdWWYtJmpNF5IJzjCJzVyTEml9SWYiI+SKX2SdQ4MTLVhylBdYyhOW2VSIPvM4wEcHuzCfdTGxMzTSYbIqZP5evp96qnU9gcNnYBEAWZiMYP/vtayQnwwFYLEpVnZlxQAYhDB38IwmDmgfC8qZCngtTphvN6SVbK8pJvL/lH274lJxFRMqWRsoaIBczrffGkvvDFxlTyJtAKVIhLcICpu8loMEVOKTk8EuhGvYBCtoRV0+opDEe+lMZPGUVdqCjlxs5EHbpUMUk4mjQ3F7HMqD0DLXqJIqdqL9BhJC30sa9fE3seejB+/hkXxm333h8f/Oa1sX9xMU7ZujUeOHwojluYi1c974XR7nTiqpt/GL/4kpdGD0IHrZwfhLPItcVOBcmH82oxozriwIl6kWIL6i4brfK9Uu2kw5XO3mVbDft1TMnGoesLfTWzdiuX8IumnxvF4aBZ4T5VJqAawIfSbFv03HLvZELJ2WAWHD9kAY/n20Jt4aghYqp7b1knE0TJYjk1smQk1SLQFOSrLJivdf2V35rAU8tbKy0CPDcha7UZLWL68NjuV3D3oBtS7KegF4H0RJAgBpV0fbogfFClR86FWTRluWsTtLAwYwe9hDwlJWnw/UILbPuaUtNwjt/HzT7ouZJKnfVDzgV7aAqNw2Dzskkp4nxFCuB5aYpqGKVmSgkVyURlSa+qrbY0Rxho0yU5DMFwNr6TiJXdDI3G/Qtsk/rLT30p7t21Kx556qlx/a7d8cCRpdh/6AibbWvDfjzqjNOj056Oubl5yv+86Zd+NdbWe2oCNlsohphj8wErpPF5KZUkfOLNuD4svGXmPSHgIfUoHQB/j1FIoFdCXvx5PUMh40nSo9JZfs20CT7jun2U4tmGYgG9lGySWYhgmHsw5aTTeOr0lUIaVvqFSI1aFlmNYVy+t6OrH65gDTuByoHqwuk0nB4yQ/PW3Kq4iGhc/fEvTlC0gJ6Nwg+vRYNhce4pHAAAIABJREFUi1aTbhLWxqxDFXzwYoWe4hsn1MDFgVmm1V1UvilqnoNxskx8GP043CEnPKWGpJUOM/WCgYgzbFYr3pIFPYq6QTQHmGf3Ep/SEHMx5tSA4byJkJ6SRfI86teK1iLZTXvNxOgMYyrtSwsQwpVar/ZhRlFqntno3HSnE6//u4/FA/sfisedeWqMW9Px2etujMOrKzHXnYnV/no86dxHxPaTT4s79uyJ5bW1eOtrfiNW0GmnHpSTGpMn2Z9hSiHIljl1FuY2Ah1k/WxeH/tCKFKhhGiYV41N1xYuWtO/6ycFLetJGr3iN/gU+jcmxAVEMdJk2FhRNQscweFSWJFh2+5qkUtXUOguzGhVxGeVxOK8vG61yFNfy6igb8j/ObxnZmhSamY6Tsau/+BnKNHBS2AdIkNpw9mqmNClOW0jtYMrkHMbqIQCSDMfIf2CITgVyqaL+xzs2Hs8TBHFZDQfHHkOz1wb1RBfUx9QNYhTKhizURj6ATanhH4BAcEgkwZyRsLSuZ7BHfxSYyqlFKCgcpOSmHzYFnzO3g4hQbk2sJf5H+4bD4EgNXGHco9Gamrpe3WG9Lqz3U68/E/+MVZXjsZZJ54Yq8NxXHPHXbHa78cJm7bE7v1745zTTouTtm6Lc87cER/90n/HB//4bbHaF1TOaOTPJq0pZUdMXfl2NiKnS0if6l1txjtttygQKeY8xvg8YC8bToc6iWzE0cSeXeRbIZ4J71bNwwrOLg6PD6+i57utxUOvO1IKI9E7bCh5mPU47AQKN09p09ADZqhFZES62xU9X++bohQ0jlw9bRaA0k2LgjAYp4kixfrwZ/hX4s3O09DzQE5NqjaiC45/6Z4qBeGuDUuITreQE4LqDrhRpBVwW/AnGA8OVhNLJ21w7LJySAufW6IByZAtDFMfUB7aWjeWTbop7fiTx8/IoJtMiX7rOknFvBINE/6cHlh8puJ1Ss2k5qPcX/Y+7OGMs+ONGCmTtuK+gOacdaO4xw9Alr7RV6o/T3e68bQ3vyte9LidsfP0U+LE4zbFP3z+qrjuR/fEI888Lb57113x6DMfFq98/gtjbTCI795+d/zsM58Wc/MbjGK5t0GVFXOeDf9MOMQmdCUL89SA46XZGQDhy50wld+2E7DYdPHkVHDxxiynyjzIhlGVjaWijL2Bf2Mdls3DrEUSJzM5UO5DrrBK69KtyOA50ZrAQkZ6EDH7Ax5+8NuoNMPEsTQW5MDS/kylKnpgfBp6Jpl+yVa91An/euuHPkq+MDWTPHwkb6ObjA/YnZpEFzMhFFtwkWNvQj4U/w1oiREe10Q8aBy9VfgUdwnQmwfkeV8Ev+Gw1qcaJeBljIad69r2JI/kSpssE1ZL9DjU8xZlbeZcWPYhj57UBGcR9rzZ7NItVvek1oJiOuuhfz8IUjuse6U0T7dc/Qc/gNKRTmcxFU9607vjj3/xp+PsU06I23btjQ987fq4+8G90W43Y3F5NX7txS+Ox517bqyu9+KaH94R5597dmw/5bTSEc80ib0N6wrjcAHm1ECVokM2ZOlRFeLMPFC0USpW3HYhLSaalGmSPtUUe2WkY7B1IOSlnq6Wvodrkcyk5IqMhjl00ZBLwa8bx4hkNUuZTRoY45Ug69qHgyo+XwaOvA0AQ99X58MUtC3VJJ3So4bzD5v/l2dJBski/a4Pf2iSqt7I7blrW+U9WazUnzU7EqLKLShJOudPaDcvRsNAiDYugoxsMEKRHVuNeLKIzZSKNU+iCDmgn7VVBR7k5eN9RHM2dGvqsr6OS/dksYtzJ0ylSIbnxAFOWJqhmSiUehsq4KoGKKBipl74OujyhXbvCGMSZaadTB3MF8rowejJVKcZh5bW4wWX/kP8+jMeH7fc/1Dctf9w7F9aiyMrR2N+bj56/WGc//AdceDI0Thp63GxvLwaL7jwqfGERzySZEZRgnSQyMFSuUaggaxXFq2plSwKDNMMhRDVrOV3o1uuuXiN+oZj4NCse5RK+jlyLELdL95DUN6NPk1xuajq2JQAFYQ/pswRoyyoSKhz2eFuqiZkWqeIpVZA1aVXAFJ+rN5TRJ/r6RQtp1r1xmCmVX4CuGcpmJUZiesGFvz0ZnYajHq6Z43dH/lXz7YKCWGfgykMWFPoyArUHAwhetCgAXSaQq0otelCmTRkOwl8H/5Fh7DaM47ahTWGH1R6cTYEUV8kH8tlGtNWPqzUtKrPhOkhk1tldTylaUXUzwdBX0gjYd1DdrEcAa6RNZbBiGoSTdEkIwKv24M4ebjwXqIOqj6iVKpTunIAS/1mf9icih/uOhCX/NkH4kk7Tout89OxPprEdffcH4urvXjWYx4R37jldj6Ln7ngiXHX/fvi4Npy/PSTL4wXXXQR4WKKthExk8yQYp3ntEnnEWWxdIxdwFeG4QPAW5iHoVYkO0WVZlwalBAf7uRwocs4a0wYbiMNwVW+Id0pMguyoSYuXA0AQS0Lqg6uEQYC0QvK62sEN42u0mN2PcooJigeFJSCEqNZCGNzZCJwz2SoQqzoBDmLIvV31Sgg1/pJgvfFa55E48Er/k7AJklt+kzt5pQ0iTw7QNyZnCkpfCdXBZ5VhygTEeV/DWwDKgfDG0+L+VgVvuYFkmMkz1X3ckJK2F/xbpBM1fTOYh9LaEKRJ3fZVXibi0YnTS7FLSJnOkgW2l7LVr8GEd3ktVT/KEXjV2zBXOxiFpD2XhhCTBSHv+tgI0++6tZ74zV/++G46OwzYr4zA4GYuPru3RSuxqHsjUdxzqmnxJnbTlFzsDkVWxY2xq9e/PLoDeExpf0r3VndI33epPlUewmVIpEjI2fiOiAznqwP5IiE7yhFceJu5nYWzGkk1Vq3ZD7kRJwxIqd0YjLgpa257IEPvUeilDmX4r5VNiEpK1ut1lbkyGtLMMCgBZwFnh/AGECwBRTIn0/3rc4zo46QovK89McEOOxSd73v/04kw6jOM6ySOzJYqAvyxetQyNdNHFG68YHVB8AjIizsgpnMzWQF6yS5YMwPZXoCD7fyA/JmiMKIns1JvaJ3ZK3Vgi7oobMTnoda51akQT/9giplDZIYh9MNKs6a++8jr1SBjiSbponWSGsW96jVzv5AFuUaC+CwTpmF1j0VM9b9kMYkuq1m/Ps3vhfv/8JV8ZsvfQabj0/YeVb81j9+Mu58YH884/GPis98+7p4/ct/LrZsPV7121Qrvn/nnfErL31p9IbqMHEeuzTH3GPKw10vUtnBlxflPWPBzTEp7Seq9zbsdFQ7Onp4HFdZd+rtVk01MaRlmPx/zgL4CIzoZcpGb23EgHpYyEowoz6E0qLY2XSWSW/3odf8hqICezd8G2QCBmlojIoQY4wsZ8TMFIDP35Eru/Hs7TG+KPKRj2jJo5INTaJxz9+9Y0LhEj5FwLBqcCnFFysHEQ8DKEqdEgcXjQOjuSolJLNDUWtliDYYh3EX6OydmJNDM+GTS3RF30utveROuX5UV9pwZUrMZCPLL6l6uWo00ZDpSdxNNm2FFP00mmQdFKRDTABGTxu3M+yiYOZzoiZgYUBnyucarUbNcDbP+9Rpt+KvPv2VuOFH98ZvXvKi2DC/EB/80lVx9wMPxoOLi/H08x4V377l9th+0snx/KdeFPPzC1yL8IM77otLXvj8orhCz59kQ9dy2vjFY1JWDfDpWJqI1H5H/CyuWWyXfkVV1FedaXmbhHHpUKr+XalTJAWU7YAacuWzke9R2MI+hHKVWBenFFU76nW2uB8GBxo1C/tanvK0llGmT6xtM41L2J7ZoM6i4O+8N4qTOno6pwIpEvBR3cPPg2u8/z1vJYqVqAX+mX6RhaChtaQya+luSauocE4jYewosCnz/MInV/SgZzEuRJ6S4TTVQpmX6sU1pKMTqo2r8uKyK9UwSln1N3KRHbEyH2ffn5FCRs40pNREacKaTdAJEQnRx0HFPj2Um2IcidB4Kg2G4VxCUI4xzpt9o52iKgLLCvFazVYnLvu3T8TB5ZV4ydOeGtf/8I7YNL8h/vs718XiKli8M1w8edppJ8cjznpELC0fjTNOOz2+d+ut8apXvCI6na7z7drJNu6vno7RK5InM9K6oWkULz8lpYkISsk7p1vT3ddBYSSlUehQFUTIp8pHrIYmiq1cMmrfwRTJyEhTRSNfIx+3AAL0mQjVc7mP2d4eP9CV2ZvlMTFIgVqE/SEedqX9iBC5pgFnbcQoYQDDQ1GZLSRhUufezvaH7/gj12J6kF1HC+0erGaRK4/uPNZIV1qa1gEklVnRwzOEDtcyJhzGRD7UeTYnyHCtIoDoLRKm83LIwr60eAMjXirQy55SGAFNo3xGqq2kJ5yQbAoT07vQq3pKDneCrE+P+lJuVHqxiLIsipOwCNOEwLJqS9dK6szj0KFPxP4hm6hYW6ohHXzvW/72fdFsteLMk0/nR7j9x7vi0OLhOLy8HKu9tZjtzMb200+PDbNzMbdhPnq9XiytrsSrLnlFbNm0uWSDWlGq6JuUP8EF6SGVdhCRsxOkETFNca6dwAZZBaKtZLsta6zSJU5YlAcLDsVjk3oXHV2jffY0pU4saS8zAltxqeWyHazoXYp8V0U5SZopmgiGcsplboMRYyTKEOdNFPeVhupqMloUQMNOUzsq00FW4ZGB4uuX/fGE65CNBrHewP9EqbIXrhXWTr3Si5cUA29m5Q6YX/HFDkVEfNAvoYSoTDSpAwoYoqIzC82owTRCh07FmR6d5jLsS/zQ8H0gIZbOMtOkNCCLG/v61CNJrSqjXvaOeQ0yG/VB0PBMZRbSyJ22AMhAf0j4vLomvH/Qr6K30itQjcSfYbk3iMv+/h+47vmcM88UCbQ5Fd++8QZKDk13ZmNtbS3O2bEjTtxyQqwP+rGyuhqD4SB+6Wd/Nk49+ZQifJYpDWNaqUGF7hggddT0ugB3vhuAQ1Prqmh42TiSel6efdXZzoikx6Xi236tHEIZSvaAFBGUwTiqOHNgoeyJ0Dy+NGSyOTzCm5mGaTNp7OyE08i0Ajo3GFOekCwKZRnqk+nVlTJXfa5MuSQWZydanqPLApy3z1/+zqqEdVRlFstPhsLZepIOqfTp5lwJQUqHhmJS3l05b2UASFUo/gYuV7lP6jRnRFGAr6y9oEYeJ5b1C22DtdNA+Ok1mywVCi8AMjM5+yRTnPir7lYWlpxDcIqYKSVgX/gejmoC7jZcqHF4pZEsOv05YABrSJEnkkpq5mqFwjMwvmXH89CRo/GH731vPHbHw+P4zVvi3B0Pi72Hj8b7P/7RGAxHsXnjxjh0dDHm5+fjN/7Hz8dtd98TDx1dovjckx/3+HjEjh0yQtZdSoULjG18nwJs1jnOAoLr2jLZziEieZnC7dLBl6E02ZtQGMz6o3g9vqjSWjlRd6/tUTN99lFwFKv3GGQ4vB7P8AtQSmtS/q9aQWlSiQIlDdb54nlkf6Map+Ced2skQIEHaBlJVBYwV4/IKie5oTcRslpEph/97GXvnqQCdgmL1t/N4tnFiC3RauL2UuBm4TLRZKSOFqME7rSCfsKHDIeGSGmxELym9wJihuiiMMuD6AIOhwLRgvVbGigfINR15DVpOEjF2KMxR8j5vjyrOvfcDEUKhU43k48yi5x/FiqGV+WoZhbaTjtgZDozKkhxXdy1MbSx+7AwreI6ZKn/KRdWlLnvwf1x6fv+KS55zjPjvLN3xP7FpbjxR1B43xUPHjoUWzbMx8EjS/HKl7yU6iZ4kP/1raviSY96dJxx8knx2HPPNYInXy2QqeKUKZ+u6sTERCo3ZtTDERnrG1Q81vIQ7DBBg7jVjFabkn3HRnxTRJLtUNIX/kEHWs8+MwnVgeqZWRfN6Y3BsmOmHus9JJqika9s3srQy5h8gWmzp8OmplM9ooreLpAUFNohjIQiff74Nre0AYn/jaPxsT965yRRG0GueaOqQjZvnkKfaO85zJTVP4+6KRdoCMJwOLuts1SabMyXDR3yVhY1u4ROdVPx9fTwJbJkvmwYUsWvwqlqFw/d831N4nMqpWxLsyH6nCryU0xAD1swrmDt6roztROHTK9T1UY4CNmI1GEtOT4dW65BUw3yg7t/HG/714/H377pNXHXAwdi9/6D8alvfCu2n3hc/Hj/QS0Iik7s3P6wWFiYj32HD8Xc3ExsXTgutm7aGM968pO8TtkGgs9eImZxcUppRFWQEeX32GkJJlc0Zt2BGsTfy8BO5XyFU2y8gtRolu61bKlSuuHrpSqj2Q9Z6Lvq1XsmObRuLL7ORJW8JLT6NNVCThmduujJEFDfST2MqtDIXpR7O04lRb6taDc6v2pKkkZf6iMZeuODf/AXqeuuY1ZyWUUGRQh5XaZPRm00f6gagQfUBXjVIFRXXv0RN/Ls3eRl8HCUeuGQwvvTOzt1oKKFxc5yZj2rfT1YZ7Z+0DoIilhCdrMe8ACXchIZkSMTghDf11gYr5O9H9VEmYqxy54z8Nk78EGjMftwZGSBADLuB723d4QAqYRW7tdvui3+9j++EK949lPiSzfcFPuOLAdSwCSLCnEbx1x3Oo6sLEcfW2mbzeh2uvHMJ5wfv/KylxJIIDxrx8D3yvnr6hjX6NtG0QhqpACgjl9GGHzWJgQNHH1o6KnMAl2yqalot7GnMkmeBd/Ts8QBTMQum8AFeMkSSahhkqFVq7heIsLm0WyjTwoCFRdLVH0bVllAWo1oM0m3wF+1xsHPMpEvQr5JlHNq7nqG0kOYVBxguY/g4cYVf/BOx0EdOMWPLLHzERhuyI6zm3Ty2jpQsivrajlvV6DVq9LZ+5coOn4SbkJiHgWkR4h/KbVSRGJk4osYXvUNxbtRlcKokt7Im0kd3tFsZN2AvR2cPNNMC5eyZLFvnd/83Pg+FN/KPIygEQXCsL+MWMwDh3miQiBkKmyLbIcFp7oeXBf/nVKmjfjwV66NK758dQyGWNowianudMzPzEZvbU0Das1WrA96MdvpxsHlwxx95mBUcyoeedaOeNNrXqMhtCzMMyI6UuYMjw5r1g9urqlxY3DHFHZ7FBXIiWQ5qjj1SkoGvgcTjiXCugGakQfeCZ+RKGEW2GwS53mqTlamO0rvde7qKZnql6T21/7NTcHy/Rae06iwv498NYMFhod5jTawcsQLlSmRv8p4eadwD//19/+iuvpCOfbJ5rmsjSJmzMvwnIVijvg7+vislghZOrO2YqfNeu2MLqTXVyLEXvKsi2T6I/i0opYYMjZy1AQyU49w7pmoUDGw4OjQhrIhDU78Lzo6Gxs1iaciui3xqvCqFKimbKnEx/jgSgfZC2WIAiqhxU+lJm6H+jw6rCgV3/nxL8SXbrot1tdWafQra6uxddOWuP+h/TE/PR3NqXYsrizFSVuOj/1HDsaG7kx0OtMclkLz8E/e8pZodSxMkI05RoWEvaWQSAdUCH8JUKhmMVGgkNZoNy6EuROEEDaciXL0kvtzWGscrTb4Tl5XkEaXEkwKm0qr+Ua6X86KnfJVDRWlNFVmpL84IzGvrdQtZVBKjlMRxtywWlpWXhPkTfK0ki7k9CIrCafa+RmT6V075pWBKK+u9oCoW1z1JFjRU6jLzSOZq+JGjut6Hj3fQFatD1AfgtG/++qqnE4H3GmYqO5Oo4yx68EawsNMCikt1sXiLhOS4p0yKXKh2OaRZXGOPSgyNBxcSOxgWSSRrLwOswe0K9srD2SZ1gRW/YE5D8jrrA0TWs5uPQr0Ka6jQ0pFHeHmVPT747j29rvjv66+Nu55cC87v+C2Lfd6MTczSyUTjOJigQ6uCwxXKHjMtjucMwdLodvuxEtf+MJ41kVPidnZOQIVIuaJbInfxXZwA7QEDP07/0oULoVtdJiZa2d9QG/v50pWhT+fi2tqmyEFgQB3p2vnIs/EmfM8uOWU6SKU8mT7Ub0wERLTQJKD57PCFNVoluuCNJSk71DIz0Ni2eSV0bhOgUbYcBjDwTg63bacYDmciZIJrmaJwDZBZkPKWhr/9vvvLMPF9C4u7IxVGb2wl+V5rT5kQqO6Ba5J7NXSiyR0l+39dBeJ1KetCLI1VaEc1nrXVAVeyp8yhTB3R0ufqI/Kq0gP6UjPh9CGVisZyPpPvRTVPogoOD+QqUSDDxGE34O0zFQa8IHw2dst7fvIddIcWzXRVf0QCLjBQFAnaLp935HV+PGBxfjv73wnbrj1dkqP9of9mGm1Y3q6Eatr8nLnnLo1jq414sjq4VhdHXLlQULmuG8wEPz9Rc9/YZyx/fR4/HmP8gHN2iK79lX3Xvc1Mys/I58S3V0LNSeJUIWBfJ+78TDCsuKATnscvX6f4t3tdpvK7kT/iuevHbSCWkl7rMyBl2a46fWJvqXIN8Ec1SS0oTSS4perNI51h0xTp9CNC3cRYmVlLaZnpqVA77SdvCujozzWduYMBEwL7divuPTdJnzb0qkllfKjNWv6iQpFOrVZqPnUCVTif0o7Xaj6z+mZcqa5MBLyGXLlWZqw0QZXN4rROatQwZL6cPnERWOuzoQNLKNSZo7ZdbfHRV0BDhr5ZqxPko8l4qbArwajDmn+zHBkMIJx9TMYU8ZHkUB2zko04tPfviH+4RNX8rWMiMjzuZOfKeh0pxn9voigvIcYQCv9G99taAEMh/HoRz4q/vj33yKPWHMu6cAcjtNf8veKSuMvk4Pn3N3Pt3hgH8rsTtMr415Y/4t9Jw4gSY2G8juIaNSmUvMq++OZQvFSy1moUrd8T12VJJ90vdYEcBHNdXCUe0oEy+gWjKrVMk1egYDoKOftEb2hpTWKznSXAI0MLsUmEpVI48ro4+zl3y5NNm916HRIdePoGPL8J5RWjxguyBUhHJodafJKqkSpel46FBogEkVOhiHqfDq9DIkmc2XoN4vV97N62pUPUZMzrZWphTrrSSlQ2eGIhWk0nHovIBdgKaAdihkSYha0Pd2MmOZUMWRp5LlbLRiP3g9AgIQgZEyIRtfccnu8+a//2RJGNAs3yGxa2SSzq891bZp4s2d0sxMpIgr3hz98R7zr8j/SLL37VnpkPzGBV2B7I0bFmTjqV2m558z9tPw4mcZwJ2L2L9ykzGIZurkD/JKwm4r9RjQ7rZhqtaLZBrihYShFdntDWYCfmD8n9dYkYM5sh2iTHZ4L73K6QUS0Gg7QJ1GC9NqgvY+Ix7e8GDai1xsoA8DUoSFtziH5ckqNVNmLzscVb32XbLowOl2L1JKxhG7Lsc3PWDOObATpEYk9mf+pRimMxRpKVh5/UiQrhMWHOq1FQ/Xqc9SNUfsyZGxZDGpLkj6UzoyKWObp+ZCyZ2JtHmx24sCOPxMNypuTUlqHUCj7OzIYHNYmELIWoofqEkUJNQgz6hxdWYk3/Nl7Ys+DD7mppYMB7wuIVzKlSrPSALg73QUuPLIaqWIDH1ldicee95h462+/wemEfW+S75yHJ4qYNpEeOh1L5YjySdVyghpSWeX3YtMKWPGhplcf0kBG/X6MISxBpUzUWBNGFkYTpIuEBhGBYTz4TJpAFKCZ3D0bkcKKU6ZKmVOVpaMMTjgHyERqxHJmNKpRiUKkeoDxY8/XoyndHwxpIK1OmxkOd73Y2SeClj2ycm8+hE56rXJxDCiFd82/2z4qMpmPn/fv6dzLQ+QL4tDiRtbU7rJGKZYqj5X772QyTu0y9SrqCvkPmfqV7ywFffkoRkMyQ1MEMfSJISh7ehqONaZSM1bLgvxgaSjWkIUndE8km5K4XjJ2rTdbj7ysh5zOXX/LbfHO914RDx05pGZkNKLX78Vx8xtjqbfKQSgcuuZUKwZQDJyaik2z81ymgyjbbrViOOzHwtyGeNQjdsavvOJl8bAzTi/0ETWP7emVafJGks2c3q+yg2MK8XoK5CDmjng+4cwoVDiwlkgOlzxiiYjj4TAGvX6MelhlN2BtQvnP7E8QBWvxa0QDEYFgUOy1wMnoHus5Ak1D6qaYXiJ+oqi5WQrzRHBW2F2JHe1TGJ5qRa/ZjVGrLWkjrLPo9WgYqEfqtbR4WaazFDKtUfqPXv5uFulJKkuqbwaQRKiMaZXaQtdf1SEMw65maPtENJS2JTplC6oQE8OvdY+me+154DrCZcPTl/y6aYtOLWohq3SbGdrLLyhfCH+E94Ln18yH0iIWmqSTCPVJ8mWqsbCzjwfGqCOjIemPxme34HupnoxOKt5j/4GD8b/f/FaOw/aGPe4BmenOxPz0TDx4+CEiWcurK9Fpd6LTarMInp+Z4cFaH2jcea7b5Yq2173qF+MVL3uRpwsdF7zvnLU1Rw08SkrLKbG8pJ1VPZJdbz1h9baU+im1kI/NpiEdgu+NOthaGGSMjJEcqpfQGeb8Pnamz88VqoqbblUwgyDfEL8gaeRDiq1ew777WrqxiXYRmLFemjhgaUo6j2BXY2Sc7HNEkDYMBCleK6a63RiOhowgbRaSFd7L1RWAhImcQYBkHMN+Pxofu+zPTc/LBpK8W7mrtUOalA9jIXaWSXFOV2IExB1PfTilN7w55fUqo0z8IfNBGmctqulnBAiovKkEy9SEzNtk7J+u24ceqUq7SUyfRSQRGRgK6hHVPIRAeeYlTZRQtuoQP3pfd9IyJDGj7C7HcmksJbOsEDmwdb/6ze/E33zgQ9Hrr8aWzZtj8ciRWO/3Y8vC5ji0tBTbT90Wi4tLsbiyykZht9WK+en5GEDnF1gYxqDbLUKST33i4+N3Xv/qgvq5lcDrhm0QvbOwQtYkFXp7TIy1k8vzyiflZ2/405wkl67Fi2t1W0XvEU3ez5mCDIJ8+70+IwbnWPL2lJZCdUBdlwvlsmB1RsQRahM0fHM/G+dEPDPuZmze+PyrMhkIlAvEGLCnI44ZrgkFO2Rc8Xd8L3eLWFykpJTkYr31Hb5jeqB5gPNI5uEs6VN2HzP9KTE5UyPXCCWcOw0qvSo9BF1ElSLRZyWDM+uEPHx+R/aOAAAgAElEQVQGDajC7jtQUrmkrRvHrwJMNeSjCKLQDQIe/24qvKKA+wieL9FrJK9LEYL5sufTGUFqD4bXkpSJIu3vwwYSZbMRf/+PH4qvffu70WXRqtkDRAkceqxbO2nLQqwsr8Xew0sxMzcdS0tHow1leBblqk9gaJ1Oh5yst7z+NeRqpaGWlMG3NUvAhNkFXeofeRTqhUkthWVdXEfYMMXHmqKynWTXKoXEDDjIo+1od7CXUuTQkrahF9GHyLRmxdW3ySPnM5dnKGsnr8Lj+j8sMvLaA0rRMh0bckkT1z83mwQCYIT5HFL5GfcZ4EkXgnitpiIKVkQM0BsZik9IpMt5Dp9pLghyPfofl/6ZEiM+Y3F6SiGUsxb1g1zMyRIsRf5dhz4vsjQdzfzES5QpsowiLpqLd+JDqGoWUSVMgchrpLOvxnozBVQhXXl7kuvo1ZwKeROrDpSCpryg6yauM86fUd5Mg0qj4b0TbZ4yNSlTxKkooVK5PKcWRHgv19bX48//8v1x5327ecApVRNjzqfjAKNoRYoFjSfUbPNzsyxikapgkApSP1D64Cox9G06zXj9//dLnA1RtiltLB1+MQ+UKtXgess58V94ublNtmL/aiao4uOliiPuMXo3QM/w2eBtOZMx1aRREJzIlQKGyfNRJiKa3W2maEC4MlLxLHiitdDaXQm7ZiyzQ64T2PNCSgnD6a3HeLUX4z7u3TianU40Aef6LATSU8z04DrxvjCWZouN1/X1fnRmppl+8T0skMflq6mL9Z+X/alSTbuIaiddNauVlOr8vuJ8nMNVQdtxpzbFlalaOTSFzlJrahmZks+tirGC7+Oh5qB8XmuGdxwEeHYYGxt+1WQcRNT4Yy7I6wAC8Xp4n1TAOOZUZ21l0mHmwFVpa+SsYgwnQqamSEYkpat79x+IP/3r91OLF54OTUJ48w2zs5wU7HQ7sWnjZtYxGLGdm9tAgwBxbvnoUiyvr9NIEH2mp6eJ3Lz2lf8jfupxjymUdyaZ4J7lw3AtkGvj0qMX2kYmrXkf2bm2XI5TWhmCoNZEexKcSAfYancckRFFlMbS6ThdzQlBvS9SGQEQJVMpIf+YvLo0rJm4swdpuSg4Mp1Y3gdGV6ERvE4Mlrkxo/6VILIi6qCIpzPS7w2jN+hTbI89HfDeWs3oTncET+N7v/K2t000863misTgsifphp+Zo3kd2R7M8igpAaXoccjWmXNOW+vA55ch0aIiuUrdGREKdwY3Jwv9rJHcv7BBVKp+VVMtu/KlncPQ6flrQ4psAHKyzuroyqCVGJZepQxOjyOLXVdgRj5UC7tp4DTPWHLad9xyx93xd1d8PI4sLfGAr/XWePi77W4srS3HOWftiLm5WR1ur4bAM0CR+ODe/XFk+SiZths3zDN/xp6R5z/tKfHq/3lxWTbJq8iOftLcTXlidDEfilHBu8g5rEQj0GcoHKZa45X8JK9S078LyBDqM9FBclqH1IaplFPZXLcmfoturIinuocikhp+9zx9Jhe5dAmvB0eWJ0lcBde1+KI3aeH18Xr9PtCzIX8G0Q2RQ5kEboHqEqJn2GDcG8Tayip/xz1otpsxPTsd3bkZ8c1wRr562aWTSq2uqiM016wokhraMqTEIWqFMe9bxZ3i9ySaU5U1UuAro7Z1plW9drdZ+VBn6qfNVTmRaHlKd5kJ4ZrbQ2iQDsoylJ5jyBxdzwp5p/SCVZxXnwXXLmE7z1E4vaR/5QvLUBLxqe6YvJyQPKWJCiZT8akvfSPuu//BuObmm+OE47bE/sVDMTczw1QHHKznXPhkC/GBRIknPVQzq9GOO+7bHbfeew8/00lbtsX6YD2mmu3YMDsT7/id/2PQQjMW2mOf4hY+UhR4xnz/KCYQNSiGYJ5d3TnZETBoDMbUvZWtmPNmxgAcYn8gT93tAlgdxbAnkXBqBQMRZK0FiSSlpawL0JDlHvmmhqDyEnNEwQwGpHMkqOJ39oPsxKhG46lOWxKuD0YBZ9Ib4DOCt4ZejOVuGxHTc92YnU/umoXGKffjUsxcQURMsqcN6/PMfPHSy/zE6wSTqngmxJeaqA7LQk1q32PHm5GvoGBV8LAXVo1RvLGLpBJp0onzhcyC5R9NQTEKppnrrB+c5tT7EIxArPCryFEoGy7KfZBKhHOvwBkS319zIpVYXOkE4wy7VpMh8af0UizAfQds0H9zxWfigYMHYtOG+di3/4Cm9BqNOHh4kSonH37H73FHOlQ82jHkDnV4OHSE/+ULV8fHv/pNGsj87Gwcv2VzrK33o7fWj99/3f+KrZs3F9QtcZHq4HmvCQ4L5rTd04GHXV/tRX/NxWpzKqbnp1lbEWxATYGOsz3toDcoECz+3F9di2F/RM/c6bboqfmMcPYwUzHQDpn2dCva3Y4KaDsqIm29gVAjN2VhvCnmJmq/oHhKPU3QJ/Enw3N1hKo+q52Wz0n19YoGhVHm5IDhdbmG2xsNdDBVO8vmRKHRvvuIxhfeepkzpIrpyKPvmkRvo3/Lc0toswb/Zn8j+5JEoyiTo7yyqj/gDZJnI9eV6R2/i7lmHmCFHv10lfowTBYmjLnbCTlqgLxsakWDjZ+FL+EDzJ918VqQqKrBWX1Wjfvm3D2Mg6t3uKsEVAhMCPrK1Aow7IooMIruZEDIdbk3jD/8p/+Iw0sr8bTzHx0333FX7F88QpJfYziJE7dtict//RejD+9XNHXktYGyfOnam+JT37gmDi0v84NsnJ+NjbOzsXhkKS5+3rPiORc+UdKbngzUB06Bcc3DIBL01rgUmyheZ6bL3+FkkGIM+8NYW14jZUQ4cURndjqmQKvHgXGej74GDv+I3XKdCM6+M1vQTcjJTS1dMsCS1+YowsNI+NhbxdzkJFMBowgz3ei60NYAV87YZ49HjxP9EyBkgMJ1SizEkQ47G9eGlfmEMn0vzrgGLhXABh/NvL4vXHY5a5CkamQTzjiCxRBKDKyf1TRr5ZHJBzIGposp7Sa2/zEFiOsC4wDz605FrSxvdQl3f9NDK1qAhend3PTYBhAM1Za6lBGpMgAp7NV+EdlxMyzp/DYqOY+EuiuNLN5HX5NkhfSFwlfjRKIWmuqVpYICZ9FuTcV1P7gr3vnJz7MgP+fUk+Ome3eRgo3apdNsxuMffU78xsUviD5WyrlOU/SUE7rxtnvjA5/6fDx0dDGmp7tx3MaN0euvx1xnJjYuLMTlb/hfsd4bSsnENZDo6ylxmLMVQQNAvo2eEOdnrMBCiaX+OI4cXIxhb0B6OI2Cq+qyThBdBB4eBsnpPzwLrpZzuuQ8QWipEDpOGjrKpqOUo3W/LUlQHlShkXDeRFOTWmcnBwQoudmZUlTqKMIN8Nm5MBmNPtQSljRyQzPJVnzuVMHXfVYfzBvQPPdOaVgbZNaxjS9efrlIxT5l9Asle6q8t/xFGkrCiE4jKxjLB8dLcDwElQUW+3HWt8UhUn/OFHPj82DBciGPVw0o/9V14LoEIkgIgXpXJUJkTXNss46XVma2Uz7IV3RMcEpDkicSdFILEY5wqn9rTUAqmWi0OBudZJJGRLfTif/7kf+MOx/YS8dw+oknxE0/uifm52bi4JHFmG6245IXPDNeeNEFnsUxIGAjR0p07wP74h3v+0gcWFyMk7ZujlNPOpGF/J337YpmtOId//9vxKaF+YpLl1OEJQPI4ams86rGbnaOsYf8yOGl6K0AKlWxLlUUGIBEqUvq4SU+/FoaZKbS+aB93xQQa7l+1j8u8KpUO38wp7lMnK2BNcosxH/jjA2vEVk0DN0jyxai1uMrSIt+hlC0IxzTKHP3RthzKIdYkFz3V9CjanzpbYggbpQ4ec1aIk9IplfZ48jUiEfSqVZ6h3rpLY+m5h6Gj6AsgrkMwW+qbmggjaBgHbwwPjgm+ChaR8pyonipxqjBJInaOfUrsHKqfDi4lUI7xe70IJTOoeh3we4HV5AORx1CEr7ZKZlZ4NwiRCHGLk2PXXivwW4EG1KXve/Dcd7Os+OL3/lubNqwEPsPH4yFubno9YYxHA7iN3/5kjjvnDNLekWH6qiG5uTK+npc9tdXxF0P7OE9O+mEbTE33YnhsBeHjqzEa17x0njyeTvZEc56SrPxum/HQPJOMbJJmukQUK7e2kB9BUvKsF5BcU31dK0sQO3C6II/D3TwpWGmu2o8Vq4u0wNDrImAFaqJbrbV5csJ06RmSRP1utorU4dDaiczEVbbWPaf5VOr1DydHlNLGku1FjqjA3tfmPWxKgoFur/yJ5erB2wZfBmHTqXy91Sq0OywbaiQGfXGtVzcTwbWDaar1rEhnZA4QnJINEsmGUgdMC3rYV5LAW1J6eAa1AJzdcBmluT/Vb+4acgfxebCOkxteR8X5EqAtC4ho6Y6x3p9EurwWRyWsh5SqiZjypQtaxs9A8+i26ASUrjlnl3x6W9eF2dvPyV27TsQ9+zeG8dt3hjdbjuOLB6NlfVe/OFrfoE7QJSU+eX5UVSkTnfbcfnffyRuvvNOkvamW604/aST4+Stx8Ud9++JR591Vrzyxc827JqeF961pTtcG3dVoM/0UJFFFCCTDykZa1EDi+ypYE2YODlyep8BUzaIHMBw0PWuvLAMM0UY8ExgTRKkkHiGTSUpMbWZcl1lGo0/E2+4qLPVjmR7Ad9/8sVda2aJUOZpnMqxEerUilQjjhare07KkEeq+crIrb7+dkWQAvPTm1ZldRpEBkH7Zpfsdu/O7VVzKBRi4xSiwnRTi3M0qVfnUOkV2QDm9yuiIOowqjStiGJ0CQ9bcv96T6m6V4c7Ra8J28OAODBW9XfydtvXKaMsKu/ytPrZSkHcyVRRSxFokP5GaZgyDfduEgK3BtdnvnVdLK31Y9/hw7Ft0+b4zm0/snJHIzZtmOOuj9/55Z+LLQsLKv0MRlQRW2nav33uq/H1G74f6/1ejIb9uOBRj4iDi0uUUt04Ox2vveRnYma6W9Lkgopkns+XruDSxCtK7VbLHMoI6wicJWyRxTAUYFvMxagw1gCSIogWA4U4Y4wsoodoo1V1WnLkJw+/xhQ8YfiTwtI25MpZq0au4PW8ckf4iuSlp5NIqVPljEhFj7YgVp4TStnVRLfMJqBNfuPtlztAGm1KCJcRxR8wkbScsbUoXDUnIuURbp9F5LDcDyFS21C3OY6ZlhaAYseGXrparqMMwWvXCIgkkJyr2JL1KPEERVB9TcIKEKJLFRIpHcL4KOBGITf9uUT+Wt6Mt9aeDS3UYerGuJoaV6k06SLfjVT2C1wbZTjn4W4EMfn3/9dVsXXTfFxz+91x+vHHx533747Z7oz6ATEVx22cjV9/yfNjfrYr48hUMS8SQ1ftVnz75tvjM1ddHweOHootCxtiOJxEp9OMTRs2xOLikXjjL10c2zZv4j3h0FLN0IrWrldSCIhQOpYUrCoLkGNkhcn0tnQAXI5V26II02I+HemXES1CpzCs9R5TMfVcvNlJjW51tGkbrgGyHjFlqfRpipU7T05Jp/QjhU6TqWXNqVcZpjMeAzP+FPpcWUfq1pNZQQNRDcrTByf81bddaiaJYd4k3SnGWGekNsaaxZJvJV/HMjo41J0GCGIjSndKEUVqi5wHn4poQ7FwSqGa6ZNle9AdJqfHQyyZP+M18bOAh4EK8QZmiuu5hyYmZXxQRc7TIhXsyBqNtEpO+8NVBCOHwp8ocJDRE4xOopxSggdwiCgE4QUYVgELbMis4YmYePsq3x8tM1X+exeX4x2f+HIsrqzF7EzH5cGEjTIYDzzuI884KX71+c/grAd+TE7CsLrBAKQA9z90ON7571dS/X3HSSfEti1bSJG4fdce7k5/zUteEBc86myiNNmjquDMGrvU7OWSEieiJ9d8bGptQ8k0M3EOnW4jS5m6csGmuGgUXxsGUy4YD9Iujckqk6AKSaZixVD0WLJIJoyuDyJjpYNz76vWgatwlCqyMyFLtjCfCaI7EDcdUtziqqmsM060zUCQRhnAj9MgXONrb7u0apPWJCOz4MuDx5vqiMKUnPL/6mqqXyDNqIwe4OV3W2MKIXDPufWzZtj5h5HkplhdtHLDLMZ0M0pBJzC8vBfeP7lBspaIqZl8wFwrIYMZYX47YjDCITeVxr8neIAXRmEIQxJyJh0tPB8Y1iB3izCfk0gcizfZgbtETtdIm1YkvPbO++Pme/fG7oOLcXhtPWY6zdh3eJkeCuzdg0tH46JzHx6/+tynFNFuRZ+qbipvEo148/s/FnsPH4jZ6W6cuuX4mO5248jyEaZvF+w8J1578QtNMa8OlSJS1pJOo4+h8aQebpUqJ7u5qgOy2FVcyglOIZrON5OFY6+GIhcIGYxEwgh+tQoErdJBz/9wURBXhFTjEjkfkjEiKw4FnTyQyiZ0TqvKJdNjHVqdJUH8jhClheYC2hJJQrrUkOS9+ObbL60BglUUcVKcAbcKvb6YYjC2GqPaMhavkEbDDMV5WcbIOW3JksIWKBBtIg++1m6p20s2Kl4HhX0bFLoxf2903XTwnj5+E4WLDcsiMiVyASMZcS9BLsGqaokU1mPYl/EkjQavBSeC6JF7SarapFIwwfvAGABL0zHWohH6a+/5/PVx/pknxp9f+S1qW+HQPHzbQqyMJrHn0Fr0Bqvx4ic8Ol76U49hV5lsBR4k/57oDGHxqXjnJ78SN919T6z21+KCh++MpbX1mJ3txoZuM27fsz/+7Nd+nvvXq8Q06T6ZNpUg5s670+eacqEerQ9chceU8iFTsayVMhKlAWTUz5V9LB8RWSoGpXXOEv0yEpbRJZUTiyWk2JsOtdaUmydqTp1jj3Gl6rOWDK18zFwKWjxbgY1ZwqRmgfCq6n2ufvsfOWU1quQ4VKgkxVATZtXV62alhpGvwjAiczivVSuuolhvhcdLLbHa/ZdggZgFZjtZFLuL3SXtYcy0xzEzgw80okG1Oq5dvCaLAYVNCHtMdHORCo0aMYXFfszrlA8rFYtAI3owxMJSvC8lwNU4JYggp6E0Kwt5rFqQcLUybfVXlAboLd7+8W/GY848Ib55673x9HMfFp+47vuxaXYu1ga9GE3aMZn04pef/aS4YMfpTosUE7NpCyhbqJv++/S1P4jPXHMjSY6P3n56dFqdOGHzbFx/124Wza94+k/FRY85OwYonnP+n89IqJHAicR9LdGah8eGwRSnBJOahRg+UKap1yGiWRfF8A8KJVZ+X5YW1RZoMnPyaHDpRbCcyZrXurl8K58vRyBdfjaMq4iRDShdvgrmOjeNrLiM9qlEWbu3MjpHrvzY+ft3//QP4DOP8TzCsxN/dnpTYOUSpKoMwAqJTHWcOyss6W5rQMcPOz28H474TZXj5/llB1cxTD7Dr1NeU89GUQhomYt/6lBpqk6ERXljpHOIVLNt9GIsuV8W9E1FDx3ZkdUQUbPw4Kdv8qJMHxyDL15HbFdXimvUWM244e7d8enrbo0ztmyMg0dW49xTt8X3d90f+48sUSUR1wWG7u+94oVxypYFT3AmfScflLdF2encdM8D8Q9fuDpW15Zj68b52Dg7FzPdNpGw5bV+bN24EL/5smdFP4lLeYBzB2OCL/l8sjimf9Hu9LQNffJa0etQoXLNtJLiZY16FsNKkzbhU764vBzRXhqMRaxZ4HuHJTlKNhQjRKgf2NF3nlWWh2Z2V/KvSume38yD6OZAUlsKQps5YbYKKgeSP1WwyiPv/+3JaNiI4bDBQ8KVz6NG9K0yh/uMRh7RKKMSSJvkX10QUWi64uvlazBtALJERrA8bSUu5nBe9Ror72mDIozqrLF6ZCr81TNwHZTewAGioG/FtHyraMCKWjAUQM+JRMH759LQakVcRsZsNDpy5kNnwaoIxjOAvkW7Fe/61FVxy64HYrYLaHSKM+UbUDOsr8b09Exsmu7Eg4cX4z2vvaQYh4pEH6aad8uv7jlwNP7qc1fF/iOLsdBtcm0b0JhDS2ucgViYnY/fvvg5cfzGDbpn5bQfuzhV72FsPb2kz0upFZwBGCs0S7nK+RMBUhWdaXlGqARflO7KFhJXq7r4yhbs+OiNauhbIlT27NoGkFKjaYA+EdZFYNyqAR3171L4cNHvSKLBsLwep2b+IeMDuu7BJ944mZpBk8T5Q78R47UpMK4jYDj4+yRcH+jWcnFnbR+eYGh45imuTcseBEWJ3cdAqqIwWpVcglP1+ljzzFTGkCwh2/LBhECxyeTqWAsYxdPS58rXzVtjXSyiGDI0mWiVtjju1s+lXyu/RwWe+h+lEtXxMgycKAsToqlGPHR0Ld7+sa/E9hMW4o4HD8Rzz9sZ19+9Ow4tr8ZMuxWHV9eZS5+8eXNc+vPPo/EoJXVenn4vPT04RjGJw8vr8S9fvT5+tHtXbN92fJx98gkx0+7E4ZXV+M4d98aWhbl4wfnnxbMes8P32OBH2nhaTJJB/fq27FK6ZZC2UqiTgDxAStGqfYMp7JD3vmYAzASqZ0JmcOmvGf51156DXjSA0g6uPVHd+/zWTIWqFC9Di9HErKkK7FZLnUoUVWqdAuT5aNOxZkZHEzz0njdP2i2IAjSi1cUYI/JtcFvkXXMDLgrPqbZ62kylYFBTDY4u8pBjiQ3Pr5d2mmJCWSQiVArQbFgYg+eUGLu5ek1a7ngq+gP8opKum3f4PZt+Qpd4K41QcMtpRhR7Rb6kIqdvtqDeXCHh1ZCli148Th4ce7E0wwLn1u4e4cfxhJAuIF/c9Zt/vDeuvOH22H7C5rjt/n0eCoLET5/3ZmFuNlZWV2JhZjpO3rJFyo2OsCjWUUNoDwm0btWAA8Wj027HYBJx794HSXZsdTrRwcx6TGK914vpTjvO2HZ8PGXnw2io2HX/+LNO51gvodpaI1I5rflKvm+lPjnGqybyYw9eBUvfVB90sxqMywqVtEFWKztyL4hJjn7gmn83r8JHRMyOyu0lQuUcxkdQr5dRoCR2qRSfFBXD8An8FHEIfCSXZ6k+X/WP9Go8PqOPvJECtczt8GLDqRgPVPFnvsdvR3aEXL7ZiBGiCgzJCzaB5uEbuL+PXkMPV5FFJ1TIVe4BQT8AfQ18TzaO5ClIkRlpfQBJr2z4ySCU2GmVm3aJGAj299SXhMKIoJGL70eM6bQmhJwF92n3CNLIPtJKqDDiX7yqQFFQh0r9EzQiq+aSeh16hsPxOP75K9fGld+7g/QOjMqC5r+0uhbdWdQbGA6CcEMr1ntHeT82zGyI047bEicszEcf8jIRsbq2Gtu3boxDq9CSGseexR4NAD0gfJaV9aPRaU/ijt174pQtG+PA8iCWV5eDI6+4J6y/hqy90CPZefJJ8buveFHMdIlilC21GtqowaQ+lExyymZcHw/3vMrhc+Mh96DUo2oGKr6ci2kmFZxa9NFO0Wz/e9JgWKdmZpGYQjGWytNlj4fzG8wM/F6umSsgokoKjoF+6fSkIVDPOnS9NupMs7KRMP7wGyY48MMBGJLqGUDUmR9pFNFGAWLeDOqUKTTlJjjgyi9bnXH0VyF2FjHdwSgjoFmgTGD05n4ORByoY/giRiIh4qKkNSBUiCRFp8fZ/WbaVbbdJn1E3iNbwfmgND6rQrzp1c9aCed9Hq5BuCqOEQhr1oygkFotsJp7RRzsEKQgIQo0SPMGCs1KF2Fgk/jyTXfFDbv2xpXfv48K8xRmGAxi44ZNbDiurCyzGdhfXw7INWye3xxnnHBytFsdK6KLvoEFnoDBV3ojAgvTED2jrtZU7D+8L2Zaw7hr34GYbmEWpcWVCBgpHfT7MdvtMrKAVzSeDOORp54Ub3n582O603GBWzUM82BlL0k6wekz0+n4yCdHKgnfJUN2/yDTlkzh8oAlxy3RIUcV6Se6OedCXY3HqjhP0EiprIw7U/MCKTtVFnJVXKU+h8eWE7TzJ6Jj4FPkAtKSM9Qg/lKalzS1Mbry9ZMGEJyVqRivwiMivVLqg6IVw2+caTbSRM4TvO4YxiOJ0f5Agy5U6KAXViTBwVIY1IHSy3gQaUpok4giuYJAdBXLd8VwPBU9dMFdv7COcTnnnrhTrbxBMgQ5H9O1VT375mS+moha1e3J44HlOSJz6gDgVXIffMYxXq8f+NpgHFdef0fsObIan/reXexmd7tdbrFFPwBpE1TZJyNow2LOAZOBG1m8UwKIQMaQ6BNUFZESoS5B6sV/hfjyYBi9cT/Weut8PaRc050uRdmG0IyCWmB7mjsNoZCyZXYmFmba8bs/9ywajvy3D5rHCJKgqX+r1Sv2zIqQWb3Xv6eG8/B2VnWHMiOnv6759DrV8xE6qjd07V0g1uLVS8ZgEKh24PMIZ0ugsH+LkTkjqV1bVVskP8w8vrQgXrfRuGPGytEi+NQbJ7GutGiC37kdqRH9oRhOLTTokIK08RQ8A9D3GyFS4MPgexAd4IET1cCDR9IMjzxUAZtJUskbXRPgnZjScIpON51LJKemYqUv48OEJwp5La6h/gYjm1YyOxXL/ow9CoOTh2CUnqUAQx6ZymtmAVnN4td2cDvyyLi1pJR7RaYijqz247c//J3YdXiNhp1pimRx1G8pBSXAAjubAXV5dbjkWARRw3C0T8UDVD6jAkXgdJpcF01qPWR4OMsA4+rEEPq0rGk0xPSBVz2HHC18cnHNwHYWiML02MtGDbG4HnOiUlOmUQqS0H/eu+xDGM4t6Y5yd9zPBNLq3LA82OnVC2JklArfK2XNakhOB7zAcoVMm3VT0oXS2JlCK5S4lNHZUtCwbnQW8zYOlyT6/goFjsboo28gx1uezJdRYGtfFIfT9PBIW8Yh1fJwGQWp9Sb4wd3i69RQkv4qjcvFOaTuGs0MqZ58w65xe2w+CHwPXhKplTTT5AWBqg0gpKa6QA5Ai2xITBx7hsSvlYU9y+Da7vC6cJleQ+iJFBt1Dzhay1RMtHM1L0VDwQNMHtdybxS/++Gr4uo7d3szwFAAACAASURBVPNn+6NhtKfaTHfA6ymFJLdZNSnfA9lLQLNa8YYaSTAyzL3UCLzfinS4PhXtYhrgEaAWxPPSoqHq/KAGwlPeccKmeO8vPyM2g9vjLVnsQTCFTAYAVOjV7yKK5saoWNCZCin6kG3gLn+pM5yF5RrubDQStHHKlp5ZOyz1vJRe657z/pSmQa5Cs8iDHVyJGh5VUBGvVFd3SPdGNpQZhH+qHPbaZGMtE3FO5mjmwSknnISzR1e/bgLvz0GRtUY0hg0eRI+O685nx46U2EbEwEUf99Elu9AQB5N0HGbTRVDDAP1aNU3EkaLeHCJz140dVdUWM2M30FuIW5OY0HBwPYpkE7ARe7rmMVCv3lQMhk0TBnNU1ColXkFNFCMXUTqs8iMwOsl7Srldn4fpQT5YOxH1d9Rdx+H4+y/eEp+98Z4YjGEUzegBZZrCHm55fKREPOA1J0Po0g9aaYjnMPj+rRiOQdPB72OJtkGZvNXmUk/o98LAQHyE0HW33Y61/iDmuhikGpEiv/PErfGmF/9UzHekm5u5tw6po5UNIyO3qDMNTnQCuBCkof/UL8p0ySmXvXAxBo/HVsV0fp/qzfrP82fqTeMKRdf7+o0pVueJP23GquDiElmKUThJy9ytRCOPmLteUjRMyKeeXsrTFPgXp2382TeIGEUL9Bxz6vyYzwTECoeK/Y2ytlmpgwazjF97DTReR8xO1QL0FHpEJdJkTaPCSc1IeHA8INUcehh4fSBghIvRf2mPozk7isbMJGJOW4LIuepD/4VyI6bRS0GQJ51Dy84B3AA1gUrwrDu1icJnFOHJ8o+Vng7TQkVOdu3HjXjXF26Lz9z8AOVmMrzbYSra8KaP2PXOVEkZgDrY7Czb+5Eoyb8L4kbqhRQKQAPuKdcjjMcUtoZaB/aR8HfUORRlk/riWdu2xBt/5sKYbmNzbdV/yshgxnuZ0spuugbKdGjIeLaR6Hodyu3xk05UkKLKiVe9GIcb/KZVZ0Zw2ZtKekn2nZz+1CgmpQxiKprPI/smmc4lcnDs+crrUne+MvaCvrEOUjHE60uAQQmZ2hHjj71BX87DgDCOH8i+RnKQPBxDD+xJvxQco/elNzVFIzuavgG82daM0kcxa1fNC94x0tpNYkSenKiGiILZ3lPKB7UP3O2ZDcPobIQqOPBqXXMApoahoj7ilKJqD4jNg+UrgKHilckYhJtQVAIPp11J/SjimNJEV2rqje/BWm8Yv/OxH8Z1ux6K1cEgevDozQ6hVqxYwwrDzXPzcXhpkaFwNB5w7zj+ncbih4HUCOoj023UEkqE261m9PqjmJtGygaHI1+N790AXld/PdYgwmCjkWsQ/Akl+N9/+bPjlK0LxzTsEhlCaiWHlWmF01jDrRk5lAyXtkRVCThX1+Pzd3tjLe+XKgBTR9JZ6umrSFdiVQzP3C1CuHlucu7GRYFHRhxh6gyB6pA7Ey6RT4ZhWN6RWoe9WIONQ9+lKOd7gSsZfewNyUHjASFt3rx5QmhIuYjHmgSI0AsCYDZkDOVWlGI1EEtXlOdJLimzKOb7eK8yBKOL43osMzqlQlHrtJMjpdoD763+hNY1swA1+1ZHSKopGs5KRqihZNQrfnA8nPRqKuLy6efyTqZ+Lvbwj4mc0ZeQ39WIa+46EJd+9uZY6a3G3MyGWB+sxoaZeXrzNYykDgexeX4h7tq7J045bisXQs90Z+O+Aw/FtuO2xur6IEYxjrO2LMTCTCceOIQVCOjIr8aOEzfH8vow7j98OLrd6ZhtNWNtgPcdRLsFpGxIqBdz65xKHGFZZSeGg34cXe/HeWecEr9z8dOin8NLrhOruOAax/csD62Dm9MiR2lD/XQl6dazMFdeoAMGI6n1rYpBKKcqgGwxqqxVbFDJf6yMSyQUPZwassa+1bERqEC+SfFPdC6tXTBIflqf0UyrKlCkMmCc+Q++wee3+Ha/rPkrVVS1WWXFnBCfUizlIjWZmPyqnFT1PekN0hvjg7rRqL5I9dCEbHlzq90H+VL5kpCLRB7FZprSueIYfqIplYUmc+kajKvxYtMZfJnlftYeSjY8lToLRUPB/Lorro3dhw7HcfNzcWh1hdI0IFDCy6ytD2JudiZ27dsbmxc2xXpvNR67/Yy49f69sXnjlth/8EBsO+6kOLxyOLZu3BSnbmzEyuqIdcx9WAs9Mx9dbNMdTih3gxkLRBL4kT2HD0anPU1AAHCv6NoARbLQF9b/6899Ypz3sFPK1F8qXu470ovNEItjbZaAR+UQSt/BLpnoIRkLlWqmgo2sJP2vIN30wD+Rlrkh55NeahAHrfLs+Hp1FC29euatxxTvBRstdUUW8XkuS02UWEZ5wBU8QOOtrFOfh7JFV75ecc56Qsq73EVPd8zPKQSnGIOwPHoZXqI7fwbUyoRWhjyF6SScoQmpIaWja62Yb4+j3RwRDZORyKpVnxg6ThTEX6dN8YOq+M1LzZtT1QB6LRbFbu7h51QjOdXz1ys0x4iLm4e6n1VxiPdGQ/BTN94Xn/7e3SQoYkoQRTRqDqxxXlxbi4WZGdYOi6tLFAPAWVyYnaHHH2BOH1NrjF5o7o1jfroTy6uj6HRaMcT7odjHXpBWI46u96I71YwlvO7cXBxdW2Pqhs9wZHU5prstzonrGcmx4Jo3zrTjjS95OqknKHb3Lw3irv2rcfu+tXjsaRvicSdLE5gGUbrY1f1k/LcN8R6bUgNnmJIMSv2SWJrPLr27MogKpM0zlFHh2BRIz7yq2LMQr8PCGYn0VGrRpYY+laBYN4pEuUoRn4RzXV0dM5AGGlKsa15HRjELXQL5OnhMkdRN0gFLsTQf9OQ58Yz5lUFFSU/Lj03uhguk1SD6hfx+0o/orWhv4NJaMw6vtuNwvxmnLCBvH8WWDQNSXngNpYFToUqu9YlmCZHILqyLLl8cjcBQMbhiBQbWOLVGZg0gyNCyS64mYzbT8jZUEkQR+5f68RdX3hRLEFIAsDcYxXS3E+v99ei23MQbDePw8hEW57j7J8x1Y3p6PpbWBlJWBCjBdWtNaufCqLETZABImExYbEqC4UzH2mBI6Pip554Wuw9ImfHq2+6OLQvzTOn80Cwggc8CJE1crRedvzN+6qztjHjX71mJG/YsUh1l20I3nvfwjUJtXFP9P6be/FmS9LoOO1mVlZVZ+/b23rune4AZADODjYBIA6K4yqYpBWkrTClMhWxaDoap8J/gn/xXOBzhXxzhoGRaEbJoLbRMAhAJEoMZzILZenp/S733aq/KrZZ0nHOzXs8gBjPT3a8ql++7373nnnOuvXsLN9sClv++df809PFl512lyFXOnne8t6fyFyNy3qzdbqSrZCun5dtJ/vLs1jfktCUDSrcQim3G7W9ftQC2jN8vfMo2jdNbzkc7aE3l1kJWG7/MDa7AGQAXsxjDRQIn+6s/Utfvyskk3yAWknMI1+bqvsT68oxTh+nLlaTNYAtaCqPt4aGNEC2KSGJOiOWiACoBeylW2/zVsxriFdMDB/PUwetHEa4fJKBUW1+RN9tYZNO/9uoI1R3lViT5g/6ChsceIhuMOSqnzZAX2UawtFOBv7addW7ggNUmW1jSIqwhMFsron/x7jH++J3HmIeRFnGl7GtzWO2U4bC3g3iZ4oOnn6HbaOHezi6idQFVN8OAnrgbIlP2uTFJZxx6qRklVmdx6AtTrS0dZZ6k6rKXvSpeOWjhqNPEdx/cwP/0x/8edT/A4+PnmkxVKhXhlQLMooUeXq3s42u3b+Gf/PK3EPg+3j0J8fbziSDivaqHX3mlYWhafo+G5OS9iSvkZwuabHOkfJF+ERLdut3n3fSXEXxLNf9C6qXNsqW3vxRK5ZjUy/NmG5y3O/CLiXqOPlkm9PLE/0IWZg83T9VsY3wh9/vCcbHdIlaHFlS//fCzU8SrNZz1//nfm/fyFqi+2pL51WwHhnwRysgv3Db8VtCyzWOvkjBruonkmB+KW92ISGy5XW4GTEMXDycBPpmWVXxHKwf3mgm+/2CKsvW5XgqUtk9A1/Py5NC1bP/Ob0eJ1XZlW6fLELptekb0jAU/FYVsPmqD56mgwpYNFDIkbPtdDi5mKf7Hf/4+Pjq71LSjZL1G1XPhlwoYhNafuLV7gNPLPgK/gqrvY5dz+gCMwhCDeYR5HCKMI2nLKaI67DTx1o1d1DRgEprxNwljXM4WemFhvMI85kSqIkokRaKIV28e4i8+/BC9RhsXkxHm8cLmXNB13fW0QWsB+V0F/N4v/SLu3byGh5cxHl7MtfmCUhHX6kW0AxcxvYE57IebNe+EW9efn2UeW2Q3cNHc7VbQreYcry/2Fr7wbrapUZ68bNeqUtvLWaSuPxvPTCE7VR9hnOodE4gweUGemunzt6dL/s/8H1s/ZLvO3N8rR8dsL+T+W1dsYxu1xnul9IDfbSelrUdeW0JX+/UGbz87R8SUdf2//oGGSukDFTKtB2H9DmPC8sJXy21xbpCsIrCNk7OJDV/UR3xxcEnemd4+dEZzEiLPYxft8hLlAhBvCvi3/TpCImYsNHNA+qudFN/qzreH0TbbMzxJhdz22LXIYJ3Zl3mppVFWvJs5mj2MLYw4SzL8tL/G3aaDw7oNj/l8bL2KpuegUeZ9FvBilglZ4mgCjmH+33/8Gf7v9x5jGi/RrgSYpylutWqqO54MRri5z6KYxbaDRcRJtg3MwxmafhHzZIkXkyn2d6+j29qDX+T8vgpeO6zj771xkOtjXrp6LDcbfcY0jvHkfIg/e+8jfHp2icPOjhAsngp0hufG+uDxQ51kbBSKVewUlZbVa234BQe3772OjSgQRuXZ0lwIL3PjWb/KRj0z5WPqt0wT1AIP1bKrNXExW+A7t3bwtaN2bt9p9HU5TuY0oCuYdutllnPeeUKGyw3+9MPHVz7CGgi62aA/mmjDfv/BDey3G0Iht6ktT9iSxmrbQuUCpw5mEkWqEx4cdjGYJ9qEVa+UJzVEOB0MFonqvG7dx3C+xPl0gVFiY7u7ARuxdDBh+uvjxWCKUbRGreKJsMp5Lk7/f/7DjH9IfUIdAlvAzhY/m3RcVVcO9Hmxav6zlpoog8nVY2aok+eSVxuf/rX25/jFvHD+k4q+NHOw2BTw2czFjGxhdgRJdKTHUrbGr+6EOZ0gNxa+ws8tFbmqE7Z5sm5iS2neUkxycM8pyCT60Xgpc+UJN8jFGl9uFfBrt0qy+PnfPoq0gbOCi793x8WzxQafjDMcBkXEKOL5aI4Pfv5TTMKZFiCNEviZzVIRF/MpXM9HrVpHmCRYLpcouC5GkwnuH/bw6ckpfvkrX8LKv4YJBfAMLoxSBQfdWoCvXO/iO9cCUeCN2uNoMRipcStNLuK9Zyf4X/7Nn5Epp647n3ZQKolBfDq6UL5NMiMp9uy0E1ZmtO62d9Dbu/WyIZb3W1LRYrihtoiUNS/5fDkWrlQEunXOQ7QN0qkGeHO/iWsdnooZonSNk+kC57MIozCV9oWnFilAHD/3xu0D3O3Vjdq/cfDvP3yq97ulqEQcBZ3nrst1ils7Pdzt9dAskSVgjWNudG6Uiufhs9MhjqcLTMNIiN6d3SZORhEWyQq3ezUUSyUMpxyGukLRLes0rvtFkUbT1dp8AVBQvVchuJE5aAee1v8iZf23wYuLU5SyJZx/8d/9lxltafiHSbGmcVqvVsflIkKv0UK97CsaEUblDfH3/SLtQgtKE0h7WCTRFY2CzbKgVEY9qFhqlAGnixWSlYPZcoPPpxl+/aaHZJ0pz+Ymoy5Dhm0ZMFoXpAnnWz8bzfH9G74+gy9vlq71M9RIcFFMkrVcPRghdDymG6RZhsWaJ59jNAuHi6eIh6NE90DKxycjwqUpgrIvGshh1cV3jio4na/w9llshbtTwC9dr+Bng7UidMMrIM6K+NnPf4anpy+0aOjjToatXyggDhmZ5jjaOxKyRsO3yWyq62GEbLfa+Kff/45qkz955zmGUaqTTfMHOWzSK6Jbr6IXmDFz3SvgGzd7eNgfmz6/aMYSoq8UXZ1Q//Jv3sZZ/xheHv0J+X5++kwUd98LjC6jQUElvHr3NZwcP8aNm6/ALQUyfWAqyFqIAAMH4fCPTyPevw3dsX4sLZp4mnJ+SAGTaJFDyg7u9ppolEs4G4cYRakYzO1aRX9+FjKFTFEJyihx2lOxhEkY6juJ2JVJm8lPKoZajrem6zxHIjgooezV0CjF6NYrGMxj2bSyKUoNf7oCaPooqs1qiScvHptjPdfTeoVKUMFkEaJUKNjsxzVHJKRiTYfhQO6UtWoHHpnPnR1iktAkXRQkTOPp4qwW8Dg++ruvv5LxJXku5bIbWfkftBs4GUfC9L9ycIDf+eZ38d75AoNojXqljAM/wjuff4x3n71A4AcqVOWqJ/ODTJ3fr1y7joNmEzvNLs5iV5ujwkWTAt/c8/Hj45H0DtRBvLZbwWQNLQZqt7NiEbM4xiJaYrdqjZR2pYz+YoVqEdhvVnAyGuFkusa9XqDj/3iyxPmQC3KDkufr4XHCaaNSQqNUwufjSDfPF04R0WweolJngcqhNWvUXRfDeKUFTbg0ns/RqXN6EjeG1SCb9RIff/4JQqINADyOUJuPUdMpuEJWola8Abfg4vnFKZI1WU0F3Dy6g9fuvoYaC6osw3iRqFvO9IkLkQGIMKyveRxmel2vVrQJHp329Vx3u000K4FOrEWYIEx5MngYTIb463d/hMNuT6kTO/STxUyDKdlMXK8ShFGMVqMJ3/Ox2+5hb/caLmdztOsNnU48pbjd6xUfi0VogYMBaL7Im7FFGWbTpI76mm1iy8lOaZxiyXqC2Q9nkJc8JFFoC9Ll/TLwrTXFt385QsWv6B0wyLUbFZyOh6jXd2WwxxSWJwI3L9G5JSHyYR+L+TzfzBl8r4g4inVSV+stpZTcIDFH021W6DQqV9oRv9LCernEcHSmacJRONb4O8OWjGHuuWXcvHZbJ9R0mig4MHhqAi69eb/+2v2ME4sYpeW+7jrKyYpZAWFKt0NaZHZQcHoyUl4lFwiTOcZxhFRpgjVCvKKDql/GeEHNdQEeXekKDva69/RSGGHrtRrOB2Os1wkWSYr7ex08OutreGStUpPzXLJaIyRiQ4npKhVqwy3ChcBiiZGC3WmmFA5omryUa3qhwGmrRsyjazpHf9WqLRmr7e/uYMV53cUCxtMh1uslyh7TsyL8ckWFLG9CjuZqxqwNFMi5UBxEz+h5dvIULy7PVPxSFcg/MKcYisNAC0Xs9/iiZ3h+eaLUgo/mK/dexVcffAVhHNvYtYIr9SCjGnsnSWq6GdYAGiizyaTt4OYaLuYCARZJokZjr9HAahmjWU4wXwbYrbm40x3io9M1/vg/vI2j3o6eRX8yxCKK5WhIz14uyCRJEPhVtCtVvHLny4r4rFGZIm81OGVOisp9dZl28XqSVYp5PMP13QMslxvJp/0y10gBYZii7pcw5/AdonIUiq2BZqUsReV4xvcc4dZBFxyxMEtSFBwX1RLw4vwphrNzZQa7nV3MFwtUgxYCv42sQP6YGRGWsUaa8hqWSgPnaaxUo9FsKYAz6MyjBcIoQbJcoRkQ+TPWBDdrOB9hOrlAobBCqbhBSnOSrKgApQZrBvWdePIU3aayjKOdI1AyO5pO4Lxx/3YWpSxgrWBgCaC5CHT9KBYQJRtUgypqwQ5G00tskOiIpBadp4Xiu4ypjQfEKM3cz+CrDfY61xGtiigXPG0+ztdjejQL54iTSIMsOSuw3WoijWOs1zE2zgaBV4Ffbmr+3WwRKjqwk0yshQvKjldrpPEayJotlaw4Jba7nboUxgl838Ns2sdySQcQzrKz+oCDMXutHo4ObuZdaEOweIoyV+VMbdY4YbJGrezgyYtHatSxd7HT6mG6mCkijudTQa1s4B0PL7GIQm3ie0c38Ob911TMMqUslaviV0nzwTHEyxRPz/nyzMVdKBt1M5TYJgtUSoag8d5Y3LPAVkpGJeKa3RI6R9qkJt9z8Pjpx9hptJQ2nQ4u9IxctwA377DXKg3sd/YQJzHanR1UKz6icKKCOYoiSUGLbqAgczY4xSScIE1jPWe+16LjquO/2+0iSua4GJyhUqogXabodjrq7LP+CTzPNCfrjYb7VHwO3iE4w5rWhVMq4kX/CQaTCy1MvmNulGa1gaJbgVfuwuPiL1mQvbw8Q6Hkoew14BRoXWrex0zNeLIV2aDdbHA6CVF2zfCbtfN09gKbVQRXgMRaUgSmtaxpVpxyS/Io7Z90cjkoeQECL8BBu4fLWQKfqeurd25kfJBpanPcuEAYEflgDRmioW8JfqmG4Yz5sBl7bdm6pRIHtReliONLV3FNa3xCn2UfB51D3TQ/kxfI3LRaZid4jCQd69TR563590YO5jqCi0Xc3D+AU+5iuaTVfojJfIRqpYZmtaWijgs94IZzNrrZNaPeeiHNupzItRULikDnwwFmcWhU7xyeJoJCOHSntYfrB7cw4ukH9mrMzXAWs1exQT3w8OL82AwUCBMmIcolH+VygMlsgkW8wINrN9AfDTW24HI8UJ3w1oMvo1oO0Gu1Ea8yTGJG37Kg3zRNMB4z0i8MYeM2z4tkbiiiSBV21MWyZA1SVAS3oZZsKFqddjVrj/j9pI8X/RPcPryBz54/UVHLHJwLhpGfyNW9m/dwftlHLSB1PoLDQpTaewY7pyh6C98BfbsYXpnuEQhg4StjPDKsBfuulXKtVkxtaKFEZoCrBibfqTIRRmyyrDMHIeuT+i6Kbh31WgWPnn+MRTy3dSO00cRe7Ckd7d5WMd6sBjg/7wsQYR24095TSliv1qV85aKnKXq7XkGcrvF8tDANfzrFPJ1hvYxRlnEe3xkpOCLRCVThxmPQYrZDPQ6bziSR1vwqdho9Yz4Qcf7u6/cyapw5v5F9gItZIhIcd6bGcHEYo+uj4ARKH5g3cKELnpMCjqATdzNTFA67N0o2o05QovSzjsBvKGXhCeAThiyVMY0GOBuf52YD+RwLdo7lFs6H5SDwPXgqDuuYLyLh0Cyg6AHFBbjt3xQ9XxEuXS2QpCO9NGsAbrBZpRp6GaZrsYK5wLeqPVNkWHPzcHcPvfoOwqWDVsNTUb5MJpiEiZxWTqaxEKdktZQ/LhEjph90OtzrdHS/Z8NL1Q3Mv/cP9lGrVPUzrUoXaxQxj0eosvis1rCMpii7HILpmxZGRz0BiQxRkmA0iUDVIevCbdChicMhjebYJ1mlWsCs4xi10zjC6eQcnz57jm6jg3qtjuOLC30e0Rumd6wveILRKIPXMI+mSjdFduG7c/n++NzWuJyy0Wgb0WOuzvfNIpjTnNTH4hi2tXoGpNvzWbOOJc2G0ZhbnroYLkoNpuFmdsuoBF3x54bTMxXNytCJxBEMYHDV5zB95ntu6KRP0kQpqQJCoYBKEKBWbSqIsgfSqtVUi/AEoHHFycUJnp69EEpa84zlQKTWLGYtUAj4cUs61TTSjyx2Nmo3NPgo6d3VqjU4X33lptJt7n7eKP9iTspjnQ0wHklEJdYbF9PQIqjisoSD1lmV4S9THxWaTFD4kinw8eTd1Gn2cHp+rs9uNzksZoUoDbXReNIQiVDhx2OuYHAlTzO+TKIf3dYBr4LlMtbrSEe6nEJ4HJOmQWf4UoAlp8NuEsyjuY5fV+O/+BKBaMXfeznymfnqlovF+6WBA6fQtgVncg1t1N/wiwFm4QYRrzU1Ir6Jn4B5FKpuO9rdxfHluaJSFEd6cQ/u3BbUO1us0PBdbbRFspSJ9W7Ng8/FxHR05SCk0XOWodfooFpmBF8qOgeBrzycBEUuEIYkjn/ebJYYzgbi7xOJYc04nIU4nyUoYYPhaITbB6Sk9CW4ajfqWmiM5KylaCrOOR4MZvbsuYhdFEq+9UjWS6VhzNGVEspozxYn/8f6YJEyCFkjlQuOwZkb5Gq+CN9y7vJIhjF/j2nyQXcXk/kMc6Wq5N+ZApVBldJq/vyKUm0GDG4UBeR8JrtUlUTViqj5Lmp+WYBCUK6h4NKPlutzjSia4WI8gLNhWCIKyeCYk2uN739lF8t0S7pRa+6rHSH3/5zF4Ny/fSNLUjsRpF4T153Nk6IGPqoA1VhgsklLCBOTkhrDhFBgbvgl90WzymGXkkc62YdEalh3cBgLf6npV1AosfvMPJ8R2IwNpMvmS8qn/zBdItGP7imHnY5efLxcaLHEaWb8JykaTYMtodDVAJwMqzRBUSIleziEkXliEBIVaSCjn5SNMjaZKq8jw839jswSGCy4wEnbIJs2zQoYjsbo1BuYROxEu/BdTzAmdx472RSFpUmCawd0X/cw51izzRqNoCzajEZqbDIErmlSJvFSJyuvnUvsqHcD+we3sFgsMBido1Wr6rSlA/h4ONXJGJRdFNZrDGZ9bNbRlfKRwUmbflPA0/Mh6n4dtaCuOoIRmDJfbshECNySk3CUgvLZ69np2fhwCqwhbVYh0zvNfcn9bG3tMGBmGi2h2etbthEbbtssMU9tt/0w0mdMc7/WGuGGVkqdSxtIUTIhmDVXhTJlmRSVNCOMFahtaBIDEj+Dm5tZDn+OhTqb16w3Y9KG1mskCXU3DLjGgDY6kQnT7HvprcwLZiZi9Tc3P8EEXgMzFB4Szs2jQw3xZDrFtIQXT2oBGds8PtVZpc7ALSAIStDJm+9GnghycidJkReQi5l8lxRtG44ozYYQqQ0qxQL2ah7C1RLni7UYrVLn5cQ8XWQ+bJ4XF7jcUGz/c56fEf74MqPct0vKQ50kNidQtYWaBvz+VFNPuem5QTVGTMm8zafQtOPcoV1UBQINTgG7raqK/DhORVxlikPwm2Z6bsGTrQ6N2vg9+92eiISfHT8VvMqCk4uh22oqLWFw4GlT9szlUS3UFXRiUNfBnN8QMFfw8O39I1wuFmL/NqoBNkTj2PPQg2bRuxL0/WD/YPtcBgAAIABJREFUGp6ePUcYjpGsKbzi+l4rZx5HNJojGTTBrcMb6tOMF1NtXkZwLvZsleg0Z2gharjtgHOxl3SK8N1TpZIrnnMhj20Gq5c0PFPG30ZR4Xvkd3BRM/Xazkzk/W8RQqlKcyaDNHs5TVjP/6WLk+pfbiBlMhSXETBZ2+AlzZgp0MjcBbXiTIvY7yLSVxbRs4CYtZrkzox79rO8agsE1kPj+yc4lWpjm2TO1N0WMAnVa5Lvwf5hZu4YtvP4QhhNLU83TyZevdIdl0o4m1Vt7EiePECjWtKDX8SMKxl8OW/YA6CPLNMX+kcxyvFZs6G35oDKhAtldeXuQXiON8wL5G10ayXM40QLk9GFf7PgZLbAG7TcnEexIW56EDkbNVkuxbFiscUTkvY4kr/mToZs5LGgZE+BvRh+b9krouqpZLOXcrUAuABJFKTMdSV4kQvgoLsjnP354NQMFTgTpVxEr1nXyAaj7ue6OXbFObpMVJt8OmvBRafaxE69qcKVGpBNYYVGlWZvXCCWruqepLYsoD8M8drBDczCBV5cHmMwm6lTXAlKqJSoWDQF5mQ6lw+wcnd+ik7ptTa4GKxKmawuNHUjMwC+K4O6ubmtXsvHBuSEQdtMObUnVzIaPWlrHfpyvLcxd3Nk0CWMbUHKUvKc82YcJJ3avEfqTswQY62TtuKVtJbYrTdtkKX3PN1Y0POT+M74eQIRCkVlOaqrWKPxmeQnELMHpk8MfDEZ5Rz0Q6WmYm9BjUHeHAOl7d0Mzm5vL2M0sFaYNWq2Rxx3HReroE+zS9cRzAYR6Rxlt4AOL66w1iZhNOEJHvHBAmrjc++y1jDaCvV0OaIAel5liERkzR8cCzx1fmnRWbSGHT1Itb/NPIKb1GxUeHzyRLEXw4egppsM7Zhb85vYqeaYMOb4pl4gl0p5L/ll+YBKppKqvdh55YYWqmPcLZ00gvOI1vmikE/jEIHno1VrYh7NMA15rNJeNEKbm8MtYDpfaDOyiOfdsXilnNZWawFBraaFfNTuqqHan02xLi5NACbhmUVogxK3av4izkYT3OjQsrSI5/1jROlcfR/fb2EwGUi2y1XE2o0/x1PH6kZ7TtsAwVyfJ5d4dVpA+UKWQUKu0WZtkQcULlgNyLQbMEpQvimuPHe3hNYvnAbcbHFKQME4cDp5cltagUp6urZebLa7I6YQ3SW7FWYLuRnehp/DE4hBzlFDlwibvTegxtkoOSs5ZAqe93fqPlMrKyE4Y4YgC3+PfTbWb2G8QRgZCbPhl7Fb9bBYrhEl7Ek5cI72DtVJ1+ZgsyonqZlnrrkK6mQhFMyRWkSC2HF3HAQeKQ9LlEsFNOlkXsiQJBvl5rwBmzO4UTQyixaKhtixZzRntGDjh6gVo4FNqxIaUmSTr6QFT/gxJdOUKj4hasZLYr3C5iQh3TBaqrnE/CV/tVdzPzS7MF/lfEise/izRGysJ2GRXYMp2aQru1eGbsxjeZLwwXNjuEVPEZnRZbfV08+fDS4Rr/L54psN6rVAvz4PFzkpkmY+xojliUAUr+LXsNvdEeb+YniBwWyAZtOQGAtIViPxGVtWQPGUQhpO+5e4fXiEdtDAdDHHZ88/Uc/l5sEtPD5+pgYjTwKuOPWCtMGYnlkqZc4qdgQoGpulhI2PY2Bj3p37K6uUJdzJ3gxrzXyIJ6+PgYZ/6V3mbgqWbJjSw/J4szni+5PvOFtU2qx8j1uxmIMC/byY2pfZ/ecpSLTSNiPTMgayVWobdFs/pEqdzERcwJzSMUPYEtYcMj/M0KlZess6midLzDnveqRM/Y2PRcfQJAV26gGCAsELUpdIhynCOdzbzxhlt+IkPSA9kPwo4cWK60Pui6eFLKeNDSkRllLVyqROG/I1joxewV0tY2bl+fSCYvpUFCtTD6lAIt5KdY96GIThYPY4/O+gXAbTJDbCxLjk0SZki1GYNGlHBDRCeey82/AaR+zgoMSaxBSLnP0xTxghDFzgwuFcDUZJGiKY9sbGIPPzPa+kk4t/id7NBp1M7IgWeTbmTMN8PFQ86sJjRMtYcPZgQu24Z0Q9+mMVi+g0Gnh23tfL69ZbEjdRH8JR0M9HFxgsxmjWAzXTTLVpo4wZ4RQKuIFXrMEMoTk9m+L6Xg97lZ4gyY+Pn6jG+PKNu7iYTnA+GQkCNmZzhlUeZQ1UMbRJU2tzc2ydNBmLe9ZlpIGzqVdAIuRoAz9gg5cLz+x3eB18t6T3c90QiCDYYS0G8xqosmgWeGKbS7wurh+PJ3uGwSTSJuLnEoWkSR5PXdUe+h5LQQ10ealV0npi/yKy2pLFNT+DS4PPhjUz77NUNnq++lnOEmFCpI4bkhmF3Yfky0S5HHolBzrdAyFqdi9aj/z3nd5uti1eLNoYrZe/KXQhzxkF4foc8UX+CkOBo9SCRSohS7p1cJPZlCYHq2SpzWE5b05j8Tjb1VKel9oDLl7zhNExKIoKX2JRzUudYoSA8klQXKyaEstGFMmVonq7oqfvVig7NWaozNFy42RSSi6TNcKt5y4pHRIBmFLNUkije/B0VHp1JdJxkBC5I3PXr4rLw5potSFDNNBGH86meOvuK3jU70urMZ7PkKwTHDTb4kidjYd6VuxiN/gzyzVOojFm0RyddlVTbgslNgKXKhI5CZd/kyK/ylj4M50paObfk+MLHO224SwD1EoeBvMhFnGIVw45qcrByaAvCDVasvdD4qEZL1kxbZuPi9YrB/iFr3xdjow/+eCvrZMuEMRqR/LbbNSjmU8b29sctiqe9Su4iJidblMdg+pNSszTkJ9Tk7fXGoFNdVWfjaxbPmd+Wo00DzU8WdeRImSb1/x4iVQyQBs5U6eTggjX10YBmoGU11IqU+5sAdanVVRuPkjSIuF1Bm8hZQRdcjnFNqgSVOrlJEsz/2BQ5udv4PQ6u+qDGMxqx6sabLnIe6sD4+aqVn1FAC5YFkAyNGOqxM3EeiVfyIzEvCBGJcv9zY7fBCqmlmLHmZtQZstrYB4yKmQqNkkJMtiVi5XevxZFiGbxQdWqbFzaNfP7SWDc8wkEE+vf0vPZjbZ8lWnhRWQTaLcMAMsyCkKrdNTyOFUKkqNcXxxtrNOGDUJfKehue1eNs9E8Qrvm4FF/rLSl02jLh2qeREiSFHutLiIyAzhYx/dQkaFDCdM0UtTnaRUErugTW0koUZu9+iEKmwLm6RDTdCKuGtcHofPRZI5GrYbipoT+8FL0FnLJeOIQSB1Px+JwGQrFpiU9ga0YZ2p51Othr7uP29duI1lbj4Mo29nZMwwnQzzsP5PdbNMv6PvOp7ZBDU6351Og0yAjuIREXLSWdZAPpfENRJkkBwWqSqWouOT4hjXma2ARMvOwDU90lGuJpxeDENG/Wx02P4GzxRLjKINXobcxv0/W/8ZbW0J9KdV3DLwFrqEEzUoRnkP2+EbiL9bLhpZZYBBYwX6H6ldXEDjXZbsaoMzNnNNReDpyAzr7vX2du1yMfk5sY0Qw76gtLGfpEpEf20gWwRWNtotqi6dzQeZFNzcFi2U7fo0tLHybEJ02h120Hf1WoFV9a1gyveKvckOy9mGqpetSz8PyW6V+joO272DHt6OaNU284glikKBeE3UMCxl76uhmZ1XHuApIpnFmlKBGWG5ZtJ2MpCCqI9nqLj7qW/uHqJSreHY+xN094N3HI+XZe91dsW3nZMo2u3l3f2mFPjluqkV8zeMWB00QMGUGBoUSESPnyMK1YUDbhTleLPQS2f+ZzuZG0ItjUUMaQUUbcTC9xDzhr3N0Qln1FBuOROv6gwvstNoSc4UxO+rUehgsS3Yyr4f1y4vxmWgj3aaLcLHGIiFqZM/sJbpPMZXh6kSE+Pl8hynZ0HlzkFQRIWLUqhQJ2FDWsMHlIhXSxPRLJ0/egeeznUUpbrbLOGgauHIeZhiluQQ6N0HnPdEwwyxhecKwS26nPr+r6uWcqww6qbiGGbi5vonQMuU0BoghpWpSUlDFUzxvjnOT8/3z5HOuHVzP5DbCoyvfYfxhRsztXAcuEh5zjEAUw2iD5PagQhG0EcwaU/MghIisFEVUcCracLSb7WQ2u1S6XumSc4jxyqrEECt+lmkGNlgmBusZ/cWgRiEyToZXOlWL/NlKfzZcMv80Lg3/PGW8Z5M8Vck3iRWkBTUwhbAVObaATSMLALxPnoxWT2zguDkpUjj/RozP+mKGa7faeHhuaB8ZxErrVpk4Y8PFVBvQr7h49Y0m+p9nKG1cbYrttfNE5UlLCU/4xpdR+uG7qGiuyNavyzbocDxTY4yjFdjltq64KQZ5PXwfz8/7iNZLNdMKtCiljqPVVSCbzmei9y8WE3l2cbZIzWcTlJsgUq3BxaZhpVmKXt0FnetR4OIyeHUerrCgkQEbcEUDW2zkhKXVAltkxWQkQzVA8znprSrrqgLCjS8GdNkvqx5gisyAWvEqWFPeS3FWhfSVFUYxG7xW/zBgcGNUvTICj7QiC5aMJQwC3HTVMvufFLxZYb8FO7h29d/q+G9rM8t6OHiI9KVauZzD+ywBuIm4dwpwup39jHDX1laFL0Ntf4eRjcUsv8z6BCxI+RAsJ+TRZemT5oQU7TOIHHilAoIStRhEiizr4SmwXPuYhexuk0lr3XppSBiddPG5ZU2Ob4rWkbN2uat1guTQItMMFa6rBN1qWbkladQkoI3jJVoVT4t6vSRrdoWpnOtzPoFTQL1SVy11//arKBY9dZp5TvN+1DlORgjcc1D9fT5eYxCu0J8zXcqk1djrXMNoeKl0gy/kvltA6/7X1KBMshSPnzwm5CBWsMaLSP66NLiXQ2142s1nqFZrUvyxXkiCAqL+UEUnC3wK0g529hUozi+H6HbaWjhMLd588GWbGzK8wPuPPsbrd15BNJ/jcjHFfrODDvq41aKuwZVS8ucDF5+OCPxHQo24QPm0KVRSYHQSmWgQ5uYJTmRnFnEib47iEV2DB9driXC6BRNiEkA3dHfMXS2uTBKMU8cTUG9VsokdBZ4omqDul60p7ZWxWGbqQTCr4Joi2GBLwCZtCeF3rN9Bej1BsUW6FsxPPVKpGGC0mKDgxHCyVDWHbVxTxyZRqnRWCKRQ6nw+SD7yW9ZKJRdefq3EaOREw9VwtHs9E5EwzylT8mA0Ns2KGnYsaxU/j6oU30SKIDz+qdVYLZl+MXKSjx/joNvFejVQLsejnp9N4RJRKKrI1IRau2rSDOahnAa50MtuIFt/FWMiyRXRbHQ0DzxJ+EJsI/JU2m134PmUUqZyHCxm/MwMbtlXbRCmiTDu/uhcN50uI1T8BtKEijYSMz0c3XwVpy/el5thGBGZqeqzhLaRv7O4RKtEMt8aw6iEJAtQCnro1drYCy7hVA5wPGMUnYvH4gdlHHZ3dU18oZ89e6rNzVqMG4/3rpOU+TkSJo9YuR10uvuia3NrzudTTMYXZFfY+J9cblNwNrgYDVVDNeoNTdLdabb0jChWmi0WmEQp6uUSLidDo4wsnqBajoUaLuIUjcZ19BcZBsO+TpRSEBh7ehWjVQ+w3lDavES9Qu8tQrOQ6yM7zduilmTKst/APDVhNtdHveQiXcbo+WwFlDCOHQQutecEMWjrxJ8nydGgfrM63eB2tY7LdKJn4xYCSYSjeIZwGSFMDfE093vzP2BGR/Gck62QbnzMkiUqJU45Zj/MZqrwf1OmnswK2BMrERIim5vDiaxPp4yHtbPY52Q6MNWympnppkoGZjvkb/F9vfH6L2bZ0vJXRmj1HGyKgnYxO9ckIIomkLMUrx/eV2eZPQX+3nwWY6/ro7jp68h+fH6K6YJUDSsOGUEp/OfiJc26Wqriy/d2MI9WePtZFW6pi2X0Al5pg2bjOlzEuBxf4t7Nm9ivp3jnZ89wzsJ3mchzig+DiIceolu2hpVmYpiNClMIfme7VpXtTRxTJsrRBJamea6PZmsPZ/1H1usVOkJ6gakiCQcynbQZH+wqLxHITrSAasnFQXWBSqWNpLiXj//NcDke4vj8RD2ga/tHhghtpaaLuVIjFkE8HRo+HUcyvPfRT+FWajg8uocwWsAtbBAkI1zf2cMMAcZxqPSKlHpyhI729jHLCojZwBydWS1RcHD94Boen57ilWs38fjkBOPpSKgR0S3eOK+DBSm1MGIqlIqYUqVXJGuWPQ0W8olOQ2YAs5geXFajsN8g5nQuKOs1d7HJSlI/UmoceKzNUom4mO7yNEg3ZUwTBsxEyJ8twQDpqohkmWE46eOGV0Y/nWGjdK0Ch7KFdYgk5T1TQx+otmEaxBPTLbKwD5V9sH5hP4wboUIzjSJ7WSvVZ9FyqdYBuXLGrLYmadlzrenMWoVdfRt3ptSULQGuD1JVNDIvM/6WSJi/8Uv/INskESbRGV4MSBW3OXeMo8zbxB5lc62Q4XuvfRefPHmEx6N+Dv8xqido10toVbnTl7icxggJweUUaK5U7mZ1LtmD8F1U3SL2OjXpBp6Pq0Ia0nQBt7SGX+1is7Q8n8V8kljDjVWuRFNqdHHDrlH2fSQL08PzpOJ3mKOGaUMoM+VCIPuXhVqlWcKEmoGir/vkBuev15seVpFFKoMOAz3UBVOJnLlcDgIR4Bgtt55OtaAqOatgWCcTRZp6fPZqKkFVi5HAB9E30jlKjocaDQEmYziuzUvn30y5IqrtLBdTb6fIZ14OJJ3tX5xgt9VGt9XVvVCrQenYw2fPlMIy/aRYjMFtubIgwkjMyCoRGUVMlA04fKaetOMUrFEyzJgXlEnMHJkmwwUmixTMJNhw4++rpqFEtkbB1TWsUtpXpNhvUDVpQI5bWOvUuAy5ACsYTUNlBI1qWV1xqUyLdaw3NXx+cowHByUsnQ0mUjEwe8iwTBYollYIvAZOLkMpKEfhQtdVo2lGPBUb2mBrtgcyBJ5lKKIcBTaXZUZkgYIo9tA4RZgNRsGADg4bXUHH56OBJB6sl7jZCfiIZCQTdp6GBRRYd967+eWMIvZbhw3E0QxnIwpguLusqVL1rTNKhgcKAVhpDKa8K2C/TeE/2Y9WR5BWPEuIKpCDTy5U7tCXe2AZ1EttgckyaVTAX+uPlphE9nJqtRLWyxom0yke3LqJRqVpMlTfz+W9RgAsFDco11jcFDGf28AeRpw0oRmCIV5e2cVovpB5AoEBQqrLlM3AOqIowSKeocJxZY2KpvvSGICLj3QNppU0CeCpQkSNRTcNqlljUNutWR1LYyNzFEE18OF7VZT9QI1AFo7Me3m8M1hw8x1WPTy8GBIRsEasY/2CSRwJmdM4FDqzu4SQeW01IWHHZy9w9+iaNB5cLPw9vvBPnz6E5xXMvI4pJkmhJEyKR2cdbs8rqxDWME9Jql2Jkfh7bBKKPeAD/eFTFb6EhzU1OKMpx7aXxd6Xg9sHN9Gt7emUqRQjOKs+RtEcCY3FqemmEYVDyLWEKRvGDudWMl3iqe3BL1VQKe9jOHuBVpUWPDTSoIEEdR8pQlojNR3s793BX7/7EHutBsaLue6tqsVPeYHxrxjF240yhuPQnh1P7JLxuSw9ouqQKTu76vnM9izDL371G7rHjz7/UEGVwjVC0M0Km8AZrh918PRsjEYt3yC7nd2sUythv25cxstFgusdH5+dU2dcwH6N8lube8GHS3j30QVfPgsbYLqIco6ONZhcRi8ed6QYiIdvrXtNS8ogeooYmZ5BpiWH2LOL0SIVe5MrhHBkmkxRqzUQeB0dy/VK84qGwOLeKRCxSpSuRfEKtXpH7NcopkJPZZSQsoEWfCqRk8Gp3KRlLYZFNEcQVLRJ6IPLITRhNMdiPoHvVxTVeFpR905VIBt7rDE6jaZOV5IgGWkIs3Jh7JG8yKASVJTeUH9NnJ3p2o5bwsPzPlCm24ilPeq9IMNb9+/rvn/22UNpyd11gnDNyM7c3MUnTz/G9976ju6DJ+hwPNRGvZiOZBvJmot8J1JhyDWiapH3KgSP8w+XNLMjV4mIoMlnmXM3/Io15QprXE6eS8YqeorcaAqCXbdN1AqbsbUWUnpKlVzs1irwi1OMw6kM1ryCixmFaUumadZl50JkxG8EZCRvdIKiQFtWPhsz42CULxQCJKkDFfxEP0sBklXxC0TFKB85t9JQWVNcGigQlE2vxLVVDny4ToTpghp10wzx5FNTkul4sYh/9g/+IZ73h/jBT36AdM2+zRJln30QPzcHpJkG0zhgPl/B+cadmxnhUeas5J7Y1BmOVeOHujJuIN2C8kb6HLVrgS0kwoPcoUQEViZMMnp7rudm51tuGXYCEUJVx1P8J/N/5TNiQVmttjEYDvVQWSjVq8x/E7jSqzMt20FCinvONuXVE4KVlpv4fbpEr7OPdEmB0gxdunV4nhanFa0U7JDnQz4VYVZfGPdgNJSpAc0G5vOFJkQxonPRUPhEZR9/Lo4T7PX2sFjMdB82547oCk8Aaj3Y3CzLMCEMzQpJUlI5ZGxQQxFhNENYNMWgIGGhQkDVD/B0tIAfVNEoLrFJE6TxDCl5W4I0Pbz90dv4lW/9knJmsnhDpkduEf351KZQrekZtZTDCOsSyYH9skiM/D1GyS3lxyg0PIU9nVgG1y8RpmNMZqGxpIkusntOoid5TAxoHD7q+yiVAvjFhoioq9UYq00E2qKalzAwT2mxY9QgpsjEKCxYWU+f74XPU9xXmcYBZb+EarkLJ6R4LMWqkOHWtfvyQiB88bz/JLcEAop+SeOxyfKm1FsyhWIJ4/kcLfqRLU7x4uyx6lSTC7P+MnvONx88wNdefxOTRYy33/8pLi+PtY74MbWKq3fGe+duUx+OseLvf+/XMsog+2cfypRBF63T31i1PJ3IbOTQShYy0vFK/MKXRRMEk8GqGbOmYIjzLmyX8y+JdJapibB4ktiUTuPiFIroNBvoVKooF+uYJRuMFudavKR0cBMx1WlUd1CrdpGQo0wfrVwnMYsjoUNGgy+rFmC+TZ4UFxcbaaRrMN1gWiQRTLGktIOLdzQd6QEyAo/GY9EWyEUqlvizc6NS+wHWywit1o4WW61qJmwz0UmAa729fNIs83ySGTkTxOQC7CuUGAjSCBdLk75SYqvhP4GH0WSG6/uH+JfvPUOvHuCVdgkeVpjPplgVXbDGIW3j3U/ex9/5xnd0QtMthU1CLvr+8EKbZmtaQD7RYpWgUvIFf7KOI5Oam0YSaXLe1maPw00tdWBmp/w0mWI6m1nPp8DUyJOjI08UwrFsLDI1q/oVtOp7CJyZNiV7KKuMXsAjo+ls2FQk5YM1S12a/2k4R0aBUd4PY4Dk6Vxiqsf00wFuH9zDMp4BxbrS5Fq9hRtHr2jdhOHEJiTnhEkGBSoaqdk/7p+h3mrgk0cPBRasVpSFGwuDRXmlXMNmRdfFDd66eQ/zhKmTi+F0jJPBMdqtEgKfKCxTUkeHgbhjebvDeePezaxZ30M4uxDuzt9glG9Wq/KCjeO5TaCVKs+koWT9chFQ6y2hPgl+MucizmxsTEJqZK9yQxgCYozSLZuUm4XEPsZR0uaZTmwyH2fDvqBLK47JS/JE8CMlgdfW6dxByaX3EXUlMepBFaPZBLPpBB55Tqul7IWYQpGTxAtnL0CqwdzryHixjkwD/HKgFIqnS6/dVjd8OySGCFyURji/ODU7IKxQrTfx9OS5mLjddgd7za5JZNMIvXYHk/nc6DhsTsUJlq6LeRyDd+r79O+1E2owNkO4vXYXf/zTz3CzU8crvQoq2RJnkzFcL5AEmBvt8bPP8Y3X3rDnx/oqTS1VosWo6yld4X8T7n304gmazZaQOC5I6a7Zoc+fP/9d6BzpHSLkbZBs+O5mGE5GZrixssJWkgB59ZK5QFQwgOvSvaUHZzOA767AIaZhys3EAprGcrQpIurk4lp3F91KCaOYPTDWhittCM9j7yJT0LsYnxojQPasU0HtpOj06rdkz8OmIN9N7qIrQwl+9vngEkf7ZuLQq1ZxOqApxxiPz2goPldgvHN0E36piuFkgN1aHffvv4V3Pn+Me9duYzab452Pf4R6lSDLS0+3OEpNXJcDE84rRzvUEWqhM6WwWiGTkwd9crnIjJZkv67GjYbd0w7G+FfkKPGkOL28FJyoSbBScBEVMFmmuDYA6qQ/LI3oxjSBm5H5pHoxa5oiECBg4VhWCkb6iHL2gv35erWNcvlQOf86TdGoVfRS6W8r+onrYkbkak1tmXXj7QFQWWi4ONNBbr7pbIJWo5VP7yUETTOAiuk/aOSc0OWEQ20WIPmHBSJTONJYaChAOPH67q5My5iHcGHJX0wuMUu46xgfnl+gETTQWadY1lqoVxuoNpoYXpzK1YTy3SlfYFCAU9vHUdXHebLSxmXhL6nxYo7d/Ws240SBiGhaimazY3McKY9ephjNpnj47BFazTZKRRblxjZQLyanzGhSsTl05/WIpzEXYTLFJ08/UQ3H1ESE0ALrjobeZRhOcbh7iDvXHmC1TDCdPMFkMUS9to9iqa5AejE8Q6FYRr3WUj20097FKmUz1CZvbeiGyJOcykxng/GYHLYIRS/A+59/KJCEmQC5YTd3XlUatb9zoO+/HNJSlSpAWvv4mM15PUfyJiZ6OZxFqHhFPD19F2OaUzBALVdoVdq4d3Qb3/rqt/GDd97Hzk4Xu70efvLuD+C6tCedCRBiI1PmDrlEgMAQ60vnG6/czAbTuR4gCya6IrZ6+5gNTkT44t+8Qe44UrSZTondKDl8EdPZWOYC1XIFM1IrmE4Rc1+uzf2D+a/1L/XCFMilDDMnCdGXVYTXlOoQghTZMRfoS10ougejfBE1r4wHd38Bg+kCVc/Dwc6OIjFRN9LeDzsHOLs8hkNvWtJncj4YNSYS1Mj9rygjteFshKPeAYZU33klOYRsSMTL6QhcdDwRuTFGw4FSuW63a3MEJeelkyLRrlTQIX+ONQyDx146we6tB3j++DlKzz9A7do9fDiJ4O/fQzKbQ+vqAAAgAElEQVSd4O71Lhbnpzj96EPc/5W/i/T0U4TzAfpoIMyKIiGyj3CvXMQvrgb4t+37KOTuMTxBWCPVmk3h9qKUrzP0B2fy3/3xz942Ah8btDrFuUFso1wpCkWloqwgwCaMRH+Jihs8fPIRwjDW+9jt7ePe0StKR6bhAN1GDxWCJUUXxyfvoNHYRaFIW6E6xvMRkjgW2lj1qwoUzDZ4sizmU0TJQicH0xeeonudFk4uLuCSau6V8fTsM0wmU/RaOwiTGY5278ErV7UWuIGZpvO06A/JmOZU3xDdVg/tWtsM4pIUB/sH+Pjhj3F2cYJmrY07hzfxrde/iW53H3/247fx6aMP8Lv/6d/Hch3j3/35v0ayukS1UoHn1nB68RxLeY0xkOcadTIq7h3sZNQbCCvemAqwVa3BD2hHY8S5wKuh3OiCtODnJ09R8QO0mh04pRI+e/Qx+udnEgKxD0JpLVMOERCzgnLwZqmAMSsTKeWsMcf6Rjg8O91bEQtPJ5oysECXHsAagDbchp17arc7OOpdR6qBOCboWfH4JgnS89FutnWNrdYuZrNhzgZgIW3+WKJKkwy5SrB0MvlqCX1T08sX1k83FzMPMDHXcHQhI7vDnX11zPld0zhClhAc6OJyMrHBmo26JLwSYSVzlDZztsdwfHKGB6+9Be/pXyNzejgZX6J6/xuYz89lLZRmVSR0XS+QMGcGcqTSTGZjdKt1LBZzHB4cXHWCuXFZi7DeUX+I6CC1J6dPMbt2Bz/6+dumzcj1H62KuUcSlSK1hP0fpjxspolik0sa+CzTdYxwsbBuuxeIkiNJOhNMwr864GnptMLKqQgpMzn0Ss3OStnSXzWbN+zIp6hUqlhvSPeo4Dtf/2WZYSTRDOPJWL0GzlQcz/vqT+00a3j/4XsII2YLNX0GJyD/ZjnFv4qKMhVnjytL6YnmoUmCaLWNTcHBwe4hRmefwXMiVGodvPnat0X3+eizT/HkxVO0O118881vKW3sXw7x7nt/CddbYmenh/7gGPP5UKlVFGmss6yFnFt7vUw9A48plckXCT4+uHlHpsHcKCdnE7Q6u8jWIwT1PUTTc0XJ88E5ms0dVIMGhoMTRMsI3e41nJ0/Mx3wGmg4Rdwol/HhcqEUiUWhWQnRIqgiCS/N0wrZChWeSGtGi0iNm6vjTvmgSXwblSp2m130dm7h9OJC3By/UsOLszMVwHxR7EFsbfUrlYpSQEKffHPcVCzOyYNqN5u4tnOAeRypqTiaTgUEcBG1ahVpW4ihPzt9ji/dvY/dVseMF1j8qpAjgGFTZrmgmUtLCyMrI5II7eQ8PT+TrDZyMjQQ4XJJVIU0bZIWDTHi/5F5oBHQiuwejs9P8eDmLfHi+MLo5EhPMLIB4jgWJ4o5OdNXOjzy2xq1Op68eKJ6kvfbZPpLEmbBzWswPt9EJ+gkS7HrVbFJeMpvsCEETXZvHIkBwcKVKRbNL7Y+aEw7JQSrczIV67hILGC6ufBaZB+U13rMONZModUTMQ3JtYObunYW6Ed711D0u/q1h09+hiePP5Cx9DwaYZmygcqAQWmFg3WS4JXb1zFLEjw77qNSbeBo//oVV48pIAPCfDHGftN4hHxH8q1LZigUa8pe0kINq/ASjldHGk+xKawRr4fmecZajan7yjrvvt+Ac723k4lQJmUXXb59tFsdXDt4Fb32Lpxshl6ZZsgO/uTPfyLY8TKkDSYLpzU2BTbwNkjDkY7BgkdKRoQVfZUyOyUCv4ZFOMotd6xjTYFMlrkICsCC0YVmy+xYrRz0Oh1JVvnnQv4zl4yypCHER69gAgijyUh5KdMBpn1yU7QQZ8YE6st46nXQSsc0UqYcZBThfdcqbL5x4hO1KEwNMoznY9VSGj5TtBqr02jlm0yZYs4iDdUvqQR0iV+b5twx+xkujpS2p0GAR8/HuNHxME5TDdNhGlmr8ZlEQs5Y55XLZYSLSLAyr40o0OlooDmEXKTs4NOHi/dIAIJo3IvzM9UM7IGwZiNgwROI9UvNTdEuN/D4+QmKUYRJ1bXFQuoIhWHU+yexsgEeC4LdSasRR2mFN197Hf/xnZ/KHZMMHmrs+b2s02h+wHSNaOaWiMgFpkM3b0YSobRTh+Zx7J8RLEiUvvCe33zjDTw9pwG3L0vW2WSAZ0/ezk9zs74VMioUjeYaC3QadSSrSMX+6eUAFc+3dJeoXJFMAdZiIZr1OiZUd5YoduNpYL4H1ORcTsZSgnKjNap1bAqREDYSNG3Uok0eU6HOU/ja/t2MuS3d6ejt1Grt4a27PfyjX+ngz989xg/ePkXTr+KTgfkMsbFis71toXCnGnxrD0T/vp0xwubiJhOBrEg25XSCDW+atPlkiWazizKZV04B1XUCp0yL/Klkqux0i+dPzpWc98yenguJ9QQXOtMM2vyzUGP0JqwoGjup6/KNZJpAyj2bVizaTQJMwiX7PdzQraoVoTY+IVUaxkhHoZelH8BOu6vvYDOMqVTgGVWbkblcYg2Qi8NymSqpfIzqRvMv4nw01Mtgo49/mWUOe02maTDdhNV2ZqpgVG3aC7GXQxEWT13Cu5xtof4K4XRRvg2JUom3XmIUzdCud9AqOug/O0ZhlWDleti994rsQ9VU06SvNQZEpjjDI6fjMI3lwuApy44837c8qOgDkAecikcD7pwyzv6X2T3kdanlVpL05nMA+Yzpz8U6UkpUgh5pjLPhUAhnq9HV/JTVOkav1VVQZO3abdTtOecGf2EaKaN40v8Iyw37XbEGE+3VezifX1L2hW61peD46u3rSKM5zi7O8Hn/ROxeIplM7QQbx7G5+GR8t2UUPKbElBsHshLiM49jNiVLcL7+5e9m4WKG6FoNs58/RbfewVfvdfCPvneAf/PTE5yMqFwbYbywriQfCRcbYV0dm9L+Ul6Z09gZWXJdsVwhWPyTdUsxFo/noApaK8wmU0UG1hr0qq2wiUiNgFCgkpqWRKSs0LQC04pR7nSrDRjtSDzjIlM3PaCTuTldyPWJC1E6lLWijxp6xRLiKMTxoI/dbg83dvdtaKWTaeQZm0iESymR7TU7oiEw6osCL9cXfiadw40WbmbWRtswa1SCFxR5WQebKUiz7JtGgVGM4IHMwY1doM/KAQRJMXIXFbtu6jZsHAEbk3zWJGly0ajbncuPWYjzMwjDP3z+OV65cVvXZDPi7dRkE1Nsf96DEMkNzkob+FRyhnSrpMVq7g6TW/5wvoYNY7XAp96AelysJ82GSOighHM5EJtPk+IPcbMvlgm8QtmivGQU9ucSuVzmI6W5eRj46DQpBI/ZhRkrKGDkSgVe47Ozx0qj2d+hNiRbbhSA3TKhY1c+yWy1tatcC8CSTHDP1IsEDYhs0XaKYMw6W6FWKyCK1tjrXccyZZ06lCUrKdViRX/vzb/NhAP9RYJnTx+iUanj4GAfv/93jvCj9/q4jA+xqn8brfAv0aySIlIWIW4eUvO8BH1xL0ZjpRnsSgviJWuV6FQSImDKwE53u52Lrcy1w5Qf9vKs0NtoMZHOUa001IUlJ0oEYmkCyNWidQ67y4QCvZwObk2dcrmG1TqyozkvPremEczVzbKTghoWqBlOLy8U4fe6XQxnM8wTEu/Mg0pGCXGMZq2uRqIcOuSbVTJxD6W3DAKixpskQC9d9qYEKUh5t278xXAg2HU6GWnyFGsF9o24qLcKPZEtVdSaUYKZQ1MRlwpWZod4a6ogTXUOnSt1UEWcYZeIFjKcDy/RbTZllsdrNScenjm53UA+fIi/M5qNUamxCM+HlubTbZmLcuMT2ZP7jFgPuYJ0S5PJ5/bxO1gT8USy+slerLmj0EuspJM+TBZC5gzQJIROwITMCQbUXETJQUQa0xDoBNrqQARV5yk0ezXjEevdpfpLYTzTMye4IoHWJkPZr6PONGs2Qq/T1hgDneo8TVfWFFZLwy2iVW9jtojwT37rP8fDkwke9i9x7859XJw+xvHZEzhfu/M1hQjm4JeTGZqt29jUfhflgNqNJYrzd+DhPRx097UwzbQ5twvNpaHEviWUophcxgg0jeZsOAthUgIqSjMiGTrENMgENWaWQFsdDTRhfhjFivjteksFNaPyTrslyoI4+tKiWx3BE2U4mchZb8kjNPdcMsq6cXSofzfvJRNDEWmT64bj4GI6FkzIjjy7aYxi/Fxu1latbqeGJmqZhtmUjHx3JDFSwGX/rcaSWMf2T6ZYvAZpEDSgiEUyOUl27UpMNMbORGfb0cuMzrJJFWHQ6gQGBT3DfANtvXDVz5ARM3/PHAQ1HDM3D5cwirUQPzD31tW646iBSoCT4RD77a4WGGtPnQ85o5jjzZpEn1hnaqNZqrU1krPrJ5OYjvq59U9OATIXSzO7I1+N76RZ4zBR80njE+IGZBOQzu304K3nIAN7GITvzcPLSIi8H64BXh+n906GT7UuzETTtEnSfVCc5JDEeKC0PEkXuLF/gFXGtNmukbT44/6pGokEFBpMy+iftkpQ4qi6QgXhcoX2KkOj5cP51W/9SsaH0mm2jbNC1znqJ7jA1LdwcXw5kPs5d6iJXjLZxAsdcZgbx0pthLBItmkvLUcHr4hp0ntLsGJHtYrpgk2CIvxLjtfT0xMMF5F6GAIg8yjP7+dPm82lxJYG8+bRj/WDeXnZTA1NKhL/y0YJmDuh5Z2MHkyJuOhJqRAnrOhiHsZyxyDd4PnluQwOpMUXbd3F2TCPVlUSDq33YOMJ7Lq04SnYimP0hwMthkcvnuHbD76i/oiNoTd/qdx10+yWLPfJn5PVQzJaYOM0icRJsmQnn10uioh9jmqD3K1cqU+BKR4Hf8aoCUDwEC4SuB7pFCZR5X6ezUd4dnYsBjDruHajJwDGzGYdNem4qS16m1bfjC7sxDLJlAUa2Yyy5ySUcGuuQCmxMYO5JniK73W6ljaw4TqL0KzT9d9OHaZH7d4Rnr14glbALMPcDcUlo9mbvNvoGDlGPDvD07MTpWjqW+eNYJo0EKTodA5R5viKiP2UfcQp2c4mCSdG+/jshTYbAQobRGteCURY2V9Rj29DM7oAzm9977dl+8OjjgUw57vxQamYY8Rer3F8zg3SMQo80Z9co24NvZKYq4TGGhx1nBsbbB1StqkUuX029tcSK/470wx+DxcZv4s5/Tsf/xyPT16oodWus7BN8NrdBzjc2bUCUG4oW0q3qd1kbc+CUZYzhuszgsecSiSKPb/H0iHm9ex8s4aQ5aXsTnMjswIHBpG4t8T5eIjrOzt6ASbDLeHJ+ble+N09GjLYNCwbJMTobdAvf//TF090bzyJPnj0Mb772pvYbbSFBskNPc8xVR/QooiGvdo1ZmsjtoJkoQQUQo0qUEcoL1B4PUKyRMQjLs+gQe8xV0GG+nMiOZJBb6f+5gGLhwkDyWRyjpPzE6ypW6/U8Rvf/S4GyxJOScfnKIXBmUa0MXfPhYBWZ+TNXQtuublbLr1WkOBIg/x0liU3i+ECMNyeVvmQIJIuiW5qVILsUTPcvvtVPHz6CSqlBM6GCkDKJljr0nfY6rr+eR+ldYin/TNtdNWoJSNGEqYlk9wr10Wd53Ple9H4PJmKmJxAVsD5lF9t+c1GaT2fPfXyFrttForzP/zOf53ZMbU130rFauRLIqWC6dRwGqHbqGCVrlCpNITq5Dp9pQHnQzqbZzqSuWD5PynydLLbhtC/5XmkTBdkb5k7nuTCIYp0JosJPvz8I02funV0A5PJBDudLm7sX7/C8a0xZSkIN/dWRyEHkC+YHfCrjR9mG8bcQq6GQtucQIINuQk3r5VUZ54449lCaZelJIbhc6OR20PnEeazQpFka1lUakbIlS+aKSK7xSxMOS11p9mWTSkjJzcnT4Qtv5Vfzu4yuVxS5ct31sy0GUvMboicrHzUspqtBhZwJITu5sr8wkAMymwZ7Iw/Jt5C7v9lyJqY0FjiOWHiZawRFb/9y7+BfpghXJYQOGv8+J0fqtvNC+G7tKTSzDQsMzBzCjb6zArIpmbxBKW2g2nTRXyO0XSBi9UIblTQRmcPhuxxNodJXS+vyyhuVui1WrgYniNzfdy/eRPNSkUDRenawpF/xfUSq6KP4WiAlu9gEjFFYjORcwjXAjPomcCNx/k21I4w9dN8kVx3bwCP6eMV/vMJzrx+r1RRgIqSmVGjqK9iR/Af/8ZvZvOlkRRZvJKASKowFz27oLJqzDxMZ+d6+K/ffR2v3nhgyIsaiw6G0ykGkwmOdvcwnk11yuzv7tsRrTyxqLTj9LKPW4fX9F0XgwGajZZpm4mXc0TWai1+1GB8KXlotVwWA7ZWbaAS1LTolHqIDmCpCanlzDXJvSK6xtkgXGyEAmW+LRWi6SK2Ba0VrWYgJvw7p8Iw3ePUJXv/ttHJBjA/WVtoPEmMrWqiJDMvsCJXC1tdebZaLQ2SWbJ1X/K8aptSMTzQpYUn38saxH7GKmpLvfKxdYyALGNyV3qT0Rp6ZSiS0b61cVQg89kTAbJeD7ISWnWSGD1USh5OL85kMmeTpQpoEVqnEYLfELhCIL3baCtt5t2zoGUDkfder1bVy/j0yWPcunYdBZr9cSwCpa/LJQajS6Xsn1x+hn7/HC7lrlQa+kal32/tSTUacUDRxaV8scijYgSPlgU0GnVc391Dtcr5LwE+PzsRg+LVr/wqfvzTf4duZY5m0cXFYobT8aWQRjKfg1JDDpeck1n1C2IgkDzK5uYsnNq024ybx+TBPL3KPsm21Cix7qGBn00442aXXer3vvntjF3xywHH48aYxYnklqSx89hiClQNOmq6tOttHPT29E9547KBkyzU1CtsHHRabZwPKGUsiGTGxqMJ7h2ZDgzGQ9zYP0KtUsGjF0/xja+8oSONP5+mIcbRJRbpEhd9FuakpdPKpYpGvY60MFYkYToTJqTZG9RM6JTFqa5F/Q2uRAMEzArTCnSmYHTLabUDLCmb1amZx8KrGfFGbtSvbg2j7QixDaLobQ9WdqVMD1Zmyq3+kCBVK2i5UYQg5Xm7sXvyXzPvvPzabBNpT+TIzfa6ZMiXQ+n8yXBOzT5P5tyvTNHc0hjjt4mRaMU/awFAU7O4EHld7DtsN839vTfw6PjY5rCXXRTLM2wcDunJR+hxGlihhS9f+6pOP8p5Z4u5CJHsohM8oK0Rf0+pM5G8vN6zRicXPDSvMYwXCCo+TqeXGEQjOGRUrAv48o0HqLolRLMpJrMhRtOhRhJUio4m9RZKDr70yutYZiU8OjnGdDXRcJ1e18Uv33jDnHtZM69T9GcDfPb0DOWACGcJd/YPsdfumdzYpyArxWA0NjEVJeZsbUSxTCvm8Vw1DwGizImUphNAqFUCOGXfz3jE84YI07JQ90tktdbRqjaFnzPKHu0c2DG6YUpijSDSU4ylux16YjRhXrWlNHYUW7FnZEFaaY5mI9UAw/kAWZYgXS8QryJRLYobjiJmjeGqYUglHzugzy4/tZMjH8dgWAHzV2tSUnfw6OypThEbSGMReEttT5NMC6zVo7t7fmbkptYsbOkRxcjIgpWmcDwRWs2Guuk1RkyPptMVkfFcx4NftulXPEl+8vPP8fYnj+REyFOW96pQn4+A2LJwrwYO5SxlnS7s4nPK0ya1xcmi0eH0JtJWzN0v5em3djC4SLC3b0NjtptN05JylnWr0kFQrtoryO+chSdJnoLLczdKOvTc6dzDjz94D77PunGDRTISVE89O098siTM7rOMg95N0Xv4DPhMNaSU6NSVUaadgDpzVezmwSDve0isJU8zDgyiLdMMx9NzjKMpCfC4s3Md7ppcNAeXgyGWHNUcLBGFG6yqK0TjFbygAD+jg6QnH+P7zV3B7fL3zY2w/9/33pdGn9yv2Woq/hfFeG2u4yCQGyMzHvZlahwBXsgwGhMCLmA6neFsMpV1EM33yLyQK2iv2ct2u3vqaHI4IslmPDlkiUL3B7qS0DrUJS/fjnVrEOaNDAVsQ61eZhHmz+o6rrxr6fmUbhY4G79AupqLLkCLD2uSGS9JUbFoc77Nrl/WxzYrRPPz8u+kqJ6iLRHnGM35p0qounXcvX6ESTzAjx9+oPXJVHEZWUOOI+GIAu7uBGi3qqiUAlzbO9KJdrCzK9ycPR4Kq2jIfDGc4msPbl8Zjdkr32ZJthCkbSk4+NHPPsJ//NnHYhyrb8CFziYY0yLpw63ZZuHCtqzKIWk0cjNwpWu5LSu78Osl6mUP7WpFm+3Tp4/w7PgYrXYFh3sdTKKJRF104ri7fwNBqSPqCQo0szAtjbQ4DGAy/rbr2C7imGO8pROxUQtKDWWKZ0OJhFGxoM6KqBZrYuze3b+l4CEXdZpFM7fXBF3rH1naSvjdeFwWzAxqN49lzghhOk1kKka8jDGMxng+PBMcnJVX8NIqZuMZ1p0Y2czF7m4TTuIi4Fhvr4IgaGGnW8XF8BhFrHC9vY+6R0ZuER8+PzYbIK+GZuBq2OqQvajZEHPNr0y1tiulKu4ePsD13p70/LVaFZvlGp+f9HFrr60sZDKbKSA7v/d3fz8jlcE6qeY+x9tibm/Fq3Wztzm0ZeIG8Rkub7Bfrq+x04QztJNIU05Pho8wic+RFcy0S9E131tKsfXBVsQr91OqYcNobDCL9Za4kEQ+4zRefbf9uplMc9gM/VuLaFW7+Pq9B/jTn/wFfuHV1/D/vfOButh0GyHU+ODGHfzim1/Hf/ILb+H5+QC3jvZysoShbLz5MIxwPp7izvXDq8LTHEdeXrilQZab/ekP/wZ/8dP3cxg0v7u8sWawaF7o5zNYtoYN23pDXMWcqEgdh3HjgJSWoMjwjRs38d6jn+Odj9/BfnsPv/7t76MeMNJv8OTiFO9//inG0QUqtZymrQDGjUFqjN2XNh/T3S/cg7VvrB9kG9s679tehwU+oozsXGdolXdwvXkPB52eYPGt46M1V80hkvfKz1EvLAdsdCKJ4pKpHuEJuKXIcCQcWeAjsqOdFYaThVTfNw734XKql1gVwA8/+CsMJpeoVXvy3719cAMpgYbLpxqDcau3j265rWu/mKXYqdZQrVhHfqsLmqULHE/6mC+Rm0HE2G12cLRzDbVSE0/OzvGlm4f6GbrhsBRwfu/X/qtM7hcaKGKbwqr87cC53I1QaZRpz7ftUnW46fbuuZgyoqVjpQfTaIR5NMY6i3P/XebpRirbdmVtY23dug1gsk1ouLS5cLPznUen3A3PouA2xzZkTNyg3NaU1z2ZLuFsXPzmN76Df/VXP9JL/ttv/QLajZZFumKGX//+38LZcII7h0Y1mcySKxeW3V4dF+Mx9rodKf+ofJSQyiry7VFgirv1Gv/Hn/4HPD45E5vVTJJN16xHmGvhrKdq/rHbGe2EezlwhzpvplfjcGFdCC4oat/Jpi1k+MbhPv74z/8fnI8upNL8Z//FP8az81P86Oc/RphMUA5sQ1z1KayIsuvMR0YbRSZ3zs/9h22D2DPc9jUM9TKSKR8WafFKnkjbEMXEw/XWHVxr3ZZUmmuAfTCCO0ovBWMb3C2ky0Z+XXXYjT1g38keDH9ec+TpLkIdfZZhr9NGpkYyXSRjIXl/8/FP8eL8GRyHtB0qHymHruLG3qE4U/EmtnSrmCEOCzgk4bbVVoaxnWwl3HSzloZ+GoWYpnNMOQApmcue1kMDd69dEz+P19yq1OD8wW//QWbUcHuY1mjLO9A5lJqJuGZwovGd6D3r48XwBfrzF4hSIgSJhunYmND8IeR5qSVM9rZER7iqI8xulIuexSL3nlnk5CmXkCCb1cC/tr5R+ZzRfPPk7nikh4QbBBUXl5ep7H3IsyLrt1Tw8M3XvgbXKyvv/M3v/y05mXz+7BT3bx+J6fnho+cYz0J0GlWR3fqDgVKu3V7rCka1F2t6fYEAeTPvhz99H8NpiA8fP7pKKSx/t6aZcn/VAKbKZM9JTuXye6qiWPSF8YdEj8jTYrOPdQXnIFZLuNGo409+8K9xOrgQsvff/Gf/EJ8+f4J3H/9AwYy9B8lJBKXbPD4BC1f0eTtFZPrNfD2fvcGr0nbQZIL8aNGLInKXT/66shK1e9C7oJtIsYUv7b8uyTHrV/Lu6BE2DUND8SRys2CqukTZhmUe1hy19UArVxIJLR0zT12yfqv1KhrNplIvbp5FOBe6+aR/jDAeYTyfmh0VjedKnpqO1CT1mm2sNiVEqyHcAk+SDq41dtEK6jmjw1Jcq5V4LzRKTzBNUnxyNoJTXOFy1ke57EgX5fzh7/yhxWTqBTRUM8fKpXfINGxGnBnPFWLllRx8fPwBhmFfp4XJatl7ZBfWnPnssMkL4dwlxQIJP58Dc2w+CDvALITYJ8oFeeZml3+GmQpYw2xbdHMEl5qRJpvQYtiqDi/7EfZ39tC/HIv/Q+3xL731t6RupFHa56fP8Pu//Vu4frAvQODscoCjXTJIc1KcmjtbffIaT549w5fuv2LmyVvrWdVg23HS9ovvffIQP3jv5xhOZkJAuBgIdbNe48O3JuAGG85C5KBL11MTdKdO/lBJ0YuUa0pHGeHoQTWMlsSNkcUxbu7u4Z//+f8laJzs4X/6O/8tPn38OT44/kvVcpaYcs9up0fZBtGpkKsQtWf0Z/JNLlq6pT6W9OYBMv8XbS52slcZjnauoz8+E1KndEx1hjxK8NrB17DX3BXsy4XOk388m1nfhBtHLIb8RMkN/pTO5QzkPJxaMMmbLGqe5qKuRqOGgLR09SbW+PnjJ2hWS7iYnOFs0Bd8y1/XgCWyL2gs4dVx2N5Dt9MQMkq1I6ksR61dHDS6FJjn7GT7Ga5Vvq/3n53h9k5Ns1UG0Qx9soT/6Hf/iAQBM4KWWN3GE7DFDyeFX87w4fPPhaqEyzGSJWfvbYt1y523Q0e2GYj6D3ldwYdsczxsQRMR40fbKARSWQwBs8jEF0hPVXO8NlrJ/0/VewdZfl7ZYeflHPjI9sAAACAASURBVDrn7skBQwzCIA1AEBkEGMAAcMmlsORyA73cYEll2bJdLpXlKv2hktYuWbKktWTLtVruagPTklwGBBIZ4ACYGcxgcuocX7+ck+uc+/16oEFNYWa6+733+8IN5557rsXBjo1hPQca6GIoVbPRQyQeQrvRR6lYF2eMyBYHpxCSPn7rHdgsFJErFdAP9PH7z/2aUVRCAaxu5TE5xLDLKCLafNLo6w2xApi0UgpIya5N9TF+mSqylpPwGX757gd44cRJXWw2dfFQkLZC2NAq+zYgiNwotqWyR2UoOygFFRI5eTDqfUrPcEa7qZnXqgURK2Pw4fCuvfj2T/9SxEUWAL/21JexvLGOcyu/Qr3N4iTZxW6SrsuVvEqxByTsxK+qpLOGZSEQDRzbqE1t3j6qyA6Cew325h/E5HbcO8sXLXzy94MYSc9i99A+pGNJcaa4SRLMowyoKx6KnSxZW0+j10AA9e+4cqZHn7EuEwVoNmWMvTbRsOj622QJsE+ec+zrVZQqeaxtr6BQ3ka5Vtb3U7dAeU6/jpHsiGo8UXpmjZ+mwHUPA9EMBuIZpGIp6bHxc5xb3MDRuTGHxNol9v3+F76p48wCWBdtFGuUH23gyuolVTo585xYcVvarbao9uFdIcwhM7TyHi/J8mtvAawG4cW4NvDRagqmqWUS+rLiokxob3bqAtab7iAgJeV2WaS/1eyhXuljemIMW7miqqjZVAb3HTlOcoiUFbfLRWw3KvjyY0+KYjA2kNFms85TrlQxkE3KtXtj5xgWsJYzOTpih8b7rWe3zy5pVvLU9PceLtxYUEimEQH1Jq4sb2B8OI21fBn5EiU+w8LVqZnF1yRFJSDELIYEZU7ZdqyuPRomq6SQWsFLNRgMYHJgCH/1wt+Iyk1o+bc+8zwuL1zBYuECqq2C0TmkoWvrKN4SESkHuxno4Ybf/Fc5kYW+XH9pX3Ewkp3NmyGxG23nXRS2oVKR0ma6WnzPUXZxoojDRzCcHhIcrigA7LPoSApqMbeOXaNTyiuo92vozE1IeIcSo8jC8lDvrPHzmEontYIp1JFAOJpAtU4tgI7EO0g+5Ox41lNKtaZmnnT7JlZOLh0T7lAwgnRqCIdm9wsjZcMdaVUUivD1OljNF3BkcmSH+qKg9Q+f+0Z/q7yFzdoqitV1dPoG/WkksLRiaD04ipd6p1b44yH3xht7saVnXDxUydAph2p44ZU3FcrGPZgYmOMxGSgknMu8g6y2O4z8IhNLGRuPvNJDtUy1jR4Ozcxho7iNYrWippen739K4nArmytYLm9j18QMvvTwo6JA8LU3cwW8e/G6Fp2yQg8dO6RwQ9QVmU87JYak3Zy9Z9bVh7DH6HU9HaEQdWetksx23++8cgLz23kMpRNY2tzC3MgoVgsllCj/E6TgQxcj2SQGEoNIp4YVZ9+yZxRH9k24ufEkHJJnFMSHH17B0sIa/vrlv0KhVNYl+sPnfhtXFq7j2uZZoVdaExY3dNjtwCv699gUSvzdcWOF3oavuG+wMXv2vJZ/qv/G6daKkLgT+jCHYS3EBOm0wzs5OHst+pgaOITZoWlk4ymJK/CzFWo1fP+1l/Ho7fco5+K7KT/xQi2Fg14NxRBK++WMsXd+HKFQ5MV+FwMDWaUG4uIxXJc6Zh1b+S1s5NfR6pQlJaROUhoNQcCm35xNDOOWuYOYHhlXPxKtyQsn3sFtB/aptbrTqKLXacB37Nhsn6IH3nQlr4prWL3ZfVEJ3YeUyLCbPmuap3SzHmLiCoY7wKkhItJhcgLP2ht6FDXteIiGi5md1L2GMboQ6uZMbaM0dxtAOELZ0wA2t0wbdzQzjKMH7lSVnbAgSXbLG2uYmxzG7qlZibQNpTLKMo09Spkbcp8g2oXGNXc7YuDOjI3drEy7UErdcaKLm9y+R+RU/cAhQ7xStKSpWAh/985JvHN1HrfPTeHM/JI+T6Vax1Yhj2gsKTo7QY7Dc9N45sHjdqg5vNR5V6cKJg/74ZkLWFlexfde/hvxjbg23/jM15AvFnB17QPkG6s7/eLmflWntQR4x4M4r+vGQSs89EZ7O7jaSqo2G4YWV52hiiKthqOj6nhpLu109u/mjHSxmzt9DMTHsGdoDzKxIc1/L1Vr+E9/9zd46q6HVN1Wq677DPQAptNl0K98ssI3R89xyZ9XTrCw1sI0ySz5TLhbNawIJWW7yJWKWNvewMTQIPKlHLbyGyjVCqg0qvJgUrznc0rhMoyhzAimh6alaj+UjEgtU6qW7G+6797dfRa4zPJbCMFCnUnA28gDegzDtS0dNEFg73bbpuxcMOUkXqJuFmZ25nbML54UpCckiq+hSbKu0u3uF9/eS9b7hHc/gn7pIlKnq8Q+iyDuuuUY3j7zK4UWFJb75PGnEIskUaoUsLS+hO1aDc8+/JDGpVndQWbECw4V33ozw7k17FTg7AkJYzvWsZErPXiUjF4qnVveZExWnyT3OUWJf6O6OWdqEKr8dy++jV+7/0587633UGaLZ6+PieFxrOTzTBjkiYYyMXz58ceMkbBTQrQ14Xr+4Ge/QLNURyQaxvd/8V09Ay/J85/8kpgGp+ffRbG5bI/FhjKtr112K/7thNNOkd4OIHM81avcFCbzEsa32qlreXWevk2jVfOZa6m2mR0WCwtB0zgzJ+6kUdF87SCmB/dgKjOLwVQaf/LDv8RvPP5pzXzZLpHm0RRPLBqzsNIawczgesbYakMOdXLuyvpJrH7j1VnIRKBSCz3LyMggy9pY3tpSkx5DPXa0MldhD8lWaU1Cg2zM4gVhcxuNNUmou6f2Y8/0OHydHgbSabu4x47N9L2Cn/qRHfxlIZIddvvPPJ6hDzbK2dbY4cPajJvwnRfJxqMZ7N/1CZw6/7dWPXau3pJcl4R7HtWFB+qecxAzcxVuumLePiHchg7jZx/4JN4+976pmaOPY4fvQjyWwo3VBQxl09iqVPD3n/mcjRVmSETGKX87EoaGOJLqQUXzdhuZZFQEPTJhCejxh3iXOX/DgyRt2ItLWDkv3kmzOluhp2ByTmLlv/rJq7hlbhbX19fx3sXLxu7l1NdMFtF4Qt2SnA789554RIILtGpWJLU14fOeOn8ehc2iaPsvnnhR+lTMWT51/AkxHS6tXsBy6YrN/JAXMktjnp8Q6s1Cqtf7zn0kP8mzSZ5h9KBz+7t9DmNsu3F3ahy7KULOzQ8giANzR3F14SyaXUrFGhRsoJ8NX51IzWHf2AG8f/k8Hrn9brVZs8i4kt/G1aVVHJiYUKit9mmXJ/G0UaGdXp6iF6Txu49lF93rodl5VjtAXJN6s6b8lxI/jCZoKNTHJG2tBsrlEvLlTcnsUkes1mopT6I+2MQwxfkqVlsKRbF7Yg98h4+M9ukNvDmCBg+6CND9QRfE3WTx61WRdaQJBwea97FL4+HdXOCZiQMYzx7BB9deQq1R3CEImkewS3KzKu5o8a6yzFfstBjbAul0FL5uFEvrW7Lyt+09gsN7b5WKN3MAji1YzG/pUH7h3mNY2Mpj/9iQ07Yy+DosipQN1+Hl4GFntZrCx3PjIwYxO6/F52NDjkbHuPKzqaK4vg1RNDhcxwAD84bGjOVhf+X8PBYKFdyzbxb/9qevKhnUEEle2GBQaoscGf3M/XdhMBNVa4EBRl7FyA762XPXsLS2jNdOvqJCISkfX3niWWzkVrC0uYTVyiVX2nMlYy9M8VI6x5bWxXNhjWeBdfEdDUSG0HHHVK9xdRtdFK/OJ4PBaVHWkKYalmbYG7Jnhs0QSTkYQvqtrgiTEX8G+6f2qrhHb/TSyRO4sryA5x9/GjfWiUKVcPvej6nYSmj8jXNn0UYEqUAd9x+9z9BLKnC6fMqDEaycYA/iFUo1npqegQYvFBKJNpFMKBz3ui8liNGuChlkcxnzrqurayjWcogEfSiUNk2sYmYu3ZeF1igqowhYtOVRsA1X5SHR4BqXSAuSc/Gpfe9NcqDK+y6R5fenY+Mi+a3nrjntJ0u1vbZU8552uGwj7WEJeZa227ogf+/xT+Nn776B9dw2YlTpGBrGx489JJLi0sY6sqkA3l1ew9cfvA9HJiYc/aSHty4v4+wqBY37UhX/1iOHkYwGRCw0gW6+F02eparihxHR8ateb5aYWleyjq74ttND7RkTayVWSOC+ZyVfwf/3xmk8c8fH8O23PsBQKoF8tYYUuxzRw8jAFGot8tS6+PjhaRyYHbYZ8168L43cLj44dxlLq4t449QvsVUqotXx4bef/qoq3JeXr2GhcNZ5ZTdnXqibCT5YHcQTXTBmoTtKO1ikskRXt7K99fo2vSTZXL6KchrX4BlCH0JiOdvlIPOYoV6DgggqVfmRCicxHB1SuE7K+WhmCrH4AEayGSysr+D9Sxfw7IOP4W/fflkaYE/e/ShWtjcwOzKO77/+d/An9wO1ddxz6BCO7jvixA1ZpzP1Sy+E9AiSliOZAfPGSrMO1Ow0pPA5OT5pwuXKv0wbwRsJQQmmk5fOo1LPqQjJOYoK5+b2DAlrU6gk2rQLjrxKrNPV9f7dUghjy9pyuujTERitUu6R3QzG88yUepsdYmGWx4Su9YFduGaaWewSM9n6tWWOEfPh+cc+hXcvn5fbpiUezAxj38wuLGyugdPN/ujJR/AfXn0Tv/XgAwiSKMg8R4lcV2LQ/KQj6QTSFGvzQZ5oxnUGesQ8oxkS7rSQxT65XQIefu8wWb3E2yA7UJoOazukn6OK4Z+9fgYLxYpKqCODA1gplNTHzmoxXTjJcE/cehB3HdivwZR8TRv0ayvLOsK7p8+hUCriJ2//EFuFkqRSH73zUdFfzl07h+XyORtprXNqn4VeyoPGHeHW9W6b5dopZzjgxWNPSOzPeUMr+Nozqt3WXS0DVuwWy6Q6T2Ighu27PIgjMYZ9lGmiQqcPoX4IvmAMeyf2abDR1nYOH7/1GF794FdYyq3h2IFb8f3XfoZHjt6LVz48rWSeI9buO3wMeyd2KXzTPBMHnTmNaYd2eUjYDsHPcpodLMwnpcpgyHTXOIOEwhaq3HfaaNQbOHf9MgK+DquCmF9bRLVWhm9u93DfikZOVcOrObj38SQsva41r0AmqoVDGKyCaw1UylMUhNpieam44lMXRjg5Eu0q35mX02N+Nlt9ZFIRJKJpbOdr2C6QghyQAPGj9z4sBRXPKlLgbaG0iQcPHsAX7rpdCIZ1v7lwRZCm9W94hs+etYeV9S1Mj1Jn18XYHm3cE2fYYfU5mNerDewE7/QYN2lG7qQYdCnL7cN3f/Uh5je2MZqK4/JmHk0eHDU5uZHa7Tbu3D2NJ47dJnTKiqrcCc4XbODK9UVs5fLIlXP42ds/VaxMivfzn/qaWpFPnj+JYm8enZ4phNjPWv5hzVsOhXKhrJf/0WhYI5sDIDzmg1gMHlbs7Jq0xDx2kCGSJlrhDIK7zMxPOC0s7A9hbmwvbmzNqyuUe6uwvMeMJYxAnzNC2HCVRsQXxa7JObx/6Ywu8J37j+A7r7+EmewwShsb2Oz7MTcxgqO7D2sMhUY5u32wfOVmaGuu13l0V5z2+HDemohvzCIspxi4y5bJZISAlSo1nL1+BbsmJvRjLDqWytvwTc1l7W1Ey7bJqio0Oc6RcHHXWE6aiMnAmFWhm5Jf9SRgvAuj6rj19Jpkv2kcefI25gaNJmJn10IX6l6XK21MjYzgyOwRvP3huyr+sQeABbIvP/Wc2MWcY3Hx2kV0eg20/H783lOPY26YItbOmzkxB7ugrkq+E9tTsM3VWFyhQBwrrYGxiGUZnaKG57LNUtK7OUehcNSthygvBoV6ZD1+75n5NfzdyQu4a88UXjp/DcOUHyVr2qmE8KcyiTi+/sknxMVyjBQdljOXLuInv3wNdx65E5eXL+HE2V+h2uAgyy6ef+qrSCfSeP3UW6j1l1Eju8GBH1p6eml6JD2PIVS2b1ZrsAKo7ZHV6+xSudhBBkQTqpw3U7ir1zfQxsUHog1JoUZnwa/msW6bgnpx9P0tjfoWcdMzumrkIhTMM+bHnrE9SEeGsFEghSaC/VOzePfiOfiDYQz2A7ixvonIYAK37z6gycSWAthzeJ/WohXv7Lqk2bvArkbjdWdaWuDCZtXfbF48k6zhoayGglJAjrMvuY+tZge+qdmsfkxSoJKgNNlFr+AnYTYJODhkxH04Vs7NpbrmHPO9O2vBf/dIjx7Z0LsQFrPclHXxhs5Xaz3RRXaP78YzDz6OH7/+Ioo1jnjjLJEgjt96nybNXli5iql0El984B788N3T+N3HH0WXXXn6DJY104LbqTdoWUIFZVI1qN9FXSuj6MteO6CBT+k5Dn7JmvwlPeC+z/7NLrWFVeRRMVF3Sjc2JEYIqx+bxSr+9p13sXdqEu9dX9K/EZmhNH+70RBjld7if/zyF91EKndoQbp1SZek1w7jrTOv4eLCVQljs+//qfs/KV3bV999DcXOIpqdqvtcNy+CPiGTaSfDqoPtTrrAD0qFUjDDJfHqknR5oHGljALiHX79rKP+iL6innhjgbNJjU8s8EbQptVaBf074+N5dQuxyWjuq3d8OD6KscyUxrONDY5gcWMdo+kMysWyiKbJgbTqZlSFMc9rzV/8bfWpHfdm0YgUGbyE3SgZ4vM5Lpr9g5kzqeOorteSPnQoEtBsmS7PNuc38mcmZzIyIoLE3KLYC94UDPMeynqznUXy0AMnP+NBX7pg7hK5iGvH5HrJoAo1bnaFOD79LpLhLBbXtnVryUl65hOfVdWWDVRsxifct7mxgi3O5/AD/+SZp5FNxDUKjjqwRJwUwWsjiS65opNzyrSaVxaXJao2wkU3t3nTc7jGHt2rHmNd05rlQbBk10WzZnKtq895QQ4YYlnHy8d4MOldWHj6sxd/gV2TU1jKF1HnWLBuR4xXFqJoGKiE/98994Wduoqx2MwY1ao1nPzgEt678CbOXDmvcchkOHzhsS9hdGAIL/7qBfhCJcGSaqf1G4rEUQz6LAIhjFUlio6XH/T9KOWayAyHiE04PS/7/B7kb4CFGRZDtey10ecI5bZNhXWHz3IYizyIBmknvGlSTkPMO8yu8qUz0u1SXLCLQD+MW2c+hkAgKUqO2Aaa1NVVR6fCohoNS1ghtFAz8Qztc7nAxYWXxjq3CHMH8TDD/ZEai6tSO3a5hcq8KIKJe/Z8g4OD8E3OZvpeVu8Rx7xkzwynEyGm+gdL9Rwq4t5X8jU7Ik9mbTRdyvGrzIQbWuQhDh5axktSKtRVtRwbnEIslMG7F066JDmIT9z1sOY7sF84Gkni6vwV+Nl0FY7Kiv7hkw+YIJrj6SyX2TZKrJsr08XR2aS1vHr1lo80DOmxvJ50Z4A8L7Kj5qVL7mraujVMfkmRcPI7LrcJ8ntkNC2f8uJ64Sz+IN6/toDXL17V1+LhEOZGpqSGHw5ENITzvWsf4vnHH1EPBIUtQmEq1NsM7+18ARcuXsdrp17BtaUrEmImwfH4HQ/jY3tvwc/eeRHRGNUoN40H5wEKCl3tQngJthkue57ipolFDI4zbLH9UY7pOgt3MlsrngjqtiKxD7Pjd6LRKCBXuKrQhmiRh2DKW7hir5y5+xyGMhkoY+tjg31M6pSzLO3i7R3Zj5HUmGjrlKqVjyLViblNLIKtbQ4tJbM8bKiru6CWs9tZsL21YrauvNqaHenSRTuMDmTEdY4d3OS8Iv+Fa8mOS8408Y1Pp/sMlVyZw2HZFrx5BD4vROLF9eQ8LZ5zb/CRGNNYlLYgO0xNlySzhdcW0eLVjdUSBjNDChmopPGdV36sC0cxt+nRUdx15G4koil8eP2SGvj/0TOfxi8vXMOe0QEcmBg1F9inpm4FPzt1GblaS8qJo8kInrv/DqdG6C6JR51xoReBBQ3ivAka7WQpsuIOcXBNo0bVV1jl1UKM9cqR1jZ20Thqlr54/7cL9S/+9kUkIlRM6WIgmcHidtXYyz1yw7p4+vhdOHbwMC5ePINd+29R+MPXW15ZxfXri/jxmz/B6taqlCOP37IfXWTx0N0fx0vvvIaebxv5+prNlnSqih5Yok8qiSVTpGRox8+3eqOFdruOydmUKZJoDVybsyUxOzwtXioZTJenxCMZ7Jv7OIqVZVxdelfSOIzh1U/ieuNVU3GhnYum7YJ4ITj7Uvhbaon8sQACPY557iMaSuKuPbeh07V5LZo740CXaDQm3WRKJ6mIy4Yrd+GsTdvlR46yZLU7C8cEYXstxw599S6uwj/j5ewYOdWEGIWMT6ecP/Cak6yiqYTXhRDq+VBl1YN2LXaXeLLzKIL2vKRP19g17YiZ6mJFF+/TqReLDdRKbcRiMXz1yWclL3RleQlN9lFQfDiT0WGaX1/AZrWCz917Dx49clgTrEhd9pJSS6L7OHttEfvnxnFtaRO375/FexduYNfUOF49dQYPHD2CfKWGqdEBCzX6FLZ2CIg23img8FOLTesgTqFgZgkt7jYCp1W7zcp7CazlYt7fA1hYXdfP7Z4ax//98zeQTcZwZnkFA/EkNsolhQpW9wngjn278OSxu/DBydex+9BtCi2pvHLp8kWsra9LHvUX77+Jaq2B5x95AGvVNPbNzuDt0yfQ7udRaK1rTABHdMvYfSR85FrqUnOaq9qdSb3oYX2phrHJOAIRrz5iDUseKGFG04qHO9T+HtUqqVmQkRo7G5cY1mmF3AFUSNoHosGICWpzFLXFZtZWoNDPCO12rtw+qL+HH5Z7E8LRmVsxlnbAi9MxZkGbnoNNZfSm9VpVox7E13NCHab7dRMV3bkYQhcd/O3Eu4V6aYNv5iM7IIYbOeibnE33zR15VtB4RcTy/qsEizfU81/23Sa16SW5Cims+V8/7vo8+DeNJCAa5oqRlHzZ3Kw4Gjzw5D1PYGZyTlAnRxOYjlIFy1tryDWIXUfxvz73DDIRyrK45MwpNfK9tooVvHvhGh69+yj++qU38PHbDuPdC1dxYHYK19ZXcXBiDpvFLdx36xHbSC6moia1zVkc6m2yS6Y+egGFfLh8xAsbbW082f+b/Spajz51josyMKPZAbz44SXkqnWcXV5THC9qu2bOs/DqQzYaxUMfO4B8PoeT7/xEdRhWk8eGJlGs1VAubmN0iCzYABaLbdxyyyclm/n2qdfQ9VVR7qzbBXDQu0YUuXBHeRIFOMjT0jQnhkR+FPJNxJOUbiJaZSxmq0pb5CCvocTeQA4N83SIEb/HhjQ490sP4jFwyXYOhHHn7ntRb4TFoqUItirtDim1yM3muAsrUzhm8/lohIYSMezbNSedNfLGVjc2ceHSDcf0tk5NqsHzRTk6gZ5EkY1mWVpKIBlWWkFR8LyLYYJ8fEvPaOzkzgJ5brLUvVZp3+FDc5by82c99+piO02qdUQ14fs+n+b6qbXWcE9nYQ3l8UIriz1Znae1CKDVIKGN3YkRZGJj8Pei+OAqlUfsMh3Zcxj3336/Qguu8+rmqqZXjWUTmBjJYKNcxR888bDlPzoEFlvapfPh56cuoNHqg6PkqLvb7AAzgymsVWq4e88u/Pz0WTx05AA+NjttcKxT2/BcrhEob7JSFZa43MXZNwudtPiKvB1Zz+oCl+aXsW92XF5BZEbnScx1+3B9q4j3bqzg1OKK9md4IIDVjQZnBSETsxFnB8dHd/hP1+bPIb9+BZPZFErVBtYKRayWK2j7mZ+E8Mnjn9Tc9rNXzqLW3Ealven4Wy4HcPNO6A1pszSSwTFgueRbm3XUam2MT8ZVuzCNcS9vceGId3J0B1wRznlTBSMeiVBewS6Wzp74OH48etvDCAQyuLY4rzESRIVkQB3E32o3sbi5qh4RY074Fft3Wk1Mj40i2Otg1+wcRkdGte43FpZw8doNk5yS46Haf0iQMGfc66wygRdvj4CFKb3rhDlr56FWnsSMNzBH4aXHInB1PGs468H3tU9/tW8Snq4gpGKrxeajg9aZVaUki8+Pta0NfHDjXWyW1uUoeAHkJmUCjAAn3v1HClC8srmNmiq/B2f34+O3Hdeo4h+88lMnBQrcduA2PHL3g0JULty4hrOXP8SBqVH84aesYjy/WcTh6cmdeJJZF5mrJy5cw9z4GP79z19VwhsAB2pyfALHBbQUJlLxooEgjs5M4TN334bxbFLJpnP2O+wBC0vM4tiluJnwKUbfEY+zA8FwkzEqk9TvvvQq0pkBPHP8qBJCvictroIPvx+5ShP/6fXTmN/cwkAqjkzcj4X1sghyR2f3ChqOhgJi6q5urOLi5XcwneH8QE5M6ghKztf7GBubQyw5pklY7Ps20Wj2cLeUS9he8EAbq5ebZBfArL317vRRLBaQK+YwmMlgeGDYSffQi1hvOLW6nPydad86EQ9JjtPTqLfCIGq/n5fQrDZHtXEN+R6kniejKZMWcmeKLQ9SrG9UJdOaKxcRDkbU5Ebkkp2WtPwcNNRsVhHod7Bv914MD4/o9ZdX13Hi1GnpR/O5rLJA8QeiXh0UiiU1p/GiaDKyujkNYLCgyPKrncY+x3qwUIuAgYVaXoFRhvi2vYccN12pjCm89304sGcfbtl3i7qzmGhubW+gXC3gyvpFrBWprO24Sw5G9Sgk7Erj+5pogV8qjcV8E6loEr/+5BcxmM7g/PWrWN7aQK3NOethDKUHMTU6gmsrC1jNryMZ8eNff41FQR96sjpcWFPLUI7AGentLr735im8ubyGcLODpa1FzA7vxvL2PDKxLDZKOUwPjyFXKWBibBdWNtfwufvuwjcevlswKJm10veS27fEWp/bEfaM3u1hWuYqb0KmFnfTMBSqZfzDf/P/4vLiEt78V/9M+ctrJ8/j0WNH3Fg4WsY+/uTVkzi/yklIThG928PhiVmkOS8kAOQreayur+PClTOaRjUZo0pHT9SaTt+Ppn8IudyCdLxKTfawG02HbQMEQ4xc6UkXGWpoVtVganOVGwAAIABJREFUJWL7tO6ewJvtk+kC8Ac9RMgOkvVLEECQRpYOkqstuE5Qfp2iEjTn/LKEP+SxvEKRYaEKRPvA9PgMDu47JC/DfazWarg0f0Vj5R688260WxzBYDwpWu96o4Jet4lGpYKPHbkVA9mMwrql9XW8f/a89MDklZynoxhFJBZDbptt4aSyM4FnhBFUmCaPIIPi0C0HeYtcqtqILIiD9K2HXkHEUw88rRmFxsTlkJEesvGYFNWp1VuocYJSG7ntNWn1Lm0vYCF3w9yiw7ud2bLYVQiFI7URby+1Ua+bgMGT9z2C3VN7VCDiTOxmh9VWWqwultcWUWgUUO8Cv3HfHXjm7luVk/Az3QTwDFamIXj/+iq+8945bFcr0k9qthqIxRLYym/KcrE2kE0Na552IpZEsdXA44f34HeeOC59LXLa6bGEZDmxaNeUhz/5wU/xjU89LvVHC5c8wMHN43A+hheIw3f+4P/8j7ixsoIf/dP/AYlYBJeXNnB4dlJ91Fx8hql/8+4F/OLykg5SKhLDWHIAnD7LTeFn3MhRNqiNbY3VTiJYXUSusKq8jXqzofQ+FAsrGM+GEE+NIF/nPMG2ZiQq7POkhhzJkQaqVC1K5d0gV6s2mziCYzKwl8PlmqFoQq2m9AKantuHhhSZMovBqKLxSAmf07/cFCjCoo6qzoAmX+Eo5wG9lnUi2mWLhGMYGRi2Hn0Vbm9Oq+JnZy+5PD4Fw5XfdlCvVxBgzNrrYnpyBrsmJyRmeHV+EWfPX1a9xAQ77ALzNSk9SnUVdl8KuHD5CT+vTQZw4t0uSrrZvejiBgfMeKCT70tPfaXP5GRxbUkTZxki3b5/L1IxTikKqKhFC7K+vaKDvFHYwJX18ypnWUHwZrca30JYt5xvGNFASrOwteDw4ciu/Xj4rofFqeF0IM7NJt/l/PwljKdjeOSOj+HP3zyJf/31Z5VvGD2bSa0PGxWg2u5jaXVN9OWXTryK969eVU2EvCXmNyUOwwwE0FaTj09ztimtWa/WEYjEcHzXML71mYd1EHfICo5CYoEVsLxZxj/6v/4D/vj3fwOTI0OuCu999SZrQqeOnqzVwj/9s7/B6SvX8dI//59t9DGLl2Qm8D/FxEGcmK/i/HoOjXodCXUx2hSrrdwmCoUcovEoGp0eVjY3dPjalRU0a+s6nKPDM9iz736srM4j0F5HJp3GuZWS1tGjhJiR46GOYWxgxHXddaWjzP7s9dwmipW8TbBy32uIDUOzEGZnbpUKZr9JYqeFzfzeje119X1TJZPzCdm/zSaxICVKd1BJQq7kmEHat5zVzhCTDFp9Lg4tchOlKIzHS0PPRmYtlVx4ZjiJi8zbgfSAQBTR6nvUKyvijlv2o7Cdx+5duzEzNq5138xt480TJ7XvnJjrImOtgS4FxQvrDeTzResnYm+6E/v2ciivkGjq/VYn0jXRuTOEy/ebn//tPkll5McHgmxZbCMTCWJ8ZATBQET90vVWE61mHevbqzh3+SyawTJalLR0rneHNCasPYSwL4mJ7CxGsln8+M0XXSwINfR//pFPK67myObNfA6X5q9idnwQ//0Xn0Gl3cKFpRXcvXfO4e4W9r10+hreupSXunmluIlcp4JYC5hfu4p9k7txZW0B49kRLG0uY3xwDBuFTUxM7Jb0ZCJDAeMgWo0qjoyl8T999TMKebxfolO6lmFao3/5Vz/Bd199E//8d5/HPYd3yVoqvJAiiyE5uriOScBFfvn9D/GjN9/F//aNL6knnUopGpbTA9aLFbx1aRXlTgwxNrP3uiLLbee2pPPEjU1nB9H2+6W4PjYwJW/Qbm7g2oVXlB+Mju9DMDqFPTMzOPneDzGYSqDQZl2lj5HBYeyf3S/LTGG+dDytWRetDscyt6S1y5oDT/PCyrLJunoj3HjQKahFSkowjPHBUXlia11m7zwrykGUKxWtQYLq8JoS5crHrsuQYtGM9tnSSiF0qsjTfmjCluoJPHAmrcq/S0hBM2mMz0dl/lq9gkg0rhoHOxBNF8GvfCQcMSifvTtH9h1yoxyAlbV1nLt4WaEj8w2v09MrSrLyzvRgbWPd1UssHGShkQ9hHtUTSbSE/qbInIP+H73rsT57NTj6mdj19eUbGM5mNLx9bGQCoVBEODYZoKcvnMGrp9+UAHQgSE49a6zEplkVb8HX7mPXzB7MDM/i1gOH8f7Fs3jlvTdMJigYwmh2BPccuR2pVBpLa6tY3FpDs9vFH33+M/jYnjlHFvTbiGb1mlh9Olcq4+ziCi4sbmN+Ywucsxvs+aXmOJAcwOLaAsaGJzC/sojdM3twdeEy9swcwHZhG/FEBoFeTUWqiVQE//grn5XMDWsGQubEozKYl+H6P/v2d/D2+Uv4t3/0OxgfyjrAw0pQ/MXN8II+wZ4+H145dQ7L2yU13CTDETzz4P0o1rvI1dp45eRpvPvhKTx+7/0qelGBo1DaVujCZDPMQ9FqI1cta8orC52LSzeQTkSxvHBSCXg8M4HtSgsHd+3H1sYVFRjHRueAQEj91If23ILRoaysMQcACWIm1ia9KA4b5UBRm5vIZ+Zrco05Mo9cKoMjLcdjNKkaiDfp1uWUyjFdtZlfZ96jUM0z3erXsrqGCmyu+1CGROgNw9E8FjeXNcN9cmgMs2MzCqlUX9Lr36zKW85nwI9AI+fpNcBJhtl0CTY2trCR25LBYj5LD2cexRr7eBn9oRCKVJAvlg1wkCZY2NGIvF4kpxe20xPvAvtvfvGbfQ5Nl4RkuYIry/OYGZ9Bu1NHlQnuyASGB0fU/fbyiTfw+ul38MT9D2O7kcPKxg2pnfAC5Ldamjg6MzYnWjqPNuPRrcL2Dq8rGo5jZHAQK5uLyJXy6Pl9GMpm8d8++3kMpZM7LFElitosG+lFKzCcSeCP/o9/j81yVSC2BFdIb1fRqC6pTH4v/x8MJ0RPqVTLmBQCwuGNwGikj2w2K6SDQz1nRwawZ3wIo9mYsHIiUs1mE9/643+Hf/K1L0mG0nB0m/+3g27RurniZ67Uwo9PnNF8xx++8TL2jE3iE3c9Iq9bqBSRy2+gUa/qou/bfUBhCqcoWX++p4trE7YsjzAMn4d3Y3tNyOFAiqGeqS02mlVMZNNIJwfRIg2DyA8tvlIpg6oFNIDfW8fjxx9FrlzF/PKCOU0dRkfqI2mwx/HeNsraJj05BqeD6hnGUQOYF459Jkx+2bJrLQR2QZgvqEfdCfnRe7Kgy/Zlbzwbw62TF98TfUPsWr8fg+lR3Lbvds0c4fOOpAfsvjmBOZFnJfjhsdzskqr4x7mKoT5mx0YUqjM/Yl1uc31LxozhG8NPmwvTQ4Tz4P0+rK5voN8xoQcicR6R1VUcdi6k5Ph40b/22a/3q/UKBlNZJGJxPdC11SVk0knBbFtbWyokkRx3Y3UVr516E19+8lk17rDqvVnewNXlq7ixsIjtUh5BfwRPffwpDA0MibFJPVeN5RJXqIf1rVW0+i2kM2msbhdEsfj1Jx9zlIid9iSn3kD0rIC3P7iA+XIDl86fwXYxh9nRaVxfX1RYtZbf1PRUTkryBcIYSA8hFOYEJxuYmfJxmEpUhaHBiB/xzBDCnE3X70jRm9q/A8kYjh+ew67RrC7Z//5fvoOvPfmwettdgdiGhvaAcrWNjVIVK9tVrBdr6mfvUAWw08R3Xv4Bdo1PYXxgXOOaGZ4RcgxFEgoBDu/ej2q1qNkUgUAYyVRSHsPjEvEQ8YLKQ3GuX2UDuXzOTcnyugSBAaJ+E3Po8bD3+5JRNcIme7c5I9JGTjcbTcxOzAqmv7Z03cTUOMdEE5XCUt0XqZBi5bxofV40owpZCGlhiNGHegJtKG/E7xcTwE81eO4rq/RBm0/ZtUvEvIfTf5WM+4k+LeHEufc+6nB0ET71wNPKUQgLr28XMDHANmmypK2AaEOYTK/YKDH8bY1d/n4NiUAbExO7kEwPqq+j02xhdW1DoRtHuLFtlnU7Hnb2/ociUQ3VKRZLej4OFtUkY3ffvZ5LlS5pwH79U8/3N3KrmBqZwvjwqNzxytY68qUSRqQKAVSqRdRrZfUsvHP+Mu49fAhTgxwZkEY2lUIkEJSix7/56/+o8QHffPY30GJY1uZo5xY2C3nh3hyxRct937Hb8NC99+Ff/Omf4XMPPogj+/aYNKfTcGVo5Y08e/P9M3jz7EWUWx2sry1oA8P+ILYqeYykBnF9fRl7J2cxv7mMsZFZHdZgMI7RgQHkqw3MZALwsQDV6yEeDmJmapesCaVJmYpQRZJ5A/fjgSO7lYP98X/+U/zj3/g6OAKDlOtClUOCODeiJVZpq92Qigb7p+kdNOOj18Gvzp2WmuOte29BkJ4sZLO6K9WqoMbDs7tQKOXw4Y2rEmSenRxWiGPwqFlj5hJqLOu2EOp15GkFbWs4jZOsCUYxNDSKYDiJTptDJy00sozNJwVCjlneMzmjWeK8yK+c/qm8LT0QDzXngi9v3LBWBivY6DIr7FQh1AlRO71kMXtVDreUTXK0DM+cQKDomkqsTQrWkt2b/SdUVdxaL6HZ8ETjgEgsiJHRtFlyCjO0Azg4eQuiobhyWbEX+J+rV3hMYJFG2OLbriMebAqJHBoax/DIuIQ76GXW1laxukJAI6v2BptP0lVdJhZPIhQJq25CUTuvNOEBwF6oIA//red+r8/bGouFdLC281tG/eVsjW5XyXs0EhSqQLf5ixO/wsHZcVU8xWIi4hAKIRVP4sbKDQwkk3j6gUc1Y3wom1IszU3jraUmLy0Mk6QOQtKhuufOWx3VwwpZEo8QVbqH+dUN/PkLb6DRaUrgbTtvs8YJ/9Fuhf20gnWhOssryxgdnkSt2UIqOYwEylgtNbBnIKxLRch4bGQKmUQa40MDGsLZ67clJE0OEMcSF8oVTak6dfk8RgdGNAqarE6TZW1ZXUQkO8PYSd1gMsu4l8W8F958Aftm9+HWg7dJaobTctUC2+1h1/gEEtEIWs0qLi0uKJzLxDlsx7hfYeZpVPfo0CPxcHIoUEQjriXjo/qP8cG4frFYVGEep++yoMhDwnDJhlWy/tTGnUceEEU+X+3gp7/6jpvLshNpuT844WrHn1Nbq3hYrguMuQChWUWYVlDjBZAmlYpqNr9+R91mp/Xaa5AzEISC1BTgqFc4p6UnATdO4PWHXG3CwcHDyXGMZ+YQC8edZXczYpz3MMo++V0c15fnMG4MJqPyZiODE5ienkMikdKhb9RquHjpqtYgkUgoBeNgHE69HcgOIJVMi/2dy2+bQINyNEeJcpfb98VHv9jnolsfsX2RHXyRYBBXF29gz9xuVDUYsSH1hwvXr+HY4UPC7uv1qtxWR4NYjEfFUIr8GOLzkUhcMTd7MJ48fi+OHtonuZvLC2s4dfkabizdwD/41u8ZCfkj5D+GF3zNP/3Rj/HL99+zxEpCys6y0Z0zHFA8TVw+hGg8g0Qii1KphOHhSYyFa9io9zGRYEcbEI6nJOtyz6FZZFMJXFlaxQ9eeQ3FCmV12IJpISDZAeQSqYimcdXUrjXFdY4pULENXXXAhSNh67Lr9HSJ3z71piggVBWkNQ5zjLA/gGotj/tuOYpweBD5KpXJyyhK9pKv01OIJy4VRcyyo2rAqlTKaHRaWFhbkQaZnyFjv6dQhHMD4/EkhgayKJZy8Pc7iET42YgUMaRlONTBwV1HpHZYqvnwwomfo1jfdLUqFzo5Jq9YA66DUoxgd1iNbmNMX6+fwgiDruDo+Fc7LGI3t0WaaaKzdxViG1rkxUemz+whh1pnR/WxGqMfcf8Ibpk6pCIuQyz7HuY9BHBodBiBklZU17SydDSkHJbUE6q8D2ZHMDgwrCm6DO/Pnj1rYEc0IQiYRqhWKUt+KZ3Oysjn8nnlusYKsH4fFY+/8MizfSJMrGISeotRoS4aFT5Py5aIJw1r77Zx7sY8FtdWMDUyKK+xkVvHYHZY7Z+cb9hqch5dXVaVybImtrYauP/oUTx2/D4pD569No93z55CqVwSQvat3/4dfd+O2rcb4vPXL72Cs1cuY3F1SY0sPBiVUh6pZFaHK5MdQq1aQjo1IBoF+5yTsTR8oRh8/RZ2ZQJYLlQwmUmq12B8YjcOTo9j79QoFte38MLbv1KPBUXZYuGYc7M224O/6S1jsbgsNteFSCVDJYY8lXoJ6WhUlJbp8Tl5CeL1Zy6ewvDgMG4/eFQh5fWFS4p/04kYnrz3YXywuI1CsagQgHAnr1o2GcBd+8eRSMRQrvsQjGSQ215HrV7GdiFv8jUMBcNk+JJ5YGPyOBaOVnhieFAHcXwwLaNET0ZrysT2ytVrKnRWW34UShXU2g2nCkbIwCreFOHzRiJw4GkkzOcNQiVS5etOEop9N46qYhpldqk0hFSoirG96WVNmJyWvoMLS2exmLthF80hWtb153r6HbvN6PT2flTcmhs4iIH4sOsh8XQDPjJar8ex2y1V4mu1ElLRCEYHUojRaPUDSCYHMDQ4Ik/B87uyuoq1tXVJ0pJBzgvGdlsK8KVTHBIb1Wz4SpXTcW2khrpO/9Hzf79P+JHepViuYGM7JxdOq8iqJW+biGx+P5a3VqV8zgorBzPygcqq1mbh79mIrXy1oh4PhkJEMe4/ehh3HtwnOPfEmYu4QVXyyx8gncggHo7gd3/zNxXLis2vwlUAp85ewP/zox+KlnL1xjUV0diiyhxIrrNew/DQOPKFLQwNT6LTrmuK69jQEPLlBiayCWSjXVQbHTUYTU/tluTl0X0zkp95+cQpLLDoFo5pM5mg8llJGmo2qDLZEyeKcxnz5S0rsKn3HsLsaamiwSCy6SwO7b1DoYaGWhZyqDdqSCSSCs0yiSCiIb9gyKce+CR+9qv3LTzheOJOF61WA4PpFA7uGlGnIEdsh6NJFEsF5HU5mroUYiw4HQAaFUKUFKdLpZII+/s4OD1qSvFSeiQEa4qPm5sbaDfaKNZbWNnM4fX3X5ehoee1VmTrD5F/8tqIXYhmvC7Xu+9kmBwY7nrZdziuBsESsep2VZd5+K77lZfxCwsbC/j5yR/rsoi6Ivher2yX1UnQCg0TQdAUWiL+KIbjsxhKWR2LXsSQQ5YWXA1jh7ZSRb64jfFsAsOZtNWEOhA/LpXKaLxgNBLW3p87d05rnU5ndAmYQnTbHRkbGh0Sctm4Vi7VVAPy/S/f+Id9JkjkNl26cUk0EBaNxLVx8wM7vTbarIT2e9JapXo36cYseHVbXQwMDmpWNd9kaX0ZV+evIZNK4NP3P4TbD+6XFfzg8nVcW1rCteUb2iTmInSXf/DN/0ZJlKu94eLla3jrvfdwfmML/k4bqxtrSGUzKG3n9Z6kvXAgDi1/vV5XssrR0dn0KCK9CtqBDJL+OoaTUSXiM1N7MDUxjcNzlgN8cPkG3vzgFCKREK4uMlmua3N5cKcndmFqdFLtsJRdjcfjItERpDjxwWsolQsynQxfiBoxt0qnBpWMW4cDSYot5LY3MTY4iN969td1EDaLOXz3pz9FJjOm14iE48orGAsTJKDl5uHhumgmJEMcMpddfYJf85qYrKvBPC5DP+YCmvJLOSM3ftpLvFkg5MFkTkFqDek94iYFSBUJKESkhzTpWYuC+BqcBSMpBJVH2BIVEMHPq/+IHSxPbwdVdSQfxKSmVM6Dd9yPbDKLvo85lg8vnXgB55bPONoQK9YdCWNY4dqJ7Xkj4JTqGFIW7CdwcOyWHcEGI+FbGsADY4AGZ8w3BOmXqyVJO1F3S6/ggId0KotsZlBGm15vZWVVF4DiDDTOzDHbrYaAAurx8pxxPZj/+X7/ud/sbxUqin/Z/82RzIQupYjhJF8Ym0eCLCjZxFombYzFOV/OHwjLojY1qgvotljNDePI3Ax2zcyi0epiaW0N11dWNQbaVDCoH0upmgDuPXYctWbbTdNt4sbCPEq1sjhZbc1sN6oLi2le4kU4l/MwuCGs2tIiszI/FI+g1gkiEeiC+ui8dNPjU6InJGIhNJttvPL++1jLrYnHtLo+r5HBojr7gpiZ2I3B7KjzmAxToPyEB/TyjQ/FJhjMZJFNp2SFpkYnEA0HcP7aJc2n4IqxgYeI4JEDh7BrardmYnAt//z738bU2D6srK+oYMgPR8MBdFAsb1ktg5XfdktrrLBux1Ja/wWfU12aO70p1pPDQ+j1uOtyuNnrSiFcj4eEJXxh1S9YYBNLl3vJuJ7KM67eRPiXBUfmRB5bW/iVQg5TfCE6xRzLVE5YPzI5HYYnfN0Hj94r3TINcvVzgGoD/+XlbyPfzEnEXMm95IOsJsObSfPCEM7KTd5sSh9G4qOYyu41r6MHcpfE9X+IzkMlRYZbzIubVUwOZjHMmSA0xI41EYkmkEymwcvCeZX5QgGrqyvKE7ln/BACYzoGOmiaMZG0f/CV3+tzpG8qwdZGQ5KEWnDehEtYPPH2hfV1zI5OoNYyLN1gOOvyMogWyKSiOHbLfiwvrWBueka1EvZWs11SlobsUI3wY2jDhKmD6yvLmJuYQJSXkNZTnWicgW4JHheGVpuWkgu4vLaByfFpFcqsiZ+9Bq6Zn1sopUQyXRuIhoNIRK33eqNQwbd/8j3ce+h2FCrb0mpVvtinwgbHO/iRiWcUbnmVY1rOWq2iNuBd05NaXNZDCEjkyxVNyF3PbWArv67aAes/gwND4mKpC4BFM8Ljp9/BQGYEK6tLOoC8oB69e2XzulXp1cjDOYCGJN2ESm8yjbzWX6+yrD1wHlAH2lWd7b0VjBiMG/Sr9qFpxQGib9ZAxfzTcf1cZ6UVCuV5vB51inZrlEFfSKQEGJzEu9UmGDr50Wi0sF2s4KkHnkAkwPHZNlCHodHy1gr+8pW/0BAjtQe7S+Jxn0TFF/nVqPREFokskY6SCU9jMDqs0N+bQmWNc0aTUdsBOXCtliB40lbmRkdUx2I4yoJyvdMUTy0ZTys0jsXj6LRa2Fjf0Lg+nk9V74kA0nD1Yeruf/Tlr/d5c0YGBgVxJmMxJS4mRG0WgsNH+OFPXriA0WHOyw5jZnRUuQgtpA2F6eCdc2cwv7Jht7lWUr8DrQITfzJqbcvsPzX7q0uxh2KloPpJKp61qq6boccYPeij/ArDMSrekeRYUbslqc2hUFxq4XxdDqNhfsADwIPABIyHu1jYQCY5iG6niXw5h4fvvBfTI6OWKItQRy8IXF9dFmo3NTKJMTbpcDCMJv92JSzBTTNx5Dq2S9sCGC4vLWNyeEAFVnb7EXJmLkYWAENMDf/p97G6ncPCxgpmR/cr/GJIyU3gJq/lNmw4ZZ8VX+szUahjFFonV2N0HlNYcb/cnTHdMguT+HVabUOeLETipSHCpSE+LqRgAY8sWY04cO3GfFUVzFS4tHcxD2LNdGKKC+lyREYhj67JyhlKQsuFShWH99yOZCSLSDQlo8dRD9zz1z74JU7Pvy+pIZdIOHDrIwqcovy4CQFsjhLCCkyn9iof0WY5CNZDMWWgmdf12g5er8v4zY2NIhmJKQHnI9XqNcQTMaSSgwJ7UsmEzsvWZg657W3116snxhknUZ4eueexvkrxIVZSqUlrs6y9/nJh/a7PuNVlSEAXHdL38f9y8a5dlaiCp9JI7o+f1knkBePO0GrR5ZoggrlM3n6+Lt0t6xXevEGP1uH1r/BHGC+aWEVAyEM4FEM8nkJKxaCYGKLcQB6+Wp3N/SzqtYR9M2lsMVxyBTcJAbDmIBjSoFGGN6JzM8ZlostY2Q2jJNTMIqJUwht1hXvXNy6iVCNbNCBEi/0yrBeFpalkoAOFBziRaTI7gNmRI5hfXUY8Rm+qETmaCdLgHPlOC2ubVzWGQXUVzgMkdZ1z1P1QWGbz6XV9TKBB1tNqR+VaQxciHosor6k2O+j12irMPnzfYxgfmdQMEl5aeUjNUNcm2GF1HXW2MU6EwY7vTu+LMbdvKrxL/zZg0KuNyeiiXq9h4cYV7J09IhHARDyDZDSGWDyKQmkL33vrO6i2SX609/RE4LzeJfN69rnU0t03ik0ymMFMZq/OHOtQJnToWovV0GbelyES95o6V/z/+EAWmWRC59vuOn8mJMMaTySRSiTFiaPRXV1dQ6VcVZPezmSxT338s0rPeDA95QprFrJQx2JEQxAk0e+0dI0xaUffI7HpL07QQB1nzs2zyqxeYVkamxolmNHJrnxUFkjL45RPxMMhrybGwx9WopXJDlr7RoiFJiqFW1/E0tKS64vooVwuyKLQcupBJadvjGQiYWoZdvuuJiw3TMYYFt5EVlfZ18GxfxOVgtg+9a06dVxcPanLyEMyPb4fe6YO4P1zv1TibyMMaFwCKmge2XUUxSrj9LIdSkY9gRDi8YRCMC7KhctvKmEnMCADxcKfNKiIskWcnKs1HGmpVTRrKxxazVURD/sxkIrKW1fbPWxyKm48iicffAq3f+xuJaFqaJIx4nY66RxBvk6GUIiUeS9rb3bWnqGvyz+Y2Gs2SLeLC5cvY/fcjPW+uDzh1Vd/pByk3fQhGskolEzHKdgXweunX8d7N06YwqELjwxUcAosXi+9+GRM5I1fxnA/ExnFYGwM0WDUxBtopGWMeopabGaIuTvucaVe1l7snZ4SQBMjszkcQrPREkN5ZmoG0Ugc0VhCv3mBCvk8trbyIjwyz/J9+uOfEV5HV+Y6eC1+ltqiFeJUqGFYpA61m8MdLf51WZaLfbmxRFfojXiY2J7Jh/E6EM1SeXq3N6mgfDBae7OMVEIx6NWSM8PsLSGzZp5AKIzR0SnN9yCaxcJaKpWS8JeQKSIv7Y4wbx4wEur4bpbbdHQABEWHwtguGqHS2lhtZqInqi0KjPRljf/Dy9jtdLBRWcb8xkWtB3Mpq5ibxzGNWE+0zFo5E+EsBuOTxm1SAYy5jHHURsf2oefr4Z33/w4BvzM8pocjzhjXQDPsNW7BRu1Q1Z4HjM+VK1QFGyfCfiTiEam3pEC1AAAft0lEQVRHNtpsxCojHg3ivmMP4v57H1NuqbHUXhHMoVRex6DntQ0B2jHkO3+2C8KaWB+FfEkX7PTZk5osvH/fAUU/9HbLKzdw6tRruOPIcayubSOZGJBwQzoZlyH+7ms/wPXNS67WYCCDOh0doOBFkTuCfX0bYc31j/uGMMK24wgr4xaCGQLqpgsINu44kmtLRW4OhlW4JUNrQhnieYVCuiCkHvESMxphfsgBpLkcRQxb8D19/9N9olBq8LHWs53md3tTZ+ndOGFyinamS7mJqEZHZjjwEQq002ISL0dfdrMHDcVzEKYhYQwxGqSPuAYsfh5af8b2OzL1zpJ5l9WqqaaFxAOs274zgIWvf5OVSlTCAAhvtJeFPzIERJPkUZzgtou5xVD19JRc1xxX1ZRcuri8fgH5ysrOUBlVEp2oi3fg5KScp0pFBzGV2StSI8M0xr6mvOHH3r13iPX7i3e+j16/JRqMntMAf2egbj6P1SPk13SJVHfzhOxI71YxmMTEngp/+3cfwpOP/ZqsJ9+PPRZV0utHxpzUqlH4bW1vBlXuiojNK68OoNXoodv0q35Ag7CwMq+hNIf2HVYjG4ePBkJtvPyL76vSn45xwpfpWyWjxrDlTMy//OVfoNltulqI5V48GBr+KvlWHmKnSuao7j4qWLaBseQ0hhNDAhi0r6qAm6rJTqToxjuTL1epc3alH7snxo0F3u0jFooqUddQK4am8aQQLYa3bLLjs3Iise/pBz7bZ8xNq++FPHwIIQZO/c6chBcv2uB5CTA7ujYvCC3rRzWIlPQ5pXVTmHDK3Dwx7hDydVkl5xATzu6gx0olUrLs5oGcJLQH8XkmzmMtqLfcwjANjNxhZDJssmTTGzPNMMir1ssbMFRUH3dAh96TyuQBinHATSImNjALgNTsqtQ5Pti8hC/Yw8lrb6PbY8ecJcO2v26DhBy5bkttSBe8IHNDBy00kiFy+USvh9tvvQ/zq9fxpjyIMVD11R2lQtfrrbjdTUB1RTarQRDaNePG6Id7SS/stZMOZofwxc/9rqBwWv1atYqN1SXsP3jYsXm5l85bMxF3crIWxgkrtoCOgMPqKlYXlzEwMCbOE8OtYnFbyocMN4uFHI7dfScWFy7hxDsv4Ojhe9HvR9X+zNzI4S84eeV9vHr2l4ayuTmXikhU47BWBoNozVhYzuJCU18Yk8ndGthKWjufn15PcDP3laOnDWK1Ds92S3B9LBzA3PioXpdQejbDBrCAanhETPk8bNsWpT8c1Wv7nvnE5/vcEGmqMtTy+hI+IuxlMalBwF5S50n2CNd2qtnSXLKRn66t006swZb2oPZVM6vcRCZ1bOmUAJgIeybXopmIbsCJCQi4e+Uwc76CxkjTe5BV6sn9k0zIA0a6hZs5IupAMKBkUhi7VDvslnkUIdUBVKTzYXQwjUSUraD0lj1sFIooVdmbb1ywa+uXsVVddOMc6IkYDzt8zgkg6DK6nIY1n3R0CHtGbnHvacmlhW19fOKeB3Fx/hLeOPkzpJK2Dl6YYzm0QxQVp/Pi2BrSElqI+9Gim0285bfUW11p3RJtfPbzv48YC2WUfC0WcfX6edx17AGL/b0cXd7dqtsWJNrl38gVBZXH4hEsLd3ACy9/D+FgDAHmAhp7wWfhKLsGIrEovvKl39El+9lP/rMS9JHsLJIkkMZTQvi4MWRo/PWrf4GN4pohZt6cdvWq2MWQwiXLDrw0O4ieWaNkMItMaEQ0J+21y4UZRqp9VroDbC+2+hERSaqpUFxy7/Ss9MAIpvBCeFR98v+YewRCEYVdRCp9zz32rLX0ezIyIrzZoosGvCP85g64wijHs3d6sEzWSYvwvIwkLrW4DG0saeICsHpL1IivIAiSvH+nZMjXlCixpwPrpCp1EJzSCA+c8hnh5RZnmiiAwZqKSYnv+4KOC2biZN7cDCa0fB8WQuVRpPzB12GuZPPFzfOZsJhFOKZ0bqie0azfvvQWAkGS5ozxKvyB6JAKPGZ1vZ4FKyX0kYoMYM/wLa5/wvI7hXC9Ph6770GcvHQaJz78JbLJpCE1bo6IGSdLYNVXw5qDelOsTqSD5eoHntA06epqcOoylNNYYTz72W+KxKmQst3GmbOncfsdd4t3Zbq8TuvKjdYjf80q531s5UqaJ+/lCtv5Ddy4cU71hsI2i649DKr9YRhzcwfsffpAPreCl1/8K9x9+8OolOqYmz2ELpFCd+FXc2v4q1f+1KFztv9mGJ0gtdPa8iSXBKKopGMjFYLdOKYGZxEO0NpTMohfo6E3YquU9h0NhuvF3LTSKEsQe8/4uCYchwjhIyBmBnMOU4JsA34Wo6PwffXJL/VZ/MkVOJjG4F6LZ4MIR0M6TLoujkJNWnsiElGiqcqnDmpXlXbefL2Rm4HNIiATZV4YfvAdrSLSz5stHUgnVSRVO14gD+vXjAvRGEwOxpVYdUHYQdgULZydYTaeQGGWcg1zw+qQc7wiHi5+Vn4PQ0GR/4IcHGnTfY2MSeqGgRNWzCXEaKqDEjTjM3X7qLWquL5+FcGgXXpFIKR0EIkS2kc5a9PLUu9KKIZGs4JkJI3JzJxQNFpPWnWBIH0fbj/0MQlXXFs6p8q8lxXb1ChrLRWq5MIdelwLI9zoM4ajrC6YyzUyihVTTKneD3z8nsdwaB+VYszzvvj6W7jztqNSPaGggRyqads4npStl9VjPtKWyn/lnXOX8+yZt7B79yHEk1mL7xy8bdyVLl577UeI+AOYGturXITIIxWrWYfhE71x5g28d+UdIWy2c57GriM3OkDHEna7QCw7qBDc7SMbHcVgfBjhIGsdrPjTENOLuG7EHVk7g6F5caj2MpRMYNfEuHIj7gf3jdVzvo9aFRpNXXzfo3c92qdV4i+OBeMEIzEZu2R2hhVWUYpmq1hQ0jw5MqbCHxeNogCkEbATbiBNindIH44Hjxu7XSrZbZdUpFHDjQbOiq6FPDxYCsmkccTPYImkffCOFXfYu00L0e8JYSCBj6GcPIoq72SkhnRRaR2pZiH+EvpiFzOs42UhjT0VtxgzHo0IGtwuFXUIOD1W4EDIBtPzsMnbkVEQZJ7i+qUdJEqaiCfEzZ4Ssn9Zc6AnYw7Az2GVbTt8DPv4+jQ4ZASzX4aHzBMW4LFmjUiv64xJqVq293aSO6yxqF+E5EgpwVP9wybASizN50OpVlUvCA2dBWdM1MNIJ9MYyFLtxA6eKP4B0nVY0Q8iHCYx1UAWejAepBbVTNhzEolqHSlsl4rFkYhb56mBM2QssIvRipnqIxf8yjqZXx2UVy5/iMnR3cbyddEDX5MDPsnn2yyvyDN6nDBbL+vGNFFqkxH1YFyRQ1nE7XcQ9EdlfDgBmeEVIXivO1CGnVJAYRYqTSWeXxRkz7A3TtWbqPJpGiGikbzkXGMZABqw+48e73NhKcfPD80DxEtCK8RvvLa8gHqrhaHUgGZH8xDw79FQRBvBuW9DAwNIxhO4wkYgFg7p4ojnU99JYY8tPukcE8ND1kyvrrM+UlHOf/CpCKcD6rSYuEmVSk2vI11ZFwLyAiV4EAkLN7lIHL1cl4YVX5Obx0MoHaRQGOVaRTUQb/AjLyVn0zXa1n+9lV9DNBRDJpFASYPmrROOk634vjzswwODutD1Bi+mG/PQYS8HoVZTBqGyIfMoEiTpnbjhhTJrHn4xClR7YdNZo4FasyY3TziWB488MyaS06PjKFfYsw2xFxhbsxItgXBAa841ZKGRwmtknZJLxmCoodZfA0pooDhGmfws9Vb3gYnhYbsIkhyyGgY/PMMKFlT5i9w2NpypVdhdRvXhSMqoLUCF1ZBEPLFDI+GFLlaplFjRYeZ7so5jc8+5jiUUqC08OKpaFntceOnEUVOLrjMkDCldNyXXhe9vyKo5VF4YKe+w+s+D3qOBbhpZ0gFG3HOuE9eTbA/+u4ilar8gatjTfBbz3BSnqxs5M8jio4X33jnkqGrV+Y7fen+fVpIKf7wxdLkMo8rVChaolRUIYDjDfvWkblUsEgd72FlJD4ZZQ8grzOJl4QemtyClgYedC0R0SfKZglR6SCdTmj1Or0B2MO08Ey0+HPlN9BoMediIJXSMTVJuZgOtE5PBcr2KKkdnsZbBzWChqN2UxGUqkVEzExGJVCIt/L2Ptg4u8w1uqOQpg0zEori+cEWuWszYbssKgZ2ODiE/B9tx+X5E1kg5oTIGN0hjAShZ02oiGUsgETNYmnE/UTk+o/WGd1TlL1aqspZe89AQO9oSSbUjVxvsaajh0Nwu4fEkjbIVlPQd/hpIZ4Xhs8fGo3uY/har5Qwb2jpo2WRaVrdQLqBC2hBF47o9VKs1hcgjQyyyslXWIgP1mPQ4RZgTlupK/pPhqN6Tl2Jze9tB6dZzTr4SD5WmiwUplVpVAkweHY3p8vqq9pEHmWtvUUZD2lrch8mRKR1ClgrqLZtfqJ5z5oVOUkm94zIc7Pe32hPXlkaX/8Z95Ncp3s11lUpjlXUgrrONTmNIHYvGZejoyQniKCxT7G2Xk/uyndvQmSc7nZfIQ2U9yg3Piu9Txz/Zt0KexfEmEdNGpVaWpRjODOkmcQHs67R2Hj07KjSAG5or5PXh6H3EgoRffCg+IK1xOpnUA3Fj6NrS8ZQWz1OgsHc3HVi+Hi0BF5tunhNIDUbu6oAzjOABlBfipUilZAV462NxVkSpYt4xAWM3osA0bF1i73qn6Y3o1nl3ufHscTGOGKkdEblsFiG3iwWN5qKH4PPlS0X1s3ADuGE0KsxR1ArKzkDmDUG/3o8bwcVnGEitKh5mhompeEpeIhyNitIv+nkoKgtMHhE9hXVQ0jNFdAllDEhzDwblRSUQzrCs2cTa5rpZXCbhzbqMCteKFW6K1dUaLY0xY0jhzW3h1C7mXkRvRD4UXb+NTDqlz04aealS1jMOprN6DnobDU5SzYm5KscpdDEyNCR6D0fMsUA5qmalLNqSIcop0hjJDsqTkJxEgy35IcGyJkQtJKzD0D4kXp0EH2QU3Sx2jfJuKKdlXkodLW4wjQv7cKSUkhkAybfab7EmrEBMo8A9oBYAOVbKZXkJ5XVN8JAtHzSUFKOTVgDP5BP3PC5dLN4wxuRruU1Zi+mxMVVvKeSVYrysi9EWP8kSXFouxnsW0zEm5IeJs3TPpNoHtejq4PS7ekMWYbjAbB8dzg7KpfIbldi6ZJmvR0UMJujJaFwaSmyG4QEhDZ4PzdwnpV6NBFptqgdmZPEZznB2SK6Qk3vl+1kYWFIPNzeJMTcPIyNbMnPpuqt03aYaq7jctVrL0snLiV5jAg+8xLT49IBGCzd2qokm9ITmSQDapfssytEreAbI5s1zOAzl+33yqGs5ji8gQmZUdG4Qv58HnqqRXB96cdIueAB9TCj5PS7G5kVmT0y+WDDFkjDDwmG0ajV5d853XMtRVbFvlPqO5RYCWTQNzI9kMqU+laW1JYXStNA0AApJvDqEIw9yb0ulsp6RQnODA1nki2UNQeJe85LxMtPyM9zh4VtbX9U6HZjdo3xieDCtQh9lYCmeYJbMCrg8CzIkzOPIVA5aAh0NGIDEC86wPF+h+HUA8QgH67BlIyAvzrVkZMa1Z1TD76HBkhgGfFJb5IVMpOLysB6qKf23NlVlLHfU/n/hE5/qK96naEGJiuMRTI9P6yZVG1UTjW63tBBG4DL9XX54Wm2GNrR6TMrIdKV1FILUp25RWHH3YDajD+E9sMS/GKI5d8iHZ7ig2Jjjr+p1/Tw9jGoTElM2dIUHmtV3PiAJixyNnCatOhhAuVYXXi/hCXozXhzKvBRyuqiMsbnp9EyCnUlBUcJKYYaWiUnImgWFylEFRJ2VmlvBZyYVhm67pWezS2J5CEMxXTzCj6EQcsW862V3fCZByhZyMURgATMlBQ5Iskg0GkHKfQxQmKLZQKluIQUtKsMAKpWQ9cwQgLymGGN1N2WJ3nVxZUn0fjEjwlHJ/pClmkzGEYsRBjUQgGtMg6V2XjcHhGvB5ydgtprb1DhnL59T3cXnk76A9oUGjH3+kbDyKSGYYlwzjwxor2nEuE98n0x6QMbkg4vnlYPOTcwob+HMeE8BhV7EY1jwnDHs85RNeNGkGi+rY5pfLOKp552gRddQPXlvtks3SW0nVy9qYAvXXYIW1pJhaBYNpY1yU87cNrCIe8Dz4HEPfY8f+0RfE3kCEcnhswedP+jK6mi1m7KKhjCYkBszh1qDiu0JMR8Jt4pp65ixRLDo9vmGrN7yw0rKx80Gs3zEJ4TKqCgMRywBVoXb6R7RKjC0UejAYmI4qkXjZaIXo4eQJxNcbBwxejFumPpHJMNv1Hc+Iw8mL7EVRilOYVOQ6P0qVWOYMs7nZjMJTsfjQkCYnLJbks9FVy2sXlOTrLvNLrBdIibdPTW/Bqz1tl6Xpab30fwTb7g9IXVnWGhRK3VDn7xaEC8x142HnD/DMJVrz9BCdZV4QqocTOSZDxLMWF5bEa1CHZJ+hoek8vO543pmu8CeAjuVT6jnxSjAL9CAr0sImWouTGL57FwfIpEW9vpkENQspQihhkK5qDPCsI+fTSrvTn6OSCgJpnwWPjs9L+Vgh2i42N7a60v9kvvJQ03jpVqI6jcs4nGalQlUs07l1a3E7GarRcvCJ/4yqNboJjTSOhMO8hVfS6LqjkfYNfSM604DxfyNa62EPRTWeSfIorTi+JF7+kySJ8emXExrlppVcYHoGjVg1kB925rgSmkep4ASZjhgcqHbpQIyiZQLnRhjdiXeTHq42jj7pLAwnOopjIqGwkJmyvUKKoRjRfYjumU6ULxcJpBsi8ADJRoArbYjp0kEWl14RCqC0q1SLhYIoNZsirKhUI5zJCRCxmdjjGo1A1o75lrcbE2F1bAZVUeRTMRNPwvG2+JB4PuzeYpGxOspocaSCUKbBq3378wvvM2it5TndYgQAQ/G90St5qam9X38cclwgg08UdVIaOV5wUjCpPtnWMnQhF6CzxMP2xRYikbwGWgZaXEZEVDbjHs5NsSeGVbW6/J6UfXg0/u3JbS2kt9UDWd2fAL50jYKzLFSaaF7yXhMobIJO7NizosTlvhdo1VDmo1G6Ot7sum0PhcPKveRf2a1mq6B60wjytenxyXowSYsKm+2Wob80QjtUJpI6JRXo+JLx2tI0Xp4Ro4HmfWwTDxlvfbKlV1jnRvHzTVtybuH9CxeTYtDd2iQ+DnIABBgEKaEE0EKGwgkLsGXHvliP5FMGRWEF6Nr3H4VTHggQiSmsa7hoepU1wvpg9lkHqd+51ishvdz8Ivd4g5vc5+UB5MGVc0jRDUMS3CZNKk0pze18IYJM9EoxsHqwWBLreomLZEYFT6o68uk95VQCYdn+NUSmsFjpjoG8yIlt3bRlIyS0asOtCZKtYpQO2MLA4koCWxWUOJlYZ8GV4PWxIp29E59HTQeRs1c7zCsMlfNZxchUEXMoOJgtQpTgIF1nRrDR8bQJp/D8CASYg2GShwZlErWU6KEv9NBlGgfkZdOW2IVRGfkqUW8hOBMFtmKlbK1yfpZ7I04Gk7XadASGg3qEvJQ87lGB4a1dwRcmFxr3nmHyBnDaYpFdBAkF0nVw46MCKFhMjhoBEQilYIJQ2NvXDS7Wazwyj4YUvlpJOlVue5i0vZ62NzeVM44NDCoNeX+MlTnYVZxmUhmwCB/77IpHOTX29ZKbXw2KqMwbyC6GjGxa9aAGPo1WtrfnWGWMGF1ETKdOATPOKMHKm8ypCUIQwEHGlzuBwEZ3zc+87zYOKSNa1a663FmiMLjTHhOE0ClhmkZPz84F6vRbugg8MEIgZoFNbqW9JBYyfbxgpkiCReVIQ8fmnEhcwJaOV5E/iAXkK6eL6Ouu3bXki4nwmw6GFQODKPOsQyuI06S/OqhZvzLmSPmpaxtVVdSvxkH8xctiajrRJU0Qy8ib8NLRu/AyyvImngLE26R6YzYSIyeYQ0vrkAKV4VXbzer5yJoGlZPGDSToGwSXTkxebbTsqXUkBlaPI8uI4xeSieWVErMgR/SMQIkTtA0ETsZAB8vb0fKMISDGY7yQjLJTzF8Yazu4nL+n0ABDU+1UdEBJoLGw8hOTL4NLSy/zvXyGuE6fV5oDvJhaGWAB1+X+SjDNeZFXCcJOrjeEcLyuiDsYpRXt+lPEqFwiBzDKmoOjw0NYyAzYEhVv6/14pbxMsjbu5mWan+W97LWBuWIKlZ7vSrWaqw2BvfL0gHr3REowc+UIBhlk3F5MVgxpxflZaVzUA1ExFvXYkDC7leeeK5PxEddZDpIpsuqSqYKN46f5GcVmImTqWIwfqNF54uqP0ExXBDlclVjCvh9pMNIVC7IekJjh6DIMIeHksdd48PIMG3UlXTSyhEpIwoiIWqnoCGLTmhRLFcuItthe7L4pC8wT+DBU13A1TvYe81Qjh6EdQUdum5fzfvNThMx10Wpn6XgQsw8ExNzxsvpRFwLxwtutZOQDj6vHDeTHoQqgfwl0l/AJ7RNGLxEAAwa9yY4iU8lGVErwioUdFVzITfkV7W7slzemDNeYB0QymayUMdLJZoHe1c6goZ5OPjczAFULPNzfSyXcNIhiEYSUj4pl4oqHtKg8XLSgys5V5HNRsdx7ymkRt3j4YEBWXm9t8+PhNpXrWeH4zGEKnW5tkSYeOGpvm6Cex/l8zGh597qs/r6WN9c14EfGxpx4g1ivimn4Fmgzq7XNciLIIOkqMRqXsYMJgOAoxc0EE+fwZttQgPJw29cvK4ZJ59V+D3lSSuoGmNEoRl/pknDaLQl9uz4nnvomT5V1j1ujxIeIi26+eb6IoEwEjEOqqkZiU5UeJ+643jjGLcxdTdtV6OgpFMJq4KyDlKvWQ6gBMzmC3JxCNXRKpqShkkNUQiMHogHSZbQKd7wkIh24hAvhgWEeqmawn8TsdLRHWg1aAX5miVOKXID7A2J6ijBpUuVGgtdN3V7Y1FZa14GzVl0eRUPHkei0esx8aWJY3LLC8qDykTSgAUeNiJhUb0vv8ZnEKHRU4MRdcKFnSLsWV7FMIwHjT/L9zdmAw2MzQpUQ5bkbRiqGLGUxkI909xwX0CNYURfTIzaEnC+Ji+gQlAS+Zxn5R57pEBDbEyNha9nCic2pJTvR7E83jiGoWRR8P1FBNRoARcGkVclQY2+1lekTkoRCdqnYbEcUAednZ2dDkrVCrYKWxhMZZBJOqEMB6nzoHpUGcLc3Ffr6bH+JOZifC6GVgzDPZIpjbLRXswIaZIwi72tlqGgYjKYYRWxU5rAgR2qjO1ZRyWNII0NHcHT936SwbAVVLhhhA2ljWRdeHRVnhoGL4jYyqwSk0fED92H6ghUnwj6OT3IEkt2tlHlQhpT7GUXpOsYwSwGRUj3aMpSif7AOYRCkUz3lYvP6rGEAYhdl0sKvSRO7QsogebFJO+KnyOqXmVSPijQzAJZTDwvFtyU1IWsEtyj1H7ImvzpOBlzazPE47KxA0oOIyGsb25oQflMrFdkkmkdQF5wbrAAXLEtDUWTl/MHMTg4pEo/P7vRZGyuu41nsFyA1p0XgDUmQpqy5PRo4jhZHK8QKBJzjF2uc80mRDlxBYWzomSYrizDHW4+jQPzKM0jYdjmPA7zFRo/gi4WiprkrBd60oPxYMsYOPEM0sZ5qI3dTKXNmCXKDYP3Ge7ZzA5LI7lvjOENLCAKZkwK0sgVAjkPynO1srmqz02DlUgQbHANYMpBWGyl2Bv7hExYW7mOPrMhTHx+hn667E6bS7PZWWB1LRNiiWtSs/2mwSqVK06PjOGkkUYZGgoQ8lvRmDmQhOo+9+Cn+zzw3BxafoVbPatO01t4XChaNOLwtLz8JcKacH2zOJaoOSRHcGAIN1aXdNkkn+LzIZM0jg4TKVoEizlZ+mcibygJ1e2MFWrJP923xvuKrGYuiRBsi2opEeLcpmroWTm2qBrpzq/Ykgkb0Z1Y1OBoQ4XMQ3oiEbx4y+vrFipGoqLH0Bqxgs5fDPl4SSkqJ6vtDfwUvs6Qzir/hvBEkUll5GFYcR9KZ3VwqaBRrlZ1GRmucNNp2XhgO9QFIwLEMJYWzLX9ypMwsVRuxaKZwXlW/bWL4oWg9BiM+3ngeBCZL8jzER3imALmQJo/yGTfCrF2aK3ORGicQmmknrCdl57NBOSYWJs35PdwLXhO+Dl5PqzmZR6H+0SKD/eE60IDws/Iw2siEQaE2EH0az3y5aJkmlgyoAeS8kowgKJyqpD2XeclZJaeF4RrYuorBDks7+M50WdigS8YNBCJQ4A6xtdj6EshQOtgtaK26l4dAkAsURjtxVOu4eeUoPXnH/psnzfcagPWXMKnIGzGS8OF5ybwh4vULWUVxPVNUETZ61dwInmCJAmJMlugDCkRAh4q4tx8OA2kZ+smK85SA4kJHuYC012ySUUkb2Lz8SiKpZJaN2mJSBbkBvOi+PtMtGh5qYVEBXpjEtOjMLFXjYEhQDSCQqmkP/MUMxciB0pMXBIdmw3rW9bMReP9EHlLJpMKMVRpZhIbDgshSyfJBjYhaX6Nn4HvnyCNRvJDpi/G7yF1Re9Lg5NMaA34RV5QHjITwzP0yzwHK+TGdLa7YHQOzcvghooaw6TTMYxdrzwNDa0d+XImvmz6uEqSg2Fddu+CcO9U/XfdlNIe5utyLTtNrY8gbNZciJCpkck8P0NXMhLIbJB+GrXIWKUWgucEIVx+SZhZ+SevAxu4yI9i3un6zunB2XhDeVQauJGhARkwkyQyYqHaqd3UW64dL4lV+K0NnIfaVGfssDPncG1ruiCaUEbIGY5yJDoWwRA2dxGBjOhM/f8D1WBgMdCdiuC1WqC1bZBFtwALhwIIOrhvswAAAABJRU5ErkJggg==","e":1}],"layers":[{"ddd":0,"ind":1,"ty":2,"nm":"img_0.png","cl":"png","refId":"image_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[81]},{"t":59}],"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[100,150,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ip":0,"op":60,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/image_test.json b/submodules/RLottie/Sources/rlottie/example/resource/image_test.json deleted file mode 100644 index e60c95531d..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/image_test.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.4.3","fr":60,"ip":0,"op":60,"w":800,"h":800,"nm":"test","ddd":0,"assets":[{"id":"image_0","w":200,"h":300,"u":"images/","p":"img_0.png","e":0}],"layers":[{"ddd":0,"ind":1,"ty":2,"nm":"img_0.png","cl":"png","refId":"image_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[56]},{"t":50}],"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[100,150,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":0,"s":[99,99,100],"e":[152,152,100]},{"t":50}],"ix":6}},"ao":0,"ip":0,"op":60,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/images/img_0.png b/submodules/RLottie/Sources/rlottie/example/resource/images/img_0.png deleted file mode 100644 index 35ee257cac..0000000000 Binary files a/submodules/RLottie/Sources/rlottie/example/resource/images/img_0.png and /dev/null differ diff --git a/submodules/RLottie/Sources/rlottie/example/resource/imprint.json b/submodules/RLottie/Sources/rlottie/example/resource/imprint.json deleted file mode 100644 index cf7c2f41e0..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/imprint.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.2.1","fr":24,"ip":0,"op":72,"w":320,"h":320,"nm":"preloader","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"check","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[20.5,20.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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},"n":"0p667_1_0p333_0","t":48,"s":[{"i":[[0,0],[-2.667,-3.777],[-10.816,0],[0,18.02],[0,0]],"o":[[0,11.59],[5.826,8.251],[18.02,0],[0,0],[0,-3.948]],"v":[[-32.763,9.036],[-26.427,28.344],[0,41.799],[32.763,9.036],[32.763,-30.549]],"c":false}],"e":[{"i":[[0,0],[-3.336,-3.703],[-2.453,-8.306],[-11.95,19.02],[0,0]],"o":[[12.513,5.208],[6.552,7.274],[2.797,-12.556],[0,0],[0,-3.948]],"v":[[-32.763,-2.964],[-14.177,9.844],[-3.047,30.049],[12.451,-8.276],[37.388,-39.049]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":53,"s":[{"i":[[0,0],[-3.336,-3.703],[-2.453,-8.306],[-11.95,19.02],[0,0]],"o":[[12.513,5.208],[6.552,7.274],[2.797,-12.556],[0,0],[0,-3.948]],"v":[[-32.763,-2.964],[-14.177,9.844],[-3.047,30.049],[12.451,-8.276],[37.388,-39.049]],"c":false}],"e":[{"i":[[0,0],[-3.336,-3.703],[-5.953,-4.306],[-12.138,20.582],[-3.612,11.708]],"o":[[5.263,9.708],[6.552,7.274],[10.547,-8.556],[9.99,-16.941],[3.612,-11.708]],"v":[[-32.763,9.036],[-20.302,27.719],[-3.047,42.049],[23.138,8.161],[37.388,-27.049]],"c":false}]},{"i":{"x":0,"y":1},"o":{"x":0.333,"y":0},"n":"0_1_0p333_0","t":58,"s":[{"i":[[0,0],[-3.336,-3.703],[-5.953,-4.306],[-12.138,20.582],[-3.612,11.708]],"o":[[5.263,9.708],[6.552,7.274],[10.547,-8.556],[9.99,-16.941],[3.612,-11.708]],"v":[[-32.763,9.036],[-20.302,27.719],[-3.047,42.049],[23.138,8.161],[37.388,-27.049]],"c":false}],"e":[{"i":[[0,0],[-3.336,-3.703],[-4.453,-5.306],[-9.638,15.832],[0,0]],"o":[[8.326,9.208],[6.552,7.274],[8.047,-13.056],[0,0],[0,-3.948]],"v":[[-32.763,-2.964],[-17.427,13.844],[-3.047,30.049],[18.263,-5.214],[37.388,-39.049]],"c":false}]},{"t":63}],"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":48,"s":[0.109999997008,0.109999997008,0.105999995213,1],"e":[0.713725507259,0.792156875134,0.282352954149,1]},{"t":53}],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":48,"s":[4],"e":[8]},{"t":58}],"ix":5},"lc":2,"lj":2,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[140,150.756],"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":"Преобразовать"}],"nm":"check ","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.307],"y":[1]},"o":{"x":[0.013],"y":[0.99]},"n":["0p307_1_0p013_0p99"],"t":0,"s":[100],"e":[0]},{"t":24}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.312],"y":[1]},"o":{"x":[0.294],"y":[0.878]},"n":["0p312_1_0p294_0p878"],"t":28,"s":[100],"e":[99.722]},{"i":{"x":[0.962],"y":[0.161]},"o":{"x":[0.75],"y":[0]},"n":["0p962_0p161_0p75_0"],"t":30,"s":[99.722],"e":[100]},{"t":48}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Обрезать контуры 2","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Обрезать контуры 3","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":72,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Кривые preloader","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[160,160,0],"ix":2},"a":{"a":0,"k":[140,140,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-5.442,0],[-1.701,-1.379]],"o":[[0,0],[0,-5.442],[2.347,0],[0,0]],"v":[[-8.053,8.917],[-8.053,0.979],[1.841,-8.916],[8.053,-6.709]],"c":false},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.109999997008,0.109999997008,0.105999995213,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":2,"lj":2,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[138.158,129.583],"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":"Преобразовать"}],"nm":"Группа 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[5.442,0],[0,5.442]],"o":[[0,0],[0,5.442],[-5.442,0],[0,0]],"v":[[9.895,-14.386],[9.895,4.491],[0,14.386],[-9.895,4.491]],"c":false},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.109999997008,0.109999997008,0.105999995213,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":2,"lj":2,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[140,144.947],"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":"Преобразовать"}],"nm":"Группа 2","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-5.088,0],[-1.541,-0.357]],"o":[[3.676,-3.002],[1.645,0],[0,0]],"v":[[-9.12,2.404],[4.331,-2.404],[9.12,-1.858]],"c":false},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.109999997008,0.109999997008,0.105999995213,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":2,"lj":2,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[135.669,106.459],"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":"Преобразовать"}],"nm":"Группа 3","np":2,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,-3.236],[0,0]],"o":[[1.304,2.754],[0,0],[0,0]],"v":[[-1.017,-9.027],[1.017,0.037],[1.017,9.027]],"c":false},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.109999997008,0.109999997008,0.105999995213,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":2,"lj":2,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[160.312,125.348],"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":"Преобразовать"}],"nm":"Группа 4","np":2,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[4.72,-3.921]],"o":[[0,6.579],[0,0]],"v":[[3.869,-8.203],[-3.869,8.204]],"c":false},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.109999997008,0.109999997008,0.105999995213,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":2,"lj":2,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[157.46,162.819],"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":"Преобразовать"}],"nm":"Группа 5","np":2,"cix":2,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[2.714,5.348]],"o":[[-5.895,-1.591],[0,0]],"v":[[6.757,5.505],[-6.757,-5.504]],"c":false},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.109999997008,0.109999997008,0.105999995213,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":2,"lj":2,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[127.72,169.71],"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":"Преобразовать"}],"nm":"Группа 6","np":2,"cix":2,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[118.671,144.313],[118.671,125.385]],"c":false},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.109999997008,0.109999997008,0.105999995213,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":2,"lj":2,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Преобразовать"}],"nm":"Группа 7","np":2,"cix":2,"ix":7,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[107.237,135.045],[107.237,147.876]],"c":false},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.109999997008,0.109999997008,0.105999995213,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":2,"lj":2,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Преобразовать"}],"nm":"Группа 8","np":2,"cix":2,"ix":8,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-18.02,0],[-5.913,-8.655]],"o":[[0,-18.02],[11.213,0],[0,0]],"v":[[-29.916,16.382],[2.847,-16.382],[29.917,-2.018]],"c":false},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.109999997008,0.109999997008,0.105999995213,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":2,"lj":2,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[137.153,103.826],"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":"Преобразовать"}],"nm":"Группа 10","np":2,"cix":2,"ix":9,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,4.519]],"o":[[-1.275,-4.114],[0,0]],"v":[[0.981,6.499],[-0.981,-6.499]],"c":false},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.109999997008,0.109999997008,0.105999995213,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":2,"lj":2,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[96.784,171.468],"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":"Преобразовать"}],"nm":"Группа 11","np":2,"cix":2,"ix":10,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-12.185,7.891]],"o":[[0,0],[0,-15.517],[0,0]],"v":[[-10.145,29.214],[-10.145,7.911],[10.145,-29.214]],"c":false},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.109999997008,0.109999997008,0.105999995213,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":2,"lj":2,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[105.947,107.12],"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":"Преобразовать"}],"nm":"Группа 12","np":2,"cix":2,"ix":11,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-2.212,0],[0,-24.309],[0,0]],"o":[[2.127,-0.318],[24.309,0],[0,0],[0,0]],"v":[[-25.356,-38.039],[-18.841,-38.521],[25.356,5.676],[25.356,38.521]],"c":false},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.109999997008,0.109999997008,0.105999995213,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":2,"lj":2,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[158.841,109.355],"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":"Преобразовать"}],"nm":"Группа 13","np":2,"cix":2,"ix":12,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[24.308,0],[8.114,9.172]],"o":[[0,24.309],[-13.135,0],[0,0]],"v":[[38.645,-22.098],[-5.553,22.098],[-38.645,7.12]],"c":false},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.109999997008,0.109999997008,0.105999995213,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":2,"lj":2,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[145.553,187.068],"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":"Преобразовать"}],"nm":"Группа 14","np":2,"cix":2,"ix":13,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-0.026,0.7]],"o":[[0,0],[0,-0.707],[0,0]],"v":[[-0.02,14.982],[-0.02,-12.871],[0.02,-14.982]],"c":false},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.109999997008,0.109999997008,0.105999995213,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":2,"lj":2,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[84.388,122.726],"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":"Преобразовать"}],"nm":"Группа 15","np":2,"cix":2,"ix":14,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-16.128,0],[-9.757,-8.423]],"o":[[10.186,-11.06],[13.822,0],[0,0]],"v":[[-38.581,9.008],[2.315,-9.008],[38.581,4.524]],"c":false},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.109999997008,0.109999997008,0.105999995213,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":2,"lj":2,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[137.684,63.23],"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":"Преобразовать"}],"nm":"Группа 16","np":2,"cix":2,"ix":15,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[28.867,-1.944]],"o":[[0,0],[0,29.338],[0,0]],"v":[[25.941,-57.899],[25.941,2.393],[-25.942,57.899]],"c":false},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.109999997008,0.109999997008,0.105999995213,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":2,"lj":2,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[169.69,167.753],"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":"Преобразовать"}],"nm":"Группа 17","np":2,"cix":2,"ix":16,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,27.37],[0,0]],"o":[[-26.126,-4.53],[0,0],[0,0]],"v":[[23.079,38.774],[-23.079,-16.045],[-23.079,-38.774]],"c":false},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.109999997008,0.109999997008,0.105999995213,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":2,"lj":2,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[107.447,186.191],"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":"Преобразовать"}],"nm":"Группа 18","np":2,"cix":2,"ix":17,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-36.886,0],[-4.666,-1.038]],"o":[[0,-36.886],[4.966,0],[0,0]],"v":[[-40.771,33.533],[26.294,-33.533],[40.771,-31.949]],"c":false},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.109999997008,0.109999997008,0.105999995213,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":2,"lj":2,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[113.706,71.144],"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":"Преобразовать"}],"nm":"Группа 19","np":2,"cix":2,"ix":18,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,-24.615],[0,0]],"o":[[19.903,11.667],[0,0],[0,0]],"v":[[-16.671,-53.46],[16.671,4.45],[16.671,53.46]],"c":false},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.109999997008,0.109999997008,0.105999995213,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":2,"lj":2,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[190.395,100.228],"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":"Преобразовать"}],"nm":"Группа 20","np":2,"cix":2,"ix":19,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[36.886,0],[4.528,0.973]],"o":[[0,36.886],[-4.807,0],[0,0]],"v":[[40.547,-33.533],[-26.519,33.533],[-40.547,32.048]],"c":false},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.109999997008,0.109999997008,0.105999995213,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":2,"lj":2,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[166.519,208.856],"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":"Преобразовать"}],"nm":"Группа 21","np":2,"cix":2,"ix":20,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,24.684],[0,0]],"o":[[-19.997,-11.643],[0,0],[0,0]],"v":[[16.757,53.666],[-16.757,-4.342],[-16.757,-53.666]],"c":false},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.109999997008,0.109999997008,0.105999995213,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":2,"lj":2,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[89.69,179.665],"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":"Преобразовать"}],"nm":"Группа 22","np":2,"cix":2,"ix":21,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-7.026,11.748]],"o":[[0,0],[0,-14.611],[0,0]],"v":[[-5.536,32.629],[-5.536,7.442],[5.536,-32.629]],"c":false},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.109999997008,0.109999997008,0.105999995213,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":2,"lj":2,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[67.035,92.059],"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":"Преобразовать"}],"nm":"Группа 23","np":2,"cix":2,"ix":22,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-15.423,4.252]],"o":[[10.099,-11.889],[0,0]],"v":[[-19.541,12.505],[19.541,-12.505]],"c":false},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.109999997008,0.109999997008,0.105999995213,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":2,"lj":2,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[99.723,36.303],"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":"Преобразовать"}],"nm":"Группа 24","np":2,"cix":2,"ix":23,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-13.318,-10.399]],"o":[[0,0],[18.106,0],[0,0]],"v":[[-24.075,-8.306],[-24.075,-8.306],[24.075,8.306]],"c":false},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.109999997008,0.109999997008,0.105999995213,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":2,"lj":2,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[164.075,29.306],"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":"Преобразовать"}],"nm":"Группа 25","np":2,"cix":2,"ix":24,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,-18.945],[0,0]],"o":[[11.283,13.601],[0,0],[0,0]],"v":[[-9.042,-32.053],[9.042,17.928],[9.042,32.053]],"c":false},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.109999997008,0.109999997008,0.105999995213,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":2,"lj":2,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[209.457,81.572],"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":"Преобразовать"}],"nm":"Группа 26","np":2,"cix":2,"ix":25,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[218.5,126.813],[218.5,173.139]],"c":false},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.109999997008,0.109999997008,0.105999995213,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":2,"lj":2,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Преобразовать"}],"nm":"Группа 27","np":2,"cix":2,"ix":26,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[12.315,-11.279]],"o":[[-3.194,17.022],[0,0]],"v":[[12.123,-21.717],[-12.122,21.716]],"c":false},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.109999997008,0.109999997008,0.105999995213,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":2,"lj":2,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[205.041,216.638],"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":"Преобразовать"}],"nm":"Группа 28","np":2,"cix":2,"ix":27,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[13.521,0],[8.502,3.175]],"o":[[-11.138,6.085],[-9.574,0],[0,0]],"v":[[32.337,-4.775],[-5.073,4.775],[-32.337,-0.137]],"c":false},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.109999997008,0.109999997008,0.105999995213,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":2,"lj":2,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[145.073,254.225],"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":"Преобразовать"}],"nm":"Группа 29","np":2,"cix":2,"ix":28,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[6.827,13.957]],"o":[[-13.338,-7.843],[0,0]],"v":[[15.508,16.734],[-15.508,-16.733]],"c":false},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.109999997008,0.109999997008,0.105999995213,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":2,"lj":2,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[84.928,231.495],"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":"Преобразовать"}],"nm":"Группа 30","np":2,"cix":2,"ix":29,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,4.795],[0,0]],"o":[[-0.833,-4.563],[0,0],[0,0]],"v":[[0.635,25.746],[-0.635,11.69],[-0.635,-25.746]],"c":false},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.109999997008,0.109999997008,0.105999995213,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":2,"lj":2,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[62.134,168.809],"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":"Преобразовать"}],"nm":"Группа 31","np":2,"cix":2,"ix":30,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.03],"y":[0.978]},"n":["0p667_1_0p03_0p978"],"t":0,"s":[100],"e":[0]},{"t":16}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.986],"y":[0.477]},"o":{"x":[0.769],"y":[0]},"n":["0p986_0p477_0p769_0"],"t":31,"s":[100],"e":[0]},{"t":48}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":31,"nm":"Обрезать контуры 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":48,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/insta_camera.json b/submodules/RLottie/Sources/rlottie/example/resource/insta_camera.json deleted file mode 100644 index 945c3b2f1d..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/insta_camera.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.0.1","fr":30.0000305175781,"ip":0,"op":124.000126139323,"w":800,"h":600,"nm":"Camera_003_render","ddd":0,"assets":[{"id":"comp_4","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"flash ring","parent":19,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[133,-67,0],"ix":2},"a":{"a":0,"k":[74,-135,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.09,0.09],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p09_1_0p167_0p167","0p09_1_0p167_0p167"],"t":73,"s":[0,0],"e":[148,148]},{"t":79.0000803629557}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.992156982422,1,0.988234994926,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.09],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p09_1_0p167_0p167"],"t":73,"s":[23],"e":[0]},{"t":82.0000834147135}],"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[74,-135],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":73.0000742594401,"op":83.0000844319661,"st":73.0000742594401,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"button lines","parent":19,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-35.5,-60.5,0],"ix":2},"a":{"a":0,"k":[72.5,-149.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[91,-152.25],[108,-160.75]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.992156982422,1,0.988234994926,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 5","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[60.25,-161.75],[49,-177.25]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.992156982422,1,0.988234994926,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[4.25,2.75],"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":"Shape 6","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[73.75,-162.5],[80.75,-179]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.992156982422,1,0.988234994926,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[4.25,2.75],"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":"Shape 4","np":3,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[53,-150.5],[34.25,-159.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.992156982422,1,0.988234994926,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 2","np":3,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.08],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p08_1_0p167_0p167"],"t":73.539,"s":[0],"e":[100]},{"t":80.0000813802083}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.08],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p08_1_0p167_0p167"],"t":71,"s":[0],"e":[100]},{"t":80.0000813802083}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":5,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":71.0000722249349,"op":81.0000823974609,"st":71.0000722249349,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"flash light","parent":19,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":71,"s":[35.264],"e":[102.264]},{"t":80.0000813802083}],"ix":10},"p":{"a":0,"k":[132,-68,0],"ix":2},"a":{"a":0,"k":[-340,-162,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"sr","sy":1,"d":1,"pt":{"a":0,"k":4,"ix":3},"p":{"a":0,"k":[0,0],"ix":4},"r":{"a":0,"k":143.286,"ix":5},"ir":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":71,"s":[0],"e":[25]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":76,"s":[25],"e":[0]},{"t":80.0000813802083}],"ix":6},"is":{"a":0,"k":193,"ix":8},"or":{"a":0,"k":73.6,"ix":7},"os":{"a":0,"k":0,"ix":9},"ix":1,"nm":"Polystar Path 1","mn":"ADBE Vector Shape - Star","hd":false},{"ty":"st","c":{"a":0,"k":[0.992156982422,1,0.988234994926,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.992156862745,1,0.988235294118,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-340,-162],"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":"Polystar 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":71.0000722249349,"op":81.0000823974609,"st":71.0000722249349,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"face button mask","parent":19,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.45],"y":[0]},"n":["0p833_0p833_0p45_0"],"t":0,"s":[0],"e":[-90]},{"t":17.0000172932943}],"ix":10,"x":"var $bm_rt;\nvar amp, freq, decay, n, t;\ntry {\n amp = div(effect('Rotation - Overshoot')('ADBE Slider Control-0001'), 2.5), freq = div(effect('Rotation - Bounce')('ADBE Slider Control-0001'), 20), decay = div(effect('Rotation - Friction')('ADBE Slider Control-0001'), 20), n = 0, 0 < numKeys && (n = nearestKey(time).index, key(n).time > time && n--), t = 0 === n ? 0 : time - key(n).time, $bm_rt = 0 < n ? (v = velocityAtTime(sub(key(n).time, div(thisComp.frameDuration, 10))), sum(value, div(mul(mul(div(v, 100), amp), Math.sin(mul(mul(mul(freq, t), 2), Math.PI))), Math.exp(mul(decay, t))))) : value;\n} catch (e$$4) {\n $bm_rt = value = value;\n}"},"p":{"a":0,"k":[60,60,0],"ix":2},"a":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":-27,"s":[-2,-6.5,0],"e":[-2,-6.5,0],"to":[0,0,0],"ti":[0,0,0]},{"t":56,"s":[-2,-6.5,0],"h":1},{"t":66.0000671386719,"s":[-2,-6.5,0],"h":1}],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Rotation - Overshoot","np":3,"mn":"ADBE Slider Control","ix":1,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":10,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]},{"ty":5,"nm":"Rotation - Bounce","np":3,"mn":"ADBE Slider Control","ix":2,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":30,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]},{"ty":5,"nm":"Rotation - Friction","np":3,"mn":"ADBE Slider Control","ix":3,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":126,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]}],"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0.14,0.14],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p14_1_0p167_0p167","0p14_1_0p167_0p167"],"t":-27,"s":[0,0],"e":[200,1]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.45,0.45],"y":[0,0]},"n":["0p833_0p833_0p45_0","0p833_0p833_0p45_0"],"t":0,"s":[200,1],"e":[216,302]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":17,"s":[216,302],"e":[216,302]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":101,"s":[216,302],"e":[0,302]},{"t":110.000111897786}],"ix":2,"x":"var $bm_rt;\n$bm_rt = thisComp.layer('body').content('Rectangle 1').content('Rectangle Path 1').size;"},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":20,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.992156982422,1,0.988234994926,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.204152006261,0.019608000213,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-2,-6.5],"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":"Rectangle 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":124.000126139323,"st":-27.0000274658203,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"face button","parent":20,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":89.999,"ix":10},"p":{"a":0,"k":[34.724,96.498,0],"ix":2},"a":{"a":0,"k":[3,4,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.35,0.35],"y":[1,1]},"o":{"x":[0.54,0.54],"y":[0,0]},"n":["0p35_1_0p54_0","0p35_1_0p54_0"],"t":28,"s":[0,0],"e":[32,32]},{"i":{"x":[0.833,0.833],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0,0]},"n":["0p833_1_0p167_0","0p833_1_0p167_0"],"t":48,"s":[32,32],"e":[32,32]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.53,0.53],"y":[0,0]},"n":["0p833_0p833_0p53_0","0p833_0p833_0p53_0"],"t":97,"s":[32,32],"e":[105,105]},{"t":135.000137329102}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.992156982422,1,0.988234994926,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[3,4],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":28.0000284830729,"op":124.000126139323,"st":28.0000284830729,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"line mask","parent":19,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.45],"y":[0]},"n":["0p833_0p833_0p45_0"],"t":0,"s":[0],"e":[-90]},{"t":17.0000172932943}],"ix":10,"x":"var $bm_rt;\nvar amp, freq, decay, n, t;\ntry {\n amp = div(effect('Rotation - Overshoot')('ADBE Slider Control-0001'), 2.5), freq = div(effect('Rotation - Bounce')('ADBE Slider Control-0001'), 20), decay = div(effect('Rotation - Friction')('ADBE Slider Control-0001'), 20), n = 0, 0 < numKeys && (n = nearestKey(time).index, key(n).time > time && n--), t = 0 === n ? 0 : time - key(n).time, $bm_rt = 0 < n ? (v = velocityAtTime(sub(key(n).time, div(thisComp.frameDuration, 10))), sum(value, div(mul(mul(div(v, 100), amp), Math.sin(mul(mul(mul(freq, t), 2), Math.PI))), Math.exp(mul(decay, t))))) : value;\n} catch (e$$4) {\n $bm_rt = value = value;\n}"},"p":{"a":0,"k":[60,60,0],"ix":2},"a":{"a":0,"k":[-2,-6.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Rotation - Overshoot","np":3,"mn":"ADBE Slider Control","ix":1,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":10,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]},{"ty":5,"nm":"Rotation - Bounce","np":3,"mn":"ADBE Slider Control","ix":2,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":30,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]},{"ty":5,"nm":"Rotation - Friction","np":3,"mn":"ADBE Slider Control","ix":3,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":126,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]}],"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0.14,0.14],"y":[1,1]},"o":{"x":[0.54,0.54],"y":[0,0]},"n":["0p14_1_0p54_0","0p14_1_0p54_0"],"t":-27,"s":[0,0],"e":[200,1]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.45,0.45],"y":[0,0]},"n":["0p833_0p833_0p45_0","0p833_0p833_0p45_0"],"t":0,"s":[200,1],"e":[216,302]},{"t":17.0000172932943}],"ix":2,"x":"var $bm_rt;\n$bm_rt = thisComp.layer('body').content('Rectangle 1').content('Rectangle Path 1').size;"},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":20,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.992156982422,1,0.988234994926,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.929412004059,0.929412004059,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-2,-6.5],"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":"Rectangle 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":124.000126139323,"st":-27.0000274658203,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"line","parent":20,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":90.084,"ix":10},"p":{"a":0,"k":[68.999,-5.896,0],"ix":2},"a":{"a":0,"k":[0.5,-56,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-171.5,-56],[165.5,-56]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.59],"y":[1]},"o":{"x":[0.29],"y":[0]},"n":["0p59_1_0p29_0"],"t":16,"s":[50],"e":[0]},{"t":33.0000335693359}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.59],"y":[1]},"o":{"x":[0.29],"y":[0]},"n":["0p59_1_0p29_0"],"t":16,"s":[50],"e":[100]},{"t":33.0000335693359}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.992156982422,1,0.988234994926,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.929412004059,0.929412004059,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":16.0000162760417,"op":124.000126139323,"st":16.0000162760417,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"flash mask","parent":19,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.45],"y":[0]},"n":["0p833_0p833_0p45_0"],"t":0,"s":[0],"e":[-90]},{"t":17.0000172932943}],"ix":10,"x":"var $bm_rt;\nvar amp, freq, decay, n, t;\ntry {\n amp = div(effect('Rotation - Overshoot')('ADBE Slider Control-0001'), 2.5), freq = div(effect('Rotation - Bounce')('ADBE Slider Control-0001'), 20), decay = div(effect('Rotation - Friction')('ADBE Slider Control-0001'), 20), n = 0, 0 < numKeys && (n = nearestKey(time).index, key(n).time > time && n--), t = 0 === n ? 0 : time - key(n).time, $bm_rt = 0 < n ? (v = velocityAtTime(sub(key(n).time, div(thisComp.frameDuration, 10))), sum(value, div(mul(mul(div(v, 100), amp), Math.sin(mul(mul(mul(freq, t), 2), Math.PI))), Math.exp(mul(decay, t))))) : value;\n} catch (e$$4) {\n $bm_rt = value = value;\n}"},"p":{"a":0,"k":[60,60,0],"ix":2},"a":{"a":0,"k":[-2,-6.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Rotation - Overshoot","np":3,"mn":"ADBE Slider Control","ix":1,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":10,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]},{"ty":5,"nm":"Rotation - Bounce","np":3,"mn":"ADBE Slider Control","ix":2,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":30,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]},{"ty":5,"nm":"Rotation - Friction","np":3,"mn":"ADBE Slider Control","ix":3,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":126,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]}],"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0.14,0.14],"y":[1,1]},"o":{"x":[0.54,0.54],"y":[0,0]},"n":["0p14_1_0p54_0","0p14_1_0p54_0"],"t":-27,"s":[0,0],"e":[200,1]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.45,0.45],"y":[0,0]},"n":["0p833_0p833_0p45_0","0p833_0p833_0p45_0"],"t":0,"s":[200,1],"e":[216,302]},{"t":17.0000172932943}],"ix":2,"x":"var $bm_rt;\n$bm_rt = thisComp.layer('body').content('Rectangle 1').content('Rectangle Path 1').size;"},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":20,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.992156982422,1,0.988234994926,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.929412004059,0.929412004059,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-2,-6.5],"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":"Rectangle 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":124.000126139323,"st":-27.0000274658203,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"button","parent":20,"tt":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":90.004,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":29,"s":[70.511],"e":[102.512]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":47,"s":[102.512],"e":[102.512]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":71,"s":[102.512],"e":[92.512]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":74,"s":[92.512],"e":[102.512]},{"i":{"x":[0.823],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p823_1_0p167_0"],"t":77,"s":[102.512],"e":[102.512]},{"i":{"x":[0.745],"y":[1]},"o":{"x":[1],"y":[-0.47]},"n":["0p745_1_1_-0p47"],"t":93,"s":[102.512],"e":[72.512]},{"t":105.000106811523}],"ix":3,"x":"var $bm_rt;\nvar amp, freq, decay, n, t;\ntry {\n amp = div(effect('X Position - Overshoot')('ADBE Slider Control-0001'), 2.5), freq = div(effect('X Position - Bounce')('ADBE Slider Control-0001'), 20), decay = div(effect('X Position - Friction')('ADBE Slider Control-0001'), 20), n = 0, 0 < numKeys && (n = nearestKey(time).index, key(n).time > time && n--), t = 0 === n ? 0 : time - key(n).time, $bm_rt = 0 < n ? (v = velocityAtTime(sub(key(n).time, div(thisComp.frameDuration, 10))), sum(value, div(mul(mul(div(v, 100), amp), Math.sin(mul(mul(mul(freq, t), 2), Math.PI))), Math.exp(mul(decay, t))))) : value;\n} catch (e$$4) {\n $bm_rt = value = value;\n}"},"y":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":29,"s":[-176.891],"e":[-176.421]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":47,"s":[-176.421],"e":[-176.421]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":71,"s":[-176.421],"e":[-176.421]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":74,"s":[-176.421],"e":[-176.421]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":77,"s":[-176.421],"e":[-176.421]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":93,"s":[-176.421],"e":[-176.421]},{"t":105.000106811523}],"ix":4}},"a":{"a":0,"k":[94,-107.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"X Position - Overshoot","np":3,"mn":"ADBE Slider Control","ix":1,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":10,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]},{"ty":5,"nm":"X Position - Bounce","np":3,"mn":"ADBE Slider Control","ix":2,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":30,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]},{"ty":5,"nm":"X Position - Friction","np":3,"mn":"ADBE Slider Control","ix":3,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":100,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]}],"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[26,86],"ix":2},"p":{"a":0,"k":[74,24],"ix":3},"r":{"a":0,"k":24,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.992156982422,1,0.988234994926,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[94,-107.5],"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":"Rectangle 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":29.0000295003255,"op":106.000107828776,"st":29.0000295003255,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"body mask","parent":19,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.45],"y":[0]},"n":["0p833_0p833_0p45_0"],"t":0,"s":[0],"e":[-90]},{"t":17.0000172932943}],"ix":10,"x":"var $bm_rt;\nvar amp, freq, decay, n, t;\ntry {\n amp = div(effect('Rotation - Overshoot')('ADBE Slider Control-0001'), 2.5), freq = div(effect('Rotation - Bounce')('ADBE Slider Control-0001'), 20), decay = div(effect('Rotation - Friction')('ADBE Slider Control-0001'), 20), n = 0, 0 < numKeys && (n = nearestKey(time).index, key(n).time > time && n--), t = 0 === n ? 0 : time - key(n).time, $bm_rt = 0 < n ? (v = velocityAtTime(sub(key(n).time, div(thisComp.frameDuration, 10))), sum(value, div(mul(mul(div(v, 100), amp), Math.sin(mul(mul(mul(freq, t), 2), Math.PI))), Math.exp(mul(decay, t))))) : value;\n} catch (e$$4) {\n $bm_rt = value = value;\n}"},"p":{"a":0,"k":[60,60,0],"ix":2},"a":{"a":0,"k":[-2,-6.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Rotation - Overshoot","np":3,"mn":"ADBE Slider Control","ix":1,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":10,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]},{"ty":5,"nm":"Rotation - Bounce","np":3,"mn":"ADBE Slider Control","ix":2,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":30,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]},{"ty":5,"nm":"Rotation - Friction","np":3,"mn":"ADBE Slider Control","ix":3,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":126,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]}],"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0.14,0.14],"y":[1,1]},"o":{"x":[0.54,0.54],"y":[0,0]},"n":["0p14_1_0p54_0","0p14_1_0p54_0"],"t":-27,"s":[0,0],"e":[200,1]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.45,0.45],"y":[0,0]},"n":["0p833_0p833_0p45_0","0p833_0p833_0p45_0"],"t":0,"s":[200,1],"e":[216,302]},{"t":17.0000172932943}],"ix":2,"x":"var $bm_rt;\n$bm_rt = thisComp.layer('body').content('Rectangle 1').content('Rectangle Path 1').size;"},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":20,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.992156982422,1,0.988234994926,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.929412004059,0.929412004059,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-2,-6.5],"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":"Rectangle 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":124.000126139323,"st":-27.0000274658203,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"flash","parent":20,"tt":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":90.004,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":27,"s":[71.498],"e":[129.499]},{"i":{"x":[0.885],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p885_1_0p167_0"],"t":39,"s":[129.499],"e":[129.499]},{"i":{"x":[0.683],"y":[1]},"o":{"x":[0.688],"y":[-0.339]},"n":["0p683_1_0p688_-0p339"],"t":99,"s":[129.499],"e":[69.499]},{"t":110.000111897786}],"ix":3,"x":"var $bm_rt;\nvar amp, freq, decay, n, t;\ntry {\n amp = div(effect('X Position - Overshoot')('ADBE Slider Control-0001'), 2.5), freq = div(effect('X Position - Bounce')('ADBE Slider Control-0001'), 20), decay = div(effect('X Position - Friction')('ADBE Slider Control-0001'), 20), n = 0, 0 < numKeys && (n = nearestKey(time).index, key(n).time > time && n--), t = 0 === n ? 0 : time - key(n).time, $bm_rt = 0 < n ? (v = velocityAtTime(sub(key(n).time, div(thisComp.frameDuration, 10))), sum(value, div(mul(mul(div(v, 100), amp), Math.sin(mul(mul(mul(freq, t), 2), Math.PI))), Math.exp(mul(decay, t))))) : value;\n} catch (e$$4) {\n $bm_rt = value = value;\n}"},"y":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.59],"y":[0]},"n":["0p833_0p833_0p59_0"],"t":27,"s":[-6.965],"e":[-6.42]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":39,"s":[-6.42],"e":[-6.42]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":99,"s":[-6.42],"e":[-6.42]},{"t":110.000111897786}],"ix":4,"x":"var $bm_rt;\nvar amp, freq, decay, n, t;\ntry {\n amp = div(effect('Y Position - Overshoot')('ADBE Slider Control-0001'), 2.5), freq = div(effect('Y Position - Bounce')('ADBE Slider Control-0001'), 20), decay = div(effect('Y Position - Friction')('ADBE Slider Control-0001'), 20), n = 0, 0 < numKeys && (n = nearestKey(time).index, key(n).time > time && n--), t = 0 === n ? 0 : time - key(n).time, $bm_rt = 0 < n ? (v = velocityAtTime(sub(key(n).time, div(thisComp.frameDuration, 10))), sum(value, div(mul(mul(div(v, 100), amp), Math.sin(mul(mul(mul(freq, t), 2), Math.PI))), Math.exp(mul(decay, t))))) : value;\n} catch (e$$4) {\n $bm_rt = value = value;\n}"}},"a":{"a":0,"k":[94,-107.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Y Position - Overshoot","np":3,"mn":"ADBE Slider Control","ix":1,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":10,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]},{"ty":5,"nm":"Y Position - Bounce","np":3,"mn":"ADBE Slider Control","ix":2,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":30,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]},{"ty":5,"nm":"Y Position - Friction","np":3,"mn":"ADBE Slider Control","ix":3,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":100,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]},{"ty":5,"nm":"X Position - Overshoot","np":3,"mn":"ADBE Slider Control","ix":4,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":10,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]},{"ty":5,"nm":"X Position - Bounce","np":3,"mn":"ADBE Slider Control","ix":5,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":30,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]},{"ty":5,"nm":"X Position - Friction","np":3,"mn":"ADBE Slider Control","ix":6,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":100,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]}],"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[79,72.861],"ix":2},"p":{"a":0,"k":[72,22],"ix":3},"r":{"a":0,"k":9,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.992156982422,1,0.988234994926,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[94,-107.5],"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":"Rectangle 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":27.0000274658203,"op":107.000108846029,"st":27.0000274658203,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"lens mask 2","parent":19,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.45],"y":[0]},"n":["0p833_0p833_0p45_0"],"t":0,"s":[0],"e":[-90]},{"t":17.0000172932943}],"ix":10,"x":"var $bm_rt;\nvar amp, freq, decay, n, t;\ntry {\n amp = div(effect('Rotation - Overshoot')('ADBE Slider Control-0001'), 2.5), freq = div(effect('Rotation - Bounce')('ADBE Slider Control-0001'), 20), decay = div(effect('Rotation - Friction')('ADBE Slider Control-0001'), 20), n = 0, 0 < numKeys && (n = nearestKey(time).index, key(n).time > time && n--), t = 0 === n ? 0 : time - key(n).time, $bm_rt = 0 < n ? (v = velocityAtTime(sub(key(n).time, div(thisComp.frameDuration, 10))), sum(value, div(mul(mul(div(v, 100), amp), Math.sin(mul(mul(mul(freq, t), 2), Math.PI))), Math.exp(mul(decay, t))))) : value;\n} catch (e$$4) {\n $bm_rt = value = value;\n}"},"p":{"a":0,"k":[60,60,0],"ix":2},"a":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":-27,"s":[-2,-6.5,0],"e":[-2,-6.5,0],"to":[0,0,0],"ti":[0,0,0]},{"t":56,"s":[-2,-6.5,0],"h":1},{"t":66.0000671386719,"s":[-2,-6.5,0],"h":1}],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Rotation - Overshoot","np":3,"mn":"ADBE Slider Control","ix":1,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":10,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]},{"ty":5,"nm":"Rotation - Bounce","np":3,"mn":"ADBE Slider Control","ix":2,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":30,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]},{"ty":5,"nm":"Rotation - Friction","np":3,"mn":"ADBE Slider Control","ix":3,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":126,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]}],"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0.14,0.14],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p14_1_0p167_0p167","0p14_1_0p167_0p167"],"t":-27,"s":[0,0],"e":[200,1]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.45,0.45],"y":[0,0]},"n":["0p833_0p833_0p45_0","0p833_0p833_0p45_0"],"t":0,"s":[200,1],"e":[216,302]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":17,"s":[216,302],"e":[216,302]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":101,"s":[216,302],"e":[0,302]},{"t":110.000111897786}],"ix":2,"x":"var $bm_rt;\n$bm_rt = thisComp.layer('body').content('Rectangle 1').content('Rectangle Path 1').size;"},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":20,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.992156982422,1,0.988234994926,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.204152006261,0.019608000213,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-2,-6.5],"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":"Rectangle 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":124.000126139323,"st":-27.0000274658203,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":"lens","parent":20,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":90,"ix":10},"p":{"a":0,"k":[-22,-28.5,0],"ix":2},"a":{"a":0,"k":[3,4,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Size - Ellipse Path 1 - Overshoot","np":3,"mn":"ADBE Slider Control","ix":1,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":10,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]},{"ty":5,"nm":"Size - Ellipse Path 1 - Bounce","np":3,"mn":"ADBE Slider Control","ix":2,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":30,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]},{"ty":5,"nm":"Size - Ellipse Path 1 - Friction","np":3,"mn":"ADBE Slider Control","ix":3,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":100,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]}],"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.54,0.54],"y":[0,0]},"n":["0p833_0p833_0p54_0","0p833_0p833_0p54_0"],"t":21,"s":[0,0],"e":[94,94]},{"i":{"x":[0.833,0.833],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0,0]},"n":["0p833_1_0p167_0","0p833_1_0p167_0"],"t":41,"s":[94,94],"e":[94,94]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.87,0.87],"y":[0,0]},"n":["0p833_0p833_0p87_0","0p833_0p833_0p87_0"],"t":97,"s":[94,94],"e":[183,183]},{"t":123.00012512207}],"ix":2,"x":"var $bm_rt;\nvar amp, freq, decay, n, t;\ntry {\n amp = div(effect('Size - Ellipse Path 1 - Overshoot')('ADBE Slider Control-0001'), 2.5), freq = div(effect('Size - Ellipse Path 1 - Bounce')('ADBE Slider Control-0001'), 20), decay = div(effect('Size - Ellipse Path 1 - Friction')('ADBE Slider Control-0001'), 20), n = 0, 0 < numKeys && (n = nearestKey(time).index, key(n).time > time && n--), t = 0 === n ? 0 : time - key(n).time, $bm_rt = 0 < n ? (v = velocityAtTime(sub(key(n).time, div(thisComp.frameDuration, 10))), sum(value, div(mul(mul(div(v, 100), amp), Math.sin(mul(mul(mul(freq, t), 2), Math.PI))), Math.exp(mul(decay, t))))) : value;\n} catch (e$$4) {\n $bm_rt = value = value;\n}"},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.992156982422,1,0.988234994926,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[3,4],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":21.0000213623047,"op":124.000126139323,"st":21.0000213623047,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":"lens mask","parent":19,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.45],"y":[0]},"n":["0p833_0p833_0p45_0"],"t":0,"s":[0],"e":[-90]},{"t":17.0000172932943}],"ix":10,"x":"var $bm_rt;\nvar amp, freq, decay, n, t;\ntry {\n amp = div(effect('Rotation - Overshoot')('ADBE Slider Control-0001'), 2.5), freq = div(effect('Rotation - Bounce')('ADBE Slider Control-0001'), 20), decay = div(effect('Rotation - Friction')('ADBE Slider Control-0001'), 20), n = 0, 0 < numKeys && (n = nearestKey(time).index, key(n).time > time && n--), t = 0 === n ? 0 : time - key(n).time, $bm_rt = 0 < n ? (v = velocityAtTime(sub(key(n).time, div(thisComp.frameDuration, 10))), sum(value, div(mul(mul(div(v, 100), amp), Math.sin(mul(mul(mul(freq, t), 2), Math.PI))), Math.exp(mul(decay, t))))) : value;\n} catch (e$$4) {\n $bm_rt = value = value;\n}"},"p":{"a":0,"k":[60,60,0],"ix":2},"a":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":-27,"s":[-2,-6.5,0],"e":[-2,-6.5,0],"to":[0,0,0],"ti":[0,0,0]},{"t":56,"s":[-2,-6.5,0],"h":1},{"t":66.0000671386719,"s":[-2,-6.5,0],"h":1}],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Rotation - Overshoot","np":3,"mn":"ADBE Slider Control","ix":1,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":10,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]},{"ty":5,"nm":"Rotation - Bounce","np":3,"mn":"ADBE Slider Control","ix":2,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":30,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]},{"ty":5,"nm":"Rotation - Friction","np":3,"mn":"ADBE Slider Control","ix":3,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":126,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]}],"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0.14,0.14],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p14_1_0p167_0p167","0p14_1_0p167_0p167"],"t":-27,"s":[0,0],"e":[200,1]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.45,0.45],"y":[0,0]},"n":["0p833_0p833_0p45_0","0p833_0p833_0p45_0"],"t":0,"s":[200,1],"e":[216,302]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":17,"s":[216,302],"e":[216,302]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":101,"s":[216,302],"e":[0,302]},{"t":110.000111897786}],"ix":2,"x":"var $bm_rt;\n$bm_rt = thisComp.layer('body').content('Rectangle 1').content('Rectangle Path 1').size;"},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":20,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.992156982422,1,0.988234994926,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.204152006261,0.019608000213,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-2,-6.5],"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":"Rectangle 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":124.000126139323,"st":-27.0000274658203,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":"lens","parent":20,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":90,"ix":10},"p":{"a":0,"k":[-22,-28.5,0],"ix":2},"a":{"a":0,"k":[3,4,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Size - Ellipse Path 1 - Overshoot","np":3,"mn":"ADBE Slider Control","ix":1,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":10,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]},{"ty":5,"nm":"Size - Ellipse Path 1 - Bounce","np":3,"mn":"ADBE Slider Control","ix":2,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":30,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]},{"ty":5,"nm":"Size - Ellipse Path 1 - Friction","np":3,"mn":"ADBE Slider Control","ix":3,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":100,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]}],"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.54,0.54],"y":[0,0]},"n":["0p833_0p833_0p54_0","0p833_0p833_0p54_0"],"t":15,"s":[0,0],"e":[136,136]},{"i":{"x":[0.833,0.833],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0,0]},"n":["0p833_1_0p167_0","0p833_1_0p167_0"],"t":35,"s":[136,136],"e":[136,136]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.87,0.87],"y":[0,0]},"n":["0p833_0p833_0p87_0","0p833_0p833_0p87_0"],"t":97,"s":[136,136],"e":[212,212]},{"t":123.00012512207}],"ix":2,"x":"var $bm_rt;\nvar amp, freq, decay, n, t;\ntry {\n amp = div(effect('Size - Ellipse Path 1 - Overshoot')('ADBE Slider Control-0001'), 2.5), freq = div(effect('Size - Ellipse Path 1 - Bounce')('ADBE Slider Control-0001'), 20), decay = div(effect('Size - Ellipse Path 1 - Friction')('ADBE Slider Control-0001'), 20), n = 0, 0 < numKeys && (n = nearestKey(time).index, key(n).time > time && n--), t = 0 === n ? 0 : time - key(n).time, $bm_rt = 0 < n ? (v = velocityAtTime(sub(key(n).time, div(thisComp.frameDuration, 10))), sum(value, div(mul(mul(div(v, 100), amp), Math.sin(mul(mul(mul(freq, t), 2), Math.PI))), Math.exp(mul(decay, t))))) : value;\n} catch (e$$4) {\n $bm_rt = value = value;\n}"},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.992156982422,1,0.988234994926,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[3,4],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":15.0000152587891,"op":124.000126139323,"st":15.0000152587891,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":".gannon-gram","cl":"gannon-gram","parent":20,"sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":90.004,"ix":10},"p":{"a":0,"k":[85.672,-6.451,0],"ix":2},"a":{"a":0,"k":[-0.257,-6.362,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.887],[-4.517,0],[-1.575,1.76],[0,0],[0,0],[0,0],[0,0],[0,0],[1.413,0],[0,2.919],[-2.803,0],[-0.718,-1.089],[0,0],[3.196,0]],"o":[[0,4.864],[2.803,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.672,0.602],[-2.803,0],[0,-2.919],[1.621,0],[0,0],[-1.181,-1.83],[-4.517,0]],"v":[[-101.849,-7.713],[-93.626,0.301],[-87.048,-2.617],[-87.048,-8.524],[-94.414,-8.524],[-94.414,-5.698],[-90.291,-5.698],[-90.291,-3.822],[-93.626,-2.641],[-98.467,-7.713],[-93.626,-12.786],[-89.966,-10.84],[-87.233,-12.323],[-93.626,-15.704]],"c":true},"ix":2},"nm":"G","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.988235294118,0.976470588235,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"G","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-69.614,0],[-66.024,0],[-71.976,-15.45],[-76.099,-15.45],[-82.075,0],[-78.462,0],[-77.489,-2.664],[-70.587,-2.664]],"c":true},"ix":2},"nm":"A","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-74.038,-12.601],[-71.49,-5.513],[-76.609,-5.513]],"c":true},"ix":2},"nm":"A","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.988235294118,0.976470588235,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"A","np":5,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-49.766,0],[-46.593,0],[-46.593,-15.45],[-49.882,-15.45],[-49.882,-5.443],[-57.039,-15.45],[-60.421,-15.45],[-60.421,0],[-57.132,0],[-57.132,-10.377]],"c":true},"ix":2},"nm":"N","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.988235294118,0.976470588235,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"N","np":3,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-28.721,0],[-25.548,0],[-25.548,-15.45],[-28.837,-15.45],[-28.837,-5.443],[-35.995,-15.45],[-39.376,-15.45],[-39.376,0],[-36.087,0],[-36.087,-10.377]],"c":true},"ix":2},"nm":"N","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.988235294118,0.976470588235,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"N","np":3,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.656],[-4.656,0],[0,4.656],[4.679,0]],"o":[[0,4.656],[4.679,0],[0,-4.656],[-4.656,0]],"v":[[-19.073,-7.713],[-11.012,0.278],[-2.928,-7.713],[-11.012,-15.704]],"c":true},"ix":2},"nm":"O","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,-2.895],[2.849,0],[0,2.872],[-2.849,0]],"o":[[0,2.872],[-2.849,0],[0,-2.895],[2.849,0]],"v":[[-6.31,-7.713],[-11.012,-2.641],[-15.691,-7.713],[-11.012,-12.786]],"c":true},"ix":2},"nm":"O","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.988235294118,0.976470588235,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"O","np":5,"cix":2,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[14.196,0],[17.37,0],[17.37,-15.45],[14.081,-15.45],[14.081,-5.443],[6.923,-15.45],[3.541,-15.45],[3.541,0],[6.831,0],[6.831,-10.377]],"c":true},"ix":2},"nm":"N","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.988235294118,0.976470588235,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"N","np":3,"cix":2,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.887],[-4.517,0],[-1.575,1.76],[0,0],[0,0],[0,0],[0,0],[0,0],[1.413,0],[0,2.919],[-2.803,0],[-0.718,-1.089],[0,0],[3.196,0]],"o":[[0,4.864],[2.803,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.672,0.602],[-2.803,0],[0,-2.919],[1.621,0],[0,0],[-1.181,-1.83],[-4.517,0]],"v":[[23.845,-7.713],[32.068,0.301],[38.646,-2.617],[38.646,-8.524],[31.28,-8.524],[31.28,-5.698],[35.403,-5.698],[35.403,-3.822],[32.068,-2.641],[27.227,-7.713],[32.068,-12.786],[35.727,-10.84],[38.461,-12.323],[32.068,-15.704]],"c":true},"ix":2},"nm":"G","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.988235294118,0.976470588235,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"G","np":3,"cix":2,"ix":7,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,2.733],[3.22,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[1.668,-0.394],[0,-2.872],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[54.156,0],[57.932,0],[54.457,-5.883],[57.839,-10.47],[52.651,-15.45],[45.424,-15.45],[45.424,0],[48.713,0],[48.713,-5.536],[51.122,-5.536]],"c":true},"ix":2},"nm":"R","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,-1.297],[1.32,0],[0,0],[0,0],[0,0]],"o":[[0,1.297],[0,0],[0,0],[0,0],[1.32,0]],"v":[[54.48,-10.493],[52.164,-8.362],[48.713,-8.362],[48.713,-12.624],[52.164,-12.624]],"c":true},"ix":2},"nm":"R","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.988235294118,0.976470588235,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"R","np":5,"cix":2,"ix":8,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[75.308,0],[78.898,0],[72.945,-15.45],[68.822,-15.45],[62.846,0],[66.459,0],[67.432,-2.664],[74.335,-2.664]],"c":true},"ix":2},"nm":"A","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[70.884,-12.601],[73.431,-5.513],[68.312,-5.513]],"c":true},"ix":2},"nm":"A","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.988235294118,0.976470588235,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"A","np":5,"cix":2,"ix":9,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[97.935,0],[101.247,0],[101.247,-15.45],[96.615,-15.45],[92.862,-5.814],[89.11,-15.45],[84.5,-15.45],[84.5,0],[87.79,0],[87.79,-11.118],[92.144,0],[93.58,0],[97.935,-11.118]],"c":true},"ix":2},"nm":"M","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.988235294118,0.976470588235,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"M","np":3,"cix":2,"ix":10,"mn":"ADBE Vector Group","hd":false}],"ip":16.0000162760417,"op":110.000111897786,"st":0,"bm":0},{"ddd":0,"ind":19,"ty":3,"nm":".chris-gannon-lottie-animation","cl":"chris-gannon-lottie-animation","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.45],"y":[1]},"o":{"x":[0.55],"y":[0]},"n":["0p45_1_0p55_0"],"t":72,"s":[0],"e":[-2]},{"i":{"x":[0.45],"y":[1]},"o":{"x":[0.55],"y":[0]},"n":["0p45_1_0p55_0"],"t":74,"s":[-2],"e":[0]},{"t":84.0000854492187}],"ix":10},"p":{"a":0,"k":[518,386,0],"ix":2},"a":{"a":0,"k":[178,146,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ip":0,"op":124.000126139323,"st":-27.0000274658203,"bm":0},{"ddd":0,"ind":20,"ty":4,"nm":"body","parent":19,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.45],"y":[0]},"n":["0p833_0p833_0p45_0"],"t":0,"s":[0],"e":[-90]},{"t":17.0000172932943}],"ix":10,"x":"var $bm_rt;\nvar amp, freq, decay, n, t;\ntry {\n amp = div(effect('Rotation - Overshoot')('ADBE Slider Control-0001'), 2.5), freq = div(effect('Rotation - Bounce')('ADBE Slider Control-0001'), 20), decay = div(effect('Rotation - Friction')('ADBE Slider Control-0001'), 20), n = 0, 0 < numKeys && (n = nearestKey(time).index, key(n).time > time && n--), t = 0 === n ? 0 : time - key(n).time, $bm_rt = 0 < n ? (v = velocityAtTime(sub(key(n).time, div(thisComp.frameDuration, 10))), sum(value, div(mul(mul(div(v, 100), amp), Math.sin(mul(mul(mul(freq, t), 2), Math.PI))), Math.exp(mul(decay, t))))) : value;\n} catch (e$$4) {\n $bm_rt = value = value;\n}"},"p":{"a":0,"k":[60,60,0],"ix":2},"a":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":-27,"s":[-2,-6.5,0],"e":[-2,-6.5,0],"to":[0,0,0],"ti":[0,0,0]},{"t":56,"s":[-2,-6.5,0],"h":1},{"t":66.0000671386719,"s":[-2,-6.5,0],"h":1}],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Rotation - Overshoot","np":3,"mn":"ADBE Slider Control","ix":1,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":10,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]},{"ty":5,"nm":"Rotation - Bounce","np":3,"mn":"ADBE Slider Control","ix":2,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":30,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]},{"ty":5,"nm":"Rotation - Friction","np":3,"mn":"ADBE Slider Control","ix":3,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":126,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]}],"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0.14,0.14],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p14_1_0p167_0p167","0p14_1_0p167_0p167"],"t":-27,"s":[0,0],"e":[200,1]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.45,0.45],"y":[0,0]},"n":["0p833_0p833_0p45_0","0p833_0p833_0p45_0"],"t":0,"s":[200,1],"e":[216,302]},{"i":{"x":[0.833,0.833],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0,0]},"n":["0p833_1_0p167_0","0p833_1_0p167_0"],"t":17,"s":[216,302],"e":[216,302]},{"i":{"x":[0.197,0.45],"y":[1,1]},"o":{"x":[0.872,0.59],"y":[-0.522,0]},"n":["0p197_1_0p872_-0p522","0p45_1_0p59_0"],"t":97,"s":[216,302],"e":[0,200]},{"t":123.00012512207}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":20,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.992156982422,1,0.988234994926,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[-2,-6.5],"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":"Rectangle 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":124.000126139323,"st":-27.0000274658203,"bm":0}]}],"layers":[{"ddd":0,"ind":3,"ty":0,"nm":".chris-gannon-instagram-lottie","cl":"chris-gannon-instagram-lottie","refId":"comp_4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,323,0],"ix":2},"a":{"a":0,"k":[400,300,0],"ix":1},"s":{"a":0,"k":[129,129,100],"ix":6}},"ao":0,"w":800,"h":600,"ip":0,"op":124.000126139323,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"blueToPurple","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,300,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[800,600],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"g":{"p":5,"k":{"a":0,"k":[0.007,0.298,0.404,0.851,0.307,0.431,0.308,0.735,0.6,0.565,0.212,0.62,0.8,0.565,0.212,0.62,1,0.565,0.212,0.62,0,1,0.199,1,0.397,1,0.592,0.5,0.788,0],"ix":9}},"s":{"a":0,"k":[-258,-522],"ix":5},"e":{"a":0,"k":[-943,-866],"ix":6},"t":2,"h":{"a":0,"k":18.494,"ix":7},"a":{"a":0,"k":-100.276,"ix":8},"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Rectangle 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":124.000126139323,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"yellowToOrange","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,300,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[800,600],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"g":{"p":7,"k":{"a":0,"k":[0.007,0.984,0.847,0.482,0.193,0.969,0.657,0.325,0.375,0.953,0.467,0.169,0.545,0.882,0.263,0.314,0.715,0.812,0.059,0.459,0.857,0.688,0.135,0.539,1,0.565,0.212,0.62,0,1,0.259,1,0.517,1,0.75,0.5,0.983,0],"ix":9}},"s":{"a":0,"k":[-140,330],"ix":5},"e":{"a":0,"k":[-637,989],"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":[0,0],"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":"Rectangle 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":124.000126139323,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"bg","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,300,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[800,600],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.811764705882,0.058823529412,0.458823529412,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Rectangle 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":124.000126139323,"st":0,"bm":0}]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/intelia_logo_animation.json b/submodules/RLottie/Sources/rlottie/example/resource/intelia_logo_animation.json deleted file mode 100644 index a82c26a532..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/intelia_logo_animation.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.1.3","fr":24,"ip":0,"op":207,"w":850,"h":850,"nm":"Comp 1","ddd":0,"assets":[{"id":"comp_25","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 7","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":10,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":12.372,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":36.085,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":92.997,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":116.71,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":130.938,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":152.281,"s":[0],"e":[100]},{"t":175.994140625}],"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[-45],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":10,"s":[0],"e":[360]},{"t":175.994140625}],"ix":10},"p":{"a":0,"k":[580.426,1041.493,0],"ix":2},"a":{"a":0,"k":[-356.047,-391.199,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[156.703,156.703],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-194.047,-395.199],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":582,"st":0,"bm":3},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 5","parent":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":10,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":19.484,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":43.199,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":55.056,"s":[0],"e":[67]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":78.77,"s":[67],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":102.482,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":152.281,"s":[0],"e":[100]},{"t":175.994140625}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-468.047,-441.199,0],"ix":2},"a":{"a":0,"k":[-194.047,-395.199,0],"ix":1},"s":{"a":0,"k":[53,53,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[156.703,156.703],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-194.047,-395.199],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":582,"st":0,"bm":3}]},{"id":"comp_26","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 5","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35.253,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":71.7,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":127.79,"s":[100],"e":[0]},{"t":165.1826171875}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[742.953,606.801,0],"e":[448.953,366.801,0],"to":[-49,-40,0],"ti":[49,40,0]},{"t":166.0048828125}],"ix":2},"a":{"a":0,"k":[-194.047,-395.199,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[156.703,156.703],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-194.047,-395.199],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":582,"st":0,"bm":3},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 4","parent":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":10,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":93.365,"s":[100],"e":[0]},{"t":166.0048828125}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-426.047,-547.199,0],"ix":2},"a":{"a":0,"k":[-194.047,-395.199,0],"ix":1},"s":{"a":0,"k":[39,39,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[156.703,156.703],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-194.047,-395.199],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":582,"st":0,"bm":3},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 3","parent":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":10,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":23.598,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":93.365,"s":[100],"e":[0]},{"t":166.0048828125}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-267.047,-558.199,0],"ix":2},"a":{"a":0,"k":[-194.047,-395.199,0],"ix":1},"s":{"a":0,"k":[78,78,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[156.703,156.703],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-194.047,-395.199],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":582,"st":0,"bm":3}]},{"id":"comp_27","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Combined Shape 2","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[100]},{"t":10}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[25.525,25.765,0],"ix":2},"a":{"a":0,"k":[38.73,33.425,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[3,3],"ix":2},"p":{"a":0,"k":[20,0],"ix":3,"x":"var $bm_rt;\n$bm_rt = sum(div(thisProperty.propertyGroup(1)(2), 2), value);"},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tr","p":{"a":0,"k":[21.5,1.5],"ix":2},"a":{"a":0,"k":[21.5,1.5],"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":"Oval","np":1,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[3,3],"ix":2},"p":{"a":0,"k":[14,5],"ix":3,"x":"var $bm_rt;\n$bm_rt = sum(div(thisProperty.propertyGroup(1)(2), 2), value);"},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tr","p":{"a":0,"k":[15.5,6.5],"ix":2},"a":{"a":0,"k":[15.5,6.5],"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":"Oval Copy 2","np":1,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[3,3],"ix":2},"p":{"a":0,"k":[10,10],"ix":3,"x":"var $bm_rt;\n$bm_rt = sum(div(thisProperty.propertyGroup(1)(2), 2), value);"},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tr","p":{"a":0,"k":[11.5,11.5],"ix":2},"a":{"a":0,"k":[11.5,11.5],"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":"Oval Copy 4","np":1,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[3,3],"ix":2},"p":{"a":0,"k":[5,15],"ix":3,"x":"var $bm_rt;\n$bm_rt = sum(div(thisProperty.propertyGroup(1)(2), 2), value);"},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tr","p":{"a":0,"k":[6.5,16.5],"ix":2},"a":{"a":0,"k":[6.5,16.5],"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":"Oval Copy 6","np":1,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[3,3],"ix":2},"p":{"a":0,"k":[0,20],"ix":3,"x":"var $bm_rt;\n$bm_rt = sum(div(thisProperty.propertyGroup(1)(2), 2), value);"},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tr","p":{"a":0,"k":[1.5,21.5],"ix":2},"a":{"a":0,"k":[1.5,21.5],"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":"Oval Copy 8","np":1,"cix":2,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[3,3],"ix":2},"p":{"a":0,"k":[26,6],"ix":3,"x":"var $bm_rt;\n$bm_rt = sum(div(thisProperty.propertyGroup(1)(2), 2), value);"},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tr","p":{"a":0,"k":[27.5,7.5],"ix":2},"a":{"a":0,"k":[27.5,7.5],"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":"Oval Copy","np":1,"cix":2,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[3,3],"ix":2},"p":{"a":0,"k":[20,11],"ix":3,"x":"var $bm_rt;\n$bm_rt = sum(div(thisProperty.propertyGroup(1)(2), 2), value);"},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tr","p":{"a":0,"k":[21.5,12.5],"ix":2},"a":{"a":0,"k":[21.5,12.5],"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":"Oval Copy 3","np":1,"cix":2,"ix":7,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[3,3],"ix":2},"p":{"a":0,"k":[16,16],"ix":3,"x":"var $bm_rt;\n$bm_rt = sum(div(thisProperty.propertyGroup(1)(2), 2), value);"},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tr","p":{"a":0,"k":[17.5,17.5],"ix":2},"a":{"a":0,"k":[17.5,17.5],"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":"Oval Copy 5","np":1,"cix":2,"ix":8,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[3,3],"ix":2},"p":{"a":0,"k":[11,21],"ix":3,"x":"var $bm_rt;\n$bm_rt = sum(div(thisProperty.propertyGroup(1)(2), 2), value);"},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tr","p":{"a":0,"k":[12.5,22.5],"ix":2},"a":{"a":0,"k":[12.5,22.5],"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":"Oval Copy 7","np":1,"cix":2,"ix":9,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[3,3],"ix":2},"p":{"a":0,"k":[6,26],"ix":3,"x":"var $bm_rt;\n$bm_rt = sum(div(thisProperty.propertyGroup(1)(2), 2), value);"},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tr","p":{"a":0,"k":[7.5,27.5],"ix":2},"a":{"a":0,"k":[7.5,27.5],"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":"Oval Copy 9","np":1,"cix":2,"ix":10,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[13.479,8.174],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[174.15,174.15],"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":"Combined Shape","np":11,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":582,"st":0,"bm":3},{"ddd":0,"ind":2,"ty":4,"nm":"Combined Shape","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[100]},{"t":10}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[25.525,25.765,0],"ix":2},"a":{"a":0,"k":[38.73,33.425,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[3,3],"ix":2},"p":{"a":0,"k":[20,0],"ix":3,"x":"var $bm_rt;\n$bm_rt = sum(div(thisProperty.propertyGroup(1)(2), 2), value);"},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tr","p":{"a":0,"k":[21.5,1.5],"ix":2},"a":{"a":0,"k":[21.5,1.5],"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":"Oval","np":1,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[3,3],"ix":2},"p":{"a":0,"k":[14,5],"ix":3,"x":"var $bm_rt;\n$bm_rt = sum(div(thisProperty.propertyGroup(1)(2), 2), value);"},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tr","p":{"a":0,"k":[15.5,6.5],"ix":2},"a":{"a":0,"k":[15.5,6.5],"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":"Oval Copy 2","np":1,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[3,3],"ix":2},"p":{"a":0,"k":[10,10],"ix":3,"x":"var $bm_rt;\n$bm_rt = sum(div(thisProperty.propertyGroup(1)(2), 2), value);"},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tr","p":{"a":0,"k":[11.5,11.5],"ix":2},"a":{"a":0,"k":[11.5,11.5],"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":"Oval Copy 4","np":1,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[3,3],"ix":2},"p":{"a":0,"k":[5,15],"ix":3,"x":"var $bm_rt;\n$bm_rt = sum(div(thisProperty.propertyGroup(1)(2), 2), value);"},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tr","p":{"a":0,"k":[6.5,16.5],"ix":2},"a":{"a":0,"k":[6.5,16.5],"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":"Oval Copy 6","np":1,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[3,3],"ix":2},"p":{"a":0,"k":[0,20],"ix":3,"x":"var $bm_rt;\n$bm_rt = sum(div(thisProperty.propertyGroup(1)(2), 2), value);"},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tr","p":{"a":0,"k":[1.5,21.5],"ix":2},"a":{"a":0,"k":[1.5,21.5],"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":"Oval Copy 8","np":1,"cix":2,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[3,3],"ix":2},"p":{"a":0,"k":[26,6],"ix":3,"x":"var $bm_rt;\n$bm_rt = sum(div(thisProperty.propertyGroup(1)(2), 2), value);"},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tr","p":{"a":0,"k":[27.5,7.5],"ix":2},"a":{"a":0,"k":[27.5,7.5],"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":"Oval Copy","np":1,"cix":2,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[3,3],"ix":2},"p":{"a":0,"k":[20,11],"ix":3,"x":"var $bm_rt;\n$bm_rt = sum(div(thisProperty.propertyGroup(1)(2), 2), value);"},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tr","p":{"a":0,"k":[21.5,12.5],"ix":2},"a":{"a":0,"k":[21.5,12.5],"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":"Oval Copy 3","np":1,"cix":2,"ix":7,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[3,3],"ix":2},"p":{"a":0,"k":[16,16],"ix":3,"x":"var $bm_rt;\n$bm_rt = sum(div(thisProperty.propertyGroup(1)(2), 2), value);"},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tr","p":{"a":0,"k":[17.5,17.5],"ix":2},"a":{"a":0,"k":[17.5,17.5],"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":"Oval Copy 5","np":1,"cix":2,"ix":8,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[3,3],"ix":2},"p":{"a":0,"k":[11,21],"ix":3,"x":"var $bm_rt;\n$bm_rt = sum(div(thisProperty.propertyGroup(1)(2), 2), value);"},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tr","p":{"a":0,"k":[12.5,22.5],"ix":2},"a":{"a":0,"k":[12.5,22.5],"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":"Oval Copy 7","np":1,"cix":2,"ix":9,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[3,3],"ix":2},"p":{"a":0,"k":[6,26],"ix":3,"x":"var $bm_rt;\n$bm_rt = sum(div(thisProperty.propertyGroup(1)(2), 2), value);"},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tr","p":{"a":0,"k":[7.5,27.5],"ix":2},"a":{"a":0,"k":[7.5,27.5],"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":"Oval Copy 9","np":1,"cix":2,"ix":10,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[13.479,8.174],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[174.15,174.15],"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":"Combined Shape","np":11,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":582,"st":0,"bm":3}]},{"id":"comp_28","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"top gradient 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[676.793,592.214,0],"ix":2},"a":{"a":0,"k":[161.771,185.625,0],"ix":1},"s":{"a":0,"k":[167.414,156.485,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-32.615,36.219],[38.821,39.666],[0,0],[30.168,-34.428],[-34.643,-35.416]],"o":[[0,0],[35.421,36.573],[33.486,-37.186],[0,0],[-34.643,-35.408],[-32.698,37.315],[0,0]],"v":[[145.847,276.337],[188.716,320.16],[308.833,322.591],[302.799,191.193],[166.892,47.089],[45.018,50.252],[50.711,177.105]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gs","o":{"a":0,"k":100,"ix":9},"w":{"a":0,"k":2,"ix":10},"g":{"p":3,"k":{"a":0,"k":[0,0.918,0.078,0.482,0.5,0.488,0.41,0.645,1,0.059,0.741,0.808],"ix":8}},"s":{"a":0,"k":[20.389,22.001],"ix":4},"e":{"a":0,"k":[333.534,351.158],"ix":5},"t":1,"lc":2,"lj":2,"d":[{"n":"d","nm":"dash","v":{"a":0,"k":0,"ix":1}},{"n":"g","nm":"gap","v":{"a":0,"k":6,"ix":2}},{"n":"o","nm":"offset","v":{"a":0,"k":0,"ix":7}}],"nm":"Gradient Stroke 1","mn":"ADBE Vector Graphic - G-Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0.016,0.071],"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":"Path","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.13],"y":[1]},"o":{"x":[0.437],"y":[0]},"n":["0p13_1_0p437_0"],"t":0,"s":[0],"e":[100]},{"t":40}],"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[360]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":40,"s":[360],"e":[432]},{"t":206}],"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":582,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"bottom gradient 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[704.229,761.465,0],"ix":2},"a":{"a":0,"k":[178.51,145.63,0],"ix":1},"s":{"a":0,"k":[166.241,155.588,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-31.766,-33.004],[-34.481,35.437],[0,0],[32.662,35.352],[34.489,-35.437]],"o":[[0,0],[-34.481,35.437],[32.568,33.837],[0,0],[34.481,-35.429],[-32.658,-35.348],[0,0]],"v":[[122.383,118.689],[50.12,195.537],[46.83,323.705],[168.402,323.543],[307.278,175.855],[309.169,47.695],[188.989,47.857]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gs","o":{"a":0,"k":100,"ix":9},"w":{"a":0,"k":2,"ix":10},"g":{"p":3,"k":{"a":0,"k":[0,0.918,0.078,0.482,0.5,0.488,0.41,0.645,1,0.059,0.741,0.808],"ix":8}},"s":{"a":0,"k":[20.389,22.001],"ix":4},"e":{"a":0,"k":[333.534,351.158],"ix":5},"t":1,"lc":2,"lj":2,"d":[{"n":"d","nm":"dash","v":{"a":0,"k":0,"ix":1}},{"n":"g","nm":"gap","v":{"a":0,"k":6,"ix":2}},{"n":"o","nm":"offset","v":{"a":0,"k":0,"ix":7}}],"nm":"Gradient Stroke 1","mn":"ADBE Vector Graphic - G-Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Path","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.13],"y":[1]},"o":{"x":[0.437],"y":[0]},"n":["0p13_1_0p437_0"],"t":0,"s":[0],"e":[100]},{"t":40}],"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[360]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":40,"s":[360],"e":[432]},{"t":206}],"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":582,"st":0,"bm":0}]},{"id":"comp_29","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"top gradient 2","sr":1,"ks":{"o":{"a":0,"k":10,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[630.311,697.664,0],"ix":2},"a":{"a":0,"k":[129.266,259.367,0],"ix":1},"s":{"a":0,"k":[143,143,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-32.615,36.219],[38.821,39.666],[0,0],[30.168,-34.428],[-34.643,-35.416]],"o":[[0,0],[35.421,36.573],[33.486,-37.186],[0,0],[-34.643,-35.408],[-32.698,37.315],[0,0]],"v":[[145.847,276.337],[188.716,320.16],[308.833,322.591],[302.799,191.193],[166.892,47.089],[45.018,50.252],[50.711,177.105]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gs","o":{"a":0,"k":100,"ix":9},"w":{"a":0,"k":51,"ix":10},"g":{"p":3,"k":{"a":0,"k":[0,0.918,0.078,0.482,0.5,0.488,0.41,0.645,1,0.059,0.741,0.808],"ix":8}},"s":{"a":0,"k":[20.389,22.001],"ix":4},"e":{"a":0,"k":[333.534,351.158],"ix":5},"t":1,"lc":2,"lj":2,"nm":"Gradient Stroke 1","mn":"ADBE Vector Graphic - G-Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0.016,0.071],"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":"Path","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":582,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"bottom gradient 2","parent":1,"sr":1,"ks":{"o":{"a":0,"k":10,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,151.01,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-31.766,-33.004],[-34.481,35.437],[0,0],[32.662,35.352],[34.489,-35.437]],"o":[[0,0],[-34.481,35.437],[32.568,33.837],[0,0],[34.481,-35.429],[-32.658,-35.348],[0,0]],"v":[[122.383,118.689],[50.12,195.537],[46.83,323.705],[168.402,323.543],[307.278,175.855],[309.169,47.695],[188.989,47.857]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gs","o":{"a":0,"k":100,"ix":9},"w":{"a":0,"k":51,"ix":10},"g":{"p":3,"k":{"a":0,"k":[0,0.918,0.078,0.482,0.5,0.488,0.41,0.645,1,0.059,0.741,0.808],"ix":8}},"s":{"a":0,"k":[23.323,352.344],"ix":4},"e":{"a":0,"k":[333.867,22.766],"ix":5},"t":1,"lc":2,"lj":2,"nm":"Gradient Stroke 1","mn":"ADBE Vector Graphic - G-Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Path","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":582,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"bottom left","refId":"comp_25","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[425,425,0],"ix":2},"a":{"a":0,"k":[700,700,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":0,"k":{"i":[[19.3,-20.909],[-77.841,-87.143],[-26.626,37],[0,0],[0,0],[3.979,-3.943],[21.354,-8.993],[33.25,31.25],[-10.06,22.855],[0,0],[0,0],[0,0],[0,0]],"o":[[-18,19.501],[79.5,89],[4.366,-6.067],[0,0],[0,0],[-27.626,27.375],[-21.341,8.987],[-35.098,-32.987],[10.863,-24.679],[0,0],[0,0],[0,0],[0,0]],"v":[[478,811.999],[484,1028.5],[710.626,1031.25],[906.174,825.585],[828.745,800.692],[708.251,928.75],[636.146,997.493],[543.5,985],[522.637,879.679],[549.5,841.499],[726.796,651.11],[671.014,605.492],[511.727,774.458]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"w":1400,"h":1400,"ip":30,"op":207,"st":30,"bm":3},{"ddd":0,"ind":2,"ty":0,"nm":"Shape Layer 2 Comp 1","refId":"comp_26","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[425,425,0],"ix":2},"a":{"a":0,"k":[700,700,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":0,"k":{"i":[[0,0],[60.5,-58.625],[0,0],[-29.176,-33.894],[0,0],[0,0],[2.138,9.397],[-42.42,36.582],[-11.955,-11.937],[0,0],[0,0],[10.352,8.203]],"o":[[0,0],[-61.774,59.859],[0,0],[15.824,18.981],[0,0],[0,0],[-15.362,-24.603],[39.578,-34.132],[9.545,1.063],[0,0],[0,0],[-24.898,-22.047]],"v":[[627.3,325.45],[491.5,365.625],[442.454,504.046],[478.176,589.519],[603.472,718.436],[649.702,663.18],[528.362,535.103],[543.17,417.168],[643.955,408.437],[868.819,643.157],[915.114,587.104],[693.648,354.297]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"w":1400,"h":1400,"ip":40,"op":207,"st":40,"bm":3},{"ddd":0,"ind":3,"ty":0,"nm":"dot dot","refId":"comp_27","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":87.39,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":111.085,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":134.78,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":182.17,"s":[100],"e":[0]},{"t":205.865234375}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[356,425,0],"ix":2},"a":{"a":0,"k":[25.5,26,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":51,"h":52,"ip":40,"op":207,"st":40,"bm":3},{"ddd":0,"ind":4,"ty":0,"nm":"dot dot 3","refId":"comp_27","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":132.41,"s":[100],"e":[0]},{"t":156.10546875}],"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":49.478,"s":[97],"e":[103]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":54.217,"s":[103],"e":[151]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":66.064,"s":[151],"e":[205]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":82.651,"s":[205],"e":[254]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":103.977,"s":[254],"e":[267]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":118.193,"s":[267],"e":[273]},{"t":156.10546875}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.171,"y":0.523},"o":{"x":0.202,"y":0},"n":"0p171_0p523_0p202_0","t":40,"s":[478.5,197,0],"e":[605.211,514.635,0],"to":[190.990447998047,160.949462890625,0],"ti":[57.1761779785156,-54.6577949523926,0]},{"i":{"x":0.46,"y":1},"o":{"x":0.166,"y":0.528},"n":"0p46_1_0p166_0p528","t":75.542,"s":[605.211,514.635,0],"e":[391,454,0],"to":[-53.2955093383789,50.9480514526367,0],"ti":[55.3542785644531,99.6731643676758,0]},{"t":205.865234375}],"ix":2},"a":{"a":0,"k":[25.5,26,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":51,"h":52,"ip":40,"op":207,"st":40,"bm":3},{"ddd":0,"ind":5,"ty":4,"nm":"circle 3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[408.811,344.164,0],"ix":2},"a":{"a":0,"k":[178.217,185.94,0],"ix":1},"s":{"a":0,"k":[143,143,100],"ix":6}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[141.106,206.717],[110.43,239.196],[145.39,275.784],[176.591,242.256]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[100,100],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":85,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":40,"s":[185.289,276.851],"e":[108.695,204.332],"to":[-12.7656526565552,-12.0863838195801],"ti":[12.7656526565552,12.0863838195801]},{"t":158.474609375}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[34.114,34.114],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":40,"s":[0],"e":[100]},{"t":63.6953125}],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":40,"op":207,"st":40,"bm":3},{"ddd":0,"ind":6,"ty":4,"nm":"bottom intersect","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[170.46,267.714,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[143,143,100],"ix":6}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[124.626,32.564],[39.976,108.706],[124.626,184.848],[209.277,108.706]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-31.766,-33.004],[-34.481,35.437],[0,0],[32.662,35.352],[34.489,-35.437]],"o":[[0,0],[-34.481,35.437],[32.568,33.837],[0,0],[34.481,-35.429],[-32.658,-35.348],[0,0]],"v":[[122.383,118.689],[50.12,195.537],[46.83,323.705],[168.402,323.543],[307.278,175.855],[310.568,47.695],[188.989,47.857]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gs","o":{"a":0,"k":100,"ix":9},"w":{"a":0,"k":51,"ix":10},"g":{"p":3,"k":{"a":0,"k":[0,0.918,0.078,0.482,0.5,0.488,0.41,0.645,1,0.059,0.741,0.808],"ix":8}},"s":{"a":0,"k":[23.323,352.344],"ix":4},"e":{"a":0,"k":[333.867,22.766],"ix":5},"t":1,"lc":2,"lj":2,"nm":"Gradient Stroke 1","mn":"ADBE Vector Graphic - G-Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Path","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.13],"y":[1]},"o":{"x":[0.437],"y":[0]},"n":["0p13_1_0p437_0"],"t":5,"s":[0],"e":[100]},{"t":40}],"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.13],"y":[1]},"o":{"x":[0.437],"y":[0]},"n":["0p13_1_0p437_0"],"t":5,"s":[0],"e":[360]},{"t":40}],"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":5,"op":207,"st":5,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"circle","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[425.311,317.664,0],"ix":2},"a":{"a":0,"k":[178.217,185.94,0],"ix":1},"s":{"a":0,"k":[143,143,100],"ix":6}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[110.862,203.395],[71.706,235.962],[161.474,328.756],[199.493,295.053]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[100,100],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":85,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":87.39,"s":[125.589,217.812],"e":[100.818,262.368],"to":[-4.1284236907959,7.42597246170044],"ti":[4.1284236907959,-7.42597246170044]},{"t":205.865234375}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[34.114,34.114],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":87.39,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":111.085,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":182.17,"s":[100],"e":[0]},{"t":205.865234375}],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":40,"op":207,"st":40,"bm":3},{"ddd":0,"ind":8,"ty":0,"nm":"dot dot 2","refId":"comp_27","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":96.868,"s":[100],"e":[0]},{"t":108.7158203125}],"ix":11},"r":{"a":0,"k":90,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.21,"y":1},"o":{"x":0.996,"y":0},"n":"0p21_1_0p996_0","t":63.695,"s":[438.5,506,0],"e":[354.5,426,0],"to":[-14,-13.3333330154419,0],"ti":[14,13.3333330154419,0]},{"t":134.7802734375}],"ix":2},"a":{"a":0,"k":[25.5,26,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":51,"h":52,"ip":50,"op":207,"st":50,"bm":3},{"ddd":0,"ind":9,"ty":4,"nm":"top intersect","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":20,"s":[0],"e":[50]},{"t":30}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[425.311,317.664,0],"ix":2},"a":{"a":0,"k":[178.217,185.94,0],"ix":1},"s":{"a":0,"k":[143,143,100],"ix":6}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[91.194,150.86],[25.552,210.787],[167.942,347.812],[223.269,294.703]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-32.615,36.219],[38.821,39.666],[0,0],[30.168,-34.428],[-34.643,-35.416]],"o":[[0,0],[35.421,36.573],[33.486,-37.186],[0,0],[-34.643,-35.408],[-32.698,37.315],[0,0]],"v":[[144.798,275.288],[192.388,323.656],[308.833,322.591],[302.799,191.193],[166.892,47.089],[45.018,50.252],[50.711,177.105]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gs","o":{"a":0,"k":100,"ix":9},"w":{"a":0,"k":51,"ix":10},"g":{"p":7,"k":{"a":0,"k":[0,0.639,0.294,0.588,0.177,0.32,0.147,0.369,0.354,0,0,0.149,0.528,0,0,0.149,0.701,0,0,0.149,0.85,0.139,0.286,0.437,0.999,0.278,0.573,0.725],"ix":8}},"s":{"a":0,"k":[62.14,189.033],"ix":4},"e":{"a":0,"k":[193.065,322.973],"ix":5},"t":1,"lc":2,"lj":2,"nm":"Gradient Stroke 1","mn":"ADBE Vector Graphic - G-Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0.016,0.071],"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":"Path","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.13],"y":[1]},"o":{"x":[0.437],"y":[0]},"n":["0p13_1_0p437_0"],"t":5,"s":[0],"e":[100]},{"t":45}],"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.13],"y":[1]},"o":{"x":[0.437],"y":[0]},"n":["0p13_1_0p437_0"],"t":5,"s":[0],"e":[360]},{"t":45}],"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tr","p":{"a":0,"k":[177.755,185.625],"ix":2},"a":{"a":0,"k":[177.755,185.625],"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":"path animation","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":5,"op":207,"st":5,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"top gradient","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[425.311,317.664,0],"ix":2},"a":{"a":0,"k":[178.217,185.94,0],"ix":1},"s":{"a":0,"k":[143,143,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-32.615,36.219],[38.821,39.666],[0,0],[30.168,-34.428],[-34.643,-35.416]],"o":[[0,0],[35.421,36.573],[33.486,-37.186],[0,0],[-34.643,-35.408],[-32.698,37.315],[0,0]],"v":[[145.847,276.337],[188.716,320.16],[308.833,322.591],[302.799,191.193],[166.892,47.089],[45.018,50.252],[50.711,177.105]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gs","o":{"a":0,"k":100,"ix":9},"w":{"a":0,"k":51,"ix":10},"g":{"p":3,"k":{"a":0,"k":[0,0.918,0.078,0.482,0.5,0.488,0.41,0.645,1,0.059,0.741,0.808],"ix":8}},"s":{"a":0,"k":[20.389,22.001],"ix":4},"e":{"a":0,"k":[333.534,351.158],"ix":5},"t":1,"lc":2,"lj":2,"nm":"Gradient Stroke 1","mn":"ADBE Vector Graphic - G-Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0.016,0.071],"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":"Path","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.13],"y":[1]},"o":{"x":[0.437],"y":[0]},"n":["0p13_1_0p437_0"],"t":5,"s":[0],"e":[100]},{"t":45}],"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.13],"y":[1]},"o":{"x":[0.437],"y":[0]},"n":["0p13_1_0p437_0"],"t":5,"s":[0],"e":[360]},{"t":45}],"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":5,"op":207,"st":5,"bm":0},{"ddd":0,"ind":11,"ty":0,"nm":"dot dot 4","refId":"comp_27","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0,"y":0},"n":"0_1_0_0","t":40,"s":[484,655,0],"e":[455,682.5,0],"to":[-4.83333349227905,4.58333349227905,0],"ti":[-18.1666660308838,18.25,0]},{"i":{"x":0,"y":1},"o":{"x":0.013,"y":0},"n":"0_1_0p013_0","t":87.39,"s":[455,682.5,0],"e":[593,545.5,0],"to":[18.1666660308838,-18.25,0],"ti":[-23,22.8333339691162,0]},{"t":111.0849609375}],"ix":2},"a":{"a":0,"k":[25.5,26,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":51,"h":52,"ip":40,"op":207,"st":40,"bm":3},{"ddd":0,"ind":12,"ty":4,"nm":"botto center shadow","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":22,"s":[0],"e":[50]},{"t":32}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[170.46,267.714,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[143,143,100],"ix":6}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[222.668,-8.017],[147.58,16.983],[253,122.403],[292.86,67.857]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-31.766,-33.004],[-34.481,35.437],[0,0],[32.662,35.352],[34.489,-35.437]],"o":[[0,0],[-34.481,35.437],[32.568,33.837],[0,0],[34.481,-35.429],[-32.658,-35.348],[0,0]],"v":[[122.383,118.689],[50.12,195.537],[46.83,323.705],[168.402,323.543],[307.278,175.855],[309.169,47.695],[188.989,47.857]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gs","o":{"a":0,"k":100,"ix":9},"w":{"a":0,"k":51,"ix":10},"g":{"p":3,"k":{"a":0,"k":[0,0,0,0.149,0.5,0.149,0.278,0.433,1,0.298,0.557,0.718],"ix":8}},"s":{"a":0,"k":[252.962,23.148],"ix":4},"e":{"a":0,"k":[186.511,57.098],"ix":5},"t":1,"lc":2,"lj":2,"nm":"Gradient Stroke 1","mn":"ADBE Vector Graphic - G-Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Path","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.13],"y":[1]},"o":{"x":[0.437],"y":[0]},"n":["0p13_1_0p437_0"],"t":5,"s":[0],"e":[100]},{"t":45}],"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.13],"y":[1]},"o":{"x":[0.437],"y":[0]},"n":["0p13_1_0p437_0"],"t":5,"s":[0],"e":[360]},{"t":45}],"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":5,"op":207,"st":5,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"bottom right shadow","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":23,"s":[0],"e":[50]},{"t":33}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[170.46,267.714,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[143,143,100],"ix":6}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[27.966,-20.988]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[-43.954,32.986]],"v":[[229.381,220.652],[163.13,232.882],[245.771,315.523],[345.496,189.019],[355.903,137.559],[314.719,201.432]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-31.766,-33.004],[-34.481,35.437],[0,0],[32.662,35.352],[34.489,-35.437]],"o":[[0,0],[-34.481,35.437],[32.568,33.837],[0,0],[34.481,-35.429],[-32.658,-35.348],[0,0]],"v":[[122.383,118.689],[50.12,195.537],[46.83,323.705],[168.402,323.543],[307.278,175.855],[309.169,47.695],[188.989,47.857]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gs","o":{"a":0,"k":100,"ix":9},"w":{"a":0,"k":51,"ix":10},"g":{"p":3,"k":{"a":0,"k":[0,0.576,0.341,0.612,0.5,0.288,0.171,0.38,1,0,0,0.149],"ix":8}},"s":{"a":0,"k":[209.954,279.226],"ix":4},"e":{"a":0,"k":[289.12,209.59],"ix":5},"t":1,"lc":2,"lj":2,"nm":"Gradient Stroke 1","mn":"ADBE Vector Graphic - G-Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Path","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.13],"y":[1]},"o":{"x":[0.437],"y":[0]},"n":["0p13_1_0p437_0"],"t":5,"s":[0],"e":[100]},{"t":45}],"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.13],"y":[1]},"o":{"x":[0.437],"y":[0]},"n":["0p13_1_0p437_0"],"t":5,"s":[0],"e":[360]},{"t":45}],"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":5,"op":207,"st":5,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"bottom gradient","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[170.46,267.714,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[143,143,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-31.766,-33.004],[-34.481,35.437],[0,0],[32.662,35.352],[34.489,-35.437]],"o":[[0,0],[-34.481,35.437],[32.568,33.837],[0,0],[34.481,-35.429],[-32.658,-35.348],[0,0]],"v":[[122.383,118.689],[50.12,195.537],[46.83,323.705],[168.402,323.543],[307.278,175.855],[309.169,47.695],[188.989,47.857]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gs","o":{"a":0,"k":100,"ix":9},"w":{"a":0,"k":51,"ix":10},"g":{"p":3,"k":{"a":0,"k":[0,0.918,0.078,0.482,0.5,0.488,0.41,0.645,1,0.059,0.741,0.808],"ix":8}},"s":{"a":0,"k":[23.323,352.344],"ix":4},"e":{"a":0,"k":[333.867,22.766],"ix":5},"t":1,"lc":2,"lj":2,"nm":"Gradient Stroke 1","mn":"ADBE Vector Graphic - G-Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Path","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.13],"y":[1]},"o":{"x":[0.437],"y":[0]},"n":["0p13_1_0p437_0"],"t":5,"s":[0],"e":[100]},{"t":45}],"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.13],"y":[1]},"o":{"x":[0.437],"y":[0]},"n":["0p13_1_0p437_0"],"t":5,"s":[0],"e":[360]},{"t":45}],"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":5,"op":207,"st":5,"bm":0},{"ddd":0,"ind":15,"ty":0,"nm":"Ub=nder Lines Tones","refId":"comp_28","sr":1,"ks":{"o":{"a":0,"k":70,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.31],"y":[0]},"n":["0_1_0p31_0"],"t":20,"s":[0],"e":[-27]},{"t":40}],"ix":10},"p":{"a":0,"k":[435,415,0],"ix":2},"a":{"a":0,"k":[700,700,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":1400,"h":1400,"ip":0,"op":207,"st":0,"bm":0},{"ddd":0,"ind":16,"ty":0,"nm":"underTone","refId":"comp_29","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":20,"s":[0],"e":[50]},{"t":30}],"ix":11},"r":{"a":1,"k":[{"i":{"x":[0],"y":[0]},"o":{"x":[0.32],"y":[0]},"n":["0_0_0p32_0"],"t":20,"s":[0],"e":[-30]},{"t":40}],"ix":10},"p":{"a":0,"k":[357,421,0],"ix":2},"a":{"a":0,"k":[632,696,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":1400,"h":1400,"ip":5,"op":207,"st":5,"bm":0},{"ddd":0,"ind":17,"ty":0,"nm":"underTone","refId":"comp_29","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":20,"s":[0],"e":[100]},{"t":30}],"ix":11},"r":{"a":1,"k":[{"i":{"x":[0],"y":[0]},"o":{"x":[0.32],"y":[0]},"n":["0_0_0p32_0"],"t":20,"s":[0],"e":[-12]},{"t":40}],"ix":10},"p":{"a":0,"k":[357,421,0],"ix":2},"a":{"a":0,"k":[632,696,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":1400,"h":1400,"ip":5,"op":207,"st":5,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":"pre-top 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[425.311,317.664,0],"ix":2},"a":{"a":0,"k":[178.217,185.94,0],"ix":1},"s":{"a":0,"k":[143,143,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[30.168,-34.428],[-34.643,-35.416],[0,0],[0,0],[-32.615,36.219],[38.821,39.666]],"o":[[-34.643,-35.408],[-32.698,37.315],[0,0],[0,0],[35.421,36.573],[33.486,-37.186],[0,0]],"v":[[166.892,47.089],[45.018,50.252],[50.711,177.105],[145.148,276.687],[188.716,320.16],[308.833,322.591],[302.799,191.193]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.226922487745,0.270561427696,0.314200367647,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":51,"ix":5},"lc":2,"lj":2,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0.016,0.071],"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":"Path","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.13],"y":[1]},"o":{"x":[0.437],"y":[0]},"n":["0p13_1_0p437_0"],"t":0,"s":[0],"e":[30]},{"t":40}],"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.13],"y":[1]},"o":{"x":[0.437],"y":[0]},"n":["0p13_1_0p437_0"],"t":0,"s":[0],"e":[360]},{"t":40}],"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":41,"st":0,"bm":0},{"ddd":0,"ind":19,"ty":4,"nm":"pre-top","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[425.311,317.664,0],"ix":2},"a":{"a":0,"k":[178.217,185.94,0],"ix":1},"s":{"a":0,"k":[143,143,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-32.615,36.219],[38.821,39.666],[0,0],[30.168,-34.428],[-34.643,-35.416],[0,0],[0,0]],"o":[[33.486,-37.186],[0,0],[-34.643,-35.408],[-32.698,37.315],[0,0],[0,0],[35.421,36.573]],"v":[[308.833,322.591],[302.799,191.193],[166.892,47.089],[45.018,50.252],[50.711,177.105],[145.148,276.687],[188.716,320.16]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.226922487745,0.270561427696,0.314200367647,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":51,"ix":5},"lc":2,"lj":2,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0.016,0.071],"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":"Path","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.13],"y":[1]},"o":{"x":[0.437],"y":[0]},"n":["0p13_1_0p437_0"],"t":0,"s":[0],"e":[30]},{"t":40}],"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.13],"y":[1]},"o":{"x":[0.437],"y":[0]},"n":["0p13_1_0p437_0"],"t":0,"s":[0],"e":[360]},{"t":40}],"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":41,"st":0,"bm":0},{"ddd":0,"ind":20,"ty":4,"nm":"pre-bottom 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[170.46,267.714,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[143,143,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-34.481,35.437],[0,0],[32.662,35.352],[34.489,-35.437],[0,0],[0,0],[-31.766,-33.004]],"o":[[0,0],[34.481,-35.429],[-32.658,-35.348],[0,0],[0,0],[-34.481,35.437],[32.568,33.837]],"v":[[168.402,323.543],[307.278,175.855],[310.568,47.695],[188.989,47.857],[122.383,118.689],[50.12,195.537],[46.83,323.705]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.226922487745,0.270561427696,0.314200367647,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":51,"ix":5},"lc":2,"lj":2,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Path","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.13],"y":[1]},"o":{"x":[0.437],"y":[0]},"n":["0p13_1_0p437_0"],"t":0,"s":[0],"e":[30]},{"t":40}],"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.13],"y":[1]},"o":{"x":[0.437],"y":[0]},"n":["0p13_1_0p437_0"],"t":0,"s":[0],"e":[360]},{"t":40}],"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":41,"st":0,"bm":0},{"ddd":0,"ind":21,"ty":4,"nm":"pre-bottom","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[170.46,267.714,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[143,143,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-31.766,-33.004],[-34.481,35.437],[0,0],[32.662,35.352],[34.489,-35.437]],"o":[[0,0],[-34.481,35.437],[32.568,33.837],[0,0],[34.481,-35.429],[-32.658,-35.348],[0,0]],"v":[[122.383,118.689],[50.12,195.537],[46.83,323.705],[168.402,323.543],[307.278,175.855],[310.568,47.695],[188.989,47.857]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.226922487745,0.270561427696,0.314200367647,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":51,"ix":5},"lc":2,"lj":2,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Path","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.13],"y":[1]},"o":{"x":[0.437],"y":[0]},"n":["0p13_1_0p437_0"],"t":0,"s":[0],"e":[30]},{"t":40}],"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.13],"y":[1]},"o":{"x":[0.437],"y":[0]},"n":["0p13_1_0p437_0"],"t":0,"s":[0],"e":[360]},{"t":40}],"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":41,"st":0,"bm":0}],"markers":[{"tm":0.06944444444444,"cm":"1","dr":0}]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/it's_lunch_time!.json b/submodules/RLottie/Sources/rlottie/example/resource/it's_lunch_time!.json deleted file mode 100644 index 20e5dbb6e5..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/it's_lunch_time!.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.1.20","fr":25,"ip":0,"op":74,"w":512,"h":512,"nm":"Layers-estaPronto","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"dente 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[140.225,174.571,0],"ix":2},"a":{"a":0,"k":[2.5,34.346,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[2.5,2.5],[2.5,66.191]],"c":false},"ix":2},"nm":"Caminho 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.808000033509,0,0.344999994016,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":1,"lj":1,"ml":10,"nm":"Traçado 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Transformar"}],"nm":"Grupo 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"n":["0_1_1_0"],"t":18.85,"s":[0],"e":[100]},{"t":37}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Aparar caminhos 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":75,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"dente 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[152.553,174.571,0],"ix":2},"a":{"a":0,"k":[2.5,34.346,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[2.5,2.5],[2.5,66.191]],"c":false},"ix":2},"nm":"Caminho 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.808000033509,0,0.344999994016,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":1,"lj":1,"ml":10,"nm":"Traçado 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Transformar"}],"nm":"Grupo 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.016],"y":[0.993]},"o":{"x":[1],"y":[-0.014]},"n":["0p016_0p993_1_-0p014"],"t":18.85,"s":[100],"e":[0]},{"t":37}],"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Aparar caminhos 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":75,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"garfo","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[146.389,255.725,0],"ix":2},"a":{"a":0,"k":[30.991,125.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-2.585,-4.361],[0,-8.218],[2.054,-18.491],[0,-14.382],[-9.077,0],[0,9.077],[2.055,18.491],[0,0],[-4.109,6.163],[-0.109,5.068],[0,0]],"o":[[0,0],[0.109,5.068],[4.109,6.163],[0,0],[-2.055,18.491],[0,9.077],[9.077,0],[0,-14.382],[-2.054,-18.491],[0,-8.218],[2.585,-4.361],[0,0],[0,0]],"v":[[-18.491,-113],[-18.491,-49.309],[-14.382,-34.927],[-6.164,-18.491],[-8.218,26.709],[-16.436,96.564],[0,113],[16.436,96.564],[8.218,26.709],[6.164,-18.491],[14.382,-34.927],[18.491,-49.309],[18.491,-113]],"c":false},"ix":2},"nm":"Caminho 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.808000033509,0,0.344999994016,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":1,"lj":1,"ml":10,"nm":"Traçado 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[30.991,125.5],"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":"Transformar"}],"nm":"Grupo 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.884],"y":[0.022]},"n":["0p667_1_0p884_0p022"],"t":19,"s":[100],"e":[0]},{"t":40}],"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Aparar caminhos 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":75,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"faca","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[282.826,255.753,0],"ix":2},"a":{"a":0,"k":[116.446,124.473,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[84.5,11.171],[84.5,236.171],[302.392,236.171],[302.392,11.171]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Máscara 1"}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-2.788,0.039],[2.055,-18.491],[0,-14.381],[-9.077,0],[0,9.078],[2.054,18.491],[0,0],[0,0],[8.218,-22.6],[2.3,-13]],"o":[[2.654,0.856],[0,0],[-2.055,18.491],[0,9.078],[9.078,0],[0,-14.381],[-2.055,-18.491],[0,0],[0,0],[-4.738,12.322],[0,0]],"v":[[-9.091,-8.424],[-0.872,-7.191],[-2.928,38.009],[-11.146,95.536],[5.29,111.973],[21.727,95.536],[13.509,38.009],[11.454,-7.191],[11.454,-111.973],[-11.146,-89.373],[-21.727,-51.302]],"c":false},"ix":2},"nm":"Caminho 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.808000033509,0,0.344999994016,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":1,"lj":1,"ml":10,"nm":"Traçado 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[198.666,124.473],"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":"Transformar"}],"nm":"Grupo 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[2.5,11.445],[2.5,75.137]],"c":false},"ix":2},"nm":"Caminho 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.808000033509,0,0.344999994016,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":1,"lj":1,"ml":10,"nm":"Traçado 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Transformar"}],"nm":"Grupo 2","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":100,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":19,"s":[100],"e":[0]},{"t":40}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Aparar caminhos 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":75,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"prato int","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[41],"e":[401]},{"t":40}],"ix":10},"p":{"a":0,"k":[257.28,260.671,0],"ix":2},"a":{"a":0,"k":[73.269,73.269,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[40.327,0],[0,-40.327],[-40.327,0],[0,40.328]],"o":[[-40.327,0],[0,40.328],[40.327,0],[0,-40.327]],"v":[[0,-73.019],[-73.019,-0.001],[0,73.019],[73.019,-0.001]],"c":true},"ix":2},"nm":"Caminho 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.807843137255,0,0.345098039216,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":6,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Traçado 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[73.269,73.269],"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":"Transformar"}],"nm":"Grupo 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.833],"y":[0]},"n":["0p667_1_0p833_0"],"t":0,"s":[0],"e":[100]},{"t":20}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Aparar caminhos 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":75,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"prato ext","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[-23],"e":[401]},{"t":40}],"ix":10},"p":{"a":0,"k":[257.28,260.671,0],"ix":2},"a":{"a":0,"k":[73.269,73.269,0],"ix":1},"s":{"a":0,"k":[139,139,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[40.327,0],[0,-40.327],[-40.327,0],[0,40.328]],"o":[[-40.327,0],[0,40.328],[40.327,0],[0,-40.327]],"v":[[0,-73.019],[-73.019,-0.001],[0,73.019],[73.019,-0.001]],"c":true},"ix":2},"nm":"Caminho 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.807843137255,0,0.345098039216,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Traçado 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[73.269,73.269],"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":"Transformar"}],"nm":"Grupo 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.829],"y":[0]},"n":["0p667_1_0p829_0"],"t":0,"s":[100],"e":[0]},{"t":20}],"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Aparar caminhos 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":75,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/jolly_walker.json b/submodules/RLottie/Sources/rlottie/example/resource/jolly_walker.json deleted file mode 100644 index f220364204..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/jolly_walker.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.1.7","fr":60,"ip":0,"op":64,"w":1000,"h":1000,"nm":"Comp 1","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 18","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[116,48.775,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[29,21],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.454901960784,0.416844805549,0.383544802198,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.874509803922,0.472901018928,0.332656650917,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-61.5,-268.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-5.37,"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 9","parent":10,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[62,-208.226,0],"ix":2},"a":{"a":0,"k":[66,-203,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-2.75,-10.109],[50.39,14.18]],"o":[[2.75,10.109],[-199.5,-56.141]],"v":[[22.75,-166.25],[187,-207.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.515529318417,0.158323714312,0.56862745098,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.295640145096,0.337768345253,0.423529411765,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":3,"nm":"NULL CONTROL","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[473.375,533.528,0],"ix":2},"a":{"a":0,"k":[60,60,0],"ix":1},"s":{"a":0,"k":[64,64,100],"ix":6}},"ao":0,"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Shape Layer 16","parent":10,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[112,81.633,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[45.25,43.75],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.149019607843,0.138734346278,0.129734727448,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[-26.875,-228.375],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Shape Layer 7","parent":11,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-722.596,-191.386,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[190.549,190.549,100],"ix":6}},"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},"n":"0p833_0p833_0p167_0p167","t":0,"s":[{"i":[[0,0],[12,-54],[0,-36]],"o":[[0,0],[-13.019,58.587],[0,32.803]],"v":[[54,-76],[-36,25],[21,152]],"c":false}],"e":[{"i":[[0,0],[12,-54],[22,-33.92]],"o":[[0,0],[-13.019,58.587],[-22,33.92]],"v":[[54,-76],[-3,30],[65,155]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":10,"s":[{"i":[[0,0],[12,-54],[22,-33.92]],"o":[[0,0],[-13.019,58.587],[-22,33.92]],"v":[[54,-76],[-3,30],[65,155]],"c":false}],"e":[{"i":[[0,0],[12,-54],[22,-33.92]],"o":[[0,0],[-13.019,58.587],[-22,33.92]],"v":[[54,-76],[21,30],[113,135]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":17.5,"s":[{"i":[[0,0],[12,-54],[22,-33.92]],"o":[[0,0],[-13.019,58.587],[-22,33.92]],"v":[[54,-76],[21,30],[113,135]],"c":false}],"e":[{"i":[[0,0],[-2.031,-21.152],[10,-25.348]],"o":[[0,0],[4,41.652],[-14.837,37.609]],"v":[[54,-76],[35,45],[157,53]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":27.5,"s":[{"i":[[0,0],[-2.031,-21.152],[10,-25.348]],"o":[[0,0],[4,41.652],[-14.837,37.609]],"v":[[54,-76],[35,45],[157,53]],"c":false}],"e":[{"i":[[0,0],[12,-54],[22,-33.92]],"o":[[0,0],[-13.019,58.587],[-22,33.92]],"v":[[54,-76],[-2,50],[92,115]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":35,"s":[{"i":[[0,0],[12,-54],[22,-33.92]],"o":[[0,0],[-13.019,58.587],[-22,33.92]],"v":[[54,-76],[-2,50],[92,115]],"c":false}],"e":[{"i":[[0,0],[20,-44.091],[22,-33.92]],"o":[[0,0],[-24.793,54.656],[-22,33.92]],"v":[[54,-76],[-27,23],[20,140]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":42.5,"s":[{"i":[[0,0],[20,-44.091],[22,-33.92]],"o":[[0,0],[-24.793,54.656],[-22,33.92]],"v":[[54,-76],[-27,23],[20,140]],"c":false}],"e":[{"i":[[0,0],[11.429,-44.49],[36.429,-47.205]],"o":[[0,0],[-14.932,58.129],[-9.825,31.173]],"v":[[54,-76],[-46.429,16.143],[-59.429,144.857]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":50,"s":[{"i":[[0,0],[11.429,-44.49],[36.429,-47.205]],"o":[[0,0],[-14.932,58.129],[-9.825,31.173]],"v":[[54,-76],[-46.429,16.143],[-59.429,144.857]],"c":false}],"e":[{"i":[[0,0],[11.657,-48.294],[16.257,-68.462]],"o":[[0,0],[-14.167,58.313],[-13.895,29.104]],"v":[[54,-76],[-33.457,16.086],[-17.257,158.114]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":55,"s":[{"i":[[0,0],[11.657,-48.294],[16.257,-68.462]],"o":[[0,0],[-14.167,58.313],[-13.895,29.104]],"v":[[54,-76],[-33.457,16.086],[-17.257,158.114]],"c":false}],"e":[{"i":[[0,0],[12,-54],[0,-36]],"o":[[0,0],[-13.019,58.587],[0,32.803]],"v":[[54,-76],[-36,25],[21,152]],"c":false}]},{"t":62.5}],"ix":2,"x":"var $bm_rt;\n$bm_rt = content('Shape 1').content('Path 1').path;"},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":0,"k":88,"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.980392156863,0.792156862745,0.627450980392,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":38,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[-34.433,21.811],"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":"Shape 2","np":4,"cix":2,"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},"n":"0p833_0p833_0p167_0p167","t":0,"s":[{"i":[[0,0],[12,-54],[0,-36]],"o":[[0,0],[-13.019,58.587],[0,32.803]],"v":[[54,-76],[-36,25],[21,152]],"c":false}],"e":[{"i":[[0,0],[12,-54],[22,-33.92]],"o":[[0,0],[-13.019,58.587],[-22,33.92]],"v":[[54,-76],[-3,30],[65,155]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":10,"s":[{"i":[[0,0],[12,-54],[22,-33.92]],"o":[[0,0],[-13.019,58.587],[-22,33.92]],"v":[[54,-76],[-3,30],[65,155]],"c":false}],"e":[{"i":[[0,0],[12,-54],[22,-33.92]],"o":[[0,0],[-13.019,58.587],[-22,33.92]],"v":[[54,-76],[21,30],[113,135]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":17.5,"s":[{"i":[[0,0],[12,-54],[22,-33.92]],"o":[[0,0],[-13.019,58.587],[-22,33.92]],"v":[[54,-76],[21,30],[113,135]],"c":false}],"e":[{"i":[[0,0],[-2.031,-21.152],[10,-25.348]],"o":[[0,0],[4,41.652],[-14.837,37.609]],"v":[[54,-76],[35,45],[157,53]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":27.5,"s":[{"i":[[0,0],[-2.031,-21.152],[10,-25.348]],"o":[[0,0],[4,41.652],[-14.837,37.609]],"v":[[54,-76],[35,45],[157,53]],"c":false}],"e":[{"i":[[0,0],[12,-54],[22,-33.92]],"o":[[0,0],[-13.019,58.587],[-22,33.92]],"v":[[54,-76],[-2,50],[92,115]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":35,"s":[{"i":[[0,0],[12,-54],[22,-33.92]],"o":[[0,0],[-13.019,58.587],[-22,33.92]],"v":[[54,-76],[-2,50],[92,115]],"c":false}],"e":[{"i":[[0,0],[20,-44.091],[22,-33.92]],"o":[[0,0],[-24.793,54.656],[-22,33.92]],"v":[[54,-76],[-27,23],[20,140]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":42.5,"s":[{"i":[[0,0],[20,-44.091],[22,-33.92]],"o":[[0,0],[-24.793,54.656],[-22,33.92]],"v":[[54,-76],[-27,23],[20,140]],"c":false}],"e":[{"i":[[0,0],[11.429,-44.49],[36.429,-47.205]],"o":[[0,0],[-14.932,58.129],[-9.825,31.173]],"v":[[54,-76],[-46.429,16.143],[-59.429,144.857]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":50,"s":[{"i":[[0,0],[11.429,-44.49],[36.429,-47.205]],"o":[[0,0],[-14.932,58.129],[-9.825,31.173]],"v":[[54,-76],[-46.429,16.143],[-59.429,144.857]],"c":false}],"e":[{"i":[[0,0],[11.657,-48.294],[16.257,-68.462]],"o":[[0,0],[-14.167,58.313],[-13.895,29.104]],"v":[[54,-76],[-33.457,16.086],[-17.257,158.114]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":55,"s":[{"i":[[0,0],[11.657,-48.294],[16.257,-68.462]],"o":[[0,0],[-14.167,58.313],[-13.895,29.104]],"v":[[54,-76],[-33.457,16.086],[-17.257,158.114]],"c":false}],"e":[{"i":[[0,0],[12,-54],[0,-36]],"o":[[0,0],[-13.019,58.587],[0,32.803]],"v":[[54,-76],[-36,25],[21,152]],"c":false}]},{"t":62.5}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.3505421358,0.408821913775,0.513725490196,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":38,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[-34.433,21.811],"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":"Shape 1","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Shape Layer 13","parent":10,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[114.5,60.633,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[81,-30.5],[1,-55],[4.822,26.865],[12,-3.5]],"o":[[17,0.5],[-1,55],[-3.5,-19.5],[-12.517,3.651]],"v":[[26,-151],[90.5,-115],[134,-114],[103.5,-116]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.980392156863,0.792156862745,0.627450980392,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.333333333333,0.302657961378,0.275817003437,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Shape Layer 15","parent":6,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-2.5,-15.534,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[7,9],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.980392156863,0.792156862745,0.627450980392,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.066666666667,0.06220479853,0.058300654093,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[29.75,-136.25],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"Shape Layer 17","parent":4,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,-15.876,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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},"n":"0p833_0p833_0p167_0p167","t":0,"s":[{"i":[[0,0],[-46,-106],[-1,-39],[0.333,-16.457]],"o":[[0,0],[19.372,44.64],[1,39],[-0.264,13.036]],"v":[[-46.5,-199.5],[-26,-73],[-74,-17],[-55,62]],"c":false}],"e":[{"i":[[0,0],[-45,-76.444],[-1,-39],[-7,-11]],"o":[[0,0],[48.57,82.508],[1,39],[7,11]],"v":[[-46.5,-199.5],[-34,-69],[-87,3],[-55,52.667]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":16,"s":[{"i":[[0,0],[-45,-76.444],[-1,-39],[-7,-11]],"o":[[0,0],[48.57,82.508],[1,39],[7,11]],"v":[[-46.5,-199.5],[-34,-69],[-87,3],[-55,52.667]],"c":false}],"e":[{"i":[[0,0],[-45.25,-83.833],[-1,-39],[-7,-11]],"o":[[0,0],[53,114.666],[1,39],[7,11]],"v":[[-46.5,-199.5],[-32,-70],[-83.75,-2],[-56,47]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":28,"s":[{"i":[[0,0],[-45.25,-83.833],[-1,-39],[-7,-11]],"o":[[0,0],[53,114.666],[1,39],[7,11]],"v":[[-46.5,-199.5],[-32,-70],[-83.75,-2],[-56,47]],"c":false}],"e":[{"i":[[0,0],[-46,-106],[-1,-39],[7.333,-21.791]],"o":[[0,0],[19.372,44.64],[1,39],[-4.159,12.357]],"v":[[-46.5,-199.5],[-26,-73],[-74,-17],[-54.667,62]],"c":false}]},{"t":64}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.454901960784,0.416844805549,0.383544802198,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"Smoke","sr":1,"ks":{"o":{"a":0,"k":80,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[500,500,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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},"n":"0p833_0p833_0p167_0p167","t":0,"s":[{"i":[[112.981,9.615],[-55.288,-84.135],[31.25,-50.481],[-21.635,-103.365],[0,0],[-60.096,2.404],[36.058,33.654],[-36.058,48.077]],"o":[[-112.981,-9.615],[55.288,84.135],[-31.25,50.481],[21.635,103.365],[0,0],[60.096,-2.404],[-36.058,-33.654],[36.058,-48.077]],"v":[[242.788,-550.481],[55.288,-444.712],[144.231,-322.115],[91.346,-230.769],[114.192,-111.808],[170.673,-230.769],[199.519,-341.346],[225.962,-432.692]],"c":true}],"e":[{"i":[[112.981,9.615],[-96.264,-29.473],[57.824,13.462],[-21.635,-103.365],[0,0],[-48.542,-35.51],[36.058,33.654],[-36.058,48.077]],"o":[[-112.981,-9.615],[80.712,24.712],[-68.231,-15.885],[21.635,103.365],[0,0],[39.327,28.769],[-36.058,-33.654],[36.058,-48.077]],"v":[[242.788,-550.481],[55.288,-444.712],[144.231,-322.115],[91.346,-230.769],[114.192,-80.808],[154.673,-258.769],[201.519,-387.346],[229.962,-470.692]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":8,"s":[{"i":[[112.981,9.615],[-96.264,-29.473],[57.824,13.462],[-21.635,-103.365],[0,0],[-48.542,-35.51],[36.058,33.654],[-36.058,48.077]],"o":[[-112.981,-9.615],[80.712,24.712],[-68.231,-15.885],[21.635,103.365],[0,0],[39.327,28.769],[-36.058,-33.654],[36.058,-48.077]],"v":[[242.788,-550.481],[55.288,-444.712],[144.231,-322.115],[91.346,-230.769],[114.192,-80.808],[154.673,-258.769],[201.519,-387.346],[229.962,-470.692]],"c":true}],"e":[{"i":[[112.981,9.615],[-87.484,-41.186],[41.769,-49.885],[0.654,-89.231],[0,0],[-62.101,24.769],[26.909,45.489],[-2.598,62.232]],"o":[[-112.981,-9.615],[75.264,37.445],[-64.231,34.115],[-0.774,105.602],[0,0],[51.899,-21.231],[-25.112,-42.451],[0.896,-21.451]],"v":[[242.788,-550.481],[33.288,-480.712],[112.231,-358.115],[109.346,-230.769],[114.192,-111.808],[158.101,-346.769],[189.091,-441.489],[297.104,-496.549]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":20,"s":[{"i":[[112.981,9.615],[-87.484,-41.186],[41.769,-49.885],[0.654,-89.231],[0,0],[-62.101,24.769],[26.909,45.489],[-2.598,62.232]],"o":[[-112.981,-9.615],[75.264,37.445],[-64.231,34.115],[-0.774,105.602],[0,0],[51.899,-21.231],[-25.112,-42.451],[0.896,-21.451]],"v":[[242.788,-550.481],[33.288,-480.712],[112.231,-358.115],[109.346,-230.769],[114.192,-111.808],[158.101,-346.769],[189.091,-441.489],[297.104,-496.549]],"c":true}],"e":[{"i":[[112.981,9.615],[-78.703,-52.9],[50.042,-32.703],[-3.126,-89.638],[0,0],[-53.494,-19.261],[103.637,2.208],[-57.183,4.784]],"o":[[-112.981,-9.615],[69.816,50.179],[-54.958,42.297],[5.338,104.992],[0,0],[131.178,5.041],[-45.661,-7.411],[49.753,-19.593]],"v":[[118.788,-608.481],[13.288,-504.893],[126.958,-456.297],[102.437,-230.769],[109.192,-104.808],[217.53,-428.769],[217.026,-526.541],[342.247,-542.407]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":32,"s":[{"i":[[112.981,9.615],[-78.703,-52.9],[50.042,-32.703],[-3.126,-89.638],[0,0],[-53.494,-19.261],[103.637,2.208],[-57.183,4.784]],"o":[[-112.981,-9.615],[69.816,50.179],[-54.958,42.297],[5.338,104.992],[0,0],[131.178,5.041],[-45.661,-7.411],[49.753,-19.593]],"v":[[118.788,-608.481],[13.288,-504.893],[126.958,-456.297],[102.437,-230.769],[109.192,-104.808],[217.53,-428.769],[217.026,-526.541],[342.247,-542.407]],"c":true}],"e":[{"i":[[112.981,9.615],[-69.923,-64.613],[36.032,-50.21],[-11.503,-96.941],[0,0],[-55.97,-11.137],[42.808,17.215],[-49.261,21.019]],"o":[[-112.981,-9.615],[34.962,26.325],[-46.241,43.042],[11.449,104.382],[0,0],[59.791,-10.481],[-42.06,-17.252],[46.571,-21.492]],"v":[[242.788,-550.481],[-8.962,-482.325],[146.435,-431.729],[99.528,-230.769],[114.192,-80.808],[174.209,-325.519],[220.711,-395.843],[317.89,-488.764]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":44,"s":[{"i":[[112.981,9.615],[-69.923,-64.613],[36.032,-50.21],[-11.503,-96.941],[0,0],[-55.97,-11.137],[42.808,17.215],[-49.261,21.019]],"o":[[-112.981,-9.615],[34.962,26.325],[-46.241,43.042],[11.449,104.382],[0,0],[59.791,-10.481],[-42.06,-17.252],[46.571,-21.492]],"v":[[242.788,-550.481],[-8.962,-482.325],[146.435,-431.729],[99.528,-230.769],[114.192,-80.808],[174.209,-325.519],[220.711,-395.843],[317.89,-488.764]],"c":true}],"e":[{"i":[[112.981,9.615],[-61.142,-76.326],[-60.613,-54.039],[12.381,-73.231],[0,0],[-60.087,14.469],[38.758,27.078],[-33.533,19.121]],"o":[[-112.981,-9.615],[52.912,36.257],[58.387,63.961],[-3.619,30.769],[0,0],[63.913,-24.531],[-27.996,-27.255],[48.467,-34.879]],"v":[[242.788,-550.481],[29.588,-459.757],[157.613,-402.961],[123.619,-244.769],[116.192,-125.808],[208.087,-297.469],[213.496,-414.245],[295.533,-471.121]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":56,"s":[{"i":[[112.981,9.615],[-61.142,-76.326],[-60.613,-54.039],[12.381,-73.231],[0,0],[-60.087,14.469],[38.758,27.078],[-33.533,19.121]],"o":[[-112.981,-9.615],[52.912,36.257],[58.387,63.961],[-3.619,30.769],[0,0],[63.913,-24.531],[-27.996,-27.255],[48.467,-34.879]],"v":[[242.788,-550.481],[29.588,-459.757],[157.613,-402.961],[123.619,-244.769],[116.192,-125.808],[208.087,-297.469],[213.496,-414.245],[295.533,-471.121]],"c":true}],"e":[{"i":[[112.981,9.615],[-55.288,-84.135],[31.25,-50.481],[-21.635,-103.365],[0,0],[-60.096,2.404],[36.058,33.654],[-36.058,48.077]],"o":[[-112.981,-9.615],[55.288,84.135],[-31.25,50.481],[21.635,103.365],[0,0],[60.096,-2.404],[-36.058,-33.654],[36.058,-48.077]],"v":[[242.788,-550.481],[55.288,-444.712],[144.231,-322.115],[91.346,-230.769],[114.192,-120.808],[170.673,-230.769],[199.519,-341.346],[225.962,-432.692]],"c":true}]},{"t":64}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.980392156863,0.792156862745,0.627450980392,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.639215686275,0.572369624119,0.513879274854,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"Shape Layer 6","parent":11,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[-734.029,-245.947,0],"e":[-734.029,-219.947,0],"to":[0,4.33333349227905,0],"ti":[0,-0.16666667163372,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":10,"s":[-734.029,-219.947,0],"e":[-734.029,-244.947,0],"to":[0,0.16666667163372,0],"ti":[0,-0.66666668653488,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":25,"s":[-734.029,-244.947,0],"e":[-734.029,-215.947,0],"to":[0,0.66666668653488,0],"ti":[0,0.16666667163372,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":42.5,"s":[-734.029,-215.947,0],"e":[-734.029,-245.947,0],"to":[0,-0.16666667163372,0],"ti":[0,5,0]},{"t":62.5}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[190.549,190.549,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[86,46],[0,81.5]],"o":[[5.25,65.5],[-13.5,23.75]],"v":[[21.75,-128.617],[187.5,-124.617]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.462745008282,0.11613999909,0.11613999909,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.839215686275,0.488893965179,0.075693960751,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 5","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[0.462745008282,0.11613999909,0.11613999909,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.698039215686,0.369550158931,0.369550158931,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 4","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[14,12],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.462745008282,0.11613999909,0.11613999909,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.202591765161,0.294117647059,0.184544417437,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[149,-145.016],"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":"Ellipse 2","np":3,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[26,22],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.462745008282,0.11613999909,0.11613999909,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.203921568627,0.294117647059,0.18431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[83,-147.016],"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":"Ellipse 1","np":3,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[90,10],[-112,-29]],"o":[[-76.632,-8.515],[183,31]],"v":[[103,-245],[75,-101]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.462745008282,0.11613999909,0.11613999909,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.980392156863,0.793133844114,0.6266820571,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[8,10],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[93.244,89.796],"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":"Shape 3","np":3,"cix":2,"ix":5,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"Shape Layer 5","parent":12,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-534,-91.727,0],"ix":2},"a":{"a":0,"k":[-534,-93,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-53.354,-5.716],[11.433,4.764]],"o":[[0,0],[53.354,5.716],[-11.433,-4.764]],"v":[[-593.975,-391.175],[-512.039,-350.208],[-472.024,-394.987]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.462745098039,0.116139939252,0.116139939252,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.819607843137,0.634472895604,0.472479816512,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 3","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-70.621,-35.311],[0,0],[53.354,102.896]],"o":[[60.976,30.488],[0,0],[-53.354,-102.896]],"v":[[-612.077,-360.852],[-406.285,-183.642],[-432.961,-362.757]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.462745098039,0.116139939252,0.116139939252,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.820607503255,0.90875453575,0.909803921569,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 2","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[156.945,-46.504],[-81.707,-337.869],[-82.422,-4.303],[-8.438,24.609]],"o":[[-47.894,-0.995],[142.121,77.797],[103.681,2.048],[36.658,-97.977]],"v":[[-541.317,-407.522],[-758.009,-69.107],[-472.491,14.264],[-337.506,-50.217]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.462745098039,0.116139939252,0.116139939252,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.25731640984,0.296602675494,0.36862745098,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0.635],"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":"Shape 1","np":3,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"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,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.462745098039,0.116139939252,0.116139939252,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.25731640984,0.296602675494,0.36862745098,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"Shape Layer 4","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.64,"y":1},"o":{"x":0.36,"y":0},"n":"0p64_1_0p36_0","t":0,"s":[90.625,22.472,0],"e":[90.625,69.472,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.64,"y":1},"o":{"x":0.36,"y":0},"n":"0p64_1_0p36_0","t":10,"s":[90.625,69.472,0],"e":[90.625,1.14,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.64,"y":1},"o":{"x":0.36,"y":0},"n":"0p64_1_0p36_0","t":25,"s":[90.625,1.14,0],"e":[90.625,22.472,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.64,"y":1},"o":{"x":0.36,"y":0},"n":"0p64_1_0p36_0","t":32.5,"s":[90.625,22.472,0],"e":[90.625,69.472,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.64,"y":1},"o":{"x":0.36,"y":0},"n":"0p64_1_0p36_0","t":40,"s":[90.625,69.472,0],"e":[90.625,1.14,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.64,"y":1},"o":{"x":0.36,"y":0},"n":"0p64_1_0p36_0","t":55,"s":[90.625,1.14,0],"e":[90.625,22.472,0],"to":[0,0,0],"ti":[0,-3.55530524253845,0]},{"t":62.5}],"ix":2},"a":{"a":0,"k":[-534,-71,0],"ix":1},"s":{"a":0,"k":[82,82,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[79.512,-28.718],[128.927,-3.537],[-105.08,0],[-2.52,105.05]],"o":[[-104.42,37.713],[-2.52,105.05],[105.08,0],[-117.463,-15.766]],"v":[[19.512,30.024],[-216.488,6.098],[0,209],[210.39,8.537]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.462745098039,0.116139939252,0.116139939252,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.698039215686,0.369550158931,0.369550158931,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-544,-76],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"Shape Layer 2","parent":12,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-632.018,37.043,0],"ix":2},"a":{"a":0,"k":[-60,14,0],"ix":1},"s":{"a":0,"k":[121.951,121.951,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[0.698039215686,0.36862745098,0.36862745098,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":60,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 3","np":2,"cix":2,"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},"n":"0p833_0p833_0p167_0p167","t":0,"s":[{"i":[[-211.78,-154.468],[58.25,-115.367]],"o":[[202.25,147.517],[0,0]],"v":[[-90,-8.717],[-32,356.915]],"c":false}],"e":[{"i":[[-133.513,-186.523],[173.558,-170.346]],"o":[[111.25,101.551],[-158.442,143.306]],"v":[[-90,-8.717],[-76.308,313.653]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":10,"s":[{"i":[[-133.513,-186.523],[173.558,-170.346]],"o":[[111.25,101.551],[-158.442,143.306]],"v":[[-90,-8.717],[-76.308,313.653]],"c":false}],"e":[{"i":[[-55.245,-218.577],[164.087,-143.863]],"o":[[57.635,179.132],[-150.018,116.536]],"v":[[-90,-8.717],[-170.15,338.802]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":20,"s":[{"i":[[-55.245,-218.577],[164.087,-143.863]],"o":[[57.635,179.132],[-150.018,116.536]],"v":[[-90,-8.717],[-170.15,338.802]],"c":false}],"e":[{"i":[[-16.111,-234.604],[138.952,-127.777]],"o":[[21.481,187.035],[-125.216,98.487]],"v":[[-90,-22.8],[-191.59,327.852]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":25,"s":[{"i":[[-16.111,-234.604],[138.952,-127.777]],"o":[[21.481,187.035],[-125.216,98.487]],"v":[[-90,-22.8],[-191.59,327.852]],"c":false}],"e":[{"i":[[-65.833,-253.727],[124.101,-98.778]],"o":[[49.727,191.652],[-57.787,45.995]],"v":[[-90,-8.717],[-201.875,297.204]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":32,"s":[{"i":[[-65.833,-253.727],[124.101,-98.778]],"o":[[49.727,191.652],[-57.787,45.995]],"v":[[-90,-8.717],[-201.875,297.204]],"c":false}],"e":[{"i":[[-21.003,-232.601],[107.195,-65.321]],"o":[[99.25,220.522],[-193.086,117.66]],"v":[[-90,-8.717],[-190.937,279.009]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":40,"s":[{"i":[[-21.003,-232.601],[107.195,-65.321]],"o":[[99.25,220.522],[-193.086,117.66]],"v":[[-90,-8.717],[-190.937,279.009]],"c":false}],"e":[{"i":[[-148.188,-180.512],[224.852,-167.321]],"o":[[140.352,98.004],[-61.947,30.61]],"v":[[-90,-8.717],[-40.125,310.123]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":55,"s":[{"i":[[-148.188,-180.512],[224.852,-167.321]],"o":[[140.352,98.004],[-61.947,30.61]],"v":[[-90,-8.717],[-40.125,310.123]],"c":false}],"e":[{"i":[[-211.78,-154.468],[58.25,-115.367]],"o":[[202.25,147.517],[0,0]],"v":[[-90,-8.717],[-32,356.915]],"c":false}]},{"t":64}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.698039233685,0.368627458811,0.368627458811,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":84,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[6,-3.125],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,110.951],"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":"Shape 1","np":3,"cix":2,"ix":2,"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},"n":"0p833_0p833_0p167_0p167","t":0,"s":[{"i":[[-211.78,-154.468],[58.25,-115.367]],"o":[[202.25,147.517],[0,0]],"v":[[-90,-8.717],[-32,356.915]],"c":false}],"e":[{"i":[[-55.245,-218.577],[164.087,-143.863]],"o":[[57.635,179.132],[-150.018,116.536]],"v":[[-90,-8.717],[-170.15,338.802]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":20,"s":[{"i":[[-55.245,-218.577],[164.087,-143.863]],"o":[[57.635,179.132],[-150.018,116.536]],"v":[[-90,-8.717],[-170.15,338.802]],"c":false}],"e":[{"i":[[-16.111,-234.604],[138.952,-127.777]],"o":[[21.481,187.035],[-125.216,98.487]],"v":[[-90,-22.8],[-191.59,327.852]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":25,"s":[{"i":[[-16.111,-234.604],[138.952,-127.777]],"o":[[21.481,187.035],[-125.216,98.487]],"v":[[-90,-22.8],[-191.59,327.852]],"c":false}],"e":[{"i":[[42.589,-258.645],[101.25,-103.65]],"o":[[-32.75,198.891],[-51.609,52.833]],"v":[[-90,-8.717],[-201.875,297.204]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":32,"s":[{"i":[[42.589,-258.645],[101.25,-103.65]],"o":[[-32.75,198.891],[-51.609,52.833]],"v":[[-90,-8.717],[-201.875,297.204]],"c":false}],"e":[{"i":[[-21.003,-232.601],[107.195,-65.321]],"o":[[99.25,220.522],[-193.086,117.66]],"v":[[-90,-8.717],[-190.937,279.009]],"c":false}]},{"t":40}],"ix":2,"x":"var $bm_rt;\n$bm_rt = content('Shape 1').content('Path 1').path;"},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":0,"k":100,"ix":1},"e":{"a":0,"k":82,"ix":2},"o":{"a":0,"k":3,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.337254901961,0.301545565736,0.301545565736,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":85,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[6,-3.125],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,110.951],"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":"Shape 2","np":4,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"Shape Layer 1","parent":12,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-518.22,-17.104,0],"ix":2},"a":{"a":0,"k":[-15,0,0],"ix":1},"s":{"a":0,"k":[121.951,121.951,100],"ix":6}},"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},"n":"0p833_0p833_0p167_0p167","t":0,"s":[{"i":[[0,0],[90.037,-113.557]],"o":[[0,0],[-9.963,20.23]],"v":[[-14,-0.605],[-155.438,325.087]],"c":false}],"e":[{"i":[[0,0],[297.769,-151.903]],"o":[[0,0],[-379.918,193.811]],"v":[[-14,-0.605],[-156.769,291.605]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":12,"s":[{"i":[[0,0],[297.769,-151.903]],"o":[[0,0],[-379.918,193.811]],"v":[[-14,-0.605],[-156.769,291.605]],"c":false}],"e":[{"i":[[-90.055,-74.065],[232.29,-219.388]],"o":[[112.662,92.658],[-307.839,225.975]],"v":[[-14,-0.605],[33.559,333.973]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":24,"s":[{"i":[[-90.055,-74.065],[232.29,-219.388]],"o":[[112.662,92.658],[-307.839,225.975]],"v":[[-14,-0.605],[33.559,333.973]],"c":false}],"e":[{"i":[[-38.901,-103.432],[102.224,-185.126]],"o":[[97.037,74.012],[-206.978,304.292]],"v":[[-14,-0.605],[74.562,328.242]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":40,"s":[{"i":[[-38.901,-103.432],[102.224,-185.126]],"o":[[97.037,74.012],[-206.978,304.292]],"v":[[-14,-0.605],[74.562,328.242]],"c":false}],"e":[{"i":[[0,0],[196.5,-285.56]],"o":[[0,0],[-196.5,285.56]],"v":[[-14,-0.605],[-154.125,358.267]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":55,"s":[{"i":[[0,0],[196.5,-285.56]],"o":[[0,0],[-196.5,285.56]],"v":[[-14,-0.605],[-154.125,358.267]],"c":false}],"e":[{"i":[[0,0],[128.141,-141.768]],"o":[[0,0],[-72.142,108.673]],"v":[[-14,-0.605],[-160.729,329.106]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":61,"s":[{"i":[[0,0],[128.141,-141.768]],"o":[[0,0],[-72.142,108.673]],"v":[[-14,-0.605],[-160.729,329.106]],"c":false}],"e":[{"i":[[0,0],[90.037,-113.557]],"o":[[0,0],[-9.963,20.23]],"v":[[-14,-0.605],[-155.438,325.087]],"c":false}]},{"t":64}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.564705908298,0.325536340475,0.325536340475,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":84,"ix":5},"lc":1,"lj":1,"ml":1,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,110.951],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-38.901,-103.432],[160.037,-206.954]],"o":[[97.037,74.012],[-206.978,304.292]],"v":[[-14,-0.605],[74.562,328.242]],"c":false},"ix":2,"x":"var $bm_rt;\n$bm_rt = content('Shape 1').content('Path 1').path;"},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":0,"k":100,"ix":1},"e":{"a":0,"k":82,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.298039227724,0.257131874561,0.257131874561,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":83,"ix":5},"lc":2,"lj":1,"ml":1,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,110.951],"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":"Shape 2","np":4,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.462745098039,0.116139939252,0.116139939252,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":21,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":"Shape Layer 11","parent":11,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-473.929,-195.197,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[190.549,190.549,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-2.031,-21.152],[10,-25.348]],"o":[[0,0],[4,41.652],[-14.837,37.609]],"v":[[54,-76],[35,45],[157,53]],"c":false},"ix":2,"x":"var $bm_rt;\n$bm_rt = content('Shape 1').content('Path 1').path;"},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":0,"k":87,"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.980392158031,0.792156875134,0.627451002598,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":34,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[-23,18],"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":"Shape 2","np":4,"cix":2,"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},"n":"0p833_0p833_0p167_0p167","t":37.5,"s":[{"i":[[0,0],[12,-54],[0,-36]],"o":[[0,0],[-13.019,58.587],[0,32.803]],"v":[[54,-76],[-36,25],[21,152]],"c":false}],"e":[{"i":[[0,0],[12,-54],[22,-33.92]],"o":[[0,0],[-13.019,58.587],[-22,33.92]],"v":[[54,-76],[-3,30],[65,155]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":47.5,"s":[{"i":[[0,0],[12,-54],[22,-33.92]],"o":[[0,0],[-13.019,58.587],[-22,33.92]],"v":[[54,-76],[-3,30],[65,155]],"c":false}],"e":[{"i":[[0,0],[12,-54],[22,-33.92]],"o":[[0,0],[-13.019,58.587],[-22,33.92]],"v":[[54,-76],[21,30],[113,135]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":55,"s":[{"i":[[0,0],[12,-54],[22,-33.92]],"o":[[0,0],[-13.019,58.587],[-22,33.92]],"v":[[54,-76],[21,30],[113,135]],"c":false}],"e":[{"i":[[0,0],[-0.628,-24.436],[11.2,-26.205]],"o":[[0,0],[2.298,43.346],[-15.553,37.24]],"v":[[53.75,-76],[33.35,43.5],[152.35,61.2]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":64,"s":[{"i":[[0,0],[-0.628,-24.436],[11.2,-26.205]],"o":[[0,0],[2.298,43.346],[-15.553,37.24]],"v":[[53.75,-76],[33.35,43.5],[152.35,61.2]],"c":false}],"e":[{"i":[[0,0],[-2.031,-21.152],[10,-25.348]],"o":[[0,0],[4,41.652],[-14.837,37.609]],"v":[[54,-76],[35,45],[157,53]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":65,"s":[{"i":[[0,0],[-2.031,-21.152],[10,-25.348]],"o":[[0,0],[4,41.652],[-14.837,37.609]],"v":[[54,-76],[35,45],[157,53]],"c":false}],"e":[{"i":[[0,0],[12,-54],[22,-33.92]],"o":[[0,0],[-13.019,58.587],[-22,33.92]],"v":[[54,-76],[-2,50],[92,115]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":72.5,"s":[{"i":[[0,0],[12,-54],[22,-33.92]],"o":[[0,0],[-13.019,58.587],[-22,33.92]],"v":[[54,-76],[-2,50],[92,115]],"c":false}],"e":[{"i":[[0,0],[20,-44.091],[22,-33.92]],"o":[[0,0],[-24.793,54.656],[-22,33.92]],"v":[[54,-76],[-27,23],[20,140]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":80,"s":[{"i":[[0,0],[20,-44.091],[22,-33.92]],"o":[[0,0],[-24.793,54.656],[-22,33.92]],"v":[[54,-76],[-27,23],[20,140]],"c":false}],"e":[{"i":[[0,0],[11.429,-44.49],[36.429,-47.205]],"o":[[0,0],[-14.932,58.129],[-9.825,31.173]],"v":[[54,-76],[-46.429,16.143],[-59.429,144.857]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":87.5,"s":[{"i":[[0,0],[11.429,-44.49],[36.429,-47.205]],"o":[[0,0],[-14.932,58.129],[-9.825,31.173]],"v":[[54,-76],[-46.429,16.143],[-59.429,144.857]],"c":false}],"e":[{"i":[[0,0],[11.657,-48.294],[16.257,-68.462]],"o":[[0,0],[-14.167,58.313],[-13.895,29.104]],"v":[[54,-76],[-33.457,16.086],[-17.257,158.114]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":92.5,"s":[{"i":[[0,0],[11.657,-48.294],[16.257,-68.462]],"o":[[0,0],[-14.167,58.313],[-13.895,29.104]],"v":[[54,-76],[-33.457,16.086],[-17.257,158.114]],"c":false}],"e":[{"i":[[0,0],[12,-54],[0,-36]],"o":[[0,0],[-13.019,58.587],[0,32.803]],"v":[[54,-76],[-36,25],[21,152]],"c":false}]},{"t":100}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.3505421358,0.408821913775,0.513725490196,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":34,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[-23,18],"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":98,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":37.5,"op":637.5,"st":37.5,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":"Shape Layer 10","parent":11,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[100],"e":[0]},{"t":37.5}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-467.26,-195.197,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[190.549,190.549,100],"ix":6}},"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},"n":"0p833_0p833_0p167_0p167","t":-25,"s":[{"i":[[0,0],[12,-54],[0,-36]],"o":[[0,0],[-13.019,58.587],[0,32.803]],"v":[[54,-76],[-36,25],[21,152]],"c":false}],"e":[{"i":[[0,0],[12,-54],[22,-33.92]],"o":[[0,0],[-13.019,58.587],[-22,33.92]],"v":[[54,-76],[-3,30],[65,155]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":-15,"s":[{"i":[[0,0],[12,-54],[22,-33.92]],"o":[[0,0],[-13.019,58.587],[-22,33.92]],"v":[[54,-76],[-3,30],[65,155]],"c":false}],"e":[{"i":[[0,0],[12,-54],[22,-33.92]],"o":[[0,0],[-13.019,58.587],[-22,33.92]],"v":[[54,-76],[21,30],[113,135]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":-7.5,"s":[{"i":[[0,0],[12,-54],[22,-33.92]],"o":[[0,0],[-13.019,58.587],[-22,33.92]],"v":[[54,-76],[21,30],[113,135]],"c":false}],"e":[{"i":[[0,0],[-2.031,-21.152],[10,-25.348]],"o":[[0,0],[4,41.652],[-14.837,37.609]],"v":[[54,-76],[35,45],[157,53]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":2.5,"s":[{"i":[[0,0],[-2.031,-21.152],[10,-25.348]],"o":[[0,0],[4,41.652],[-14.837,37.609]],"v":[[54,-76],[35,45],[157,53]],"c":false}],"e":[{"i":[[0,0],[12,-54],[22,-33.92]],"o":[[0,0],[-13.019,58.587],[-22,33.92]],"v":[[54,-76],[-2,50],[92,115]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":10,"s":[{"i":[[0,0],[12,-54],[22,-33.92]],"o":[[0,0],[-13.019,58.587],[-22,33.92]],"v":[[54,-76],[-2,50],[92,115]],"c":false}],"e":[{"i":[[0,0],[20,-44.091],[22,-33.92]],"o":[[0,0],[-24.793,54.656],[-22,33.92]],"v":[[54,-76],[-27,23],[20,140]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":17.5,"s":[{"i":[[0,0],[20,-44.091],[22,-33.92]],"o":[[0,0],[-24.793,54.656],[-22,33.92]],"v":[[54,-76],[-27,23],[20,140]],"c":false}],"e":[{"i":[[0,0],[11.429,-44.49],[36.429,-47.205]],"o":[[0,0],[-14.932,58.129],[-9.825,31.173]],"v":[[54,-76],[-46.429,16.143],[-59.429,144.857]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":25,"s":[{"i":[[0,0],[11.429,-44.49],[36.429,-47.205]],"o":[[0,0],[-14.932,58.129],[-9.825,31.173]],"v":[[54,-76],[-46.429,16.143],[-59.429,144.857]],"c":false}],"e":[{"i":[[0,0],[11.657,-48.294],[16.257,-68.462]],"o":[[0,0],[-14.167,58.313],[-13.895,29.104]],"v":[[54,-76],[-33.457,16.086],[-17.257,158.114]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":30,"s":[{"i":[[0,0],[11.657,-48.294],[16.257,-68.462]],"o":[[0,0],[-14.167,58.313],[-13.895,29.104]],"v":[[54,-76],[-33.457,16.086],[-17.257,158.114]],"c":false}],"e":[{"i":[[0,0],[12,-54],[0,-36]],"o":[[0,0],[-13.019,58.587],[0,32.803]],"v":[[54,-76],[-36,25],[21,152]],"c":false}]},{"t":37.5}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":0,"k":89,"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.980392158031,0.792156875134,0.627451002598,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":34,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[-33.48,18],"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":"Shape 2","np":4,"cix":2,"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},"n":"0p833_0p833_0p167_0p167","t":-25,"s":[{"i":[[0,0],[12,-54],[0,-36]],"o":[[0,0],[-13.019,58.587],[0,32.803]],"v":[[54,-76],[-36,25],[21,152]],"c":false}],"e":[{"i":[[0,0],[12,-54],[22,-33.92]],"o":[[0,0],[-13.019,58.587],[-22,33.92]],"v":[[54,-76],[-3,30],[65,155]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":-15,"s":[{"i":[[0,0],[12,-54],[22,-33.92]],"o":[[0,0],[-13.019,58.587],[-22,33.92]],"v":[[54,-76],[-3,30],[65,155]],"c":false}],"e":[{"i":[[0,0],[12,-54],[22,-33.92]],"o":[[0,0],[-13.019,58.587],[-22,33.92]],"v":[[54,-76],[21,30],[113,135]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":-7.5,"s":[{"i":[[0,0],[12,-54],[22,-33.92]],"o":[[0,0],[-13.019,58.587],[-22,33.92]],"v":[[54,-76],[21,30],[113,135]],"c":false}],"e":[{"i":[[0,0],[-2.031,-21.152],[10,-25.348]],"o":[[0,0],[4,41.652],[-14.837,37.609]],"v":[[54,-76],[35,45],[157,53]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":2.5,"s":[{"i":[[0,0],[-2.031,-21.152],[10,-25.348]],"o":[[0,0],[4,41.652],[-14.837,37.609]],"v":[[54,-76],[35,45],[157,53]],"c":false}],"e":[{"i":[[0,0],[12,-54],[22,-33.92]],"o":[[0,0],[-13.019,58.587],[-22,33.92]],"v":[[54,-76],[-2,50],[92,115]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":10,"s":[{"i":[[0,0],[12,-54],[22,-33.92]],"o":[[0,0],[-13.019,58.587],[-22,33.92]],"v":[[54,-76],[-2,50],[92,115]],"c":false}],"e":[{"i":[[0,0],[20,-44.091],[22,-33.92]],"o":[[0,0],[-24.793,54.656],[-22,33.92]],"v":[[54,-76],[-27,23],[20,140]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":17.5,"s":[{"i":[[0,0],[20,-44.091],[22,-33.92]],"o":[[0,0],[-24.793,54.656],[-22,33.92]],"v":[[54,-76],[-27,23],[20,140]],"c":false}],"e":[{"i":[[0,0],[11.429,-44.49],[36.429,-47.205]],"o":[[0,0],[-14.932,58.129],[-9.825,31.173]],"v":[[54,-76],[-46.429,16.143],[-59.429,144.857]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":25,"s":[{"i":[[0,0],[11.429,-44.49],[36.429,-47.205]],"o":[[0,0],[-14.932,58.129],[-9.825,31.173]],"v":[[54,-76],[-46.429,16.143],[-59.429,144.857]],"c":false}],"e":[{"i":[[0,0],[11.657,-48.294],[16.257,-68.462]],"o":[[0,0],[-14.167,58.313],[-13.895,29.104]],"v":[[54,-76],[-33.457,16.086],[-17.257,158.114]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":30,"s":[{"i":[[0,0],[11.657,-48.294],[16.257,-68.462]],"o":[[0,0],[-14.167,58.313],[-13.895,29.104]],"v":[[54,-76],[-33.457,16.086],[-17.257,158.114]],"c":false}],"e":[{"i":[[0,0],[12,-54],[0,-36]],"o":[[0,0],[-13.019,58.587],[0,32.803]],"v":[[54,-76],[-36,25],[21,152]],"c":false}]},{"t":37.5}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.3505421358,0.408821913775,0.513725490196,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":34,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[-33.48,18],"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":"Shape 1","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":-25,"op":575,"st":-25,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":"Shape Layer 21","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[500,500,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[819.189,10],"ix":2},"p":{"a":0,"k":[0,40],"ix":3},"r":{"a":0,"k":20,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.454901960784,0.416844805549,0.383544802198,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.498039215686,0.473137260886,0.462883504232,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[3,-269],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[214.09,100],"ix":3},"r":{"a":0,"k":17,"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":"Rectangle 3","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[819.189,25],"ix":2},"p":{"a":0,"k":[0,40],"ix":3},"r":{"a":0,"k":20,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.454901960784,0.416844805549,0.383544802198,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.364705882353,0.328235312069,0.313218000823,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-1,-263],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[214.09,100],"ix":3},"r":{"a":0,"k":17,"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":"Rectangle 2","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[819.189,10],"ix":2},"p":{"a":0,"k":[0,40],"ix":3},"r":{"a":0,"k":20,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.454901960784,0.416844805549,0.383544802198,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.498039215686,0.474509803922,0.462745098039,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-2.5,-175],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[214.09,100],"ix":3},"r":{"a":0,"k":17,"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":"Rectangle 4","np":3,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[819.189,25],"ix":2},"p":{"a":0,"k":[0,40],"ix":3},"r":{"a":0,"k":20,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.454901960784,0.416844805549,0.383544802198,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.364705882353,0.329411764706,0.313725490196,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-3,-167],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[214.09,100],"ix":3},"r":{"a":0,"k":17,"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":"Rectangle 1","np":3,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":"Shape Layer 20","parent":20,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-33.339,76.282,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":2,"s":{"a":0,"k":[53.057,259],"ix":2},"p":{"a":0,"k":[0,14],"ix":3},"r":{"a":0,"k":36,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.454901960784,0.416844805549,0.383544802198,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.4,0.347681681315,0.329411764706,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"rp","c":{"a":0,"k":45,"ix":1},"o":{"a":0,"k":-14,"ix":2},"m":1,"ix":4,"tr":{"ty":"tr","p":{"a":0,"k":[99,30],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":4},"so":{"a":0,"k":100,"ix":5},"eo":{"a":0,"k":100,"ix":6},"nm":"Transform"},"nm":"Repeater 1","mn":"ADBE Vector Filter - Repeater","hd":false},{"ty":"tr","p":{"a":0,"k":[-513,-315],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[75,100],"ix":3},"r":{"a":0,"k":-6,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":4,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 2","np":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"rc","d":2,"s":{"a":0,"k":[53.057,259],"ix":2},"p":{"a":0,"k":[0,14],"ix":3},"r":{"a":0,"k":36,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.454901960784,0.416844805549,0.383544802198,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.592156887054,0.511262953281,0.483014255762,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"rp","c":{"a":0,"k":45,"ix":1},"o":{"a":0,"k":-14,"ix":2},"m":1,"ix":4,"tr":{"ty":"tr","p":{"a":0,"k":[99,30],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":4},"so":{"a":0,"k":100,"ix":5},"eo":{"a":0,"k":100,"ix":6},"nm":"Transform"},"nm":"Repeater 1","mn":"ADBE Vector Filter - Repeater","hd":false},{"ty":"tr","p":{"a":0,"k":[-506,-317],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[75,100],"ix":3},"r":{"a":0,"k":-6,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":4,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":4,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":19,"ty":4,"nm":"Shape Layer 12","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[484,827,0],"ix":2},"a":{"a":0,"k":[-55,362,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.859,0.859,1.183]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,-0.183]},"n":["0p833_0p859_0p167_0p167","0p833_0p859_0p167_0p167","0p833_1p183_0p167_-0p183"],"t":0,"s":[83,83,100],"e":[74,74,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.873,0.873,1.796]},"o":{"x":[0.167,0.167,0.167],"y":[0.128,0.128,-0.796]},"n":["0p833_0p873_0p167_0p128","0p833_0p873_0p167_0p128","0p833_1p796_0p167_-0p796"],"t":12,"s":[74,74,100],"e":[85,85,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.856,0.856,0.651]},"o":{"x":[0.167,0.167,0.167],"y":[0.142,0.142,0.349]},"n":["0p833_0p856_0p167_0p142","0p833_0p856_0p167_0p142","0p833_0p651_0p167_0p349"],"t":24,"s":[85,85,100],"e":[75,75,100]},{"i":{"x":[0.77,0.77,0.833],"y":[0.809,0.809,0.97]},"o":{"x":[0.186,0.186,0.167],"y":[0.154,0.154,0.03]},"n":["0p77_0p809_0p186_0p154","0p77_0p809_0p186_0p154","0p833_0p97_0p167_0p03"],"t":40,"s":[75,75,100],"e":[87,87,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.868,0.868,0.607]},"o":{"x":[0.167,0.167,0.167],"y":[0.135,0.135,0.393]},"n":["0p833_0p868_0p167_0p135","0p833_0p868_0p167_0p135","0p833_0p607_0p167_0p393"],"t":56,"s":[87,87,100],"e":[83,83,100]},{"t":64}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[520,178],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.3505421358,0.408821913775,0.513725490196,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.57647061348,0.454901963472,0.411764711142,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-54,361],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[92,92],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":16,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":20,"ty":4,"nm":"Shape Layer 19","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[556.846,775.484,0],"e":[182.5,664.5,0],"to":[-62.3910217285156,-18.4974060058594,0],"ti":[62.3910217285156,18.4974060058594,0]},{"t":64}],"ix":2},"a":{"a":0,"k":[-1035,52,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[46,43.579],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.454901960784,0.416844805549,0.383544802198,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.576470588235,0.454155117858,0.411441788019,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-1430,303],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[67,67],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":-46,"ix":4},"sa":{"a":0,"k":18,"ix":5},"nm":"Transform"}],"nm":"Ellipse 6","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[76,72],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.454901960784,0.416844805549,0.383544802198,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.576470588235,0.454155117858,0.411441788019,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-401.563,351.938],"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":-46,"ix":4},"sa":{"a":0,"k":18,"ix":5},"nm":"Transform"}],"nm":"Ellipse 10","np":3,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[76,72],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.454901960784,0.416844805549,0.383544802198,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.576470588235,0.454155117858,0.411441788019,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-776,241],"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":-46,"ix":4},"sa":{"a":0,"k":18,"ix":5},"nm":"Transform"}],"nm":"Ellipse 5","np":3,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[46.444,44],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.454901960784,0.416844805549,0.383544802198,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.576470588235,0.454155117858,0.411441788019,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-790,-54],"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":-46,"ix":4},"sa":{"a":0,"k":18,"ix":5},"nm":"Transform"}],"nm":"Ellipse 4","np":3,"cix":2,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[46,43.579],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.454901960784,0.416844805549,0.383544802198,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.576470588235,0.454155117858,0.411441788019,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-1248,296],"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":-46,"ix":4},"sa":{"a":0,"k":18,"ix":5},"nm":"Transform"}],"nm":"Ellipse 3","np":3,"cix":2,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[76,72],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.454901960784,0.416844805549,0.383544802198,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.576470588235,0.454155117858,0.411441788019,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-1230,134],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[58,58],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":-46,"ix":4},"sa":{"a":0,"k":18,"ix":5},"nm":"Transform"}],"nm":"Ellipse 8","np":3,"cix":2,"ix":7,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[69.667,66],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.454901960784,0.416844805549,0.383544802198,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.576470588235,0.454155117858,0.411441788019,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-1502,-247],"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":-46,"ix":4},"sa":{"a":0,"k":18,"ix":5},"nm":"Transform"}],"nm":"Ellipse 9","np":3,"cix":2,"ix":9,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[69.667,66],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.454901960784,0.416844805549,0.383544802198,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.576470588235,0.454155117858,0.411441788019,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-1127.625,-136.063],"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":-46,"ix":4},"sa":{"a":0,"k":18,"ix":5},"nm":"Transform"}],"nm":"Ellipse 2","np":3,"cix":2,"ix":10,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[46.444,44],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.454901960784,0.416844805549,0.383544802198,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.576470588235,0.454155117858,0.411441788019,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-415.562,57],"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":-46,"ix":4},"sa":{"a":0,"k":18,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"ix":11,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-2416,-620],[-2648,8],[864,1156],[1088,444]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.454901960784,0.416844805549,0.383544802198,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.945098039216,0.739073211072,0.667128020642,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-256,-165],"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":"Shape 1","np":3,"cix":2,"ix":12,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":22,"ty":1,"nm":"Medium Turquoise Solid 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[500,500,0],"ix":2},"a":{"a":0,"k":[1750,519,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"sw":3500,"sh":1038,"sc":"#45d28b","ip":0,"op":600,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/layout.edc b/submodules/RLottie/Sources/rlottie/example/resource/layout.edc deleted file mode 100644 index 4021200f12..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/layout.edc +++ /dev/null @@ -1,93 +0,0 @@ -collections { - group { "layout"; - parts { - rect { "bg"; - desc { "default"; - color: 225 225 225 225; - } - } - spacer { "lottie_base"; - desc { "default"; - rel1.to_y: "text"; - rel1.relative: 0.0 1.0; - rel2.to_y: "slider"; - rel2.relative: 1.0 0.0; - } - } - swallow { "lottie"; - desc { "default"; - rel1.to: "lottie_base"; - rel2.to: "lottie_base"; - } - } - text { "text"; - desc { "default"; - rel1.relative: 1.0 0.0; - rel2.relative: 1.0 0.0; - rel1.offset: -20 20; - rel2.offset: -20 20; - align: 1.0 0.0; - color: 0 0 0 255; - min: 200 30; - text { - font: "arial"; - size: 25; - align: 1.0 0.5; - } - } - } - swallow { "slider"; - desc { "default"; - min: 0 100; - max: -1 100; - align: 0.5 1.0; - rel1.to_x: "left_pad"; - rel1.relative: 1.0 1.0; - rel2.to_x: "button_left_pad"; - rel2.relative: 0.0 1.0; - fixed: 0 1; - } - } - spacer { "left_pad"; - desc { "default"; - fixed: 1 0; - min: 20 0; - align: 0.0 0.5; - rel2.relative: 0.0 0.0; - } - } - spacer { "right_pad"; - desc { "default"; - fixed: 1 0; - min: 20 0; - align: 1.0 0.5; - rel1.relative: 1.0 0.0; - } - } - swallow { "button"; - desc { "default"; - fixed: 1 1; - min: 80 55; - align: 1.0 0.5; - rel1.to_x: "right_pad"; - rel1.to_y: "slider"; - rel1.relative: 0.0 0.5; - rel2.to_x: "right_pad"; - rel2.to_y: "slider"; - rel2.relative: 0.0 0.5; - } - } - spacer { "button_left_pad"; - desc { "default"; - fixed: 1 0; - min: 20 0; - align: 1.0 0.5; - rel1.to_x: "button"; - rel1.relative: 0.0 0.0; - rel2.to_x: "button"; - rel2.relative: 0.0 1.0; - } - } - } - } -} diff --git a/submodules/RLottie/Sources/rlottie/example/resource/layout.edj b/submodules/RLottie/Sources/rlottie/example/resource/layout.edj deleted file mode 100644 index 4efc51396d..0000000000 Binary files a/submodules/RLottie/Sources/rlottie/example/resource/layout.edj and /dev/null differ diff --git a/submodules/RLottie/Sources/rlottie/example/resource/leap_frog_loader.json b/submodules/RLottie/Sources/rlottie/example/resource/leap_frog_loader.json deleted file mode 100644 index cac502dfb5..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/leap_frog_loader.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.1.10","fr":24,"ip":24,"op":72,"w":600,"h":600,"nm":"Loader 7","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.7,"y":1},"o":{"x":0.3,"y":0},"n":"0p7_1_0p3_0","t":24,"s":[388.699,300,0],"e":[268.699,300,0],"to":[-34,49,0],"ti":[25.30078125,45.5,0]},{"t":36,"s":[268.699,300,0],"h":1},{"i":{"x":0.7,"y":1},"o":{"x":0.3,"y":0},"n":"0p7_1_0p3_0","t":48,"s":[268.699,300,0],"e":[208.699,300,0],"to":[-19.69921875,-42,0],"ti":[2.5,-26,0]},{"t":60,"s":[208.699,300,0],"h":1},{"t":72,"s":[208.699,300,0],"h":1}],"ix":2,"x":"var $bm_rt;\nvar amp, freq, decay, n, t, v;\ntry {\n amp = div(effect('Position - Overshoot')('ADBE Slider Control-0001'), 2.5), freq = div(effect('Position - Bounce')('ADBE Slider Control-0001'), 20), decay = div(effect('Position - Friction')('ADBE Slider Control-0001'), 20), n = 0, 0 < numKeys && (n = nearestKey(time).index, key(n).time > time && n--), t = 0 === n ? 0 : time - key(n).time, $bm_rt = 0 < n ? (v = velocityAtTime(sub(key(n).time, div(thisComp.frameDuration, 10))), sum(value, div(mul(mul(div(v, 100), amp), Math.sin(mul(mul(mul(freq, t), 2), Math.PI))), Math.exp(mul(decay, t))))) : value;\n} catch (e$$4) {\n $bm_rt = value = value;\n}"},"a":{"a":0,"k":[-247.301,-57.301,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Position - Overshoot","np":3,"mn":"ADBE Slider Control","ix":1,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":20,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]},{"ty":5,"nm":"Position - Bounce","np":3,"mn":"ADBE Slider Control","ix":2,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":40,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]},{"ty":5,"nm":"Position - Friction","np":3,"mn":"ADBE Slider Control","ix":3,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":40,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]},{"ty":5,"nm":"Position - Overshoot","np":3,"mn":"ADBE Slider Control","ix":4,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":20,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]},{"ty":5,"nm":"Position - Bounce","np":3,"mn":"ADBE Slider Control","ix":5,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":40,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]},{"ty":5,"nm":"Position - Friction","np":3,"mn":"ADBE Slider Control","ix":6,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":40,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]}],"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[25.398,25.398],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.532643995098,0.532643995098,0.532643995098,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.298039215686,0.298039215686,0.298039215686,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-247.301,-57.301],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.7,"y":1},"o":{"x":0.3,"y":0},"n":"0p7_1_0p3_0","t":24,"s":[328.699,300,0],"e":[388.699,300,0],"to":[15.80078125,-29.5,0],"ti":[-20.4083786010742,-15.2806444168091,0]},{"t":36,"s":[388.699,300,0],"h":1},{"i":{"x":0.7,"y":1},"o":{"x":0.3,"y":0},"n":"0p7_1_0p3_0","t":48,"s":[388.699,300,0],"e":[268.699,300,0],"to":[-21.9206390380859,-56.3496513366699,0],"ti":[22.5,-58.25,0]},{"t":60,"s":[268.699,300,0],"h":1},{"t":72,"s":[268.699,300,0],"h":1}],"ix":2,"x":"var $bm_rt;\nvar amp, freq, decay, n, t, v;\ntry {\n amp = div(effect('Position - Overshoot')('ADBE Slider Control-0001'), 2.5), freq = div(effect('Position - Bounce')('ADBE Slider Control-0001'), 20), decay = div(effect('Position - Friction')('ADBE Slider Control-0001'), 20), n = 0, 0 < numKeys && (n = nearestKey(time).index, key(n).time > time && n--), t = 0 === n ? 0 : time - key(n).time, $bm_rt = 0 < n ? (v = velocityAtTime(sub(key(n).time, div(thisComp.frameDuration, 10))), sum(value, div(mul(mul(div(v, 100), amp), Math.sin(mul(mul(mul(freq, t), 2), Math.PI))), Math.exp(mul(decay, t))))) : value;\n} catch (e$$4) {\n $bm_rt = value = value;\n}"},"a":{"a":0,"k":[-247.301,-57.301,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Position - Overshoot","np":3,"mn":"ADBE Slider Control","ix":1,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":20,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]},{"ty":5,"nm":"Position - Bounce","np":3,"mn":"ADBE Slider Control","ix":2,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":40,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]},{"ty":5,"nm":"Position - Friction","np":3,"mn":"ADBE Slider Control","ix":3,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":40,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]}],"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[25.398,25.398],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.532643995098,0.532643995098,0.532643995098,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.298039215686,0.298039215686,0.298039215686,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-247.301,-57.301],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.7,"y":1},"o":{"x":0.3,"y":0},"n":"0p7_1_0p3_0","t":24,"s":[268.699,300,0],"e":[208.699,300,0],"to":[-12,25,0],"ti":[2.80078125,18,0]},{"t":36,"s":[208.699,300,0],"h":1},{"i":{"x":0.7,"y":1},"o":{"x":0.3,"y":0},"n":"0p7_1_0p3_0","t":48,"s":[208.699,300,0],"e":[328.699,300,0],"to":[30.80078125,67,0],"ti":[-17.5,54,0]},{"t":60,"s":[328.699,300,0],"h":1},{"t":72,"s":[328.699,300,0],"h":1}],"ix":2,"x":"var $bm_rt;\nvar amp, freq, decay, n, t, v;\ntry {\n amp = div(effect('Position - Overshoot')('ADBE Slider Control-0001'), 2.5), freq = div(effect('Position - Bounce')('ADBE Slider Control-0001'), 20), decay = div(effect('Position - Friction')('ADBE Slider Control-0001'), 20), n = 0, 0 < numKeys && (n = nearestKey(time).index, key(n).time > time && n--), t = 0 === n ? 0 : time - key(n).time, $bm_rt = 0 < n ? (v = velocityAtTime(sub(key(n).time, div(thisComp.frameDuration, 10))), sum(value, div(mul(mul(div(v, 100), amp), Math.sin(mul(mul(mul(freq, t), 2), Math.PI))), Math.exp(mul(decay, t))))) : value;\n} catch (e$$4) {\n $bm_rt = value = value;\n}"},"a":{"a":0,"k":[-247.301,-57.301,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Position - Overshoot","np":3,"mn":"ADBE Slider Control","ix":1,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":20,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]},{"ty":5,"nm":"Position - Bounce","np":3,"mn":"ADBE Slider Control","ix":2,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":40,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]},{"ty":5,"nm":"Position - Friction","np":3,"mn":"ADBE Slider Control","ix":3,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":40,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]}],"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[25.398,25.398],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.532643995098,0.532643995098,0.532643995098,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.298039215686,0.298039215686,0.298039215686,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-247.301,-57.301],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.7,"y":1},"o":{"x":0.3,"y":0},"n":"0p7_1_0p3_0","t":24,"s":[208.699,300,0],"e":[328.699,300,0],"to":[18.30078125,-59.5,0],"ti":[-12,-47.5,0]},{"t":36,"s":[328.699,300,0],"h":1},{"i":{"x":0.7,"y":1},"o":{"x":0.3,"y":0},"n":"0p7_1_0p3_0","t":48,"s":[328.699,300,0],"e":[388.699,300,0],"to":[7.66105842590332,31.200023651123,0],"ti":[-8.19921875,40,0]},{"t":60,"s":[388.699,300,0],"h":1},{"t":72,"s":[388.699,300,0],"h":1}],"ix":2,"x":"var $bm_rt;\nvar amp, freq, decay, n, t, v;\ntry {\n amp = div(effect('Position - Overshoot')('ADBE Slider Control-0001'), 2.5), freq = div(effect('Position - Bounce')('ADBE Slider Control-0001'), 20), decay = div(effect('Position - Friction')('ADBE Slider Control-0001'), 20), n = 0, 0 < numKeys && (n = nearestKey(time).index, key(n).time > time && n--), t = 0 === n ? 0 : time - key(n).time, $bm_rt = 0 < n ? (v = velocityAtTime(sub(key(n).time, div(thisComp.frameDuration, 10))), sum(value, div(mul(mul(div(v, 100), amp), Math.sin(mul(mul(mul(freq, t), 2), Math.PI))), Math.exp(mul(decay, t))))) : value;\n} catch (e$$4) {\n $bm_rt = value = value;\n}"},"a":{"a":0,"k":[-247.301,-57.301,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Position - Overshoot","np":3,"mn":"ADBE Slider Control","ix":1,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":20,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]},{"ty":5,"nm":"Position - Bounce","np":3,"mn":"ADBE Slider Control","ix":2,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":40,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]},{"ty":5,"nm":"Position - Friction","np":3,"mn":"ADBE Slider Control","ix":3,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":40,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]}],"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[25.398,25.398],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.532643995098,0.532643995098,0.532643995098,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.298039215686,0.298039215686,0.298039215686,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-247.301,-57.301],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/like.json b/submodules/RLottie/Sources/rlottie/example/resource/like.json deleted file mode 100644 index 95c14168e9..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/like.json +++ /dev/null @@ -1 +0,0 @@ -{"assets":[],"layers":[{"ddd":0,"ind":0,"ty":1,"nm":"品蓝色 纯色 1","ks":{"o":{"k":[{"i":{"x":[0.667],"y":[0.667]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_0p667_0p167_0p167"],"t":0,"s":[100],"e":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.537],"y":[0]},"n":["0p667_1_0p537_0"],"t":5,"s":[100],"e":[0]},{"t":17}]},"r":{"k":0},"p":{"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":5,"s":[400,320,0],"e":[408,274,0],"to":[1.33333337306976,-7.66666650772095,0],"ti":[-1.33333337306976,7.66666650772095,0]},{"t":17}]},"a":{"k":[400,300,0]},"s":{"k":[{"i":{"x":[0.518,0.518,0.667],"y":[1,1,0.667]},"o":{"x":[0.16,0.16,0.333],"y":[0.329,0.329,0.333]},"n":["0p518_1_0p16_0p329","0p518_1_0p16_0p329","0p667_0p667_0p333_0p333"],"t":5,"s":[0,0,100],"e":[160,160,100]},{"t":17}]}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"f","pt":{"k":{"i":[[0,0],[3.675,0],[0,0],[2.623,1.039],[10.49,18.686],[8.393,0],[0,0],[5.767,-5.706],[-0.526,-6.747],[8.391,-4.158],[2.101,0],[0,0],[0,-4.152],[0,0],[-4.196,0],[0,0],[-1.574,1.04],[-1.051,-0.52],[-31.47,0],[-9.441,41.527],[-2.097,6.748],[5.768,7.267]],"o":[[-7.342,-8.823],[0,0],[-12.065,0],[14.688,-23.358],[-5.772,-9.866],[0,0],[-3.671,-0.52],[-3.672,3.633],[4.198,46.715],[-1.572,-1.556],[0,0],[-4.198,0],[0,0],[0,4.155],[0,0],[2.097,0],[0.525,1.036],[0,0],[31.47,0],[2.098,-9.345],[3.671,-14.014],[0,0]],"v":[[521.158,276.64],[498.604,267.817],[454.021,267.817],[433.565,265.741],[435.663,188.92],[414.159,173.864],[413.112,173.864],[395.279,178.534],[390.561,194.626],[337.06,270.932],[331.816,268.856],[280.411,268.856],[272.544,276.642],[272.544,419.386],[280.411,427.172],[332.339,427.172],[338.111,425.096],[340.208,427.172],[464.514,426.652],[517.49,333.736],[523.785,308.82],[521.16,276.637]],"c":true}},"o":{"k":100},"x":{"k":0},"nm":"蒙版 1"}],"sw":800,"sh":600,"sc":"#00b1ff","ip":0,"op":50,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":1,"ty":1,"nm":"品蓝色 纯色 3","ks":{"o":{"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":11,"s":[0],"e":[100]},{"t":15}]},"r":{"k":0},"p":{"k":[400,300,0]},"a":{"k":[400,300,0]},"s":{"k":[100,100,100]}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"k":{"i":[[0,0],[3.675,0],[0,0],[2.623,1.039],[10.49,18.686],[8.393,0],[0,0],[5.767,-5.706],[-0.526,-6.747],[8.391,-4.158],[2.101,0],[0,0],[0,-4.152],[0,0],[-4.196,0],[0,0],[-1.574,1.04],[-1.051,-0.52],[-31.47,0],[-9.441,41.527],[-2.097,6.748],[5.768,7.267]],"o":[[-7.342,-8.823],[0,0],[-12.065,0],[14.688,-23.358],[-5.772,-9.866],[0,0],[-3.671,-0.52],[-3.672,3.633],[4.198,46.715],[-1.572,-1.556],[0,0],[-4.198,0],[0,0],[0,4.155],[0,0],[2.097,0],[0.525,1.036],[0,0],[31.47,0],[2.098,-9.345],[3.671,-14.014],[0,0]],"v":[[521.158,276.64],[498.604,267.817],[454.021,267.817],[433.565,265.741],[435.663,188.92],[414.159,173.864],[413.112,173.864],[395.279,178.534],[390.561,194.626],[337.06,270.932],[331.816,268.856],[280.411,268.856],[272.544,276.642],[272.544,419.386],[280.411,427.172],[332.339,427.172],[338.111,425.096],[340.208,427.172],[464.514,426.652],[517.49,333.736],[523.785,308.82],[521.16,276.637]],"c":true}},"o":{"k":100},"x":{"k":0},"nm":"蒙版 3"},{"inv":false,"mode":"s","pt":{"k":{"i":[[0,0],[2.097,-9.861],[18.887,0],[6.816,0],[0,0],[-1.052,0.52],[5.769,62.291],[0.525,0],[-3.147,0],[0,0],[-2.098,-4.669],[12.067,-18.166],[-1.052,-2.596],[-21.503,0],[0,0],[-2.101,-2.597],[2.618,-8.822]],"o":[[-2.098,7.267],[-7.343,32.183],[-30.419,0],[0,0],[1.047,0],[2.624,-1.036],[0,-2.597],[0.525,-0.52],[0,0],[2.098,0],[8.392,15.571],[-4.199,6.23],[4.198,7.267],[0,0],[2.098,0],[3.671,2.597],[0,0]],"v":[[508.045,304.672],[501.75,330.626],[463.984,411.599],[339.679,412.119],[339.679,287.025],[342.303,286.505],[406.292,193.589],[406.292,189.956],[411.537,189.435],[413.634,189.435],[420.977,196.702],[418.353,259.51],[416.781,273.524],[452.971,283.903],[498.081,283.903],[507.524,286.5],[508.049,304.668]],"c":true}},"o":{"k":100},"x":{"k":0},"nm":"蒙版 1"},{"inv":false,"mode":"s","pt":{"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[323.943,411.599],[287.753,411.599],[287.753,284.428],[323.943,284.428]],"c":true}},"o":{"k":100},"x":{"k":0},"nm":"蒙版 2"}],"sw":800,"sh":600,"sc":"#00b1ff","ip":0,"op":50,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":1,"nm":"品蓝色 纯色 2","ks":{"o":{"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":11,"s":[0],"e":[27]},{"t":16}]},"r":{"k":0},"p":{"k":[400,300,0]},"a":{"k":[400,300,0]},"s":{"k":[100,100,100]}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"f","pt":{"k":{"i":[[0,0],[3.675,0],[0,0],[2.623,1.039],[10.49,18.686],[8.393,0],[0,0],[5.767,-5.706],[-0.526,-6.747],[8.391,-4.158],[2.101,0],[0,0],[0,-4.152],[0,0],[-4.196,0],[0,0],[-1.574,1.04],[-1.051,-0.52],[-31.47,0],[-9.441,41.527],[-2.097,6.748],[5.768,7.267]],"o":[[-7.342,-8.823],[0,0],[-12.065,0],[14.688,-23.358],[-5.772,-9.866],[0,0],[-3.671,-0.52],[-3.672,3.633],[4.198,46.715],[-1.572,-1.556],[0,0],[-4.198,0],[0,0],[0,4.155],[0,0],[2.097,0],[0.525,1.036],[0,0],[31.47,0],[2.098,-9.345],[3.671,-14.014],[0,0]],"v":[[521.158,276.64],[498.604,267.817],[454.021,267.817],[433.565,265.741],[435.663,188.92],[414.159,173.864],[413.112,173.864],[395.279,178.534],[390.561,194.626],[337.06,270.932],[331.816,268.856],[280.411,268.856],[272.544,276.642],[272.544,419.386],[280.411,427.172],[332.339,427.172],[338.111,425.096],[340.208,427.172],[464.514,426.652],[517.49,333.736],[523.785,308.82],[521.16,276.637]],"c":true}},"o":{"k":100},"x":{"k":0},"nm":"蒙版 1"}],"sw":800,"sh":600,"sc":"#00b1ff","ip":0,"op":50,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":3,"ty":1,"nm":"灰色 纯色 1","ks":{"o":{"k":100},"r":{"k":0},"p":{"k":[400,300,0]},"a":{"k":[400,300,0]},"s":{"k":[100,100,100]}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"k":{"i":[[0,0],[3.675,0],[0,0],[2.623,1.039],[10.49,18.686],[8.393,0],[0,0],[5.767,-5.706],[-0.526,-6.747],[8.391,-4.158],[2.101,0],[0,0],[0,-4.152],[0,0],[-4.196,0],[0,0],[-1.574,1.04],[-1.051,-0.52],[-31.47,0],[-9.441,41.527],[-2.097,6.748],[5.768,7.267]],"o":[[-7.342,-8.823],[0,0],[-12.065,0],[14.688,-23.358],[-5.772,-9.866],[0,0],[-3.671,-0.52],[-3.672,3.633],[4.198,46.715],[-1.572,-1.556],[0,0],[-4.198,0],[0,0],[0,4.155],[0,0],[2.097,0],[0.525,1.036],[0,0],[31.47,0],[2.098,-9.345],[3.671,-14.014],[0,0]],"v":[[521.158,276.64],[498.604,267.817],[454.021,267.817],[433.565,265.741],[435.663,188.92],[414.159,173.864],[413.112,173.864],[395.279,178.534],[390.561,194.626],[337.06,270.932],[331.816,268.856],[280.411,268.856],[272.544,276.642],[272.544,419.386],[280.411,427.172],[332.339,427.172],[338.111,425.096],[340.208,427.172],[464.514,426.652],[517.49,333.736],[523.785,308.82],[521.16,276.637]],"c":true}},"o":{"k":100},"x":{"k":0},"nm":"蒙版 3"},{"inv":false,"mode":"s","pt":{"k":{"i":[[0,0],[2.097,-9.861],[18.887,0],[6.816,0],[0,0],[-1.052,0.52],[5.769,62.291],[0.525,0],[-3.147,0],[0,0],[-2.098,-4.669],[12.067,-18.166],[-1.052,-2.596],[-21.503,0],[0,0],[-2.101,-2.597],[2.618,-8.822]],"o":[[-2.098,7.267],[-7.343,32.183],[-30.419,0],[0,0],[1.047,0],[2.624,-1.036],[0,-2.597],[0.525,-0.52],[0,0],[2.098,0],[8.392,15.571],[-4.199,6.23],[4.198,7.267],[0,0],[2.098,0],[3.671,2.597],[0,0]],"v":[[508.045,304.672],[501.75,330.626],[463.984,411.599],[339.679,412.119],[339.679,287.025],[342.303,286.505],[406.292,193.589],[406.292,189.956],[411.537,189.435],[413.634,189.435],[420.977,196.702],[418.353,259.51],[416.781,273.524],[452.971,283.903],[498.081,283.903],[507.524,286.5],[508.049,304.668]],"c":true}},"o":{"k":100},"x":{"k":0},"nm":"蒙版 1"},{"inv":false,"mode":"s","pt":{"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[323.943,411.599],[287.753,411.599],[287.753,284.428],[323.943,284.428]],"c":true}},"o":{"k":100},"x":{"k":0},"nm":"蒙版 2"}],"sw":800,"sh":600,"sc":"#8c8c8c","ip":0,"op":37,"st":0,"bm":0,"sr":1}],"v":"4.5.4","ddd":0,"ip":0,"op":50,"fr":25,"w":800,"h":600} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/loader.json b/submodules/RLottie/Sources/rlottie/example/resource/loader.json deleted file mode 100644 index fe28cdf95c..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/loader.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"4.5.7","fr":25,"ip":0,"op":250,"w":800,"h":600,"ddd":0,"assets":[],"layers":[{"ddd":0,"ind":0,"ty":3,"nm":"Resize","ks":{"o":{"a":0,"k":0},"r":{"a":0,"k":0},"p":{"a":0,"k":[400,300,0]},"a":{"a":0,"k":[0,0,0]},"s":{"a":0,"k":[150,150,100]}},"ao":0,"ip":0,"op":250,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":1,"ty":4,"nm":"Rectangle","parent":0,"ks":{"o":{"a":0,"k":100},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":40,"s":[-180],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":55,"s":[0],"e":[5]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":56,"s":[5],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":64,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":75,"s":[0],"e":[36]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":81,"s":[36],"e":[90]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":85,"s":[90],"e":[95]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":86,"s":[95],"e":[90]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":95,"s":[90],"e":[90]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":105,"s":[90],"e":[270]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":115,"s":[270],"e":[-180]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":116,"s":[-180],"e":[-180]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":135,"s":[-180],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":150,"s":[0],"e":[5]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":151,"s":[5],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":159,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":170,"s":[0],"e":[36]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":176,"s":[36],"e":[90]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":180,"s":[90],"e":[95]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":181,"s":[95],"e":[90]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":190,"s":[90],"e":[90]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":200,"s":[90],"e":[270]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":210,"s":[270],"e":[-180]},{"t":211}]},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":75,"s":[0,0,0],"e":[0,-5,0],"to":[0,-0.83333331346512,0],"ti":[0,0.83333331346512,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":85,"s":[0,-5,0],"e":[0,-5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":105,"s":[0,-5,0],"e":[0,0,0],"to":[0,0.83333331346512,0],"ti":[0.08333333581686,-0.91666668653488,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":115,"s":[0,0,0],"e":[-0.5,0.5,0],"to":[-0.08333333581686,0.91666668653488,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":116,"s":[-0.5,0.5,0],"e":[0,0,0],"to":[0,0,0],"ti":[-0.08333333581686,0.91666668653488,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":170,"s":[0,0,0],"e":[0,-5,0],"to":[0.08333333581686,-0.91666668653488,0],"ti":[0,0.83333331346512,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":180,"s":[0,-5,0],"e":[0,-5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":200,"s":[0,-5,0],"e":[0,0,0],"to":[0,0.83333331346512,0],"ti":[0.08333333581686,-0.91666668653488,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":210,"s":[0,0,0],"e":[-0.5,0.5,0],"to":[-0.08333333581686,0.91666668653488,0],"ti":[0.08333333581686,-0.08333333581686,0]},{"t":211}]},"a":{"a":0,"k":[-0.5,0,0]},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":18,"s":[0,0,100],"e":[80,80,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":23,"s":[80,80,100],"e":[110,110,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":25,"s":[110,110,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":30,"s":[100,100,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":40,"s":[100,100,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":116,"s":[100,100,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":135,"s":[100,100,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":211,"s":[100,100,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":220,"s":[100,100,100],"e":[110,110,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":225,"s":[110,110,100],"e":[80,80,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":228,"s":[80,80,100],"e":[0,0,100]},{"t":231}]}},"ao":0,"shapes":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":75,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[35,-35],[-35,-35],[-35,35],[35,35]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[35,-36.5],[-35,-21],[-35,21],[35,36.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":81,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[35,-36.5],[-35,-21],[-35,21],[35,36.75]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[35,-38.75],[-35,0],[-35,0],[35,39.375]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":85,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[35,-38.75],[-35,0],[-35,0],[35,39.375]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[35,-38.75],[-35,0],[-35,0],[35,39.375]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":105,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[35,-38.75],[-35,0],[-35,0],[35,39.375]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[34,-35.25],[-36,-35],[-36,35],[34,34.875]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":115,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[34,-35.25],[-36,-35],[-36,35],[34,34.875]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[35,-35],[-35,-35],[-35,35],[35,35]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":170,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[35,-35],[-35,-35],[-35,35],[35,35]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[35,-36.5],[-35,-21],[-35,21],[35,36.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":176,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[35,-36.5],[-35,-21],[-35,21],[35,36.75]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[35,-38.75],[-35,0],[-35,0],[35,39.375]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":180,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[35,-38.75],[-35,0],[-35,0],[35,39.375]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[35,-38.75],[-35,0],[-35,0],[35,39.375]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":200,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[35,-38.75],[-35,0],[-35,0],[35,39.375]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[34,-35.25],[-36,-35],[-36,35],[34,34.875]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":210,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[34,-35.25],[-36,-35],[-36,35],[34,34.875]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[34,-35.25],[-36,-35],[-36,35],[34,34.875]],"c":true}]},{"t":220}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0,0,0,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"rd","nm":"Round Corners 1","r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":30,"s":[50],"e":[34]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":40,"s":[34],"e":[27.778]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":45,"s":[27.778],"e":[8.333]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":50,"s":[8.333],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":55,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":75,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":105,"s":[0],"e":[50]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":115,"s":[50],"e":[50]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":116,"s":[50],"e":[34]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":135,"s":[34],"e":[27.778]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":140,"s":[27.778],"e":[8.333]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":145,"s":[8.333],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":150,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":170,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":200,"s":[0],"e":[50]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":210,"s":[50],"e":[50]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":211,"s":[50],"e":[64]},{"t":220}]},"mn":"ADBE Vector Filter - RC"}],"ip":0,"op":250,"st":0,"bm":0,"sr":1}]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/loader_4.json b/submodules/RLottie/Sources/rlottie/example/resource/loader_4.json deleted file mode 100644 index 69248a72bb..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/loader_4.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"4.6.9","fr":29.9700012207031,"ip":0,"op":34.0000013848484,"w":800,"h":600,"nm":"Loader","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 2","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[400,300,0]},"a":{"a":0,"k":[0,0,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[36.812,0],[0,-19.33],[-19.33,0],[-37.125,0],[0,-19.33],[19.33,0]],"o":[[-19.33,0],[0,19.33],[36.688,0],[19.33,0],[0,19.33],[-37.25,0]],"v":[[-44.844,-35],[-79.844,0],[-44.844,35],[44.844,-35],[79.844,0],[44.844,35]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.105882,0.105882,0.105882,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":12},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0_1_0p167_0p167"],"t":5.834,"s":[0],"e":[20]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":17.11,"s":[20],"e":[20]},{"i":{"x":[0.611],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p611_1_0p167_0p167"],"t":23.334,"s":[20],"e":[40]},{"t":35.0000014255792}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0_1_0p167_0p167"],"t":0,"s":[12],"e":[32]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":11.666,"s":[32],"e":[32]},{"i":{"x":[0.5],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p5_1_0p167_0p167"],"t":17.11,"s":[32],"e":[53]},{"t":29.1662511879657}],"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":0,"s":[-22],"e":[82.925]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":17.11,"s":[82.925],"e":[193]},{"t":35.0000014255792}],"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"}],"ip":0,"op":300.00001221925,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 1","ks":{"o":{"a":0,"k":25},"r":{"a":0,"k":0},"p":{"a":0,"k":[400,300,0]},"a":{"a":0,"k":[0,0,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[36.812,0],[0,-19.33],[-19.33,0],[-37.125,0],[0,-19.33],[19.33,0]],"o":[[-19.33,0],[0,19.33],[36.688,0],[19.33,0],[0,19.33],[-37.25,0]],"v":[[-44.844,-35],[-79.844,0],[-44.844,35],[44.844,-35],[79.844,0],[44.844,35]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.105882,0.105882,0.105882,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":12},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":0,"op":300.00001221925,"st":0,"bm":0,"sr":1}]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/loader_animation.json b/submodules/RLottie/Sources/rlottie/example/resource/loader_animation.json deleted file mode 100644 index c6453f8b2b..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/loader_animation.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.1.1","fr":74,"ip":0,"op":171,"w":128,"h":199,"nm":"Comp 1","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 12","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":143,"s":[100],"e":[0]},{"t":156}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":47,"s":[67.5,-5,0],"e":[67.5,116.75,0],"to":[0,20.2916660308838,0],"ti":[1.04942238330841,18.8896026611328,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":98,"s":[67.5,116.75,0],"e":[39.5,116.75,0],"to":[-0.04166666790843,-0.75,0],"ti":[7.02829837799072,-5.70764303207397,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":130,"s":[39.5,116.75,0],"e":[15.25,131,0],"to":[-13.0033321380615,10.5599355697632,0],"ti":[0,0,0]},{"t":156}],"ix":2},"a":{"a":0,"k":[1,-1.5,0],"ix":1},"s":{"a":0,"k":[29.167,29.167,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[12,12],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.980392156863,0.123029596665,0.123029596665,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1,-1.5],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":47,"op":172,"st":47,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 11","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":98,"s":[1],"e":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":100,"s":[100],"e":[0]},{"t":111}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":100,"s":[71,120,0],"e":[80,116.625,0],"to":[1.5,-0.5625,0],"ti":[-1.5,0.5625,0]},{"t":110}],"ix":2},"a":{"a":0,"k":[19.552,26.661,0],"ix":1},"s":{"a":0,"k":[14.065,14.065,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.5,-0.375],[10.625,-5.625],[0,0],[0.375,0.125]],"o":[[-3.375,-0.5],[-10.625,5.625],[0,0],[7.875,-5.25]],"v":[[28.125,22],[11.75,25.875],[14.5,31.25],[27,27.75]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.980392156863,0.121568627451,0.121568627451,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":98,"op":172,"st":98,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 10","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":98,"s":[1],"e":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":100,"s":[100],"e":[0]},{"t":111}],"ix":11},"r":{"a":0,"k":206.765,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":100,"s":[62.25,119.125,0],"e":[49.25,117.625,0],"to":[-2.16666674613953,-0.25,0],"ti":[2.16666674613953,0.25,0]},{"t":111}],"ix":2},"a":{"a":0,"k":[19.552,26.661,0],"ix":1},"s":{"a":0,"k":[-11.341,-16.193,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.5,-0.375],[10.625,-5.625],[0,0],[0.375,0.125]],"o":[[-3.375,-0.5],[-10.625,5.625],[0,0],[7.875,-5.25]],"v":[[28.125,22],[11.75,25.875],[14.5,31.25],[27,27.75]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.980392156863,0.121568627451,0.121568627451,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":98,"op":172,"st":98,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Shape Layer 9","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":125,"s":[100],"e":[0]},{"t":138}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":29,"s":[67.5,-5,0],"e":[67.5,116.75,0],"to":[0,20.2916660308838,0],"ti":[1.04942238330841,18.8896026611328,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":80,"s":[67.5,116.75,0],"e":[33.5,111.25,0],"to":[-0.04166666790843,-0.75,0],"ti":[7.02829837799072,-5.70764303207397,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":112,"s":[33.5,111.25,0],"e":[3,121.75,0],"to":[-13.0033321380615,10.5599355697632,0],"ti":[0,0,0]},{"t":138}],"ix":2},"a":{"a":0,"k":[1,-1.5,0],"ix":1},"s":{"a":0,"k":[29.167,29.167,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[12,12],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.138299740062,0.81568627451,0.047981542699,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1,-1.5],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":29,"op":172,"st":29,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Shape Layer 8","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":80,"s":[1],"e":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":82,"s":[100],"e":[0]},{"t":93}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":82,"s":[71,120,0],"e":[80,116.625,0],"to":[1.5,-0.5625,0],"ti":[-1.5,0.5625,0]},{"t":92}],"ix":2},"a":{"a":0,"k":[19.552,26.661,0],"ix":1},"s":{"a":0,"k":[14.065,14.065,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.5,-0.375],[10.625,-5.625],[0,0],[0.375,0.125]],"o":[[-3.375,-0.5],[-10.625,5.625],[0,0],[7.875,-5.25]],"v":[[28.125,22],[11.75,25.875],[14.5,31.25],[27,27.75]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.137254901961,0.81568627451,0.047058823529,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":80,"op":172,"st":80,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Shape Layer 7","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":80,"s":[1],"e":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":82,"s":[100],"e":[0]},{"t":93}],"ix":11},"r":{"a":0,"k":206.765,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":82,"s":[62.25,119.125,0],"e":[49.25,117.625,0],"to":[-2.16666674613953,-0.25,0],"ti":[2.16666674613953,0.25,0]},{"t":93}],"ix":2},"a":{"a":0,"k":[19.552,26.661,0],"ix":1},"s":{"a":0,"k":[-11.341,-16.193,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.5,-0.375],[10.625,-5.625],[0,0],[0.375,0.125]],"o":[[-3.375,-0.5],[-10.625,5.625],[0,0],[7.875,-5.25]],"v":[[28.125,22],[11.75,25.875],[14.5,31.25],[27,27.75]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.137254901961,0.81568627451,0.047058823529,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":80,"op":172,"st":80,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Shape Layer 6","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":65,"s":[1],"e":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":67,"s":[100],"e":[0]},{"t":78}],"ix":11},"r":{"a":0,"k":206.765,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":67,"s":[62.25,119.125,0],"e":[49.25,117.625,0],"to":[-2.16666674613953,-0.25,0],"ti":[2.16666674613953,0.25,0]},{"t":78}],"ix":2},"a":{"a":0,"k":[19.552,26.661,0],"ix":1},"s":{"a":0,"k":[-11.341,-16.193,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.5,-0.375],[10.625,-5.625],[0,0],[0.375,0.125]],"o":[[-3.375,-0.5],[-10.625,5.625],[0,0],[7.875,-5.25]],"v":[[28.125,22],[11.75,25.875],[14.5,31.25],[27,27.75]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.996078431373,0.858823529412,0.090196078431,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":65,"op":172,"st":65,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"Shape Layer 5","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":65,"s":[1],"e":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":67,"s":[100],"e":[0]},{"t":78}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":67,"s":[71,120,0],"e":[80,116.625,0],"to":[1.5,-0.5625,0],"ti":[-1.5,0.5625,0]},{"t":77}],"ix":2},"a":{"a":0,"k":[19.552,26.661,0],"ix":1},"s":{"a":0,"k":[14.065,14.065,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.5,-0.375],[10.625,-5.625],[0,0],[0.375,0.125]],"o":[[-3.375,-0.5],[-10.625,5.625],[0,0],[7.875,-5.25]],"v":[[28.125,22],[11.75,25.875],[14.5,31.25],[27,27.75]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.996078431373,0.858823529412,0.090196078431,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":65,"op":172,"st":65,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"Shape Layer 2","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":111,"s":[100],"e":[0]},{"t":124}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":14,"s":[67.5,-5,0],"e":[67.5,116.75,0],"to":[0,20.2916660308838,0],"ti":[1.04942238330841,18.8896026611328,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":65,"s":[67.5,116.75,0],"e":[34.25,108.5,0],"to":[-0.04166666790843,-0.75,0],"ti":[7.74652624130249,-6.27588701248169,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":97,"s":[34.25,108.5,0],"e":[10.25,114.25,0],"to":[-11.3133344650269,9.16555500030518,0],"ti":[0,0,0]},{"t":123}],"ix":2},"a":{"a":0,"k":[1,-1.5,0],"ix":1},"s":{"a":0,"k":[29.167,29.167,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[12,12],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.996078431373,0.857477644378,0.089842366237,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1,-1.5],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":14,"op":172,"st":14,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"Shape Layer 18","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":152,"s":[100],"e":[0]},{"t":165}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":56,"s":[67.5,-5,0],"e":[67.5,116.75,0],"to":[0,20.2916660308838,0],"ti":[1.04942238330841,18.8896026611328,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":107,"s":[67.5,116.75,0],"e":[91.25,106,0],"to":[-0.04166666790843,-0.75,0],"ti":[-18.7426891326904,-16.4572200775146,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":139,"s":[91.25,106,0],"e":[121.25,105.25,0],"to":[16.5734615325928,14.5525054931641,0],"ti":[0,0,0]},{"t":165}],"ix":2},"a":{"a":0,"k":[1,-1.5,0],"ix":1},"s":{"a":0,"k":[29.167,29.167,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[12,12],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.568120021446,0.007843136787,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1,-1.5],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":56,"op":172,"st":56,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"Shape Layer 17","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":105,"s":[1],"e":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":107,"s":[100],"e":[0]},{"t":118}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":107,"s":[71,120,0],"e":[80,116.625,0],"to":[1.5,-0.5625,0],"ti":[-1.5,0.5625,0]},{"t":117}],"ix":2},"a":{"a":0,"k":[19.552,26.661,0],"ix":1},"s":{"a":0,"k":[14.065,14.065,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.5,-0.375],[10.625,-5.625],[0,0],[0.375,0.125]],"o":[[-3.375,-0.5],[-10.625,5.625],[0,0],[7.875,-5.25]],"v":[[28.125,22],[11.75,25.875],[14.5,31.25],[27,27.75]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.56862745098,0.007843137255,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":105,"op":172,"st":105,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"Shape Layer 16","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":105,"s":[0],"e":[85]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":107,"s":[85],"e":[0]},{"t":118}],"ix":11},"r":{"a":0,"k":206.765,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":107,"s":[62.25,119.125,0],"e":[49.25,117.625,0],"to":[-2.16666674613953,-0.25,0],"ti":[2.16666674613953,0.25,0]},{"t":118}],"ix":2},"a":{"a":0,"k":[19.552,26.661,0],"ix":1},"s":{"a":0,"k":[-11.341,-16.193,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.5,-0.375],[10.625,-5.625],[0,0],[0.375,0.125]],"o":[[-3.375,-0.5],[-10.625,5.625],[0,0],[7.875,-5.25]],"v":[[28.125,22],[11.75,25.875],[14.5,31.25],[27,27.75]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.56862745098,0.007843137255,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":105,"op":172,"st":105,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"Shape Layer 15","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":134,"s":[100],"e":[0]},{"t":147}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":37,"s":[67.5,-5,0],"e":[67.5,116.75,0],"to":[0,20.2916660308838,0],"ti":[1.04942238330841,18.8896026611328,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":88,"s":[67.5,116.75,0],"e":[91.25,106,0],"to":[-0.04166666790843,-0.75,0],"ti":[-12.3503103256226,-21.6702175140381,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":120,"s":[91.25,106,0],"e":[121.25,122.75,0],"to":[10.5734605789185,18.5525054931641,0],"ti":[0,0,0]},{"t":146}],"ix":2},"a":{"a":0,"k":[1,-1.5,0],"ix":1},"s":{"a":0,"k":[29.167,29.167,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[12,12],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.107927718817,0.642268401501,0.949019607843,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1,-1.5],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":37,"op":172,"st":37,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"Shape Layer 14","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":86,"s":[1],"e":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":88,"s":[100],"e":[0]},{"t":99}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":88,"s":[71,120,0],"e":[80,116.625,0],"to":[1.5,-0.5625,0],"ti":[-1.5,0.5625,0]},{"t":98}],"ix":2},"a":{"a":0,"k":[19.552,26.661,0],"ix":1},"s":{"a":0,"k":[14.065,14.065,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.5,-0.375],[10.625,-5.625],[0,0],[0.375,0.125]],"o":[[-3.375,-0.5],[-10.625,5.625],[0,0],[7.875,-5.25]],"v":[[28.125,22],[11.75,25.875],[14.5,31.25],[27,27.75]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.109803921569,0.643137254902,0.949019607843,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":86,"op":172,"st":86,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":"Shape Layer 13","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":86,"s":[0],"e":[85]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":88,"s":[85],"e":[0]},{"t":99}],"ix":11},"r":{"a":0,"k":206.765,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":88,"s":[62.25,119.125,0],"e":[49.25,117.625,0],"to":[-2.16666674613953,-0.25,0],"ti":[2.16666674613953,0.25,0]},{"t":99}],"ix":2},"a":{"a":0,"k":[19.552,26.661,0],"ix":1},"s":{"a":0,"k":[-11.341,-16.193,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.5,-0.375],[10.625,-5.625],[0,0],[0.375,0.125]],"o":[[-3.375,-0.5],[-10.625,5.625],[0,0],[7.875,-5.25]],"v":[[28.125,22],[11.75,25.875],[14.5,31.25],[27,27.75]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.109803921569,0.643137254902,0.949019607843,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":86,"op":172,"st":86,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":"Shape Layer 4","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":49,"s":[0],"e":[85]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":51,"s":[85],"e":[0]},{"t":62}],"ix":11},"r":{"a":0,"k":206.765,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":51,"s":[62.25,119.125,0],"e":[49.25,117.625,0],"to":[-2.16666674613953,-0.25,0],"ti":[2.16666674613953,0.25,0]},{"t":62}],"ix":2},"a":{"a":0,"k":[19.552,26.661,0],"ix":1},"s":{"a":0,"k":[-11.341,-16.193,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.5,-0.375],[10.625,-5.625],[0,0],[0.375,0.125]],"o":[[-3.375,-0.5],[-10.625,5.625],[0,0],[7.875,-5.25]],"v":[[28.125,22],[11.75,25.875],[14.5,31.25],[27,27.75]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.925490196078,0,0.549019607843,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":49,"op":172,"st":49,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":"Shape Layer 3","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":49,"s":[1],"e":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":51,"s":[100],"e":[0]},{"t":62}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":51,"s":[71,120,0],"e":[80,116.625,0],"to":[1.5,-0.5625,0],"ti":[-1.5,0.5625,0]},{"t":61}],"ix":2},"a":{"a":0,"k":[19.552,26.661,0],"ix":1},"s":{"a":0,"k":[14.065,14.065,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.5,-0.375],[10.625,-5.625],[0,0],[0.375,0.125]],"o":[[-3.375,-0.5],[-10.625,5.625],[0,0],[7.875,-5.25]],"v":[[28.125,22],[11.75,25.875],[14.5,31.25],[27,27.75]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.925490196078,0,0.549019607843,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":49,"op":172,"st":49,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":96,"s":[100],"e":[0]},{"t":109}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[67.5,-5,0],"e":[67.5,116.75,0],"to":[0,20.2916660308838,0],"ti":[1.04942238330841,18.8896026611328,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":51,"s":[67.5,116.75,0],"e":[91.25,106,0],"to":[-0.04166666790843,-0.75,0],"ti":[-16.4489860534668,-18.7499160766602,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":83,"s":[91.25,106,0],"e":[116.75,116,0],"to":[10.5734605789185,12.0525054931641,0],"ti":[0,0,0]},{"t":109}],"ix":2},"a":{"a":0,"k":[1,-1.5,0],"ix":1},"s":{"a":0,"k":[29.167,29.167,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[12,12],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.925490196078,0,0.549019607843,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1,-1.5],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":172,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/loading.json b/submodules/RLottie/Sources/rlottie/example/resource/loading.json deleted file mode 100644 index b6605b8c7b..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/loading.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.2.1","fr":29.9700012207031,"ip":0,"op":900.000036657751,"w":237,"h":237,"nm":"final","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":0,"nm":"flight","refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.9]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p9_0p167_0p167"],"t":0,"s":[-50],"e":[0]},{"t":180.00000733155}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.894},"o":{"x":0.167,"y":0.167},"n":"0p833_0p894_0p167_0p167","t":0,"s":[-50,141.805,0],"e":[118,38.61,0],"to":[28,-17.1991653442383,0],"ti":[-78,4.31500005722046,0]},{"i":{"x":0.538,"y":0.736},"o":{"x":0.05,"y":1},"n":"0p538_0p736_0p05_1","t":180,"s":[118,38.61,0],"e":[118,38.61,0],"to":[0.02864627912641,-2.52048540115356,0],"ti":[0.00681143719703,0.76931047439575,0]},{"i":{"x":0.833,"y":0.761},"o":{"x":0.422,"y":0.048},"n":"0p833_0p761_0p422_0p048","t":242,"s":[118,38.61,0],"e":[118,33,0],"to":[-0.00714083854109,-0.80651438236237,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.821},"o":{"x":0.167,"y":0.126},"n":"0p833_0p821_0p167_0p126","t":274,"s":[118,33,0],"e":[118,43,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.845},"o":{"x":0.167,"y":0.155},"n":"0p833_0p845_0p167_0p155","t":304,"s":[118,43,0],"e":[118,33,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.179},"n":"0p833_0p833_0p167_0p179","t":330,"s":[118,33,0],"e":[118,43,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.828},"o":{"x":0.167,"y":0.178},"n":"0p833_0p828_0p167_0p178","t":360,"s":[118,43,0],"e":[118,33,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.161},"n":"0p833_0p833_0p167_0p161","t":392,"s":[118,33,0],"e":[118,43,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.831},"o":{"x":0.167,"y":0.172},"n":"0p833_0p831_0p167_0p172","t":422,"s":[118,43,0],"e":[118,33,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.164},"n":"0p833_0p833_0p167_0p164","t":453,"s":[118,33,0],"e":[118,43,0],"to":[0,0,0],"ti":[0,0,0]},{"t":483.000019672993}],"ix":2},"a":{"a":0,"k":[45.5,50.5,0],"ix":1},"s":{"a":0,"k":[50,50,100],"ix":6}},"ao":0,"ef":[{"ty":25,"nm":"Drop Shadow","np":9,"mn":"ADBE Drop Shadow","ix":1,"en":1,"ef":[{"ty":2,"nm":"Shadow Color","mn":"ADBE Drop Shadow-0001","ix":1,"v":{"a":0,"k":[0,0,0,1],"ix":1}},{"ty":0,"nm":"Opacity","mn":"ADBE Drop Shadow-0002","ix":2,"v":{"a":0,"k":51,"ix":2}},{"ty":0,"nm":"Direction","mn":"ADBE Drop Shadow-0003","ix":3,"v":{"a":0,"k":135,"ix":3}},{"ty":0,"nm":"Distance","mn":"ADBE Drop Shadow-0004","ix":4,"v":{"a":0,"k":6,"ix":4}},{"ty":0,"nm":"Softness","mn":"ADBE Drop Shadow-0005","ix":5,"v":{"a":0,"k":0,"ix":5}},{"ty":7,"nm":"Shadow Only","mn":"ADBE Drop Shadow-0006","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":7,"nm":"GPU Rendering","mn":"ADBE Force CPU GPU","ix":7,"v":{"a":0,"k":1,"ix":7}}]}],"w":91,"h":101,"ip":0,"op":900.000036657751,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"may","refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[118.233,118.5,0],"ix":2},"a":{"a":0,"k":[219.5,200.5,0],"ix":1},"s":{"a":0,"k":[54.504,54.504,100],"ix":6}},"ao":0,"tm":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[14.114]},{"t":423.000017229143}],"ix":2,"x":"var $bm_rt;\n$bm_rt = loopOut('cycle', 0);"},"w":439,"h":401,"ip":0,"op":900.000036657751,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":0,"nm":"loading 2","refId":"comp_3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[119,221,0],"ix":2},"a":{"a":0,"k":[219.5,200.5,0],"ix":1},"s":{"a":0,"k":[78,78,100],"ix":6}},"ao":0,"w":439,"h":401,"ip":0,"op":900.000036657751,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[118.5,118.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[237,237],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":true},{"ty":"fl","c":{"a":0,"k":[0.780392169952,0.898039221764,0.941176474094,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":900.000036657751,"st":0,"bm":0}]},{"id":"comp_1","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"flight Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[45.5,50.5,0],"ix":2},"a":{"a":0,"k":[45.5,50.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.198,-0.314],[6.473,-9.04],[-0.216,0.302],[-5.936,9.402]],"o":[[-5.936,9.401],[-0.215,0.301],[6.472,-9.04],[0.195,-0.31]],"v":[[9.09,-14.003],[-9.523,13.66],[-9.07,14.016],[9.544,-13.648]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.808000033509,0.808000033509,0.808000033509,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[44.956,79.611],"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,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.205,-0.309],[-5.842,-8.82],[0.205,0.308],[5.843,8.821]],"o":[[5.842,8.821],[0.204,0.309],[-5.841,-8.822],[-0.204,-0.309]],"v":[[-8.993,-13.058],[8.533,13.405],[8.993,13.059],[-8.534,-13.404]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.808000033509,0.808000033509,0.808000033509,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[44.114,19.044],"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,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.369,0.039],[0.49,-2.332],[-0.076,0.362],[-1.761,-0.183]],"o":[[-2.103,-0.219],[-0.077,0.364],[0.422,-2.007],[0.368,0.039]],"v":[[2.336,-1.493],[-2.628,1.262],[-2.059,1.35],[2.249,-0.924]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.808000033509,0.808000033509,0.808000033509,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[4.746,46.668],"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,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.37,0.025],[13.095,0.205],[-0.366,-0.005],[-13.016,-0.89]],"o":[[-13.065,-0.895],[-0.37,-0.005],[13.044,0.203],[0.368,0.025]],"v":[[19.622,0.529],[-19.622,-1.118],[-19.559,-0.544],[19.535,1.098]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.808000033509,0.808000033509,0.808000033509,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[42.202,55.706],"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 4","np":2,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.165,0.168],[0,0],[4.254,-5.523]],"o":[[4.098,-5.319],[0,0],[1.888,1.922],[0,0]],"v":[[-3.046,4.854],[-2.941,-4.643],[-1.288,-6.268],[-1.208,6.269]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.067000003889,0.513999968884,0.819999964097,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[84.149,50.261],"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 5","np":2,"cix":2,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.005,3.843],[0,0],[-3.843,-0.005],[0,0],[0.005,-3.844],[0,0],[2.605,0.003]],"o":[[-3.843,-0.005],[0,0],[0.004,-3.843],[0,0],[2.605,0.003],[0,0],[-0.005,3.844],[0,0]],"v":[[-38.359,6.178],[-45.216,0.139],[-45.216,-0.324],[-38.345,-6.346],[35.679,-8.583],[45.217,-0.223],[45.217,0.241],[35.66,8.579]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[45.217,50.14],"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 6","np":4,"cix":2,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[4.985,6.836],[-2.241,-6.833],[-4.654,-6.836],[-4.985,6.722]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.067000003889,0.513999968884,0.819999964097,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[9.21,41.265],"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 7","np":2,"cix":2,"ix":7,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[4.985,-6.447],[-2.27,6.639],[-4.684,6.635],[-4.985,-6.639]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.067000003889,0.513999968884,0.819999964097,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[9.206,58.417],"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 8","np":2,"cix":2,"ix":8,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[19.148,21.952],[-9.561,-21.942],[-19.148,-21.952],[-6.827,21.947]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.929000016755,0.941000007181,0.957000014361,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[43.136,21.953],"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 9","np":2,"cix":2,"ix":9,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[19.197,-21.96],[-9.609,21.966],[-19.197,21.955],[-6.778,-21.965]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.929000016755,0.941000007181,0.957000014361,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[43.073,79.006],"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 10","np":4,"cix":2,"ix":10,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.002,-1.534],[-1.66,-0.002],[0,0],[-0.001,1.534],[1.659,0.002]],"o":[[-1.659,-0.002],[-0.002,1.534],[0,0],[1.66,0.002],[0.002,-1.534],[0,0]],"v":[[-4.503,-2.876],[-7.511,-0.008],[-4.509,2.865],[4.503,2.876],[7.511,0.008],[4.51,-2.866]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.067000003889,0.513999968884,0.819999964097,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[52.114,70.847],"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 11","np":2,"cix":2,"ix":11,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.002,-1.534],[-1.66,-0.002],[0,0],[-0.001,1.533],[1.659,0.002]],"o":[[-1.659,-0.002],[-0.001,1.533],[0,0],[1.659,0.001],[0.002,-1.534],[0,0]],"v":[[-4.503,-2.876],[-7.512,-0.008],[-4.51,2.865],[4.504,2.876],[7.51,0.008],[4.51,-2.866]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.067000003889,0.513999968884,0.819999964097,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[46.54,78.497],"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 12","np":2,"cix":2,"ix":12,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.001,-1.534],[-1.66,-0.002],[0,0],[-0.001,1.534],[1.659,0.002]],"o":[[-1.659,-0.002],[-0.002,1.534],[0,0],[1.659,0.002],[0.002,-1.533],[0,0]],"v":[[-4.503,-2.876],[-7.51,-0.009],[-4.51,2.865],[4.504,2.876],[7.51,0.008],[4.51,-2.866]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.067000003889,0.513999968884,0.819999964097,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[41.892,86.626],"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 13","np":2,"cix":2,"ix":13,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.002,1.534],[-1.659,-0.002],[0,0],[0.001,-1.533],[1.659,0.002]],"o":[[-1.659,-0.002],[0.001,-1.533],[0,0],[1.659,0.002],[-0.002,1.534],[0,0]],"v":[[-4.51,3.105],[-7.51,-0.009],[-4.503,-3.115],[4.51,-3.105],[7.512,0.008],[4.503,3.115]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.067000003889,0.513999968884,0.819999964097,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[52.16,29.937],"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 14","np":2,"cix":2,"ix":14,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.002,1.534],[-1.659,-0.002],[0,0],[0.001,-1.534],[1.659,0.002]],"o":[[-1.659,-0.001],[0.001,-1.534],[0,0],[1.659,0.001],[-0.002,1.534],[0,0]],"v":[[-4.51,2.866],[-7.51,-0.008],[-4.504,-2.876],[4.51,-2.865],[7.512,0.009],[4.503,2.876]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.067000003889,0.513999968884,0.819999964097,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[46.602,22.036],"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 15","np":2,"cix":2,"ix":15,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.002,1.533],[-1.659,-0.002],[0,0],[0.001,-1.534],[1.659,0.002]],"o":[[-1.659,-0.002],[0.001,-1.534],[0,0],[1.659,0.002],[-0.002,1.534],[0,0]],"v":[[-4.51,2.626],[-7.51,-0.008],[-4.504,-2.636],[4.51,-2.626],[7.512,0.008],[4.503,2.637]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.067000003889,0.513999968884,0.819999964097,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[41.973,14.136],"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 16","np":2,"cix":2,"ix":16,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":900.000036657751,"st":0,"bm":0}]},{"id":"comp_2","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"may Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[659.5,200.5,0],"e":[219.5,200.5,0],"to":[-73.3333358764648,0,0],"ti":[147.91667175293,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":210,"s":[219.5,200.5,0],"e":[-228,200.5,0],"to":[-147.91667175293,0,0],"ti":[74.5833358764648,0,0]},{"t":422.000017188412}],"ix":2},"a":{"a":0,"k":[219.5,200.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[7.095,0],[1.385,-0.513],[7.344,0],[2.766,-3.613],[1.865,0],[0,-4.831],[-0.005,-0.121],[0,-5.671],[-6.637,0],[0,0],[0,7.132]],"o":[[-1.562,0],[-1.373,-6.977],[-4.885,0],[-1.417,-1.005],[-4.806,0],[0,0.123],[-5.243,1.3],[0,6.672],[0,0],[7.095,0],[0,-7.132]],"v":[[20.617,-7.197],[16.18,-6.39],[1.346,-18.63],[-10.637,-12.678],[-15.644,-14.279],[-24.347,-5.531],[-24.328,-5.167],[-33.464,6.549],[-21.446,18.63],[20.617,18.63],[33.464,5.716]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[327.953,358.029],"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":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[18.395,0],[3.59,-1.33],[19.04,0],[7.17,-9.368],[4.838,0],[0,-12.526],[-0.013,-0.316],[0,-14.703],[-17.209,0],[0,0],[0,18.491]],"o":[[-4.049,0],[-3.559,-18.09],[-12.667,0],[-3.674,-2.606],[-12.462,0],[0,0.319],[-13.592,3.37],[0,17.298],[0,0],[18.395,0],[0,-18.49]],"v":[[53.453,-18.66],[41.951,-16.567],[3.492,-48.3],[-27.576,-32.87],[-40.559,-37.02],[-63.123,-14.34],[-63.075,-13.395],[-86.76,16.98],[-55.601,48.3],[53.453,48.3],[86.76,14.82]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":60,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[86.76,129.24],"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":4,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[10.854,0.878],[0,2.671],[16.764,0],[5.258,-3.936],[2.695,0],[2.314,-7.548],[2.282,0],[0.843,-5.282],[0,-11.883],[-14.669,0],[0,0],[0,10.595]],"o":[[0.792,-2.44],[0,-15.106],[-7.37,0],[-2.342,-0.877],[-9.112,0],[-1.821,-0.989],[-6.095,0],[-12.599,1.871],[0,13.217],[0,0],[11.759,0],[0,-10.01]],"v":[[48.09,-1.622],[49.326,-9.308],[18.972,-36.66],[-0.409,-30.355],[-8.011,-31.722],[-27.093,-18.623],[-33.306,-20.215],[-45.236,-10.86],[-67.455,12.727],[-40.894,36.66],[46.164,36.66],[67.455,17.475]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":60,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[356.554,258.559],"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":4,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.611,0.849],[0,0.379],[2.987,0],[0.684,-0.314],[5.387,0],[1.96,-3.103],[1.255,0],[0,-3.264],[-0.012,-0.153],[0,-4.09],[-4.849,0],[0,0],[0,3.612]],"o":[[0.073,-0.358],[0,-3.003],[-0.801,0],[-0.98,-5.128],[-3.926,0],[-0.955,-0.674],[-3.247,0],[0,0.156],[-3.756,1],[0,4.874],[0,0],[3.593,0],[0,-2.908]],"v":[[19.483,1.147],[19.595,0.04],[14.186,-5.397],[11.944,-4.903],[1.096,-13.906],[-8.23,-8.737],[-11.6,-9.809],[-17.479,-3.9],[-17.456,-3.439],[-23.984,5.082],[-15.206,13.906],[17.478,13.906],[23.984,7.367]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":28,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[414.784,81.916],"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 4","np":4,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.3,0.748],[0,0.334],[2.63,0],[0.602,-0.277],[4.743,0],[1.725,-2.733],[1.105,0],[0,-2.874],[-0.011,-0.135],[0,-3.602],[-4.27,0],[0,0],[0,3.179]],"o":[[0.064,-0.314],[0,-2.643],[-0.705,0],[-0.862,-4.515],[-3.458,0],[-0.841,-0.593],[-2.859,0],[0,0.136],[-3.308,0.881],[0,4.291],[0,0],[3.164,0],[0,-2.562]],"v":[[17.155,1.009],[17.254,0.034],[12.492,-4.753],[10.517,-4.318],[0.966,-12.245],[-7.247,-7.694],[-10.215,-8.637],[-15.391,-3.434],[-15.37,-3.027],[-21.119,4.475],[-13.389,12.245],[15.39,12.245],[21.119,6.487]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":28,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[57.252,358.911],"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 5","np":4,"cix":2,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[3.302,1.074],[0,0.48],[3.776,0],[0.864,-0.397],[6.809,0],[2.478,-3.923],[1.586,0],[0,-4.125],[-0.015,-0.193],[0,-5.17],[-6.129,0],[0,0],[0,4.566]],"o":[[0.093,-0.452],[0,-3.795],[-1.012,0],[-1.239,-6.482],[-4.965,0],[-1.207,-0.851],[-4.104,0],[0,0.196],[-4.748,1.264],[0,6.161],[0,0],[4.542,0],[0,-3.676]],"v":[[24.627,1.449],[24.77,0.049],[17.933,-6.822],[15.099,-6.198],[1.387,-17.579],[-10.404,-11.045],[-14.664,-12.4],[-22.095,-4.93],[-22.065,-4.347],[-30.318,6.423],[-19.221,17.578],[22.094,17.578],[30.318,9.311]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":28,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[178.451,17.578],"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 6","np":4,"cix":2,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[4.038,1.313],[0,0.587],[4.619,0],[1.057,-0.485],[8.328,0],[3.032,-4.798],[1.941,0],[0,-5.045],[-0.019,-0.236],[0,-6.324],[-7.496,0],[0,0],[0,5.584]],"o":[[0.114,-0.553],[0,-4.642],[-1.238,0],[-1.515,-7.927],[-6.072,0],[-1.475,-1.041],[-5.019,0],[0,0.241],[-5.808,1.547],[0,7.535],[0,0],[5.556,0],[0,-4.497]],"v":[[30.121,1.772],[30.296,0.061],[21.933,-8.344],[18.467,-7.581],[1.696,-21.501],[-12.726,-13.51],[-17.936,-15.166],[-27.025,-6.031],[-26.988,-5.318],[-37.082,7.856],[-23.51,21.501],[27.023,21.501],[37.082,11.389]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[387.882,97.702],"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 7","np":4,"cix":2,"ix":7,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[4.89,1.231],[0,2.922],[12.448,0],[3.63,-7.622],[3.085,0],[0,-8.534],[-0.029,-0.39],[0.106,0],[0,-7.229],[-7.192,0],[0,0],[0,6.247]],"o":[[1.002,-2.564],[0,-12.512],[-8.968,0],[-2.408,-1.573],[-8.491,0],[0,0.398],[-0.105,-0.002],[-7.192,0],[0,7.229],[0,0],[6.215,0],[0,-5.297]],"v":[[34.89,4.326],[36.461,-3.943],[13.922,-26.6],[-6.397,-13.699],[-14.758,-16.195],[-30.131,-0.743],[-30.072,0.436],[-30.385,0.421],[-43.407,13.51],[-30.385,26.6],[32.153,26.6],[43.407,15.288]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[204.97,46.37],"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 8","np":4,"cix":2,"ix":8,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[3.864,0.973],[0,2.308],[9.837,0],[2.868,-6.024],[2.438,0],[0,-6.744],[-0.023,-0.309],[0.084,0],[0,-5.712],[-5.683,0],[0,0],[0,4.937]],"o":[[0.792,-2.026],[0,-9.888],[-7.087,0],[-1.903,-1.244],[-6.709,0],[0,0.315],[-0.083,-0.002],[-5.683,0],[0,5.713],[0,0],[4.911,0],[0,-4.185]],"v":[[27.571,3.418],[28.813,-3.116],[11.002,-21.019],[-5.054,-10.825],[-11.661,-12.799],[-23.809,-0.588],[-23.762,0.344],[-24.01,0.331],[-34.3,10.675],[-24.01,21.019],[25.408,21.019],[34.3,12.08]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[74.011,377.794],"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 9","np":4,"cix":2,"ix":9,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":423.000017229143,"st":0,"bm":0}]},{"id":"comp_3","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"loading 2 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[-360]},{"t":899.000036617021}],"ix":10},"p":{"a":0,"k":[219.5,200.5,0],"ix":2},"a":{"a":0,"k":[219.5,200.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-13.817,-12.686],[-0.161,0.161],[-0.619,-0.249],[-0.372,0.747],[0.557,0.56],[-0.248,0.498],[0,0.499],[0.682,0.686],[1.61,0.872],[0.744,0.747],[0.62,0.872],[1.115,0.498],[0.868,0.872],[0.682,0.685],[0.992,0],[0.455,-0.595]],"o":[[0.366,-0.521],[0.42,-0.423],[0.62,0.249],[0.372,-0.748],[-0.558,-0.561],[0.247,-0.499],[0,-0.498],[-0.682,-0.685],[-1.612,-0.873],[-0.743,-0.748],[-0.62,-0.872],[-1.116,-0.499],[-0.867,-0.872],[-0.681,-0.685],[-0.475,0],[5.873,18.33]],"v":[[11.83,24.201],[12.704,23.046],[16.546,23.017],[18.034,21.024],[16.051,16.788],[16.299,13.798],[18.034,9.436],[15.307,5.077],[8.119,-0.155],[1.797,-4.516],[-2.045,-10.869],[-6.011,-13.112],[-8.738,-18.345],[-13.2,-21.709],[-16.918,-24.2],[-18.406,-23.034]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.481999984442,0.779999976065,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[134.939,259.809],"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":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.079,-0.079],[-0.246,-0.247],[-0.281,0.282],[-0.351,0.494],[-0.069,0.282],[0.633,0.141],[0.099,0.171],[0.673,-1.216]],"o":[[0.175,0.176],[0.246,0.247],[0.281,-0.283],[0.352,-0.495],[0.071,-0.283],[-0.135,-0.03],[-0.717,1.186],[0.231,0.013]],"v":[[-1.315,1.19],[-0.894,2.249],[-0.051,2.249],[0.862,0.344],[1.775,-1.281],[0.581,-2.199],[0.235,-2.531],[-1.846,1.076]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.481999984442,0.779999976065,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[126.84,148.991],"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":4,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.22,0],[-0.14,0.283],[-0.14,0.141],[-0.176,0.176],[0.07,0.283],[0.211,0.353],[0.405,0.177],[0.836,-1.85]],"o":[[0.421,0],[0.141,-0.282],[0.141,-0.141],[0.176,-0.176],[-0.071,-0.282],[-0.166,-0.281],[-0.935,1.793],[0.562,0.215]],"v":[[-1.029,2.926],[-0.327,1.938],[-0.257,0.243],[2.272,1.161],[1.992,-0.674],[1.429,-2.015],[0.214,-2.926],[-2.448,2.538]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.481999984442,0.779999976065,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[123.463,155.445],"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":4,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.479,-0.481],[0,-0.412],[-0.205,0.206],[0,0.344],[0,0.481],[0.342,0],[0,0]],"o":[[0.479,0.481],[0,0.413],[0.205,-0.206],[0,-0.344],[0,-0.481],[0,0],[-0.068,0.206]],"v":[[-0.956,-0.995],[-0.752,1.34],[0.068,2.302],[1.025,1.203],[1.436,-1.82],[0.82,-2.507],[-0.752,-2.507]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.481999984442,0.779999976065,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[209.388,194.4],"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 4","np":4,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.137,0.343],[0.359,-0.328],[0.068,-0.344],[-0.329,0]],"o":[[-0.137,-0.344],[0,0],[-0.068,0.343],[0.329,0]],"v":[[0.786,0.748],[0.102,-1.038],[-0.855,0.061],[-0.227,1.367]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.481999984442,0.779999976065,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[209.765,189.496],"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 5","np":4,"cix":2,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.41,-0.069],[-0.342,0],[0.136,0.137],[0.479,-0.138],[0.41,-0.619],[-0.41,-0.138]],"o":[[0.41,0.068],[0.341,0],[-0.137,-0.138],[0,0],[0,0],[0.41,0.136]],"v":[[-0.307,0.515],[1.606,0.927],[2.154,0.173],[0.512,-0.103],[-1.88,-0.309],[-1.88,0.653]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.481999984442,0.779999976065,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[235.393,203.88],"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 6","np":4,"cix":2,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.479,-0.137],[0,0],[0,0.413],[0.41,0],[0.342,0],[0,0],[-0.342,-0.069]],"o":[[0.479,0.137],[0.957,-0.275],[0,-0.412],[-0.41,0],[-0.341,0],[0,0],[0.341,0.069]],"v":[[0.205,0.549],[1.435,1.443],[2.324,-0.275],[1.435,-1.305],[-0.957,-1.442],[-2.392,-1.03],[-1.572,-0.206]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.481999984442,0.779999976065,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[217.59,199.587],"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 7","np":4,"cix":2,"ix":7,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.544,0.21],[0,0.799],[0.293,0.546],[0.669,-0.042],[0.209,0.294],[0.334,-0.337],[0.502,-0.169],[-0.137,-0.137],[1.004,0.042],[0.167,-0.378],[-0.167,-0.252],[-0.065,-0.252],[0,0],[0,0],[0.23,-0.231],[-0.209,-0.505],[-0.376,0],[-0.419,0.421],[-0.878,0],[-0.418,0.126],[-0.168,0.505],[-0.041,0.421],[0.125,0.463]],"o":[[0.543,-0.21],[0,-0.799],[-0.293,-0.547],[-0.669,0.042],[-0.209,-0.294],[-0.188,0.189],[-0.502,0.168],[0.136,0.137],[-1.004,-0.042],[-0.167,0.378],[0.168,0.252],[0.064,0.252],[0,0],[0,0],[-0.23,0.231],[0.209,0.504],[0.377,0],[0.418,-0.42],[0.879,0],[0.418,-0.126],[0.167,-0.504],[0.042,-0.42],[-0.126,-0.463]],"v":[[2.615,-1.43],[3.576,-2.061],[3.451,-3.532],[2.572,-4.289],[1.317,-3.995],[-0.021,-4.415],[-0.816,-3.49],[-1.276,-2.419],[-1.151,-1.682],[-2.991,-1.598],[-3.033,-0.505],[-3.139,0.168],[-2.531,0.924],[-2.74,1.808],[-3.326,2.691],[-3.535,3.784],[-3.075,4.709],[-1.569,4.33],[-0.482,3.405],[1.401,3.027],[2.238,2.312],[2.53,0.924],[2.405,-0.505]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.481999984442,0.779999976065,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[183.841,165.018],"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 8","np":4,"cix":2,"ix":8,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.14,0.635],[-0.14,0.847],[0.386,0.388],[0,0.212],[-0.14,0.424],[-0.351,0.353],[-0.07,0.353],[0.14,0.706],[-0.176,0.177],[-0.07,-0.283],[-0.141,-0.353],[0,0],[-0.457,0.459],[-0.211,0.353],[0.351,-0.141],[0.562,0.071],[0.211,0.211],[-0.176,0.176],[0.421,0],[0.211,-0.353],[0.211,-0.212],[-0.07,0.423],[-0.141,0.424],[-0.597,0.6],[-0.632,0.283],[-0.421,0.211],[-0.351,0.494],[-0.246,0.247],[0,0.442],[0.211,0.565],[0.731,0.494],[-0.141,0.424],[0,0.283],[0.28,0.282],[0.312,-0.313],[0.352,0.07],[-0.141,0.424],[0.07,0.212],[0.159,-0.015],[0,-15.127],[-0.033,-1.1],[-0.36,0.726]],"o":[[0.139,-0.636],[0.14,-0.847],[-0.387,-0.388],[0,-0.211],[0.14,-0.423],[0.351,-0.354],[0.071,-0.353],[-0.141,-0.707],[0.176,-0.176],[0.071,0.282],[0.14,0.353],[0,0],[0.456,-0.459],[0.21,-0.353],[-0.351,0.141],[-0.562,-0.07],[-0.21,-0.212],[0.175,-0.177],[-0.421,0],[-0.211,0.353],[-0.21,0.212],[0.071,-0.424],[0.141,-0.424],[0.597,-0.6],[0.632,-0.282],[0.422,-0.212],[0.352,-0.494],[0.246,-0.247],[0,-0.443],[-0.21,-0.565],[-0.731,-0.494],[0.14,-0.424],[0,-0.282],[-0.281,-0.282],[-0.312,0.314],[-0.351,-0.071],[0.14,-0.423],[-0.025,-0.073],[-5.521,13.103],[0,1.107],[0.262,-0.377],[0.632,-1.27]],"v":[[-7.011,19.531],[-6.378,16.989],[-6.869,15.506],[-6.729,14.235],[-5.816,12.823],[-5.465,10.776],[-3.709,9.152],[-3.568,6.822],[-2.023,4.915],[-0.899,4.421],[-0.828,5.974],[0.085,5.339],[1.63,3.503],[2.965,2.514],[2.403,2.02],[0.787,1.949],[-0.197,0.114],[0.717,-2.075],[-0.056,-2.923],[-1.531,-1.299],[-2.655,0.961],[-2.936,-0.451],[-2.093,-3.064],[-0.688,-4.688],[1.068,-5.465],[3.807,-5.888],[5.282,-8.077],[7.671,-9.419],[8.233,-10.991],[7.6,-13.373],[4.762,-15.844],[4.44,-17.609],[4.931,-20.01],[3.878,-21.916],[2.543,-20.937],[1.208,-19.515],[0.647,-20.716],[0.647,-22.905],[0.343,-22.967],[-8.233,19.673],[-8.179,22.982],[-7.221,21.366]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.481999984442,0.779999976065,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[119.54,183.536],"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 9","np":4,"cix":2,"ix":9,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.374,-0.15],[0,-0.376],[0.149,-0.528],[-0.599,0],[-0.525,0.15],[-0.3,0.602],[-0.299,0.452],[0,0.602],[0.899,-0.452],[1.198,-0.828],[0.674,-0.301],[0,-0.376],[-0.149,-0.301]],"o":[[-0.375,0.15],[0,0.377],[-0.151,0.526],[0.599,0],[0.523,-0.151],[0.299,-0.602],[0.3,-0.452],[0,-0.602],[0,0],[-1.198,0.827],[-0.674,0.301],[0,0.376],[0.149,0.302]],"v":[[-4.004,3.273],[-5.277,4.552],[-4.902,6.585],[-3.78,7.788],[-1.234,7.036],[2.358,1.844],[4.229,-3.122],[5.277,-5.003],[4.229,-7.335],[2.358,-4.401],[-1.16,-2.595],[-3.481,-0.714],[-3.256,1.317]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.481999984442,0.779999976065,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[262.589,286.337],"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 10","np":4,"cix":2,"ix":10,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.219,-0.514],[0.145,-0.146],[-0.584,-0.22],[-0.072,-0.806],[0,-0.513],[0.658,-0.147],[0.657,0.294],[0,0.367],[-0.145,0.293],[0.219,0.586],[0.438,0.953],[0.146,0.733],[0.364,0.366],[-0.511,0.514],[-0.548,0.55],[-1.167,0],[-1.022,0.366],[-0.366,-0.66],[-0.147,-0.807],[-0.729,-0.147],[0.219,-0.514],[0,0],[0.292,0.66],[0.511,0.073],[0.218,-0.367],[-0.146,-0.44],[0,-0.514],[-0.73,-0.22],[-0.219,-0.366],[-0.219,-0.367],[-0.328,0.33],[-0.219,-0.44]],"o":[[-0.219,0.513],[-0.147,0.147],[0.584,0.22],[0.073,0.807],[0,0.513],[-0.656,0.146],[-0.657,-0.293],[0,-0.367],[0.146,-0.293],[-0.219,-0.587],[-0.438,-0.953],[-0.146,-0.733],[-0.365,-0.367],[0.51,-0.513],[0.547,-0.55],[1.167,0],[1.021,-0.367],[0.364,0.66],[0.145,0.806],[0.73,0.147],[-0.219,0.513],[-0.073,-1.027],[-0.292,-0.659],[-0.51,-0.073],[-0.219,0.367],[0.146,0.44],[0,0.513],[0.729,0.22],[0.219,0.367],[0.219,0.366],[0.328,-0.33],[0.219,0.44]],"v":[[31.062,-18.783],[28.655,-18.856],[29.311,-17.902],[30.478,-15.336],[30.406,-11.082],[28.508,-10.495],[24.204,-11.889],[23.329,-13.429],[23.839,-16.802],[24.569,-19.076],[21.286,-23.329],[21.067,-26.262],[19.681,-27.142],[21.578,-29.416],[23.183,-30.882],[25.298,-31.469],[27.706,-32.642],[28.874,-31.762],[29.166,-29.562],[30.478,-29.049],[30.77,-28.095],[29.457,-26.63],[28.363,-28.316],[26.684,-28.462],[26.247,-27.362],[25.736,-26.555],[26.174,-25.455],[27.195,-23.77],[28.363,-22.229],[28.363,-20.542],[29.603,-21.716],[30.916,-20.322]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[17.287,19.368],[0.068,0.023],[0.236,-0.238],[-0.052,-0.476],[-0.183,-0.185],[0.132,0.132],[0.236,0.237],[0.262,-0.106],[0.211,0],[0,0.529],[0.052,-0.158],[0,0],[-0.132,-0.132],[-0.316,-0.159],[-0.052,-0.369],[0.105,-0.211],[0.157,0.159],[-0.105,0.317],[0.053,0.158],[0,0],[-0.106,0.317],[0.159,0.158],[0.368,0],[0.211,-0.211],[0,-0.528],[0.21,-0.211],[-0.21,-0.211],[0.236,-0.237],[-0.342,-0.343],[0,0],[2.863,1.466],[0.918,0.434],[2.647,0.326],[0.055,0.327],[0.055,0.435],[0.918,0.271],[1.08,0.272],[0.378,0.76],[-0.216,0.869],[-0.432,0.435],[-1.135,0.434],[-1.135,0],[-0.324,0.109],[0.054,0.326],[0.432,0],[1.188,0.109],[0.703,-0.109],[1.026,0.109],[0.486,-0.217],[0.135,-0.136],[0.162,-0.543],[0.189,-0.19],[0.378,-0.598],[0.324,-0.815],[-0.756,-0.325],[0.595,-0.109],[-0.378,-0.706],[-0.27,-1.249],[0.35,-0.353],[0.378,0.815],[-0.055,-0.38],[0.216,-0.217],[0.27,0.271],[0.433,-0.217],[0.053,-0.217],[0.109,-0.108],[0.379,0.108],[0.162,-0.272],[-0.431,-0.163],[0.189,-0.189],[0.595,0.163],[0.757,0.435],[0,0.434],[-0.162,0.814],[0.216,0.434],[-0.432,0],[-0.648,-0.163],[-0.919,-0.326],[-0.486,0],[-0.325,0.435],[-0.107,0.489],[0.243,0.244],[0.649,0.38],[0.27,0.108],[0.27,0],[0.135,0.136],[0.81,-0.108],[0.324,0.054],[-0.324,0.162],[-0.298,0.298],[0.324,0.326],[0.702,0],[0.324,0.163],[0.405,-0.408],[0.216,-0.054],[0.27,0.055],[0.325,0],[0.379,-0.217],[0.864,-0.488],[1.08,-0.163],[1.188,-0.435],[0.622,-0.624],[0.676,-0.679],[0.433,-0.76],[0.405,-0.407],[0.54,-0.326],[0.27,-0.651],[-0.054,-0.76],[-0.595,-0.109],[-0.919,0.217],[-0.243,0.244],[-0.648,-0.163],[-0.054,-0.597],[-0.487,-0.489],[-0.27,-0.706],[-0.54,0],[-0.162,0.326],[-0.756,0.163],[-0.486,0.489],[-0.054,1.25],[-0.109,0.761],[-0.487,0.326],[-0.108,0.488],[0,0.272],[0.162,0.163],[0.378,0.108],[0.298,0.299],[0,0.489],[-0.54,0.923],[-0.595,0.381],[-0.486,0.109],[0.216,0.326],[-0.324,0.543],[-0.866,0.271],[-0.54,-0.325],[-0.108,-0.434],[0.323,-0.327],[0.459,-0.462],[0.648,-0.651],[0.188,-0.19],[-0.216,-0.434],[-0.324,-0.163],[-0.702,-0.435],[-0.81,0.054],[-0.81,0.163],[-0.378,0.163],[-0.324,-0.325],[0,-0.434],[0.323,0],[0.648,0],[0.648,0],[0.135,-0.136],[-0.217,-0.325],[-0.593,-0.109],[0.109,-0.489],[0.324,-0.163],[0.136,0.135],[0.19,-0.19],[0.108,-0.597],[-0.054,-0.217],[0.433,0],[0.162,-0.38],[0.378,0],[0.136,0.136],[0.163,-0.162],[0.27,-0.271],[0.54,-0.163],[-0.054,-0.435],[0.216,0.217],[0.109,0.109],[0.324,0],[0.27,-0.109],[0.107,0.489],[0.216,0.217],[0.054,0.434],[-0.243,0.245],[-0.107,0.272],[-0.055,0.325],[0.136,-0.136],[0.54,-0.109],[0.378,-0.489],[0.053,-0.652],[-0.297,-0.298],[-0.108,-0.326],[0.27,-0.543],[0.486,0.108],[0.325,0],[0.593,-0.163],[0.325,-0.435],[0.216,-0.543],[0.756,-0.271],[0.217,-0.326],[0.162,-0.272],[0.271,0],[0.108,-0.271],[0.163,0.163],[0.27,-0.054],[-0.162,-0.327],[0.122,-0.122],[0.324,0.109],[0.324,-0.108],[0.216,-0.326],[0,-0.434],[-0.594,-0.434],[-0.54,0],[-0.215,-0.652],[-0.297,-0.298],[0.054,-0.652],[0.487,-0.325],[1.08,0],[0.649,0.217],[0.378,-0.109],[0.216,-0.217],[0,0],[-0.27,-0.924],[0,-1.086],[0.162,-0.434],[-0.594,-0.706],[-0.108,-0.271],[-0.324,-0.326],[-0.487,-0.108],[-0.189,0.19],[-0.432,-0.055],[0,0.434],[-0.756,0.435],[-0.216,0.434],[0.108,0.489],[-0.27,0.815],[-0.648,0.272],[-0.324,0.543],[0,1.086],[-0.27,0.271],[-0.54,0],[-0.756,0.597],[-0.486,0],[-0.432,-0.651],[-0.297,-0.299],[-0.594,-0.434],[-0.324,-0.326],[-0.405,-0.407],[-0.053,-0.543],[0,-0.163],[-0.378,0],[-0.216,0.543],[-0.162,0.49],[0,0.271],[0.459,0.461],[-0.163,0.38],[-0.431,-0.054],[-0.162,-0.271],[0,0],[0.297,0.299],[0.594,0.327],[0.513,0.516],[0.594,0.598],[0.27,0.652],[0.702,0.543],[-0.054,1.032],[-0.811,0.163],[-0.108,-0.272],[-0.324,0.326],[-0.27,-0.597],[-0.216,-0.488],[-0.972,-0.217],[-0.433,-0.434],[-0.108,-0.977],[-0.432,-0.108],[-0.054,-0.598],[-0.486,-0.272],[0.054,-0.543],[-0.702,-0.163],[-0.216,-0.217],[-0.162,0.272],[-0.109,0.651],[-0.217,0.218],[0.379,0.101],[-0.216,0.326],[0.379,0.489],[-0.108,0.217],[-0.431,-0.055],[-0.054,0.38],[-1.027,0],[-0.379,-0.38],[-0.703,0.49],[-0.541,0],[0.431,0.434],[0.325,0.489],[-0.595,0.598],[-0.162,0.325],[-0.648,0.163],[0.162,0.706],[-0.595,0.38],[-0.702,-0.217],[-0.405,-0.407],[-0.217,-0.434],[-0.055,-0.381],[-0.432,-0.272],[-0.217,0.217],[-0.271,0.272],[0.594,0.38],[-0.162,0.38],[-1.297,0.218],[-0.595,-0.217],[0.271,-0.272],[0.378,0],[0,-0.488],[0.055,-0.217],[-0.486,-0.163],[-0.485,-0.326],[-0.161,-1.574],[0.648,-0.218],[1.189,0.271],[0.716,0.239],[0.299,-0.3],[0.477,0],[0.716,-0.119],[0.478,-0.479],[-0.477,0],[-0.238,-0.839],[-0.835,0],[-0.954,-0.599],[-1.669,0.719],[-0.477,0],[0,-1.079],[0.477,-1.438],[0.954,-0.6],[1.074,0.24],[0.596,-0.6],[1.192,0.24],[0.657,0.659],[1.075,-0.599],[0,-0.6],[1.193,0.359],[0.716,0.719],[1.551,0.36],[0.358,1.439],[-0.357,0.6],[0.716,0],[1.192,-0.36],[1.074,0],[0.835,-0.479],[1.073,0],[0.358,-0.36],[1.312,-1.318],[0.239,-0.48],[0.358,-1.799],[1.073,-1.078],[0.239,-1.079],[0,-1.078],[-0.358,-2.279],[0,-0.96],[-1.074,-1.439],[-0.835,-0.839],[-0.477,0],[-1.312,0],[-1.192,0],[-1.193,-0.359],[-1.67,0.24],[-0.656,-0.66],[-1.431,0],[-1.431,-1.678],[0,-0.959],[-1.55,-1.798],[-0.358,-0.959],[0.239,-1.319],[0,-0.6],[-0.835,-1.799],[-0.358,-1.559],[-1.313,-0.36],[-0.596,-1.079],[-0.476,-0.48],[-1.073,0],[-1.67,0.72],[-0.955,0.959],[0,0],[-0.656,0.659],[0,0.839],[-0.775,0.779],[-1.133,1.14],[0,0.839],[0,0.839],[0,0.481],[-0.835,1.319],[-1.073,1.079],[-1.312,1.559],[-0.238,0.839],[0,0],[0.597,0],[0.596,-0.6],[0.418,0.42],[0.417,0.42],[0.477,0],[0.358,0.72],[0.239,0.72],[0.716,0.72],[0,0.839],[0.536,0.539],[0.238,0.599],[0.477,0.72],[-0.358,0],[0,0],[0,0],[-0.476,-0.479],[-0.597,-0.839],[0,-0.36],[-0.537,-0.539],[-0.477,-1.318],[0,-1.199],[0,0],[-0.357,0.359],[-0.597,0],[-1.073,0.599],[-0.835,0.479],[0,0],[0.418,0.419],[0.716,0.359],[0,0],[0.835,-0.241],[0,0],[0.299,-0.299],[0.536,0.539],[0,0.838],[-1.193,0],[-0.298,-0.3],[-0.715,-0.719],[-1.194,0],[0,0],[-0.716,-0.24],[-1.075,0],[0,0],[-0.537,-0.539],[0.358,-0.36],[0,-0.839],[-0.716,0],[0,0],[0.238,-1.079],[-1.073,-1.798],[0,0],[-0.298,0.3],[0,-0.239],[-0.596,0.6],[0,0],[0,0.48],[0,0.359],[-1.074,0.72],[-0.656,0.66],[0,0],[-0.239,-0.6],[0.358,-0.6],[-0.478,0],[0,0],[0,0],[0,-0.599],[-0.358,-1.079],[-0.002,-0.007],[-0.176,0.457],[0,0.152],[0,0],[0,0],[-0.835,-0.36],[-0.088,-0.109],[0,11.336]],"o":[[-0.124,-0.059],[-0.314,-0.105],[-0.237,0.238],[0.052,0.475],[0.185,0.185],[-0.131,-0.133],[-0.238,-0.238],[-0.263,0.106],[-0.21,0],[0,-0.528],[-0.053,0.159],[0,0],[0.131,0.132],[0.315,0.158],[0.053,0.371],[-0.105,0.212],[-0.158,-0.158],[0.106,-0.317],[-0.052,-0.159],[0,0],[0.104,-0.317],[-0.157,-0.159],[-0.368,0],[-0.21,0.212],[0,0.528],[-0.211,0.212],[0.211,0.211],[-0.237,0.238],[0.341,0.343],[-0.108,0.271],[-2.864,-1.466],[-0.919,-0.435],[-2.648,-0.325],[-0.053,-0.325],[-0.053,-0.434],[-0.919,-0.272],[-1.081,-0.271],[-0.378,-0.761],[0.216,-0.869],[0.433,-0.434],[1.135,-0.435],[1.134,0],[0.324,-0.108],[-0.054,-0.326],[-0.432,0],[-1.189,-0.108],[-0.703,0.109],[-1.027,-0.109],[-0.485,0.217],[-0.135,0.136],[-0.162,0.543],[-0.188,0.19],[-0.378,0.597],[-0.324,0.814],[0.756,0.326],[-0.594,0.108],[0.378,0.706],[0.271,1.249],[-0.352,0.353],[-0.378,-0.815],[0.053,0.38],[-0.216,0.217],[-0.27,-0.272],[-0.432,0.218],[-0.054,0.217],[-0.108,0.109],[-0.378,-0.109],[-0.162,0.271],[0.433,0.163],[-0.189,0.19],[-0.595,-0.162],[-0.756,-0.434],[0,-0.435],[0.162,-0.815],[-0.216,-0.435],[0.433,0],[0.649,0.163],[0.918,0.326],[0.486,0],[0.324,-0.434],[0.108,-0.489],[-0.243,-0.245],[-0.648,-0.38],[-0.27,-0.109],[-0.27,0],[-0.135,-0.136],[-0.811,0.109],[-0.324,-0.055],[0.324,-0.163],[0.297,-0.299],[-0.324,-0.325],[-0.703,0],[-0.324,-0.164],[-0.405,0.407],[-0.215,0.055],[-0.271,-0.054],[-0.323,0],[-0.378,0.217],[-0.864,0.489],[-1.081,0.163],[-1.189,0.434],[-0.621,0.625],[-0.675,0.679],[-0.432,0.76],[-0.405,0.408],[-0.541,0.326],[-0.27,0.652],[0.054,0.76],[0.594,0.108],[0.918,-0.218],[0.243,-0.245],[0.648,0.163],[0.054,0.598],[0.485,0.489],[0.271,0.706],[0.54,0],[0.162,-0.326],[0.757,-0.162],[0.486,-0.489],[0.055,-1.249],[0.107,-0.76],[0.486,-0.325],[0.108,-0.489],[0,-0.271],[-0.162,-0.163],[-0.379,-0.109],[-0.297,-0.299],[0,-0.489],[0.54,-0.923],[0.595,-0.38],[0.486,-0.108],[-0.216,-0.326],[0.324,-0.543],[0.864,-0.272],[0.54,0.327],[0.108,0.435],[-0.324,0.325],[-0.459,0.461],[-0.649,0.652],[-0.19,0.19],[0.216,0.435],[0.324,0.163],[0.702,0.434],[0.811,-0.054],[0.811,-0.163],[0.378,-0.163],[0.324,0.326],[0,0.435],[-0.324,0],[-0.649,0],[-0.648,0],[-0.136,0.136],[0.216,0.326],[0.595,0.108],[-0.107,0.488],[-0.324,0.162],[-0.135,-0.136],[-0.189,0.19],[-0.108,0.597],[0.053,0.217],[-0.432,0],[-0.162,0.38],[-0.378,0],[-0.135,-0.136],[-0.162,0.163],[-0.27,0.272],[-0.54,0.163],[0.054,0.434],[-0.216,-0.218],[-0.107,-0.109],[-0.324,0],[-0.27,0.108],[-0.108,-0.489],[-0.216,-0.217],[-0.054,-0.434],[0.243,-0.244],[0.109,-0.271],[0.053,-0.326],[-0.135,0.136],[-0.541,0.109],[-0.378,0.488],[-0.054,0.651],[0.297,0.299],[0.108,0.326],[-0.27,0.543],[-0.486,-0.109],[-0.324,0],[-0.595,0.163],[-0.323,0.435],[-0.216,0.543],[-0.757,0.272],[-0.216,0.326],[-0.162,0.271],[-0.27,0],[-0.108,0.272],[-0.162,-0.163],[-0.27,0.055],[0.162,0.325],[-0.121,0.122],[-0.324,-0.108],[-0.324,0.109],[-0.216,0.325],[0,0.435],[0.595,0.435],[0.54,0],[0.217,0.651],[0.298,0.299],[-0.054,0.651],[-0.486,0.326],[-1.08,0],[-0.648,-0.217],[-0.378,0.109],[-0.216,0.217],[0,0],[0.27,0.923],[0,1.086],[-0.163,0.434],[0.594,0.706],[0.108,0.272],[0.324,0.326],[0.486,0.108],[0.189,-0.19],[0.433,0.054],[0,-0.435],[0.756,-0.435],[0.216,-0.435],[-0.108,-0.489],[0.27,-0.814],[0.649,-0.271],[0.325,-0.543],[0,-1.086],[0.27,-0.272],[0.541,0],[0.757,-0.598],[0.486,0],[0.432,0.652],[0.297,0.298],[0.594,0.435],[0.324,0.326],[0.405,0.407],[0.055,0.543],[0,0.164],[0.378,0],[0.217,-0.543],[0.162,-0.488],[0,-0.272],[-0.459,-0.462],[0.162,-0.38],[0.433,0.055],[0.163,0.272],[0,0],[-0.298,-0.299],[-0.595,-0.325],[-0.513,-0.515],[-0.595,-0.597],[-0.27,-0.651],[-0.702,-0.543],[0.054,-1.032],[0.81,-0.163],[0.108,0.271],[0.325,-0.326],[0.27,0.597],[0.217,0.489],[0.973,0.217],[0.431,0.435],[0.107,0.978],[0.432,0.109],[0.053,0.597],[0.486,0.272],[-0.054,0.543],[0.703,0.163],[0.217,0.217],[0.162,-0.272],[0.108,-0.652],[0.215,-0.217],[-0.378,-0.101],[0.215,-0.326],[-0.378,-0.488],[0.108,-0.217],[0.433,0.054],[0.054,-0.38],[1.026,0],[0.377,0.38],[0.703,-0.488],[0.54,0],[-0.433,-0.435],[-0.324,-0.489],[0.593,-0.597],[0.162,-0.326],[0.649,-0.163],[-0.162,-0.706],[0.593,-0.38],[0.702,0.217],[0.406,0.407],[0.216,0.435],[0.054,0.38],[0.432,0.271],[0.216,-0.218],[0.27,-0.271],[-0.595,-0.38],[0.162,-0.38],[1.297,-0.217],[0.593,0.218],[-0.269,0.271],[-0.379,0],[0,0.489],[-0.053,0.217],[0.487,0.163],[0.486,0.326],[0.162,1.576],[-0.648,0.217],[-1.188,-0.272],[-0.715,-0.24],[-0.298,0.299],[-0.477,0],[-0.716,0.12],[-0.477,0.48],[0.478,0],[0.24,0.839],[0.835,0],[0.954,0.6],[1.67,-0.72],[0.477,0],[0,1.079],[-0.477,1.44],[-0.954,0.598],[-1.073,-0.24],[-0.597,0.6],[-1.193,-0.24],[-0.655,-0.659],[-1.073,0.6],[0,0.6],[-1.192,-0.361],[-0.715,-0.719],[-1.551,-0.359],[-0.358,-1.439],[0.358,-0.599],[-0.716,0],[-1.193,0.36],[-1.073,0],[-0.834,0.48],[-1.074,0],[-0.357,0.359],[-1.312,1.32],[-0.238,0.48],[-0.358,1.798],[-1.073,1.08],[-0.238,1.078],[0,1.08],[0.357,2.278],[0,0.959],[1.073,1.439],[0.835,0.84],[0.477,0],[1.312,0],[1.193,0],[1.193,0.361],[1.67,-0.24],[0.656,0.659],[1.431,0],[1.431,1.679],[0,0.959],[1.551,1.799],[0.358,0.959],[-0.239,1.318],[0,0.6],[0.835,1.798],[0.358,1.558],[1.311,0.36],[0.596,1.079],[0.478,0.479],[1.073,0],[1.669,-0.719],[0.954,-0.96],[0,0],[0.656,-0.659],[0,-0.839],[0.776,-0.779],[1.133,-1.139],[0,-0.84],[0,-0.839],[0,-0.479],[0.835,-1.319],[1.074,-1.079],[1.312,-1.559],[0.239,-0.84],[0,0],[-0.596,0],[-0.596,0.599],[-0.417,-0.42],[-0.418,-0.42],[-0.477,0],[-0.358,-0.72],[-0.238,-0.72],[-0.716,-0.72],[0,-0.84],[-0.537,-0.54],[-0.239,-0.599],[-0.477,-0.719],[0.358,0],[0,0],[0,0],[0.478,0.48],[0.596,0.839],[0,0.359],[0.536,0.54],[0.478,1.319],[0,1.199],[0,0],[0.358,-0.36],[0.596,0],[1.074,-0.599],[0.835,-0.48],[0,0],[-0.417,-0.42],[-0.716,-0.36],[0,0],[-0.835,0.239],[0,0],[-0.298,0.3],[-0.537,-0.54],[0,-0.84],[1.193,0],[0.298,0.299],[0.716,0.719],[1.192,0],[0,0],[0.716,0.239],[1.073,0],[0,0],[0.537,0.54],[-0.358,0.36],[0,0.84],[0.714,0],[0,0],[-0.238,1.08],[1.073,1.799],[0,0],[0.298,-0.299],[0,0.24],[0.597,-0.6],[0,0],[0,-0.48],[0,-0.36],[1.073,-0.72],[0.656,-0.659],[0,0],[0.239,0.6],[-0.357,0.599],[0.476,0],[0,0],[0,1.079],[0,0.6],[0.002,0.007],[0.181,-0.455],[-0.098,-0.522],[0,0],[0,-0.838],[0,0],[0.13,0.056],[3.184,-10.283],[0,-28.068]],"v":[[51.736,-81.983],[51.435,-82.115],[50.49,-82.062],[50.542,-81.111],[51.382,-80.319],[50.647,-79.896],[49.702,-80.477],[48.283,-80.319],[48.387,-79.051],[46.968,-80.425],[46.496,-81.534],[45.498,-81.111],[45.445,-80.214],[46.443,-79.262],[46.758,-77.467],[46.338,-75.671],[45.235,-75.988],[45.129,-77.942],[44.551,-79.685],[43.658,-80.583],[43.816,-82.485],[43.132,-83.488],[41.556,-84.016],[40.294,-84.546],[40.084,-82.643],[38.824,-82.168],[39.191,-80.847],[39.402,-79.844],[40.663,-77.889],[41.251,-76.796],[37.74,-78.153],[35.525,-79.402],[32.121,-79.837],[31.634,-81.033],[31.256,-82.335],[29.204,-83.312],[27.205,-84.073],[26.07,-85.81],[26.232,-87.711],[26.772,-89.178],[28.555,-90.318],[35.579,-91.404],[38.226,-91.676],[37.902,-92.436],[36.119,-92.925],[33.04,-93.251],[30.338,-93.142],[27.313,-92.979],[25.313,-92.654],[24.233,-91.947],[23.531,-90.861],[22.936,-90.102],[22.18,-88.797],[20.559,-86.516],[22.504,-84.943],[20.559,-84.344],[18.668,-83.149],[19.046,-80.651],[16.832,-78.589],[13.86,-78.153],[12.996,-77.61],[14.4,-75.492],[12.455,-76.253],[9.267,-75.927],[7.539,-74.623],[7.376,-72.615],[3.756,-74.514],[2.676,-73.754],[3.918,-72.559],[4.567,-71.365],[2.352,-71.528],[-0.133,-72.777],[-0.673,-73.809],[-0.62,-75.709],[-1.376,-77.012],[-1.268,-77.882],[0.461,-77.61],[2.623,-76.741],[5.972,-76.198],[8.079,-76.633],[8.727,-78.099],[7.863,-79.999],[4.135,-81.466],[-1.268,-83.909],[-3.591,-84.073],[-3.321,-85.159],[-5.806,-85.159],[-8.183,-85.43],[-8.237,-86.353],[-6.724,-86.68],[-7.697,-87.44],[-10.074,-87.386],[-10.615,-88.471],[-12.181,-87.766],[-13.208,-87.82],[-14.342,-87.386],[-14.451,-88.526],[-15.801,-88.201],[-17.53,-87.06],[-19.907,-86.734],[-22.878,-85.81],[-27.039,-83.421],[-31.199,-79.783],[-33.414,-76.253],[-35.899,-73.483],[-42.76,-68.812],[-44.597,-67.346],[-44.597,-60.123],[-42.922,-58.439],[-40.491,-58.439],[-37.79,-61.643],[-36.277,-61.915],[-35.737,-59.906],[-35.358,-57.679],[-33.198,-54.095],[-32.441,-52.574],[-31.469,-52.954],[-29.686,-54.421],[-27.633,-55.344],[-27.309,-57.572],[-27.092,-59.526],[-25.417,-61.318],[-23.959,-62.512],[-24.175,-63.219],[-24.769,-63.653],[-25.742,-64.141],[-26.823,-65.229],[-27.254,-66.531],[-26.174,-68.975],[-23.689,-71.528],[-20.285,-72.94],[-20.393,-73.754],[-19.961,-75.655],[-17.421,-76.958],[-15.044,-76.633],[-13.964,-74.895],[-14.774,-74.352],[-16.017,-73.048],[-18.34,-71.039],[-20.393,-69.681],[-20.177,-68.921],[-19.637,-64.686],[-18.178,-63.598],[-15.369,-63.49],[-11.911,-64.25],[-8.994,-64.74],[-8.021,-63.816],[-6.67,-62.567],[-9.263,-62.35],[-11.046,-61.806],[-14.126,-61.97],[-16.395,-61.535],[-16.233,-60.069],[-14.991,-59.199],[-14.991,-57.408],[-15.855,-55.995],[-17.476,-57.354],[-19.205,-57.679],[-19.961,-55.725],[-20.177,-52.031],[-21.528,-51.434],[-22.987,-50.565],[-24.067,-50.186],[-25.148,-50.945],[-26.499,-50.729],[-28.119,-49.859],[-30.172,-49.37],[-30.496,-48.229],[-31.523,-48.501],[-32.604,-49.859],[-34.116,-50.076],[-35.845,-48.936],[-36.709,-50.24],[-38.06,-50.783],[-38.222,-52.194],[-37.304,-53.552],[-36.602,-54.638],[-37.195,-56.158],[-37.574,-57.299],[-38.924,-56.757],[-40.545,-55.615],[-41.031,-53.824],[-40.275,-52.466],[-39.681,-51.162],[-40.113,-48.827],[-41.788,-48.393],[-42.977,-47.632],[-45.299,-47.199],[-46.813,-45.677],[-47.569,-43.342],[-50.216,-42.311],[-51.513,-41.604],[-51.891,-39.594],[-53.404,-39.486],[-53.728,-38.4],[-55.187,-38.237],[-56.429,-39.052],[-56.699,-38.182],[-56.916,-36.689],[-58.266,-36.608],[-59.887,-36.608],[-61.021,-36.337],[-61.129,-35.359],[-59.887,-34.327],[-57.942,-34.11],[-57.078,-32.48],[-55.781,-31.177],[-55.781,-28.408],[-57.078,-25.149],[-59.725,-24.931],[-63.345,-25.529],[-65.56,-25.04],[-66.856,-25.203],[-68.423,-24.443],[-68.153,-23.085],[-68.207,-18.306],[-68.963,-16.188],[-68.369,-14.667],[-68.045,-11.844],[-64.371,-11.41],[-63.128,-10.16],[-61.994,-10.867],[-58.645,-10.811],[-57.564,-11.464],[-56.375,-12.821],[-54.484,-14.776],[-54.484,-16.405],[-53.782,-18.904],[-51.513,-20.75],[-49.082,-22.108],[-49.514,-24.117],[-47.947,-25.583],[-45.354,-24.714],[-43.841,-25.094],[-39.627,-27.375],[-37.844,-25.529],[-35.575,-22.596],[-31.793,-20.153],[-30.658,-18.306],[-29.146,-17.22],[-28.66,-15.591],[-28.984,-13.636],[-28.227,-13.311],[-27.471,-13.908],[-27.147,-15.211],[-26.552,-16.405],[-27.201,-17.274],[-27.254,-18.74],[-25.959,-18.632],[-25.04,-17.546],[-24.284,-18.089],[-24.769,-19.066],[-26.876,-20.153],[-28.713,-21.565],[-31.09,-23.303],[-32.063,-25.258],[-34.224,-26.669],[-34.386,-29.059],[-32.711,-30.688],[-32.063,-29.493],[-31.037,-29.602],[-29.848,-28.354],[-28.984,-25.692],[-26.661,-24.66],[-22.932,-21.945],[-22.608,-19.555],[-21.96,-16.949],[-20.879,-16.079],[-19.475,-14.233],[-19.961,-12.658],[-18.665,-11.3],[-17.476,-10.594],[-16.935,-11.083],[-16.503,-12.929],[-15.422,-13.636],[-16.288,-14.551],[-16.881,-15.862],[-17.314,-17.383],[-17.692,-18.849],[-16.666,-18.36],[-16.017,-19.339],[-13.045,-19.772],[-11.586,-18.632],[-10.128,-19.61],[-8.399,-20.098],[-7.588,-20.858],[-9.534,-22.759],[-9.209,-24.823],[-8.021,-26.832],[-6.617,-28.354],[-6.508,-29.711],[-5.049,-32.046],[-2.186,-32.372],[-1.7,-31.177],[-0.241,-30.634],[-0.889,-29.167],[0.137,-28.19],[1.272,-27.701],[3.271,-29.059],[1.974,-29.928],[1.866,-31.829],[5.053,-32.752],[8.62,-33.404],[7.214,-31.938],[6.783,-30.852],[6.404,-29.548],[5.593,-28.733],[6.512,-28.027],[11.104,-24.497],[12.779,-22.108],[10.564,-19.936],[5.972,-19.882],[2.043,-22.579],[-1.774,-21.62],[-4.994,-20.421],[-6.425,-19.104],[-10.481,-17.904],[-10.481,-16.945],[-10.243,-12.868],[-6.187,-9.751],[-2.966,-10.59],[0.85,-10.35],[3.713,-11.189],[4.071,-8.552],[3.117,-3.277],[0.135,-0.158],[-4.279,-0.279],[-7.26,0.201],[-11.554,-0.039],[-15.372,-1.598],[-20.501,-2.438],[-22.05,1.28],[-25.152,0.921],[-29.208,-1.358],[-33.024,-3.158],[-37.795,-5.554],[-36.603,-8.552],[-38.153,-11.91],[-43.043,-11.549],[-49.723,-10.83],[-54.375,-9.751],[-58.549,-8.192],[-63.917,-8.791],[-65.706,-5.436],[-69.165,-2.798],[-70.119,2.359],[-73.22,4.635],[-76.202,9.913],[-79.542,16.266],[-78.11,24.42],[-79.065,28.976],[-74.651,34.37],[-71.073,40.725],[-66.183,44.922],[-63.678,45.882],[-60.1,44.802],[-56.402,45.521],[-51.631,43.603],[-45.906,44.323],[-42.805,46.841],[-38.511,48.159],[-38.988,55.953],[-34.933,59.909],[-32.189,67.582],[-32.547,70.699],[-34.694,75.616],[-32.905,79.332],[-30.4,85.327],[-27.895,87.844],[-25.629,90.962],[-23.244,92.88],[-17.637,92.16],[-11.912,89.763],[-7.379,86.286],[-5.829,83.409],[-2.37,81.729],[-3.205,78.612],[-0.581,75.854],[4.667,72.617],[6.099,67.703],[5.263,63.385],[5.383,60.388],[7.649,56.792],[13.732,50.557],[19.458,44.323],[24.109,36.769],[24.467,34.01],[20.054,35.57],[16.595,36.41],[14.329,35.689],[13.255,33.532],[10.273,29.814],[8.484,28.736],[7.172,23.939],[5.025,22.861],[4.548,17.226],[2.64,14.948],[0.97,10.392],[-1.416,5.236],[-1.416,3.558],[0.97,5.956],[1.924,4.038],[4.309,9.193],[6.099,12.79],[8.842,17.586],[8.842,19.624],[12.42,24.898],[13.852,28.976],[14.209,32.691],[15.879,31.614],[19.816,30.415],[22.797,28.495],[27.21,26.458],[36.157,16.027],[36.633,13.989],[33.89,11.711],[32.458,10.392],[29.119,12.551],[26.853,12.43],[25.779,10.991],[24.229,10.392],[21.843,2.839],[24.109,1.519],[25.541,2.839],[27.449,5.836],[30.074,7.394],[33.89,6.915],[35.56,9.312],[39.616,10.152],[46.175,9.312],[47.249,12.189],[49.754,13.629],[48.442,14.708],[49.874,16.385],[52.378,14.468],[51.901,21.301],[52.974,27.176],[54.763,34.491],[56.791,32.092],[56.791,35.57],[58.103,35.57],[57.268,30.535],[57.865,28.495],[58.938,23.461],[62.159,19.743],[65.737,13.148],[69.434,11.111],[70.508,14.948],[70.269,18.545],[70.747,19.984],[72.178,18.185],[72.178,21.782],[70.747,27.057],[71.701,31.853],[71.706,31.872],[72.243,30.505],[72.058,29.336],[72.058,26.098],[73.251,22.141],[74.325,23.34],[74.643,23.601],[79.542,-8.951]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.481999984442,0.779999976065,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[249.445,212.16],"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 11","np":6,"cix":2,"ix":11,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.076,-0.152],[-0.566,0.228],[-0.792,-0.455],[-0.792,0.796],[-1.132,0.683],[-1.019,0.683],[0,0.569],[0.679,0.341],[0,0],[0.202,-0.05],[0.378,-0.077],[0.152,-0.711],[0.48,0.025],[0.151,-0.356],[0.177,0],[0,0.127],[-0.101,0.305],[0.202,0.076],[0.227,-0.102],[0.303,0.076],[0.151,-0.077],[0.051,-0.432],[0,-0.254],[-0.303,-0.076],[-0.253,0.153],[-0.177,-0.076],[0,-0.102],[0.127,0],[0.05,-0.127],[-0.278,0.076],[-0.202,-0.255]],"o":[[0.076,0.152],[0.566,-0.227],[0.792,0.455],[0.793,-0.797],[1.132,-0.682],[1.019,-0.682],[0,-0.569],[-0.679,-0.341],[0,0],[-0.203,0.051],[-0.379,0.076],[-0.151,0.711],[-0.48,-0.026],[-0.152,0.355],[-0.176,0],[0,-0.127],[0.101,-0.304],[-0.202,-0.076],[-0.227,0.102],[-0.303,-0.076],[-0.152,0.076],[-0.05,0.432],[0,0.254],[0.303,0.076],[0.252,-0.152],[0.177,0.076],[0,0.102],[-0.126,0],[-0.051,0.127],[0.278,-0.076],[0.202,0.254]],"v":[[-4.595,2.448],[-3.507,2.389],[-2.149,3.413],[-0.112,2.617],[2.718,1.365],[5.321,-0.228],[6.793,-2.503],[5.208,-3.527],[3.51,-3.755],[2.049,-3.317],[0.887,-3.189],[0.179,-2.174],[-1.437,-1.818],[-2.574,-1.386],[-3.282,-0.777],[-3.559,-1.285],[-3.155,-2.377],[-3.787,-2.834],[-4.671,-2.834],[-5.328,-2.351],[-6.035,-2.554],[-6.187,-1.488],[-6.793,-1.006],[-6.035,-0.574],[-5.075,-0.879],[-4.368,-0.625],[-4.57,0.01],[-5.606,0.365],[-6.136,0.645],[-5.353,0.848],[-4.671,1.331]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.481999984442,0.779999976065,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[170.849,140.674],"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 12","np":4,"cix":2,"ix":12,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.251,0.378],[0.335,0],[0.125,0.379],[0.126,0.337],[0.376,0.378],[-0.052,0.505],[0.292,0.042],[0.084,0.084],[-0.146,0.147],[-0.167,0.169],[-0.188,0.189],[0.083,0.168],[0.168,0.042],[0.251,0.126],[-0.272,0.273],[-0.085,0.178],[0,0],[0.167,0],[0.168,-0.042],[0.083,-0.63],[0.229,-0.231],[-0.125,-0.253],[-0.041,-0.253],[-0.083,-0.336],[-0.167,-0.252],[-0.376,-0.21],[0.042,-0.673],[0,-0.504],[-0.418,-0.042],[-0.251,0],[0.125,-0.379],[-0.293,-0.294],[0.167,-0.421],[0.126,0],[0.083,-0.252],[-0.377,-0.378],[0.293,-0.378],[0,-0.211],[-0.46,-0.085],[0.104,-0.105],[0.168,0.042],[0.126,-0.21],[0.084,-0.21],[-0.251,-0.252],[-0.67,0.168],[-0.083,0.21],[-0.377,-0.085],[-0.168,0.252],[-0.334,-0.043],[-0.377,0],[-0.419,-0.084],[0,0.168],[0.334,0.126],[-0.189,0.189]],"o":[[-0.251,-0.378],[-0.334,0],[-0.126,-0.378],[-0.125,-0.336],[-0.377,-0.378],[0.051,-0.504],[-0.293,-0.042],[-0.083,-0.084],[0.147,-0.147],[0.168,-0.168],[0.188,-0.19],[-0.084,-0.168],[-0.287,-0.072],[-0.251,-0.127],[0.209,-0.211],[0.025,-0.052],[0.413,-0.729],[-0.167,0],[-0.167,0.042],[-0.084,0.631],[-0.23,0.232],[0.126,0.252],[0.042,0.252],[0.084,0.337],[0.168,0.253],[0.377,0.21],[-0.042,0.673],[0,0.505],[0.419,0.042],[0.251,0],[-0.126,0.378],[0.293,0.294],[-0.167,0.42],[-0.125,0],[-0.084,0.253],[0.376,0.379],[-0.293,0.379],[0,0.21],[0.46,0.084],[-0.105,0.106],[-0.167,-0.042],[-0.125,0.211],[-0.083,0.21],[0.251,0.253],[0.669,-0.169],[0.084,-0.21],[0.376,0.084],[0.167,-0.252],[0.335,0.042],[0.376,0],[0.418,0.084],[0,-0.169],[-0.335,-0.126],[0.188,-0.189]],"v":[[5.459,3.581],[4.161,3.329],[3.326,2.782],[2.949,1.268],[1.568,-0.708],[0.784,-2.39],[-0.062,-3.189],[-1.527,-3.525],[-1.192,-4.24],[-0.23,-4.871],[0.188,-5.879],[0.773,-6.931],[-0.021,-7.141],[-2.908,-7.351],[-1.904,-8.57],[-1.399,-9.369],[-1.359,-9.454],[-2.699,-9.748],[-3.786,-9.664],[-4.329,-8.613],[-5.249,-7.604],[-5.585,-6.594],[-5.208,-5.879],[-5.041,-5.039],[-4.999,-4.114],[-3.995,-3.735],[-3.911,-2.642],[-4.078,-1.549],[-3.535,-0.918],[-2.154,-1.086],[-2.322,-0.077],[-1.652,1.058],[-1.694,2.446],[-3.242,2.488],[-3.827,2.908],[-3.326,3.959],[-3.702,5.431],[-4.664,6.23],[-2.656,6.861],[-2.113,7.491],[-3.535,7.66],[-3.953,8.584],[-5.041,9.173],[-4.873,9.93],[-3.326,9.636],[-2.531,8.963],[-1.317,8.753],[-0.355,8.206],[0.857,7.618],[2.029,8.122],[4.372,7.744],[5.417,6.987],[4.12,6.692],[5.124,5.137]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.481999984442,0.779999976065,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[192.416,162.531],"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 13","np":4,"cix":2,"ix":13,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.042,0.476],[10.285,-12.495],[-0.05,-0.5],[0.227,-0.797],[-0.565,-0.113],[-0.453,-0.113],[0.792,-0.455],[0.453,-0.455],[-0.113,-1.365],[-0.114,-1.024],[-0.906,-0.342],[-0.566,0],[-0.34,1.252],[0,0],[-1.019,0.228],[-0.566,0.228],[-0.567,0.797],[-0.68,0.683],[-0.679,0.682],[-0.679,0.683],[0,0.91],[-0.114,1.252],[0,0],[-0.34,0.57],[0.679,0.341],[-0.34,0.342],[-0.397,0.398],[0.226,0.227],[-0.736,0.74],[-0.679,0.227],[-0.566,0],[0.905,0],[0.906,-0.626],[0.679,0],[0,0],[-0.509,0.512]],"o":[[-14.8,6.914],[0.118,0.526],[0.113,1.138],[-0.226,0.796],[0.566,0.114],[0.452,0.114],[-0.793,0.455],[-0.452,0.455],[0.113,1.365],[0.113,1.024],[0.905,0.341],[0.566,0],[0.339,-1.251],[0,0],[1.019,-0.227],[0.566,-0.227],[0.566,-0.796],[0.679,-0.683],[0.679,-0.683],[0.679,-0.682],[0,-0.91],[0.113,-1.251],[0,0],[0.34,-0.568],[-0.679,-0.341],[0.339,-0.341],[0.396,-0.398],[-0.226,-0.228],[0.736,-0.739],[0.679,-0.228],[0.566,0],[-0.906,0],[-0.905,0.626],[-0.679,0],[0,0],[0.28,-0.282]],"v":[[14.18,-26.157],[-23.904,3.405],[-23.6,4.995],[-24.165,7.271],[-24.279,9.432],[-21.674,8.977],[-23.939,11.48],[-25.523,13.87],[-25.863,17.852],[-25.184,22.403],[-22.807,25.816],[-20.09,26.157],[-18.506,22.971],[-14.658,13.983],[-12.281,12.504],[-7.188,9.546],[-4.471,6.474],[-0.057,4.654],[5.262,0.9],[8.658,-1.49],[8.884,-4.106],[9.904,-6.837],[12.281,-8.999],[13.751,-11.047],[13.298,-13.208],[13.072,-14.915],[15.337,-16.621],[13.751,-17.645],[15.109,-19.466],[19.751,-22.651],[25.41,-25.211],[24.164,-25.95],[19.41,-25.211],[16.354,-24.358],[13.979,-23.561],[13.751,-24.813]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.481999984442,0.779999976065,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[160.155,130.103],"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 14","np":4,"cix":2,"ix":14,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-60.423],[60.112,0],[0,60.423],[-60.11,0]],"o":[[0,60.423],[-60.11,0],[0,-60.423],[60.112,0]],"v":[[108.84,0],[-0.001,109.406],[-108.84,0],[-0.001,-109.406]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.051000000449,0.340999977261,0.670999983245,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[220.147,203.209],"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 15","np":4,"cix":2,"ix":15,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[9.496,10.504],[-2.392,-10.504],[-9.495,-6.484],[-2.823,-2.401],[-4.845,-1.258],[1.825,2.824],[0.518,3.563],[5.262,6.466],[4.033,7.161]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.141000007181,0.670999983245,0.081999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[282.776,302.485],"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 16","np":4,"cix":2,"ix":16,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-9.496,-4.475],[-2.824,-0.392],[-4.846,0.753],[1.824,4.834],[0.518,5.572],[5.261,8.475],[4.032,9.171],[9.495,12.513],[9.441,6.109],[8.214,6.805],[8.167,1.244],[6.861,1.983],[6.796,-5.836],[4.775,-4.693],[4.71,-12.514]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.090000002992,0.788000009574,0.008000000785,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[282.776,300.475],"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 17","np":4,"cix":2,"ix":17,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-3.833,11.759],[4.551,-8.924],[-2.442,-11.759],[-1.566,-4.58],[-3.555,-5.387],[-2.679,1.79],[-3.965,1.269],[-3.342,6.372],[-4.551,5.882]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.141000007181,0.670999983245,0.081999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[176.517,311.743],"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 18","np":4,"cix":2,"ix":18,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-5.939,-11.759],[-5.064,-4.58],[-7.053,-5.387],[-6.176,1.79],[-7.462,1.268],[-6.839,6.372],[-8.048,5.882],[-7.331,11.759],[-2.723,8.04],[-3.932,7.55],[0.069,4.321],[-1.217,3.8],[4.41,-0.74],[2.419,-1.547],[8.048,-6.089]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.090000002992,0.788000009574,0.008000000785,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[180.014,311.743],"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 19","np":4,"cix":2,"ix":19,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-6.057,14.554],[6.378,-10.349],[-2.042,-14.554],[-1.65,-5.543],[-4.045,-6.739],[-3.653,2.269],[-5.202,1.496],[-4.922,7.903],[-6.378,7.176]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.141000007181,0.670999983245,0.081999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[166.017,309.236],"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 20","np":4,"cix":2,"ix":20,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-6.252,-14.554],[-5.859,-5.542],[-8.255,-6.739],[-7.863,2.269],[-9.411,1.497],[-9.132,7.903],[-10.589,7.176],[-10.268,14.554],[-4.176,10.378],[-5.632,9.651],[-0.343,6.025],[-1.891,5.252],[5.545,0.153],[3.15,-1.043],[10.589,-6.145]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.090000002992,0.788000009574,0.008000000785,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[170.228,309.236],"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 21","np":4,"cix":2,"ix":21,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[13.814,8.682],[-7.943,-8.681],[-13.814,-1.325],[-4.918,0.174],[-6.589,2.267],[2.302,3.765],[1.223,5.118],[7.546,6.183],[6.531,7.454]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.141000007181,0.670999983245,0.081999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[311.184,278.988],"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 22","np":4,"cix":2,"ix":22,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-13.814,2.353],[-4.918,3.852],[-6.589,5.945],[2.302,7.443],[1.223,8.795],[7.546,9.861],[6.531,11.132],[13.814,12.36],[11.001,5.531],[9.987,6.802],[7.545,0.873],[6.465,2.226],[3.033,-6.112],[1.363,-4.019],[-2.072,-12.36]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.090000002992,0.788000009574,0.008000000785,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[311.184,275.31],"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 23","np":4,"cix":2,"ix":23,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-13.418,-9.441],[7.033,9.442],[13.418,2.527],[4.654,0.392],[6.47,-1.575],[-2.29,-3.709],[-1.116,-4.981],[-7.347,-6.498],[-6.243,-7.693]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.141000007181,0.670999983245,0.081999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[129.631,128.631],"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 24","np":4,"cix":2,"ix":24,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[13.418,-0.931],[4.654,-3.066],[6.47,-5.033],[-2.29,-7.166],[-1.116,-8.438],[-7.347,-9.955],[-6.243,-11.151],[-13.418,-12.899],[-11.104,-5.885],[-10,-7.081],[-7.992,-0.991],[-6.818,-2.263],[-3.994,6.3],[-2.177,4.333],[0.648,12.899]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.090000002992,0.788000009574,0.008000000785,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[129.631,132.088],"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 25","np":4,"cix":2,"ix":25,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-18.781,-14.691],[8.846,14.691],[18.781,5.35],[6.333,1.368],[9.16,-1.289],[-3.285,-5.269],[-1.458,-6.986],[-10.307,-9.816],[-8.59,-11.432]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.141000007181,0.670999983245,0.081999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[140.776,111.29],"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 26","np":4,"cix":2,"ix":26,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[18.782,0.678],[6.333,-3.303],[9.16,-5.96],[-3.285,-9.939],[-1.458,-11.658],[-10.307,-14.488],[-8.589,-16.102],[-18.781,-19.363],[-16.156,-8.989],[-14.438,-10.605],[-12.156,-1.597],[-10.329,-3.314],[-7.124,9.35],[-4.296,6.692],[-1.089,19.363]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.090000002992,0.788000009574,0.008000000785,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[140.776,115.962],"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 27","np":4,"cix":2,"ix":27,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.473,2.159],[0.281,-0.053],[2.266,3.786],[-0.345,-1.85],[-4.577,0.852]],"o":[[-0.274,0.065],[-5.764,1.072],[-1.427,1.317],[0.574,3.086],[3.234,-0.602]],"v":[[7.973,-0.129],[7.141,0.051],[-6.302,-4.736],[-7.866,0.217],[-0.062,4.545]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.470999983245,0.689999988032,0.081999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[339.28,193.918],"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 28","np":4,"cix":2,"ix":28,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[4.577,-0.853],[0.575,3.086],[-4.578,0.852],[-0.574,-3.086]],"o":[[-4.577,0.852],[-0.575,-3.086],[4.577,-0.852],[0.576,3.085]],"v":[[-0.484,5.587],[-8.288,1.259],[-2.564,-5.587],[8.288,-1.827]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.54900004069,0.8,0.097999999102,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[339.702,192.875],"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 29","np":4,"cix":2,"ix":29,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-3.663,1.391],[-3.919,0.021],[3.664,-1.391],[3.919,-0.02]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.54900004069,0.344999994016,0.246999987434,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[331.293,194.007],"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 30","np":4,"cix":2,"ix":30,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.207,1.606],[-0.046,-0.295],[4.024,-2.245],[-1.942,0.301],[0.744,4.805]],"o":[[0.06,0.288],[0.937,6.051],[1.33,1.531],[3.239,-0.502],[-0.526,-3.395]],"v":[[0.249,-8.311],[0.41,-7.437],[-5.014,6.443],[0.106,8.233],[4.872,0.225]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.470999983245,0.689999988032,0.081999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[215.704,83.975],"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 31","np":4,"cix":2,"ix":31,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.744,-4.805],[3.24,-0.502],[0.743,4.805],[-3.24,0.501]],"o":[[0.744,4.805],[-3.238,0.501],[-0.745,-4.805],[3.239,-0.502]],"v":[[5.865,0.693],[1.099,8.701],[-5.864,2.509],[-1.594,-8.7]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.54900004069,0.8,0.097999999102,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[214.711,83.507],"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 32","np":4,"cix":2,"ix":32,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[1.336,3.868],[-0.103,4.092],[-1.336,-3.869],[0.104,-4.092]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.54900004069,0.344999994016,0.246999987434,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[215.673,92.329],"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 33","np":4,"cix":2,"ix":33,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.26,3.274],[0.08,-0.428],[6.617,-1.146],[-2.815,-0.524],[-1.296,6.967]],"o":[[-0.058,0.425],[-1.632,8.773],[1.089,2.748],[4.697,0.873],[0.915,-4.923]],"v":[[5.882,-11.423],[5.681,-10.143],[-8.476,6.328],[-2.299,11.261],[8.12,2.547]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.470999983245,0.689999988032,0.081999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[232.538,81.807],"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 34","np":4,"cix":2,"ix":34,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.296,-6.967],[4.696,0.874],[-1.295,6.967],[-4.696,-0.873]],"o":[[-1.296,6.967],[-4.696,-0.873],[1.296,-6.967],[4.697,0.873]],"v":[[8.504,3.902],[-1.915,12.615],[-8.505,0.739],[2.777,-12.616]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.54900004069,0.8,0.097999999102,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[232.155,80.452],"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 35","np":4,"cix":2,"ix":35,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-0.029,5.965],[-2.117,5.578],[0.03,-5.965],[2.117,-5.576]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.54900004069,0.344999994016,0.246999987434,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[229.993,93.169],"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 36","np":4,"cix":2,"ix":36,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.029,-3.263],[-0.256,0.25],[-4.982,-2.353],[1.642,1.679],[4.158,-4.063]],"o":[[0.239,-0.259],[5.235,-5.117],[0.565,-2.357],[-2.739,-2.803],[-2.938,2.872]],"v":[[-9.1,6.738],[-8.361,5.974],[8.912,1.602],[7.094,-4.622],[-4.009,-3.693]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.470999983245,0.689999988032,0.081999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[137.579,291.88],"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 37","np":4,"cix":2,"ix":37,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4.157,4.064],[-2.739,-2.802],[4.158,-4.063],[2.739,2.803]],"o":[[4.158,-4.063],[2.739,2.802],[-4.157,4.065],[-2.739,-2.803]],"v":[[-3.693,-6.263],[7.41,-7.193],[6.227,3.885],[-7.646,7.523]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.54900004069,0.8,0.097999999102,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[137.264,294.45],"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 38","np":4,"cix":2,"ix":38,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[2.835,-3.989],[4.053,-2.743],[-2.834,3.989],[-4.052,2.743]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.54900004069,0.344999994016,0.246999987434,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[144.887,287.306],"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 39","np":4,"cix":2,"ix":39,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.32,-1.556],[-0.3,-0.06],[-0.744,-4.659],[-0.394,1.972],[4.881,0.974]],"o":[[0.298,0.044],[6.146,1.228],[1.939,-0.741],[0.657,-3.29],[-3.449,-0.689]],"v":[[-7.992,-4.259],[-7.095,-4.106],[4.341,5.99],[7.862,1.697],[1.84,-5.7]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.470999983245,0.689999988032,0.081999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[109.648,153.918],"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 40","np":4,"cix":2,"ix":40,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4.881,-0.975],[0.657,-3.29],[4.88,0.974],[-0.657,3.29]],"o":[[4.881,0.975],[-0.657,3.291],[-4.881,-0.975],[0.657,-3.29]],"v":[[2.816,-5.957],[8.838,1.44],[0.437,5.958],[-8.837,-2.089]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.54900004069,0.8,0.097999999102,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[108.672,154.174],"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 41","np":4,"cix":2,"ix":41,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[4.189,0.076],[3.896,1.538],[-4.189,-0.076],[-3.897,-1.538]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.54900004069,0.344999994016,0.246999987434,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[117.579,155.789],"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 42","np":4,"cix":2,"ix":42,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.785,-1.197],[-0.231,-0.046],[-0.572,-3.583],[-0.303,1.517],[3.755,0.75]],"o":[[0.229,0.034],[4.728,0.945],[1.492,-0.57],[0.506,-2.531],[-2.652,-0.53]],"v":[[-6.148,-3.276],[-5.458,-3.159],[3.339,4.607],[6.047,1.305],[1.414,-4.385]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.470999983245,0.689999988032,0.081999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[111.808,163.788],"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 43","np":4,"cix":2,"ix":43,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.754,-0.75],[0.505,-2.53],[3.754,0.75],[-0.506,2.531]],"o":[[3.755,0.75],[-0.506,2.531],[-3.754,-0.75],[0.505,-2.531]],"v":[[2.166,-4.583],[6.799,1.107],[0.336,4.583],[-6.798,-1.607]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.54900004069,0.8,0.097999999102,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[111.057,163.985],"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 44","np":4,"cix":2,"ix":44,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[3.222,0.058],[2.997,1.183],[-3.222,-0.059],[-2.998,-1.184]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.54900004069,0.344999994016,0.246999987434,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[117.908,165.227],"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 45","np":4,"cix":2,"ix":45,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.864,-2.582],[-0.134,0.267],[-4.569,-0.504],[1.752,0.88],[2.176,-4.335]],"o":[[0.118,-0.269],[2.74,-5.46],[-0.195,-2.014],[-2.922,-1.467],[-1.537,3.063]],"v":[[-6.198,7.009],[-5.823,6.206],[6.617,-1.934],[3.492,-6.352],[-5.015,-2.602]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.470999983245,0.689999988032,0.081999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[152.53,299.31],"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 46","np":4,"cix":2,"ix":46,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-2.176,4.335],[-2.923,-1.467],[2.176,-4.335],[2.922,1.467]],"o":[[2.176,-4.335],[2.922,1.467],[-2.176,4.335],[-2.922,-1.468]],"v":[[-5.231,-4.1],[3.275,-7.85],[5.352,1.212],[-4.605,7.85]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.54900004069,0.8,0.097999999102,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[152.747,300.807],"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 47","np":4,"cix":2,"ix":47,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[1.153,-3.917],[2.452,-3.265],[-1.153,3.917],[-2.452,3.266]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.54900004069,0.344999994016,0.246999987434,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[156.204,292.938],"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 48","np":4,"cix":2,"ix":48,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4.045,-0.438],[0.278,0.348],[-3.536,5.89],[2.287,-1.83],[-4.529,-5.659]],"o":[[-0.291,-0.328],[-5.703,-7.127],[-2.856,-0.993],[-3.814,3.053],[3.201,4]],"v":[[7.674,11.722],[6.817,10.711],[3.526,-11.258],[-4.423,-9.771],[-4.639,4.118]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.470999983245,0.689999988032,0.081999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[301.735,296.291],"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 49","np":4,"cix":2,"ix":49,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[4.528,5.659],[-3.815,3.053],[-4.529,-5.659],[3.816,-3.052]],"o":[[-4.529,-5.659],[3.815,-3.052],[4.529,5.659],[-3.814,3.053]],"v":[[-7.951,3.642],[-7.735,-10.248],[5.864,-7.413],[8.664,10.247]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.54900004069,0.8,0.097999999102,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[305.048,296.768],"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 50","np":4,"cix":2,"ix":50,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-4.599,-4.01],[-2.904,-5.366],[4.599,4.009],[2.903,5.366]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.54900004069,0.344999994016,0.246999987434,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[297.4,286.261],"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 51","np":4,"cix":2,"ix":51,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[5.372,-7.247],[4.985,3.736],[-5.373,7.247],[-4.986,-3.735]],"o":[[-5.372,7.246],[-4.985,-3.734],[5.372,-7.246],[4.986,3.735]],"v":[[9.027,6.762],[-9.728,13.12],[-9.028,-6.762],[9.727,-13.121]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.375999989229,0.702000038297,0.195999998205,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[321.291,233.272],"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 52","np":4,"cix":2,"ix":52,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.181,-8.96],[6.164,0.821],[-1.18,8.96],[-6.165,-0.821]],"o":[[-1.18,8.959],[-6.164,-0.82],[1.18,-8.959],[6.164,0.82]],"v":[[11.16,1.486],[-2.138,16.222],[-11.162,-1.486],[2.137,-16.222]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.375999989229,0.702000038297,0.195999998205,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[323.532,212.715],"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 53","np":4,"cix":2,"ix":53,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[7.648,-4.751],[3.269,5.316],[-7.648,4.751],[-3.269,-5.318]],"o":[[-7.648,4.751],[-3.268,-5.318],[7.649,-4.751],[3.268,5.316]],"v":[[5.918,9.627],[-13.849,8.603],[-5.919,-9.627],[13.848,-8.602]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.375999989229,0.702000038297,0.195999998205,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[312.889,252.882],"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 54","np":4,"cix":2,"ix":54,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[1.176,0.066],[-0.063,1.147],[0,0]],"o":[[0,0],[-0.062,1.149],[-1.175,-0.064],[0,0],[0,0]],"v":[[2.284,-3.182],[2.035,1.389],[-0.206,3.35],[-2.221,1.156],[-1.971,-3.417]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.760999971278,0.4,0.136999990426,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[209.543,357.135],"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 55","np":4,"cix":2,"ix":55,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-17.278,-1.892],[17.382,0.013],[17.28,1.892],[-17.382,-0.013]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.760999971278,0.4,0.136999990426,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[210.392,341.086],"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 56","np":4,"cix":2,"ix":56,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-17.278,-1.892],[17.382,0.014],[17.28,1.893],[-17.382,-0.012]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.760999971278,0.4,0.136999990426,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[211.327,323.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 57","np":4,"cix":2,"ix":57,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[1.641,0.091],[-0.087,1.601],[0,0]],"o":[[0,0],[-0.088,1.601],[-1.64,-0.09],[0,0],[0,0]],"v":[[3.187,-4.442],[2.84,1.941],[-0.288,4.677],[-3.1,1.615],[-2.752,-4.768]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.588000009574,0.310000011968,0.105999995213,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[201.052,331.91],"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 58","np":4,"cix":2,"ix":58,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[1.64,0.09],[-0.087,1.601],[0,0]],"o":[[0,0],[-0.087,1.601],[-1.64,-0.091],[0,0],[0,0]],"v":[[3.187,-4.442],[2.839,1.941],[-0.288,4.678],[-3.1,1.615],[-2.753,-4.768]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.588000009574,0.310000011968,0.105999995213,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[210.896,332.451],"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 59","np":4,"cix":2,"ix":59,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[1.641,0.09],[-0.088,1.601],[0,0]],"o":[[0,0],[-0.087,1.601],[-1.64,-0.091],[0,0],[0,0]],"v":[[3.188,-4.441],[2.839,1.941],[-0.289,4.678],[-3.1,1.615],[-2.753,-4.768]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.588000009574,0.310000011968,0.105999995213,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[220.738,332.992],"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 60","np":4,"cix":2,"ix":60,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-16.199,-21.743],[18.461,-19.838],[16.199,21.743],[-18.461,19.838]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.877999997606,0.532999973671,0.141000007181,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[211.274,324.872],"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 61","np":4,"cix":2,"ix":61,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.637,0.035],[-0.034,0.622],[0,0]],"o":[[0,0],[-0.034,0.622],[-0.637,-0.035],[0,0],[0,0]],"v":[[1.238,-1.725],[1.102,0.754],[-0.112,1.816],[-1.204,0.627],[-1.069,-1.851]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.760999971278,0.4,0.136999990426,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[190.908,320.988],"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 62","np":4,"cix":2,"ix":62,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.637,0.035],[-0.034,0.622],[0,0]],"o":[[0,0],[-0.033,0.622],[-0.637,-0.035],[0,0],[0,0]],"v":[[1.238,-1.724],[1.102,0.754],[-0.112,1.816],[-1.204,0.627],[-1.069,-1.851]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.760999971278,0.4,0.136999990426,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[185.605,320.696],"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 63","np":4,"cix":2,"ix":63,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.638,0.035],[-0.034,0.622],[0,0]],"o":[[0,0],[-0.034,0.622],[-0.636,-0.035],[0,0],[0,0]],"v":[[1.238,-1.725],[1.102,0.754],[-0.113,1.816],[-1.204,0.628],[-1.069,-1.852]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.760999971278,0.4,0.136999990426,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[180.302,320.405],"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 64","np":4,"cix":2,"ix":64,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.637,0.035],[-0.034,0.622],[0,0]],"o":[[0,0],[-0.034,0.622],[-0.637,-0.034],[0,0],[0,0]],"v":[[1.238,-1.724],[1.102,0.754],[-0.112,1.816],[-1.204,0.627],[-1.069,-1.851]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.760999971278,0.4,0.136999990426,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[175,320.113],"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 65","np":4,"cix":2,"ix":65,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[1.579,-2.785],[-1.269,-2.941],[-1.58,2.783],[1.267,2.94]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.642999985639,0.238999998803,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[192.604,326.537],"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 66","np":4,"cix":2,"ix":66,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[1.58,-2.785],[-1.268,-2.941],[-1.579,2.784],[1.268,2.941]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.642999985639,0.238999998803,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[187.763,326.271],"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 67","np":4,"cix":2,"ix":67,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[1.579,-2.784],[-1.269,-2.941],[-1.58,2.784],[1.267,2.941]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.642999985639,0.238999998803,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[182.922,326.004],"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 68","np":4,"cix":2,"ix":68,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[1.579,-2.785],[-1.269,-2.941],[-1.58,2.783],[1.268,2.941]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.642999985639,0.238999998803,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[178.08,325.738],"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 69","np":4,"cix":2,"ix":69,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[1.58,-2.784],[-1.268,-2.941],[-1.58,2.784],[1.268,2.941]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.642999985639,0.238999998803,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[173.239,325.472],"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 70","np":4,"cix":2,"ix":70,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[15.477,-10.777],[-14.215,-12.41],[-15.477,10.778],[14.214,12.41]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.642999985639,0.238999998803,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[187.307,314.33],"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 71","np":4,"cix":2,"ix":71,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-0.637,-0.035],[-0.033,0.623],[0,0]],"o":[[0,0],[-0.034,0.622],[0.637,0.035],[0,0],[0,0]],"v":[[-1.068,-1.851],[-1.204,0.627],[-0.112,1.816],[1.102,0.753],[1.238,-1.724]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.760999971278,0.4,0.136999990426,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[231.967,323.245],"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 72","np":4,"cix":2,"ix":72,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-0.638,-0.035],[-0.034,0.623],[0,0]],"o":[[0,0],[-0.034,0.622],[0.637,0.035],[0,0],[0,0]],"v":[[-1.068,-1.852],[-1.204,0.628],[-0.112,1.816],[1.102,0.753],[1.238,-1.724]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.760999971278,0.4,0.136999990426,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[237.27,323.536],"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 73","np":4,"cix":2,"ix":73,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-0.637,-0.034],[-0.034,0.623],[0,0]],"o":[[0,0],[-0.033,0.622],[0.637,0.035],[0,0],[0,0]],"v":[[-1.069,-1.851],[-1.204,0.627],[-0.113,1.816],[1.103,0.753],[1.238,-1.724]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.760999971278,0.4,0.136999990426,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[242.572,323.828],"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 74","np":4,"cix":2,"ix":74,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-0.637,-0.035],[-0.034,0.623],[0,0]],"o":[[0,0],[-0.033,0.622],[0.637,0.035],[0,0],[0,0]],"v":[[-1.069,-1.851],[-1.204,0.627],[-0.113,1.816],[1.103,0.753],[1.238,-1.725]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.760999971278,0.4,0.136999990426,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[247.875,324.12],"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 75","np":4,"cix":2,"ix":75,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-1.268,-2.941],[1.58,-2.784],[1.268,2.941],[-1.58,2.785]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.642999985639,0.238999998803,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[229.653,328.573],"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 76","np":4,"cix":2,"ix":76,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-1.268,-2.941],[1.58,-2.785],[1.268,2.941],[-1.58,2.784]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.642999985639,0.238999998803,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[234.494,328.84],"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 77","np":4,"cix":2,"ix":77,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-1.268,-2.941],[1.58,-2.784],[1.268,2.941],[-1.58,2.785]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.642999985639,0.238999998803,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[239.335,329.105],"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 78","np":4,"cix":2,"ix":78,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-1.268,-2.941],[1.58,-2.785],[1.268,2.941],[-1.58,2.784]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.642999985639,0.238999998803,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[244.176,329.372],"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 79","np":4,"cix":2,"ix":79,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-1.268,-2.941],[1.58,-2.784],[1.268,2.941],[-1.58,2.785]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.642999985639,0.238999998803,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[249.018,329.638],"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 80","np":4,"cix":2,"ix":80,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-14.214,-12.41],[15.477,-10.777],[14.215,12.41],[-15.477,10.777]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.642999985639,0.238999998803,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[236.242,317.02],"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 81","np":4,"cix":2,"ix":81,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-2.223,-3.981],[2.643,-3.713],[2.225,3.981],[-2.643,3.713]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.877999997606,0.532999973671,0.141000007181,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[195.246,344.844],"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 82","np":4,"cix":2,"ix":82,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-2.224,-3.982],[2.643,-3.714],[2.224,3.982],[-2.643,3.714]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.877999997606,0.532999973671,0.141000007181,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[202.695,345.253],"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 83","np":4,"cix":2,"ix":83,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-2.223,-3.982],[2.643,-3.712],[2.225,3.982],[-2.643,3.714]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.877999997606,0.532999973671,0.141000007181,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[210.143,345.663],"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 84","np":4,"cix":2,"ix":84,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-2.224,-3.981],[2.643,-3.713],[2.224,3.981],[-2.643,3.713]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.877999997606,0.532999973671,0.141000007181,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[217.592,346.072],"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 85","np":4,"cix":2,"ix":85,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-2.223,-3.981],[2.643,-3.713],[2.223,3.982],[-2.643,3.714]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.877999997606,0.532999973671,0.141000007181,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[225.04,346.482],"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 86","np":4,"cix":2,"ix":86,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-0.518,4.388],[-14.252,-7.465],[-14.42,-4.386],[-0.685,7.465],[14.253,-2.81],[14.42,-5.888]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.760999971278,0.4,0.136999990426,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[209.559,361.528],"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 87","np":4,"cix":2,"ix":87,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-0.979,14.031],[10.549,6.1],[11.579,-12.815],[0.515,-13.423],[-10.549,-14.031],[-11.579,4.885]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.642999985639,0.238999998803,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[210.003,352.197],"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 88","np":4,"cix":2,"ix":88,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-0.418,3.544],[-11.511,-6.029],[-11.647,-3.544],[-0.553,6.029],[11.513,-2.27],[11.647,-4.756]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.877999997606,0.532999973671,0.141000007181,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[209.355,364.277],"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 89","np":4,"cix":2,"ix":89,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-0.394,3.329],[-10.817,-5.665],[-10.944,-3.33],[-0.521,5.665],[10.816,-2.134],[10.944,-4.469]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.760999971278,0.4,0.136999990426,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[209.257,365.852],"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 90","np":4,"cix":2,"ix":90,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-0.722,0.457],[0.441,0.705],[0,0]],"o":[[0,0],[0.442,0.704],[0.722,-0.457],[0,0],[0,0]],"v":[[-2.622,-1.371],[-0.433,2.122],[1.674,2.57],[2.181,0.466],[-0.01,-3.027]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.579999976065,0.356999984442,0.156999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[293.365,335.847],"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 91","np":4,"cix":2,"ix":91,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-0.722,0.457],[0.441,0.705],[0,0]],"o":[[0,0],[0.442,0.704],[0.722,-0.457],[0,0],[0,0]],"v":[[-2.622,-1.371],[-0.433,2.122],[1.674,2.57],[2.181,0.466],[-0.01,-3.027]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.579999976065,0.356999984442,0.156999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[297.604,333.161],"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 92","np":4,"cix":2,"ix":92,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-0.722,0.457],[0.441,0.705],[0,0]],"o":[[0,0],[0.442,0.704],[0.722,-0.458],[0,0],[0,0]],"v":[[-2.622,-1.371],[-0.433,2.122],[1.674,2.57],[2.181,0.466],[-0.009,-3.027]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.579999976065,0.356999984442,0.156999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[301.843,330.476],"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 93","np":4,"cix":2,"ix":93,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-0.722,0.457],[0.442,0.705],[0,0]],"o":[[0,0],[0.442,0.704],[0.722,-0.458],[0,0],[0,0]],"v":[[-2.623,-1.371],[-0.433,2.122],[1.674,2.57],[2.181,0.466],[-0.01,-3.027]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.579999976065,0.356999984442,0.156999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[306.083,327.79],"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 94","np":4,"cix":2,"ix":94,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-0.722,0.457],[0.442,0.705],[0,0]],"o":[[0,0],[0.442,0.704],[0.722,-0.458],[0,0],[0,0]],"v":[[-2.623,-1.371],[-0.433,2.122],[1.674,2.57],[2.181,0.466],[-0.009,-3.027]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.579999976065,0.356999984442,0.156999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[310.322,325.105],"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 95","np":4,"cix":2,"ix":95,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-12.56,5.379],[9.664,-8.7],[12.56,-7.09],[-12.365,8.7]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.477999997606,0.250999989229,0.122000002394,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[299.853,326.553],"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 96","np":4,"cix":2,"ix":96,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-3.406,-2.865],[-1.101,-4.324],[3.406,2.865],[1.101,4.325]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.477999997606,0.250999989229,0.122000002394,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[289.759,319.834],"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 97","np":4,"cix":2,"ix":97,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-3.406,-2.865],[-1.101,-4.324],[3.406,2.865],[1.101,4.324]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.477999997606,0.250999989229,0.122000002394,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[297.596,314.869],"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 98","np":4,"cix":2,"ix":98,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[3.457,6.447],[4.294,5.917],[-3.457,-6.447],[-4.294,-5.915]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.579999976065,0.356999984442,0.156999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[285.166,322.52],"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 99","np":4,"cix":2,"ix":99,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[3.457,6.447],[4.294,5.917],[-3.457,-6.447],[-4.294,-5.915]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.579999976065,0.356999984442,0.156999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[287.096,321.297],"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 100","np":4,"cix":2,"ix":100,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-2.137,1.884],[2.613,-1.126],[2.138,-1.884],[-2.613,1.126]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.579999976065,0.356999984442,0.156999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[290.75,329.277],"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 101","np":4,"cix":2,"ix":101,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-2.343,0.919],[1.838,-1.728],[2.344,-0.921],[-1.836,1.728]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.477999997606,0.250999989229,0.122000002394,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[290.259,328.495],"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 102","np":4,"cix":2,"ix":102,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-2.823,-0.197],[1.041,-2.645],[2.823,0.197],[-1.042,2.645]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.477999997606,0.250999989229,0.122000002394,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[281.365,314.307],"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 103","np":4,"cix":2,"ix":103,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[3.457,6.446],[4.294,5.917],[-3.457,-6.447],[-4.294,-5.916]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.579999976065,0.356999984442,0.156999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[292.612,317.802],"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 104","np":4,"cix":2,"ix":104,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[3.457,6.446],[4.294,5.916],[-3.457,-6.446],[-4.294,-5.916]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.579999976065,0.356999984442,0.156999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[294.542,316.58],"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 105","np":4,"cix":2,"ix":105,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-2.138,1.884],[2.613,-1.126],[2.138,-1.884],[-2.613,1.126]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.579999976065,0.356999984442,0.156999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[298.197,324.559],"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 106","np":4,"cix":2,"ix":106,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-2.344,0.92],[1.837,-1.728],[2.343,-0.921],[-1.837,1.728]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.477999997606,0.250999989229,0.122000002394,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[297.706,323.777],"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 107","np":4,"cix":2,"ix":107,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-2.823,-0.197],[1.042,-2.645],[2.823,0.196],[-1.042,2.645]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.477999997606,0.250999989229,0.122000002394,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[288.811,309.59],"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 108","np":4,"cix":2,"ix":108,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[3.457,6.446],[4.293,5.917],[-3.457,-6.447],[-4.293,-5.916]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.579999976065,0.356999984442,0.156999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[300.059,313.085],"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 109","np":4,"cix":2,"ix":109,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[3.457,6.447],[4.293,5.917],[-3.457,-6.447],[-4.293,-5.915]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.579999976065,0.356999984442,0.156999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[301.989,311.862],"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 110","np":4,"cix":2,"ix":110,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-2.137,1.884],[2.613,-1.126],[2.138,-1.884],[-2.613,1.126]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.579999976065,0.356999984442,0.156999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[305.643,319.842],"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 111","np":4,"cix":2,"ix":111,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-2.344,0.919],[1.837,-1.728],[2.343,-0.921],[-1.837,1.729]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.477999997606,0.250999989229,0.122000002394,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[305.152,319.059],"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 112","np":4,"cix":2,"ix":112,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-2.823,-0.196],[1.042,-2.645],[2.823,0.197],[-1.042,2.645]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.477999997606,0.250999989229,0.122000002394,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[296.258,304.872],"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 113","np":4,"cix":2,"ix":113,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.272,0.435],[-0.433,0.274],[0,0],[-0.273,-0.435],[0.431,-0.274],[0,0]],"o":[[-0.272,-0.435],[0,0],[0.433,-0.275],[0.272,0.434],[0,0],[-0.432,0.274]],"v":[[-10.149,6.43],[-9.859,5.147],[8.872,-6.719],[10.149,-6.428],[9.86,-5.146],[-8.873,6.72]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.579999976065,0.356999984442,0.156999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[309.021,341.823],"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 114","np":4,"cix":2,"ix":114,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.272,0.435],[-0.433,0.273],[0,0],[-0.273,-0.435],[0.431,-0.274],[0,0]],"o":[[-0.272,-0.435],[0,0],[0.432,-0.274],[0.272,0.434],[0,0],[-0.432,0.273]],"v":[[-11.794,7.472],[-11.505,6.19],[10.518,-7.762],[11.794,-7.471],[11.505,-6.189],[-10.519,7.763]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.579999976065,0.356999984442,0.156999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[287.427,307.382],"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 115","np":4,"cix":2,"ix":115,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-1.347,0.854],[0.824,1.316],[0,0]],"o":[[0,0],[0.826,1.316],[1.348,-0.853],[0,0],[0,0]],"v":[[-4.219,-1.482],[-1.483,2.882],[2.449,3.719],[3.396,-0.208],[0.66,-4.573]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.579999976065,0.356999984442,0.156999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[273.306,300.204],"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 116","np":4,"cix":2,"ix":116,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-1.348,0.854],[0.825,1.317],[0,0]],"o":[[0,0],[0.825,1.316],[1.347,-0.853],[0,0],[0,0]],"v":[[-4.22,-1.482],[-1.484,2.882],[2.449,3.719],[3.394,-0.209],[0.658,-4.573]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.579999976065,0.356999984442,0.156999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[280.108,295.896],"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 117","np":4,"cix":2,"ix":117,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-1.347,0.854],[0.824,1.317],[0,0]],"o":[[0,0],[0.826,1.316],[1.348,-0.853],[0,0],[0,0]],"v":[[-4.219,-1.482],[-1.483,2.882],[2.449,3.719],[3.396,-0.209],[0.66,-4.573]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.579999976065,0.356999984442,0.156999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[286.909,291.587],"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 118","np":4,"cix":2,"ix":118,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-6.616,9.517],[11.396,-1.893],[6.616,-9.517],[-11.396,1.893]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.638999968884,0.430999995213,0.246999987434,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[306.833,338.333],"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 119","np":4,"cix":2,"ix":119,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-13.298,3.002],[8.431,-10.764],[13.298,-3.003],[-8.432,10.764]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.702000038297,0.510000011968,0.337000020345,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[302.01,330.642],"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 120","np":4,"cix":2,"ix":120,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-16.378,-1.911],[5.352,-15.677],[16.379,1.911],[-5.352,15.678]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.702000038297,0.510000011968,0.337000020345,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[292.941,316.177],"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 121","np":4,"cix":2,"ix":121,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-15.818,-0.149],[6.69,-14.409],[15.817,0.149],[-6.691,14.409]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.702000038297,0.510000011968,0.337000020345,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[282.95,300.241],"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 122","np":4,"cix":2,"ix":122,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-2.942,1.863],[1.801,2.873],[0,0]],"o":[[0,0],[1.8,2.872],[2.942,-1.865],[0,0],[0,0]],"v":[[-7.277,-0.146],[-5.177,3.205],[3.41,5.032],[5.477,-3.544],[3.375,-6.895]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.702000038297,0.510000011968,0.337000020345,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[310.038,343.854],"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 123","np":4,"cix":2,"ix":123,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-4.478,2.836],[2.741,4.372],[0,0]],"o":[[0,0],[2.741,4.372],[4.476,-2.836],[0,0],[0,0]],"v":[[-11.074,-0.221],[-7.879,4.876],[5.191,7.656],[8.333,-5.395],[5.137,-10.492]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.477999997606,0.250999989229,0.122000002394,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[310.924,345.482],"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 124","np":4,"cix":2,"ix":124,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-4.196,0.047],[1.853,-3.785],[4.197,-0.047],[-1.853,3.785]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.702000038297,0.510000011968,0.337000020345,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[315.836,352.693],"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 125","np":4,"cix":2,"ix":125,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-1.28,0.81],[0.784,1.251],[0,0]],"o":[[0,0],[0.784,1.251],[1.282,-0.812],[0,0],[0,0]],"v":[[-3.168,-0.063],[-2.254,1.395],[1.484,2.191],[2.384,-1.543],[1.47,-3.001]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.579999976065,0.356999984442,0.156999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[316.958,354.662],"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 126","np":4,"cix":2,"ix":126,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.021,0.658],[0.533,-0.017],[-0.02,-0.659],[-0.533,0.017]],"o":[[-0.021,-0.657],[-0.534,0.016],[0.021,0.658],[0.533,-0.017]],"v":[[0.966,-0.031],[-0.038,-1.191],[-0.966,0.031],[0.036,1.191]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.702000038297,0.510000011968,0.337000020345,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[319.313,360.217],"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 127","np":4,"cix":2,"ix":127,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.732,0.381],[-0.308,0.599],[-0.732,-0.381],[0.308,-0.6]],"o":[[-0.732,-0.381],[0.31,-0.6],[0.733,0.381],[-0.309,0.6]],"v":[[-0.559,1.086],[-1.327,-0.69],[0.56,-1.087],[1.327,0.69]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.702000038297,0.510000011968,0.337000020345,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[321.627,358.875],"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 128","np":4,"cix":2,"ix":128,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.339,0.216],[-0.214,-0.341],[0,0],[0.339,-0.214],[0.214,0.341]],"o":[[-0.215,-0.341],[0.339,-0.215],[0,0],[0.213,0.341],[-0.34,0.215],[0,0]],"v":[[-1.634,-1.238],[-1.408,-2.247],[-0.406,-2.018],[1.637,1.24],[1.409,2.246],[0.406,2.018]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.702000038297,0.510000011968,0.337000020345,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[319.795,358.93],"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 129","np":4,"cix":2,"ix":129,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-6.069,4.668],[3.245,-6.955],[6.069,-4.669],[-3.246,6.955]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.102000000898,0.39199999641,0.451000019148,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[350.065,306.346],"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 130","np":4,"cix":2,"ix":130,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-8.401,-6.124],[-7.742,-6.947],[8.401,6.125],[7.742,6.947]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.128999986836,0.486000001197,0.560999971278,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[365.958,314.296],"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 131","np":4,"cix":2,"ix":131,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-28.177,-21.734],[-27.124,-23.047],[28.177,21.733],[27.124,23.046]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.294000004787,0.564999988032,0.620000023935,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[338.879,290.608],"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 132","np":4,"cix":2,"ix":132,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.558,1.943],[0,0],[2.022,1.638],[0,0]],"o":[[0,0],[1.557,-1.943],[0,0],[2.021,1.637]],"v":[[-7.211,14.216],[12.134,-9.924],[11.293,-16.407],[-13.691,14.77]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.102000000898,0.39199999641,0.451000019148,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[300.702,276.136],"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 133","np":4,"cix":2,"ix":133,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-7.965,8.484],[6.551,-9.629],[7.966,-8.483],[-6.549,9.63]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.128999986836,0.486000001197,0.560999971278,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[306.679,285.872],"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 134","np":4,"cix":2,"ix":134,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-7.966,8.483],[6.55,-9.629],[7.965,-8.483],[-6.55,9.629]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.128999986836,0.486000001197,0.560999971278,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[311.184,289.52],"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 135","np":4,"cix":2,"ix":135,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-7.965,8.484],[6.551,-9.629],[7.966,-8.483],[-6.551,9.63]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.128999986836,0.486000001197,0.560999971278,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[315.689,293.168],"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 136","np":4,"cix":2,"ix":136,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-7.966,8.484],[6.55,-9.629],[7.966,-8.483],[-6.55,9.63]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.128999986836,0.486000001197,0.560999971278,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[320.193,296.816],"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 137","np":4,"cix":2,"ix":137,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-7.966,8.483],[6.55,-9.629],[7.966,-8.483],[-6.55,9.629]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.128999986836,0.486000001197,0.560999971278,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[324.698,300.464],"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 138","np":4,"cix":2,"ix":138,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-7.759,8.224],[6.342,-9.371],[7.758,-8.224],[-6.343,9.37]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.128999986836,0.486000001197,0.560999971278,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[329.411,303.852],"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 139","np":4,"cix":2,"ix":139,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-7.344,7.707],[5.927,-8.854],[7.344,-7.707],[-5.928,8.853]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.128999986836,0.486000001197,0.560999971278,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[334.33,306.982],"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 140","np":4,"cix":2,"ix":140,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-6.462,6.608],[5.046,-7.753],[6.462,-6.607],[-5.047,7.754]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.128999986836,0.486000001197,0.560999971278,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[339.716,309.531],"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 141","np":4,"cix":2,"ix":141,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-5.639,5.581],[4.223,-6.727],[5.639,-5.58],[-4.224,6.727]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.128999986836,0.486000001197,0.560999971278,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[345.044,312.152],"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 142","np":4,"cix":2,"ix":142,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-4.388,4.02],[2.973,-5.166],[4.388,-4.019],[-2.974,5.166]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.128999986836,0.486000001197,0.560999971278,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[350.8,314.238],"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 143","np":4,"cix":2,"ix":143,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-16.192,5.918],[0,0],[0,0]],"o":[[0,0],[0,0],[19.978,24.842]],"v":[[31.623,17.799],[-19.648,-23.718],[-31.622,-8.777]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.294000004787,0.564999988032,0.620000023935,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[328.395,297.61],"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 144","np":4,"cix":2,"ix":144,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-19.335,8.236],[0,0],[0,0]],"o":[[0,0],[0,0],[21.613,28.38]],"v":[[36.026,18.967],[-20.992,-27.203],[-36.026,-8.443]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.128999986836,0.486000001197,0.560999971278,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[328.586,298.031],"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 145","np":4,"cix":2,"ix":145,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-3.261,0.536],[-0.172,-3.318],[3.261,-0.537],[0.173,3.318]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.102000000898,0.39199999641,0.451000019148,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[359.816,310.907],"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 146","np":4,"cix":2,"ix":146,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-4.62,2.13],[4.62,-0.918],[4.133,-2.13]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.811999990426,0.435000011968,0.187999994615,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[49.677,258.559],"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 147","np":4,"cix":2,"ix":147,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-0.73,-1.817],[-1.755,0.713],[0,0]],"o":[[0,0],[-1.755,0.713],[0.73,1.816],[0,0],[0,0]],"v":[[3.631,-5.132],[-3.688,-2.158],[-5.544,2.421],[-1.045,4.419],[6.274,1.446]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.322000002394,0.128999986836,0.105999995213,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[114.128,232.659],"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 148","np":4,"cix":2,"ix":148,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[5.668,-6.721],[8.398,0.072],[-7.976,6.721],[-8.398,-1.008]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.8,0.216000007181,0.216000007181,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[107.627,223.141],"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 149","np":4,"cix":2,"ix":149,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[9.552,0.54],[6.822,-6.253],[-9.551,0.396],[-4.514,6.253]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.8,0.216000007181,0.216000007181,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[115.071,244.064],"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 150","np":4,"cix":2,"ix":150,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[5.253,-10.624],[11.12,3.975],[-5.253,10.624],[-11.12,-3.975]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.184000007779,0.184000007779,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[110.772,233.837],"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 151","np":4,"cix":2,"ix":151,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.39,-0.97],[-0.389,-0.97],[0,0],[-0.39,-0.969],[-0.39,-0.97],[0,0],[0.634,1.577],[0,0],[0.634,1.577],[0,0]],"o":[[0.39,0.971],[0.391,0.97],[0,0],[0.39,0.971],[0.39,0.971],[0,0],[-0.633,-1.577],[0,0],[-0.634,-1.576],[0,0]],"v":[[-7.078,-15.726],[-6.952,-7.03],[-3.653,1.175],[-0.355,9.381],[5.563,15.725],[6.733,18.636],[7.614,14.892],[1.294,-0.833],[-5.027,-16.559],[-8.248,-18.636]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.2,0.322000002394,0.560999971278,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[104.392,236.736],"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 152","np":4,"cix":2,"ix":152,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-0.529,-1.318],[-1.274,0.517],[0,0]],"o":[[0,0],[-1.274,0.518],[0.53,1.319],[0,0],[0,0]],"v":[[2.635,-3.725],[-2.678,-1.567],[-4.026,1.757],[-0.759,3.208],[4.555,1.049]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.322000002394,0.128999986836,0.105999995213,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[99.08,238.777],"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 153","np":4,"cix":2,"ix":153,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[3.236,-5.234],[5.657,0.79],[-5.282,5.234],[-5.657,-1.622]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.8,0.216000007181,0.216000007181,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[95.152,229.563],"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 154","np":4,"cix":2,"ix":154,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[6.68,1.206],[4.259,-4.817],[-6.68,-0.375],[-2.213,4.818]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.8,0.216000007181,0.216000007181,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[101.755,248.118],"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 155","np":4,"cix":2,"ix":155,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[2.868,-8.695],[8.072,4.252],[-2.867,8.695],[-8.072,-4.252]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.184000007779,0.184000007779,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[97.942,239.048],"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 156","np":4,"cix":2,"ix":156,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.346,-0.86],[-0.345,-0.86],[0,0],[-0.345,-0.861],[-0.346,-0.861],[0,0],[0.562,1.399],[0,0],[0.562,1.398],[0,0]],"o":[[0.346,0.86],[0.346,0.861],[0,0],[0.346,0.86],[0.346,0.86],[0,0],[-0.562,-1.398],[0,0],[-0.562,-1.399],[0,0]],"v":[[-6.277,-13.946],[-6.165,-6.234],[-3.239,1.042],[-0.315,8.32],[4.934,13.947],[5.972,16.527],[6.753,13.207],[1.147,-0.739],[-4.458,-14.685],[-7.315,-16.527]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.2,0.322000002394,0.560999971278,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[94.074,240.891],"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 157","np":4,"cix":2,"ix":157,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-0.475,-1.184],[-1.143,0.464],[0,0]],"o":[[0,0],[-1.143,0.464],[0.476,1.183],[0,0],[0,0]],"v":[[2.365,-3.342],[-2.403,-1.406],[-3.612,1.577],[-0.681,2.878],[4.087,0.941]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.322000002394,0.128999986836,0.105999995213,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[89.263,242.744],"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 158","np":4,"cix":2,"ix":158,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[2.903,-4.696],[5.076,0.709],[-4.74,4.696],[-5.076,-1.456]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.8,0.216000007181,0.216000007181,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[85.74,234.477],"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 159","np":4,"cix":2,"ix":159,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[5.994,1.081],[3.822,-4.323],[-5.993,-0.338],[-1.986,4.322]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.8,0.216000007181,0.216000007181,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[91.663,251.126],"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 160","np":4,"cix":2,"ix":160,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[2.573,-7.801],[7.242,3.816],[-2.573,7.802],[-7.242,-3.815]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.184000007779,0.184000007779,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[88.242,242.987],"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 161","np":4,"cix":2,"ix":161,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.311,-0.772],[-0.31,-0.772],[0,0],[-0.31,-0.773],[-0.31,-0.772],[0,0],[0.504,1.255],[0,0],[0.504,1.255],[0,0]],"o":[[0.31,0.771],[0.31,0.772],[0,0],[0.31,0.772],[0.31,0.772],[0,0],[-0.504,-1.255],[0,0],[-0.504,-1.255],[0,0]],"v":[[-5.632,-12.514],[-5.531,-5.595],[-2.907,0.934],[-0.282,7.465],[4.427,12.512],[5.358,14.829],[6.059,11.849],[1.03,-0.663],[-4,-13.177],[-6.563,-14.83]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.2,0.322000002394,0.560999971278,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[84.772,244.642],"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 162","np":4,"cix":2,"ix":162,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-0.414,-1.031],[-0.996,0.405],[0,0]],"o":[[0,0],[-0.996,0.405],[0.415,1.031],[0,0],[0,0]],"v":[[2.062,-2.914],[-2.094,-1.226],[-3.148,1.374],[-0.593,2.508],[3.562,0.82]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.322000002394,0.128999986836,0.105999995213,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[80.445,246.303],"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 163","np":4,"cix":2,"ix":163,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[2.531,-4.093],[4.425,0.618],[-4.131,4.093],[-4.425,-1.269]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.8,0.216000007181,0.216000007181,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[77.374,239.096],"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 164","np":4,"cix":2,"ix":164,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[5.225,0.943],[3.331,-3.768],[-5.225,-0.293],[-1.73,3.768]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.8,0.216000007181,0.216000007181,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[82.537,253.609],"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 165","np":4,"cix":2,"ix":165,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[2.243,-6.801],[6.313,3.326],[-2.243,6.801],[-6.313,-3.326]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.184000007779,0.184000007779,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[79.555,246.515],"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 166","np":4,"cix":2,"ix":166,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.271,-0.673],[-0.27,-0.673],[0,0],[-0.27,-0.673],[-0.27,-0.672],[0,0],[0.439,1.094],[0,0],[0.44,1.094],[0,0]],"o":[[0.271,0.673],[0.271,0.673],[0,0],[0.271,0.673],[0,0],[0,0],[-0.44,-1.093],[0,0],[-0.439,-1.094],[0,0]],"v":[[-4.909,-10.907],[-4.822,-4.876],[-2.534,0.817],[-0.246,6.508],[3.859,10.908],[4.671,12.927],[5.282,10.33],[0.898,-0.577],[-3.487,-11.485],[-5.721,-12.927]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.2,0.322000002394,0.560999971278,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[76.531,247.956],"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 167","np":4,"cix":2,"ix":167,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-0.364,-0.905],[-0.874,0.355],[0,0]],"o":[[0,0],[-0.874,0.355],[0.363,0.905],[0,0],[0,0]],"v":[[1.809,-2.556],[-1.837,-1.075],[-2.762,1.206],[-0.52,2.201],[3.126,0.72]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.322000002394,0.128999986836,0.105999995213,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[72.684,249.436],"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 168","np":4,"cix":2,"ix":168,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[2.22,-3.591],[3.882,0.543],[-3.625,3.591],[-3.882,-1.112]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.8,0.216000007181,0.216000007181,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[69.99,243.114],"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 169","np":4,"cix":2,"ix":169,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[4.584,0.827],[2.922,-3.307],[-4.584,-0.258],[-1.519,3.306]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.8,0.216000007181,0.216000007181,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[74.52,255.847],"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 170","np":4,"cix":2,"ix":170,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[1.968,-5.967],[5.539,2.917],[-1.969,5.967],[-5.538,-2.919]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.184000007779,0.184000007779,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[71.904,249.623],"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 171","np":4,"cix":2,"ix":171,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.237,-0.59],[-0.237,-0.591],[0,0],[-0.237,-0.591],[-0.237,-0.591],[0,0],[0.386,0.96],[0,0],[0.386,0.96],[0,0]],"o":[[0.237,0.591],[0.237,0.591],[0,0],[0.238,0.591],[0.237,0.59],[0,0],[-0.386,-0.959],[0,0],[-0.386,-0.959],[0,0]],"v":[[-4.307,-9.57],[-4.23,-4.278],[-2.223,0.716],[-0.217,5.709],[3.385,9.57],[4.098,11.341],[4.633,9.063],[0.788,-0.507],[-3.06,-10.077],[-5.02,-11.341]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.2,0.322000002394,0.560999971278,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[69.25,250.888],"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 172","np":4,"cix":2,"ix":172,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-0.331,-0.823],[-0.795,0.323],[0,0]],"o":[[0,0],[-0.796,0.323],[0.33,0.823],[0,0],[0,0]],"v":[[1.645,-2.325],[-1.671,-0.978],[-2.512,1.097],[-0.474,2.002],[2.843,0.655]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.322000002394,0.128999986836,0.105999995213,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[65.806,252.218],"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 173","np":4,"cix":2,"ix":173,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[2.02,-3.266],[3.531,0.495],[-3.297,3.267],[-3.531,-1.011]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.8,0.216000007181,0.216000007181,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[63.354,246.466],"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 174","np":4,"cix":2,"ix":174,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[4.17,0.753],[2.658,-3.007],[-4.17,-0.234],[-1.381,3.008]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.8,0.216000007181,0.216000007181,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[67.476,258.049],"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 175","np":4,"cix":2,"ix":175,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[1.79,-5.427],[5.038,2.654],[-1.79,5.427],[-5.038,-2.655]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.184000007779,0.184000007779,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[65.096,252.387],"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 176","np":4,"cix":2,"ix":176,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.216,-0.537],[0,0],[-0.216,-0.537],[-0.216,-0.537],[0,0],[0.351,0.872],[0,0],[0.35,0.873],[0,0]],"o":[[0.216,0.537],[0.216,0.538],[0,0],[0.216,0.538],[0,0],[0,0],[-0.351,-0.873],[0,0],[-0.351,-0.872],[0,0]],"v":[[-3.919,-8.705],[-3.848,-3.892],[-2.023,0.65],[-0.197,5.193],[3.079,8.705],[3.728,10.316],[4.215,8.244],[0.715,-0.462],[-2.783,-9.167],[-4.566,-10.316]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.2,0.322000002394,0.560999971278,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[62.682,253.538],"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 177","np":4,"cix":2,"ix":177,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-0.276,-0.686],[-0.663,0.27],[0,0]],"o":[[0,0],[-0.663,0.27],[0.276,0.687],[0,0],[0,0]],"v":[[1.373,-1.939],[-1.394,-0.816],[-2.096,0.915],[-0.395,1.669],[2.372,0.547]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.322000002394,0.128999986836,0.105999995213,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[59.426,254.789],"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 178","np":4,"cix":2,"ix":178,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[1.685,-2.725],[2.946,0.412],[-2.751,2.725],[-2.946,-0.844]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.8,0.216000007181,0.216000007181,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[57.381,249.991],"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 179","np":4,"cix":2,"ix":179,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[3.479,0.628],[2.217,-2.509],[-3.479,-0.195],[-1.152,2.509]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.8,0.216000007181,0.216000007181,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[60.819,259.654],"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 180","np":4,"cix":2,"ix":180,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[1.493,-4.528],[4.203,2.214],[-1.493,4.528],[-4.203,-2.215]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.184000007779,0.184000007779,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[58.834,254.931],"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 181","np":4,"cix":2,"ix":181,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.18,-0.448],[-0.181,-0.449],[0,0],[-0.18,-0.449],[-0.179,-0.448],[0,0],[0.293,0.728],[0,0],[0.293,0.729],[0,0]],"o":[[0.18,0.448],[0.179,0.448],[0,0],[0.181,0.448],[0.181,0.449],[0,0],[-0.293,-0.729],[0,0],[-0.293,-0.727],[0,0]],"v":[[-3.269,-7.262],[-3.21,-3.246],[-1.687,0.544],[-0.165,4.333],[2.568,7.262],[3.109,8.606],[3.516,6.878],[0.598,-0.384],[-2.322,-7.647],[-3.81,-8.606]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.2,0.322000002394,0.560999971278,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[56.82,255.89],"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 182","np":4,"cix":2,"ix":182,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-0.475,-1.179],[-1.141,0.463],[0,0]],"o":[[0,0],[-1.14,0.463],[0.474,1.181],[0,0],[0,0]],"v":[[1.027,-2.793],[-1.063,-1.943],[-2.269,1.031],[0.655,2.329],[2.744,1.48]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.811999990426,0.435000011968,0.187999994615,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[54.389,256.789],"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 183","np":4,"cix":2,"ix":183,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-1.2,-1.533],[-1.482,1.172],[0,0]],"o":[[0,0],[-1.482,1.172],[1.201,1.533],[0,0],[0,0]],"v":[[0.871,-5.095],[-3.51,-1.628],[-4.018,3.27],[0.839,3.923],[5.219,0.456]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.322000002394,0.128999986836,0.105999995213,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[109.612,267.586],"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 184","np":4,"cix":2,"ix":184,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-1.2,-1.533],[-1.482,1.172],[0,0]],"o":[[0,0],[-1.481,1.172],[1.201,1.533],[0,0],[0,0]],"v":[[0.87,-5.095],[-3.51,-1.628],[-4.019,3.27],[0.838,3.923],[5.218,0.456]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.322000002394,0.128999986836,0.105999995213,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[134.953,299.937],"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 185","np":4,"cix":2,"ix":185,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-0.779,-0.994],[-0.961,0.761],[0,0]],"o":[[0,0],[-0.96,0.761],[0.779,0.994],[0,0],[0,0]],"v":[[1.059,-3.696],[-2.771,-0.666],[-3.1,2.511],[0.049,2.934],[3.879,-0.095]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.322000002394,0.128999986836,0.105999995213,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[119.347,286.117],"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 186","np":4,"cix":2,"ix":186,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-1.197,-1.528],[-1.477,1.169],[0,0]],"o":[[0,0],[-1.477,1.169],[1.197,1.529],[0,0],[0,0]],"v":[[1.628,-5.681],[-4.258,-1.023],[-4.765,3.861],[0.077,4.512],[5.963,-0.147]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.322000002394,0.128999986836,0.105999995213,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[137.758,271.513],"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 187","np":4,"cix":2,"ix":187,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-1.95,-2.49],[-2.406,1.905],[0,0]],"o":[[0,0],[-2.406,1.904],[1.95,2.489],[0,0],[0,0]],"v":[[2.968,-9.505],[-7.254,-1.415],[-8.08,6.542],[-0.192,7.601],[10.03,-0.488]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.588000009574,0.224000010771,0.184000007779,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[135.055,273.597],"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 188","np":4,"cix":2,"ix":188,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-1.95,-2.489],[-2.407,1.904],[0,0]],"o":[[0,0],[-2.406,1.904],[1.951,2.49],[0,0],[0,0]],"v":[[7.253,-12.897],[-11.539,1.976],[-12.365,9.932],[-4.476,10.993],[14.315,-3.88]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.870999983245,0.380000005984,0.270999983245,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[120.956,284.755],"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 189","np":4,"cix":2,"ix":189,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-3.993,-5.098],[-4.927,3.9],[0,0]],"o":[[0,0],[-4.927,3.9],[3.994,5.099],[0,0],[0,0]],"v":[[6.078,-19.465],[-14.855,-2.898],[-16.546,13.395],[-0.392,15.565],[20.54,-1.001]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.842999985639,0.560999971278,0.411999990426,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[128.245,278.833],"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 190","np":4,"cix":2,"ix":190,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-16.867,-24.393],[19.632,22.206],[16.868,24.393],[-19.632,-22.204]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.322000002394,0.128999986836,0.105999995213,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[126.349,280.632],"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 191","np":4,"cix":2,"ix":191,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-16.712,-25.623],[20.858,22.341],[16.711,25.623],[-20.858,-22.342]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.588000009574,0.224000010771,0.184000007779,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[139.481,270.241],"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 192","np":4,"cix":2,"ix":192,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-3.994,-5.099],[-4.927,3.9],[0,0]],"o":[[0,0],[-4.928,3.9],[3.994,5.1],[0,0],[0,0]],"v":[[-2.232,-12.889],[-6.546,-9.475],[-8.237,6.818],[7.917,8.989],[12.23,5.576]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.769000004787,0.298000021542,0.19199999641,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[112.771,291.08],"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 193","np":4,"cix":2,"ix":193,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-4.153,-33.883],[31.792,12.008],[4.153,33.883],[-31.792,-12.008]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.769000004787,0.298000021542,0.19199999641,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[124.555,282.053],"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 194","np":4,"cix":2,"ix":194,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-5.499,-7.02],[-6.784,5.369],[0,0]],"o":[[0,0],[-6.784,5.369],[5.498,7.019],[0,0],[0,0]],"v":[[-2.41,-18.27],[-9.674,-12.52],[-12.002,9.913],[10.237,12.901],[17.501,7.152]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.842999985639,0.560999971278,0.411999990426,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[112.506,291.176],"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 195","np":4,"cix":2,"ix":195,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-16.003,-24.654],[19.942,21.237],[17.235,24.654],[-19.942,-22.81]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.842999985639,0.560999971278,0.411999990426,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[108.766,294.699],"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 196","np":4,"cix":2,"ix":196,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.29,0.229],[-0.228,-0.29],[0,0],[0.289,-0.228],[0.228,0.29],[0,0]],"o":[[0.289,-0.229],[0,0],[0.228,0.291],[-0.289,0.23],[0,0],[-0.227,-0.291]],"v":[[-4.372,-5.582],[-3.436,-5.471],[4.483,4.64],[4.372,5.581],[3.436,5.47],[-4.484,-4.641]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.588000009574,0.224000010771,0.184000007779,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[79.584,291.558],"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 197","np":4,"cix":2,"ix":197,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-0.853,-0.532],[-0.316,-0.958],[0.852,0.533],[0.314,0.958]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.769000004787,0.298000021542,0.19199999641,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[70.542,298.713],"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 198","np":4,"cix":2,"ix":198,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[1.036,-1.258],[1.458,-0.717],[-1.036,1.258],[-1.459,0.717]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.769000004787,0.298000021542,0.19199999641,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[70.811,298.501],"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 199","np":4,"cix":2,"ix":199,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-0.002,-1.714],[1.657,0.404],[0.002,1.714],[-1.657,-0.404]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.842999985639,0.560999971278,0.411999990426,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[73.47,296.396],"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 200","np":4,"cix":2,"ix":200,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-0.677,-1.469],[1.262,1.007],[0.677,1.469],[-1.262,-1.006]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.588000009574,0.224000010771,0.184000007779,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[72.351,297.282],"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 201","np":4,"cix":2,"ix":201,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-0.475,-1.816],[1.646,0.891],[0.475,1.816],[-1.646,-0.889]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.588000009574,0.224000010771,0.184000007779,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[74.883,295.278],"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 202","np":4,"cix":2,"ix":202,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-0.871,-1.111],[-2.291,1.813],[0,0]],"o":[[0,0],[-2.291,1.812],[0.871,1.112],[0,0],[0,0]],"v":[[-0.055,-3.003],[-0.236,-2.86],[-2.807,2.434],[2.918,1.164],[3.098,1.022]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.722000002394,0.451000019148,0.310000011968,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[78.098,292.52],"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 203","np":4,"cix":2,"ix":203,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-2.22,-2.835],[-2.291,1.813],[0,0]],"o":[[0,0],[-2.291,1.812],[2.221,2.835],[0,0],[0,0]],"v":[[-2.758,-6.111],[-2.938,-5.968],[-3.065,2.448],[5.105,4.298],[5.285,4.156]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.842999985639,0.560999971278,0.411999990426,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[78.356,292.507],"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 204","np":4,"cix":2,"ix":204,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-1.004,-1.282],[-1.239,0.981],[0,0]],"o":[[0,0],[-1.239,0.981],[1.004,1.281],[0,0],[0,0]],"v":[[0.728,-4.26],[-2.934,-1.362],[-3.359,2.734],[0.701,3.279],[4.363,0.381]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.588000009574,0.224000010771,0.184000007779,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[92.219,281.482],"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 205","np":4,"cix":2,"ix":205,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-5.68,-5.34],[3.736,6.681],[5.68,4.3],[-2.921,-6.681]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.842999985639,0.560999971278,0.411999990426,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[84.168,288.028],"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 206","np":4,"cix":2,"ix":206,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-1.286,-7.29],[6.749,2.966],[1.285,7.29],[-6.749,-2.967]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.769000004787,0.298000021542,0.19199999641,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[82.352,289.368],"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 207","np":4,"cix":2,"ix":207,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[0.611,-9.378],[9.212,1.603],[-0.611,9.378],[-9.212,-1.604]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.769000004787,0.298000021542,0.19199999641,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[90.459,282.95],"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 208","np":4,"cix":2,"ix":208,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.289,0.229],[-0.229,-0.291],[0,0],[0.289,-0.229],[0.228,0.291],[0,0]],"o":[[0.29,-0.229],[0,0],[0.227,0.291],[-0.29,0.229],[0,0],[-0.228,-0.291]],"v":[[-4.372,-5.582],[-3.435,-5.47],[4.484,4.641],[4.373,5.582],[3.436,5.47],[-4.483,-4.641]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.588000009574,0.224000010771,0.184000007779,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[104.812,323.766],"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 209","np":4,"cix":2,"ix":209,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-0.852,-0.533],[-0.316,-0.958],[0.853,0.533],[0.316,0.958]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.769000004787,0.298000021542,0.19199999641,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[95.77,330.922],"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 210","np":4,"cix":2,"ix":210,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[1.036,-1.257],[1.459,-0.717],[-1.035,1.257],[-1.459,0.718]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.769000004787,0.298000021542,0.19199999641,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[96.039,330.71],"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 211","np":4,"cix":2,"ix":211,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-0.002,-1.714],[1.657,0.405],[0.002,1.714],[-1.657,-0.404]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.842999985639,0.560999971278,0.411999990426,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[98.699,328.604],"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 212","np":4,"cix":2,"ix":212,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-0.677,-1.469],[1.262,1.006],[0.677,1.469],[-1.262,-1.006]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.588000009574,0.224000010771,0.184000007779,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[97.579,329.491],"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 213","np":4,"cix":2,"ix":213,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-0.475,-1.816],[1.645,0.889],[0.474,1.816],[-1.645,-0.89]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.588000009574,0.224000010771,0.184000007779,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[100.112,327.487],"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 214","np":4,"cix":2,"ix":214,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-0.871,-1.111],[-2.291,1.812],[0,0]],"o":[[0,0],[-2.291,1.812],[0.871,1.113],[0,0],[0,0]],"v":[[-0.056,-3.003],[-0.236,-2.86],[-2.807,2.434],[2.917,1.165],[3.098,1.022]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.722000002394,0.451000019148,0.310000011968,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[103.327,324.728],"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 215","np":4,"cix":2,"ix":215,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-2.22,-2.835],[-2.291,1.813],[0,0]],"o":[[0,0],[-2.29,1.813],[2.221,2.835],[0,0],[0,0]],"v":[[-2.758,-6.111],[-2.938,-5.969],[-3.065,2.447],[5.105,4.298],[5.285,4.156]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.842999985639,0.560999971278,0.411999990426,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[103.584,324.716],"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 216","np":4,"cix":2,"ix":216,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-1.004,-1.281],[-1.239,0.981],[0,0]],"o":[[0,0],[-1.238,0.981],[1.004,1.281],[0,0],[0,0]],"v":[[0.727,-4.26],[-2.935,-1.363],[-3.36,2.733],[0.702,3.279],[4.363,0.381]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.588000009574,0.224000010771,0.184000007779,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[117.448,313.691],"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 217","np":4,"cix":2,"ix":217,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-5.68,-5.34],[3.736,6.681],[5.68,4.3],[-2.921,-6.681]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.842999985639,0.560999971278,0.411999990426,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[109.397,320.236],"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 218","np":4,"cix":2,"ix":218,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-1.285,-7.29],[6.749,2.966],[1.286,7.29],[-6.749,-2.966]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.769000004787,0.298000021542,0.19199999641,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[107.58,321.576],"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 219","np":4,"cix":2,"ix":219,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[0.611,-9.377],[9.212,1.603],[-0.611,9.377],[-9.212,-1.604]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.769000004787,0.298000021542,0.19199999641,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[115.688,315.159],"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 220","np":4,"cix":2,"ix":220,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-8.038,-2.556],[-1.698,21.509],[8.038,-21.509]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.783999992819,0.722000002394,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[64.603,173.777],"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 221","np":4,"cix":2,"ix":221,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-12.322,-3.919],[-2.603,32.971],[12.323,-32.971]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.541000007181,0.569000004787,0.522000002394,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[65.901,174.458],"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 222","np":4,"cix":2,"ix":222,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[2.863,-1.797],[1.809,2.861],[-2.863,1.796],[-1.808,-2.861]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.541000007181,0.569000004787,0.522000002394,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[110.337,159.752],"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 223","np":4,"cix":2,"ix":223,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[1.923,-2.01],[0.869,2.648],[-1.923,2.011],[-0.869,-2.647]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.541000007181,0.569000004787,0.522000002394,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[79.989,152.831],"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 224","np":4,"cix":2,"ix":224,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[15.31,1.459],[14.492,5.074],[-15.31,-2.014],[-14.617,-5.074]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.783999992819,0.722000002394,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[95.401,156.478],"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 225","np":4,"cix":2,"ix":225,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[2.863,-1.797],[1.809,2.861],[-2.863,1.796],[-1.809,-2.861]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.541000007181,0.569000004787,0.522000002394,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[108.294,168.779],"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 226","np":4,"cix":2,"ix":226,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[1.924,-2.011],[0.868,2.647],[-1.924,2.01],[-0.869,-2.648]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.541000007181,0.569000004787,0.522000002394,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[77.946,161.858],"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 227","np":4,"cix":2,"ix":227,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[15.31,1.459],[14.492,5.074],[-15.31,-2.014],[-14.617,-5.074]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.783999992819,0.722000002394,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[93.358,165.504],"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 228","np":4,"cix":2,"ix":228,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[2.863,-1.797],[1.809,2.861],[-2.863,1.796],[-1.809,-2.861]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.541000007181,0.569000004787,0.522000002394,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[106.251,177.805],"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 229","np":4,"cix":2,"ix":229,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[1.923,-2.01],[0.869,2.648],[-1.923,2.011],[-0.869,-2.647]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.541000007181,0.569000004787,0.522000002394,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[75.903,170.884],"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 230","np":4,"cix":2,"ix":230,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[15.31,1.459],[14.492,5.074],[-15.31,-2.014],[-14.617,-5.074]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.783999992819,0.722000002394,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[91.316,174.531],"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 231","np":4,"cix":2,"ix":231,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[2.863,-1.797],[1.809,2.861],[-2.863,1.796],[-1.809,-2.861]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.541000007181,0.569000004787,0.522000002394,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[104.208,186.832],"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 232","np":4,"cix":2,"ix":232,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[1.924,-2.01],[0.87,2.648],[-1.924,2.011],[-0.869,-2.647]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.541000007181,0.569000004787,0.522000002394,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[73.86,179.911],"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 233","np":4,"cix":2,"ix":233,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[15.31,1.459],[14.492,5.074],[-15.31,-2.014],[-14.617,-5.074]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.783999992819,0.722000002394,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[89.272,183.557],"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 234","np":4,"cix":2,"ix":234,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[2.863,-1.797],[1.809,2.861],[-2.863,1.796],[-1.808,-2.861]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.541000007181,0.569000004787,0.522000002394,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[102.165,195.858],"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 235","np":4,"cix":2,"ix":235,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[1.924,-2.011],[0.87,2.647],[-1.924,2.01],[-0.869,-2.648]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.541000007181,0.569000004787,0.522000002394,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[71.817,188.938],"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 236","np":4,"cix":2,"ix":236,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[15.31,1.459],[14.492,5.074],[-15.31,-2.014],[-14.617,-5.074]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.783999992819,0.722000002394,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[87.23,192.584],"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 237","np":4,"cix":2,"ix":237,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[2.863,-1.797],[1.808,2.861],[-2.863,1.796],[-1.808,-2.861]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.541000007181,0.569000004787,0.522000002394,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[100.122,204.885],"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 238","np":4,"cix":2,"ix":238,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[1.924,-2.01],[0.87,2.648],[-1.924,2.011],[-0.869,-2.647]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.541000007181,0.569000004787,0.522000002394,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[69.774,197.964],"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 239","np":4,"cix":2,"ix":239,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[15.31,1.46],[14.492,5.074],[-15.31,-2.013],[-14.617,-5.074]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.783999992819,0.722000002394,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[85.187,201.61],"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 240","np":4,"cix":2,"ix":240,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[9.137,-29.077],[-4.276,30.186],[-9.138,29.077],[4.275,-30.186]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.783999992819,0.722000002394,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[114.023,184.324],"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 241","np":4,"cix":2,"ix":241,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[7.367,-26.217],[-4.642,26.84],[-7.367,26.219],[4.641,-26.839]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.62400004069,0.658999992819,0.603999956916,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[72.123,174.768],"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 242","np":4,"cix":2,"ix":242,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[9.033,-27.251],[-3.583,28.494],[-9.033,27.25],[3.583,-28.494]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.62400004069,0.658999992819,0.603999956916,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[110.29,183.473],"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 243","np":4,"cix":2,"ix":243,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.529,-0.369],[0.367,-0.531],[0.529,0.369],[-0.367,0.532]],"o":[[0.529,0.369],[-0.367,0.532],[-0.529,-0.369],[0.367,-0.531]],"v":[[0.665,-0.963],[0.958,0.668],[-0.665,0.963],[-0.958,-0.669]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.689999988032,0.113999998803,0.023999999551,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[89.582,110.001],"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 244","np":4,"cix":2,"ix":244,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[15.573,-5.379],[16.13,3.332],[-15.573,5.379],[-16.13,-3.332]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.889999988032,0.654999976065,0.337000020345,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[111.641,103.762],"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 245","np":4,"cix":2,"ix":245,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[15.573,-5.379],[16.13,3.332],[-15.573,5.379],[-16.13,-3.332]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.889999988032,0.654999976065,0.337000020345,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[67.523,116.24],"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 246","np":4,"cix":2,"ix":246,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.015,-0.243],[0.242,-0.015],[0,0],[0.015,0.242],[-0.241,0.015]],"o":[[0.242,-0.016],[0.016,0.242],[0,0],[-0.242,0.016],[-0.015,-0.243],[0,0]],"v":[[38.929,-2.955],[39.394,-2.542],[38.985,-2.075],[-38.929,2.955],[-39.395,2.544],[-38.986,2.076]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.54900004069,0.298000021542,0.078000005086,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[89.582,110.001],"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 247","np":4,"cix":2,"ix":247,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[5.351,15.654],[-3.315,16.214],[-5.351,-15.654],[3.315,-16.214]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.889999988032,0.654999976065,0.337000020345,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[95.788,132.175],"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 248","np":4,"cix":2,"ix":248,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[5.351,15.654],[-3.314,16.214],[-5.351,-15.654],[3.314,-16.214]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.889999988032,0.654999976065,0.337000020345,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[83.376,87.827],"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 249","np":4,"cix":2,"ix":249,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.242,-0.015],[0.016,0.242],[0,0],[-0.241,0.016],[-0.016,-0.243]],"o":[[0.016,0.243],[-0.242,0.016],[0,0],[-0.016,-0.243],[0.241,-0.016],[0,0]],"v":[[2.939,39.131],[2.53,39.599],[2.064,39.188],[-2.939,-39.132],[-2.53,-39.6],[-2.064,-39.188]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.54900004069,0.298000021542,0.078000005086,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[89.582,110.001],"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 250","np":4,"cix":2,"ix":250,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.912,-0.636],[0.633,-0.916],[0.912,0.636],[-0.633,0.916]],"o":[[0.911,0.636],[-0.633,0.916],[-0.912,-0.636],[0.633,-0.916]],"v":[[1.146,-1.659],[1.65,1.152],[-1.146,1.659],[-1.651,-1.151]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.579999976065,0.093999997307,0.019999999626,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[89.582,110.001],"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 251","np":4,"cix":2,"ix":251,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[2.29,-0.251],[0.566,2.244],[-2.29,0.251],[-0.567,-2.244]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.579999976065,0.093999997307,0.019999999626,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[115.794,125.908],"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 252","np":4,"cix":2,"ix":252,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[2.29,-0.251],[0.566,2.244],[-2.29,0.251],[-0.567,-2.244]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.579999976065,0.093999997307,0.019999999626,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[113.576,129.12],"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 253","np":4,"cix":2,"ix":253,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[2.29,-0.252],[0.567,2.244],[-2.29,0.251],[-0.566,-2.244]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.579999976065,0.093999997307,0.019999999626,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[112.221,123.416],"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 254","np":4,"cix":2,"ix":254,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[2.29,-0.251],[0.566,2.244],[-2.29,0.251],[-0.566,-2.244]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.579999976065,0.093999997307,0.019999999626,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[110.003,126.628],"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 255","np":4,"cix":2,"ix":255,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[6.314,-0.868],[1.4,6.25],[-6.314,0.868],[-1.4,-6.25]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.630999995213,0.141000007181,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[112.899,126.268],"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 256","np":4,"cix":2,"ix":256,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[2.29,-0.251],[0.566,2.244],[-2.29,0.251],[-0.566,-2.244]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.579999976065,0.093999997307,0.019999999626,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[104.289,117.882],"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 257","np":4,"cix":2,"ix":257,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[2.29,-0.251],[0.566,2.244],[-2.29,0.251],[-0.567,-2.244]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.579999976065,0.093999997307,0.019999999626,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[102.071,121.094],"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 258","np":4,"cix":2,"ix":258,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[2.29,-0.251],[0.566,2.244],[-2.29,0.251],[-0.567,-2.244]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.579999976065,0.093999997307,0.019999999626,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[100.716,115.389],"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 259","np":4,"cix":2,"ix":259,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[2.29,-0.251],[0.566,2.244],[-2.29,0.251],[-0.566,-2.244]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.579999976065,0.093999997307,0.019999999626,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[98.499,118.601],"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 260","np":4,"cix":2,"ix":260,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[6.314,-0.868],[1.399,6.25],[-6.314,0.868],[-1.4,-6.25]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.630999995213,0.141000007181,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[101.394,118.242],"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 261","np":4,"cix":2,"ix":261,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.396,-0.276],[0.275,-0.398],[0,0],[0.396,0.277],[-0.275,0.398],[0,0]],"o":[[0.396,0.276],[0,0],[-0.275,0.398],[-0.396,-0.276],[0,0],[0.275,-0.398]],"v":[[8.087,-11.714],[8.307,-10.493],[-6.873,11.493],[-8.088,11.713],[-8.307,10.492],[6.873,-11.494]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.638999968884,0.344999994016,0.090000002992,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[93.23,112.546],"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 262","np":4,"cix":2,"ix":262,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[2.078,-3.009],[-4.613,-3.35]],"o":[[-4.736,-3.172],[-2.078,3.01],[0,0]],"v":[[7.165,-3.878],[-5.087,-4.207],[-0.495,7.216]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.830999995213,0.352999997606,0.102000000898,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[89.998,110.948],"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 263","np":4,"cix":2,"ix":263,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[4.037,-5.847],[-5.656,-4.202]],"o":[[-5.895,-3.856],[-4.037,5.847],[0,0]],"v":[[10.942,-8.849],[-6.904,-5.331],[-3.941,12.705]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.870999983245,0.470999983245,0.125,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[89.832,110.689],"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 264","np":4,"cix":2,"ix":264,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[19.542,13.634],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[19.542,13.633],[0,0],[0,0],[0,0]],"v":[[-14.505,-19.931],[-18.518,-14.118],[-22.531,-8.306],[8.119,19.931],[15.325,9.493],[22.531,-0.944]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.122000002394,0.027000000898,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[111.244,126.312],"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 265","np":4,"cix":2,"ix":265,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[19.542,13.634],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[19.542,13.634],[0,0],[0,0],[0,0]],"v":[[-12.749,-25.833],[-19.678,-15.798],[-26.607,-5.764],[1.725,25.833],[14.166,7.814],[26.607,-10.206]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.579999976065,0.093999997307,0.019999999626,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[112.403,127.992],"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 266","np":4,"cix":2,"ix":266,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.214,-0.15],[0.149,-0.216],[0,0],[0.214,0.149],[-0.149,0.216],[0,0]],"o":[[0.214,0.149],[0,0],[-0.149,0.215],[-0.215,-0.15],[0,0],[0.148,-0.215]],"v":[[3.087,-4.471],[3.206,-3.809],[-2.43,4.353],[-3.087,4.471],[-3.206,3.811],[2.43,-4.351]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.638999968884,0.344999994016,0.090000002992,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[136.061,142.427],"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 267","np":4,"cix":2,"ix":267,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[6.169,0.076],[2.228,5.783],[-6.17,-0.076],[-2.23,-5.783]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.579999976065,0.093999997307,0.019999999626,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[132.25,139.769],"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 268","np":4,"cix":2,"ix":268,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[-5.569,8.065],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[5.569,-8.065],[0,0]],"v":[[4.473,-18.39],[-4.437,-3.484],[-15.213,10.12],[-6.546,18.39],[6.147,3.9],[15.212,-13.121]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.870999983245,0.470999983245,0.125,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[129.891,138.511],"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 269","np":4,"cix":2,"ix":269,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[1.164,-1.685],[-1.629,-1.211]],"o":[[-1.699,-1.111],[-1.163,1.686],[0,0]],"v":[[3.154,-2.551],[-1.991,-1.537],[-1.137,3.662]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.630999995213,0.141000007181,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[82.974,105.539],"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 270","np":4,"cix":2,"ix":270,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.058,-0.129],[0.128,0.058],[0,0],[-0.057,0.129],[-0.128,-0.058],[0,0]],"o":[[-0.058,0.129],[0,0],[-0.128,-0.057],[0.058,-0.13],[0,0],[0.128,0.058]],"v":[[7.781,3.51],[7.444,3.64],[-7.654,-3.173],[-7.781,-3.511],[-7.444,-3.64],[7.652,3.171]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.779999976065,0.556999954523,0.39199999641,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[288.09,18.685],"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 271","np":4,"cix":2,"ix":271,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-0.115,0.908],[-0.598,0.69],[0.115,-0.908],[0.599,-0.69]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.779999976065,0.556999954523,0.39199999641,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[294.732,22.661],"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 272","np":4,"cix":2,"ix":272,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-0.116,0.908],[-0.598,0.69],[0.114,-0.908],[0.598,-0.69]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.779999976065,0.556999954523,0.39199999641,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[293.331,22.028],"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 273","np":4,"cix":2,"ix":273,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-0.116,0.908],[-0.598,0.69],[0.115,-0.908],[0.598,-0.69]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.779999976065,0.556999954523,0.39199999641,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[291.93,21.396],"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 274","np":4,"cix":2,"ix":274,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-0.115,0.908],[-0.598,0.69],[0.115,-0.908],[0.598,-0.69]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.779999976065,0.556999954523,0.39199999641,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[290.528,20.764],"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 275","np":4,"cix":2,"ix":275,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-0.115,0.908],[-0.598,0.69],[0.115,-0.908],[0.598,-0.69]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.779999976065,0.556999954523,0.39199999641,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[289.127,20.132],"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 276","np":4,"cix":2,"ix":276,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-0.115,0.908],[-0.598,0.69],[0.115,-0.908],[0.599,-0.69]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.779999976065,0.556999954523,0.39199999641,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[287.726,19.5],"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 277","np":4,"cix":2,"ix":277,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-0.116,0.908],[-0.599,0.69],[0.114,-0.908],[0.598,-0.69]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.779999976065,0.556999954523,0.39199999641,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[286.325,18.867],"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 278","np":4,"cix":2,"ix":278,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-0.116,0.908],[-0.599,0.69],[0.114,-0.908],[0.598,-0.69]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.779999976065,0.556999954523,0.39199999641,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[284.923,18.235],"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 279","np":4,"cix":2,"ix":279,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-0.116,0.908],[-0.598,0.69],[0.114,-0.908],[0.598,-0.69]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.779999976065,0.556999954523,0.39199999641,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[283.522,17.603],"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 280","np":4,"cix":2,"ix":280,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-0.116,0.908],[-0.598,0.69],[0.115,-0.908],[0.598,-0.69]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.779999976065,0.556999954523,0.39199999641,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[282.121,16.97],"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 281","np":4,"cix":2,"ix":281,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-0.115,0.908],[-0.598,0.69],[0.115,-0.908],[0.598,-0.69]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.779999976065,0.556999954523,0.39199999641,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[280.719,16.338],"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 282","np":4,"cix":2,"ix":282,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[8.275,4.328],[-8.716,-3.339],[-8.275,-4.328],[8.716,3.339]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.779999976065,0.556999954523,0.39199999641,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[283.362,29.271],"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 283","np":4,"cix":2,"ix":283,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.586,0.265],[0.262,-0.589],[0,0]],"o":[[0,0],[0.264,-0.59],[-0.587,-0.264],[0,0],[0,0]],"v":[[-0.116,3.245],[1.974,-1.435],[1.39,-2.981],[-0.148,-2.393],[-2.238,2.287]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.505999995213,0.33300000359,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[290.316,29.062],"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 284","np":4,"cix":2,"ix":284,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.586,0.264],[0.262,-0.59],[0,0]],"o":[[0,0],[0.264,-0.589],[-0.586,-0.265],[0,0],[0,0]],"v":[[-0.115,3.245],[1.975,-1.436],[1.389,-2.98],[-0.147,-2.392],[-2.238,2.288]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.505999995213,0.33300000359,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[286.477,27.329],"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 285","np":4,"cix":2,"ix":285,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.586,0.265],[0.263,-0.589],[0,0]],"o":[[0,0],[0.263,-0.59],[-0.586,-0.264],[0,0],[0,0]],"v":[[-0.115,3.245],[1.975,-1.435],[1.39,-2.981],[-0.148,-2.393],[-2.238,2.287]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.505999995213,0.33300000359,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[282.637,25.597],"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 286","np":4,"cix":2,"ix":286,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.586,0.265],[0.263,-0.589],[0,0]],"o":[[0,0],[0.263,-0.59],[-0.586,-0.264],[0,0],[0,0]],"v":[[-0.116,3.245],[1.975,-1.435],[1.39,-2.981],[-0.148,-2.393],[-2.238,2.287]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.505999995213,0.33300000359,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[278.799,23.865],"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 287","np":4,"cix":2,"ix":287,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[11.154,5.673],[-11.63,-4.608],[-11.155,-5.673],[11.63,4.608]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.779999976065,0.556999954523,0.39199999641,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[279.016,39.004],"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 288","np":4,"cix":2,"ix":288,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.631,0.286],[0.283,-0.635],[0,0]],"o":[[0,0],[0.283,-0.634],[-0.631,-0.284],[0,0],[0,0]],"v":[[-0.124,3.495],[2.127,-1.546],[1.497,-3.211],[-0.159,-2.577],[-2.41,2.463]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.505999995213,0.33300000359,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[288.655,39.749],"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 289","np":4,"cix":2,"ix":289,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.631,0.286],[0.283,-0.635],[0,0]],"o":[[0,0],[0.283,-0.634],[-0.631,-0.284],[0,0],[0,0]],"v":[[-0.124,3.495],[2.127,-1.546],[1.497,-3.211],[-0.159,-2.577],[-2.41,2.463]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.505999995213,0.33300000359,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[284.521,37.883],"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 290","np":4,"cix":2,"ix":290,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.632,0.286],[0.284,-0.635],[0,0]],"o":[[0,0],[0.283,-0.634],[-0.631,-0.284],[0,0],[0,0]],"v":[[-0.124,3.495],[2.127,-1.546],[1.497,-3.211],[-0.159,-2.577],[-2.41,2.463]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.505999995213,0.33300000359,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[280.386,36.018],"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 291","np":4,"cix":2,"ix":291,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.632,0.285],[0.283,-0.635],[0,0]],"o":[[0,0],[0.283,-0.634],[-0.631,-0.285],[0,0],[0,0]],"v":[[-0.124,3.495],[2.127,-1.546],[1.497,-3.21],[-0.158,-2.577],[-2.41,2.464]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.505999995213,0.33300000359,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[276.251,34.152],"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 292","np":4,"cix":2,"ix":292,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.632,0.285],[0.283,-0.635],[0,0]],"o":[[0,0],[0.283,-0.634],[-0.631,-0.285],[0,0],[0,0]],"v":[[-0.125,3.495],[2.126,-1.546],[1.496,-3.21],[-0.159,-2.577],[-2.41,2.464]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.505999995213,0.33300000359,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[272.117,32.286],"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 293","np":4,"cix":2,"ix":293,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[11.154,5.673],[-11.63,-4.608],[-11.155,-5.673],[11.63,4.608]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.779999976065,0.556999954523,0.39199999641,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[275.12,47.726],"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 294","np":4,"cix":2,"ix":294,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.632,0.286],[0.284,-0.635],[0,0]],"o":[[0,0],[0.283,-0.634],[-0.631,-0.284],[0,0],[0,0]],"v":[[-0.124,3.495],[2.127,-1.546],[1.497,-3.211],[-0.159,-2.577],[-2.41,2.463]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.505999995213,0.33300000359,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[284.76,48.472],"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 295","np":4,"cix":2,"ix":295,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.632,0.286],[0.284,-0.635],[0,0]],"o":[[0,0],[0.283,-0.634],[-0.631,-0.284],[0,0],[0,0]],"v":[[-0.124,3.495],[2.127,-1.546],[1.497,-3.211],[-0.159,-2.577],[-2.41,2.463]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.505999995213,0.33300000359,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[280.625,46.606],"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 296","np":4,"cix":2,"ix":296,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.632,0.285],[0.283,-0.635],[0,0]],"o":[[0,0],[0.284,-0.634],[-0.631,-0.285],[0,0],[0,0]],"v":[[-0.125,3.495],[2.126,-1.546],[1.496,-3.21],[-0.159,-2.577],[-2.41,2.464]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.505999995213,0.33300000359,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[276.491,44.74],"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 297","np":4,"cix":2,"ix":297,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.632,0.285],[0.283,-0.635],[0,0]],"o":[[0,0],[0.284,-0.634],[-0.631,-0.285],[0,0],[0,0]],"v":[[-0.125,3.495],[2.126,-1.546],[1.496,-3.21],[-0.159,-2.577],[-2.41,2.464]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.505999995213,0.33300000359,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[272.356,42.875],"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 298","np":4,"cix":2,"ix":298,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.631,0.285],[0.283,-0.635],[0,0]],"o":[[0,0],[0.283,-0.634],[-0.632,-0.285],[0,0],[0,0]],"v":[[-0.124,3.495],[2.127,-1.546],[1.497,-3.21],[-0.159,-2.577],[-2.41,2.464]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.505999995213,0.33300000359,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[268.222,41.009],"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 299","np":4,"cix":2,"ix":299,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[11.154,5.673],[-11.631,-4.608],[-11.156,-5.673],[11.63,4.608]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.779999976065,0.556999954523,0.39199999641,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[271.225,56.449],"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 300","np":4,"cix":2,"ix":300,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.632,0.285],[0.283,-0.635],[0,0]],"o":[[0,0],[0.284,-0.634],[-0.631,-0.285],[0,0],[0,0]],"v":[[-0.125,3.495],[2.126,-1.546],[1.496,-3.21],[-0.159,-2.577],[-2.41,2.463]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.505999995213,0.33300000359,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[280.865,57.194],"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 301","np":4,"cix":2,"ix":301,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.632,0.285],[0.283,-0.635],[0,0]],"o":[[0,0],[0.284,-0.634],[-0.631,-0.285],[0,0],[0,0]],"v":[[-0.124,3.495],[2.126,-1.546],[1.496,-3.21],[-0.159,-2.577],[-2.41,2.464]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.505999995213,0.33300000359,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[276.73,55.329],"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 302","np":4,"cix":2,"ix":302,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.631,0.285],[0.283,-0.635],[0,0]],"o":[[0,0],[0.283,-0.634],[-0.632,-0.285],[0,0],[0,0]],"v":[[-0.124,3.495],[2.127,-1.546],[1.497,-3.21],[-0.159,-2.577],[-2.41,2.464]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.505999995213,0.33300000359,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[272.596,53.463],"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 303","np":4,"cix":2,"ix":303,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.631,0.285],[0.283,-0.635],[0,0]],"o":[[0,0],[0.283,-0.634],[-0.632,-0.285],[0,0],[0,0]],"v":[[-0.124,3.495],[2.127,-1.546],[1.497,-3.21],[-0.159,-2.577],[-2.41,2.464]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.505999995213,0.33300000359,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[268.461,51.597],"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 304","np":4,"cix":2,"ix":304,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.631,0.285],[0.283,-0.635],[0,0]],"o":[[0,0],[0.283,-0.634],[-0.632,-0.284],[0,0],[0,0]],"v":[[-0.124,3.495],[2.127,-1.546],[1.497,-3.211],[-0.159,-2.577],[-2.41,2.463]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.505999995213,0.33300000359,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[264.326,49.732],"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 305","np":4,"cix":2,"ix":305,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[11.155,5.673],[-11.63,-4.608],[-11.156,-5.673],[11.63,4.608]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.779999976065,0.556999954523,0.39199999641,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[267.33,65.172],"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 306","np":4,"cix":2,"ix":306,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.631,0.285],[0.283,-0.635],[0,0]],"o":[[0,0],[0.283,-0.634],[-0.632,-0.285],[0,0],[0,0]],"v":[[-0.124,3.495],[2.127,-1.546],[1.497,-3.21],[-0.159,-2.577],[-2.41,2.464]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.505999995213,0.33300000359,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[276.97,65.917],"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 307","np":4,"cix":2,"ix":307,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.631,0.285],[0.283,-0.635],[0,0]],"o":[[0,0],[0.283,-0.634],[-0.632,-0.285],[0,0],[0,0]],"v":[[-0.124,3.495],[2.127,-1.546],[1.497,-3.21],[-0.159,-2.577],[-2.41,2.464]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.505999995213,0.33300000359,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[272.835,64.051],"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 308","np":4,"cix":2,"ix":308,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.631,0.285],[0.283,-0.635],[0,0]],"o":[[0,0],[0.283,-0.634],[-0.632,-0.285],[0,0],[0,0]],"v":[[-0.124,3.495],[2.127,-1.546],[1.497,-3.21],[-0.159,-2.577],[-2.41,2.464]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.505999995213,0.33300000359,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[268.7,62.186],"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 309","np":4,"cix":2,"ix":309,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.631,0.285],[0.283,-0.635],[0,0]],"o":[[0,0],[0.283,-0.634],[-0.631,-0.284],[0,0],[0,0]],"v":[[-0.124,3.495],[2.127,-1.546],[1.497,-3.211],[-0.159,-2.577],[-2.41,2.463]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.505999995213,0.33300000359,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[264.565,60.32],"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 310","np":4,"cix":2,"ix":310,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.631,0.286],[0.283,-0.635],[0,0]],"o":[[0,0],[0.283,-0.634],[-0.631,-0.284],[0,0],[0,0]],"v":[[-0.124,3.495],[2.127,-1.546],[1.497,-3.211],[-0.159,-2.577],[-2.41,2.463]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.505999995213,0.33300000359,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[260.431,58.455],"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 311","np":4,"cix":2,"ix":311,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[11.154,5.673],[-11.63,-4.608],[-11.155,-5.673],[11.63,4.608]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.779999976065,0.556999954523,0.39199999641,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[263.435,73.895],"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 312","np":4,"cix":2,"ix":312,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.631,0.285],[0.283,-0.635],[0,0]],"o":[[0,0],[0.283,-0.634],[-0.632,-0.285],[0,0],[0,0]],"v":[[-0.124,3.495],[2.127,-1.546],[1.497,-3.21],[-0.159,-2.577],[-2.41,2.464]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.505999995213,0.33300000359,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[273.074,74.64],"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 313","np":4,"cix":2,"ix":313,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.631,0.285],[0.283,-0.635],[0,0]],"o":[[0,0],[0.283,-0.634],[-0.631,-0.285],[0,0],[0,0]],"v":[[-0.124,3.495],[2.127,-1.546],[1.497,-3.21],[-0.159,-2.577],[-2.41,2.464]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.505999995213,0.33300000359,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[268.939,72.774],"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 314","np":4,"cix":2,"ix":314,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.631,0.285],[0.283,-0.635],[0,0]],"o":[[0,0],[0.283,-0.634],[-0.631,-0.285],[0,0],[0,0]],"v":[[-0.124,3.495],[2.127,-1.546],[1.497,-3.21],[-0.159,-2.577],[-2.41,2.464]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.505999995213,0.33300000359,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[264.805,70.908],"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 315","np":4,"cix":2,"ix":315,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.632,0.286],[0.284,-0.635],[0,0]],"o":[[0,0],[0.283,-0.634],[-0.631,-0.284],[0,0],[0,0]],"v":[[-0.124,3.495],[2.127,-1.546],[1.497,-3.211],[-0.159,-2.577],[-2.41,2.463]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.505999995213,0.33300000359,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[260.67,69.043],"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 316","np":4,"cix":2,"ix":316,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.632,0.286],[0.283,-0.635],[0,0]],"o":[[0,0],[0.283,-0.634],[-0.631,-0.284],[0,0],[0,0]],"v":[[-0.124,3.495],[2.126,-1.546],[1.496,-3.211],[-0.159,-2.577],[-2.409,2.463]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.505999995213,0.33300000359,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[256.536,67.177],"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 317","np":4,"cix":2,"ix":317,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[11.154,5.673],[-11.63,-4.608],[-11.155,-5.673],[11.63,4.608]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.779999976065,0.556999954523,0.39199999641,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[259.539,82.617],"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 318","np":4,"cix":2,"ix":318,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.631,0.285],[0.283,-0.635],[0,0]],"o":[[0,0],[0.283,-0.634],[-0.631,-0.285],[0,0],[0,0]],"v":[[-0.124,3.495],[2.127,-1.546],[1.497,-3.21],[-0.159,-2.577],[-2.41,2.464]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.505999995213,0.33300000359,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[269.179,83.362],"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 319","np":4,"cix":2,"ix":319,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.632,0.285],[0.284,-0.635],[0,0]],"o":[[0,0],[0.283,-0.634],[-0.631,-0.285],[0,0],[0,0]],"v":[[-0.124,3.495],[2.127,-1.546],[1.497,-3.21],[-0.159,-2.577],[-2.41,2.464]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.505999995213,0.33300000359,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[265.044,81.497],"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 320","np":4,"cix":2,"ix":320,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.632,0.286],[0.283,-0.635],[0,0]],"o":[[0,0],[0.283,-0.634],[-0.631,-0.284],[0,0],[0,0]],"v":[[-0.124,3.495],[2.127,-1.546],[1.497,-3.211],[-0.158,-2.577],[-2.41,2.463]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.505999995213,0.33300000359,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[260.909,79.631],"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 321","np":4,"cix":2,"ix":321,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.632,0.285],[0.283,-0.635],[0,0]],"o":[[0,0],[0.284,-0.634],[-0.631,-0.285],[0,0],[0,0]],"v":[[-0.125,3.495],[2.126,-1.546],[1.496,-3.21],[-0.159,-2.577],[-2.41,2.463]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.505999995213,0.33300000359,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[256.775,77.766],"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 322","np":4,"cix":2,"ix":322,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.632,0.285],[0.283,-0.635],[0,0]],"o":[[0,0],[0.283,-0.634],[-0.631,-0.285],[0,0],[0,0]],"v":[[-0.125,3.495],[2.127,-1.546],[1.496,-3.21],[-0.159,-2.577],[-2.41,2.464]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.505999995213,0.33300000359,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[252.641,75.9],"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 323","np":4,"cix":2,"ix":323,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[11.154,5.673],[-11.63,-4.608],[-11.155,-5.673],[11.63,4.608]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.779999976065,0.556999954523,0.39199999641,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[255.644,91.34],"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 324","np":4,"cix":2,"ix":324,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.632,0.286],[0.283,-0.635],[0,0]],"o":[[0,0],[0.283,-0.634],[-0.631,-0.284],[0,0],[0,0]],"v":[[-0.124,3.495],[2.126,-1.546],[1.496,-3.211],[-0.159,-2.577],[-2.409,2.463]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.505999995213,0.33300000359,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[265.284,92.086],"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 325","np":4,"cix":2,"ix":325,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.632,0.286],[0.283,-0.635],[0,0]],"o":[[0,0],[0.284,-0.634],[-0.631,-0.284],[0,0],[0,0]],"v":[[-0.125,3.495],[2.126,-1.546],[1.496,-3.211],[-0.159,-2.577],[-2.41,2.463]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.505999995213,0.33300000359,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[261.149,90.22],"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 326","np":4,"cix":2,"ix":326,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.632,0.285],[0.283,-0.635],[0,0]],"o":[[0,0],[0.284,-0.634],[-0.631,-0.285],[0,0],[0,0]],"v":[[-0.125,3.495],[2.126,-1.546],[1.496,-3.21],[-0.159,-2.577],[-2.41,2.464]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.505999995213,0.33300000359,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[257.015,88.354],"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 327","np":4,"cix":2,"ix":327,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.631,0.285],[0.283,-0.635],[0,0]],"o":[[0,0],[0.283,-0.634],[-0.632,-0.285],[0,0],[0,0]],"v":[[-0.124,3.495],[2.127,-1.546],[1.497,-3.21],[-0.159,-2.577],[-2.41,2.464]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.505999995213,0.33300000359,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[252.88,86.488],"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 328","np":4,"cix":2,"ix":328,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.631,0.285],[0.283,-0.635],[0,0]],"o":[[0,0],[0.283,-0.634],[-0.632,-0.285],[0,0],[0,0]],"v":[[-0.124,3.495],[2.127,-1.546],[1.497,-3.21],[-0.159,-2.577],[-2.41,2.464]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741000007181,0.505999995213,0.33300000359,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[248.745,84.623],"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 329","np":4,"cix":2,"ix":329,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.677,0.305],[0.305,-0.681],[0,0]],"o":[[0,0],[0.304,-0.681],[-0.677,-0.306],[0,0],[0,0]],"v":[[-0.133,3.75],[2.282,-1.658],[1.606,-3.444],[-0.171,-2.765],[-2.586,2.643]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.689999988032,0.470999983245,0.310000011968,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[262.242,103.539],"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 330","np":4,"cix":2,"ix":330,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.678,0.306],[0.304,-0.68],[0,0]],"o":[[0,0],[0.305,-0.681],[-0.677,-0.306],[0,0],[0,0]],"v":[[-0.134,3.75],[2.281,-1.658],[1.605,-3.444],[-0.171,-2.765],[-2.586,2.644]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.689999988032,0.470999983245,0.310000011968,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[257.201,101.265],"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 331","np":4,"cix":2,"ix":331,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.678,0.306],[0.304,-0.68],[0,0]],"o":[[0,0],[0.304,-0.68],[-0.677,-0.306],[0,0],[0,0]],"v":[[-0.133,3.75],[2.282,-1.658],[1.606,-3.444],[-0.17,-2.765],[-2.585,2.644]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.689999988032,0.470999983245,0.310000011968,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[252.16,98.99],"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 332","np":4,"cix":2,"ix":332,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.677,0.305],[0.305,-0.681],[0,0]],"o":[[0,0],[0.304,-0.681],[-0.677,-0.306],[0,0],[0,0]],"v":[[-0.133,3.75],[2.282,-1.658],[1.606,-3.444],[-0.171,-2.765],[-2.586,2.643]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.689999988032,0.470999983245,0.310000011968,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[247.118,96.715],"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 333","np":4,"cix":2,"ix":333,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.677,0.306],[0.305,-0.68],[0,0]],"o":[[0,0],[0.304,-0.681],[-0.677,-0.306],[0,0],[0,0]],"v":[[-0.133,3.75],[2.282,-1.658],[1.606,-3.444],[-0.171,-2.765],[-2.586,2.644]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.689999988032,0.470999983245,0.310000011968,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[242.077,94.44],"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 334","np":4,"cix":2,"ix":334,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.927,-0.418],[0.156,-0.961],[0,0],[0,0],[-0.926,-0.418],[0.156,-0.962],[0,0],[0,0],[-0.927,-0.418],[-0.031,-0.015],[-0.031,-0.015],[0.156,-0.962],[0,0],[0,0],[-0.927,-0.418],[0.157,-0.962],[0,0],[0,0],[-0.927,-0.418],[0.156,-0.963],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0.612,-0.757],[0.927,0.419],[0,0],[0,0],[0.611,-0.757],[0.927,0.418],[0,0],[0,0],[0.611,-0.757],[0.031,0.014],[0.032,0.013],[0.927,0.418],[0,0],[0,0],[0.611,-0.758],[0.926,0.418],[0,0],[0,0],[0.612,-0.756],[0.927,0.418],[0,0],[0,0],[0,0]],"v":[[8.541,2.335],[3.223,-0.064],[0.564,-1.264],[-2.094,-2.463],[-7.411,-4.863],[-12.729,-7.262],[-13.857,-4.734],[-13.222,-4.447],[-10.623,-5.07],[-9.358,-2.705],[-8.54,-2.335],[-7.904,-2.048],[-5.306,-2.67],[-4.041,-0.305],[-3.223,0.064],[-2.587,0.351],[0.012,-0.271],[0.1,-0.222],[0.195,-0.188],[1.459,2.177],[2.094,2.464],[2.913,2.834],[5.512,2.211],[6.775,4.576],[7.411,4.863],[8.23,5.232],[10.829,4.61],[12.093,6.976],[12.729,7.262],[13.857,4.734]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.689999988032,0.470999983245,0.310000011968,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[254.841,93.137],"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 335","np":4,"cix":2,"ix":335,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.589,-0.266],[0.1,-0.611],[0,0],[0,0],[-0.589,-0.266],[0.1,-0.612],[0,0],[0,0],[-0.589,-0.265],[-0.02,-0.01],[-0.02,-0.009],[0.1,-0.611],[0,0],[0,0],[-0.59,-0.266],[0.1,-0.611],[0,0],[0,0],[-0.589,-0.266],[0.099,-0.612],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0.389,-0.48],[0.589,0.266],[0,0],[0,0],[0.389,-0.482],[0.589,0.266],[0,0],[0,0],[0.388,-0.481],[0.021,0.009],[0.019,0.007],[0.589,0.266],[0,0],[0,0],[0.389,-0.481],[0.589,0.266],[0,0],[0,0],[0.388,-0.482],[0.589,0.266],[0,0],[0,0],[0,0]],"v":[[5.429,1.484],[2.049,-0.041],[0.36,-0.804],[-1.331,-1.566],[-4.711,-3.092],[-8.091,-4.617],[-8.809,-3.01],[-8.404,-2.827],[-6.753,-3.222],[-5.949,-1.719],[-5.428,-1.485],[-5.024,-1.301],[-3.373,-1.697],[-2.569,-0.193],[-2.049,0.041],[-1.645,0.223],[0.007,-0.173],[0.064,-0.141],[0.124,-0.119],[0.927,1.383],[1.331,1.566],[1.852,1.8],[3.504,1.406],[4.307,2.908],[4.711,3.092],[5.232,3.326],[6.884,2.93],[7.688,4.434],[8.092,4.617],[8.809,3.01]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.689999988032,0.470999983245,0.310000011968,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[287.01,21.102],"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 336","np":4,"cix":2,"ix":336,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[10.876,5.852],[-11.578,-4.28],[-10.876,-5.852],[11.578,4.28]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.689999988032,0.470999983245,0.310000011968,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[282.79,30.551],"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 337","np":4,"cix":2,"ix":337,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-2.789,35.576],[-24.593,25.739],[2.789,-35.576],[24.593,-25.738]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.830999995213,0.651000019148,0.481999984442,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[268.816,61.843],"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 338","np":4,"cix":2,"ix":338,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[10.659,10.784],[-15.1,-0.839],[-10.658,-10.784],[15.099,0.838]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.830999995213,0.651000019148,0.481999984442,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[253.02,97.214],"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 339","np":4,"cix":2,"ix":339,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[5.339,9.721],[-10.774,2.452],[-5.338,-9.721],[10.775,-2.451]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.830999995213,0.651000019148,0.481999984442,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[284.613,26.47],"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 340","np":4,"cix":2,"ix":340,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-2.14,14.106],[0,0],[0.352,-1.079],[2.671,-17.61],[-0.014,-1.135],[0,0]],"o":[[2.14,-14.106],[0,0],[-0.351,1.078],[-2.671,17.611],[0.017,1.135],[0,0]],"v":[[-0.242,-0.126],[5.604,-33.1],[4.004,-31.835],[-1.159,-0.267],[-5.59,31.414],[-4.437,33.1]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.969000004787,0.216000007181,0.219999994016,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[361.935,234.045],"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 341","np":4,"cix":2,"ix":341,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-4.213,2.202],[-3.368,-3.364],[4.213,-2.202],[3.369,3.364]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.380000005984,0.216000007181,0.156999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[366.562,234.665],"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 342","np":4,"cix":2,"ix":342,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-2.008,6.288],[-0.053,-6.604],[2.007,-6.288],[0.052,6.604]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.380000005984,0.216000007181,0.156999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[370.166,235.216],"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 343","np":4,"cix":2,"ix":343,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4.738,31.241],[0,0],[0.747,-1.137],[3.297,-21.738],[-1.122,-3.907],[0,0]],"o":[[4.738,-31.241],[0,0],[-2.23,3.393],[-3.296,21.737],[0.376,1.31],[0,0]],"v":[[-2.773,-0.646],[8.13,-40.957],[5.202,-39.961],[-4.833,-0.961],[-6.816,39.271],[-4.315,41.098]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.564999988032,0.670999983245,0.62400004069,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[376.684,236.437],"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 344","np":4,"cix":2,"ix":344,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-5.124,12.31],[0.689,-0.76],[2.484,-16.374],[-0.434,-0.933],[0,0]],"o":[[0,0],[0,0],[-0.691,0.762],[-2.483,16.373],[0.434,0.932],[-1.241,-13.285]],"v":[[-1.989,-0.544],[7.506,-39.145],[4.405,-38.273],[-4.423,-0.917],[-7.071,37.385],[-4.369,39.146]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.380000005984,0.216000007181,0.156999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[374.776,236.163],"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 345","np":4,"cix":2,"ix":345,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-4.76,12.173],[0.623,-0.675],[2.041,-13.457],[-0.393,-0.831],[0,0]],"o":[[0,0],[0,0],[-0.622,0.676],[-2.041,13.456],[0.395,0.831],[-0.935,-13.046]],"v":[[-1.123,-0.437],[6.991,-34.723],[3.536,-33.905],[-4.173,-0.904],[-6.598,32.907],[-3.542,34.723]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.969000004787,0.216000007181,0.219999994016,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[372.092,235.776],"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 346","np":4,"cix":2,"ix":346,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-4.584,11.015],[0.613,-0.605],[1.854,-12.221],[-0.404,-0.761],[0,0]],"o":[[0,0],[0,0],[-0.611,0.606],[-1.853,12.221],[0.406,0.761],[-1.109,-11.889]],"v":[[-0.69,-0.419],[6.94,-31.518],[2.667,-30.949],[-3.741,-0.886],[-6.536,29.73],[-2.627,31.554]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.830999995213,0.172999991623,0.176000004189,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[369.039,235.357],"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 347","np":4,"cix":2,"ix":347,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.2,0.03],[0.012,-0.075],[0,0],[-0.201,-0.03],[-0.011,0.075],[0,0]],"o":[[-0.201,-0.031],[0,0],[-0.011,0.075],[0.201,0.031],[0,0],[0.011,-0.075]],"v":[[0.281,-1.853],[-0.104,-1.772],[-0.624,1.661],[-0.281,1.853],[0.103,1.772],[0.624,-1.661]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.380000005984,0.216000007181,0.156999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[349.386,251.729],"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 348","np":4,"cix":2,"ix":348,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.243,0.038],[0.024,-0.159],[0,0],[-0.243,-0.038],[-0.024,0.159],[0,0]],"o":[[-0.243,-0.037],[0,0],[-0.025,0.159],[0.243,0.037],[0,0],[0.025,-0.159]],"v":[[0.589,-3.885],[0.106,-3.664],[-0.985,3.529],[-0.589,3.885],[-0.105,3.664],[0.985,-3.53]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.380000005984,0.216000007181,0.156999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[348.809,251.641],"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 349","np":4,"cix":2,"ix":349,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[1.001,0.153],[0.764,0.117],[0,0],[0,0],[0,0],[-0.762,-0.118],[-1.002,-0.154],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.002,-0.153],[-0.763,-0.117],[0,0],[0,0],[0,0],[0.764,0.117],[1.002,0.154],[0,0]],"v":[[14.155,-0.799],[15.576,-0.581],[15.138,2.296],[14.702,5.174],[13.281,4.956],[12.681,4.079],[-8.835,0.781],[-11.091,1.173],[-15.576,0.484],[-15.147,-2.344],[-14.717,-5.174],[-10.233,-4.486],[-8.195,-3.439],[13.323,-0.141]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.969000004787,0.216000007181,0.219999994016,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[333.302,249.288],"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 350","np":4,"cix":2,"ix":350,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-0.757,-2.967],[-1.602,2.605],[0.757,2.967],[1.601,-2.605]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.969000004787,0.216000007181,0.219999994016,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[362.83,250.742],"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 351","np":4,"cix":2,"ix":351,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-21.609,-4.707],[-22.023,-1.98],[21.609,4.706],[22.023,1.98]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.830999995213,0.172999991623,0.176000004189,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[340.424,247.309],"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 352","np":4,"cix":2,"ix":352,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.2,0.031],[-0.011,0.075],[0,0],[-0.201,-0.031],[0.012,-0.075],[0,0]],"o":[[-0.201,-0.03],[0,0],[0.011,-0.075],[0.201,0.03],[0,0],[-0.012,0.075]],"v":[[-0.281,1.853],[-0.624,1.661],[-0.103,-1.772],[0.281,-1.853],[0.623,-1.661],[0.103,1.772]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.380000005984,0.216000007181,0.156999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[355.225,213.229],"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 353","np":4,"cix":2,"ix":353,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.243,0.037],[-0.024,0.159],[0,0],[-0.243,-0.037],[0.025,-0.159],[0,0]],"o":[[-0.243,-0.037],[0,0],[0.024,-0.159],[0.243,0.038],[0,0],[-0.024,0.159]],"v":[[-0.59,3.885],[-0.986,3.53],[0.105,-3.664],[0.589,-3.885],[0.985,-3.529],[-0.106,3.664]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.380000005984,0.216000007181,0.156999999402,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[354.65,213.141],"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 354","np":4,"cix":2,"ix":354,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[1.002,0.155],[0.764,0.117],[0,0],[0,0],[0,0],[-0.764,-0.117],[-1.002,-0.153],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.002,-0.153],[-0.763,-0.118],[0,0],[0,0],[0,0],[0.764,0.116],[1.002,0.154],[0,0]],"v":[[13.281,4.956],[14.702,5.174],[15.138,2.297],[15.575,-0.58],[14.154,-0.798],[13.322,-0.141],[-8.195,-3.439],[-10.233,-4.486],[-14.717,-5.174],[-15.147,-2.345],[-15.575,0.484],[-11.091,1.173],[-8.835,0.782],[12.682,4.079]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.969000004787,0.216000007181,0.219999994016,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[339.142,210.788],"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 355","np":4,"cix":2,"ix":355,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-1.602,2.605],[-0.757,-2.966],[1.602,-2.605],[0.756,2.966]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.969000004787,0.216000007181,0.219999994016,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[367.766,218.199],"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 356","np":4,"cix":2,"ix":356,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-22.023,-1.98],[-21.61,-4.707],[22.023,1.981],[21.61,4.707]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.830999995213,0.172999991623,0.176000004189,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[345.36,214.765],"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 357","np":4,"cix":2,"ix":357,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-2.944,31.167],[6.43,-30.633],[2.943,-31.167],[-6.43,30.633]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.902000038297,0.2,0.204000001795,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[359.584,233.595],"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 358","np":4,"cix":2,"ix":358,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-1.163,0.311],[-1.017,-0.645],[1.164,-0.311],[1.018,0.645]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.788000009574,0.626999978458,0.313999998803,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[362.181,235.895],"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 359","np":4,"cix":2,"ix":359,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-1.163,0.311],[-1.018,-0.645],[1.163,-0.311],[1.019,0.645]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.788000009574,0.626999978458,0.313999998803,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[362.745,232.178],"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 360","np":4,"cix":2,"ix":360,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.146,-0.117],[-0.092,-0.117],[0,0],[-0.145,0.116],[0.093,0.117],[0,0]],"o":[[-0.146,0.117],[0,0],[0.093,0.117],[0.147,-0.117],[0,0],[-0.093,-0.117]],"v":[[-6.637,-8.401],[-6.734,-7.977],[6.204,8.401],[6.637,8.402],[6.733,7.978],[-6.204,-8.4]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.838999968884,0.616000007181,0.294000004787,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[283.964,119.033],"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 361","np":4,"cix":2,"ix":361,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.073,-0.058],[0.047,0.058],[0,0],[-0.073,0.059],[-0.046,-0.058],[0,0]],"o":[[-0.073,0.059],[0,0],[-0.046,-0.059],[0.073,-0.059],[0,0],[0.047,0.059]],"v":[[5.209,6.593],[4.992,6.593],[-5.258,-6.382],[-5.209,-6.594],[-4.993,-6.594],[5.257,6.382]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.838999968884,0.616000007181,0.294000004787,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[291.843,124.362],"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 362","np":4,"cix":2,"ix":362,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.073,0.059],[0.046,0.059],[0,0],[0.074,-0.058],[-0.047,-0.058],[0,0]],"o":[[0.073,-0.058],[0,0],[-0.047,-0.059],[-0.073,0.059],[0,0],[0.047,0.058]],"v":[[3.613,4.572],[3.661,4.361],[-3.396,-4.573],[-3.613,-4.574],[-3.66,-4.362],[3.396,4.572]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.838999968884,0.616000007181,0.294000004787,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[288.573,114.486],"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 363","np":4,"cix":2,"ix":363,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.11,0.087],[0.07,0.088],[0,0],[0.11,-0.088],[-0.07,-0.087],[0,0]],"o":[[0.109,-0.087],[0,0],[-0.069,-0.088],[-0.109,0.087],[0,0],[0.069,0.088]],"v":[[5.251,6.647],[5.323,6.329],[-4.927,-6.645],[-5.252,-6.646],[-5.324,-6.329],[4.926,6.646]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.838999968884,0.616000007181,0.294000004787,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[293.466,113.44],"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 364","np":4,"cix":2,"ix":364,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.109,0.087],[-0.069,-0.088],[0,0],[0.11,-0.087],[0.07,0.088],[0,0]],"o":[[0.109,-0.087],[0,0],[0.07,0.087],[-0.11,0.088],[0,0],[-0.07,-0.088]],"v":[[-2.1,-2.659],[-1.776,-2.658],[2.173,2.341],[2.101,2.658],[1.776,2.657],[-2.172,-2.341]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.838999968884,0.616000007181,0.294000004787,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[302.492,119.675],"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 365","np":4,"cix":2,"ix":365,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.109,-0.087],[0.07,0.088],[0,0],[-0.11,0.088],[-0.069,-0.088],[0,0]],"o":[[-0.11,0.088],[0,0],[-0.069,-0.089],[0.109,-0.087],[0,0],[0.07,0.089]],"v":[[5.419,6.859],[5.094,6.858],[-5.492,-6.541],[-5.419,-6.86],[-5.095,-6.859],[5.491,6.541]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.838999968884,0.616000007181,0.294000004787,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[300.296,111.976],"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 366","np":4,"cix":2,"ix":366,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.109,-0.087],[-0.07,-0.088],[0,0],[-0.11,0.087],[0.069,0.088],[0,0]],"o":[[-0.109,0.087],[0,0],[0.07,0.088],[0.109,-0.087],[0,0],[-0.069,-0.088]],"v":[[-3.654,-4.626],[-3.727,-4.308],[3.331,4.625],[3.656,4.626],[3.728,4.308],[-3.331,-4.625]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.838999968884,0.616000007181,0.294000004787,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[306.496,113.269],"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 367","np":4,"cix":2,"ix":367,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.073,-0.059],[0.047,0.059],[0,0],[-0.073,0.058],[-0.046,-0.059],[0,0]],"o":[[-0.073,0.058],[0,0],[-0.046,-0.059],[0.073,-0.058],[0,0],[0.047,0.059]],"v":[[2.899,3.669],[2.682,3.668],[-2.947,-3.457],[-2.898,-3.669],[-2.682,-3.668],[2.947,3.457]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.838999968884,0.616000007181,0.294000004787,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[306.605,107.805],"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 368","np":4,"cix":2,"ix":368,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.109,-0.087],[0.069,0.088],[0,0],[-0.109,0.087],[-0.069,-0.089],[0,0]],"o":[[-0.109,0.087],[0,0],[-0.07,-0.088],[0.11,-0.088],[0,0],[0.07,0.088]],"v":[[2.94,3.722],[2.616,3.722],[-3.013,-3.403],[-2.941,-3.721],[-2.617,-3.721],[3.013,3.404]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.838999968884,0.616000007181,0.294000004787,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[312.688,107.718],"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 369","np":4,"cix":2,"ix":369,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[16.782,-28.377],[-16.781,10.519],[-2.672,28.377]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.838999968884,0.616000007181,0.294000004787,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[309.207,129.334],"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 370","np":4,"cix":2,"ix":370,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[30.833,-28.377],[-30.833,-25.055],[11.379,28.377]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.957000014361,0.713999968884,0.365000017952,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[295.155,129.334],"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 371","np":4,"cix":2,"ix":371,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.12,-0.096],[-0.076,-0.097],[0,0],[-0.12,0.096],[0.076,0.097],[0,0]],"o":[[-0.12,0.095],[0,0],[0.076,0.096],[0.119,-0.095],[0,0],[-0.076,-0.096]],"v":[[-5.456,-6.907],[-5.534,-6.559],[5.103,6.905],[5.457,6.906],[5.535,6.559],[-5.103,-6.906]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.838999968884,0.616000007181,0.294000004787,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[304.841,147.293],"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 372","np":4,"cix":2,"ix":372,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.061,-0.048],[0.038,0.048],[0,0],[-0.06,0.048],[-0.038,-0.049],[0,0]],"o":[[-0.06,0.047],[0,0],[-0.038,-0.048],[0.06,-0.048],[0,0],[0.038,0.048]],"v":[[4.282,5.421],[4.105,5.42],[-4.322,-5.246],[-4.282,-5.42],[-4.105,-5.419],[4.322,5.247]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.838999968884,0.616000007181,0.294000004787,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[311.311,151.68],"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 373","np":4,"cix":2,"ix":373,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.06,0.048],[0.038,0.049],[0,0],[0.059,-0.048],[-0.038,-0.048],[0,0]],"o":[[0.061,-0.048],[0,0],[-0.038,-0.048],[-0.06,0.048],[0,0],[0.038,0.048]],"v":[[2.97,3.759],[3.01,3.585],[-2.792,-3.759],[-2.969,-3.76],[-3.009,-3.586],[2.793,3.758]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.838999968884,0.616000007181,0.294000004787,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[308.613,143.568],"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 374","np":4,"cix":2,"ix":374,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.09,0.072],[0.057,0.073],[0,0],[0.09,-0.072],[-0.058,-0.073],[0,0]],"o":[[0.09,-0.071],[0,0],[-0.058,-0.073],[-0.09,0.071],[0,0],[0.058,0.072]],"v":[[4.317,5.464],[4.376,5.203],[-4.05,-5.463],[-4.317,-5.464],[-4.375,-5.203],[4.05,5.463]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.838999968884,0.616000007181,0.294000004787,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[312.624,142.718],"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 375","np":4,"cix":2,"ix":375,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.09,0.072],[-0.057,-0.072],[0,0],[0.09,-0.072],[0.056,0.072],[0,0]],"o":[[0.09,-0.072],[0,0],[0.056,0.073],[-0.09,0.071],[0,0],[-0.056,-0.073]],"v":[[-1.726,-2.186],[-1.46,-2.184],[1.786,1.924],[1.727,2.187],[1.462,2.185],[-1.786,-1.924]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.838999968884,0.616000007181,0.294000004787,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[320.036,147.849],"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 376","np":4,"cix":2,"ix":376,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.09,-0.071],[0.058,0.072],[0,0],[-0.09,0.072],[-0.056,-0.073],[0,0]],"o":[[-0.09,0.072],[0,0],[-0.056,-0.072],[0.09,-0.072],[0,0],[0.056,0.073]],"v":[[4.454,5.639],[4.188,5.638],[-4.515,-5.378],[-4.455,-5.639],[-4.19,-5.637],[4.514,5.378]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.838999968884,0.616000007181,0.294000004787,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[318.222,141.527],"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 377","np":4,"cix":2,"ix":377,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.09,-0.071],[-0.057,-0.073],[0,0],[-0.09,0.072],[0.057,0.073],[0,0]],"o":[[-0.09,0.072],[0,0],[0.057,0.072],[0.09,-0.071],[0,0],[-0.058,-0.072]],"v":[[-3.004,-3.804],[-3.064,-3.542],[2.738,3.801],[3.004,3.802],[3.064,3.541],[-2.737,-3.803]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.838999968884,0.616000007181,0.294000004787,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[323.309,142.599],"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 378","np":4,"cix":2,"ix":378,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.06,-0.048],[0.038,0.047],[0,0],[-0.06,0.048],[-0.038,-0.049],[0,0]],"o":[[-0.061,0.048],[0,0],[-0.039,-0.049],[0.06,-0.048],[0,0],[0.038,0.049]],"v":[[2.384,3.016],[2.206,3.016],[-2.422,-2.842],[-2.383,-3.016],[-2.206,-3.015],[2.422,2.842]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.838999968884,0.616000007181,0.294000004787,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[323.389,138.115],"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 379","np":4,"cix":2,"ix":379,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.09,-0.072],[0.058,0.072],[0,0],[-0.09,0.072],[-0.057,-0.072],[0,0]],"o":[[-0.089,0.072],[0,0],[-0.056,-0.073],[0.09,-0.071],[0,0],[0.056,0.073]],"v":[[2.417,3.059],[2.151,3.059],[-2.477,-2.799],[-2.417,-3.061],[-2.151,-3.06],[2.477,2.798]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.838999968884,0.616000007181,0.294000004787,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[328.377,138.054],"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 380","np":4,"cix":2,"ix":380,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[13.729,-23.276],[-13.729,8.593],[-2.13,23.275]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.838999968884,0.616000007181,0.294000004787,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[325.543,155.801],"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 381","np":4,"cix":2,"ix":381,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[25.281,-23.276],[-25.281,-20.651],[9.422,23.275]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.957000014361,0.713999968884,0.365000017952,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[313.991,155.801],"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 382","np":4,"cix":2,"ix":382,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.216,0.812],[0.807,-0.216],[0,0]],"o":[[0,0],[0.807,-0.217],[-0.217,-0.812],[0,0],[0,0]],"v":[[-0.587,1.668],[0.085,1.488],[1.155,-0.375],[-0.699,-1.452],[-1.371,-1.271]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.435000011968,0.603999956916,0.620000023935,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[403.621,156.959],"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 383","np":4,"cix":2,"ix":383,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-0.347,6.395],[-3.484,-5.365],[0.347,-6.394],[3.484,5.366]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.365000017952,0.552999997606,0.569000004787,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[351.999,170.762],"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 384","np":4,"cix":2,"ix":384,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-0.465,2.385],[-1.59,-1.833],[0.465,-2.385],[1.59,1.834]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.325,0.493999974868,0.510000011968,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[401.614,157.434],"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 385","np":4,"cix":2,"ix":385,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[0.44,5.775],[-2.495,-5.223],[-0.439,-5.775],[2.495,5.223]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.325,0.493999974868,0.510000011968,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[354.942,169.971],"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 386","np":4,"cix":2,"ix":386,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[1.713,10.552],[-3.768,-10],[-1.714,-10.552],[3.768,10]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.325,0.493999974868,0.510000011968,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[338.772,174.315],"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 387","np":4,"cix":2,"ix":387,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-53.848,15.365],[0,0],[0,0],[0,0],[0,0],[0,0],[8.542,-5.382],[0,0]],"o":[[0,0],[0,0],[-54.296,13.685],[0,0],[10.078,0.379],[0,0],[0,0],[0,0]],"v":[[32.053,-10.041],[31.604,-11.721],[31.156,-13.4],[-32.052,-3.88],[-30.35,1.063],[2.001,-3.77],[-28.43,8.264],[-27.443,13.4]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.435000011968,0.603999956916,0.620000023935,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[368.983,169.431],"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 388","np":4,"cix":2,"ix":388,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.087,0.328],[0,0],[0.326,-0.088],[0,0]],"o":[[0,0],[0.327,-0.087],[0,0],[-0.087,-0.328],[0,0],[0,0]],"v":[[0.283,3.88],[1.179,3.639],[1.612,2.886],[-0.054,-3.357],[-0.803,-3.792],[-1.699,-3.552]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.325,0.493999974868,0.510000011968,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[325.957,191.789],"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 389","np":4,"cix":2,"ix":389,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.087,0.328],[0,0],[0.326,-0.088],[0,0]],"o":[[0,0],[0.327,-0.087],[0,0],[-0.087,-0.328],[0,0],[0,0]],"v":[[0.283,3.88],[1.179,3.639],[1.612,2.886],[-0.054,-3.357],[-0.803,-3.792],[-1.699,-3.552]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.325,0.493999974868,0.510000011968,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[318.986,165.65],"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 390","np":4,"cix":2,"ix":390,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[8.104,2.135],[0,0],[-2.291,-8.591],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[2.291,8.59],[0,0],[5.957,-5.913]],"v":[[10.713,6.111],[8.044,-3.893],[5.376,-13.898],[-10.713,-15.985],[-9.118,-10.004],[2.42,-2.382],[-3.781,10.005],[-2.185,15.986]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.435000011968,0.603999956916,0.620000023935,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[329.7,178.485],"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 391","np":4,"cix":2,"ix":391,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.037,0.137],[-0.137,0.037],[0,0],[-0.037,-0.137],[0.135,-0.036]],"o":[[-0.136,0.037],[-0.037,-0.136],[0,0],[0.135,-0.037],[0.036,0.137],[0,0]],"v":[[-4.193,1.391],[-4.505,1.21],[-4.325,0.896],[4.194,-1.391],[4.506,-1.21],[4.326,-0.897]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.325,0.493999974868,0.510000011968,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[405.537,156.38],"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 392","np":4,"cix":2,"ix":392,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[0.716,0.496],[-0.456,0.745],[-0.715,-0.496],[0.457,-0.745]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.490000017952,0.411999990426,0.352999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[194.855,50.699],"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 393","np":4,"cix":2,"ix":393,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[0.715,0.496],[-0.457,0.745],[-0.716,-0.496],[0.456,-0.745]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.490000017952,0.411999990426,0.352999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[192.387,51.221],"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 394","np":4,"cix":2,"ix":394,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[0.715,0.496],[-0.457,0.745],[-0.716,-0.496],[0.456,-0.745]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.490000017952,0.411999990426,0.352999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[189.919,51.742],"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 395","np":4,"cix":2,"ix":395,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[0.715,0.496],[-0.457,0.745],[-0.716,-0.497],[0.456,-0.745]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.490000017952,0.411999990426,0.352999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[187.451,52.263],"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 396","np":4,"cix":2,"ix":396,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[0.715,0.496],[-0.457,0.745],[-0.716,-0.496],[0.456,-0.745]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.490000017952,0.411999990426,0.352999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[184.982,52.784],"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 397","np":4,"cix":2,"ix":397,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[0.716,0.496],[-0.456,0.745],[-0.716,-0.497],[0.457,-0.745]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.490000017952,0.411999990426,0.352999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[182.514,53.306],"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 398","np":4,"cix":2,"ix":398,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[0.716,0.496],[-0.456,0.745],[-0.715,-0.496],[0.457,-0.745]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.490000017952,0.411999990426,0.352999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[180.046,53.827],"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 399","np":4,"cix":2,"ix":399,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[8.268,-1.287],[-8.084,2.166],[-8.268,1.287],[8.084,-2.166]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.490000017952,0.411999990426,0.352999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[187.85,54.178],"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 400","np":4,"cix":2,"ix":400,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[8.261,-0.393],[-7.721,2.982],[-8.261,0.393],[7.72,-2.982]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.630999995213,0.528999956916,0.455000005984,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[187.851,54.178],"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 401","np":4,"cix":2,"ix":401,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[3.869,3.23],[-2.248,4.523],[-3.868,-3.231],[2.248,-4.523]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.322000002394,0.26699999641,0.231000010173,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[188.814,58.788],"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 402","np":4,"cix":2,"ix":402,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[7.581,-0.292],[-7.057,2.799],[-7.581,0.291],[7.057,-2.799]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.722000002394,0.62400004069,0.54900004069,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[188.847,58.946],"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 403","np":4,"cix":2,"ix":403,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[8.272,3.015],[-6.366,6.106],[-8.272,-3.015],[6.365,-6.106]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.490000017952,0.411999990426,0.352999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[188.671,58.103],"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 404","np":4,"cix":2,"ix":404,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-6.038,0.608],[-6.04,1.838],[6.039,-0.712],[5.546,-1.838]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.490000017952,0.411999990426,0.352999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[192.11,73.996],"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 405","np":4,"cix":2,"ix":405,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-7.317,0.878],[-7.318,2.108],[7.318,-0.982],[6.825,-2.108]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.490000017952,0.411999990426,0.352999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[193.382,80.083],"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 406","np":4,"cix":2,"ix":406,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-6.678,0.743],[-6.679,1.973],[6.679,-0.847],[6.185,-1.973]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.490000017952,0.411999990426,0.352999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[192.746,77.04],"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 407","np":4,"cix":2,"ix":407,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-4.12,0.203],[-4.121,1.433],[4.121,-0.307],[3.628,-1.433]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.490000017952,0.411999990426,0.352999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[190.202,64.866],"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 408","np":4,"cix":2,"ix":408,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-5.399,0.473],[-5.4,1.703],[5.4,-0.577],[4.906,-1.703]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.490000017952,0.411999990426,0.352999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[191.474,70.953],"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 409","np":4,"cix":2,"ix":409,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-4.759,0.338],[-4.76,1.568],[4.76,-0.442],[4.266,-1.568]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.490000017952,0.411999990426,0.352999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[190.838,67.91],"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 410","np":4,"cix":2,"ix":410,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-7.957,1.013],[-7.958,2.243],[7.958,-1.117],[7.464,-2.243]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.490000017952,0.411999990426,0.352999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[194.018,83.127],"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 411","np":4,"cix":2,"ix":411,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[12.434,-2.063],[11.94,-3.188],[-12.434,1.959],[-12.435,3.188]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.490000017952,0.411999990426,0.352999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[198.47,104.43],"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 412","np":4,"cix":2,"ix":412,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-11.794,1.823],[-11.795,3.053],[11.794,-1.927],[11.3,-3.053]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.490000017952,0.411999990426,0.352999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[197.835,101.387],"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 413","np":4,"cix":2,"ix":413,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-11.154,1.688],[-11.155,2.919],[11.155,-1.792],[10.661,-2.919]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.490000017952,0.411999990426,0.352999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[197.198,98.343],"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 414","np":4,"cix":2,"ix":414,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-8.596,1.148],[-8.597,2.378],[8.597,-1.252],[8.104,-2.378]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.490000017952,0.411999990426,0.352999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[194.654,86.17],"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 415","np":4,"cix":2,"ix":415,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-10.515,1.553],[-10.516,2.783],[10.516,-1.658],[10.022,-2.783]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.490000017952,0.411999990426,0.352999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[196.562,95.3],"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 416","np":4,"cix":2,"ix":416,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-9.236,1.283],[-9.237,2.513],[9.237,-1.388],[8.743,-2.513]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.490000017952,0.411999990426,0.352999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[195.291,89.214],"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 417","np":4,"cix":2,"ix":417,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-9.875,1.418],[-9.876,2.648],[9.876,-1.522],[9.383,-2.648]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.490000017952,0.411999990426,0.352999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[195.926,92.257],"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 418","np":4,"cix":2,"ix":418,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-5.638,-23.681],[-9.178,-22.932],[-12.719,-22.185],[-12.768,23.681],[0,20.984],[12.768,18.289]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.630999995213,0.528999956916,0.455000005984,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[198.802,85.596],"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 419","np":4,"cix":2,"ix":419,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-4.355,-24.304],[-9.178,-23.286],[-14.001,-22.267],[-17.392,24.304],[0,20.631],[17.393,16.959]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.722000002394,0.62400004069,0.54900004069,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[198.802,85.949],"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 420","np":4,"cix":2,"ix":420,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[14.949,-1.88],[-14.438,4.326],[-14.949,1.88],[14.438,-4.326]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.630999995213,0.528999956916,0.455000005984,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[189.88,63.886],"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 421","np":4,"cix":2,"ix":421,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[15.349,0.034],[-14.038,6.24],[-15.349,-0.034],[14.038,-6.24]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.490000017952,0.411999990426,0.352999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[190.279,65.801],"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 422","np":4,"cix":2,"ix":422,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[19.908,-2.927],[-19.396,5.373],[-19.908,2.927],[19.396,-5.373]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.630999995213,0.528999956916,0.455000005984,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[191.191,70.16],"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 423","np":4,"cix":2,"ix":423,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[20.266,-1.215],[-19.038,7.085],[-20.266,1.215],[19.038,-7.085]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.490000017952,0.411999990426,0.352999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[191.633,72.276],"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 424","np":4,"cix":2,"ix":424,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[23.637,-3.715],[-23.127,6.16],[-23.637,3.715],[23.126,-6.16]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.630999995213,0.528999956916,0.455000005984,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[192.502,76.434],"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 425","np":4,"cix":2,"ix":425,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[23.995,-2.003],[-22.768,7.872],[-23.995,2.003],[22.768,-7.872]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.490000017952,0.411999990426,0.352999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[192.944,78.55],"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 426","np":4,"cix":2,"ix":426,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[27.52,-4.534],[-27.009,6.98],[-27.52,4.535],[27.008,-6.98]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.630999995213,0.528999956916,0.455000005984,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[193.813,82.708],"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 427","np":4,"cix":2,"ix":427,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[27.878,-2.823],[-26.65,8.693],[-27.878,2.823],[26.65,-8.693]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.490000017952,0.411999990426,0.352999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[194.255,84.824],"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 428","np":4,"cix":2,"ix":428,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[31.832,-5.445],[-31.321,7.891],[-31.832,5.445],[31.321,-7.891]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.630999995213,0.528999956916,0.455000005984,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[195.124,88.982],"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 429","np":4,"cix":2,"ix":429,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[32.189,-3.733],[-30.963,9.603],[-32.189,3.733],[30.962,-9.603]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.490000017952,0.411999990426,0.352999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[195.566,91.098],"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 430","np":4,"cix":2,"ix":430,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[35.752,-6.273],[-35.241,8.718],[-35.752,6.272],[35.24,-8.718]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.630999995213,0.528999956916,0.455000005984,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[196.436,95.256],"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 431","np":4,"cix":2,"ix":431,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[36.109,-4.561],[-34.883,10.431],[-36.11,4.561],[34.882,-10.431]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.490000017952,0.411999990426,0.352999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[196.878,97.372],"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 432","np":4,"cix":2,"ix":432,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[40.16,-7.204],[-39.65,9.65],[-40.161,7.203],[39.648,-9.65]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.630999995213,0.528999956916,0.455000005984,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[197.747,101.53],"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 433","np":4,"cix":2,"ix":433,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[40.518,-5.492],[-39.292,11.362],[-40.519,5.491],[39.291,-11.362]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.490000017952,0.411999990426,0.352999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[198.189,103.646],"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 434","np":4,"cix":2,"ix":434,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.113,0.029],[-0.028,-0.114],[0,0],[0.114,-0.027],[0.027,0.114]],"o":[[-0.027,-0.114],[0.115,-0.027],[0,0],[0.028,0.114],[-0.114,0.028],[0,0]],"v":[[-0.977,-3.079],[-0.822,-3.339],[-0.564,-3.182],[0.975,3.079],[0.82,3.337],[0.563,3.182]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.569000004787,0.470999983245,0.317999985639,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[272.868,377.794],"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 435","np":4,"cix":2,"ix":435,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.114,0.029],[-0.028,-0.114],[0,0],[0.113,-0.028],[0.028,0.114]],"o":[[-0.028,-0.114],[0.115,-0.028],[0,0],[0.028,0.115],[-0.114,0.028],[0,0]],"v":[[-0.976,-3.079],[-0.821,-3.338],[-0.563,-3.182],[0.976,3.079],[0.821,3.338],[0.563,3.182]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.569000004787,0.470999983245,0.317999985639,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[274.348,377.426],"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 436","np":4,"cix":2,"ix":436,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.114,0.029],[-0.027,-0.114],[0,0],[0.113,-0.028],[0.028,0.114]],"o":[[-0.028,-0.114],[0.115,-0.028],[0,0],[0.027,0.114],[-0.114,0.028],[0,0]],"v":[[-0.975,-3.079],[-0.82,-3.338],[-0.564,-3.182],[0.977,3.08],[0.822,3.338],[0.563,3.183]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.569000004787,0.470999983245,0.317999985639,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[275.828,377.058],"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 437","np":4,"cix":2,"ix":437,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.114,0.029],[-0.028,-0.114],[0,0],[0.114,-0.028],[0.028,0.114]],"o":[[-0.028,-0.115],[0.114,-0.028],[0,0],[0.028,0.114],[-0.113,0.028],[0,0]],"v":[[-0.975,-3.079],[-0.82,-3.338],[-0.563,-3.182],[0.976,3.079],[0.821,3.338],[0.564,3.182]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.569000004787,0.470999983245,0.317999985639,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[277.308,376.691],"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 438","np":4,"cix":2,"ix":438,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.114,0.029],[-0.028,-0.114],[0,0],[0.114,-0.028],[0.028,0.114]],"o":[[-0.028,-0.114],[0.114,-0.028],[0,0],[0.028,0.114],[-0.114,0.028],[0,0]],"v":[[-0.975,-3.079],[-0.82,-3.338],[-0.564,-3.182],[0.975,3.08],[0.82,3.338],[0.563,3.183]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.569000004787,0.470999983245,0.317999985639,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[278.789,376.323],"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 439","np":4,"cix":2,"ix":439,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.113,0.029],[-0.028,-0.115],[0,0],[0.114,-0.028],[0.028,0.114]],"o":[[-0.028,-0.115],[0.115,-0.028],[0,0],[0.028,0.114],[-0.114,0.028],[0,0]],"v":[[-0.976,-3.079],[-0.821,-3.338],[-0.563,-3.182],[0.976,3.079],[0.821,3.338],[0.563,3.182]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.569000004787,0.470999983245,0.317999985639,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[280.269,375.955],"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 440","np":4,"cix":2,"ix":440,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.084,0.343],[-0.34,0.084],[0,0],[-0.084,-0.343],[0.339,-0.084],[0,0]],"o":[[-0.085,-0.342],[0,0],[0.341,-0.084],[0.084,0.341],[0,0],[-0.34,0.084]],"v":[[-0.97,0.241],[-0.507,-0.531],[0.203,-0.707],[0.971,-0.241],[0.508,0.53],[-0.202,0.707]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.752999997606,0.62400004069,0.416000007181,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[281.451,396.734],"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 441","np":4,"cix":2,"ix":441,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-2.801,8.642],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[6.483,6.337]],"v":[[3.407,8.54],[3.849,8.43],[4.292,8.319],[5.288,-8.54],[0.001,-7.227],[-5.287,-5.913]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.255000005984,0.234999997008,0.219999994016,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[277.615,388.357],"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 442","np":4,"cix":2,"ix":442,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[-2.655,4.555],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[4.46,2.788]],"v":[[-3.119,5.734],[1.911,4.486],[2.02,4.458],[7.05,3.21],[8.905,-5.734],[0.055,-3.536],[-0.055,-3.508],[-8.905,-1.31]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.255000005984,0.234999997008,0.219999994016,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[273.524,368.015],"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 443","np":4,"cix":2,"ix":443,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-8.516,1.53],[8.245,-2.633],[8.515,-1.53],[-8.245,2.634]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.811999990426,0.709999952129,0.552999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[273.388,363.942],"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 444","np":4,"cix":2,"ix":444,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.149,0.037],[-0.037,-0.149],[0,0],[0.149,-0.037],[0.037,0.15]],"o":[[-0.037,-0.15],[0.15,-0.037],[0,0],[0.037,0.151],[-0.151,0.037],[0,0]],"v":[[-0.859,-2.327],[-0.656,-2.666],[-0.318,-2.462],[0.859,2.328],[0.656,2.667],[0.318,2.463]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.569000004787,0.470999983245,0.317999985639,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[265.898,361.511],"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 445","np":4,"cix":2,"ix":445,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.149,0.037],[-0.037,-0.15],[0,0],[0.149,-0.037],[0.037,0.15]],"o":[[-0.036,-0.15],[0.15,-0.037],[0,0],[0.036,0.151],[-0.15,0.037],[0,0]],"v":[[-0.86,-2.328],[-0.656,-2.667],[-0.318,-2.463],[0.86,2.327],[0.656,2.666],[0.318,2.461]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.569000004787,0.470999983245,0.317999985639,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[267.522,361.108],"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 446","np":4,"cix":2,"ix":446,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.149,0.037],[-0.037,-0.15],[0,0],[0.149,-0.037],[0.037,0.15]],"o":[[-0.037,-0.15],[0.151,-0.037],[0,0],[0.037,0.15],[-0.15,0.037],[0,0]],"v":[[-0.859,-2.327],[-0.657,-2.667],[-0.319,-2.462],[0.859,2.328],[0.655,2.667],[0.317,2.462]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.569000004787,0.470999983245,0.317999985639,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[269.147,360.704],"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 447","np":4,"cix":2,"ix":447,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.149,0.037],[-0.036,-0.15],[0,0],[0.15,-0.037],[0.037,0.15]],"o":[[-0.037,-0.15],[0.15,-0.037],[0,0],[0.037,0.151],[-0.15,0.037],[0,0]],"v":[[-0.859,-2.327],[-0.655,-2.667],[-0.318,-2.462],[0.86,2.327],[0.656,2.667],[0.319,2.462]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.569000004787,0.470999983245,0.317999985639,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[270.771,360.301],"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 448","np":4,"cix":2,"ix":448,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.149,0.037],[-0.037,-0.15],[0,0],[0.149,-0.037],[0.037,0.15]],"o":[[-0.037,-0.15],[0.15,-0.037],[0,0],[0.037,0.151],[-0.15,0.037],[0,0]],"v":[[-0.859,-2.327],[-0.655,-2.667],[-0.317,-2.462],[0.86,2.327],[0.657,2.667],[0.319,2.462]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.569000004787,0.470999983245,0.317999985639,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[272.395,359.898],"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 449","np":4,"cix":2,"ix":449,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.149,0.037],[-0.037,-0.15],[0,0],[0.149,-0.037],[0.037,0.15]],"o":[[-0.037,-0.149],[0.15,-0.037],[0,0],[0.037,0.151],[-0.15,0.037],[0,0]],"v":[[-0.859,-2.328],[-0.656,-2.667],[-0.318,-2.462],[0.86,2.327],[0.656,2.667],[0.318,2.462]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.569000004787,0.470999983245,0.317999985639,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[274.02,359.494],"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 450","np":4,"cix":2,"ix":450,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.15,0.037],[-0.037,-0.15],[0,0],[0.149,-0.037],[0.036,0.15]],"o":[[-0.037,-0.15],[0.15,-0.037],[0,0],[0.037,0.151],[-0.15,0.037],[0,0]],"v":[[-0.859,-2.327],[-0.655,-2.666],[-0.318,-2.461],[0.86,2.328],[0.656,2.667],[0.319,2.463]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.569000004787,0.470999983245,0.317999985639,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[275.644,359.091],"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 451","np":4,"cix":2,"ix":451,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.149,0.037],[-0.036,-0.15],[0,0],[0.149,-0.037],[0.037,0.15]],"o":[[-0.037,-0.15],[0.15,-0.037],[0,0],[0.037,0.151],[-0.151,0.037],[0,0]],"v":[[-0.859,-2.328],[-0.656,-2.667],[-0.319,-2.463],[0.859,2.327],[0.656,2.666],[0.318,2.461]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.569000004787,0.470999983245,0.317999985639,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[277.268,358.687],"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 452","np":4,"cix":2,"ix":452,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.149,0.037],[-0.037,-0.15],[0,0],[0.149,-0.037],[0.037,0.15]],"o":[[-0.036,-0.15],[0.15,-0.037],[0,0],[0.036,0.15],[-0.15,0.037],[0,0]],"v":[[-0.86,-2.327],[-0.656,-2.667],[-0.318,-2.462],[0.86,2.328],[0.656,2.667],[0.318,2.462]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.569000004787,0.470999983245,0.317999985639,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[278.892,358.284],"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 453","np":4,"cix":2,"ix":453,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.06,-0.103],[0.102,-0.06],[0,0],[0.059,0.103],[-0.103,0.06]],"o":[[0.103,-0.06],[0.059,0.104],[0,0],[-0.103,0.06],[-0.06,-0.103],[0,0]],"v":[[0.706,-0.659],[0.999,-0.58],[0.921,-0.285],[-0.706,0.659],[-0.999,0.581],[-0.921,0.286]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.255000005984,0.234999997008,0.219999994016,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[269.049,349.477],"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 454","np":4,"cix":2,"ix":454,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.097,0.069],[-0.068,-0.098],[0,0],[0.097,-0.069],[0.067,0.098]],"o":[[-0.067,-0.098],[0.097,-0.068],[0,0],[0.067,0.098],[-0.098,0.068],[0,0]],"v":[[-0.715,-0.649],[-0.663,-0.95],[-0.363,-0.897],[0.716,0.649],[0.663,0.95],[0.363,0.897]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.255000005984,0.234999997008,0.219999994016,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[270.401,349.776],"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 455","np":4,"cix":2,"ix":455,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.041,0.026],[-0.026,0.041],[0,0],[-0.041,-0.024],[0.025,-0.042]],"o":[[-0.025,0.041],[-0.041,-0.024],[0,0],[0.026,-0.042],[0.041,0.025],[0,0]],"v":[[-0.226,0.547],[-0.346,0.576],[-0.375,0.456],[0.227,-0.548],[0.347,-0.578],[0.377,-0.457]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.255000005984,0.234999997008,0.219999994016,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[268.029,351.99],"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 456","np":4,"cix":2,"ix":456,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.042,0.026],[-0.026,0.041],[0,0],[-0.041,-0.025],[0.024,-0.042]],"o":[[-0.024,0.041],[-0.041,-0.025],[0,0],[0.026,-0.042],[0.042,0.025],[0,0]],"v":[[-0.227,0.548],[-0.347,0.577],[-0.376,0.457],[0.226,-0.547],[0.346,-0.577],[0.377,-0.456]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.255000005984,0.234999997008,0.219999994016,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[271.593,346.055],"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 457","np":4,"cix":2,"ix":457,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.025,0.042],[-0.041,-0.026],[0,0],[0.026,-0.042],[0.042,0.026]],"o":[[-0.042,-0.025],[0.025,-0.041],[0,0],[0.041,0.025],[-0.024,0.042],[0,0]],"v":[[-0.544,-0.227],[-0.574,-0.348],[-0.454,-0.377],[0.545,0.228],[0.574,0.349],[0.454,0.378]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.255000005984,0.234999997008,0.219999994016,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[266.86,347.231],"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 458","np":4,"cix":2,"ix":458,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.025,0.042],[-0.041,-0.026],[0,0],[0.026,-0.041],[0.042,0.025]],"o":[[-0.041,-0.025],[0.025,-0.041],[0,0],[0.041,0.024],[-0.024,0.042],[0,0]],"v":[[-0.546,-0.228],[-0.575,-0.349],[-0.455,-0.378],[0.544,0.228],[0.573,0.348],[0.453,0.379]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.255000005984,0.234999997008,0.219999994016,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[272.763,350.813],"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 459","np":4,"cix":2,"ix":459,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.01,0.046],[-0.047,0.012],[0,0],[-0.011,-0.047],[0.047,-0.012]],"o":[[-0.047,0.012],[-0.012,-0.047],[0,0],[0.047,-0.012],[0.012,0.047],[0,0]],"v":[[-0.546,0.226],[-0.651,0.162],[-0.588,0.055],[0.545,-0.226],[0.65,-0.162],[0.587,-0.055]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.255000005984,0.234999997008,0.219999994016,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[266.464,349.854],"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 460","np":4,"cix":2,"ix":460,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.011,0.047],[-0.047,0.011],[0,0],[-0.011,-0.047],[0.047,-0.012]],"o":[[-0.047,0.012],[-0.012,-0.047],[0,0],[0.048,-0.011],[0.012,0.047],[0,0]],"v":[[-0.545,0.225],[-0.651,0.161],[-0.587,0.055],[0.545,-0.227],[0.651,-0.163],[0.587,-0.056]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.255000005984,0.234999997008,0.219999994016,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[273.158,348.191],"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 461","np":4,"cix":2,"ix":461,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.046,0.011],[-0.011,-0.048],[0,0],[0.047,-0.012],[0.012,0.047]],"o":[[-0.012,-0.047],[0.047,-0.012],[0,0],[0.012,0.048],[-0.046,0.012],[0,0]],"v":[[-0.224,-0.548],[-0.161,-0.654],[-0.056,-0.59],[0.224,0.548],[0.16,0.654],[0.055,0.591]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.255000005984,0.234999997008,0.219999994016,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[268.984,345.658],"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 462","np":4,"cix":2,"ix":462,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.046,0.011],[-0.012,-0.047],[0,0],[0.047,-0.012],[0.012,0.047]],"o":[[-0.011,-0.047],[0.047,-0.012],[0,0],[0.012,0.047],[-0.047,0.012],[0,0]],"v":[[-0.225,-0.548],[-0.161,-0.654],[-0.055,-0.59],[0.225,0.549],[0.161,0.655],[0.055,0.591]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.255000005984,0.234999997008,0.219999994016,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[270.639,352.387],"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 463","np":4,"cix":2,"ix":463,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.609,2.478],[-2.463,0.613],[-0.61,-2.477],[2.464,-0.612]],"o":[[-0.608,-2.477],[2.464,-0.612],[0.608,2.477],[-2.463,0.612]],"v":[[-4.462,1.108],[-1.103,-4.485],[4.462,-1.108],[1.102,4.485]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.969000004787,0.933000033509,0.882000014361,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[269.73,349.055],"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 464","np":4,"cix":2,"ix":464,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.691,2.813],[-2.797,0.696],[-0.692,-2.812],[2.798,-0.695]],"o":[[-0.691,-2.813],[2.798,-0.695],[0.691,2.813],[-2.797,0.695]],"v":[[-5.066,1.259],[-1.252,-5.092],[5.066,-1.258],[1.252,5.092]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.255000005984,0.234999997008,0.219999994016,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[269.729,349.055],"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 465","np":4,"cix":2,"ix":465,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-4.06,8.892],[7.714,5.967],[4.06,-8.892],[-7.714,-5.967]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.811999990426,0.709999952129,0.552999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[269.729,349.056],"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 466","np":4,"cix":2,"ix":466,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-5.18,9.171],[8.833,5.691],[5.179,-9.17],[-8.833,-5.689]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.752999997606,0.62400004069,0.416000007181,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[269.73,349.055],"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 467","np":4,"cix":2,"ix":467,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-6.22,9.428],[9.873,5.431],[6.219,-9.428],[-9.873,-5.431]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.811999990426,0.709999952129,0.552999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[269.73,349.055],"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 468","np":4,"cix":2,"ix":468,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-4.715,2.687],[5.417,0.17],[4.715,-2.687],[-5.417,-0.17]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.811999990426,0.709999952129,0.552999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[277.264,379.702],"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 469","np":4,"cix":2,"ix":469,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-3.914,5.941],[6.217,3.424],[3.914,-5.941],[-6.217,-3.424]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.752999997606,0.62400004069,0.416000007181,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[276.463,376.448],"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 470","np":4,"cix":2,"ix":470,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-6.924,6.565],[9.169,2.568],[6.925,-6.564],[-9.168,-2.566]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.752999997606,0.62400004069,0.416000007181,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[272.165,358.96],"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 471","np":4,"cix":2,"ix":471,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-7.003,9.623],[10.655,5.236],[7.002,-9.624],[-10.655,-5.237]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.752999997606,0.62400004069,0.416000007181,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[269.73,349.056],"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 472","np":4,"cix":2,"ix":472,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-9.001,1.492],[8.657,-2.893],[9.001,-1.492],[-8.656,2.893]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.630999995213,0.510000011968,0.313999998803,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[267.73,340.925],"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 473","np":4,"cix":2,"ix":473,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-8.598,1.876],[8.478,-2.366],[8.598,-1.875],[-8.478,2.366]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.477999997606,0.40800000359,0.344999994016,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[265.541,332.02],"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 474","np":4,"cix":2,"ix":474,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-8.598,1.876],[8.478,-2.366],[8.598,-1.875],[-8.477,2.366]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.477999997606,0.40800000359,0.344999994016,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[262.068,317.892],"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 475","np":4,"cix":2,"ix":475,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-4.693,-18.09],[-4.229,-18.205],[4.694,18.089],[4.229,18.205]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.255000005984,0.234999997008,0.219999994016,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[258.47,323.303],"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 476","np":4,"cix":2,"ix":476,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-4.694,-18.09],[-4.229,-18.205],[4.694,18.09],[4.229,18.205]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.255000005984,0.234999997008,0.219999994016,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[260.328,322.841],"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 477","np":4,"cix":2,"ix":477,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-4.693,-18.089],[-4.228,-18.204],[4.694,18.09],[4.23,18.204]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.255000005984,0.234999997008,0.219999994016,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[262.186,322.38],"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 478","np":4,"cix":2,"ix":478,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-4.694,-18.09],[-4.229,-18.205],[4.694,18.09],[4.229,18.205]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.255000005984,0.234999997008,0.219999994016,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[264.044,321.918],"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 479","np":4,"cix":2,"ix":479,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-4.693,-18.089],[-4.228,-18.205],[4.694,18.09],[4.229,18.205]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.255000005984,0.234999997008,0.219999994016,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[265.901,321.457],"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 480","np":4,"cix":2,"ix":480,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-4.693,-18.09],[-4.228,-18.205],[4.694,18.089],[4.23,18.205]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.255000005984,0.234999997008,0.219999994016,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[267.76,320.995],"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 481","np":4,"cix":2,"ix":481,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-5.493,0.953],[5.302,-1.729],[5.493,-0.951],[-5.302,1.73]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.255000005984,0.234999997008,0.219999994016,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[258.275,302.464],"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 482","np":4,"cix":2,"ix":482,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-10.802,-18.167],[1.14,-21.134],[10.802,18.167],[-1.141,21.134]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.811999990426,0.709999952129,0.552999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[262.9,321.275],"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 483","np":4,"cix":2,"ix":483,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-10.049,0.893],[9.305,-3.915],[10.048,-0.894],[-9.307,3.914]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.255000005984,0.234999997008,0.219999994016,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[258.287,302.509],"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 484","np":4,"cix":2,"ix":484,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-13.133,-16.569],[3.943,-20.811],[13.133,16.569],[-3.944,20.811]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.752999997606,0.62400004069,0.416000007181,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[263.136,322.235],"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 485","np":4,"cix":2,"ix":485,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.017,0.073],[-0.072,0.018],[0,0],[-0.019,-0.072],[0.072,-0.018]],"o":[[-0.071,0.018],[-0.018,-0.072],[0,0],[0.072,-0.017],[0.017,0.072],[0,0]],"v":[[-0.716,0.316],[-0.878,0.217],[-0.78,0.055],[0.717,-0.318],[0.88,-0.219],[0.781,-0.056]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.255000005984,0.234999997008,0.219999994016,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[281.947,398.753],"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 486","np":4,"cix":2,"ix":486,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.073,0.018],[-0.018,-0.073],[0,0],[0.072,-0.018],[0.018,0.072]],"o":[[-0.018,-0.072],[0.071,-0.018],[0,0],[0.019,0.072],[-0.073,0.017],[0,0]],"v":[[-0.867,-2.958],[-0.768,-3.122],[-0.607,-3.023],[0.866,2.973],[0.77,3.136],[0.607,3.037]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.255000005984,0.234999997008,0.219999994016,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[281.5,396.928],"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 487","np":4,"cix":2,"ix":487,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-10.651,3.533],[1.644,9.921],[10.651,-0.57],[-7.347,-9.921]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.677999997606,0.545000023935,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[165.606,301.3],"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 488","np":4,"cix":2,"ix":488,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-11.465,2.06],[4.32,10.259],[11.465,-0.909],[-6.533,-10.26]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458999992819,0.328999986836,0.161000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[164.793,301.639],"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 489","np":4,"cix":2,"ix":489,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.253,0.198],[-0.389,-0.126],[-0.526,-0.35],[1.083,-0.046],[0.665,0.473],[0.23,-0.006],[-0.022,0.191]],"o":[[0.253,-0.198],[0.389,0.126],[0.527,0.349],[0,0],[0,0],[-0.231,0.007],[0.023,-0.19]],"v":[[-1.934,-0.974],[-0.74,-1.089],[0.986,-0.421],[1.204,1.215],[-1.285,-0.029],[-1.872,0.427],[-2.266,-0.182]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.677999997606,0.545000023935,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[111.566,344.783],"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 490","np":4,"cix":2,"ix":490,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-2.374,0.814],[0,0],[0,0],[-2.154,0.469],[-0.197,-0.101],[0,0],[0,0],[0,0],[0.995,-0.357],[0.045,0.023],[0.413,0.215],[0,0]],"o":[[0,0],[0,0],[0,0],[2.155,-0.47],[0.197,0.103],[0,0],[0,0],[0,0],[-0.181,-0.091],[-0.149,-0.077],[-0.23,-0.12],[0,0]],"v":[[-2.229,-3.073],[1.021,-1.386],[-3.163,0.037],[1.442,-0.748],[4.695,-1.25],[6.673,-0.163],[-2.276,1.71],[4.044,0.825],[-1.896,3.073],[-2.259,2.89],[-3.569,2.042],[-6.673,0.555]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.677999997606,0.545000023935,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[120.398,346.308],"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 491","np":4,"cix":2,"ix":491,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-2.804,0.641],[-0.068,0.132],[-0.221,0.428],[0,0],[0,0],[0,0],[-0.136,0.263],[0,0],[0,0],[0,0],[0.127,0.4],[0.063,0.2],[0.064,0.201],[-0.374,0.12],[0,0],[0.234,-0.129],[0,0],[0,0],[0.196,0.102],[0,0],[-0.672,0.216],[-0.068,0.132],[0.055,0.175],[0.699,-0.389],[0,0],[0.098,0.051],[0.638,0.321],[0,0]],"o":[[2.404,-0.549],[0.068,-0.132],[0.221,-0.43],[0,0],[0,0],[0,0],[0.135,-0.265],[0,0],[0,0],[0,0],[-0.127,-0.401],[-0.064,-0.2],[-0.063,-0.2],[0.373,-0.119],[0,0],[-0.232,0.13],[0,0],[0,0],[-0.198,-0.102],[0,0],[0.672,-0.214],[0.068,-0.132],[-0.056,-0.175],[-0.7,0.389],[0,0],[-0.069,-0.036],[0.256,-0.019],[6.179,-1.304]],"v":[[-3.785,5.051],[-0.005,4.171],[0.521,3.15],[9.954,-16.41],[10.873,-15.932],[-2.68,12.691],[-2.349,12.697],[11.128,-15.216],[13.298,-14.256],[-1.396,16.41],[-3.98,14.734],[-4.968,13.258],[-6.189,11.913],[-5.521,11.34],[-2.832,10.48],[-2.678,10.016],[-5.948,11.118],[-6.794,11.146],[-7.454,10.085],[-8.11,9.66],[-3.115,8.116],[-1.854,7.768],[-1.244,6.663],[-5.876,8.229],[-8.29,9.526],[-11.639,7.869],[-13.298,7.039],[-12.768,6.99]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.677999997606,0.545000023935,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[131.994,342.438],"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 492","np":4,"cix":2,"ix":492,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.851,0.088],[0.002,-0.186],[0,0],[0.27,0.077],[-0.027,0.111]],"o":[[0.851,-0.088],[-0.002,0.186],[-0.175,0.159],[-0.27,-0.078],[0.026,-0.111]],"v":[[-0.483,-1.315],[1.894,-1.358],[0.577,1.384],[-1.062,1.438],[-1.869,-0.789]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.677999997606,0.545000023935,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[145.428,325.224],"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 493","np":4,"cix":2,"ix":493,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.428,-1.157],[1.013,-0.221]],"o":[[0,0],[0,0],[0,0]],"v":[[-0.002,-1.388],[1.554,1.072],[-1.554,1.389]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.677999997606,0.545000023935,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[146.014,321.895],"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 494","np":4,"cix":2,"ix":494,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[3.212,-7.204],[3.989,-6.8],[-3.211,7.204],[-3.989,6.8]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.677999997606,0.545000023935,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[150.583,313.526],"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 495","np":4,"cix":2,"ix":495,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[3.372,-7.514],[4.149,-7.111],[-3.371,7.514],[-4.149,7.111]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.677999997606,0.545000023935,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[151.485,314.389],"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 496","np":4,"cix":2,"ix":496,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[3.473,-7.711],[4.249,-7.307],[-3.473,7.711],[-4.249,7.308]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.677999997606,0.545000023935,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[152.568,315.2],"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 497","np":4,"cix":2,"ix":497,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[3.738,-7.987],[4.32,-7.685],[-3.739,7.987],[-4.32,7.685]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.677999997606,0.545000023935,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[153.46,316.078],"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 498","np":4,"cix":2,"ix":498,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-2.238,-3.904],[0,0],[2.561,3.698],[0.096,-4.467],[0.267,0.263],[0.027,-0.173],[0,0],[3.749,7.255],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[-0.268,-0.264],[-0.027,0.173],[0,0],[0,0],[0,0]],"v":[[3.639,-0.208],[2.236,2.458],[-0.561,-3.917],[0.488,6.16],[-0.529,5.727],[-1.075,6.004],[-2.708,9.361],[-3.639,-8.6],[-3.185,-9.361]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.677999997606,0.545000023935,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[151.564,333.341],"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 499","np":4,"cix":2,"ix":499,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[3.756,-8.517],[4.74,-8.006],[-3.756,8.517],[-4.74,8.006]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.677999997606,0.545000023935,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[157.471,319.074],"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 500","np":4,"cix":2,"ix":500,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[4.079,-8.784],[4.77,-8.426],[-4.079,8.785],[-4.77,8.426]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.677999997606,0.545000023935,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[158.714,320.155],"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 501","np":4,"cix":2,"ix":501,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[4.393,-9.161],[4.895,-8.9],[-4.392,9.161],[-4.895,8.901]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.677999997606,0.545000023935,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[159.546,321.126],"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 502","np":4,"cix":2,"ix":502,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[-0.312,0.289],[0,0],[0.957,0.99]],"v":[[4.152,-5.349],[-3.169,7.303],[-3.202,7.368],[-4.152,6.999],[3.018,-7.658]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.677999997606,0.545000023935,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[147.536,348.199],"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 503","np":4,"cix":2,"ix":503,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.083,-0.162],[0.18,-0.192],[0,0]],"o":[[0,0],[-0.083,0.162],[-0.181,0.192],[0,0]],"v":[[3.159,-6.43],[3.993,-5.914],[-3.028,6.238],[-4.076,5.898]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.677999997606,0.545000023935,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[148.625,350.599],"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 504","np":4,"cix":2,"ix":504,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.435,-0.989],[0,0],[0,0],[-0.095,-0.3],[0,0],[0,0],[-0.867,-1.372],[0,0],[0.08,0.387],[-0.004,-0.001],[-0.005,-0.023],[0,0],[0,0],[-0.035,-0.111],[0,0],[0,0],[-0.246,-0.286],[0,0],[0.662,0.345],[0.229,0.013],[0.966,0.212],[0.03,0.095],[0.057,0.346],[0.09,0.284],[0.165,0.139],[0,0],[-0.281,-0.014],[-1.035,-1.249]],"o":[[0.435,0.99],[0,0],[0,0],[0.095,0.3],[0,0],[0,0],[0.867,1.373],[0,0],[-0.011,-0.027],[0.004,0.002],[0.17,0.396],[0,0],[0,0],[0.036,0.11],[0,0],[0,0],[0.247,0.286],[0,0],[-0.662,-0.344],[-0.229,-0.014],[-0.965,-0.212],[-0.03,-0.094],[-0.058,-0.347],[-0.09,-0.283],[-0.165,-0.138],[0,0],[0.281,0.014],[1.036,1.25]],"v":[[-1.037,0.488],[-0.18,2.646],[0.193,0.389],[1.105,2.287],[1.546,2.858],[0.654,-0.61],[2.266,1.15],[3.941,4.523],[3.616,0.883],[3.604,0.843],[3.616,0.883],[5.512,4.576],[4.314,-0.131],[6.152,2.669],[7.292,3.92],[5.096,-2.518],[8.378,-0.997],[9.223,7.506],[3.447,4.82],[0.217,3.249],[-1.919,3.272],[-3.654,2.264],[-3.982,1.119],[-6.036,-2.689],[-7.69,-5.182],[-9.223,-7.506],[-6.374,-7.08],[-4.18,-5.282]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.677999997606,0.545000023935,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[149.103,363.486],"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 505","np":4,"cix":2,"ix":505,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.222,0.108],[0,0],[0,0]],"o":[[-0.702,-0.343],[2.719,2.639],[-0.309,0.116]],"v":[[0.227,3.168],[-2.071,-3.796],[2.071,3.68]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.677999997606,0.545000023935,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[142.854,361.943],"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 506","np":4,"cix":2,"ix":506,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.257,0.368],[0,0],[0,0],[-0.149,-0.291],[0,0]],"o":[[-0.257,-0.369],[0,0],[0,0],[0.148,0.291],[-0.881,0.099]],"v":[[-1.391,1.44],[-1.559,-3.118],[0.012,-2.366],[0.356,-1.545],[1.648,3.019]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.677999997606,0.545000023935,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[140.613,361.923],"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 507","np":4,"cix":2,"ix":507,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.067,0.212],[-0.078,0.151],[-0.171,-0.089],[0,0]],"o":[[-0.067,-0.212],[0.077,-0.15],[0.171,0.089],[-0.309,0.098]],"v":[[-0.616,1.818],[-0.376,-2.442],[0.512,-2.062],[0.527,2.493]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.677999997606,0.545000023935,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[138.25,360.775],"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 508","np":4,"cix":2,"ix":508,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.333,-0.456],[0.137,-0.045],[0.129,0.408],[0,0],[0.276,-0.153],[0,0],[0.13,0.129],[0,0],[-0.158,0.117],[-0.183,0.103],[-0.104,-0.054],[0,0],[0,0]],"o":[[-0.333,0.456],[0,0],[-0.13,-0.409],[0,0],[-0.275,0.154],[0,0],[-0.129,-0.131],[0,0],[0.158,-0.115],[0.184,-0.102],[0.103,0.053],[0,0],[0,0]],"v":[[1.495,1.628],[0.243,3.617],[0.149,2.25],[-0.201,0.809],[-1.443,1.027],[-2.818,1.599],[-1.921,-0.146],[-2.497,-1.003],[-2.279,-1.682],[-0.288,-3.514],[0.363,-3.439],[2.818,-1.966],[2.713,2]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.677999997606,0.545000023935,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[134.657,360.349],"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 509","np":4,"cix":2,"ix":509,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.354,0.102],[-0.23,0.343],[-0.129,-0.013],[0,0],[0.177,-0.345]],"o":[[0,0],[0.231,-0.343],[0.129,0.012],[0,0],[-0.176,0.344]],"v":[[-1.434,1.799],[0.253,-1.272],[1.058,-1.888],[1.434,-1.776],[0.149,0.88]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.677999997606,0.545000023935,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[135.508,364.608],"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 510","np":4,"cix":2,"ix":510,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.183,0.014],[0.235,0.176],[-0.045,0.086],[-0.159,-0.218]],"o":[[0,0],[-0.183,-0.014],[-0.234,-0.176],[0.044,-0.086],[0.158,0.218]],"v":[[0.447,0.416],[0.026,0.497],[-0.485,0.068],[-0.23,-0.426],[0.561,-0.014]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.677999997606,0.545000023935,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[132.671,366.638],"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 511","np":4,"cix":2,"ix":511,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.036,0.114],[-0.007,0.188],[0.149,0.132],[-0.055,0.107],[-0.329,-0.416],[0,0]],"o":[[-0.036,-0.114],[0.007,-0.186],[-0.149,-0.132],[0.055,-0.108],[0.328,0.415],[-0.082,0.148]],"v":[[-0.034,0.636],[-0.184,0.122],[-0.665,-0.454],[-0.378,-1.013],[0.486,-0.374],[0.248,0.973]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.677999997606,0.545000023935,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[133.881,364.21],"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 512","np":4,"cix":2,"ix":512,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.689,0.878],[0,0],[-0.128,-0.013],[-0.033,0.064],[-0.055,0.107],[0.159,0.11],[0,0],[-0.142,0.118],[-0.146,0.047],[-0.236,-0.068],[0.056,-0.108],[0.13,-0.041],[0.122,-0.291],[0.089,-0.172],[-0.171,-0.089],[-0.037,-0.114],[0.122,-0.236],[-0.138,-0.153],[-0.211,0.068],[-0.107,-0.055],[0,0]],"o":[[-1.689,-0.877],[0,0],[0.13,0.012],[0.033,-0.065],[0.056,-0.108],[-0.16,-0.11],[0,0],[0.141,-0.117],[0.146,-0.047],[0.236,0.069],[-0.055,0.107],[-0.13,0.042],[-0.122,0.29],[-0.088,0.171],[0.171,0.088],[0.036,0.114],[-0.121,0.236],[0.137,0.153],[0.21,-0.067],[0.107,0.055],[0,0]],"v":[[-0.748,2.811],[-1.826,0.481],[-0.498,0.954],[-0.139,0.731],[-0.069,0.278],[-0.386,-0.105],[-1.377,-0.865],[-0.491,-2.747],[1.187,-3.481],[2.071,-3.621],[2.381,-2.643],[1.84,-2.434],[0.966,-2.261],[0.704,-1.172],[0.569,-0.698],[1.372,-0.363],[1.342,0.221],[0.645,1.683],[1.522,2.084],[1.901,1.873],[2.253,2.137]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.677999997606,0.545000023935,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[130.604,365.952],"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 513","np":4,"cix":2,"ix":513,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.253,-0.44],[0,0],[-0.166,0.322],[-0.208,-0.018],[0.111,-0.214],[0.11,-0.161]],"o":[[-0.253,0.439],[0,0],[0.166,-0.322],[0.207,0.018],[-0.11,0.215],[-0.11,0.161]],"v":[[-0.025,0.177],[-1.835,2.695],[0.31,-2.372],[0.922,-2.455],[1.725,-1.964],[0.927,-0.2]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.677999997606,0.545000023935,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[130.303,361.971],"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 514","np":4,"cix":2,"ix":514,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-1.14,0.656],[-0.465,-0.656],[1.14,0.125]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.677999997606,0.545000023935,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[135.298,351.525],"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 515","np":4,"cix":2,"ix":515,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[1.336,0.826],[0,0],[0,0]],"v":[[-0.283,-1.236],[1.02,1.237],[-1.053,0.16]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.677999997606,0.545000023935,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[136.059,350.27],"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 516","np":4,"cix":2,"ix":516,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.053,-0.103],[0,0],[-0.159,0.308],[0,0]],"o":[[-0.053,0.103],[0,0],[0.157,-0.306],[0,0]],"v":[[2.512,-4.471],[-2.239,4.768],[-2.406,4.176],[2.107,-4.768]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.677999997606,0.545000023935,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[143.378,333.834],"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 517","np":4,"cix":2,"ix":517,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.305,0.029],[0,0],[-0.105,3.974],[-0.02,0.123],[-0.125,0.245],[0,0],[0.497,-5.277],[0.172,-0.646]],"o":[[-0.264,-0.025],[0,0],[0.105,-3.973],[0.019,-0.123],[0.126,-0.245],[0,0],[-0.497,5.275],[-0.164,0.617]],"v":[[-1.201,11.206],[-1.367,10.667],[-0.539,1.943],[-0.659,-7.416],[-0.271,-9.029],[0.511,-11.234],[0.968,-1.701],[-0.617,10.403]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.677999997606,0.545000023935,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[147.094,336.948],"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 518","np":4,"cix":2,"ix":518,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.131,0.414],[2.724,2.152],[-0.141,0.273],[0,0],[0.296,-5.513],[0.208,-0.237],[0.936,1.611],[0,0],[-0.406,-1.638],[0.074,-0.394],[0.225,-0.072]],"o":[[-0.131,-0.415],[0,0],[0.14,-0.273],[0,0],[-0.296,5.514],[-0.208,0.239],[-0.936,-1.611],[0,0],[0.406,1.639],[-0.073,0.395],[-0.226,0.072]],"v":[[0.849,8.787],[-3.764,2.021],[-0.022,-5.421],[2.212,-10.1],[3.467,-1.748],[2.827,6.527],[1.211,3.395],[-0.065,1.607],[1.253,5.406],[1.977,8.767],[1.406,10.027]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.677999997606,0.545000023935,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[141.458,344.537],"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 519","np":4,"cix":2,"ix":519,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.861,-2.886],[1.674,2.308]],"o":[[0,0],[0,0],[0,0]],"v":[[0.629,-4.361],[0.497,4.362],[-1.358,-0.457]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.677999997606,0.545000023935,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[145.361,334.167],"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 520","np":4,"cix":2,"ix":520,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.845,1.575],[0.113,0.138],[0,0]],"o":[[-0.926,0.522],[-0.845,-1.575],[-0.113,-0.137],[2.095,1.088]],"v":[[2.163,2.525],[-0.141,-0.151],[-2.049,-2.569],[-1.751,-3.047]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.677999997606,0.545000023935,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[138.958,349.708],"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 521","np":4,"cix":2,"ix":521,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-0.303,0.027],[0,0]],"o":[[0,0],[0,0],[0.304,-0.027],[0,0]],"v":[[-2.438,1.053],[-1.699,-0.385],[0.883,-1.025],[2.439,-0.013]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.677999997606,0.545000023935,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[135.844,353.115],"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 522","np":4,"cix":2,"ix":522,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.124,-0.115],[0.2,-0.196],[0,0],[-0.146,0.323],[0,0],[-0.093,-0.128]],"o":[[-0.124,0.115],[-0.199,0.195],[0,0],[0.147,-0.323],[0,0],[0.093,0.128]],"v":[[1.099,-0.741],[-0.639,0.892],[-1.294,1.509],[-1.468,0.92],[-0.43,-0.866],[1.521,-1.38]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.677999997606,0.545000023935,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[132.719,357.486],"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 523","np":4,"cix":2,"ix":523,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[1.458,0.758],[0,0],[-0.213,0.068],[-0.434,-0.332]],"o":[[0,0],[-1.459,-0.758],[0,0],[0.213,-0.068],[0.433,0.333]],"v":[[2.58,1.761],[-0.228,0.587],[-2.58,-0.921],[0.127,-1.693],[1.546,-1.135]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.677999997606,0.545000023935,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[137.617,357.154],"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 524","np":4,"cix":2,"ix":524,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.207,0.16],[0.188,-0.007],[0,0],[0,0],[-0.142,0.045],[-0.734,-0.461],[0,0],[0.094,-0.03]],"o":[[-0.207,-0.16],[-0.188,0.008],[0,0],[0,0],[0.141,-0.046],[0.735,0.461],[0,0],[-0.095,0.03]],"v":[[1.386,0.774],[-0.69,0.672],[-4.874,1.298],[-4.051,-0.097],[1.194,-1.253],[4.139,0.171],[4.816,1.103],[2.154,1.12]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.677999997606,0.545000023935,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[137.426,354.669],"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 525","np":4,"cix":2,"ix":525,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[2.496,1.481],[-0.623,0.6],[-0.312,-1.642],[0,0]],"v":[[-1.267,-2.428],[1.589,1.828],[0.162,1.589],[-1.589,-1.751]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.677999997606,0.545000023935,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[137.668,349.991],"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 526","np":4,"cix":2,"ix":526,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.336,-0.102],[-0.325,-0.218],[0.025,-0.426],[0.117,-0.086],[0.115,0.06],[0.026,0.233],[0.096,0.05],[0,0],[-0.041,0.222]],"o":[[0.335,0.102],[0.325,0.217],[-0.025,0.424],[-0.116,0.085],[-0.115,-0.059],[-0.026,-0.232],[-0.095,-0.05],[-0.345,-0.179],[0.042,-0.221]],"v":[[-1.183,-1.476],[0.817,-0.558],[1.748,0.413],[1.599,1.456],[1.203,1.518],[0.949,1.069],[0.466,0.453],[-0.232,0.163],[-1.732,-0.787]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.677999997606,0.545000023935,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[162.128,372.124],"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 527","np":4,"cix":2,"ix":527,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-2.516,-1.062],[-1.227,-0.525],[-1.339,-0.417],[-2.011,-1.158],[-0.832,-0.431],[-0.064,-0.2],[-0.569,-0.296],[-0.569,-0.296],[0,0],[0.708,-1.917],[-2.32,-1.205],[-0.627,0.789],[0,0],[-1.119,-0.304],[-0.525,-0.273],[-0.459,-0.294],[-0.308,-0.049],[-0.242,-0.069],[-0.219,-0.114],[0,0],[-0.846,-0.357],[-0.256,0.119],[0,0],[-0.497,-0.063],[-0.15,0.51],[0.406,0.238],[0,0],[0.07,0.568],[0.251,0.213],[0,0],[0.656,0.713],[0,0],[-0.003,0.217],[0,0],[0.041,0.13],[0,0],[-0.004,0.261],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0.158,-0.308],[1.089,-2.333],[0,0],[0.597,-0.191],[0,0],[0,0],[1.087,-0.494],[0.429,-0.725],[1.03,0.369],[0.294,-0.572]],"o":[[0,0],[1.227,0.526],[1.338,0.417],[0,0],[0.831,0.433],[0.063,0.201],[0.569,0.295],[0.569,0.296],[0,0],[-0.709,1.918],[2.32,1.205],[0.628,-0.789],[0,0],[1.12,0.303],[0.525,0.273],[0.459,0.294],[0.308,0.048],[0.241,0.071],[0.219,0.113],[0,0],[0.847,0.355],[0.255,-0.118],[0,0],[0.496,0.061],[0.15,-0.508],[-0.406,-0.239],[0,0],[-0.069,-0.568],[-0.252,-0.215],[0,0],[-0.656,-0.713],[0,0],[0.002,-0.218],[0,0],[-0.042,-0.131],[0,0],[0.003,-0.261],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.159,0.309],[-1.089,2.333],[0,0],[-0.598,0.192],[0,0],[0,0],[-1.086,0.495],[0,0],[-1.031,-0.368],[-0.294,0.572]],"v":[[-29.099,4.568],[-28.263,5.733],[-23.456,7.172],[-13.888,11.753],[-12.913,13.094],[-11.827,14.216],[-9.57,16.839],[-8.023,18.144],[-6.36,19.008],[-8.724,24.469],[-7.206,29.607],[-2.743,28.692],[0.885,22.716],[4.89,24.742],[7.592,25.42],[8.998,25.705],[10.77,26.681],[11.961,26.63],[13.041,26.579],[22.478,31.732],[24.091,33.41],[26.835,34.89],[27.207,34.329],[29.283,35.324],[30.19,34.424],[28.766,31.784],[22.577,28.4],[23.131,26.619],[21.677,21.334],[15.246,17.881],[13.906,15.558],[11.769,13.748],[17.484,3.31],[16.815,2.875],[17.713,1.045],[17.251,0.63],[19.81,-4.515],[19.698,-5.186],[31.615,-27.882],[30.346,-28.541],[19.985,-8.392],[19.591,-8.596],[29.641,-28.574],[29.071,-28.758],[19.114,-9.178],[18.856,-9.647],[28.657,-29.14],[24.695,-31.143],[15.986,-14.204],[14.892,-14.773],[23.447,-31.736],[22.835,-32.054],[14.464,-15.776],[13.72,-16.162],[22.068,-32.397],[18.48,-34.371],[17.87,-34.912],[17.282,-35.385],[9.788,-20.379],[9.396,-20.695],[9.612,-22.087],[9.063,-22.205],[5.58,-15.43],[5.094,-15.348],[-1.439,-1.348],[-4.387,4.925],[-5.816,4.684],[-8.195,4.564],[-16.756,0.506],[-18.857,1.031],[-23.08,3.743],[-28.268,1.214],[-31.161,1.663]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458999992819,0.328999986836,0.161000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[136.592,340.403],"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 528","np":4,"cix":2,"ix":528,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-0.747,-15.272],[12.825,-8.22],[0.747,15.271],[-12.825,8.219]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.677999997606,0.545000023935,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[155.195,319.305],"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 529","np":4,"cix":2,"ix":529,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-1.224,-2.305],[0,0]],"o":[[0,0],[-0.384,2.093],[1.223,2.306],[-2.306,-4.925]],"v":[[-3.009,-7.531],[-3.075,-7.628],[0.382,2.305],[3.459,7.628]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.144999994016,0.493999974868,0.510000011968,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[137.317,103.786],"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 530","np":4,"cix":2,"ix":530,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.455,-0.975],[0,0],[0.052,0.18],[0.258,0.897],[0,0]],"o":[[0.455,0.976],[0,0],[-0.051,-0.179],[-0.258,-0.896],[0,0]],"v":[[-0.247,0.887],[1.085,2.831],[0.942,1.999],[-0.358,-1.042],[-1.085,-2.831]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.144999994016,0.493999974868,0.510000011968,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[126.849,94.111],"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 531","np":4,"cix":2,"ix":531,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-1.01,-3.242],[-0.392,-2.237],[0,0],[-0.081,1.131],[2.573,8.539]],"o":[[0,0],[1.011,3.243],[0.335,1.911],[0,0],[0.08,-1.131],[-2.572,-8.538]],"v":[[-4.982,-16.176],[-0.083,-1.796],[3.755,12.747],[4.393,16.176],[4.902,14.318],[1.665,1.794]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.144999994016,0.493999974868,0.510000011968,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[128.301,86.358],"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 532","np":4,"cix":2,"ix":532,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.144,-0.544],[-0.299,-0.437],[-0.432,-0.297],[0,0],[0.122,1.111],[-0.245,2.377],[-0.157,-0.029],[-0.175,-0.522],[0,0],[0,0],[0.175,-1.546],[0.183,0.034],[-0.286,4.521],[0,0],[0.206,-3.637],[-0.187,-0.606],[-0.185,-0.47],[0,0],[0,0]],"o":[[0.144,0.544],[0.299,0.436],[0.433,0.298],[0,0],[-0.121,-1.112],[0.246,-2.377],[0.158,0.029],[0.176,0.522],[-0.667,-3.308],[0,0],[-0.175,1.547],[-0.183,-0.034],[0.287,-4.52],[-0.668,1.427],[-0.205,3.637],[0.187,0.606],[0.185,0.469],[-0.628,-0.116],[0,0]],"v":[[-1.935,7.67],[-1.132,9.643],[-0.256,10.92],[1.141,11.424],[0.396,9.136],[0.176,0.874],[1.129,-2.407],[1.711,-0.557],[2.238,0.412],[1.256,-9.896],[-0.342,0.451],[-0.907,3.831],[-1.255,-2.549],[0.209,-11.424],[-1.806,-2.351],[-1.436,4.06],[-0.835,5.805],[-0.406,8.633],[-2.238,5.627]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.144999994016,0.493999974868,0.510000011968,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[119.965,77.019],"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 533","np":4,"cix":2,"ix":533,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-0.131,-0.191],[-0.295,-0.055],[-0.089,-0.267],[0.065,0.096],[0,0],[-0.088,-0.128],[-0.241,-0.045],[-0.112,-0.299],[0.064,-0.35],[-0.112,-0.299],[0,0],[0,0],[0,0],[0,0],[0.288,-0.058],[0.484,0.229],[0.393,0.573],[0.365,0.123],[0.319,-0.08],[0.365,0.123],[0.194,0.148],[0.066,0.095],[-0.127,0.088],[0.109,0.159],[0,0],[0,0],[-0.03,0.162],[0,0],[0.107,0.02],[0,0],[0,0],[0.19,-0.132],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.133,-0.025],[0,0],[0,0],[0.034,-0.188],[0,0],[0,0],[-0.19,0.132],[0,0],[0,0],[0.134,0.025],[0.134,0.025],[0.175,0.256],[0.35,0.51],[0.151,0.084],[0.216,0.179],[0.087,0.128],[0.153,0.223],[0.248,0.157],[0.161,0.03],[0,0],[0,0],[0.109,0.159],[-0.105,0.119],[0.109,0.159],[-0.389,0.458],[0.08,0.321],[0.377,0.209],[0.096,-0.066],[0.111,0.299],[0.128,0.664],[0,0],[0.137,-0.142],[0,0],[0.516,-0.545],[0,0],[-0.627,0.245],[-0.095,0.066],[0.049,-0.269],[-0.424,0.2],[-0.214,-0.04],[0.027,-0.149],[0.7,-0.344],[0.168,-0.028],[0,0],[0,0],[-0.585,0.922],[-0.107,-0.02],[0.286,-0.197],[0.178,-0.218],[0.025,-0.135],[-0.204,-0.094],[-0.285,0.197],[-0.283,0.337],[-0.175,-0.254],[0.096,-0.066],[0,0],[-0.321,-0.059],[-0.294,-0.054],[-0.133,-0.331],[-0.307,0.165],[-0.173,-0.115],[-0.068,-0.235],[0.254,-0.175],[-0.222,0.154],[-0.292,-0.222],[-0.109,-0.159],[-0.431,-0.219],[-0.509,-0.4],[-0.284,-0.414],[-0.065,-0.095],[0.006,0.419],[-0.256,0.036],[-0.136,-0.471],[-0.087,-1.491],[0.431,0.22],[0.058,0.289],[-0.054,0.296],[0.109,0.16],[0,0],[-0.026,-0.311],[-0.132,-0.191],[0,0],[-0.457,-0.53],[-0.222,1.212],[0.014,0.225],[0,0],[-0.18,-0.534],[0.177,-1.721],[0,0],[-0.134,-0.025],[0.049,-0.269],[-0.257,-0.103],[-0.244,0.121],[0.109,0.16],[0,0],[-0.131,-0.191],[-0.131,-0.191],[-0.13,-0.191],[0,0],[0.014,0.226],[-0.03,0.162],[0.109,0.159],[0.014,0.226],[-0.105,0.12],[0,0],[0.06,0.429],[0,0],[-0.059,-0.289],[-0.197,-0.287],[0,0],[0.101,0.353],[-0.05,0.269],[-0.307,0.165],[0,0],[0.066,0.095],[0,0],[-0.044,0.242],[0.095,-0.066],[0.066,0.096],[-0.049,0.27],[0,0],[-0.066,-0.095],[0.095,-0.066],[0,0],[0,0],[0,0],[-0.087,-0.128],[-0.241,-0.044],[-0.087,-0.128],[-0.244,0.121],[-0.058,-0.289],[0.346,-0.381],[0,0],[-0.309,0.026],[-0.428,-0.079],[-0.248,-0.157],[-0.284,0.337],[0,0],[-0.28,-0.135],[-0.554,0.148],[-0.788,-0.536],[0,0],[0.333,0.146],[0,0],[0.04,-0.215],[0.476,-1.693],[-1.357,-0.001],[0.455,-0.973],[0.309,-0.778],[-0.218,-0.318],[-0.312,-0.113],[-0.928,-1.285],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0.132,0.191],[0.196,0.287],[0,0],[0,0],[0,0],[0,0],[0,0],[1.029,1.638],[-0.005,0.333],[-0.081,-0.015],[-0.455,-0.391],[0,0],[0.261,0.382],[0,0],[0.281,0.887],[0,0],[-0.049,0.27],[0.132,0.192],[0,0],[0,0],[-0.223,0.154],[-0.196,0.465],[0.094,0.546],[0.286,0.554],[0,0],[-0.145,0.335],[0.175,0.255],[0.194,0.148],[-0.125,0.227],[0.109,0.159],[0,0]],"o":[[0,0],[0,0],[0.131,0.192],[0.294,0.054],[0.09,0.267],[-0.066,-0.095],[0,0],[0.087,0.127],[0.241,0.045],[0.111,0.299],[-0.064,0.351],[0.111,0.299],[0,0],[0,0],[0,0],[0,0],[-0.287,0.058],[-0.484,-0.228],[-0.393,-0.574],[-0.365,-0.124],[-0.32,0.08],[-0.365,-0.124],[-0.195,-0.147],[-0.065,-0.096],[0.127,-0.087],[-0.11,-0.159],[0,0],[0,0],[0.03,-0.161],[0,0],[-0.107,-0.02],[0,0],[0,0],[-0.191,0.132],[0,0],[0,0],[0,0],[0,0],[0,0],[0.135,0.025],[0,0],[0,0],[-0.035,0.189],[0,0],[0,0],[0.19,-0.131],[0,0],[0,0],[-0.134,-0.024],[-0.134,-0.024],[-0.175,-0.255],[-0.349,-0.51],[-0.151,-0.083],[-0.216,-0.179],[-0.088,-0.127],[-0.153,-0.223],[-0.248,-0.157],[-0.161,-0.03],[0,0],[0,0],[-0.109,-0.16],[0.105,-0.12],[-0.109,-0.16],[0.388,-0.457],[-0.08,-0.321],[-0.377,-0.209],[-0.094,0.066],[-0.111,-0.299],[-0.127,-0.663],[0,0],[-0.137,0.141],[0.247,0.769],[-0.515,0.545],[0.243,1.241],[0.627,-0.246],[0.095,-0.066],[-0.049,0.269],[0.425,-0.2],[0.215,0.04],[-0.027,0.148],[-0.7,0.343],[-0.168,0.028],[0,0],[0,0],[0.584,-0.921],[0.107,0.019],[-0.285,0.198],[-0.178,0.217],[-0.024,0.135],[0.205,0.093],[0.285,-0.198],[0.284,-0.338],[0.174,0.256],[-0.095,0.066],[0,0],[0.322,0.06],[0.295,0.055],[0.134,0.331],[0.307,-0.166],[0.173,0.115],[0.067,0.235],[-0.254,0.176],[0.222,-0.154],[0.292,0.221],[0.11,0.16],[0.43,0.219],[0.508,0.401],[0.284,0.415],[0.066,0.096],[-0.007,-0.419],[0.256,-0.036],[0.135,0.47],[0.087,1.492],[-0.431,-0.218],[-0.058,-0.289],[0.054,-0.297],[-0.11,-0.159],[0,0],[0.027,0.311],[0.131,0.191],[0,0],[0.457,0.53],[0.222,-1.212],[-0.014,-0.225],[0,0],[0.179,0.534],[-0.176,1.721],[0.523,0.014],[0.134,0.025],[-0.05,0.269],[0.259,0.103],[0.244,-0.122],[-0.109,-0.159],[0,0],[0.131,0.192],[0.132,0.192],[0.132,0.192],[0,0],[-0.014,-0.225],[0.029,-0.162],[-0.109,-0.16],[-0.014,-0.225],[0.105,-0.12],[0,0],[-0.06,-0.428],[0,0],[0.057,0.289],[0.196,0.286],[0,0],[-0.102,-0.352],[0.049,-0.269],[0.308,-0.166],[0,0],[-0.065,-0.096],[0,0],[0.045,-0.242],[-0.095,0.066],[-0.066,-0.096],[0.049,-0.269],[0,0],[0.066,0.096],[-0.095,0.066],[0,0],[0,0],[0,0],[0.088,0.127],[0.241,0.045],[0.088,0.128],[0.244,-0.122],[0.057,0.289],[-0.347,0.381],[0,0],[0.31,-0.026],[0.429,0.08],[0.248,0.157],[0.283,-0.338],[0,0],[0.28,0.135],[0.553,-0.148],[0.788,0.535],[0,0],[-0.333,-0.145],[0,0],[-0.039,0.215],[-0.477,1.694],[1.357,0.001],[-0.456,0.974],[-0.308,0.778],[0.219,0.319],[0.312,0.114],[0.928,1.286],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.13,-0.192],[-0.197,-0.287],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.029,-1.638],[0.006,-0.333],[0.08,0.015],[0.455,0.39],[0,0],[-0.263,-0.383],[0,0],[-0.281,-0.887],[0,0],[0.05,-0.269],[-0.131,-0.191],[0,0],[0,0],[0.222,-0.154],[0.196,-0.465],[-0.094,-0.547],[-0.286,-0.554],[0,0],[0.145,-0.335],[-0.174,-0.255],[-0.195,-0.147],[0.125,-0.228],[-0.11,-0.16],[0,0]],"v":[[15.677,-19.352],[14.888,-19.275],[15.115,-16.283],[16.213,-15.773],[16.868,-14.816],[16.067,-14.826],[15.281,-15.222],[15.061,-14.928],[15.966,-14.427],[16.467,-13.833],[16.198,-12.519],[16.481,-11.492],[15.822,-11.224],[15.642,-10.394],[16.119,-3.624],[9.311,-14.99],[8.559,-15.269],[6.821,-15.758],[4.976,-17.63],[2.123,-19.745],[0.437,-19.612],[-1.246,-19.951],[-3.129,-20.857],[-4.343,-21.944],[-4.171,-22.581],[-4.546,-23.402],[-5.569,-23.87],[-6.711,-25.194],[-8.036,-27.333],[-4.027,-31.379],[-8.827,-28.76],[-9.281,-29.15],[-7.266,-33.649],[-10.859,-29.609],[-11.782,-29.864],[-12.259,-34.518],[-13.222,-29.713],[-14.045,-29.002],[-18.198,-32.332],[-15.3,-27.898],[-16.196,-27.089],[-21.744,-27.337],[-16.89,-25.715],[-16.556,-24.817],[-19.607,-22.375],[-16.156,-23.825],[-15.539,-23.265],[-17.096,-21.716],[-17.753,-21.309],[-19.394,-21.724],[-20.383,-22.826],[-21.863,-24.575],[-24.333,-26.814],[-26.225,-28.278],[-27.138,-29.338],[-30.164,-33.684],[-31.03,-34.401],[-32.619,-34.194],[-32.956,-34.619],[-32.814,-35.093],[-33.263,-35.816],[-33.111,-36.345],[-33.641,-36.777],[-33.013,-37.636],[-32.594,-38.866],[-34.127,-40.625],[-36.212,-39.981],[-36.595,-40.609],[-36.635,-42.51],[-37.574,-43.881],[-37.517,-42.227],[-39.516,-45.075],[-39.427,-41.328],[-40.599,-41.127],[-38.496,-39.151],[-37.146,-40.321],[-37.08,-39.474],[-36.342,-39.421],[-34.821,-39.863],[-34.589,-39.388],[-37.116,-37.615],[-38.483,-36.334],[-39.153,-35.264],[-38.575,-35.241],[-38.237,-36.181],[-35.66,-38.153],[-35.696,-37.659],[-37.487,-36.041],[-38.086,-35.345],[-37.875,-34.832],[-36.914,-35.069],[-35.912,-35.722],[-34.868,-35.975],[-35.794,-35.004],[-36.289,-34.567],[-35.879,-34.241],[-35.363,-34.034],[-34.648,-33.4],[-33.832,-33.165],[-32.83,-33.342],[-32.428,-32.21],[-33.239,-31.414],[-32.693,-31.368],[-31.045,-31.146],[-28.664,-27.059],[-27.04,-26.396],[-23.473,-24.4],[-21.398,-22.123],[-18.295,-17.595],[-18.176,-18.241],[-17.746,-20.138],[-16.889,-18.615],[-17.032,-14.661],[-17.757,-11.761],[-18.656,-13.959],[-18.681,-14.882],[-19.126,-16.079],[-20.163,-16.771],[-19.754,-14.469],[-19.417,-13.432],[-18.839,-14.021],[-17.891,-10.727],[-16.633,-12.304],[-16.786,-16.759],[-16.637,-18.179],[-16.183,-17.176],[-16.194,-11.527],[-16.848,-9.616],[-15.883,-10.049],[-15.661,-8.839],[-14.945,-8.066],[-14.05,-8.262],[-13.975,-8.973],[-14.801,-11.269],[-14.111,-10.195],[-12.959,-8.172],[-12.589,-7.018],[-11.951,-6.565],[-11.898,-7.308],[-12.032,-8.39],[-13.151,-10.295],[-13.728,-11.683],[-13.743,-12.66],[-12.511,-11.068],[-12.411,-12.219],[-12.193,-14.016],[-10.805,-5.713],[-10.454,-3.699],[-8.75,-3.328],[-11.771,-15.107],[-11.745,-16.912],[-10.498,-17.07],[-9.863,-17.51],[-12.77,-21.75],[-12.676,-22.568],[-12.085,-23.071],[-12.617,-23.643],[-13.25,-23.816],[-12.985,-24.658],[-12.595,-25.727],[-10.403,-25.6],[-11.255,-24.727],[-11.439,-24.177],[-10.424,-22.764],[-10.983,-22.283],[-10.935,-21.939],[-10.27,-21.789],[-9.865,-21.129],[-9.046,-21.367],[-8.547,-20.913],[-9.349,-19.558],[-10.815,-18.966],[-9.855,-19.067],[-8.462,-18.81],[-6.164,-18.05],[-4.949,-17.574],[-2.877,-18.305],[-1.357,-18.134],[0.276,-18.278],[3.024,-17.407],[5.457,-14.813],[0.801,-16.761],[0.559,-16.499],[22.375,12.873],[19.103,19.7],[21.114,21.27],[22.36,23.087],[18.995,29.508],[18.848,31.067],[19.864,31.116],[21.899,32.857],[23.512,37.053],[20.265,39.208],[18.656,43.002],[20.076,45.075],[20.14,45.031],[40.599,30.862],[40.074,30.097],[38.969,29.029],[37.182,28.197],[36.548,27.273],[35.724,27.844],[36.165,28.761],[34.198,30.123],[29.491,22.709],[28.085,19.498],[28.649,19.296],[34.002,26.356],[35.205,27.497],[34.169,26.053],[32.695,23.97],[32.563,21.663],[28.121,15.523],[28.727,14.633],[26.891,11.955],[27.004,10.89],[18.979,1.025],[19.443,0.61],[19.959,-0.547],[20.395,-3.529],[19.855,-6.023],[17.862,-9.204],[18.468,-10.094],[18.47,-11.318],[17.962,-12.471],[17.818,-13.499],[17.634,-15.064],[16.202,-16.471]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.144999994016,0.493999974868,0.510000011968,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[123.667,81.505],"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 534","np":4,"cix":2,"ix":534,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.646,6.982],[-3.286,-5.465],[0,0],[0.699,1.02]],"o":[[0,0],[3.285,5.465],[0,0],[-0.699,-1.021]],"v":[[-7.863,-13.761],[-0.826,-1.148],[7.863,13.761],[6.77,12.583]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.144999994016,0.493999974868,0.510000011968,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[133.511,85.627],"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 535","np":4,"cix":2,"ix":535,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.141,0.577],[-0.225,-0.443],[0,0],[0.35,0.916],[0.041,-1.187],[-0.029,-0.101],[-0.108,0.075],[-0.091,-0.017],[-0.012,-0.192],[0.114,-0.239],[-0.057,-0.2],[0,0],[-0.335,0.032],[-0.175,-0.197],[0,0],[-0.083,-0.063],[-0.12,-0.117],[0,0],[-0.029,-0.1],[0,0],[0,0],[-0.029,0.16],[0,0],[0,0],[-0.047,-0.127],[-0.085,-0.181],[-0.167,-0.243],[0,0],[-0.205,-0.038],[-0.165,-0.125],[-0.093,-0.135],[0,0],[0,0],[0.112,0.162],[0,0],[0,0],[0,0],[0,0],[-0.056,-0.081],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.148,-0.215],[0,0],[-0.123,-0.179],[-0.074,-0.107],[0,0],[-0.025,-0.036],[-0.097,-0.143],[-0.041,-0.059],[-0.028,-0.067],[-0.033,-0.048],[0,0],[0,0],[0,0],[0.036,-0.024],[0,0],[0,0],[0,0],[0,0],[0.141,0.026],[0.072,0.055],[0,0],[0.851,1.243],[0.277,0.301],[0.49,0.613],[0.279,0.406],[0.113,0.062],[1.144,1.67],[0,0],[0.643,0.119],[0.618,0.594],[0.488,0.917],[0,0],[0.569,0.523],[0.318,1.436],[0,0],[0.328,0.478],[0,0],[0.195,0.182],[0,0],[0.366,0.169],[-0.04,0.556],[0,0],[0.415,-0.111],[0.636,0.723],[0.296,0.994],[0.036,0.257],[0.25,0.108],[0.551,0.394],[1.485,1.756],[0.275,0.197],[0.254,0.142],[0.482,0.653],[0.389,0.26],[0.132,0.295],[0.065,0.095],[0.272,-0.013],[0,0],[0.422,0.307],[0.375,-0.118],[0.115,0.167],[-0.305,0.987],[0,0],[0.179,0.158],[0.062,0.091],[0.002,0.668],[0,0],[-0.24,-0.045]],"o":[[0,0],[0.224,0.444],[0,0],[0,0],[-0.041,1.186],[0.029,0.099],[0.108,-0.074],[0.091,0.017],[0.013,0.191],[-0.114,0.239],[0.058,0.199],[0,0],[0.335,-0.033],[0.176,0.198],[0,0],[0.083,0.062],[0.12,0.116],[0,0],[0.028,0.1],[0,0],[0,0],[0.03,-0.16],[0,0],[0,0],[0.047,0.127],[0.084,0.181],[0.167,0.244],[0,0],[0.204,0.037],[0.165,0.125],[0,0],[0,0],[0,0],[-0.111,-0.163],[0,0],[0,0],[0,0],[0,0],[0.056,0.081],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0.147,0.215],[0,0],[0.122,0.179],[0.074,0.108],[0,0],[0.024,0.035],[0.097,0.142],[0.04,0.06],[0.029,0.067],[0.032,0.047],[0,0],[0,0],[0,0],[-0.035,0.025],[0,0],[0,0],[0,0],[0,0],[-0.14,-0.026],[-0.073,-0.055],[0,0],[-0.852,-1.242],[-0.277,-0.302],[-0.49,-0.612],[-0.278,-0.406],[-0.113,-0.063],[-1.145,-1.67],[0,0],[-0.642,-0.119],[-0.617,-0.594],[-0.488,-0.917],[0,0],[-0.569,-0.522],[-0.319,-1.437],[0,0],[-0.327,-0.478],[0,0],[-0.195,-0.182],[0,0],[-0.367,-0.169],[0.039,-0.556],[0,0],[-0.415,0.111],[-0.635,-0.723],[-0.295,-0.993],[-0.036,-0.257],[-0.25,-0.109],[-0.55,-0.394],[-1.484,-1.757],[-0.275,-0.197],[-0.255,-0.141],[-0.482,-0.652],[-0.388,-0.259],[-0.133,-0.296],[-0.066,-0.096],[-0.272,0.012],[0,0],[-0.42,-0.308],[-0.374,0.118],[-0.114,-0.168],[0.306,-0.986],[0,0],[-0.178,-0.158],[-0.063,-0.09],[-0.002,-0.668],[0,0],[0.242,0.044]],"v":[[-37.618,-43.177],[-36.311,-41.966],[-35.938,-41.306],[-35.918,-42.957],[-34.346,-39.533],[-34.273,-37.427],[-33.958,-36.968],[-32.196,-37.469],[-31.222,-36.626],[-31.299,-35.175],[-31.556,-33.52],[-30.703,-32.393],[-29.748,-32.216],[-28.673,-31.923],[-27.885,-30.831],[-23.579,-24.549],[-21.421,-22.849],[-18.625,-20.393],[-17.14,-18.227],[-15.295,-18.028],[-13.039,-18.792],[-11.985,-21.079],[-10.985,-23.329],[-9.981,-24.183],[-5.956,-22.02],[-4.686,-19.704],[-2.889,-17.835],[2.489,-16.248],[3.933,-16.17],[6.311,-14.903],[8.396,-12.673],[10.684,-11.942],[12.109,-12.529],[12.57,-12.609],[12.102,-15.958],[17.295,-16.501],[18.038,-15.238],[18.05,-13.888],[18.586,-13.221],[19.534,-12.361],[19.866,-10.833],[19.933,-9.402],[19.263,-5.802],[20.124,-2.858],[20.214,-0.118],[19.534,2.573],[20.083,4.677],[27.556,15.504],[28.679,18.6],[30.791,20.838],[32.104,21.832],[33.18,23.095],[34.227,25.065],[34.544,26.313],[35.121,27.206],[35.624,27.888],[36.133,28.531],[36.477,28.905],[36.848,29.346],[38.424,31.189],[38.828,31.626],[38.496,32.257],[37.553,32.91],[31.344,37.476],[29.578,40.321],[26.504,42.485],[24.015,43.151],[23.19,42.56],[22.749,42.019],[21.889,39.69],[19.688,36.633],[18.158,35.014],[15.92,32.159],[15.237,31.469],[12.463,27.677],[6.676,18.262],[5.533,17.926],[3.157,16.505],[0.567,11.907],[-0.027,10.887],[-2.376,9.659],[-4.277,5.761],[-6.082,-0.249],[-8.269,-0.779],[-9.136,-3.068],[-10.021,-3.336],[-11.288,-5.031],[-12.526,-5.055],[-13.186,-6.113],[-13.34,-7.769],[-14.39,-6.795],[-16.485,-7.6],[-18.047,-11.311],[-18.544,-14.032],[-18.556,-14.764],[-20.923,-16.684],[-23.195,-19.128],[-26.604,-23.745],[-27.962,-24.32],[-30.139,-27.112],[-31.679,-28.336],[-32.853,-29.742],[-32.979,-30.642],[-33.628,-31.179],[-34.264,-31.902],[-35.22,-31.557],[-36.239,-32.226],[-36.965,-32.569],[-37.008,-34.372],[-36.16,-36.051],[-36.989,-37.31],[-38.164,-38.23],[-38.826,-40.196],[-38.608,-41.616],[-37.803,-40.799]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.33300000359,0.773000021542,0.819999964097,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[121.261,78.73],"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 536","np":4,"cix":2,"ix":536,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[1.038,30.58],[23.2,21.794],[-10.607,-16.366],[-23.2,-30.58],[-23.199,-30.556]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[170.409,92.42],"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 537","np":4,"cix":2,"ix":537,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-2.249,10.088],[-1.253,5.833],[2.492,7.914],[2.826,4.155],[5.567,6.197],[6.296,4.126],[-6.297,-10.088],[-5.745,8.367],[-4.088,6.205]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[153.505,71.928],"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 538","np":2,"cix":2,"ix":538,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[22.924,10.297],[-10.883,-27.863],[-11.611,-25.791],[-14.354,-27.833],[-14.687,-24.074],[-18.432,-26.156],[-19.429,-21.9],[-21.266,-25.783],[-22.924,-23.621],[-21.385,27.863]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.352999997606,0.556999954523,0.607999973671,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[170.684,103.917],"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 539","np":2,"cix":2,"ix":539,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[9.091,-19.047],[-7.888,-25.911],[-8.765,11.847],[-9.092,25.912],[-9.079,25.898]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[173.428,318.32],"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 540","np":4,"cix":2,"ix":540,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[3.574,-5.388],[0.804,-3.655],[-0.212,-6.701],[-2.351,-4.885],[-2.827,-7.391],[-4.311,-6.673],[-4.638,7.392],[4.637,-2.661],[2.586,-2.379]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[168.974,336.84],"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 541","np":2,"cix":2,"ix":541,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-16.535,-21.026],[-17.412,16.732],[-15.928,16.014],[-15.452,18.52],[-13.313,16.703],[-12.296,19.75],[-9.528,18.017],[-10.514,21.026],[-8.463,20.744],[17.412,-7.302]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.352999997606,0.556999954523,0.607999973671,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[182.075,313.435],"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 542","np":2,"cix":2,"ix":542,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-13.727,20.469],[4.822,30.464],[11.31,-13.927],[13.726,-30.464],[13.71,-30.449]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[278.67,98.383],"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 543","np":4,"cix":2,"ix":543,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-5.238,5.529],[-1.8,3.798],[-1.071,7.502],[1.655,5.603],[1.839,8.607],[3.652,7.929],[6.068,-8.607],[-6.068,2.198],[-3.666,2.094]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[286.329,76.527],"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 544","np":2,"cix":2,"ix":544,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[15.299,25.113],[21.786,-19.279],[19.975,-18.6],[19.79,-21.605],[17.065,-19.706],[16.336,-23.41],[12.898,-21.678],[14.47,-25.113],[12.068,-25.01],[-21.786,5.13]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.352999997606,0.556999954523,0.607999973671,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[268.194,103.735],"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 545","np":2,"cix":2,"ix":545,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[6.665,-29.901],[-13.451,-27.618],[6.146,14.29],[13.447,29.901],[13.451,29.88]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[233.759,340.562],"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 546","np":4,"cix":2,"ix":546,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[2.903,-9.378],[1.169,-5.878],[-1.463,-8.632],[-2.546,-5.404],[-4.363,-7.876],[-5.408,-6.232],[1.893,9.379],[5.408,-7.004],[3.58,-5.508]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[245.313,361.084],"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 547","np":2,"cix":2,"ix":547,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-20.109,-19.086],[-0.511,22.823],[0.534,21.178],[2.35,23.651],[3.433,20.423],[6.065,23.177],[7.799,19.677],[8.476,23.547],[10.304,22.051],[20.109,-23.651]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.352999997606,0.556999954523,0.607999973671,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[240.417,332.029],"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 548","np":2,"cix":2,"ix":548,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-27.04,-4.975],[-25.066,11.466],[12.898,-5.24],[27.04,-11.462],[27.022,-11.466]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[349.024,204.557],"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 549","np":4,"cix":2,"ix":549,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-8.474,-2.335],[-5.318,-0.969],[-7.818,1.23],[-4.906,2.067],[-7.148,3.593],[-5.667,4.423],[8.474,-1.8],[-6.316,-4.423],[-4.974,-2.949]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[367.59,194.894],"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 550","np":2,"cix":2,"ix":550,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-17.39,16.436],[20.576,-0.27],[19.094,-1.1],[21.337,-2.626],[18.424,-3.463],[20.924,-5.662],[17.768,-7.028],[21.269,-7.642],[19.926,-9.116],[-21.336,-16.436]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.352999997606,0.556999954523,0.607999973671,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[341.347,199.587],"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 551","np":2,"cix":2,"ix":551,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[39.939,4.311],[36.251,-17.694],[-19.262,8.086],[-39.939,17.69],[-39.911,17.693]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[80.966,207.006],"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 552","np":4,"cix":2,"ix":552,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[12.577,2.936],[7.833,1.364],[11.439,-1.816],[7.083,-2.695],[10.337,-4.945],[8.102,-5.938],[-12.577,3.665],[9.475,5.938],[7.415,4.065]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[53.603,221.031],"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 553","np":2,"cix":2,"ix":553,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[24.579,-21.997],[-30.934,3.783],[-28.699,4.776],[-31.953,7.026],[-27.597,7.905],[-31.202,11.085],[-26.459,12.657],[-31.621,13.786],[-29.561,15.659],[31.953,21.997]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.352999997606,0.556999954523,0.607999973671,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[92.639,211.31],"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 554","np":2,"cix":2,"ix":554,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":900.000036657751,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"Comp 1","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[118.5,118.5,0],"ix":2},"a":{"a":0,"k":[118.5,118.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":0,"k":{"i":[[64.805,0],[0,-64.805],[-64.805,0],[0,64.805]],"o":[[-64.805,0],[0,64.805],[64.805,0],[0,-64.805]],"v":[[118.34,1],[1,118.34],[118.34,235.68],[235.68,118.34]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 2"}],"w":237,"h":237,"ip":0,"op":900.000036657751,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/loading_.json b/submodules/RLottie/Sources/rlottie/example/resource/loading_.json deleted file mode 100644 index 106bb56111..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/loading_.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.2.1","fr":29.9700012207031,"ip":0,"op":61.0000024845809,"w":400,"h":400,"nm":"Comp 1","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":0,"nm":"Pre-comp 2","refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.372,"y":0.995},"o":{"x":0.333,"y":0},"n":"0p372_0p995_0p333_0","t":-1,"s":[-63.707,132,0],"e":[508.793,132,0],"to":[95.4166641235352,0,0],"ti":[-95.4166641235352,0,0]},{"t":65.0000026475043}],"ix":2},"a":{"a":0,"k":[200,200,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":400,"h":400,"ip":-1.00000004073083,"op":899.000036617021,"st":-1.00000004073083,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"Pre-comp 2","refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.663,"y":0.994},"o":{"x":0.333,"y":0},"n":"0p663_0p994_0p333_0","t":47,"s":[-120.707,132,0],"e":[480.293,132,0],"to":[100.166664123535,0,0],"ti":[-100.166664123535,0,0]},{"t":120.0000048877}],"ix":2},"a":{"a":0,"k":[200,200,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":400,"h":400,"ip":47.0000019143492,"op":947.000038572101,"st":47.0000019143492,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Master","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[198,192,0],"ix":2},"a":{"a":0,"k":[146.5,5.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-2.858,0],[0,0],[0,-2.858],[2.859,0],[0,0],[0,2.858]],"o":[[0,0],[2.859,0],[0,2.858],[0,0],[-2.858,0],[0,-2.858]],"v":[[-140.825,-5.175],[140.825,-5.175],[146,0.001],[140.825,5.175],[-140.825,5.175],[-146,0.001]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.913725490196,0.325490196078,0.129411764706,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[146.25,5.425],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":900.000036657751,"st":0,"bm":0}]},{"id":"comp_1","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Layer 5/progressbar-final Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[296,260,0],"ix":2},"a":{"a":0,"k":[76.5,5.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-2.858,0],[0,0],[0,-2.859],[2.859,0],[0,0],[0,2.857]],"o":[[0,0],[2.859,0],[0,2.857],[0,0],[-2.858,0],[0,-2.859]],"v":[[-70.825,-5.175],[70.825,-5.175],[76,0],[70.825,5.175],[-70.825,5.175],[-76,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.329411764706,0.709803921569,0.776470588235,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[76.25,5.425],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":900.000036657751,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Layer 3/progressbar-final Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[164,260,0],"ix":2},"a":{"a":0,"k":[40,5.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-2.858,0],[0,0],[0,-2.859],[2.858,0],[0,0],[0,2.857]],"o":[[0,0],[2.858,0],[0,2.857],[0,0],[-2.858,0],[0,-2.859]],"v":[[-34.325,-5.175],[34.325,-5.175],[39.5,0],[34.325,5.175],[-34.325,5.175],[-39.5,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.705882370472,0.243137255311,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[39.75,5.425],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":900.000036657751,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"Pre-comp 1","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[202.032,208.014,0],"ix":2},"a":{"a":0,"k":[200,200,0],"ix":1},"s":{"a":0,"k":[99.979,100,100],"ix":6}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":0,"k":{"i":[[4.821,0],[0,0],[0,-4.821],[-4.821,0],[0,0],[0,2.771]],"o":[[0,0],[-4.821,0],[0,4.821],[0,0],[4.821,0],[0,-2.417]],"v":[[337.122,186.522],[59.625,186.49],[52.02,192.229],[59.708,197.449],[337.205,197.481],[343.914,191.917]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 2"}],"w":400,"h":400,"ip":0,"op":900.000036657751,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/loading_animation.json b/submodules/RLottie/Sources/rlottie/example/resource/loading_animation.json deleted file mode 100644 index c7de61b8e0..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/loading_animation.json +++ /dev/null @@ -1 +0,0 @@ -{"assets":[],"layers":[{"ddd":0,"ind":0,"ty":4,"nm":"形状图层 5","ks":{"o":{"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"n":["0p833_0p833_0p333_0"],"t":8,"s":[100],"e":[30]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"n":["0p833_0p833_0p333_0"],"t":24,"s":[30],"e":[100]},{"t":40}]},"r":{"k":0},"p":{"k":[187.875,77.125,0]},"a":{"k":[-76.375,-2.875,0]},"s":{"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0.333]},"n":["0p833_0p833_0p333_0","0p833_0p833_0p333_0","0p833_0p833_0p333_0p333"],"t":8,"s":[100,100,100],"e":[200,200,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0.333]},"n":["0p833_0p833_0p333_0","0p833_0p833_0p333_0","0p833_0p833_0p333_0p333"],"t":24,"s":[200,200,100],"e":[100,100,100]},{"t":40}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"k":[18,18]},"p":{"k":[0,0]},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"st","c":{"k":[1,1,1,1]},"o":{"k":100},"w":{"k":0},"lc":1,"lj":1,"ml":4,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"fl","c":{"k":[0.87,0.42,0.56,1]},"o":{"k":100},"nm":"填充 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"k":[-76.482,-3.482],"ix":2},"a":{"k":[0,0],"ix":1},"s":{"k":[100,100],"ix":3},"r":{"k":0,"ix":6},"o":{"k":100,"ix":7},"sk":{"k":0,"ix":4},"sa":{"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆 1","np":3,"mn":"ADBE Vector Group"}],"ip":0,"op":40,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":1,"ty":4,"nm":"形状图层 4","ks":{"o":{"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"n":["0p833_0p833_0p333_0"],"t":6,"s":[100],"e":[30]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"n":["0p833_0p833_0p333_0"],"t":22,"s":[30],"e":[100]},{"t":36}]},"r":{"k":0},"p":{"k":[162.125,76.625,0]},"a":{"k":[-76.375,-2.875,0]},"s":{"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0.333]},"n":["0p833_0p833_0p333_0","0p833_0p833_0p333_0","0p833_0p833_0p333_0p333"],"t":6,"s":[100,100,100],"e":[200,200,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0.333]},"n":["0p833_0p833_0p333_0","0p833_0p833_0p333_0","0p833_0p833_0p333_0p333"],"t":22,"s":[200,200,100],"e":[100,100,100]},{"t":36}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"k":[18,18]},"p":{"k":[0,0]},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"st","c":{"k":[1,1,1,1]},"o":{"k":100},"w":{"k":0},"lc":1,"lj":1,"ml":4,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"fl","c":{"k":[0.81,0.55,0.82,1]},"o":{"k":100},"nm":"填充 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"k":[-76.482,-3.482],"ix":2},"a":{"k":[0,0],"ix":1},"s":{"k":[100,100],"ix":3},"r":{"k":0,"ix":6},"o":{"k":100,"ix":7},"sk":{"k":0,"ix":4},"sa":{"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆 1","np":3,"mn":"ADBE Vector Group"}],"ip":0,"op":40,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":4,"nm":"形状图层 3","ks":{"o":{"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"n":["0p833_0p833_0p333_0"],"t":4,"s":[100],"e":[30]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"n":["0p833_0p833_0p333_0"],"t":20,"s":[30],"e":[100]},{"t":32}]},"r":{"k":0},"p":{"k":[135.625,76.625,0]},"a":{"k":[-76.375,-2.875,0]},"s":{"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0.333]},"n":["0p833_0p833_0p333_0","0p833_0p833_0p333_0","0p833_0p833_0p333_0p333"],"t":4,"s":[100,100,100],"e":[200,200,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0.333]},"n":["0p833_0p833_0p333_0","0p833_0p833_0p333_0","0p833_0p833_0p333_0p333"],"t":20,"s":[200,200,100],"e":[100,100,100]},{"t":32}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"k":[18,18]},"p":{"k":[0,0]},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"st","c":{"k":[1,1,1,1]},"o":{"k":100},"w":{"k":0},"lc":1,"lj":1,"ml":4,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"fl","c":{"k":[0.47,0.31,0.62,1]},"o":{"k":100},"nm":"填充 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"k":[-76.482,-3.482],"ix":2},"a":{"k":[0,0],"ix":1},"s":{"k":[100,100],"ix":3},"r":{"k":0,"ix":6},"o":{"k":100,"ix":7},"sk":{"k":0,"ix":4},"sa":{"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆 1","np":3,"mn":"ADBE Vector Group"}],"ip":0,"op":40,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":3,"ty":4,"nm":"形状图层 2","ks":{"o":{"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"n":["0p833_0p833_0p333_0"],"t":2,"s":[100],"e":[30]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"n":["0p833_0p833_0p333_0"],"t":16,"s":[30],"e":[100]},{"t":28}]},"r":{"k":0},"p":{"k":[109.375,76.625,0]},"a":{"k":[-76.625,-3.125,0]},"s":{"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0.333]},"n":["0p833_0p833_0p333_0","0p833_0p833_0p333_0","0p833_0p833_0p333_0p333"],"t":2,"s":[100,100,100],"e":[200,200,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0.333]},"n":["0p833_0p833_0p333_0","0p833_0p833_0p333_0","0p833_0p833_0p333_0p333"],"t":16,"s":[200,200,100],"e":[100,100,100]},{"t":28}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"k":[18,18]},"p":{"k":[0,0]},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"st","c":{"k":[1,1,1,1]},"o":{"k":100},"w":{"k":0},"lc":1,"lj":1,"ml":4,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"fl","c":{"k":[0.54,0.81,0.89,1]},"o":{"k":100},"nm":"填充 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"k":[-76.482,-3.482],"ix":2},"a":{"k":[0,0],"ix":1},"s":{"k":[100,100],"ix":3},"r":{"k":0,"ix":6},"o":{"k":100,"ix":7},"sk":{"k":0,"ix":4},"sa":{"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆 1","np":3,"mn":"ADBE Vector Group"}],"ip":0,"op":40,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":4,"ty":4,"nm":"形状图层 1","ks":{"o":{"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"n":["0p833_0p833_0p333_0"],"t":0,"s":[100],"e":[30]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"n":["0p833_0p833_0p333_0"],"t":12,"s":[30],"e":[100]},{"t":24}]},"r":{"k":0},"p":{"k":[82.625,76.625,0]},"a":{"k":[-76.625,-3.375,0]},"s":{"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0.333]},"n":["0p833_0p833_0p333_0","0p833_0p833_0p333_0","0p833_0p833_0p333_0p333"],"t":0,"s":[100,100,100],"e":[200,200,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0.333]},"n":["0p833_0p833_0p333_0","0p833_0p833_0p333_0","0p833_0p833_0p333_0p333"],"t":12,"s":[200,200,100],"e":[100,100,100]},{"t":24}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"k":[18,18]},"p":{"k":[0,0]},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"st","c":{"k":[1,1,1,1]},"o":{"k":100},"w":{"k":0},"lc":1,"lj":1,"ml":4,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"fl","c":{"k":[0.34,0.45,0.78,1]},"o":{"k":100},"nm":"填充 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"k":[-76.482,-3.482],"ix":2},"a":{"k":[0,0],"ix":1},"s":{"k":[100,100],"ix":3},"r":{"k":0,"ix":6},"o":{"k":100,"ix":7},"sk":{"k":0,"ix":4},"sa":{"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆 1","np":3,"mn":"ADBE Vector Group"}],"ip":0,"op":40,"st":0,"bm":0,"sr":1}],"v":"4.5.4","ddd":0,"ip":0,"op":40,"fr":24,"w":280,"h":160} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/loading_rectangles.json b/submodules/RLottie/Sources/rlottie/example/resource/loading_rectangles.json deleted file mode 100644 index eeb223580c..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/loading_rectangles.json +++ /dev/null @@ -1 +0,0 @@ -{"ip":0,"fr":60,"v":"5.1.20","assets":[],"layers":[{"ty":4,"nm":"Rectangle","ip":0,"st":0,"ind":16,"hix":10,"ks":{"o":{"a":0,"k":100},"or":{"a":0,"k":[0,0,0]},"a":{"a":0,"k":[3.5,3.5,0]},"p":{"s":true,"x":{"a":1,"k":[{"t":0,"s":[35],"e":[42],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":20,"s":[42],"e":[42],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":153,"s":[42],"e":[35],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":173,"s":[35],"e":[35],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":179}]},"y":{"a":0,"k":12}},"rx":{"a":0,"k":0},"ry":{"a":0,"k":0},"rz":{"a":1,"k":[{"t":0,"s":[0],"e":[89.95437383553926],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":20,"s":[89.95437383553926],"e":[89.95437383553926],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":153,"s":[89.95437383553926],"e":[0],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":173}]},"s":{"a":0,"k":[100,100,100]}},"shapes":[{"ty":"gr","it":[{"ty":"rc","s":{"a":0,"k":[7,7]},"r":{"a":0,"k":0},"p":{"a":0,"k":[103.5,203.5]}},{"ty":"st","o":{"a":0,"k":0},"w":{"a":0,"k":0},"c":{"a":0,"k":[0,0,0,0]},"lc":3,"lj":1},{"ty":"fl","o":{"a":0,"k":100},"r":2,"c":{"a":0,"k":[0.07450980392156863,0.6941176470588235,0.8235294117647058,1]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[-100,-200]},"r":{"a":0,"k":0}}]}],"op":179},{"ty":4,"nm":"Rectangle","ip":0,"st":0,"ind":15,"hix":14,"ks":{"o":{"a":0,"k":100},"or":{"a":0,"k":[0,0,0]},"a":{"a":0,"k":[3.5,3.5,0]},"p":{"s":true,"x":{"a":1,"k":[{"t":0,"s":[34.961],"e":[42],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":20,"s":[42],"e":[42],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":153,"s":[42],"e":[35],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":173}]},"y":{"a":0,"k":20.509}},"rx":{"a":0,"k":0},"ry":{"a":0,"k":0},"rz":{"a":1,"k":[{"t":0,"s":[0],"e":[89.95437383553926],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":20,"s":[89.95437383553926],"e":[89.95437383553926],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":153,"s":[89.95437383553926],"e":[0],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":173}]},"s":{"a":0,"k":[100,100,100]}},"shapes":[{"ty":"gr","it":[{"ty":"rc","s":{"a":0,"k":[7,7]},"r":{"a":0,"k":0},"p":{"a":0,"k":[103.5,203.5]}},{"ty":"st","o":{"a":0,"k":0},"w":{"a":0,"k":0},"c":{"a":0,"k":[0,0,0,0]},"lc":3,"lj":1},{"ty":"fl","o":{"a":0,"k":100},"r":2,"c":{"a":0,"k":[0.07450980392156863,0.6941176470588235,0.8235294117647058,1]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[-100,-200]},"r":{"a":0,"k":0}}]}],"op":179},{"ty":4,"nm":"Rectangle","ip":0,"st":0,"ind":14,"hix":3,"ks":{"o":{"a":0,"k":100},"or":{"a":0,"k":[0,0,0]},"a":{"a":0,"k":[3.5,3.5,0]},"p":{"s":true,"x":{"a":1,"k":[{"t":0,"s":[35],"e":[42],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":20,"s":[42],"e":[42],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":153,"s":[42],"e":[35],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":173}]},"y":{"a":0,"k":30}},"rx":{"a":0,"k":0},"ry":{"a":0,"k":0},"rz":{"a":1,"k":[{"t":0,"s":[0],"e":[89.95437383553926],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":20,"s":[89.95437383553926],"e":[89.95437383553926],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":153,"s":[89.95437383553926],"e":[0],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":173}]},"s":{"a":0,"k":[100,100,100]}},"shapes":[{"ty":"gr","it":[{"ty":"rc","s":{"a":0,"k":[7,7]},"r":{"a":0,"k":0},"p":{"a":0,"k":[103.5,203.5]}},{"ty":"st","o":{"a":0,"k":0},"w":{"a":0,"k":0},"c":{"a":0,"k":[0,0,0,0]},"lc":3,"lj":1},{"ty":"fl","o":{"a":0,"k":100},"r":2,"c":{"a":0,"k":[0.07450980392156863,0.6941176470588235,0.8235294117647058,1]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[-100,-200]},"r":{"a":0,"k":0}}]}],"op":179},{"ty":4,"nm":"Rectangle","ip":0,"st":0,"ind":13,"hix":6,"ks":{"o":{"a":0,"k":100},"or":{"a":0,"k":[0,0,0]},"a":{"a":0,"k":[3.5,3.5,0]},"p":{"s":true,"x":{"a":1,"k":[{"t":0,"s":[35],"e":[42],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":20,"s":[42],"e":[42],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":153,"s":[42],"e":[35],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":173}]},"y":{"a":0,"k":39}},"rx":{"a":0,"k":0},"ry":{"a":0,"k":0},"rz":{"a":1,"k":[{"t":0,"s":[0],"e":[89.95437383553926],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":20,"s":[89.95437383553926],"e":[89.95437383553926],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":153,"s":[89.95437383553926],"e":[0],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":173}]},"s":{"a":0,"k":[100,100,100]}},"shapes":[{"ty":"gr","it":[{"ty":"rc","s":{"a":0,"k":[7,7]},"r":{"a":0,"k":0},"p":{"a":0,"k":[103.5,203.5]}},{"ty":"st","o":{"a":0,"k":0},"w":{"a":0,"k":0},"c":{"a":0,"k":[0,0,0,0]},"lc":3,"lj":1},{"ty":"fl","o":{"a":0,"k":100},"r":2,"c":{"a":0,"k":[0.07450980392156863,0.6941176470588235,0.8235294117647058,1]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[-100,-200]},"r":{"a":0,"k":0}}]}],"op":179},{"ty":4,"nm":"Rectangle","ip":0,"st":0,"ind":12,"hix":9,"ks":{"o":{"a":0,"k":100},"or":{"a":0,"k":[0,0,0]},"a":{"a":0,"k":[3.5,3.5,0]},"p":{"s":true,"x":{"a":1,"k":[{"t":0,"s":[26],"e":[26],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":21,"s":[26],"e":[33],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":41,"s":[33],"e":[33],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":132,"s":[33],"e":[26],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":152}]},"y":{"a":0,"k":12}},"rx":{"a":0,"k":0},"ry":{"a":0,"k":0},"rz":{"a":1,"k":[{"t":0,"s":[0],"e":[0],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":21,"s":[0],"e":[89.95437383553926],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":41,"s":[89.95437383553926],"e":[89.95437383553926],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":132,"s":[89.95437383553926],"e":[0],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":152}]},"s":{"a":0,"k":[100,100,100]}},"shapes":[{"ty":"gr","it":[{"ty":"rc","s":{"a":0,"k":[7,7]},"r":{"a":0,"k":0},"p":{"a":0,"k":[103.5,203.5]}},{"ty":"st","o":{"a":0,"k":0},"w":{"a":0,"k":0},"c":{"a":0,"k":[0,0,0,0]},"lc":3,"lj":1},{"ty":"fl","o":{"a":0,"k":100},"r":2,"c":{"a":0,"k":[0.07450980392156863,0.6941176470588235,0.8235294117647058,1]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[-100,-200]},"r":{"a":0,"k":0}}]}],"op":179},{"ty":4,"nm":"Rectangle","ip":0,"st":0,"ind":11,"hix":13,"ks":{"o":{"a":0,"k":100},"or":{"a":0,"k":[0,0,0]},"a":{"a":0,"k":[3.5,3.5,0]},"p":{"s":true,"x":{"a":1,"k":[{"t":0,"s":[26],"e":[26],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":21,"s":[26],"e":[33],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":41,"s":[33],"e":[33],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":132,"s":[33],"e":[26],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":152}]},"y":{"a":0,"k":21}},"rx":{"a":0,"k":0},"ry":{"a":0,"k":0},"rz":{"a":1,"k":[{"t":0,"s":[0],"e":[0],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":21,"s":[0],"e":[89.95437383553926],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":41,"s":[89.95437383553926],"e":[89.95437383553926],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":132,"s":[89.95437383553926],"e":[0],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":152}]},"s":{"a":0,"k":[100,100,100]}},"shapes":[{"ty":"gr","it":[{"ty":"rc","s":{"a":0,"k":[7,7]},"r":{"a":0,"k":0},"p":{"a":0,"k":[103.5,203.5]}},{"ty":"st","o":{"a":0,"k":0},"w":{"a":0,"k":0},"c":{"a":0,"k":[0,0,0,0]},"lc":3,"lj":1},{"ty":"fl","o":{"a":0,"k":100},"r":2,"c":{"a":0,"k":[0.07450980392156863,0.6941176470588235,0.8235294117647058,1]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[-100,-200]},"r":{"a":0,"k":0}}]}],"op":179},{"ty":4,"nm":"Rectangle","ip":0,"st":0,"ind":10,"hix":4,"ks":{"o":{"a":0,"k":100},"or":{"a":0,"k":[0,0,0]},"a":{"a":0,"k":[3.5,3.5,0]},"p":{"s":true,"x":{"a":1,"k":[{"t":0,"s":[26],"e":[26],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":21,"s":[26],"e":[33],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":41,"s":[33],"e":[33],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":132,"s":[33],"e":[26],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":152}]},"y":{"a":0,"k":30}},"rx":{"a":0,"k":0},"ry":{"a":0,"k":0},"rz":{"a":1,"k":[{"t":0,"s":[0],"e":[0],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":21,"s":[0],"e":[89.95437383553926],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":41,"s":[89.95437383553926],"e":[89.95437383553926],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":132,"s":[89.95437383553926],"e":[0],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":152}]},"s":{"a":0,"k":[100,100,100]}},"shapes":[{"ty":"gr","it":[{"ty":"rc","s":{"a":0,"k":[7,7]},"r":{"a":0,"k":0},"p":{"a":0,"k":[103.5,203.5]}},{"ty":"st","o":{"a":0,"k":0},"w":{"a":0,"k":0},"c":{"a":0,"k":[0,0,0,0]},"lc":3,"lj":1},{"ty":"fl","o":{"a":0,"k":100},"r":2,"c":{"a":0,"k":[0.07450980392156863,0.6941176470588235,0.8235294117647058,1]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[-100,-200]},"r":{"a":0,"k":0}}]}],"op":179},{"ty":4,"nm":"Rectangle","ip":0,"st":0,"ind":9,"hix":5,"ks":{"o":{"a":0,"k":100},"or":{"a":0,"k":[0,0,0]},"a":{"a":0,"k":[3.5,3.5,0]},"p":{"s":true,"x":{"a":1,"k":[{"t":0,"s":[26],"e":[26],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":21,"s":[26],"e":[33],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":41,"s":[33],"e":[33],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":132,"s":[33],"e":[26],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":152}]},"y":{"a":0,"k":39}},"rx":{"a":0,"k":0},"ry":{"a":0,"k":0},"rz":{"a":1,"k":[{"t":0,"s":[0],"e":[0],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":21,"s":[0],"e":[89.95437383553926],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":41,"s":[89.95437383553926],"e":[89.95437383553926],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":132,"s":[89.95437383553926],"e":[0],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":152}]},"s":{"a":0,"k":[100,100,100]}},"shapes":[{"ty":"gr","it":[{"ty":"rc","s":{"a":0,"k":[7,7]},"r":{"a":0,"k":0},"p":{"a":0,"k":[103.5,203.5]}},{"ty":"st","o":{"a":0,"k":0},"w":{"a":0,"k":0},"c":{"a":0,"k":[0,0,0,0]},"lc":3,"lj":1},{"ty":"fl","o":{"a":0,"k":100},"r":2,"c":{"a":0,"k":[0.07450980392156863,0.6941176470588235,0.8235294117647058,1]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[-100,-200]},"r":{"a":0,"k":0}}]}],"op":179},{"ty":4,"nm":"Rectangle","ip":0,"st":0,"ind":8,"hix":16,"ks":{"o":{"a":0,"k":100},"or":{"a":0,"k":[0,0,0]},"a":{"a":0,"k":[3.5,3.5,0]},"p":{"s":true,"x":{"a":1,"k":[{"t":0,"s":[17],"e":[17],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":43,"s":[17],"e":[24],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":63,"s":[24],"e":[24],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":111,"s":[24],"e":[17],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":131}]},"y":{"a":0,"k":12}},"rx":{"a":0,"k":0},"ry":{"a":0,"k":0},"rz":{"a":1,"k":[{"t":0,"s":[0],"e":[0],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":43,"s":[0],"e":[89.95437383553926],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":63,"s":[89.95437383553926],"e":[89.95437383553926],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":111,"s":[89.95437383553926],"e":[0],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":131}]},"s":{"a":0,"k":[100,100,100]}},"shapes":[{"ty":"gr","it":[{"ty":"rc","s":{"a":0,"k":[7,7]},"r":{"a":0,"k":0},"p":{"a":0,"k":[103.5,203.5]}},{"ty":"st","o":{"a":0,"k":0},"w":{"a":0,"k":0},"c":{"a":0,"k":[0,0,0,0]},"lc":3,"lj":1},{"ty":"fl","o":{"a":0,"k":100},"r":2,"c":{"a":0,"k":[0.07450980392156863,0.6941176470588235,0.8235294117647058,1]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[-100,-200]},"r":{"a":0,"k":0}}]}],"op":179},{"ty":4,"nm":"Rectangle","ip":0,"st":0,"ind":7,"hix":12,"ks":{"o":{"a":0,"k":100},"or":{"a":0,"k":[0,0,0]},"a":{"a":0,"k":[3.5,3.5,0]},"p":{"s":true,"x":{"a":1,"k":[{"t":0,"s":[17],"e":[17],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":43,"s":[17],"e":[24],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":63,"s":[24],"e":[24],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":111,"s":[24],"e":[17],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":131}]},"y":{"a":0,"k":21}},"rx":{"a":0,"k":0},"ry":{"a":0,"k":0},"rz":{"a":1,"k":[{"t":0,"s":[0],"e":[0],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":43,"s":[0],"e":[89.95437383553926],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":63,"s":[89.95437383553926],"e":[89.95437383553926],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":111,"s":[89.95437383553926],"e":[0],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":131}]},"s":{"a":0,"k":[100,100,100]}},"shapes":[{"ty":"gr","it":[{"ty":"rc","s":{"a":0,"k":[7,7]},"r":{"a":0,"k":0},"p":{"a":0,"k":[103.5,203.5]}},{"ty":"st","o":{"a":0,"k":0},"w":{"a":0,"k":0},"c":{"a":0,"k":[0,0,0,0]},"lc":3,"lj":1},{"ty":"fl","o":{"a":0,"k":100},"r":2,"c":{"a":0,"k":[0.07450980392156863,0.6941176470588235,0.8235294117647058,1]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[-100,-200]},"r":{"a":0,"k":0}}]}],"op":179},{"ty":4,"nm":"Rectangle","ip":0,"st":0,"ind":6,"hix":8,"ks":{"o":{"a":0,"k":100},"or":{"a":0,"k":[0,0,0]},"a":{"a":0,"k":[3.5,3.5,0]},"p":{"s":true,"x":{"a":1,"k":[{"t":0,"s":[17],"e":[17],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":43,"s":[17],"e":[24],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":63,"s":[24],"e":[24],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":111,"s":[24],"e":[17],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":131}]},"y":{"a":0,"k":30}},"rx":{"a":0,"k":0},"ry":{"a":0,"k":0},"rz":{"a":1,"k":[{"t":0,"s":[0],"e":[0],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":43,"s":[0],"e":[89.95437383553926],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":63,"s":[89.95437383553926],"e":[89.95437383553926],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":111,"s":[89.95437383553926],"e":[0],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":131}]},"s":{"a":0,"k":[100,100,100]}},"shapes":[{"ty":"gr","it":[{"ty":"rc","s":{"a":0,"k":[7,7]},"r":{"a":0,"k":0},"p":{"a":0,"k":[103.5,203.5]}},{"ty":"st","o":{"a":0,"k":0},"w":{"a":0,"k":0},"c":{"a":0,"k":[0,0,0,0]},"lc":3,"lj":1},{"ty":"fl","o":{"a":0,"k":100},"r":2,"c":{"a":0,"k":[0.07450980392156863,0.6941176470588235,0.8235294117647058,1]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[-100,-200]},"r":{"a":0,"k":0}}]}],"op":179},{"ty":4,"nm":"Rectangle","ip":0,"st":0,"ind":5,"hix":1,"ks":{"o":{"a":0,"k":100},"or":{"a":0,"k":[0,0,0]},"a":{"a":0,"k":[3.5,3.5,0]},"p":{"s":true,"x":{"a":1,"k":[{"t":0,"s":[17],"e":[17],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":43,"s":[17],"e":[24],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":63,"s":[24],"e":[24],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":111,"s":[24],"e":[17],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":131}]},"y":{"a":0,"k":39}},"rx":{"a":0,"k":0},"ry":{"a":0,"k":0},"rz":{"a":1,"k":[{"t":0,"s":[0],"e":[0],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":43,"s":[0],"e":[89.95437383553926],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":63,"s":[89.95437383553926],"e":[89.95437383553926],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":111,"s":[89.95437383553926],"e":[0],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":131}]},"s":{"a":0,"k":[100,100]}},"shapes":[{"ty":"gr","it":[{"ty":"rc","s":{"a":0,"k":[7,7]},"r":{"a":0,"k":0},"p":{"a":0,"k":[103.5,203.5]}},{"ty":"st","o":{"a":0,"k":0},"w":{"a":0,"k":0},"c":{"a":0,"k":[0,0,0,0]},"lc":3,"lj":1},{"ty":"fl","o":{"a":0,"k":100},"r":2,"c":{"a":0,"k":[0.07450980392156863,0.6941176470588235,0.8235294117647058,1]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[-100,-200]},"r":{"a":0,"k":0}}]}],"op":179},{"ty":4,"nm":"Rectangle","ip":0,"st":0,"ind":4,"hix":11,"ks":{"o":{"a":0,"k":100},"or":{"a":0,"k":[0,0,0]},"a":{"a":0,"k":[3.5,3.5,0]},"p":{"s":true,"x":{"a":1,"k":[{"t":0,"s":[8],"e":[8],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":64,"s":[8],"e":[15],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":84,"s":[15],"e":[15],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":90,"s":[15],"e":[8],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":110}]},"y":{"a":0,"k":12}},"rx":{"a":0,"k":0},"ry":{"a":0,"k":0},"rz":{"a":1,"k":[{"t":0,"s":[0],"e":[0],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":64,"s":[0],"e":[89.95437383553926],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":84,"s":[89.95437383553926],"e":[89.95437383553926],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":90,"s":[89.95437383553926],"e":[0],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":110}]},"s":{"a":0,"k":[100,100,100]}},"shapes":[{"ty":"gr","it":[{"ty":"rc","s":{"a":0,"k":[7,7]},"r":{"a":0,"k":0},"p":{"a":0,"k":[103.5,203.5]}},{"ty":"st","o":{"a":0,"k":0},"w":{"a":0,"k":0},"c":{"a":0,"k":[0,0,0,0]},"lc":3,"lj":1},{"ty":"fl","o":{"a":0,"k":100},"r":2,"c":{"a":0,"k":[0.07450980392156863,0.6941176470588235,0.8235294117647058,1]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[-100,-200]},"r":{"a":0,"k":0}}]}],"op":179},{"ty":4,"nm":"Rectangle","ip":0,"st":0,"ind":3,"hix":15,"ks":{"o":{"a":0,"k":100},"or":{"a":0,"k":[0,0,0]},"a":{"a":0,"k":[3.5,3.5,0]},"p":{"s":true,"x":{"a":1,"k":[{"t":0,"s":[8],"e":[8],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":64,"s":[8],"e":[15],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":84,"s":[15],"e":[15],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":90,"s":[15],"e":[8],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":110}]},"y":{"a":0,"k":21}},"rx":{"a":0,"k":0},"ry":{"a":0,"k":0},"rz":{"a":1,"k":[{"t":0,"s":[0],"e":[0],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":64,"s":[0],"e":[89.95437383553926],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":84,"s":[89.95437383553926],"e":[89.95437383553926],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":90,"s":[89.95437383553926],"e":[0],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":110}]},"s":{"a":0,"k":[100,100,100]}},"shapes":[{"ty":"gr","it":[{"ty":"rc","s":{"a":0,"k":[7,7]},"r":{"a":0,"k":0},"p":{"a":0,"k":[103.5,203.5]}},{"ty":"st","o":{"a":0,"k":0},"w":{"a":0,"k":0},"c":{"a":0,"k":[0,0,0,0]},"lc":3,"lj":1},{"ty":"fl","o":{"a":0,"k":100},"r":2,"c":{"a":0,"k":[0.07450980392156863,0.6941176470588235,0.8235294117647058,1]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[-100,-200]},"r":{"a":0,"k":0}}]}],"op":179},{"ty":4,"nm":"Rectangle","ip":0,"st":0,"ind":2,"hix":2,"ks":{"o":{"a":0,"k":100},"or":{"a":0,"k":[0,0,0]},"a":{"a":0,"k":[3.5,3.5,0]},"p":{"s":true,"x":{"a":1,"k":[{"t":0,"s":[8],"e":[8],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":64,"s":[8],"e":[15],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":84,"s":[15],"e":[15],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":90,"s":[15],"e":[8],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":110}]},"y":{"a":0,"k":30}},"rx":{"a":0,"k":0},"ry":{"a":0,"k":0},"rz":{"a":1,"k":[{"t":0,"s":[0],"e":[0],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":64,"s":[0],"e":[89.95437383553926],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":84,"s":[89.95437383553926],"e":[89.95437383553926],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":90,"s":[89.95437383553926],"e":[0],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":110}]},"s":{"a":0,"k":[100,100,100]}},"shapes":[{"ty":"gr","it":[{"ty":"rc","s":{"a":0,"k":[7,7]},"r":{"a":0,"k":0},"p":{"a":0,"k":[103.5,203.5]}},{"ty":"st","o":{"a":0,"k":0},"w":{"a":0,"k":0},"c":{"a":0,"k":[0,0,0,0]},"lc":3,"lj":1},{"ty":"fl","o":{"a":0,"k":100},"r":2,"c":{"a":0,"k":[0.07450980392156863,0.6941176470588235,0.8235294117647058,1]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[-100,-200]},"r":{"a":0,"k":0}}]}],"op":179},{"ty":4,"nm":"Rectangle","ip":0,"st":0,"ind":1,"hix":7,"ks":{"o":{"a":0,"k":100},"or":{"a":0,"k":[0,0,0]},"a":{"a":0,"k":[3.5,3.5,0]},"p":{"s":true,"x":{"a":1,"k":[{"t":0,"s":[8],"e":[8],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":64,"s":[8],"e":[15],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":84,"s":[15],"e":[15],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":90,"s":[15],"e":[8],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":110}]},"y":{"a":0,"k":39}},"rx":{"a":0,"k":0},"ry":{"a":0,"k":0},"rz":{"a":1,"k":[{"t":0,"s":[0],"e":[0],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":64,"s":[0],"e":[89.95437383553926],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":84,"s":[89.95437383553926],"e":[89.95437383553926],"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"t":90,"s":[89.95437383553926],"e":[0],"i":{"x":[0.165],"y":[1]},"o":{"x":[0.075],"y":[0.82]}},{"t":110}]},"s":{"a":0,"k":[100,100,100]}},"shapes":[{"ty":"gr","it":[{"ty":"rc","s":{"a":0,"k":[7,7]},"r":{"a":0,"k":0},"p":{"a":0,"k":[103.5,203.5]}},{"ty":"st","o":{"a":0,"k":0},"w":{"a":0,"k":0},"c":{"a":0,"k":[0,0,0,0]},"lc":3,"lj":1},{"ty":"fl","o":{"a":0,"k":100},"r":2,"c":{"a":0,"k":[0.07450980392156863,0.6941176470588235,0.8235294117647058,1]}},{"ty":"tr","o":{"a":0,"k":100},"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"p":{"a":0,"k":[-100,-200]},"r":{"a":0,"k":0}}]}],"op":179}],"op":179,"w":50,"h":50} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/looping_landscape_+_plane_+_clouds.json b/submodules/RLottie/Sources/rlottie/example/resource/looping_landscape_+_plane_+_clouds.json deleted file mode 100644 index 69667d5ee0..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/looping_landscape_+_plane_+_clouds.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.1.15","fr":29.9700012207031,"ip":0,"op":181.000007372281,"w":500,"h":500,"nm":"Comp 3","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":0,"nm":"airplane Outlines Comp 2","refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":250,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.483],"y":[1]},"o":{"x":[0.522],"y":[0]},"n":["0p483_1_0p522_0"],"t":0,"s":[286],"e":[247]},{"i":{"x":[0.483],"y":[1]},"o":{"x":[0.522],"y":[0]},"n":["0p483_1_0p522_0"],"t":45,"s":[247],"e":[286]},{"i":{"x":[0.483],"y":[1]},"o":{"x":[0.522],"y":[0]},"n":["0p483_1_0p522_0"],"t":90,"s":[286],"e":[247]},{"i":{"x":[0.483],"y":[1]},"o":{"x":[0.522],"y":[0]},"n":["0p483_1_0p522_0"],"t":135,"s":[247],"e":[286]},{"t":180.00000733155}],"ix":4}},"a":{"a":0,"k":[250,250,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":500,"h":500,"ip":0,"op":181.000007372281,"st":0,"bm":0}]},{"id":"comp_1","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"airplane Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":171,"ix":3},"y":{"a":0,"k":156,"ix":4}},"a":{"a":0,"k":[308,162,0],"ix":1},"s":{"a":0,"k":[33,33,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.598,1.031],[0.598,1.926],[1.367,2.859],[1.463,3.714],[3.834,9.806],[1.497,3.899],[-1.59,1.074],[-2.369,0.222]],"o":[[-2.597,-1.031],[-0.943,-3.036],[-1.723,-3.603],[-3.859,-9.796],[-1.521,-3.891],[-0.562,-1.466],[2.121,-1.434],[5.039,-0.471]],"v":[[14.439,35.096],[9.947,33.409],[5.171,22.045],[0.63,10.96],[-10.921,-18.438],[-15.535,-30.092],[-15.447,-34.507],[-10.602,-35.656]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.388000009574,0.109999997008,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[135.925,110.265],"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,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.926,-2.258],[5.937,-0.916],[3.381,-0.041],[0.462,1.437],[0.228,1.682],[-0.76,0.55],[-0.841,-0.027],[-3.235,0.843],[-1.475,0.757],[-1.577,-0.747]],"o":[[-4.423,4.373],[-3.344,0.516],[-1.515,0.019],[-0.517,-1.606],[-0.113,-0.838],[0.675,-0.488],[3.344,0.11],[1.6,-0.418],[1.538,-0.789],[2.697,1.278]],"v":[[15.802,-0.585],[-1.706,6.298],[-11.804,7.074],[-14.306,5.769],[-14.953,0.346],[-15.042,-3.188],[-10.771,-2.931],[-0.857,-4.084],[3.778,-5.748],[7.276,-6.459]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.995999983245,0.313999998803,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[420.578,125.587],"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,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.37,-2.974],[3.221,0.231],[-0.021,2.561],[-3.424,-0.271]],"o":[[-0.138,2.891],[-3.424,-0.246],[0.028,-3.477],[3.599,0.285]],"v":[[3.543,1.655],[-0.827,5.514],[-3.583,-1.527],[0.652,-5.475]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.995999983245,0.313999998803,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[246.836,143.219],"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,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.219,-2.11],[0.935,-0.653],[0.791,0.21],[0.147,2.178],[-1.083,0.816],[-0.98,-0.109]],"o":[[-0.056,1.165],[-0.742,0.519],[-2.676,-0.711],[-0.077,-1.146],[0.8,-0.602],[2.792,0.308]],"v":[[3.586,2.477],[2.769,5.208],[-1.883,5.585],[-3.608,-1.783],[-2.914,-5.193],[1.768,-5.628]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.995999983245,0.313999998803,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[233.43,143.281],"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 4","np":2,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.305,-1.54],[1.409,-0.465],[0.62,0.345],[-0.007,1.447],[-0.196,1.413],[-0.959,0.446],[-0.998,-0.352],[0.005,-1.349]],"o":[[-0.069,1.452],[-0.695,0.229],[-1.574,-0.881],[0.008,-1.423],[0.153,-1.107],[1.008,-0.467],[1.355,0.478],[-0.005,1.658]],"v":[[3.754,2.898],[2.365,5.494],[-2.484,5.459],[-3.348,0.791],[-3.503,-3.577],[-2.383,-5.202],[2.234,-5.453],[3.695,-2.683]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.995999983245,0.313999998803,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[220.185,143.344],"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 5","np":2,"cix":2,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.342,-2.738],[4.203,0.301],[-0.02,2.559],[-3.424,-0.271]],"o":[[-0.161,3.412],[-3.425,-0.246],[0.029,-3.479],[3.149,0.249]],"v":[[3.726,0.217],[-0.643,5.48],[-3.4,-1.56],[0.836,-5.51]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.995999983245,0.313999998803,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[284.039,142.455],"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 6","np":2,"cix":2,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.219,-2.11],[0.934,-0.653],[0.791,0.21],[0.147,2.178],[-1.083,0.816],[-0.98,-0.109]],"o":[[-0.056,1.165],[-0.743,0.519],[-2.675,-0.711],[-0.077,-1.145],[0.8,-0.602],[2.793,0.308]],"v":[[3.585,2.477],[2.769,5.208],[-1.884,5.585],[-3.609,-1.783],[-2.915,-5.193],[1.767,-5.628]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.995999983245,0.313999998803,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[271.62,142.483],"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 7","np":2,"cix":2,"ix":7,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.305,-1.541],[1.41,-0.464],[0.619,0.346],[-0.007,1.447],[-0.196,1.414],[-0.959,0.446],[-0.998,-0.352],[0.005,-1.349]],"o":[[-0.068,1.451],[-0.695,0.229],[-1.575,-0.881],[0.008,-1.423],[0.154,-1.107],[1.008,-0.467],[1.355,0.478],[-0.005,1.658]],"v":[[3.754,2.899],[2.365,5.494],[-2.484,5.459],[-3.348,0.791],[-3.503,-3.577],[-2.384,-5.202],[2.234,-5.453],[3.695,-2.683]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.995999983245,0.313999998803,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[259.376,142.545],"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 8","np":2,"cix":2,"ix":8,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.21,-2.737],[3.975,-0.155],[0.173,2.595],[-3.625,-0.115]],"o":[[0,3.365],[-3.587,0.141],[-0.239,-3.581],[3.095,0.099]],"v":[[3.628,0.036],[-0.231,5.519],[-3.598,-1.002],[0.403,-5.545]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.995999983245,0.313999998803,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[323.248,140.229],"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 9","np":2,"cix":2,"ix":9,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.317,-2.093],[0.905,-0.698],[0.8,0.173],[0.275,2.164],[-1.039,0.862],[-0.983,-0.061]],"o":[[0,1.167],[-0.715,0.552],[-2.67,-0.576],[-0.146,-1.137],[0.771,-0.639],[2.762,0.174]],"v":[[3.745,2.267],[3.058,5.035],[-1.57,5.63],[-3.705,-1.646],[-3.177,-5.085],[1.478,-5.743]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.995999983245,0.313999998803,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[309.891,140.916],"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 10","np":2,"cix":2,"ix":10,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.234,-1.572],[1.385,-0.53],[0.634,0.316],[0.082,1.448],[-0.128,1.428],[-0.936,0.49],[-1.014,-0.304],[-0.067,-1.348]],"o":[[0,1.453],[-0.684,0.262],[-1.618,-0.807],[-0.081,-1.423],[0.1,-1.112],[0.985,-0.514],[1.379,0.415],[0.083,1.671]],"v":[[3.758,2.702],[2.494,5.36],[-2.351,5.555],[-3.448,0.933],[-3.863,-3.421],[-2.823,-5.097],[1.779,-5.567],[3.369,-2.869]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.995999983245,0.313999998803,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[297.841,141.537],"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 11","np":2,"cix":2,"ix":11,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.211,-2.737],[3.975,-0.155],[0.174,2.595],[-3.624,-0.115]],"o":[[0,3.365],[-3.588,0.141],[-0.239,-3.581],[3.095,0.099]],"v":[[3.627,0.036],[-0.231,5.519],[-3.599,-1.002],[0.402,-5.545]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.995999983245,0.313999998803,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[361.356,137.621],"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 12","np":2,"cix":2,"ix":12,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.317,-2.093],[0.904,-0.698],[0.799,0.173],[0.276,2.164],[-1.038,0.862],[-0.984,-0.061]],"o":[[0,1.167],[-0.716,0.552],[-2.67,-0.576],[-0.145,-1.137],[0.771,-0.639],[2.762,0.174]],"v":[[3.745,2.267],[3.058,5.035],[-1.57,5.63],[-3.706,-1.646],[-3.178,-5.085],[1.478,-5.743]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.995999983245,0.313999998803,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[347.999,138.309],"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 13","np":2,"cix":2,"ix":13,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.099,-0.661],[1.385,-0.53],[0.634,0.316],[0.082,1.448],[-0.128,1.428],[-0.936,0.49],[-1.013,-0.303],[-0.077,-1.349],[-0.149,-1.144]],"o":[[0,1.453],[-0.683,0.263],[-1.617,-0.807],[-0.081,-1.423],[0.099,-1.112],[0.984,-0.514],[1.387,0.417],[0.067,1.147],[0.087,0.669]],"v":[[3.814,2.701],[2.549,5.359],[-2.296,5.555],[-3.392,0.932],[-3.807,-3.421],[-2.767,-5.098],[1.835,-5.568],[3.424,-2.87],[3.426,0.592]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.995999983245,0.313999998803,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[335.893,138.93],"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 14","np":2,"cix":2,"ix":14,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4.016,-1.26],[1.398,0.369],[2.542,0.926],[-1.355,1.046],[-1.081,-0.434]],"o":[[-0.473,1.62],[-2.612,-0.69],[0.826,-1.505],[0.93,-0.718],[-0.422,3.717]],"v":[[7.381,4.512],[0.405,3.532],[-7.38,1.283],[-2.685,-2.435],[2.368,-5.699]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.995999983245,0.313999998803,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[313.406,184.939],"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 15","np":2,"cix":2,"ix":15,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4.015,-1.26],[1.398,0.369],[2.542,0.927],[-1.355,1.045],[-1.081,-0.433]],"o":[[-0.472,1.621],[-2.612,-0.69],[0.826,-1.504],[0.93,-0.719],[-0.422,3.717]],"v":[[7.38,4.512],[0.405,3.532],[-7.38,1.283],[-2.685,-2.434],[2.368,-5.699]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.995999983245,0.313999998803,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[282.919,207.202],"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 16","np":2,"cix":2,"ix":16,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-3.715,2.756]],"o":[[3.531,-2.62],[0,0]],"v":[[-5.388,3.997],[5.388,-3.997]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.995999983245,0.313999998803,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[309.889,183.041],"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 17","np":2,"cix":2,"ix":17,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.492,1.688],[0.272,5.355],[1.081,-4.537],[2.1,-1.118]],"o":[[2.645,-4.72],[5.573,0.263],[-0.518,2.175],[-1.106,0.589]],"v":[[-4.549,7.195],[-1.272,-8.883],[3.961,1.907],[0.149,8.017]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.388000009574,0.109999997008,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[294.848,204.518],"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 18","np":2,"cix":2,"ix":18,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.25,1.554],[0.077,4.041],[-2.095,0.215],[-0.541,-0.995],[1.77,-3.279],[1.349,-0.473]],"o":[[1.688,-3.707],[-0.024,-1.321],[1.348,-0.138],[1.825,3.365],[-0.654,1.212],[-1.244,0.434]],"v":[[-4.272,7.354],[-2.189,-4.542],[-0.702,-8.771],[2.697,-6.206],[2.419,5.562],[-0.419,8.404]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.388000009574,0.109999997008,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[324.796,181.514],"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 19","np":2,"cix":2,"ix":19,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[4.791,-0.918],[1.427,0.118],[3.156,0.231],[6.602,0.452],[6.331,0.306],[3.053,0.088],[3.261,-0.433],[1.073,-0.072],[0.704,0.026],[1.62,0.091],[3.378,0.207],[6.39,0.592],[-1.025,1.446],[-1.367,-0.009],[-12.747,-0.079],[-13.231,0.001],[-13.377,-0.04],[-13.226,0.316],[-26.896,9.966],[3.97,-2.176],[4.464,-1.808],[10.053,-1.864],[10.403,0.282],[4.954,0.336]],"o":[[-0.766,-1.438],[-3.155,-0.261],[-6.6,-0.482],[-6.323,-0.433],[-3.051,-0.147],[-3.293,-0.095],[-0.732,0.098],[-0.695,0.046],[-1.621,-0.056],[-3.379,-0.189],[-6.406,-0.391],[-5.173,-0.48],[0.836,-1.179],[12.75,0.088],[13.219,0.083],[13.37,-0.001],[13.227,0.039],[28.623,-0.682],[-3.092,3.403],[-4.216,2.312],[-9.484,3.844],[-10.249,1.898],[-4.963,-0.134],[-4.907,-0.332]],"v":[[10.172,11.387],[2.9,10.612],[-6.57,9.959],[-26.37,8.534],[-45.341,7.383],[-54.492,6.915],[-64.758,6.786],[-66.46,7.219],[-68.623,7.159],[-73.485,6.923],[-83.623,6.372],[-102.811,4.641],[-124.922,1.099],[-116.123,0.665],[-77.897,2.227],[-38.229,3.641],[1.883,3.145],[41.568,2.997],[125.948,-12.505],[113.624,-4.824],[100.776,1.626],[71.219,10.064],[40.289,12.224],[25.409,11.583]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.388000009574,0.109999997008,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[318.804,156.823],"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 20","np":2,"cix":2,"ix":20,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[1.871,-1.481]],"o":[[-2.036,1.259],[0,0]],"v":[[2.89,-2.113],[-2.89,2.113]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.736999990426,0.630999995213,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[281.515,203.92],"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 21","np":2,"cix":2,"ix":21,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[7.528,-5.601],[9.285,-2.444],[8.841,3.684],[-0.52,1.706],[-1.297,1.673],[-3.319,4.226],[-12.027,16.478],[-2.711,-0.042],[-2.578,-0.099],[-4.976,-0.27],[-10.094,-0.758],[-5.453,-0.195],[0.618,-1.37],[0.129,-1.813],[1.251,-1.933],[1.034,0.874],[0.503,0.884],[0.815,2.194],[4.162,-3.059],[2.24,-1.633],[0.098,-2.946],[0.553,-2.388],[1.286,-0.043],[0.538,1.071],[-0.249,2.195],[0.239,-0.262]],"o":[[-7.299,5.776],[-7.567,5.63],[-9.264,2.44],[-1.454,-0.606],[0.614,-2.018],[3.294,-4.246],[12.602,-16.045],[1.643,-2.252],[2.579,0.039],[4.979,0.192],[10.108,0.548],[5.448,0.409],[5.477,0.196],[-0.727,1.611],[-0.157,2.227],[-0.703,1.087],[-0.78,-0.659],[-1.2,-2.109],[-4.148,3.077],[-2.233,1.644],[-2.402,1.751],[-0.083,2.45],[-0.291,1.258],[-1.47,0.049],[-0.994,-1.982],[-0.35,-0.06],[0,0]],"v":[[12.576,4.679],[-10.116,21.414],[-34.467,35.704],[-62.215,33.783],[-65.924,31.119],[-61.282,25.09],[-51.357,12.387],[-13.544,-35.892],[-8.37,-37.708],[-0.631,-37.58],[14.31,-36.812],[44.615,-34.69],[60.967,-33.742],[56.585,-27.424],[56.454,-20.777],[54.854,-13.374],[52.959,-13.334],[51.033,-15.81],[49.228,-22.31],[36.776,-13.086],[30.07,-8.165],[27.54,-3.215],[26.585,4.09],[23.951,10.245],[20.323,6.638],[19.237,0.15],[18.355,0.454]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.736999990426,0.630999995213,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[266.049,201.353],"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 22","np":2,"cix":2,"ix":22,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[7.84,0.511],[7.063,1.032],[3.913,0.507],[1.482,2.51],[-10.394,2.32],[-2.203,1.462],[0.599,1.927],[1.367,2.858],[1.464,3.714],[3.834,9.807],[1.497,3.899],[-1.589,1.074],[-2.368,0.222],[-5.06,0.224],[-3.236,-2.538],[-2.264,-2.834],[-5.829,-7.099],[-7.289,0.926],[-4.326,0.434],[-5.253,0.419],[-21.223,1.596],[-21.192,1.79],[-10.319,-1.167],[-8.513,-2.913],[-2.975,-1.362],[-0.881,-2.233],[0,0],[-1.664,-4.53],[3.777,-2.334],[3.878,-0.953],[6.169,-1.391],[27.984,0.029],[28.318,1.106],[13.616,-0.203],[2.667,-0.879]],"o":[[-7.719,1.461],[-7.146,-0.466],[-3.903,-0.57],[-2.455,-0.317],[10.38,-2.385],[2.549,-0.57],[2.039,-1.354],[-0.942,-3.035],[-1.723,-3.604],[-3.859,-9.796],[-1.521,-3.89],[-0.563,-1.466],[2.122,-1.434],[5.04,-0.47],[4.009,-0.177],[2.875,2.255],[5.738,7.185],[3.94,4.798],[4.264,-0.542],[5.243,-0.527],[21.214,-1.694],[21.21,-1.595],[10.319,-0.873],[8.987,1.016],[3.094,1.059],[1.955,0.895],[0.394,0.997],[0,0],[1.563,4.255],[-3.454,2.135],[-6.137,1.51],[-27.392,6.18],[-28.338,-0.03],[-13.606,-0.531],[-2.788,0.042],[0,0]],"v":[[-105.346,43.51],[-128.865,44.958],[-150.003,41.878],[-161.777,40.638],[-171.746,37.675],[-140.602,30.525],[-131.998,28.917],[-131.476,22.615],[-135.249,13.86],[-139.79,2.775],[-151.341,-26.624],[-155.954,-38.278],[-155.867,-42.693],[-147.011,-43.842],[-131.896,-45.292],[-121.455,-42.588],[-114.079,-34.524],[-95.625,-14.056],[-79.528,-1.36],[-66.934,-3.816],[-51.172,-5.102],[12.498,-9.857],[76.074,-15.094],[107.163,-15.325],[133.099,-8.749],[142.261,-5.24],[149.265,-0.516],[159.633,6.553],[170.183,15.666],[166.337,26.531],[154.813,30.252],[136.442,34.908],[53.146,42.067],[-31.845,41.102],[-72.761,39.135],[-81.873,39.739]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.736999990426,0.630999995213,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[276.746,118.45],"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 23","np":2,"cix":2,"ix":23,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":181.000007372281,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"clouds","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[1033.524,248,0],"e":[187.524,248,0],"to":[-141,0,0],"ti":[141,0,0]},{"t":180.00000733155}],"ix":2},"a":{"a":0,"k":[2196,540,0],"ix":1},"s":{"a":0,"k":[47,47,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[11.064,4.762],[30.951,0],[8.265,-4.207],[21.629,0],[7.059,-25.76],[2.464,0],[0,-17.171],[-17.171,0],[-5.25,4.052],[-16.434,-1.579],[-7.154,0],[-5.251,4.051],[-18.832,0],[-10,7.225],[-4.433,0],[0,17.172]],"o":[[-3.807,-29.917],[-9.909,0],[-10.776,-17.013],[-28,0],[-2.298,-0.542],[-17.171,0],[0,17.172],[7.145,0],[9.976,12.028],[5.254,4.061],[7.145,0],[11.151,13.445],[13.28,0],[3.816,1.672],[17.171,0],[0,-12.809]],"v":[[-47.811,16.25],[-108.117,-36.795],[-135.641,-30.208],[-187.025,-58.523],[-245.66,-13.833],[-252.817,-14.663],[-283.909,16.429],[-252.817,47.521],[-233.841,41.057],[-192.903,62.765],[-173.909,69.249],[-154.932,62.786],[-108.117,84.795],[-72.555,73.31],[-60.091,75.912],[-29,44.82]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[5.786,2.49],[16.188,0],[3.692,-13.473],[1.289,0],[0,-8.98],[-8.98,0],[-2.746,2.118],[-9.849,0],[-5.23,3.778],[-2.318,0],[0,8.98]],"o":[[-1.991,-15.646],[-14.643,0],[-1.201,-0.284],[-8.98,0],[0,8.981],[3.737,0],[5.832,7.031],[6.945,0],[1.996,0.874],[8.981,0],[0,-6.7]],"v":[[-360.792,-57.053],[-392.332,-84.795],[-422.997,-61.422],[-426.74,-61.856],[-443,-45.596],[-426.74,-29.335],[-416.815,-32.715],[-392.332,-21.205],[-373.733,-27.211],[-367.215,-25.851],[-350.954,-42.111]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[11.064,4.762],[30.951,0],[7.059,-25.76],[2.464,0],[0,-17.172],[-17.171,0],[-5.251,4.051],[-18.832,0],[-10,7.225],[-4.433,0],[0,17.172]],"o":[[-3.807,-29.917],[-28,0],[-2.298,-0.542],[-17.171,0],[0,17.171],[7.145,0],[11.151,13.445],[13.28,0],[3.816,1.672],[17.171,0],[0,-12.809]],"v":[[-608.811,4.25],[-669.117,-48.795],[-727.751,-4.104],[-734.909,-4.934],[-766,26.158],[-734.909,57.249],[-715.932,50.786],[-669.117,72.795],[-633.555,61.31],[-621.091,63.912],[-590,32.82]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1825,154.205],"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":5,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":181.000007372281,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"airplane Outlines Comp 1","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,210,0],"ix":2},"a":{"a":0,"k":[250,250,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":500,"h":500,"ip":0,"op":181.000007372281,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"mtns","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[1030,248,0],"e":[-188.5,248,0],"to":[-143.601577758789,0,0],"ti":[59.4817504882812,0,0]},{"t":180.00000733155}],"ix":2},"a":{"a":0,"k":[2196,540,0],"ix":1},"s":{"a":0,"k":[47,47,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[13.61,14.489],[0.21,0.149],[0,0],[0.211,0.009],[9.57,1.577],[0.341,0.064],[0.657,0.125],[13.041,3.439],[0.002,0],[1.507,0.41],[0.854,0.238],[0.611,0.172],[14.896,5.526],[60.277,62.679],[0.714,0.751],[1.274,1.366],[2.05,2.269],[0.018,0.02],[60.958,35.551],[7.491,3.977],[17.887,2.208],[5.46,0.026],[0.208,0],[1.066,-0.038],[0.349,-0.016],[0.929,-0.072],[0.396,-0.036],[0.915,-0.111],[0.366,-0.049],[1.25,-0.223],[0,0],[26.206,-14.118],[32.43,-30.952],[26.356,-29.184],[9.457,-9.595],[0.547,-0.552],[1.679,-1.67],[0.768,-0.76],[1.883,-1.831],[0.056,-0.054],[64.854,-35.334],[0.999,-0.538],[0.527,-0.283],[54.805,-3.732],[50.327,10.812],[4.412,1.089],[54.866,50.32],[0.912,1.21],[92.009,21.187],[1.955,0.414],[65.354,-60.475],[93.453,-26.693],[0.767,-0.215],[0.815,-0.225],[28.373,-0.015],[21.028,3.594],[1.666,0.301],[65.797,36.602],[0.66,0.371],[1.298,0.742],[7.052,4.451],[0.002,0.002],[71.948,65.843],[1.275,1.159],[0.007,0.006],[0.001,0.001],[49.021,-8.766],[0,0],[22.944,-11.286],[69.483,-69.397],[89.857,-48.282],[109.69,27.082],[189.604,40.129],[65.837,-56.311],[96.237,-27.193],[115.625,46.105],[75.301,78.995],[46.655,30.06],[18.918,-20.976],[0,-11.732],[0,-59.755],[0,-65.086],[-8.345,-44.467],[-10.661,-7.061],[-11.985,-0.023],[-454.578,-0.86],[-317.816,0],[-68.671,0.146],[0,0],[0,0],[0,0],[-402.384,0],[-248.062,0.554],[0,0],[0,0],[0,0],[0,39.129]],"o":[[-0.146,-0.156],[0,0],[-0.208,-0.009],[-7.431,-4.979],[-0.339,-0.063],[-0.657,-0.123],[-11.479,-2.209],[-0.001,0],[-1.488,-0.393],[-0.854,-0.234],[-0.608,-0.169],[-15.296,-4.32],[-81.578,-30.265],[-0.715,-0.745],[-1.287,-1.353],[-2.064,-2.216],[-0.018,-0.02],[-46.922,-51.959],[-7.749,-5.085],[-15.299,-9.572],[-5.639,-0.932],[-0.209,-0.001],[-1.073,0.002],[-0.35,0.012],[-0.935,0.044],[-0.397,0.031],[-0.92,0.083],[-0.367,0.045],[-1.26,0.17],[0,0],[-22.062,2.882],[-39.957,20.896],[-23.477,21.714],[-9.209,10.197],[-0.547,0.553],[-1.673,1.689],[-0.765,0.762],[-1.876,1.854],[-0.056,0.054],[-81.074,78.801],[-0.997,0.541],[-0.53,0.286],[-52.262,27.962],[-37.521,1.141],[-4.387,-0.981],[-78.168,-19.3],[-0.925,-1.189],[-61.212,-81.228],[-1.931,-0.447],[-87.139,-18.567],[-71.182,60.954],[-0.769,0.219],[-0.812,0.228],[-78.988,21.739],[-21.497,-0.675],[-1.668,-0.285],[-47.385,-8.71],[-0.661,-0.369],[-1.296,-0.728],[-7.251,-4.154],[-0.002,-0.001],[-83.553,-52.732],[-1.281,-1.178],[-0.007,-0.006],[-0.001,-0.001],[-64.051,-58.195],[0,0],[-20.423,1.711],[-90.114,44.325],[-72.161,72.071],[-98.652,53.009],[-183.691,-45.353],[-83.528,-17.678],[-73.713,63.046],[-119.458,33.754],[-102.983,-41.064],[-38.102,-39.971],[-15.687,-10.107],[-8.21,9.104],[0,59.755],[0,65.086],[0,45.114],[3.437,18.313],[10.202,6.756],[454.579,0.86],[317.816,0.601],[68.879,0],[0,0],[0,0],[0,0],[402.383,0.761],[250.056,0],[0,0],[0,0],[0,0],[0,-39.129],[0,-19.006]],"v":[[3636.482,83.226],[3635.941,82.768],[3636.482,82.727],[3635.839,82.696],[3576.718,75.489],[3575.705,75.301],[3573.735,74.924],[3536.878,66.517],[3536.874,66.516],[3532.373,65.303],[3529.81,64.599],[3527.977,64.084],[3482.667,49.281],[3266.653,-92.077],[3264.513,-94.331],[3260.663,-98.402],[3254.489,-105.125],[3254.437,-105.184],[3093.159,-255.292],[3070.293,-268.923],[3020.618,-286.821],[3003.969,-288.272],[3003.344,-288.268],[3000.134,-288.21],[2999.087,-288.166],[2996.292,-287.992],[2995.102,-287.897],[2992.351,-287.6],[2991.249,-287.469],[2987.482,-286.886],[2987.482,-286.556],[2915.225,-261.374],[2808.165,-181.338],[2733.476,-105.125],[2705.453,-75.439],[2703.811,-73.785],[2698.784,-68.744],[2696.48,-66.465],[2690.845,-60.928],[2690.679,-60.767],[2458.021,110.474],[2455.03,112.1],[2453.452,112.948],[2293.164,159.492],[2156.967,147.841],[2143.77,144.742],[1953.247,28.472],[1950.49,24.875],[1706.802,-135.827],[1700.978,-137.125],[1460.493,-80.263],[1236.844,59.061],[1234.537,59.719],[1232.095,60.394],[1055.004,82.945],[991.105,76.639],[986.104,75.75],[809.755,12.112],[807.772,11.005],[803.88,8.791],[782.416,-4.11],[782.408,-4.115],[569.203,-200.89],[565.37,-204.393],[565.349,-204.412],[565.347,-204.414],[395.483,-286.886],[395.483,-284.227],[330.668,-265.165],[107.855,-69.803],[-137.804,112.554],[-448.23,144.742],[-891.023,-137.125],[-1127.019,-84.104],[-1356.307,59.4],[-1714.042,44.391],[-1965.898,-144.477],[-2090.674,-255.062],[-2196.518,-286.886],[-2196.518,-212.645],[-2196.518,-33.379],[-2196.518,161.879],[-2196.518,305.79],[-2189.578,330.091],[-2128.795,330.206],[-765.061,332.786],[188.39,332.993],[394.672,332.747],[391.483,332.993],[1935.942,332.993],[1149.726,331.505],[2356.871,332.993],[3103.482,330.909],[3103.482,332.993],[3636.482,332.993],[3636.482,331.306],[3636.482,213.918]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.573000021542,0.423999980852,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[2196,747.209],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":181.000007372281,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"landscape Outlines 5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[1030,248,0],"e":[-188.5,248,0],"to":[-203.08332824707,0,0],"ti":[203.08332824707,0,0]},{"t":180.00000733155}],"ix":2},"a":{"a":0,"k":[2196,540,0],"ix":1},"s":{"a":0,"k":[47,47,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.751,2.675],[-1.086,0.713],[-1.737,-2.684],[1.215,-0.768],[0.896,1.36]],"o":[[1.087,-0.713],[1.748,2.679],[0.897,1.386],[-1.133,0.716],[-1.761,-2.669]],"v":[[-4.698,-3.733],[-1.438,-5.872],[3.801,2.164],[3.342,5.155],[0.559,4.292]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.388000009574,0.109999997008,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[2439.327,541.702],"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 4","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.283,-0.337],[-0.653,-1.408],[-1.484,-2.785],[-2.939,-4.867],[-2.639,-4.691],[-2.361,-5.025],[-1.359,-2.146],[-3.768,-5.981],[-2.447,-4.186],[-2.471,-3.836],[-0.651,-0.763],[3.766,-2.518],[0.367,0.847],[3.237,7.443],[5.035,11.603],[5.232,12.05],[2.95,6.762],[0.025,0.696]],"o":[[0.177,1.625],[1.335,2.876],[2.677,5.023],[2.783,4.609],[2.709,4.817],[1.076,2.292],[3.782,5.969],[2.576,4.09],[2.3,3.937],[0.527,0.818],[-3.785,2.492],[-0.807,0.54],[-3.216,-7.453],[-5.046,-11.599],[-5.229,-12.051],[-2.94,-6.767],[-0.233,-0.536],[0.285,0.338]],"v":[[-30.485,-57.183],[-28.527,-52.954],[-23.667,-44.802],[-15.093,-30.067],[-7.061,-16.047],[1.13,-1.623],[5.057,4.933],[15.762,23.21],[22.986,35.822],[29.979,47.575],[31.336,50.171],[19.99,57.656],[18.502,57.158],[8.784,34.83],[-6.335,0.027],[-22.013,-36.132],[-30.866,-56.418],[-31.336,-58.196]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.995999983245,0.313999998803,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[2399.309,490.258],"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 5","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.177,1.625],[-5.21,-5.619],[-8.72,-9.418],[-12.031,-12.99],[-2.042,-2.197],[1.604,-1.051],[4.902,-3.215],[1.087,-0.713],[1.327,-0.82],[0.527,0.818],[2.3,3.937],[2.576,4.09],[3.782,5.969],[1.076,2.292],[2.709,4.817],[2.783,4.609],[2.677,5.023],[1.335,2.876]],"o":[[5.229,5.602],[8.727,9.411],[12.028,12.993],[2.038,2.2],[1.328,1.429],[-4.902,3.213],[-1.085,0.713],[-1.328,0.819],[-0.651,-0.763],[-2.471,-3.836],[-2.447,-4.186],[-3.768,-5.981],[-1.359,-2.146],[-2.361,-5.025],[-2.639,-4.691],[-2.939,-4.867],[-1.484,-2.785],[-0.653,-1.408]],"v":[[-42.686,-53.677],[-27.003,-36.868],[-0.854,-8.606],[35.24,30.364],[41.355,36.963],[41.081,39.434],[26.378,49.079],[23.119,51.218],[19.135,53.677],[17.778,51.081],[10.785,39.328],[3.561,26.716],[-7.144,8.439],[-11.071,1.883],[-19.262,-12.541],[-27.294,-26.561],[-35.868,-41.296],[-40.728,-49.448]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.736999990426,0.630999995213,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[2411.51,486.752],"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 6","np":2,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[2410.901,490.14],"ix":2},"a":{"a":0,"k":[2410.901,490.14],"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":"tree","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.11,1.983],[-0.806,0.046],[-0.1,-1.984],[0.893,-0.036],[0.06,1.01]],"o":[[0.807,-0.046],[0.108,1.986],[0.052,1.025],[-0.832,0.033],[-0.117,-1.983]],"v":[[-1.396,-3.589],[1.023,-3.727],[1.343,2.227],[0.166,3.694],[-1.063,2.363]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.388000009574,0.109999997008,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1212.631,600.389],"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 7","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.047,-0.27],[0.086,-0.96],[0.067,-1.959],[-0.068,-3.532],[0.039,-3.344],[0.293,-3.437],[-0.065,-1.578],[-0.167,-4.39],[-0.015,-3.013],[-0.137,-2.833],[-0.113,-0.614],[2.81,-0.184],[-0.066,0.57],[-0.573,5.013],[-0.9,7.81],[-0.932,8.112],[-0.516,4.557],[-0.203,0.383]],"o":[[-0.411,0.93],[-0.176,1.963],[-0.122,3.536],[0.063,3.346],[-0.041,3.434],[-0.133,1.568],[0.178,4.388],[0.115,3.003],[0.013,2.833],[0.028,0.604],[-2.811,0.164],[-0.602,0.039],[0.588,-5.011],[0.893,-7.809],[0.934,-8.11],[0.523,-4.555],[0.041,-0.361],[0.048,0.27]],"v":[[4.623,-38.36],[4.36,-35.476],[4.441,-29.578],[4.472,-18.983],[4.432,-8.94],[4.354,1.368],[4.428,6.118],[4.504,19.281],[4.469,28.315],[4.577,36.814],[4.499,38.633],[-3.934,39.132],[-4.58,38.401],[-2.865,23.363],[-0.176,-0.066],[2.634,-24.398],[4.179,-38.067],[4.479,-39.17]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.995999983245,0.313999998803,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1203.828,558.252],"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 8","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.411,0.93],[-1.056,-4.644],[-1.762,-7.779],[-2.434,-10.732],[-0.416,-1.817],[1.19,-0.068],[3.637,-0.205],[0.806,-0.046],[0.97,-0.029],[0.028,0.604],[0.013,2.833],[0.115,3.003],[0.178,4.388],[-0.133,1.568],[-0.041,3.434],[0.063,3.346],[-0.122,3.536],[-0.176,1.963]],"o":[[1.071,4.641],[1.769,7.779],[2.431,10.733],[0.413,1.817],[0.27,1.182],[-3.637,0.204],[-0.807,0.046],[-0.97,0.027],[-0.113,-0.614],[-0.137,-2.833],[-0.015,-3.013],[-0.167,-4.39],[-0.065,-1.578],[0.293,-3.437],[0.039,-3.344],[-0.068,-3.532],[0.067,-1.959],[0.086,-0.96]],"v":[[-8.433,-38.497],[-5.223,-24.574],[0.058,-1.234],[7.359,30.961],[8.598,36.414],[7.682,37.659],[-3.229,38.274],[-5.648,38.412],[-8.557,38.497],[-8.479,36.677],[-8.587,28.179],[-8.552,19.144],[-8.627,5.982],[-8.702,1.232],[-8.623,-9.076],[-8.584,-19.12],[-8.615,-29.714],[-8.695,-35.612]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.736999990426,0.630999995213,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1216.884,558.388],"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 9","np":2,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[1212.43,561.583],"ix":2},"a":{"a":0,"k":[1212.43,561.583],"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":"tree","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.774,2.661],[-1.082,-0.72],[1.787,-2.652],[1.183,0.816],[-0.899,1.358]],"o":[[1.082,0.721],[-1.778,2.658],[-0.923,1.368],[-1.103,-0.761],[1.764,-2.666]],"v":[[1.486,-5.849],[4.732,-3.69],[-0.605,4.282],[-3.536,5.034],[-3.833,2.133]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.388000009574,0.109999997008,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1451.969,669.11],"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 10","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.199,-0.394],[1.039,-1.153],[1.979,-2.457],[3.324,-4.611],[3.28,-4.268],[3.696,-4.144],[1.441,-2.092],[4.024,-5.81],[2.891,-3.892],[2.56,-3.777],[0.446,-0.898],[3.794,2.477],[-0.636,0.669],[-5.577,5.897],[-8.699,9.183],[-9.031,9.541],[-5.064,5.366],[-0.631,0.295]],"o":[[-1.426,0.799],[-2.122,2.356],[-3.571,4.433],[-3.149,4.368],[-3.368,4.381],[-1.686,1.89],[-4.008,5.82],[-2.751,3.975],[-2.718,3.661],[-0.545,0.806],[-3.776,-2.504],[-0.813,-0.531],[5.594,-5.882],[8.69,-9.191],[9.034,-9.537],[5.072,-5.358],[0.401,-0.425],[-0.2,0.393]],"v":[[43.026,-48.898],[39.904,-45.439],[34.312,-37.771],[24.121,-24.105],[14.374,-11.216],[4.32,1.976],[-0.171,8.16],[-12.784,25.175],[-21.552,36.768],[-29.62,47.811],[-31.475,50.078],[-42.811,42.577],[-42.936,41.013],[-26.21,23.315],[-0.126,-4.244],[26.984,-32.849],[42.173,-48.949],[43.624,-50.078]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.995999983245,0.313999998803,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1481.105,610.484],"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 11","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.426,0.799],[3.125,-6.998],[5.243,-11.715],[7.229,-16.163],[1.22,-2.74],[1.597,1.063],[4.88,3.247],[1.082,0.721],[1.274,0.9],[-0.545,0.806],[-2.718,3.661],[-2.751,3.975],[-4.008,5.82],[-1.686,1.89],[-3.368,4.381],[-3.149,4.368],[-3.571,4.433],[-2.122,2.356]],"o":[[-3.102,7.007],[-5.233,11.718],[-7.233,16.16],[-1.224,2.738],[-0.793,1.784],[-4.877,-3.249],[-1.082,-0.72],[-1.275,-0.9],[0.446,-0.898],[2.56,-3.777],[2.891,-3.892],[4.024,-5.81],[1.441,-2.092],[3.696,-4.144],[3.28,-4.268],[3.324,-4.611],[1.979,-2.457],[1.039,-1.153]],"v":[[37.25,-57.321],[27.939,-36.302],[12.199,-1.163],[-9.489,47.324],[-13.161,55.537],[-15.542,56.255],[-30.18,46.514],[-33.426,44.354],[-37.251,41.655],[-35.396,39.388],[-27.328,28.345],[-18.56,16.752],[-5.947,-0.263],[-1.456,-6.447],[8.598,-19.639],[18.345,-32.528],[28.536,-46.194],[34.128,-53.862]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.736999990426,0.630999995213,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1486.881,618.907],"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 12","np":2,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[1481.209,618.147],"ix":2},"a":{"a":0,"k":[1481.209,618.147],"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":"tree","np":3,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.808,2.126],[-0.864,-0.328],[0.82,-2.122],[0.95,0.379],[-0.408,1.084]],"o":[[0.865,0.328],[-0.811,2.125],[-0.422,1.096],[-0.885,-0.353],[0.801,-2.129]],"v":[[0.119,-4.361],[2.712,-3.378],[0.275,2.996],[-1.638,3.982],[-2.304,2.018]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.388000009574,0.109999997008,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1394.337,637.817],"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 13","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.076,-0.304],[0.537,-0.964],[0.983,-2.018],[1.574,-3.724],[1.599,-3.479],[1.905,-3.459],[0.668,-1.68],[1.869,-4.667],[1.387,-3.158],[1.176,-3.025],[0.168,-0.693],[3.023,1.116],[-0.335,0.564],[-2.931,4.973],[-4.575,7.746],[-4.75,8.048],[-2.661,4.523],[-0.391,0.305]],"o":[[-0.862,0.78],[-1.098,1.97],[-1.773,3.639],[-1.49,3.529],[-1.64,3.572],[-0.87,1.577],[-1.856,4.671],[-1.277,3.192],[-1.305,2.969],[-0.251,0.645],[-3.015,-1.137],[-0.648,-0.239],[2.947,-4.966],[4.569,-7.751],[4.753,-8.046],[2.667,-4.519],[0.211,-0.359],[-0.076,0.304]],"v":[[22.729,-39.765],[21.113,-36.87],[18.451,-30.667],[13.551,-19.576],[8.836,-9.094],[3.957,1.648],[1.823,6.648],[-4.225,20.446],[-8.466,29.875],[-12.31,38.812],[-13.238,40.677],[-22.287,37.273],[-22.622,36.209],[-13.83,21.286],[-0.113,-1.958],[14.151,-26.092],[22.13,-39.664],[22.957,-40.677]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.995999983245,0.313999998803,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1404.613,591.514],"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 14","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.862,0.78],[1.057,-5.347],[1.778,-8.954],[2.45,-12.354],[0.411,-2.093],[1.275,0.484],[3.898,1.478],[0.865,0.328],[0,0],[-0.251,0.645],[-1.305,2.969],[-1.277,3.192],[-1.856,4.671],[-0.87,1.577],[-1.64,3.572],[-1.49,3.529],[-1.773,3.639],[-1.098,1.97]],"o":[[-1.04,5.351],[-1.771,8.956],[-2.453,12.353],[-0.415,2.091],[-0.268,1.362],[-3.898,-1.479],[-0.864,-0.328],[0,0],[0.168,-0.693],[1.176,-3.025],[1.387,-3.158],[1.869,-4.667],[0.668,-1.68],[1.905,-3.459],[1.599,-3.479],[1.574,-3.724],[0.983,-2.018],[0.537,-0.964]],"v":[[17.984,-43.805],[14.86,-27.754],[9.517,-0.893],[2.167,36.167],[0.922,42.443],[-0.615,43.318],[-12.31,38.885],[-14.903,37.902],[-17.984,36.636],[-17.056,34.771],[-13.212,25.835],[-8.971,16.406],[-2.922,2.608],[-0.789,-2.392],[4.09,-13.134],[8.805,-23.616],[13.705,-34.707],[16.367,-40.911]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.736999990426,0.630999995213,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1409.359,595.554],"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 15","np":2,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[1404.674,596.399],"ix":2},"a":{"a":0,"k":[1404.674,596.399],"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":"tree","np":3,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.242,3.188],[-1.296,-0.097],[0.258,-3.187],[1.431,0.132],[-0.117,1.623]],"o":[[1.296,0.098],[-0.247,3.188],[-0.133,1.645],[-1.335,-0.122],[0.231,-3.189]],"v":[[-1.523,-6.039],[2.365,-5.747],[1.62,3.817],[-0.567,5.908],[-2.248,3.527]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.388000009574,0.109999997008,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1340.408,615.814],"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 16","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.019,-0.44],[0.339,-1.513],[0.521,-3.112],[0.638,-5.649],[0.768,-5.327],[1.191,-5.422],[0.231,-2.53],[0.659,-7.038],[0.611,-4.809],[0.379,-4.547],[-0.051,-1.002],[4.521,0.299],[-0.227,0.894],[-1.97,7.875],[-3.08,12.267],[-3.196,12.742],[-1.784,7.159],[-0.405,0.567]],"o":[[-0.851,1.396],[-0.695,3.094],[-0.939,5.614],[-0.603,5.352],[-0.788,5.469],[-0.543,2.474],[-0.64,7.037],[-0.45,4.813],[-0.576,4.523],[-0.081,0.97],[-4.518,-0.332],[-0.969,-0.065],[1.993,-7.869],[3.07,-12.27],[3.201,-12.741],[1.795,-7.156],[0.141,-0.567],[0.019,0.441]],"v":[[15.542,-60.733],[14.517,-56.188],[13.4,-46.763],[11.216,-29.856],[9.038,-13.844],[6.74,2.582],[5.857,10.174],[3.204,31.188],[1.244,45.59],[-0.376,59.169],[-0.883,62.055],[-14.44,61.074],[-15.315,59.772],[-9.411,36.146],[-0.184,-0.659],[9.426,-38.881],[14.774,-60.359],[15.485,-62.055]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.995999983245,0.313999998803,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1335.109,547.242],"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 17","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.851,1.396],[-0.706,-7.63],[-1.172,-12.782],[-1.621,-17.632],[-0.28,-2.985],[1.912,0.145],[5.845,0.438],[1.296,0.097],[1.553,0.159],[-0.081,0.97],[-0.576,4.523],[-0.45,4.813],[-0.64,7.037],[-0.543,2.474],[-0.788,5.469],[-0.603,5.352],[-0.939,5.614],[-0.695,3.094]],"o":[[0.73,7.628],[1.183,12.78],[1.616,17.63],[0.274,2.986],[0.183,1.943],[-5.844,-0.441],[-1.296,-0.097],[-1.553,-0.16],[-0.051,-1.002],[0.379,-4.547],[0.611,-4.809],[0.659,-7.038],[0.231,-2.53],[1.191,-5.422],[0.768,-5.327],[0.638,-5.649],[0.521,-3.112],[0.339,-1.513]],"v":[[2.455,-62.511],[4.641,-39.627],[8.146,-1.282],[13.008,51.611],[13.833,60.569],[12.109,62.362],[-5.424,61.047],[-9.312,60.755],[-13.97,60.277],[-13.464,57.391],[-11.844,43.812],[-9.883,29.41],[-7.23,8.396],[-6.347,0.804],[-4.049,-15.622],[-1.871,-31.634],[0.312,-48.541],[1.43,-57.966]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.736999990426,0.630999995213,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1348.197,549.02],"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 18","np":2,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[1340.902,553.463],"ix":2},"a":{"a":0,"k":[1340.902,553.463],"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":"tree","np":3,"cix":2,"ix":5,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":181.000007372281,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"landscape Outlines 3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[1030,248,0],"e":[-188.5,248,0],"to":[-203.08332824707,0,0],"ti":[203.08332824707,0,0]},{"t":180.00000733155}],"ix":2},"a":{"a":0,"k":[2196,540,0],"ix":1},"s":{"a":0,"k":[47,47,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[433.5,98.5],[-433.5,98.5],[-433.5,-98.5],[433.5,-98.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.788000009574,0.204000001795,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1928.5,867.5],"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":"water","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":181.000007372281,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"bg","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[637.372,248,0],"ix":2},"a":{"a":0,"k":[2196,540,0],"ix":1},"s":{"a":0,"k":[47,47,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-2195.5,539],[2195.5,539],[2195.5,-539],[-2195.5,-539]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.75117534399,0.894179105759,0.96685051918,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[2195.5,541],"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":"bg","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":181.000007372281,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/maps.json b/submodules/RLottie/Sources/rlottie/example/resource/maps.json deleted file mode 100644 index 7bb4d8ddb1..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/maps.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.1.16","fr":30,"ip":0,"op":132,"w":200,"h":85,"nm":"city 200x85","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[8.25,92.375,0],"e":[9,73.375,0],"to":[0.125,-3.16666674613953,0],"ti":[-1.29166662693024,5.75,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":5,"s":[9,73.375,0],"e":[16,57.875,0],"to":[1.29166662693024,-5.75,0],"ti":[-2.22916674613953,0.60416668653488,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":12.5,"s":[16,57.875,0],"e":[22.375,69.75,0],"to":[2.22916674613953,-0.60416668653488,0],"ti":[-2.75,-2.9375,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":13.75,"s":[22.375,69.75,0],"e":[32.5,75.5,0],"to":[2.75,2.9375,0],"ti":[-3.20833325386047,-1.41666662693024,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":15,"s":[32.5,75.5,0],"e":[41.625,78.25,0],"to":[3.20833325386047,1.41666662693024,0],"ti":[-2.39583325386047,0.60416668653488,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":16.25,"s":[41.625,78.25,0],"e":[46.875,71.875,0],"to":[2.39583325386047,-0.60416668653488,0],"ti":[-2.3125,0.10416666418314,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":17.5,"s":[46.875,71.875,0],"e":[55.5,77.625,0],"to":[2.3125,-0.10416666418314,0],"ti":[-1.64583337306976,1.89583337306976,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":18.75,"s":[55.5,77.625,0],"e":[56.75,60.5,0],"to":[1.64583337306976,-1.89583337306976,0],"ti":[-0.20833332836628,5.29166650772095,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":20,"s":[56.75,60.5,0],"e":[56.75,45.875,0],"to":[0.20833332836628,-5.29166650772095,0],"ti":[-0.20833332836628,4.41666650772095,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":21.25,"s":[56.75,45.875,0],"e":[58,34,0],"to":[0.20833332836628,-4.41666650772095,0],"ti":[-0.95833331346512,3.02083325386047,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":22.5,"s":[58,34,0],"e":[62.5,27.75,0],"to":[0.95833331346512,-3.02083325386047,0],"ti":[-1.66666662693024,1.52083337306976,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":23.75,"s":[62.5,27.75,0],"e":[68,24.875,0],"to":[1.66666662693024,-1.52083337306976,0],"ti":[-0.9375,2.79166674613953,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":27.5,"s":[68,24.875,0],"e":[68.125,11,0],"to":[0.9375,-2.79166674613953,0],"ti":[-0.33333334326744,3.14583325386047,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":28.75,"s":[68.125,11,0],"e":[70,6,0],"to":[0.33333334326744,-3.14583325386047,0],"ti":[-0.70833331346512,-2.25,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":30,"s":[70,6,0],"e":[72.375,24.5,0],"to":[0.70833331346512,2.25,0],"ti":[-0.39583334326744,-3.08333325386047,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":31.25,"s":[72.375,24.5,0],"e":[72.375,24.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":35,"s":[72.375,24.5,0],"e":[78.125,27,0],"to":[0.95833331346512,0.41666665673256,0],"ti":[-1.64583337306976,-1.60416662693024,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":36.25,"s":[78.125,27,0],"e":[82.25,34.125,0],"to":[1.64583337306976,1.60416662693024,0],"ti":[-0.6875,-4.79166650772095,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":37.5,"s":[82.25,34.125,0],"e":[82.25,55.75,0],"to":[0.6875,4.79166650772095,0],"ti":[-1.27083337306976,-3.60416674613953,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":38.75,"s":[82.25,55.75,0],"e":[89.875,55.75,0],"to":[1.27083337306976,3.60416674613953,0],"ti":[-1.27083337306976,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":40,"s":[89.875,55.75,0],"e":[89.875,55.75,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":43.75,"s":[89.875,55.75,0],"e":[93.875,73,0],"to":[0.66666668653488,2.875,0],"ti":[-0.875,-4.39583349227905,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":45,"s":[93.875,73,0],"e":[95.125,82.125,0],"to":[0.875,4.39583349227905,0],"ti":[-0.20833332836628,2.89583325386047,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":46.25,"s":[95.125,82.125,0],"e":[95.162,83.291,0],"to":[0.08235409110785,-1.14472186565399,0],"ti":[0.03311010077596,4.17439985275269,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":47.5,"s":[95.162,83.291,0],"e":[95.125,55.625,0],"to":[-0.05064940080047,-6.38569068908691,0],"ti":[-0.113381318748,3.3510479927063,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":50,"s":[95.125,55.625,0],"e":[96.25,48.875,0],"to":[0.1875,-5.54166650772095,0],"ti":[-2.8125,1.10416662693024,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":56.25,"s":[96.25,48.875,0],"e":[112,49,0],"to":[2.8125,-1.10416662693024,0],"ti":[-2.625,-3.1875,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":62.5,"s":[112,49,0],"e":[112,68,0],"to":[2.625,3.1875,0],"ti":[0,-4.64583349227905,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":65,"s":[112,68,0],"e":[112,76.875,0],"to":[0,4.64583349227905,0],"ti":[-2.5625,-1.47916662693024,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":67.5,"s":[112,76.875,0],"e":[127.375,76.875,0],"to":[2.5625,1.47916662693024,0],"ti":[-2.5625,6.52083349227905,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":75,"s":[127.375,76.875,0],"e":[127.375,37.75,0],"to":[2.5625,-6.52083349227905,0],"ti":[-2.20833325386047,7.75,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":80,"s":[127.375,37.75,0],"e":[140.625,30.375,0],"to":[2.20833325386047,-7.75,0],"ti":[-2.4375,4,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":82.5,"s":[140.625,30.375,0],"e":[142,13.75,0],"to":[2.4375,-4,0],"ti":[-2.77083325386047,-3.08333325386047,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":83.75,"s":[142,13.75,0],"e":[157.25,48.875,0],"to":[2.77083325386047,3.08333325386047,0],"ti":[-8.125,-6.14583349227905,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":85,"s":[157.25,48.875,0],"e":[190.75,50.625,0],"to":[8.125,6.14583349227905,0],"ti":[-5.58333349227905,-7.95833349227905,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":92.5,"s":[190.75,50.625,0],"e":[190.75,96.625,0],"to":[5.58333349227905,7.95833349227905,0],"ti":[0,-7.66666650772095,0]},{"t":97.5}],"ix":2},"a":{"a":0,"k":[-12,-6.5,0],"ix":1},"s":{"a":0,"k":[39.083,39.083,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[26.875,26.875],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.941176530427,0.466666696586,0.18431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-12.393,-6.871],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":132,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"melbourne_orange Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":80,"s":[100.25,42.75,0],"e":[100,42.5,0],"to":[-0.04166666790843,-0.04166666790843,0],"ti":[0.04166666790843,0.04166666790843,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":97.5,"s":[100,42.5,0],"e":[100,42.5,0],"to":[0,0,0],"ti":[0,0,0]},{"t":195}],"ix":2},"a":{"a":0,"k":[92.5,42.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[6,86],[-11,86],[-8,102],[6,102.5],[6,96.899],[6,96.152],[6,95.43],[6,95.335],[6,95.291],[6,95.253],[6,95.253],[6,95.253],[6,95.253],[6,95.243],[6,95.241],[6,95.189],[6,95.107],[6,94.9],[6,94.729],[6,93.699]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[6,73.656],[-11,73.656],[-8,89.656],[6,90.156],[6,84.556],[6,83.808],[6,83.086],[6,82.991],[6,82.947],[6,82.909],[6,82.909],[6,82.909],[6,82.909],[6,82.899],[6,82.897],[6,82.845],[6,82.763],[6,82.556],[6,82.385],[6,81.355]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":5,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[6,73.656],[-11,73.656],[-8,89.656],[6,90.156],[6,84.556],[6,83.808],[6,83.086],[6,82.991],[6,82.947],[6,82.909],[6,82.909],[6,82.909],[6,82.909],[6,82.899],[6,82.897],[6,82.845],[6,82.763],[6,82.556],[6,82.385],[6,81.355]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[3.5,41.5],[-13.5,41.5],[-8,89.5],[6,90],[5.151,73.537],[5.038,71.339],[4.929,69.217],[4.914,68.939],[4.908,68.809],[4.902,68.698],[4.902,68.698],[4.902,68.698],[4.902,68.697],[4.9,68.668],[4.9,68.663],[4.892,68.509],[4.88,68.269],[4.848,67.661],[4.823,67.158],[4.667,64.131]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":12.5,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[3.5,41.5],[-13.5,41.5],[-8,89.5],[6,90],[5.151,73.537],[5.038,71.339],[4.929,69.217],[4.914,68.939],[4.908,68.809],[4.902,68.698],[4.902,68.698],[4.902,68.698],[4.902,68.697],[4.9,68.668],[4.9,68.663],[4.892,68.509],[4.88,68.269],[4.848,67.661],[4.823,67.158],[4.667,64.131]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[46,51],[-13.5,41.5],[-8,89.5],[6,90],[46.522,85.525],[46.486,83.156],[46.452,80.869],[46.447,80.569],[46.445,80.429],[46.443,80.309],[46.443,80.309],[46.443,80.309],[46.443,80.309],[46.443,80.278],[46.442,80.272],[46.44,80.106],[46.436,79.847],[46.426,79.192],[46.418,78.65],[46.369,75.388]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":18.75,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[46,51],[-13.5,41.5],[-8,89.5],[6,90],[46.522,85.525],[46.486,83.156],[46.452,80.869],[46.447,80.569],[46.445,80.429],[46.443,80.309],[46.443,80.309],[46.443,80.309],[46.443,80.309],[46.443,80.278],[46.442,80.272],[46.44,80.106],[46.436,79.847],[46.426,79.192],[46.418,78.65],[46.369,75.388]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[31,-15.5],[-13.5,41.5],[-8,89.5],[6,90],[46.522,85.525],[61.438,75.001],[59.396,48.603],[59.127,45.134],[59.002,43.519],[58.895,42.138],[58.895,42.135],[58.895,42.135],[58.895,42.13],[58.867,41.77],[58.862,41.702],[58.714,39.791],[58.483,36.802],[57.897,29.236],[57.413,22.983],[54.499,-14.678]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":26.25,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[31,-15.5],[-13.5,41.5],[-8,89.5],[6,90],[46.522,85.525],[61.438,75.001],[59.396,48.603],[59.127,45.134],[59.002,43.519],[58.895,42.138],[58.895,42.135],[58.895,42.135],[58.895,42.13],[58.867,41.77],[58.862,41.702],[58.714,39.791],[58.483,36.802],[57.897,29.236],[57.413,22.983],[54.499,-14.678]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[31,-15.5],[-13.5,41.5],[-8,89.5],[6,90],[46.522,85.525],[61.438,75.001],[63.736,48.78],[64.038,45.335],[64.178,43.731],[64.298,42.359],[64.299,42.357],[64.299,42.356],[64.299,42.352],[64.33,41.994],[64.336,41.926],[64.503,40.028],[64.763,37.059],[65.421,29.545],[64.827,-14.457],[54.499,-14.678]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":35,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[31,-15.5],[-13.5,41.5],[-8,89.5],[6,90],[46.522,85.525],[61.438,75.001],[63.736,48.78],[64.038,45.335],[64.178,43.731],[64.298,42.359],[64.299,42.357],[64.299,42.356],[64.299,42.352],[64.33,41.994],[64.336,41.926],[64.503,40.028],[64.763,37.059],[65.421,29.545],[64.827,-14.457],[54.499,-14.678]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[31,-15.5],[-13.5,41.5],[-8,89.5],[6,90],[46.522,85.525],[61.438,75.001],[81.251,58.077],[81.371,51.622],[81.427,48.619],[81.475,46.048],[81.475,46.044],[81.475,46.043],[81.475,46.035],[81.488,45.365],[81.49,45.237],[81.556,41.682],[81.659,36.12],[81.921,22.045],[64.827,-14.457],[54.499,-14.678]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":41.25,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[31,-15.5],[-13.5,41.5],[-8,89.5],[6,90],[46.522,85.525],[61.438,75.001],[81.251,58.077],[81.371,51.622],[81.427,48.619],[81.475,46.048],[81.475,46.044],[81.475,46.043],[81.475,46.035],[81.488,45.365],[81.49,45.237],[81.556,41.682],[81.659,36.12],[81.921,22.045],[64.827,-14.457],[54.499,-14.678]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0.336,2.318],[0.38,2.831],[0,0],[0.002,0.016],[0.01,0.074],[0.147,1.172],[0.048,0.39],[-0.398,0.146],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.303,-2.09],[-0.005,-0.04],[0,0],[-0.01,-0.074],[-0.158,-1.185],[-0.05,-0.398],[-0.617,-5.064],[0.985,-0.361],[0,0],[0,0],[0,0],[0,0]],"v":[[31,-15.5],[-13.5,41.5],[-8,89.5],[6,90],[46.522,85.525],[61.438,75.001],[71.251,96.577],[91.432,85.489],[90.865,81.643],[89.794,73.991],[89.778,73.87],[89.772,73.822],[89.742,73.599],[89.281,70.045],[89.135,68.862],[88.515,59.361],[79.814,42.439],[81.921,22.045],[64.827,-14.457],[54.499,-14.678]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":50,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0.336,2.318],[0.38,2.831],[0,0],[0.002,0.016],[0.01,0.074],[0.147,1.172],[0.048,0.39],[-0.398,0.146],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.303,-2.09],[-0.005,-0.04],[0,0],[-0.01,-0.074],[-0.158,-1.185],[-0.05,-0.398],[-0.617,-5.064],[0.985,-0.361],[0,0],[0,0],[0,0],[0,0]],"v":[[31,-15.5],[-13.5,41.5],[-8,89.5],[6,90],[46.522,85.525],[61.438,75.001],[71.251,96.577],[91.432,85.489],[90.865,81.643],[89.794,73.991],[89.778,73.87],[89.772,73.822],[89.742,73.599],[89.281,70.045],[89.135,68.862],[88.515,59.361],[79.814,42.439],[81.921,22.045],[64.827,-14.457],[54.499,-14.678]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0.605,4.652],[0.707,5.67],[0.01,0.081],[0.004,0.032],[0.019,0.149],[0.282,2.343],[0.093,0.78],[-0.398,0.146],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.546,-4.194],[-0.01,-0.081],[-0.004,-0.032],[-0.019,-0.149],[-0.295,-2.373],[-0.096,-0.796],[-1.201,-10.121],[0.985,-0.361],[0,0],[0,0],[0,0],[0,0]],"v":[[31,-15.5],[-13.5,41.5],[-8,89.5],[6,90],[46.522,85.525],[61.438,75.001],[71.251,96.577],[91.432,85.489],[90.417,77.766],[88.46,62.424],[88.43,62.183],[88.418,62.088],[88.362,61.641],[87.491,54.526],[87.208,52.161],[85.515,33.361],[79.814,42.439],[81.921,22.045],[64.827,-14.457],[54.499,-14.678]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":55,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0.605,4.652],[0.707,5.67],[0.01,0.081],[0.004,0.032],[0.019,0.149],[0.282,2.343],[0.093,0.78],[-0.398,0.146],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.546,-4.194],[-0.01,-0.081],[-0.004,-0.032],[-0.019,-0.149],[-0.295,-2.373],[-0.096,-0.796],[-1.201,-10.121],[0.985,-0.361],[0,0],[0,0],[0,0],[0,0]],"v":[[31,-15.5],[-13.5,41.5],[-8,89.5],[6,90],[46.522,85.525],[61.438,75.001],[71.251,96.577],[91.432,85.489],[90.417,77.766],[88.46,62.424],[88.43,62.183],[88.418,62.088],[88.362,61.641],[87.491,54.526],[87.208,52.161],[85.515,33.361],[79.814,42.439],[81.921,22.045],[64.827,-14.457],[54.499,-14.678]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-4.677,11.764],[-1.163,5.562],[-0.02,0.137],[-0.007,0.052],[0.001,0.218],[1.949,-0.257],[0.001,0.004],[-0.427,0.157],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[3.026,-7.611],[0.031,-0.146],[0.008,-0.054],[0.031,-0.246],[-0.016,-3.466],[-0.662,0.087],[0.935,-0.532],[0.985,-0.361],[0,0],[0,0],[0,0],[0,0]],"v":[[41,-15.5],[-3.5,41.5],[-6,90.5],[16,90],[56.522,85.525],[71.438,75.001],[81.251,96.577],[101.432,85.489],[105.72,51.786],[109.753,42.158],[111.33,42.983],[112.602,41.824],[109.895,40.878],[112.587,37.251],[111.48,37.442],[95.515,33.361],[89.814,42.439],[91.921,22.045],[74.827,-14.457],[64.499,-14.678]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":63.75,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-4.677,11.764],[-1.163,5.562],[-0.02,0.137],[-0.007,0.052],[0.001,0.218],[1.949,-0.257],[0.001,0.004],[-0.427,0.157],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[3.026,-7.611],[0.031,-0.146],[0.008,-0.054],[0.031,-0.246],[-0.016,-3.466],[-0.662,0.087],[0.935,-0.532],[0.985,-0.361],[0,0],[0,0],[0,0],[0,0]],"v":[[41,-15.5],[-3.5,41.5],[-6,90.5],[16,90],[56.522,85.525],[71.438,75.001],[81.251,96.577],[101.432,85.489],[105.72,51.786],[109.753,42.158],[111.33,42.983],[112.602,41.824],[109.895,40.878],[112.587,37.251],[111.48,37.442],[95.515,33.361],[89.814,42.439],[91.921,22.045],[74.827,-14.457],[64.499,-14.678]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-4.677,11.764],[-1.163,5.562],[2.392,3.689],[1.083,1.699],[0.034,3.46],[0.009,12.741],[0.001,0.004],[-0.427,0.157],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[3.026,-7.611],[0.049,-0.233],[-0.939,-1.449],[-5.086,-7.973],[-0.045,-4.534],[-0.003,-4.327],[0.935,-0.532],[0.985,-0.361],[0,0],[0,0],[0,0],[0,0]],"v":[[31,-15.5],[-13.5,41.5],[-8,89.5],[6,90],[46.522,85.525],[61.438,75.001],[71.251,96.577],[91.432,85.489],[97.72,111.786],[122.753,116.658],[118.697,110.115],[115.63,105.354],[108.31,84.18],[108.237,41.212],[108.23,34.048],[85.515,33.361],[79.814,42.439],[81.921,22.045],[64.827,-14.457],[54.499,-14.678]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":68.75,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-4.677,11.764],[-1.163,5.562],[2.392,3.689],[1.083,1.699],[0.034,3.46],[0.009,12.741],[0.001,0.004],[-0.427,0.157],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[3.026,-7.611],[0.049,-0.233],[-0.939,-1.449],[-5.086,-7.973],[-0.045,-4.534],[-0.003,-4.327],[0.935,-0.532],[0.985,-0.361],[0,0],[0,0],[0,0],[0,0]],"v":[[31,-15.5],[-13.5,41.5],[-8,89.5],[6,90],[46.522,85.525],[61.438,75.001],[71.251,96.577],[91.432,85.489],[97.72,111.786],[122.753,116.658],[118.697,110.115],[115.63,105.354],[108.31,84.18],[108.237,41.212],[108.23,34.048],[85.515,33.361],[79.814,42.439],[81.921,22.045],[64.827,-14.457],[54.499,-14.678]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-4.677,11.764],[-1.163,5.562],[0.347,3.557],[0.161,1.639],[0.034,3.46],[4.388,13.024],[0.001,0.004],[-0.427,0.157],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[3.026,-7.611],[0.049,-0.233],[-0.136,-1.397],[-0.757,-7.694],[-0.045,-4.534],[-1.49,-4.423],[0.935,-0.532],[0.985,-0.361],[0,0],[0,0],[0,0],[0,0]],"v":[[31,-35.5],[-13.5,21.5],[-7.818,96.275],[6.182,96.775],[46.704,92.299],[60.87,81.751],[70.683,103.327],[90.864,92.239],[97.095,91.786],[122.753,96.658],[122.222,90.342],[121.771,85.75],[120.06,65.074],[106.97,21.266],[104.48,13.942],[85.515,13.361],[79.814,22.439],[81.921,2.045],[64.827,-34.457],[54.499,-34.678]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":75,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-4.677,11.764],[-1.163,5.562],[0.347,3.557],[0.161,1.639],[0.034,3.46],[4.388,13.024],[0.001,0.004],[-0.427,0.157],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[3.026,-7.611],[0.049,-0.233],[-0.136,-1.397],[-0.757,-7.694],[-0.045,-4.534],[-1.49,-4.423],[0.935,-0.532],[0.985,-0.361],[0,0],[0,0],[0,0],[0,0]],"v":[[31,-35.5],[-13.5,21.5],[-7.818,96.275],[6.182,96.775],[46.704,92.299],[60.87,81.751],[70.683,103.327],[90.864,92.239],[97.095,91.786],[122.753,96.658],[122.222,90.342],[121.771,85.75],[120.06,65.074],[106.97,21.266],[104.48,13.942],[85.515,13.361],[79.814,22.439],[81.921,2.045],[64.827,-34.457],[54.499,-34.678]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-4.677,11.764],[-1.163,5.562],[0.545,11.145],[0.25,5.06],[0.034,3.46],[3.965,-3.222],[0.001,0.004],[-0.427,0.157],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[3.026,-7.611],[0.049,-0.233],[-0.214,-4.377],[-1.176,-23.754],[-0.045,-4.534],[-1.346,1.094],[0.935,-0.532],[0.985,-0.361],[0,0],[0,0],[0,0],[0,0]],"v":[[31,-25.5],[-13.5,31.5],[-8,89.5],[6,90],[47.522,84.275],[62.438,73.751],[71.183,100.327],[91.364,89.239],[97.72,101.786],[122.753,106.658],[121.881,87.265],[121.177,72.969],[118.56,17.574],[106.73,22.054],[104.48,23.942],[85.515,23.361],[79.814,32.439],[81.921,12.045],[64.827,-24.457],[54.499,-24.678]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":80,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-4.677,11.764],[-1.163,5.562],[0.545,11.145],[0.25,5.06],[0.034,3.46],[3.965,-3.222],[0.001,0.004],[-0.427,0.157],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[3.026,-7.611],[0.049,-0.233],[-0.214,-4.377],[-1.176,-23.754],[-0.045,-4.534],[-1.346,1.094],[0.935,-0.532],[0.985,-0.361],[0,0],[0,0],[0,0],[0,0]],"v":[[31,-25.5],[-13.5,31.5],[-8,89.5],[6,90],[47.522,84.275],[62.438,73.751],[71.183,100.327],[91.364,89.239],[97.72,101.786],[122.753,106.658],[121.881,87.265],[121.177,72.969],[118.56,17.574],[106.73,22.054],[104.48,23.942],[85.515,23.361],[79.814,32.439],[81.921,12.045],[64.827,-24.457],[54.499,-24.678]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-4.677,11.764],[-1.163,5.562],[-19.442,26.716],[-2.668,8.81],[0.032,3.273],[-0.42,-3.904],[0.002,0.005],[-0.427,0.157],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[3.026,-7.611],[0.052,-0.25],[7.635,-10.492],[11.052,-36.494],[-0.04,-4.114],[0.42,3.904],[0.935,-0.532],[0.985,-0.361],[0,0],[0,0],[0,0],[0,0]],"v":[[31,-15.5],[-13.5,41.5],[-8,89.5],[6,90],[46.522,85.525],[61.438,75.001],[71.251,96.577],[91.432,85.489],[97.72,111.786],[122.753,116.658],[170.518,62.793],[187.094,33.028],[164.06,-23.426],[106.08,-11.904],[104.48,33.942],[85.515,33.361],[79.814,42.439],[81.921,22.045],[64.827,-14.457],[54.499,-14.678]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":92.5,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-4.677,11.764],[-1.163,5.562],[-19.442,26.716],[-2.668,8.81],[0.032,3.273],[-0.42,-3.904],[0.002,0.005],[-0.427,0.157],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[3.026,-7.611],[0.052,-0.25],[7.635,-10.492],[11.052,-36.494],[-0.04,-4.114],[0.42,3.904],[0.935,-0.532],[0.985,-0.361],[0,0],[0,0],[0,0],[0,0]],"v":[[31,-15.5],[-13.5,41.5],[-8,89.5],[6,90],[46.522,85.525],[61.438,75.001],[71.251,96.577],[91.432,85.489],[97.72,111.786],[122.753,116.658],[170.518,62.793],[187.094,33.028],[164.06,-23.426],[106.08,-11.904],[104.48,33.942],[85.515,33.361],[79.814,42.439],[81.921,22.045],[64.827,-14.457],[54.499,-14.678]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-4.677,11.764],[-1.163,5.562],[-19.414,27.8],[-2.375,7.842],[0.032,3.273],[-0.42,-3.904],[0.002,0.005],[-0.427,0.157],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[3.026,-7.611],[0.054,-0.261],[6.505,-9.315],[11.052,-36.494],[-0.04,-4.114],[0.42,3.904],[0.935,-0.532],[0.985,-0.361],[0,0],[0,0],[0,0],[0,0]],"v":[[31,-15.5],[-13.5,41.5],[-8,89.5],[6,90],[46.522,85.525],[61.438,75.001],[71.251,96.577],[91.432,85.489],[97.72,111.786],[122.753,116.658],[219.983,107.837],[187.094,33.028],[164.06,-23.426],[106.08,-11.904],[104.48,33.942],[85.515,33.361],[79.814,42.439],[81.921,22.045],[64.827,-14.457],[54.499,-14.678]],"c":true}]},{"t":103.75}],"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-92.43,41.943],[-92.43,29.503],[-89.412,29.503],[-89.412,19.37],[-86.393,19.37],[-86.393,16.331],[-85.89,16.331],[-85.265,9.743],[-82.75,9.743],[-83.375,16.331],[-82.369,16.331],[-82.369,15.824],[-80.86,15.824],[-80.86,16.331],[-79.854,16.331],[-79.854,24.943],[-72.811,24.943],[-72.811,30.01],[-70.296,30.01],[-70.296,31.023],[-69.793,31.023],[-69.793,30.516],[-64.763,30.516],[-64.763,33.049],[-56.211,33.049],[-56.211,27.984],[-54.199,27.984],[-54.199,25.958],[-50.678,25.958],[-50.678,25.451],[-48.665,25.451],[-48.665,25.958],[-47.156,25.958],[-47.156,28.49],[-45.647,28.49],[-45.647,35.077],[-43.635,35.077],[-43.01,-12.549],[-39.489,-12.549],[-39.489,-18.122],[-34.458,-18.122],[-34.458,-21.163],[-30.938,-21.163],[-30.938,-42.443],[-27.919,-42.443],[-27.919,-21.163],[-23.895,-21.163],[-23.895,-18.122],[-19.367,-18.122],[-19.367,-12.044],[-16.852,-12.044],[-16.852,10.251],[-6.288,10.251],[-6.913,40.65],[-5.908,40.65],[-5.908,23.93],[-5.404,23.93],[-4.779,3.663],[0.755,3.663],[0.755,-0.389],[3.774,-0.389],[3.774,2.144],[7.798,2.144],[7.798,3.663],[13.834,3.663],[13.834,33.049],[16.349,33.049],[16.349,31.023],[26.913,31.023],[26.913,-8.497],[31.441,-8.497],[31.441,-10.016],[34.458,-10.016],[34.458,-13.564],[39.489,-13.564],[39.489,-15.589],[40.997,-15.589],[40.997,-34.337],[44.017,-34.337],[44.017,-15.589],[45.525,-15.589],[45.525,-13.564],[50.557,-13.564],[50.557,-10.016],[53.574,-10.016],[53.574,-7.99],[57.599,-7.99],[57.599,3.663],[62.629,3.663],[62.629,0.118],[72.188,0.118],[72.188,1.131],[76.212,1.131],[76.212,4.171],[82.247,4.171],[82.247,3.157],[88.788,3.157],[88.788,5.691],[91.805,5.691],[91.805,42.443]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.941176474094,0.466666668653,0.184313729405,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[92.187,43.056],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":165,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":0,"nm":"melbourne_purple Outlines Comp 1","refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[100,42.5,0],"ix":2},"a":{"a":0,"k":[100,42.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":200,"h":85,"ip":0,"op":165,"st":0,"bm":0}]},{"id":"comp_1","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"melbourne_purple Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[100,42.5,0],"ix":2},"a":{"a":0,"k":[92.5,42.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-91.805,41.943],[-91.805,29.503],[-88.787,29.503],[-88.787,19.37],[-85.768,19.37],[-85.768,16.331],[-85.265,16.331],[-85.265,9.743],[-82.75,9.743],[-82.75,16.331],[-81.744,16.331],[-81.744,15.824],[-80.235,15.824],[-80.235,16.331],[-79.229,16.331],[-79.229,24.943],[-72.186,24.943],[-72.186,30.01],[-69.671,30.01],[-69.671,31.023],[-69.168,31.023],[-69.168,30.516],[-64.138,30.516],[-64.138,33.049],[-55.586,33.049],[-55.586,27.984],[-53.574,27.984],[-53.574,25.958],[-50.053,25.958],[-50.053,25.451],[-48.04,25.451],[-48.04,25.958],[-46.531,25.958],[-46.531,28.49],[-45.022,28.49],[-45.022,35.077],[-43.01,35.077],[-43.01,-12.549],[-39.489,-12.549],[-39.489,-18.122],[-34.458,-18.122],[-34.458,-21.163],[-30.938,-21.163],[-30.938,-42.443],[-27.919,-42.443],[-27.919,-21.163],[-23.895,-21.163],[-23.895,-18.122],[-19.367,-18.122],[-19.367,-12.044],[-16.852,-12.044],[-16.852,10.251],[-6.288,10.251],[-6.288,40.65],[-5.283,40.65],[-5.283,23.93],[-4.779,23.93],[-4.779,3.663],[0.755,3.663],[0.755,-0.389],[3.774,-0.389],[3.774,2.144],[7.798,2.144],[7.798,3.663],[13.834,3.663],[13.834,33.049],[16.35,33.049],[16.35,31.023],[26.913,31.023],[26.913,-8.497],[31.441,-8.497],[31.441,-10.016],[34.459,-10.016],[34.459,-13.564],[39.489,-13.564],[39.489,-15.589],[40.997,-15.589],[40.997,-34.337],[44.017,-34.337],[44.017,-15.589],[45.525,-15.589],[45.525,-13.564],[50.557,-13.564],[50.557,-10.016],[53.574,-10.016],[53.574,-7.99],[57.599,-7.99],[57.599,3.663],[62.629,3.663],[62.629,0.118],[72.188,0.118],[72.188,1.131],[76.212,1.131],[76.212,4.171],[82.247,4.171],[82.247,3.157],[88.788,3.157],[88.788,5.691],[91.805,5.691],[91.805,42.443]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.458999992819,0.372999991623,0.638999968884,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[92.187,43.056],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":165,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"melbourne","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[100,42.5,0],"ix":2},"a":{"a":0,"k":[100,42.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":200,"h":85,"ip":0,"op":165,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/mask.json b/submodules/RLottie/Sources/rlottie/example/resource/mask.json deleted file mode 100644 index 29437b7216..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/mask.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.0.6","fr":60,"ip":0,"op":30,"w":500,"h":500,"nm":"Comp 1","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":1,"nm":"Red Solid 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"s","pt":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[{"i":[[27.614,0],[0,-27.614],[-27.614,0],[0,27.614]],"o":[[-27.614,0],[0,27.614],[27.614,0],[0,-27.614]],"v":[[100,50],[50,100],[100,150],[150,100]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[50,50],[50,150],[150,150],[150,50]],"c":true}]},{"t":29}],"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"sw":200,"sh":200,"sc":"#ea0c11","ip":0,"op":30,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/material_wave_loading.json b/submodules/RLottie/Sources/rlottie/example/resource/material_wave_loading.json deleted file mode 100644 index cafcccf1eb..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/material_wave_loading.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"4.6.8","fr":29.9700012207031,"ip":0,"op":40.0000016292334,"w":256,"h":256,"nm":"Comp 1","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 3","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":20,"s":[208.6,127.969,0],"e":[208.6,88,0],"to":[0,-6.66145849227905,0],"ti":[0,-0.00520833348855,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":30,"s":[208.6,88,0],"e":[208.6,128,0],"to":[0,0.00520833348855,0],"ti":[0,-6.66666650772095,0]},{"t":40.0000016292334}]},"a":{"a":0,"k":[-70,-0.5,0]},"s":{"a":0,"k":[75,75,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[33.75,34.5]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":0,"k":[0.9843137,0.5490196,0,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-70.125,-0.5],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":0,"op":300.00001221925,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 2","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":15,"s":[168.6,128,0],"e":[168.6,88,0],"to":[0,-6.66666650772095,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":25,"s":[168.6,88,0],"e":[168.6,128,0],"to":[0,0,0],"ti":[0,-6.66666650772095,0]},{"t":35.0000014255792}]},"a":{"a":0,"k":[-70,-0.5,0]},"s":{"a":0,"k":[75,75,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[33.75,34.5]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":0,"k":[0.9921569,0.8470588,0.2078431,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-70.125,-0.5],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":0,"op":300.00001221925,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 1","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":10,"s":[128.594,127.969,0],"e":[128.594,88,0],"to":[0,-6.66145849227905,0],"ti":[0,-0.00520833348855,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":20,"s":[128.594,88,0],"e":[128.594,128,0],"to":[0,0.00520833348855,0],"ti":[0,-6.66666650772095,0]},{"t":30.0000012219251}]},"a":{"a":0,"k":[-70,-0.5,0]},"s":{"a":0,"k":[75,75,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[33.75,34.5]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":0,"k":[0.2627451,0.627451,0.2784314,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-70.125,-0.5],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":0,"op":300.00001221925,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":4,"ty":4,"nm":"Shape Layer 4","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":5,"s":[88.6,127.969,0],"e":[88.6,88,0],"to":[0,-6.66145849227905,0],"ti":[0,-0.00520833348855,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":15,"s":[88.6,88,0],"e":[88.6,128,0],"to":[0,0.00520833348855,0],"ti":[0,-6.66666650772095,0]},{"t":25.0000010182709}]},"a":{"a":0,"k":[-70,-0.5,0]},"s":{"a":0,"k":[75,75,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[33.75,34.5]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":0,"k":[0.1176471,0.5333334,0.8980392,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-70.125,-0.5],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":0,"op":300.00001221925,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":5,"ty":4,"nm":"Shape Layer 5","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":0,"s":[48.6,127.969,0],"e":[48.6,88,0],"to":[0,-6.66145849227905,0],"ti":[0,-0.00520833348855,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":10,"s":[48.6,88,0],"e":[48.6,128,0],"to":[0,0.00520833348855,0],"ti":[0,-6.66666650772095,0]},{"t":20.0000008146167}]},"a":{"a":0,"k":[-70,-0.5,0]},"s":{"a":0,"k":[75,75,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[33.75,34.5]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"fl","c":{"a":0,"k":[0.8980392,0.2235294,0.2078431,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-70.125,-0.5],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":0,"op":300.00001221925,"st":0,"bm":0,"sr":1}]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/matte_two_item_with_lowerlayer.json b/submodules/RLottie/Sources/rlottie/example/resource/matte_two_item_with_lowerlayer.json deleted file mode 100644 index 747380d96b..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/matte_two_item_with_lowerlayer.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.1.17","fr":29.9700012207031,"ip":0,"op":150.000006109625,"w":300,"h":300,"nm":"Comp 1","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 2","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[150,150,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[100,100],"ix":2},"p":{"a":0,"k":[30,30],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"sr","sy":1,"d":1,"pt":{"a":0,"k":5,"ix":3},"p":{"a":0,"k":[-42,3],"ix":4},"r":{"a":0,"k":0,"ix":5},"ir":{"a":0,"k":41,"ix":6},"is":{"a":0,"k":31,"ix":8},"or":{"a":0,"k":70,"ix":7},"os":{"a":0,"k":37,"ix":9},"ix":2,"nm":"Polystar Path 1","mn":"ADBE Vector Shape - Star","hd":false},{"ty":"fl","c":{"a":0,"k":[0.847843170166,0.072482459247,0.605201482773,1],"ix":4},"o":{"a":0,"k":65,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 1","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[150,150,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[100,100],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":150.000006109625,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[150,150,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[1,0],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[163,44.5],"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":"Rectangle 2","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[0,0.5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-182.5,76.75],"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":"Rectangle 1","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"rc","d":1,"s":{"a":0,"k":[48,48],"ix":2},"p":{"a":0,"k":[-32,25],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":150.000006109625,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/mnemonics.json b/submodules/RLottie/Sources/rlottie/example/resource/mnemonics.json deleted file mode 100644 index 5c2020b29a..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/mnemonics.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.0.0","fr":25,"ip":0,"op":101,"w":1080,"h":1080,"nm":"mnemonics","ddd":1,"assets":[{"id":"comp_15","layers":[{"ddd":1,"ind":1,"ty":4,"nm":"pink circle","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"rx":{"a":0,"k":0,"ix":8},"ry":{"a":0,"k":-7,"ix":9},"rz":{"a":0,"k":0,"ix":10},"or":{"a":0,"k":[0,0,0],"ix":7},"p":{"a":0,"k":[933.891,385.891,0],"ix":2,"x":"var $bm_rt;\nvar l;\nl = thisComp.layer('pink line.Point1');\nvar point = thisComp.layer('pink line.Point1').content('Simple Path').content('Path 1').path.pointOnPath(div(thisComp.layer('pink line.Point1').content('Point Trim').offset, 360));\n$bm_rt = hasParent ? parent.fromComp(l.toComp(point)) : l.toComp(point);"},"a":{"a":0,"k":[-33.109,-122.109,0],"ix":1},"s":{"a":0,"k":[61,61,61],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Wayfinder Follower","np":4,"mn":"Pseudo/WayfinderFollower","ix":1,"en":1,"ef":[{"ty":0,"nm":"Position","mn":"Pseudo/WayfinderFollower-0001","ix":1,"v":{"a":1,"k":[{"i":{"x":[0.502],"y":[1]},"o":{"x":[0.503],"y":[0]},"n":["0p502_1_0p503_0"],"t":0,"s":[97],"e":[3]},{"i":{"x":[0.502],"y":[1]},"o":{"x":[0.495],"y":[0]},"n":["0p502_1_0p495_0"],"t":50,"s":[3],"e":[97]},{"t":100}],"ix":1}},{"ty":0,"nm":"Offset","mn":"Pseudo/WayfinderFollower-0002","ix":2,"v":{"a":0,"k":0,"ix":2}}]}],"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[49.781,49.781],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.98431372549,0.721568627451,0.756862745098,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":22.1,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[-33.109,-122.109],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":226,"st":0,"bm":0},{"ddd":1,"ind":2,"ty":4,"nm":"pink line","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"rx":{"a":0,"k":0,"ix":8},"ry":{"a":0,"k":0,"ix":9},"rz":{"a":1,"k":[{"i":{"x":[0.5],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p5_1_0p333_0"],"t":0,"s":[-10],"e":[10]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.498],"y":[0]},"n":["0p667_1_0p498_0"],"t":50,"s":[10],"e":[-10]},{"t":100}],"ix":10},"or":{"a":0,"k":[0,0,0],"ix":7},"p":{"a":0,"k":[540,540,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Wayfinder Leader","np":5,"mn":"Pseudo/WayfinderLeader","ix":1,"en":1,"ef":[{"ty":0,"nm":"Start","mn":"Pseudo/WayfinderLeader-0001","ix":1,"v":{"a":0,"k":0,"ix":1}},{"ty":0,"nm":"End","mn":"Pseudo/WayfinderLeader-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset","mn":"Pseudo/WayfinderLeader-0003","ix":3,"v":{"a":0,"k":0,"ix":3}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-100,0],[-100,0],[-100,0],[-100,0]],"o":[[100,0],[100,0],[100,0],[100,0],[0,0]],"v":[[-400,-25],[-200,25],[0,-25],[200,25],[400,-25]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.941176470588,0.486274509804,0.521568627451,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Simple Path","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1,"x":"var $bm_rt;\n$bm_rt = effect('Wayfinder Leader')(1).value;"},"e":{"a":0,"k":100,"ix":2,"x":"var $bm_rt;\n$bm_rt = effect('Wayfinder Leader')(2).value;"},"o":{"a":0,"k":0,"ix":3,"x":"var $bm_rt;\n$bm_rt = effect('Wayfinder Leader')(3).value;"},"m":2,"ix":2,"nm":"Main Path Trim","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":226,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"pink line.Point1","cl":"Point1","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-100,0],[-100,0],[-100,0],[-100,0]],"o":[[100,0],[100,0],[100,0],[100,0],[0,0]],"v":[[-400,-25],[-200,25],[0,-25],[200,25],[400,-25]],"c":false},"ix":2,"x":"var $bm_rt;\n$bm_rt = parent.content('Simple Path')('Contents')('Path 1')('Path');"},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\n$bm_rt = parent.content('Simple Path')('Transform')('Position');"},"a":{"a":0,"k":[0,0],"ix":1,"x":"var $bm_rt;\n$bm_rt = parent.content('Simple Path')('Transform')('Anchor Point');"},"s":{"a":0,"k":[100,100],"ix":3,"x":"var $bm_rt;\n$bm_rt = parent.content('Simple Path')('Transform')('Scale');"},"r":{"a":0,"k":0,"ix":6,"x":"var $bm_rt;\n$bm_rt = parent.content('Simple Path')('Transform')('Rotation');"},"o":{"a":0,"k":100,"ix":7,"x":"var $bm_rt;\n$bm_rt = parent.content('Simple Path')('Transform')('Opacity');"},"sk":{"a":0,"k":0,"ix":4,"x":"var $bm_rt;\n$bm_rt = parent.content('Simple Path')('Transform')('Skew');"},"sa":{"a":0,"k":0,"ix":5,"x":"var $bm_rt;\n$bm_rt = parent.content('Simple Path')('Transform')('Skew Axis');"},"nm":"Transform"}],"nm":"Simple Path","np":1,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":100,"ix":2,"x":"var $bm_rt;\n$bm_rt = 0.0001;"},"o":{"a":0,"k":0,"ix":3,"x":"var $bm_rt;\nvar mainTrim, start, end, pos, offset, trim, pointOffset, pointOffset, point;\nmainTrim = parent.content('Main Path Trim');\nstart = mainTrim.start;\nend = mainTrim.end;\npos = thisComp.layer('pink circle').effect('Wayfinder Follower')(1);\noffset = mainTrim.offset;\ntrim = sub(360, mul(thisProperty.propertyGroup(1).end, 3.6));\npointOffset = thisComp.layer('pink circle').effect('Wayfinder Follower')(2);\nif (pointOffset < 0)\n pointOffset = sub(360, mod(Math.abs(pointOffset), 360));\npoint = mod(sum(mul(div(pos, 100), trim), pointOffset), 360);\n$bm_rt = sum(linear(point, 0, 360, mul(div(start, 100), 360), mul(div(end, 100), trim)), offset);"},"m":2,"ix":3,"nm":"Point Trim","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":226,"st":0,"bm":0}]},{"id":"comp_16","layers":[{"ddd":1,"ind":1,"ty":4,"nm":"purple line","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"rx":{"a":0,"k":0,"ix":8},"ry":{"a":0,"k":0,"ix":9},"rz":{"a":1,"k":[{"i":{"x":[0.503],"y":[1]},"o":{"x":[0.496],"y":[0]},"n":["0p503_1_0p496_0"],"t":0,"s":[10],"e":[-10]},{"i":{"x":[0.497],"y":[1]},"o":{"x":[0.495],"y":[0]},"n":["0p497_1_0p495_0"],"t":50,"s":[-10],"e":[10]},{"t":100}],"ix":10},"or":{"a":0,"k":[0,0,0],"ix":7},"p":{"a":0,"k":[540,540,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Wayfinder Leader","np":5,"mn":"Pseudo/WayfinderLeader","ix":1,"en":1,"ef":[{"ty":0,"nm":"Start","mn":"Pseudo/WayfinderLeader-0001","ix":1,"v":{"a":0,"k":0,"ix":1}},{"ty":0,"nm":"End","mn":"Pseudo/WayfinderLeader-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset","mn":"Pseudo/WayfinderLeader-0003","ix":3,"v":{"a":0,"k":0,"ix":3}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-57.143,0],[-57.143,0],[-57.143,0],[-57.143,0],[-57.143,0],[-57.143,0],[-57.143,0]],"o":[[57.143,0],[57.143,0],[57.143,0],[57.143,0],[57.143,0],[57.143,0],[57.143,0],[0,0]],"v":[[-400,-25],[-285.714,25],[-171.429,-25],[-57.143,25],[57.143,-25],[171.429,25],[285.714,-25],[400,25]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.470588235294,0.356862745098,0.654901960784,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":15,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Simple Path","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1,"x":"var $bm_rt;\n$bm_rt = effect('Wayfinder Leader')(1).value;"},"e":{"a":0,"k":100,"ix":2,"x":"var $bm_rt;\n$bm_rt = effect('Wayfinder Leader')(2).value;"},"o":{"a":0,"k":0,"ix":3,"x":"var $bm_rt;\n$bm_rt = effect('Wayfinder Leader')(3).value;"},"m":2,"ix":2,"nm":"Main Path Trim","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":226,"st":0,"bm":0},{"ddd":1,"ind":2,"ty":4,"nm":"small purple circle","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"rx":{"a":0,"k":0,"ix":8},"ry":{"a":0,"k":-2,"ix":9},"rz":{"a":0,"k":0,"ix":10},"or":{"a":0,"k":[0,0,0],"ix":7},"p":{"a":0,"k":[138.573,471.552,0],"ix":2,"x":"var $bm_rt;\nvar l;\nl = thisComp.layer('purple line.Point1');\nvar point = thisComp.layer('purple line.Point1').content('Simple Path').content('Path 1').path.pointOnPath(div(thisComp.layer('purple line.Point1').content('Point Trim').offset, 360));\n$bm_rt = hasParent ? parent.fromComp(l.toComp(point)) : l.toComp(point);"},"a":{"a":0,"k":[106.148,-378.979,0],"ix":1},"s":{"a":0,"k":[127.821,127.821,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Wayfinder Follower","np":4,"mn":"Pseudo/WayfinderFollower","ix":1,"en":1,"ef":[{"ty":0,"nm":"Position","mn":"Pseudo/WayfinderFollower-0001","ix":1,"v":{"a":1,"k":[{"i":{"x":[0.485],"y":[1]},"o":{"x":[0.495],"y":[0]},"n":["0p485_1_0p495_0"],"t":0,"s":[3],"e":[97]},{"i":{"x":[0.503],"y":[1]},"o":{"x":[0.508],"y":[0]},"n":["0p503_1_0p508_0"],"t":50,"s":[97],"e":[3]},{"t":100}],"ix":1}},{"ty":0,"nm":"Offset","mn":"Pseudo/WayfinderFollower-0002","ix":2,"v":{"a":0,"k":0,"ix":2}}]}],"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[32.712,32.712],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.741176470588,0.682352941176,0.803921568627,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[106.148,-378.979],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":226,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"purple line.Point1","cl":"Point1","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-57.143,0],[-57.143,0],[-57.143,0],[-57.143,0],[-57.143,0],[-57.143,0],[-57.143,0]],"o":[[57.143,0],[57.143,0],[57.143,0],[57.143,0],[57.143,0],[57.143,0],[57.143,0],[0,0]],"v":[[-400,-25],[-285.714,25],[-171.429,-25],[-57.143,25],[57.143,-25],[171.429,25],[285.714,-25],[400,25]],"c":false},"ix":2,"x":"var $bm_rt;\n$bm_rt = parent.content('Simple Path')('Contents')('Path 1')('Path');"},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[1.345,81.745],"ix":2,"x":"var $bm_rt;\n$bm_rt = parent.content('Simple Path')('Transform')('Position');"},"a":{"a":0,"k":[0,0],"ix":1,"x":"var $bm_rt;\n$bm_rt = parent.content('Simple Path')('Transform')('Anchor Point');"},"s":{"a":0,"k":[100,100],"ix":3,"x":"var $bm_rt;\n$bm_rt = parent.content('Simple Path')('Transform')('Scale');"},"r":{"a":0,"k":0,"ix":6,"x":"var $bm_rt;\n$bm_rt = parent.content('Simple Path')('Transform')('Rotation');"},"o":{"a":0,"k":100,"ix":7,"x":"var $bm_rt;\n$bm_rt = parent.content('Simple Path')('Transform')('Opacity');"},"sk":{"a":0,"k":0,"ix":4,"x":"var $bm_rt;\n$bm_rt = parent.content('Simple Path')('Transform')('Skew');"},"sa":{"a":0,"k":0,"ix":5,"x":"var $bm_rt;\n$bm_rt = parent.content('Simple Path')('Transform')('Skew Axis');"},"nm":"Transform"}],"nm":"Simple Path","np":1,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":100,"ix":2,"x":"var $bm_rt;\n$bm_rt = 0.0001;"},"o":{"a":0,"k":0,"ix":3,"x":"var $bm_rt;\nvar mainTrim, start, end, pos, offset, trim, pointOffset, pointOffset, point;\nmainTrim = parent.content('Main Path Trim');\nstart = mainTrim.start;\nend = mainTrim.end;\npos = thisComp.layer('small purple circle').effect('Wayfinder Follower')(1);\noffset = mainTrim.offset;\ntrim = sub(360, mul(thisProperty.propertyGroup(1).end, 3.6));\npointOffset = thisComp.layer('small purple circle').effect('Wayfinder Follower')(2);\nif (pointOffset < 0)\n pointOffset = sub(360, mod(Math.abs(pointOffset), 360));\npoint = mod(sum(mul(div(pos, 100), trim), pointOffset), 360);\n$bm_rt = sum(linear(point, 0, 360, mul(div(start, 100), 360), mul(div(end, 100), trim)), offset);"},"m":2,"ix":3,"nm":"Point Trim","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":226,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"NULL CONTROL","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[540,541,0],"ix":2},"a":{"a":0,"k":[60,60,0],"ix":1},"s":{"a":0,"k":[76,76,100],"ix":6}},"ao":0,"ip":0,"op":101,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"centre yellow circle","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[540,540,0],"ix":2},"a":{"a":0,"k":[-411.797,-229.797,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.234,0.234,0.667],"y":[0.954,0.954,1]},"o":{"x":[0.125,0.125,0.333],"y":[0.419,0.419,0]},"n":["0p234_0p954_0p125_0p419","0p234_0p954_0p125_0p419","0p667_1_0p333_0"],"t":24,"s":[100,100,100],"e":[127.4,127.4,100]},{"i":{"x":[0.552,0.552,0.667],"y":[0.914,0.914,1]},"o":{"x":[0.456,0.456,0.333],"y":[-0.096,-0.096,0]},"n":["0p552_0p914_0p456_-0p096","0p552_0p914_0p456_-0p096","0p667_1_0p333_0"],"t":26,"s":[127.4,127.4,100],"e":[96,96,100]},{"i":{"x":[0.198,0.198,0.667],"y":[1,1,1]},"o":{"x":[0.358,0.358,0.167],"y":[-0.128,-0.128,0]},"n":["0p198_1_0p358_-0p128","0p198_1_0p358_-0p128","0p667_1_0p167_0"],"t":34,"s":[96,96,100],"e":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"n":["0p667_1_0p167_0","0p667_1_0p167_0","0p667_1_0p167_0"],"t":38,"s":[100,100,100],"e":[100,100,100]},{"i":{"x":[0.234,0.234,0.667],"y":[0.954,0.954,1]},"o":{"x":[0.125,0.125,0.333],"y":[0.419,0.419,0]},"n":["0p234_0p954_0p125_0p419","0p234_0p954_0p125_0p419","0p667_1_0p333_0"],"t":74,"s":[100,100,100],"e":[127.4,127.4,100]},{"i":{"x":[0.552,0.552,0.667],"y":[0.914,0.914,1]},"o":{"x":[0.456,0.456,0.333],"y":[-0.096,-0.096,0]},"n":["0p552_0p914_0p456_-0p096","0p552_0p914_0p456_-0p096","0p667_1_0p333_0"],"t":76,"s":[127.4,127.4,100],"e":[96,96,100]},{"i":{"x":[0.198,0.198,0.667],"y":[1,1,1]},"o":{"x":[0.358,0.358,0.167],"y":[-0.128,-0.128,0]},"n":["0p198_1_0p358_-0p128","0p198_1_0p358_-0p128","0p667_1_0p167_0"],"t":84,"s":[96,96,100],"e":[100,100,100]},{"t":88}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-12.262,0],[0,-12.262],[12.262,0],[0,12.262]],"o":[[12.262,0],[0,12.262],[-12.262,0],[0,-12.262]],"v":[[0,-22.203],[22.203,0],[0,22.203],[-22.203,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[-411.797,-229.797],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.988235294819,0.929411768913,0.35686275363,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":101,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"large circle R","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[60,59,0],"ix":2},"a":{"a":0,"k":[41.106,-37.462,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[398.419,-356.462],[39.106,-356.462],[39.106,302.245],[398.419,302.245]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"ef":[{"ty":5,"nm":"Wayfinder Leader","np":5,"mn":"Pseudo/WayfinderLeader","ix":1,"en":1,"ef":[{"ty":0,"nm":"Start","mn":"Pseudo/WayfinderLeader-0001","ix":1,"v":{"a":0,"k":0,"ix":1}},{"ty":0,"nm":"End","mn":"Pseudo/WayfinderLeader-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset","mn":"Pseudo/WayfinderLeader-0003","ix":3,"v":{"a":0,"k":0,"ix":3}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-153.567,0],[0,-153.567],[153.567,0],[0,153.567]],"o":[[153.567,0],[0,153.567],[-153.567,0],[0,-153.567]],"v":[[0,-278.058],[278.058,0],[0,278.058],[-278.058,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.629320750517,0.552072622262,0.71171875,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":30,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[41.106,-37.462],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1,"x":"var $bm_rt;\n$bm_rt = effect('Wayfinder Leader')(1).value;"},"e":{"a":0,"k":100,"ix":2,"x":"var $bm_rt;\n$bm_rt = effect('Wayfinder Leader')(2).value;"},"o":{"a":0,"k":0,"ix":3,"x":"var $bm_rt;\n$bm_rt = effect('Wayfinder Leader')(3).value;"},"m":2,"ix":2,"nm":"Main Path Trim","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":101,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":0,"nm":"pink line & circle","parent":1,"refId":"comp_15","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[58.026,82.711,0],"ix":2},"a":{"a":0,"k":[540,540,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":1080,"h":1080,"ip":0,"op":101,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":0,"nm":"purple line and circle","parent":1,"refId":"comp_16","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[52.105,65.921,0],"ix":2},"a":{"a":0,"k":[540,540,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":1080,"h":1080,"ip":0,"op":101,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"large circle L","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[60,59,0],"ix":2},"a":{"a":0,"k":[41.106,-37.462,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[42.419,-356.462],[-316.894,-356.462],[-316.894,302.245],[42.419,302.245]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[556.115,556.115],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.629320750517,0.552072622262,0.71171875,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":30,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[41.106,-37.462],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":101,"st":0,"bm":0}]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/movie_loading.json b/submodules/RLottie/Sources/rlottie/example/resource/movie_loading.json deleted file mode 100644 index 93990ccce6..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/movie_loading.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.1.1","fr":29.9700012207031,"ip":0,"op":150.000006109625,"w":100,"h":100,"nm":"Comp 1","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 12","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"n":["0p833_0p833_0p333_0"],"t":0,"s":[287.27],"e":[646.501]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":48,"s":[646.501],"e":[1006.517]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":79,"s":[1006.517],"e":[1366.011]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":109,"s":[1366.011],"e":[1725.391]},{"t":149.000006068894}],"ix":10},"p":{"a":0,"k":[49.123,50.123,0],"ix":2},"a":{"a":0,"k":[-17.377,-13.377,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[78.246,78.246],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1.623,-1.377],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[25.928,25.928],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":163.000006639126,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 11","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"n":["0p833_0p833_0p333_0"],"t":0,"s":[214.668],"e":[574.301]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":48,"s":[574.301],"e":[935.271]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":79,"s":[935.271],"e":[1295.556]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":109,"s":[1295.556],"e":[1655.136]},{"t":149.000006068894}],"ix":10},"p":{"a":0,"k":[49.123,50.123,0],"ix":2},"a":{"a":0,"k":[-17.377,-13.377,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[78.246,78.246],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1.623,-1.377],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[25.928,25.928],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":163.000006639126,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 10","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"n":["0p833_0p833_0p333_0"],"t":0,"s":[143.536],"e":[503.692]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":48,"s":[503.692],"e":[863.287]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":79,"s":[863.287],"e":[1223.296]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":109,"s":[1223.296],"e":[1582.854]},{"t":149.000006068894}],"ix":10},"p":{"a":0,"k":[49.123,50.123,0],"ix":2},"a":{"a":0,"k":[-17.377,-13.377,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[78.246,78.246],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1.623,-1.377],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[25.928,25.928],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":163.000006639126,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Shape Layer 9","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"n":["0p833_0p833_0p333_0"],"t":0,"s":[70.817],"e":[430.711]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":48,"s":[430.711],"e":[791.651]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":79,"s":[791.651],"e":[1150.155]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":109,"s":[1150.155],"e":[1510.652]},{"t":149.000006068894}],"ix":10},"p":{"a":0,"k":[49.123,50.123,0],"ix":2},"a":{"a":0,"k":[-17.377,-13.377,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[78.246,78.246],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1.623,-1.377],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[25.928,25.928],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":163.000006639126,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Shape Layer 5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"n":["0p833_0p833_0p333_0"],"t":0,"s":[0],"e":[360]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":48,"s":[360],"e":[720]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":79,"s":[720],"e":[1080]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":109,"s":[1080],"e":[1440]},{"t":149.000006068894}],"ix":10},"p":{"a":0,"k":[49.123,50.123,0],"ix":2},"a":{"a":0,"k":[-17.377,-13.377,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[78.246,78.246],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1.623,-1.377],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[25.928,25.928],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":163.000006639126,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Shape Layer 7","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[49.373,50.123,0],"ix":2},"a":{"a":0,"k":[1.623,-1.377,0],"ix":1},"s":{"a":0,"k":[45.779,45.779,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[78.246,78.246],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1.623,-1.377],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[25.928,25.928],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":167.000006802049,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[49.123,50.623,0],"ix":2},"a":{"a":0,"k":[1.623,-1.377,0],"ix":1},"s":{"a":0,"k":[101.278,101.278,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[78.246,78.246],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1.623,-1.377],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":162.000006598395,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"Shape Layer 8","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[50,50,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[34.906,4.721],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[23.498,36.876],"ix":2},"a":{"a":0,"k":[0.344,0.2],"ix":1},"s":{"a":0,"k":[100,92.67],"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":"Rectangle 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":167.000006802049,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/mughead.json b/submodules/RLottie/Sources/rlottie/example/resource/mughead.json deleted file mode 100644 index ffbb6e0ec6..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/mughead.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"4.10.2","fr":12,"ip":0,"op":6,"w":800,"h":600,"nm":"Mughead","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"head tip","parent":13,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,-17,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.51,"y":1},"o":{"x":0.49,"y":0},"n":"0p51_1_0p49_0","t":0,"s":[{"i":[[101.998,-0.478],[0,0],[-55.505,1.557],[0,0]],"o":[[-101.998,0.478],[0,0],[55.505,-1.557],[0,0]],"v":[[4.002,-70.022],[-121,-64],[2.495,-70.943],[123,-62]],"c":true}],"e":[{"i":[[101.998,-0.478],[5.5,-3],[-55.505,1.557],[-1.5,2.75]],"o":[[-101.998,0.478],[-5.5,3],[55.505,-1.557],[1.5,-2.75]],"v":[[7.002,-70.522],[-121,-64],[6.995,-60.693],[123,-63.25]],"c":true}]},{"i":{"x":0.51,"y":1},"o":{"x":0.49,"y":0},"n":"0p51_1_0p49_0","t":3,"s":[{"i":[[101.998,-0.478],[5.5,-3],[-55.505,1.557],[-1.5,2.75]],"o":[[-101.998,0.478],[-5.5,3],[55.505,-1.557],[1.5,-2.75]],"v":[[7.002,-70.522],[-121,-64],[6.995,-60.693],[123,-63.25]],"c":true}],"e":[{"i":[[101.998,-0.478],[0,0],[-55.505,1.557],[0,0]],"o":[[-101.998,0.478],[0,0],[55.505,-1.557],[0,0]],"v":[[4.002,-70.022],[-121,-64],[2.495,-70.943],[123,-62]],"c":true}]},{"t":6}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.121568627451,0.121568627451,0.121568627451,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.121568627451,0.121568627451,0.121568627451,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":2520,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Hose 2::Wrist","hd":true,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10,"x":"var $bm_rt;\ntry {\n var parentRot = hasParent ? parentTotal() : 0;\n var rotCalc = sub(thisLayer('ADBE Root Vectors Group')('Admin')('Transform')('Rotation'), parentRot);\n $bm_rt = sum(rotCalc, value);\n} catch (err) {\n $bm_rt = value;\n}\n;\nfunction parentTotal() {\n var parentVal = 0;\n var layerChain = 'thisLayer';\n while (eval([layerChain][0]).hasParent) {\n layerChain += '.parent';\n parentVal += eval([layerChain][0]).rotation;\n }\n return parentVal;\n}"},"p":{"a":1,"k":[{"i":{"x":0.49,"y":1},"o":{"x":0.37,"y":0},"n":"0p49_1_0p37_0","t":0,"s":[288,409,0],"e":[321,415,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.49,"y":1},"o":{"x":0.37,"y":0},"n":"0p49_1_0p37_0","t":3,"s":[321,415,0],"e":[288,409,0],"to":[0,0,0],"ti":[0,0,0]},{"t":6}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6,"x":"var $bm_rt;\n$bm_rt = [\n 100,\n 100\n];"}},"ao":0,"ef":[{"ty":5,"nm":"RubberHose 2","np":18,"mn":"Pseudo/3bf5uID/RubberHose_2","ix":1,"en":1,"ef":[{"ty":0,"nm":"Hose Length","mn":"Pseudo/3bf5uID/RubberHose_2-0001","ix":1,"v":{"a":0,"k":220,"ix":1}},{"ty":0,"nm":"Bend Radius","mn":"Pseudo/3bf5uID/RubberHose_2-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Realism","mn":"Pseudo/3bf5uID/RubberHose_2-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Bend Direction","mn":"Pseudo/3bf5uID/RubberHose_2-0004","ix":4,"v":{"a":0,"k":-100,"ix":4}},{"ty":7,"nm":"Auto Rotate Start","mn":"Pseudo/3bf5uID/RubberHose_2-0005","ix":5,"v":{"a":0,"k":0,"ix":5}},{"ty":7,"nm":"Auto Rotate End","mn":"Pseudo/3bf5uID/RubberHose_2-0006","ix":6,"v":{"a":0,"k":1,"ix":6}},{"ty":6,"nm":"Math Stuff","mn":"Pseudo/3bf5uID/RubberHose_2-0007","ix":7,"v":0},{"ty":3,"nm":"A","mn":"Pseudo/3bf5uID/RubberHose_2-0008","ix":8,"v":{"a":0,"k":[44,38],"ix":8,"x":"var $bm_rt;\n$bm_rt = thisLayer.toComp([\n 0,\n 0,\n 0\n]);"}},{"ty":3,"nm":"B","mn":"Pseudo/3bf5uID/RubberHose_2-0009","ix":9,"v":{"a":0,"k":[0,0],"ix":9,"x":"var $bm_rt;\ntry {\n var b = thisLayer(2)('Admin')(2)('B')(2)(1)._name;\n $bm_rt = thisComp.layer(b).toComp([\n 0,\n 0,\n 0\n ]);\n} catch (err) {\n $bm_rt = value;\n}"}},{"ty":0,"nm":"Outer Radius","mn":"Pseudo/3bf5uID/RubberHose_2-0010","ix":10,"v":{"a":0,"k":0,"ix":10,"x":"var $bm_rt;\nvar a = thisLayer(4)('RubberHose 2')('A');\nvar b = thisLayer(4)('RubberHose 2')('B');\nvar s = length(a, b);\n$bm_rt = mul(Math.sin(0.78539816339), s);"}},{"ty":0,"nm":"Inner Radius","mn":"Pseudo/3bf5uID/RubberHose_2-0011","ix":11,"v":{"a":0,"k":0,"ix":11,"x":"var $bm_rt;\nvar eff = thisLayer(4)('RubberHose 2');\nvar bendRad = eff('Bend Radius');\nvar hoseLength = div(eff('Hose Length'), 2);\nvar realism = eff('Realism');\nvar bendDir = div(eff('Bend Direction'), 100);\nvar sFac = eff('Parent Scale');\nvar straight = eff('Straight');\nvar autoFlop = eff('AutoFlop');\nvar roundShrink = linear(Math.abs(bendRad), 0, 100, 1, 0.87);\nvar innerRad;\nif (hoseLength > straight) {\n innerRad = sum(straight, mul(Math.sqrt(sub(Math.pow(hoseLength, 2), Math.pow(straight, 2))), roundShrink));\n innerRad = linear(realism, 0, 100, hoseLength, innerRad);\n innerRad = linear(Math.abs(bendDir), straight, innerRad);\n} else {\n innerRad = straight;\n}\ninnerRad *= Math.abs(sFac);\ninnerRad = linear(Math.abs(autoFlop), mul(straight, Math.max(Math.abs(sFac), 0.001)), innerRad);\n$bm_rt = innerRad;"}},{"ty":0,"nm":"Straight","mn":"Pseudo/3bf5uID/RubberHose_2-0012","ix":12,"v":{"a":0,"k":0,"ix":12,"x":"var $bm_rt;\nvar sFac = thisLayer(4)('RubberHose 2')('Parent Scale');\nvar outerRad = div(thisLayer(4)('RubberHose 2')('Outer Radius'), Math.max(Math.abs(sFac), 0.001));\n;\n$bm_rt = div(mul(1.4142135623731, outerRad), 2);"}},{"ty":0,"nm":"Base Rotation","mn":"Pseudo/3bf5uID/RubberHose_2-0013","ix":13,"v":{"a":0,"k":0,"ix":13,"x":"var $bm_rt;\nvar a = thisLayer(4)('RubberHose 2')('A');\nvar b = thisLayer(4)('RubberHose 2')('B');\n$bm_rt = radiansToDegrees(Math.atan2(sub(a[1], b[1]), sub(a[0], b[0])));"}},{"ty":0,"nm":"AutoFlop","mn":"Pseudo/3bf5uID/RubberHose_2-0014","ix":14,"v":{"a":0,"k":0,"ix":14,"x":"var $bm_rt;\nvar hasAF = false, isEnabled = false, output;\ntry {\n var lyrAF = thisComp.layer(sum(thisLayer._name.split('::')[0], '::AutoFlop'));\n isEnabled = lyrAF(4)('Enable')(1);\n var falloffAngle = lyrAF(4)('Falloff')(1);\n hasAF = true;\n var a = thisLayer.toComp([\n 0,\n 0,\n 0\n ]);\n var b = thisLayer(4)('RubberHose 2')('B');\n} catch (e) {\n}\nif (hasAF && isEnabled == 1) {\n var threshRot = lyrAF('ADBE Transform Group')('ADBE Rotate Z');\n threshRot %= 360;\n var ctrlAngle = $bm_neg(radiansToDegrees(Math.atan2(sub(b[0], a[0]), sub(b[1], a[1]))));\n var offsetAngle = sub(threshRot, ctrlAngle);\n offsetAngle %= 360;\n var sign = offsetAngle > 0 && offsetAngle < 180 || offsetAngle < -180 ? -1 : 1;\n var absAngle = Math.abs(offsetAngle);\n if (absAngle > 90) {\n absAngle = Math.abs(sub(absAngle, 180));\n }\n if (absAngle > 90) {\n absAngle = Math.abs(sub(absAngle, 180));\n }\n output = linear(absAngle, 0, falloffAngle, 0, 1);\n output *= sign;\n} else {\n output = 1;\n}\n$bm_rt = output;\nfunction parentTotal() {\n var parentVal = 0;\n var layerChain = 'thisLayer';\n while (eval([layerChain][0]).hasParent) {\n layerChain += '.parent';\n parentVal += eval([layerChain][0]).rotation;\n }\n return parentVal;\n}"}},{"ty":0,"nm":"Parent Scale","mn":"Pseudo/3bf5uID/RubberHose_2-0015","ix":15,"v":{"a":0,"k":0,"ix":15,"x":"var $bm_rt;\nvar sFactor = 1;\nvar scaleNorm = 0;\nvar layerChain = 'thisLayer';\nwhile (eval([layerChain][0]).hasParent) {\n layerChain += '.parent';\n scaleNorm = div(eval(layerChain)('ADBE Transform Group')('ADBE Scale')[0], 100);\n sFactor = mul(sFactor, scaleNorm);\n}\n$bm_rt = sFactor;"}},{"ty":6,"nm":"","mn":"Pseudo/3bf5uID/RubberHose_2-0016","ix":16,"v":0}]}],"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Hose 2::Wrist","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[135,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":"A","np":1,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[20,20],"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":"Hose 2::Shoulder","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"B","np":1,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"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":"2.04","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false,"cl":"04"},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Version","np":1,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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,"x":"var $bm_rt;\nvar eff = thisLayer(4)('RubberHose 2');\nvar autoRotate = eff('Auto Rotate End');\nif (autoRotate == 1) {\n var a = thisLayer.toComp([\n 0,\n 0,\n 0\n ]);\n var b = eff('B');\n var s = length(a, b);\n var sFac = eff('Parent Scale');\n var autoFlop = 1;\n var realism = eff('Realism');\n var bendDir = div(eff('Bend Direction'), 100);\n var hoseLength = div(eff('Hose Length'), 2);\n var bendRad = eff('Bend Radius');\n var autoFlop = eff('AutoFlop');\n var baseRot = $bm_neg(radiansToDegrees(Math.atan2(sub(b[0], a[0]), sub(b[1], a[1]))));\n var outerRad = mul(Math.sin(0.78539816339), s);\n var straight = div(mul(1.4142135623731, outerRad), 2);\n straight /= Math.max(Math.abs(sFac), 0.001);\n var roundShrink = linear(Math.abs(bendRad), 0, 100, 1, 0.87);\n var innerRad;\n if (hoseLength > straight) {\n innerRad = sum(straight, mul(Math.sqrt(sub(Math.pow(hoseLength, 2), Math.pow(straight, 2))), roundShrink));\n innerRad = linear(realism, 0, 100, hoseLength, innerRad);\n innerRad = linear(Math.abs(bendDir), straight, innerRad);\n } else {\n innerRad = straight;\n }\n innerRad = linear(Math.abs(autoFlop), straight, innerRad);\n var flopDir = 1;\n if (bendDir < 0) {\n flopDir = -1;\n }\n flopDir *= autoFlop;\n var opp = mul(sub(innerRad, straight), flopDir);\n var theta = Math.atan(div(opp, Math.max(straight, 0.001)));\n var bendAngle = radiansToDegrees(theta);\n if (sFac < 0) {\n baseRot *= -1;\n }\n bendRad *= div(div(theta, $bm_neg(Math.PI)), linear(s, hoseLength, 0, 2, 0.9));\n var rotCalc = sub(sum(baseRot, bendAngle), bendRad);\n $bm_rt = rotCalc;\n} else {\n $bm_rt = value;\n}\n;"},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Admin","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[100,100],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Circle","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-75,0],[75,0]],"c":false},"ix":2},"nm":"01","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0,-30],[0,30]],"c":false},"ix":2},"nm":"02","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[20,20],"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":"ControlShape","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,0.560000002384,0,1],"ix":3,"x":"var $bm_rt;\nif (thisLayer.active) {\n try {\n var eff = thisLayer(4)('RubberHose 2');\n var a = thisLayer.toComp([\n 0,\n 0,\n 0\n ]);\n var b = eff('B');\n var straight = eff('Straight');\n var hoseLength = div(eff('Hose Length'), 2);\n if (straight > hoseLength) {\n $bm_rt = [\n 0.51,\n 0.83,\n 0.98,\n 1\n ];\n } else {\n $bm_rt = value;\n }\n } catch (err) {\n $bm_rt = value;\n }\n} else {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\n$bm_rt = [\n 0,\n 0\n];"},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3,"x":"var $bm_rt;\n$bm_rt = [\n 100,\n 100\n];"},"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":"Control Point","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":2520,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Hose 1::Wrist","hd":true,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10,"x":"var $bm_rt;\ntry {\n var parentRot = hasParent ? parentTotal() : 0;\n var rotCalc = sub(thisLayer('ADBE Root Vectors Group')('Admin')('Transform')('Rotation'), parentRot);\n $bm_rt = sum(rotCalc, value);\n} catch (err) {\n $bm_rt = value;\n}\n;\nfunction parentTotal() {\n var parentVal = 0;\n var layerChain = 'thisLayer';\n while (eval([layerChain][0]).hasParent) {\n layerChain += '.parent';\n parentVal += eval([layerChain][0]).rotation;\n }\n return parentVal;\n}"},"p":{"a":1,"k":[{"i":{"x":0.49,"y":1},"o":{"x":0.37,"y":0},"n":"0p49_1_0p37_0","t":0,"s":[522,410,0],"e":[487,420,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.49,"y":1},"o":{"x":0.37,"y":0},"n":"0p49_1_0p37_0","t":3,"s":[487,420,0],"e":[522,410,0],"to":[0,0,0],"ti":[0,0,0]},{"t":6}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6,"x":"var $bm_rt;\n$bm_rt = [\n 100,\n 100\n];"}},"ao":0,"ef":[{"ty":5,"nm":"RubberHose 2","np":18,"mn":"Pseudo/3bf5uID/RubberHose_2","ix":1,"en":1,"ef":[{"ty":0,"nm":"Hose Length","mn":"Pseudo/3bf5uID/RubberHose_2-0001","ix":1,"v":{"a":0,"k":220,"ix":1}},{"ty":0,"nm":"Bend Radius","mn":"Pseudo/3bf5uID/RubberHose_2-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Realism","mn":"Pseudo/3bf5uID/RubberHose_2-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Bend Direction","mn":"Pseudo/3bf5uID/RubberHose_2-0004","ix":4,"v":{"a":0,"k":100,"ix":4}},{"ty":7,"nm":"Auto Rotate Start","mn":"Pseudo/3bf5uID/RubberHose_2-0005","ix":5,"v":{"a":0,"k":0,"ix":5}},{"ty":7,"nm":"Auto Rotate End","mn":"Pseudo/3bf5uID/RubberHose_2-0006","ix":6,"v":{"a":0,"k":1,"ix":6}},{"ty":6,"nm":"Math Stuff","mn":"Pseudo/3bf5uID/RubberHose_2-0007","ix":7,"v":0},{"ty":3,"nm":"A","mn":"Pseudo/3bf5uID/RubberHose_2-0008","ix":8,"v":{"a":0,"k":[44,38],"ix":8,"x":"var $bm_rt;\n$bm_rt = thisLayer.toComp([\n 0,\n 0,\n 0\n]);"}},{"ty":3,"nm":"B","mn":"Pseudo/3bf5uID/RubberHose_2-0009","ix":9,"v":{"a":0,"k":[0,0],"ix":9,"x":"var $bm_rt;\ntry {\n var b = thisLayer(2)('Admin')(2)('B')(2)(1)._name;\n $bm_rt = thisComp.layer(b).toComp([\n 0,\n 0,\n 0\n ]);\n} catch (err) {\n $bm_rt = value;\n}"}},{"ty":0,"nm":"Outer Radius","mn":"Pseudo/3bf5uID/RubberHose_2-0010","ix":10,"v":{"a":0,"k":0,"ix":10,"x":"var $bm_rt;\nvar a = thisLayer(4)('RubberHose 2')('A');\nvar b = thisLayer(4)('RubberHose 2')('B');\nvar s = length(a, b);\n$bm_rt = mul(Math.sin(0.78539816339), s);"}},{"ty":0,"nm":"Inner Radius","mn":"Pseudo/3bf5uID/RubberHose_2-0011","ix":11,"v":{"a":0,"k":0,"ix":11,"x":"var $bm_rt;\nvar eff = thisLayer(4)('RubberHose 2');\nvar bendRad = eff('Bend Radius');\nvar hoseLength = div(eff('Hose Length'), 2);\nvar realism = eff('Realism');\nvar bendDir = div(eff('Bend Direction'), 100);\nvar sFac = eff('Parent Scale');\nvar straight = eff('Straight');\nvar autoFlop = eff('AutoFlop');\nvar roundShrink = linear(Math.abs(bendRad), 0, 100, 1, 0.87);\nvar innerRad;\nif (hoseLength > straight) {\n innerRad = sum(straight, mul(Math.sqrt(sub(Math.pow(hoseLength, 2), Math.pow(straight, 2))), roundShrink));\n innerRad = linear(realism, 0, 100, hoseLength, innerRad);\n innerRad = linear(Math.abs(bendDir), straight, innerRad);\n} else {\n innerRad = straight;\n}\ninnerRad *= Math.abs(sFac);\ninnerRad = linear(Math.abs(autoFlop), mul(straight, Math.max(Math.abs(sFac), 0.001)), innerRad);\n$bm_rt = innerRad;"}},{"ty":0,"nm":"Straight","mn":"Pseudo/3bf5uID/RubberHose_2-0012","ix":12,"v":{"a":0,"k":0,"ix":12,"x":"var $bm_rt;\nvar sFac = thisLayer(4)('RubberHose 2')('Parent Scale');\nvar outerRad = div(thisLayer(4)('RubberHose 2')('Outer Radius'), Math.max(Math.abs(sFac), 0.001));\n;\n$bm_rt = div(mul(1.4142135623731, outerRad), 2);"}},{"ty":0,"nm":"Base Rotation","mn":"Pseudo/3bf5uID/RubberHose_2-0013","ix":13,"v":{"a":0,"k":0,"ix":13,"x":"var $bm_rt;\nvar a = thisLayer(4)('RubberHose 2')('A');\nvar b = thisLayer(4)('RubberHose 2')('B');\n$bm_rt = radiansToDegrees(Math.atan2(sub(a[1], b[1]), sub(a[0], b[0])));"}},{"ty":0,"nm":"AutoFlop","mn":"Pseudo/3bf5uID/RubberHose_2-0014","ix":14,"v":{"a":0,"k":0,"ix":14,"x":"var $bm_rt;\nvar hasAF = false, isEnabled = false, output;\ntry {\n var lyrAF = thisComp.layer(sum(thisLayer._name.split('::')[0], '::AutoFlop'));\n isEnabled = lyrAF(4)('Enable')(1);\n var falloffAngle = lyrAF(4)('Falloff')(1);\n hasAF = true;\n var a = thisLayer.toComp([\n 0,\n 0,\n 0\n ]);\n var b = thisLayer(4)('RubberHose 2')('B');\n} catch (e) {\n}\nif (hasAF && isEnabled == 1) {\n var threshRot = lyrAF('ADBE Transform Group')('ADBE Rotate Z');\n threshRot %= 360;\n var ctrlAngle = $bm_neg(radiansToDegrees(Math.atan2(sub(b[0], a[0]), sub(b[1], a[1]))));\n var offsetAngle = sub(threshRot, ctrlAngle);\n offsetAngle %= 360;\n var sign = offsetAngle > 0 && offsetAngle < 180 || offsetAngle < -180 ? -1 : 1;\n var absAngle = Math.abs(offsetAngle);\n if (absAngle > 90) {\n absAngle = Math.abs(sub(absAngle, 180));\n }\n if (absAngle > 90) {\n absAngle = Math.abs(sub(absAngle, 180));\n }\n output = linear(absAngle, 0, falloffAngle, 0, 1);\n output *= sign;\n} else {\n output = 1;\n}\n$bm_rt = output;\nfunction parentTotal() {\n var parentVal = 0;\n var layerChain = 'thisLayer';\n while (eval([layerChain][0]).hasParent) {\n layerChain += '.parent';\n parentVal += eval([layerChain][0]).rotation;\n }\n return parentVal;\n}"}},{"ty":0,"nm":"Parent Scale","mn":"Pseudo/3bf5uID/RubberHose_2-0015","ix":15,"v":{"a":0,"k":0,"ix":15,"x":"var $bm_rt;\nvar sFactor = 1;\nvar scaleNorm = 0;\nvar layerChain = 'thisLayer';\nwhile (eval([layerChain][0]).hasParent) {\n layerChain += '.parent';\n scaleNorm = div(eval(layerChain)('ADBE Transform Group')('ADBE Scale')[0], 100);\n sFactor = mul(sFactor, scaleNorm);\n}\n$bm_rt = sFactor;"}},{"ty":6,"nm":"","mn":"Pseudo/3bf5uID/RubberHose_2-0016","ix":16,"v":0}]}],"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Hose 1::Wrist","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[135,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":"A","np":1,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[20,20],"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":"Hose 1::Shoulder","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"B","np":1,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"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":"2.04","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false,"cl":"04"},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Version","np":1,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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,"x":"var $bm_rt;\nvar eff = thisLayer(4)('RubberHose 2');\nvar autoRotate = eff('Auto Rotate End');\nif (autoRotate == 1) {\n var a = thisLayer.toComp([\n 0,\n 0,\n 0\n ]);\n var b = eff('B');\n var s = length(a, b);\n var sFac = eff('Parent Scale');\n var autoFlop = 1;\n var realism = eff('Realism');\n var bendDir = div(eff('Bend Direction'), 100);\n var hoseLength = div(eff('Hose Length'), 2);\n var bendRad = eff('Bend Radius');\n var autoFlop = eff('AutoFlop');\n var baseRot = $bm_neg(radiansToDegrees(Math.atan2(sub(b[0], a[0]), sub(b[1], a[1]))));\n var outerRad = mul(Math.sin(0.78539816339), s);\n var straight = div(mul(1.4142135623731, outerRad), 2);\n straight /= Math.max(Math.abs(sFac), 0.001);\n var roundShrink = linear(Math.abs(bendRad), 0, 100, 1, 0.87);\n var innerRad;\n if (hoseLength > straight) {\n innerRad = sum(straight, mul(Math.sqrt(sub(Math.pow(hoseLength, 2), Math.pow(straight, 2))), roundShrink));\n innerRad = linear(realism, 0, 100, hoseLength, innerRad);\n innerRad = linear(Math.abs(bendDir), straight, innerRad);\n } else {\n innerRad = straight;\n }\n innerRad = linear(Math.abs(autoFlop), straight, innerRad);\n var flopDir = 1;\n if (bendDir < 0) {\n flopDir = -1;\n }\n flopDir *= autoFlop;\n var opp = mul(sub(innerRad, straight), flopDir);\n var theta = Math.atan(div(opp, Math.max(straight, 0.001)));\n var bendAngle = radiansToDegrees(theta);\n if (sFac < 0) {\n baseRot *= -1;\n }\n bendRad *= div(div(theta, $bm_neg(Math.PI)), linear(s, hoseLength, 0, 2, 0.9));\n var rotCalc = sub(sum(baseRot, bendAngle), bendRad);\n $bm_rt = rotCalc;\n} else {\n $bm_rt = value;\n}\n;"},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Admin","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[100,100],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Circle","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-75,0],[75,0]],"c":false},"ix":2},"nm":"01","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0,-30],[0,30]],"c":false},"ix":2},"nm":"02","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[20,20],"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":"ControlShape","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,0.560000002384,0,1],"ix":3,"x":"var $bm_rt;\nif (thisLayer.active) {\n try {\n var eff = thisLayer(4)('RubberHose 2');\n var a = thisLayer.toComp([\n 0,\n 0,\n 0\n ]);\n var b = eff('B');\n var straight = eff('Straight');\n var hoseLength = div(eff('Hose Length'), 2);\n if (straight > hoseLength) {\n $bm_rt = [\n 0.51,\n 0.83,\n 0.98,\n 1\n ];\n } else {\n $bm_rt = value;\n }\n } catch (err) {\n $bm_rt = value;\n }\n} else {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\n$bm_rt = [\n 0,\n 0\n];"},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3,"x":"var $bm_rt;\n$bm_rt = [\n 100,\n 100\n];"},"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":"Control Point","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":2520,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Glove 2","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":215.722,"ix":10},"p":{"a":0,"k":[-9.024,16.45,0],"ix":2},"a":{"a":0,"k":[400,400,0],"ix":1},"s":{"a":0,"k":[75,-75,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[9.406,-0.333]],"o":[[0,0],[0,0]],"v":[[5.63,-5.5],[-5.631,5.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.078000005086,0.078000005086,0.078000005086,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":2,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[434.721,400.782],"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,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[16.333,-1.856],[0,0]],"v":[[-10.333,0.928],[10.333,-0.072]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.078000005086,0.078000005086,0.078000005086,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":2,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[421.351,351.021],"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,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[12.964,-1.063],[0,0]],"v":[[-8.982,-1.135],[8.982,2.198]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.078000005086,0.078000005086,0.078000005086,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":2,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[433.703,371.083],"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,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[1,15.957],[0,0]],"v":[[3.834,-12],[-4.833,12]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.078000005086,0.078000005086,0.078000005086,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":2,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[425.184,406.282],"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 4","np":2,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.175,-0.137],[0.131,-0.101],[0.245,-0.208],[0.778,-0.842],[0.87,-1.172],[0.398,-0.659],[0.375,-0.694],[0.346,-0.705],[0.294,-0.695],[0.227,-0.659],[0.14,-0.593],[0.07,-0.491],[0.055,-0.354],[0,0],[0.054,0.719],[0.037,0.504],[0.007,0.628],[-0.077,0.717],[-0.14,0.778],[-0.2,0.812],[-0.258,0.816],[-0.297,0.796],[-0.311,0.756],[-0.675,1.142],[-0.469,0.655],[-0.17,0.201],[0,0],[-1.292,-1.055],[1.054,-1.293]],"o":[[0,0],[-0.101,0.069],[-0.477,0.419],[-0.792,0.827],[-0.422,0.593],[-0.429,0.644],[-0.406,0.683],[-0.359,0.703],[-0.3,0.695],[-0.231,0.659],[-0.13,0.594],[-0.077,0.493],[-0.11,0.713],[0,0],[-0.027,-0.362],[-0.043,-0.507],[0.002,-0.627],[0.074,-0.715],[0.134,-0.778],[0.187,-0.816],[0.227,-0.829],[0.267,-0.811],[0.65,-1.496],[0.658,-1.153],[0.237,-0.322],[0.14,-0.171],[1.054,-1.292],[1.293,1.054],[-0.146,0.179]],"v":[[5.122,-7.913],[4.921,-7.758],[4.389,-7.327],[2.435,-5.438],[-0.095,-2.403],[-1.37,-0.541],[-2.564,1.478],[-3.625,3.591],[-4.512,5.721],[-5.206,7.781],[-5.715,9.674],[-6.077,11.304],[-6.275,12.58],[-6.448,13.7],[-6.534,12.571],[-6.629,11.265],[-6.646,9.562],[-6.577,7.534],[-6.355,5.265],[-5.948,2.844],[-5.349,0.363],[-4.576,-2.088],[-3.665,-4.424],[-1.646,-8.434],[0.121,-11.167],[0.724,-11.951],[0.938,-12.214],[5.186,-12.645],[5.618,-8.396]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.078000005086,0.078000005086,0.078000005086,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[366.726,359.156],"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 5","np":2,"cix":2,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.143,-0.129],[0.265,-0.26],[0.83,-1.04],[0.472,-0.609],[0.435,-0.722],[0.419,-0.789],[0.4,-0.822],[0.367,-0.83],[0.299,-0.817],[0.228,-0.768],[0.148,-0.687],[0.063,-0.567],[0.056,-0.408],[0,0],[0.053,0.825],[0.037,0.578],[0.007,0.717],[-0.083,0.819],[-0.128,0.894],[-0.189,0.936],[-0.271,0.936],[-0.313,0.915],[-0.333,0.866],[-0.33,0.792],[-0.367,0.659],[-0.494,0.765],[-0.18,0.235],[0,0],[-1.336,-0.995],[0.995,-1.336],[0.142,-0.129]],"o":[[0,0],[-0.115,0.094],[-0.517,0.532],[-0.434,0.504],[-0.427,0.636],[-0.454,0.714],[-0.454,0.773],[-0.427,0.814],[-0.353,0.837],[-0.292,0.82],[-0.238,0.769],[-0.131,0.687],[-0.077,0.567],[-0.111,0.82],[0,0],[-0.027,-0.415],[-0.05,-0.581],[0.01,-0.716],[0.074,-0.819],[0.136,-0.892],[0.204,-0.93],[0.245,-0.945],[0.278,-0.928],[0.315,-0.875],[0.378,-0.767],[0.689,-1.34],[0.255,-0.378],[0.149,-0.201],[0.995,-1.336],[1.336,0.995],[-0.119,0.159],[0,0]],"v":[[5.468,-10.041],[5.249,-9.844],[4.663,-9.289],[2.557,-6.932],[1.237,-5.225],[-0.122,-3.214],[-1.457,-0.965],[-2.699,1.451],[-3.793,3.958],[-4.701,6.465],[-5.403,8.871],[-5.916,11.071],[-6.28,12.956],[-6.48,14.426],[-6.654,15.715],[-6.737,14.418],[-6.833,12.921],[-6.848,10.972],[-6.778,8.654],[-6.555,6.061],[-6.141,3.292],[-5.528,0.452],[-4.731,-2.362],[-3.789,-5.051],[-2.757,-7.527],[-1.683,-9.698],[0.183,-12.881],[0.822,-13.794],[1.051,-14.102],[5.272,-14.72],[5.889,-10.499],[5.497,-10.066]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.078000005086,0.078000005086,0.078000005086,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[375.606,369.696],"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 6","np":2,"cix":2,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.154,-0.142],[0.285,-0.285],[0.89,-1.136],[0.506,-0.664],[0.466,-0.787],[0.447,-0.857],[0.426,-0.893],[0.391,-0.901],[0.317,-0.886],[0.24,-0.832],[0.155,-0.742],[0.064,-0.613],[0.057,-0.44],[0,0],[0.05,0.89],[0.036,0.624],[0.002,0.773],[-0.095,0.882],[-0.145,0.962],[-0.211,1.006],[-0.299,1.006],[-0.344,0.982],[-0.365,0.929],[-0.36,0.848],[-0.399,0.705],[-0.535,0.816],[-0.192,0.247],[0,0],[-1.33,-1.001],[1.002,-1.33],[0.13,-0.12]],"o":[[0,0],[-0.126,0.107],[-0.558,0.585],[-0.466,0.55],[-0.458,0.693],[-0.484,0.776],[-0.484,0.84],[-0.454,0.884],[-0.373,0.906],[-0.308,0.887],[-0.251,0.832],[-0.136,0.744],[-0.079,0.613],[-0.113,0.886],[0,0],[-0.026,-0.448],[-0.049,-0.626],[0.016,-0.772],[0.086,-0.882],[0.153,-0.96],[0.226,-1.001],[0.27,-1.015],[0.306,-0.997],[0.344,-0.938],[0.412,-0.822],[0.749,-1.434],[0.276,-0.404],[0.161,-0.215],[1.002,-1.33],[1.329,1.002],[-0.11,0.146],[0,0]],"v":[[5.866,-11.157],[5.629,-10.94],[4.995,-10.327],[2.73,-7.747],[1.315,-5.887],[-0.14,-3.697],[-1.565,-1.251],[-2.889,1.374],[-4.051,4.093],[-5.01,6.81],[-5.75,9.415],[-6.286,11.794],[-6.664,13.832],[-6.868,15.421],[-7.046,16.812],[-7.125,15.413],[-7.217,13.797],[-7.218,11.697],[-7.125,9.197],[-6.865,6.405],[-6.398,3.427],[-5.717,0.374],[-4.839,-2.648],[-3.806,-5.535],[-2.678,-8.189],[-1.51,-10.514],[0.515,-13.918],[1.202,-14.889],[1.449,-15.217],[5.671,-15.812],[6.264,-11.59],[5.903,-11.19]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.078000005086,0.078000005086,0.078000005086,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[385.397,386.802],"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 7","np":2,"cix":2,"ix":7,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[16,9.333],[8.667,0.333],[23.897,-4.788],[-8.368,-26.683],[1.748,-1.464],[-4.237,-5.06],[0,0],[-5.06,4.237],[-0.51,2.603],[0,0],[-9.49,9.835]],"o":[[9.667,-10.333],[-1.333,-14.667],[-24.637,4.935],[-2.112,0.313],[-5.06,4.237],[0,0],[4.237,5.06],[2.18,-1.825],[18.318,4.86],[0,0],[10.369,-10.746]],"v":[[41.819,-10.251],[30.819,-32.584],[-17.848,-50.584],[-46.171,9.291],[-52.085,11.932],[-53.582,28.836],[-36.165,49.638],[-19.261,51.135],[-15.21,44.254],[19.486,34.749],[47.45,29.495]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.078000005086,0.078000005086,0.078000005086,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[400.866,383.533],"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 8","np":3,"cix":2,"ix":8,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":2520,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Glove ","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":152.627,"ix":10},"p":{"a":0,"k":[6.654,26.986,0],"ix":2},"a":{"a":0,"k":[400,400,0],"ix":1},"s":{"a":0,"k":[-75,-75,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[9.406,-0.333]],"o":[[0,0],[0,0]],"v":[[5.63,-5.5],[-5.631,5.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.078000005086,0.078000005086,0.078000005086,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":2,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[434.721,400.782],"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,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[16.333,-1.856],[0,0]],"v":[[-10.333,0.928],[10.333,-0.072]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.078000005086,0.078000005086,0.078000005086,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":2,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[421.351,351.021],"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,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[12.964,-1.063],[0,0]],"v":[[-8.982,-1.135],[8.982,2.198]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.078000005086,0.078000005086,0.078000005086,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":2,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[433.703,371.083],"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,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[1,15.957],[0,0]],"v":[[3.834,-12],[-4.833,12]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.078000005086,0.078000005086,0.078000005086,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":2,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[425.184,406.282],"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 4","np":2,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.175,-0.137],[0.131,-0.101],[0.245,-0.208],[0.778,-0.842],[0.87,-1.172],[0.398,-0.659],[0.375,-0.694],[0.346,-0.705],[0.294,-0.695],[0.227,-0.659],[0.14,-0.593],[0.07,-0.491],[0.055,-0.354],[0,0],[0.054,0.719],[0.037,0.504],[0.007,0.628],[-0.077,0.717],[-0.14,0.778],[-0.2,0.812],[-0.258,0.816],[-0.297,0.796],[-0.311,0.756],[-0.675,1.142],[-0.469,0.655],[-0.17,0.201],[0,0],[-1.292,-1.055],[1.054,-1.293]],"o":[[0,0],[-0.101,0.069],[-0.477,0.419],[-0.792,0.827],[-0.422,0.593],[-0.429,0.644],[-0.406,0.683],[-0.359,0.703],[-0.3,0.695],[-0.231,0.659],[-0.13,0.594],[-0.077,0.493],[-0.11,0.713],[0,0],[-0.027,-0.362],[-0.043,-0.507],[0.002,-0.627],[0.074,-0.715],[0.134,-0.778],[0.187,-0.816],[0.227,-0.829],[0.267,-0.811],[0.65,-1.496],[0.658,-1.153],[0.237,-0.322],[0.14,-0.171],[1.054,-1.292],[1.293,1.054],[-0.146,0.179]],"v":[[5.122,-7.913],[4.921,-7.758],[4.389,-7.327],[2.435,-5.438],[-0.095,-2.403],[-1.37,-0.541],[-2.564,1.478],[-3.625,3.591],[-4.512,5.721],[-5.206,7.781],[-5.715,9.674],[-6.077,11.304],[-6.275,12.58],[-6.448,13.7],[-6.534,12.571],[-6.629,11.265],[-6.646,9.562],[-6.577,7.534],[-6.355,5.265],[-5.948,2.844],[-5.349,0.363],[-4.576,-2.088],[-3.665,-4.424],[-1.646,-8.434],[0.121,-11.167],[0.724,-11.951],[0.938,-12.214],[5.186,-12.645],[5.618,-8.396]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.078000005086,0.078000005086,0.078000005086,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[366.726,359.156],"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 5","np":2,"cix":2,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.143,-0.129],[0.265,-0.26],[0.83,-1.04],[0.472,-0.609],[0.435,-0.722],[0.419,-0.789],[0.4,-0.822],[0.367,-0.83],[0.299,-0.817],[0.228,-0.768],[0.148,-0.687],[0.063,-0.567],[0.056,-0.408],[0,0],[0.053,0.825],[0.037,0.578],[0.007,0.717],[-0.083,0.819],[-0.128,0.894],[-0.189,0.936],[-0.271,0.936],[-0.313,0.915],[-0.333,0.866],[-0.33,0.792],[-0.367,0.659],[-0.494,0.765],[-0.18,0.235],[0,0],[-1.336,-0.995],[0.995,-1.336],[0.142,-0.129]],"o":[[0,0],[-0.115,0.094],[-0.517,0.532],[-0.434,0.504],[-0.427,0.636],[-0.454,0.714],[-0.454,0.773],[-0.427,0.814],[-0.353,0.837],[-0.292,0.82],[-0.238,0.769],[-0.131,0.687],[-0.077,0.567],[-0.111,0.82],[0,0],[-0.027,-0.415],[-0.05,-0.581],[0.01,-0.716],[0.074,-0.819],[0.136,-0.892],[0.204,-0.93],[0.245,-0.945],[0.278,-0.928],[0.315,-0.875],[0.378,-0.767],[0.689,-1.34],[0.255,-0.378],[0.149,-0.201],[0.995,-1.336],[1.336,0.995],[-0.119,0.159],[0,0]],"v":[[5.468,-10.041],[5.249,-9.844],[4.663,-9.289],[2.557,-6.932],[1.237,-5.225],[-0.122,-3.214],[-1.457,-0.965],[-2.699,1.451],[-3.793,3.958],[-4.701,6.465],[-5.403,8.871],[-5.916,11.071],[-6.28,12.956],[-6.48,14.426],[-6.654,15.715],[-6.737,14.418],[-6.833,12.921],[-6.848,10.972],[-6.778,8.654],[-6.555,6.061],[-6.141,3.292],[-5.528,0.452],[-4.731,-2.362],[-3.789,-5.051],[-2.757,-7.527],[-1.683,-9.698],[0.183,-12.881],[0.822,-13.794],[1.051,-14.102],[5.272,-14.72],[5.889,-10.499],[5.497,-10.066]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.078000005086,0.078000005086,0.078000005086,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[375.606,369.696],"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 6","np":2,"cix":2,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.154,-0.142],[0.285,-0.285],[0.89,-1.136],[0.506,-0.664],[0.466,-0.787],[0.447,-0.857],[0.426,-0.893],[0.391,-0.901],[0.317,-0.886],[0.24,-0.832],[0.155,-0.742],[0.064,-0.613],[0.057,-0.44],[0,0],[0.05,0.89],[0.036,0.624],[0.002,0.773],[-0.095,0.882],[-0.145,0.962],[-0.211,1.006],[-0.299,1.006],[-0.344,0.982],[-0.365,0.929],[-0.36,0.848],[-0.399,0.705],[-0.535,0.816],[-0.192,0.247],[0,0],[-1.33,-1.001],[1.002,-1.33],[0.13,-0.12]],"o":[[0,0],[-0.126,0.107],[-0.558,0.585],[-0.466,0.55],[-0.458,0.693],[-0.484,0.776],[-0.484,0.84],[-0.454,0.884],[-0.373,0.906],[-0.308,0.887],[-0.251,0.832],[-0.136,0.744],[-0.079,0.613],[-0.113,0.886],[0,0],[-0.026,-0.448],[-0.049,-0.626],[0.016,-0.772],[0.086,-0.882],[0.153,-0.96],[0.226,-1.001],[0.27,-1.015],[0.306,-0.997],[0.344,-0.938],[0.412,-0.822],[0.749,-1.434],[0.276,-0.404],[0.161,-0.215],[1.002,-1.33],[1.329,1.002],[-0.11,0.146],[0,0]],"v":[[5.866,-11.157],[5.629,-10.94],[4.995,-10.327],[2.73,-7.747],[1.315,-5.887],[-0.14,-3.697],[-1.565,-1.251],[-2.889,1.374],[-4.051,4.093],[-5.01,6.81],[-5.75,9.415],[-6.286,11.794],[-6.664,13.832],[-6.868,15.421],[-7.046,16.812],[-7.125,15.413],[-7.217,13.797],[-7.218,11.697],[-7.125,9.197],[-6.865,6.405],[-6.398,3.427],[-5.717,0.374],[-4.839,-2.648],[-3.806,-5.535],[-2.678,-8.189],[-1.51,-10.514],[0.515,-13.918],[1.202,-14.889],[1.449,-15.217],[5.671,-15.812],[6.264,-11.59],[5.903,-11.19]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.078000005086,0.078000005086,0.078000005086,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[385.397,386.802],"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 7","np":2,"cix":2,"ix":7,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[16,9.333],[8.667,0.333],[23.897,-4.788],[-8.368,-26.683],[1.748,-1.464],[-4.237,-5.06],[0,0],[-5.06,4.237],[-0.51,2.603],[0,0],[-9.49,9.835]],"o":[[9.667,-10.333],[-1.333,-14.667],[-24.637,4.935],[-2.112,0.313],[-5.06,4.237],[0,0],[4.237,5.06],[2.18,-1.825],[18.318,4.86],[0,0],[10.369,-10.746]],"v":[[41.819,-10.251],[30.819,-32.584],[-17.848,-50.584],[-46.171,9.291],[-52.085,11.932],[-53.582,28.836],[-36.165,49.638],[-19.261,51.135],[-15.21,44.254],[19.486,34.749],[47.45,29.495]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.078000005086,0.078000005086,0.078000005086,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[400.866,383.533],"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 8","np":3,"cix":2,"ix":8,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":2520,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"middle spline","parent":13,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.49,"y":1},"o":{"x":0.51,"y":0},"n":"0p49_1_0p51_0","t":0,"s":[8,-73,0],"e":[8,-69,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.49,"y":1},"o":{"x":0.51,"y":0},"n":"0p49_1_0p51_0","t":3,"s":[8,-69,0],"e":[8,-73,0],"to":[0,0,0],"ti":[0,0,0]},{"t":6}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[71,71,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[37.665,5.519],[-46.498,-4.641]],"o":[[0,0],[38.998,-4.641],[-42.248,5.186]],"v":[[-0.5,23.319],[-42.248,-17.622],[42.248,-17.622]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.121568627451,0.121568627451,0.121568627451,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.121568627451,0.121568627451,0.121568627451,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":2520,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"eye left","parent":13,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":1},"o":{"x":0.37,"y":0},"n":"0p833_1_0p37_0","t":0,"s":[-32,-34,0],"e":[-32,-25,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":1},"o":{"x":0.37,"y":0},"n":"0p833_1_0p37_0","t":3,"s":[-32,-25,0],"e":[-32,-34,0],"to":[0,0,0],"ti":[0,0,0]},{"t":6}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[73,73,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[15.855,0],[0,-24.024],[-17,0],[-0.081,21.632]],"o":[[0,0],[-0.072,-21.772],[-17,0],[0,24.024],[15.785,0],[0,0]],"v":[[1.003,0.25],[16.997,-6.754],[0.003,-43.5],[-16.997,0],[0.003,43.5],[16.996,6.958]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.121568627451,0.121568627451,0.121568627451,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.121568627451,0.121568627451,0.121568627451,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":2520,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"eye right","parent":13,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":1},"o":{"x":0.37,"y":0},"n":"0p833_1_0p37_0","t":0,"s":[52,-34,0],"e":[52,-25,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":1},"o":{"x":0.37,"y":0},"n":"0p833_1_0p37_0","t":3,"s":[52,-25,0],"e":[52,-34,0],"to":[0,0,0],"ti":[0,0,0]},{"t":6}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[73,73,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[15.855,0],[0,-24.024],[-17,0],[-0.081,21.632]],"o":[[0,0],[-0.072,-21.772],[-17,0],[0,24.024],[15.785,0],[0,0]],"v":[[1.003,0.25],[16.997,-6.754],[0.003,-43.5],[-16.997,0],[0.003,43.5],[16.996,6.958]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.121568627451,0.121568627451,0.121568627451,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.121568627451,0.121568627451,0.121568627451,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":2520,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"nose","parent":13,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":40,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.6,"y":1},"o":{"x":0.4,"y":0},"n":"0p6_1_0p4_0","t":0,"s":[11.131,-2.66,0],"e":[11.131,7.34,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.6,"y":1},"o":{"x":0.4,"y":0},"n":"0p6_1_0p4_0","t":3,"s":[11.131,7.34,0],"e":[11.131,-2.66,0],"to":[0,0,0],"ti":[0,0,0]},{"t":6}],"ix":2},"a":{"a":0,"k":[-10.369,-211.66,0],"ix":1},"s":{"a":0,"k":[67,67,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[5.619,8.587],[-10.879,-15.092]],"o":[[-5.619,-8.587],[10.879,15.092]],"v":[[-29,-198],[6,-223]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.121568627451,0.121568627451,0.121568627451,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.121568627451,0.121568627451,0.121568627451,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":2520,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"mouth 2","parent":13,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-11,"ix":10},"p":{"a":0,"k":[19,40,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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},"n":"0p833_0p833_0p167_0p167","t":0,"s":[{"i":[[11.322,0],[19.224,0],[19.051,2.982],[0.002,-11.326],[-19.761,-0.077],[0,27.486]],"o":[[-19.05,2.982],[-19.225,0],[-11.321,0],[0.002,30.415],[31.995,0.124],[0,-11.322]],"v":[[57.5,-28.162],[0.001,-15.69],[-57.5,-27.162],[-78,-6.66],[1.005,28.038],[78,-7.663]],"c":true}],"e":[{"i":[[11.322,0],[19.224,0],[19.051,2.982],[0.002,-11.326],[-19.761,-0.077],[0,27.486]],"o":[[-19.05,2.982],[-19.225,0],[-11.321,0],[0.002,30.415],[31.994,0.124],[0,-11.322]],"v":[[56.611,-23.591],[-1.11,-9.975],[-57.944,-24.877],[-77.334,-10.089],[1.005,28.038],[78.222,-8.805]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":3,"s":[{"i":[[11.322,0],[19.224,0],[19.051,2.982],[0.002,-11.326],[-19.761,-0.077],[0,27.486]],"o":[[-19.05,2.982],[-19.225,0],[-11.321,0],[0.002,30.415],[31.994,0.124],[0,-11.322]],"v":[[56.611,-23.591],[-1.11,-9.975],[-57.944,-24.877],[-77.334,-10.089],[1.005,28.038],[78.222,-8.805]],"c":true}],"e":[{"i":[[11.322,0],[19.224,0],[19.051,2.982],[0.002,-11.326],[-19.761,-0.077],[0,27.486]],"o":[[-19.05,2.982],[-19.225,0],[-11.321,0],[0.002,30.415],[31.995,0.124],[0,-11.322]],"v":[[57.5,-28.162],[0.001,-15.69],[-57.5,-27.162],[-78,-6.66],[1.005,28.038],[78,-7.663]],"c":true}]},{"t":6}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.121568627451,0.121568627451,0.121568627451,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.121568627451,0.121568627451,0.121568627451,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[85.892,85.892],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":2520,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"tounge","parent":12,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.6,"y":1},"o":{"x":0.4,"y":0},"n":"0p6_1_0p4_0","t":0,"s":[30,3,0],"e":[28.474,10.853,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.6,"y":1},"o":{"x":0.4,"y":0},"n":"0p6_1_0p4_0","t":3,"s":[28.474,10.853,0],"e":[30,3,0],"to":[0,0,0],"ti":[0,0,0]},{"t":6}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[123,123,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.116,2.862],[-0.681,6.787]],"o":[[-5.097,2.581],[1.108,-11.042]],"v":[[8.158,-13.809],[1.067,0.861]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.121568627451,0.121568627451,0.121568627451,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.121568627451,0.121568627451,0.121568627451,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-0.5,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[81.427,81.427],"ix":3},"r":{"a":0,"k":-3.831,"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":"Shape 2","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[14.501,1.719],[-17.333,-1.333],[-2.065,-9.013]],"o":[[-7,-0.333],[3.677,-4.62],[2.367,10.333]],"v":[[-9.833,12.833],[0.167,-4.167],[17.167,-4.167]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.121568627451,0.121568627451,0.121568627451,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.874509803922,0.266666666667,0.094117647059,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[182.095,182.095],"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":"Shape 1","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":2520,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"mouth","parent":13,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-11,"ix":10},"p":{"a":0,"k":[19,40,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.6,"y":1},"o":{"x":0.4,"y":0},"n":"0p6_1_0p4_0","t":0,"s":[{"i":[[11.322,0],[19.224,0],[19.051,2.982],[0.002,-11.326],[-19.761,-0.077],[0,27.486]],"o":[[-19.05,2.982],[-19.225,0],[-11.321,0],[0.002,30.415],[31.995,0.124],[0,-11.322]],"v":[[57.5,-28.162],[0.001,-15.69],[-57.5,-27.162],[-78,-6.66],[1.005,28.038],[78,-7.663]],"c":true}],"e":[{"i":[[11.322,0],[19.224,0],[19.051,2.982],[0.002,-11.326],[-19.761,-0.077],[0,27.486]],"o":[[-19.05,2.982],[-19.225,0],[-11.321,0],[0.002,30.415],[31.994,0.124],[0,-11.322]],"v":[[56.611,-23.591],[-1.11,-9.975],[-57.944,-24.877],[-77.334,-10.089],[1.005,28.038],[78.222,-8.805]],"c":true}]},{"i":{"x":0.6,"y":1},"o":{"x":0.4,"y":0},"n":"0p6_1_0p4_0","t":3,"s":[{"i":[[11.322,0],[19.224,0],[19.051,2.982],[0.002,-11.326],[-19.761,-0.077],[0,27.486]],"o":[[-19.05,2.982],[-19.225,0],[-11.321,0],[0.002,30.415],[31.994,0.124],[0,-11.322]],"v":[[56.611,-23.591],[-1.11,-9.975],[-57.944,-24.877],[-77.334,-10.089],[1.005,28.038],[78.222,-8.805]],"c":true}],"e":[{"i":[[11.322,0],[19.224,0],[19.051,2.982],[0.002,-11.326],[-19.761,-0.077],[0,27.486]],"o":[[-19.05,2.982],[-19.225,0],[-11.321,0],[0.002,30.415],[31.995,0.124],[0,-11.322]],"v":[[57.5,-28.162],[0.001,-15.69],[-57.5,-27.162],[-78,-6.66],[1.005,28.038],[78,-7.663]],"c":true}]},{"t":6}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.121568627451,0.121568627451,0.121568627451,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":7,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.121568627451,0.121568627451,0.121568627451,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[85.892,85.892],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":2520,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"--BODY--","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.4,"y":0},"n":"0p34_1_0p4_0","t":0,"s":[400,300,0],"e":[400,317,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.34,"y":1},"o":{"x":0.4,"y":0},"n":"0p34_1_0p4_0","t":3,"s":[400,317,0],"e":[400,300,0],"to":[0,0,0],"ti":[0,0,0]},{"t":6}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.344,15.543],[-2.276,0.299],[-30.441,0],[-6.695,-0.878],[0.198,-2.287],[47.291,0]],"o":[[-0.198,-2.287],[6.695,-0.878],[30.441,0],[2.276,0.299],[-1.344,15.543],[-47.291,0]],"v":[[-56.742,-31.993],[-53.043,-36.618],[0,-39],[53.043,-36.618],[56.742,-31.993],[0,39]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.121568627451,0.121568627451,0.121568627451,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[223.275,223.275],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":2520,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"Hose 2::Shoulder","parent":13,"hd":true,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10,"x":"var $bm_rt;\ntry {\n var parentRot = hasParent ? parentTotal() : 0;\n var rotCalc = sub(thisLayer('ADBE Root Vectors Group')('Admin')('Transform')('Rotation'), parentRot);\n $bm_rt = sum(rotCalc, value);\n} catch (err) {\n $bm_rt = value;\n}\n;\nfunction parentTotal() {\n var parentVal = 0;\n var layerChain = 'thisLayer';\n while (eval([layerChain][0]).hasParent) {\n layerChain += '.parent';\n parentVal += eval([layerChain][0]).rotation;\n }\n return parentVal;\n}"},"p":{"a":0,"k":[-86,24,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6,"x":"var $bm_rt;\n$bm_rt = [\n 100,\n 100\n];"}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Hose 2::Wrist","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[135,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":"A","np":1,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[20,20],"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":"Hose 2::Shoulder","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"B","np":1,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"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":"2.04","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false,"cl":"04"},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Version","np":1,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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,"x":"var $bm_rt;\ntry {\n var eff = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n var autoRotate = eff('Auto Rotate Start');\n if (autoRotate == 1) {\n var a = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name).toComp([\n 0,\n 0,\n 0\n ]);\n var b = thisLayer.toComp([\n 0,\n 0,\n 0\n ]);\n var s = length(a, b);\n var sFac = eff('Parent Scale');\n var autoFlop = 1;\n var realism = eff('Realism');\n var bendDir = div(eff('Bend Direction'), 100);\n var hoseLength = div(eff('Hose Length'), 2);\n var bendRad = eff('Bend Radius');\n var autoFlop = eff('AutoFlop');\n var baseRot = $bm_neg(radiansToDegrees(Math.atan2(sub(b[0], a[0]), sub(b[1], a[1]))));\n var outerRad = mul(Math.sin(0.78539816339), s);\n var straight = div(mul(1.4142135623731, outerRad), 2);\n straight /= Math.max(Math.abs(sFac), 0.001);\n var roundShrink = linear(Math.abs(bendRad), 0, 100, 1, 0.87);\n var innerRad;\n if (straight <= hoseLength) {\n innerRad = sum(straight, mul(Math.sqrt(sub(Math.pow(hoseLength, 2), Math.pow(straight, 2))), roundShrink));\n innerRad = linear(realism, 0, 100, hoseLength, innerRad);\n innerRad = linear(Math.abs(bendDir), straight, innerRad);\n } else {\n innerRad = straight;\n }\n innerRad = linear(Math.abs(autoFlop), straight, innerRad);\n var flopDir = 1;\n if (bendDir < 0) {\n flopDir = -1;\n }\n flopDir *= autoFlop;\n var opp = mul(sub(innerRad, straight), flopDir);\n var theta = Math.atan(div(opp, Math.max(straight, 0.001)));\n var bendAngle = radiansToDegrees(theta);\n if (sFac < 0) {\n baseRot *= -1;\n }\n bendRad *= div(div(theta, $bm_neg(Math.PI)), linear(s, hoseLength, 0, 2, 0.9));\n var rotCalc = sum(sub(baseRot, bendAngle), bendRad);\n $bm_rt = rotCalc;\n } else {\n $bm_rt = 0;\n }\n ;\n} catch (err) {\n $bm_rt = value;\n}\n;"},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Admin","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[100,100],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Circle","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-75,0],[75,0]],"c":false},"ix":2},"nm":"01","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0,-30],[0,30]],"c":false},"ix":2},"nm":"02","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[20,20],"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":"ControlShape","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,0.560000002384,0,1],"ix":3,"x":"var $bm_rt;\ntry {\n var ctrl = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name);\n $bm_rt = ctrl(2)('Control Point')(2)('Stroke 1')('Color');\n} catch (e) {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\n$bm_rt = [\n 0,\n 0\n];"},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3,"x":"var $bm_rt;\n$bm_rt = [\n 100,\n 100\n];"},"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":"Control Point","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":2520,"st":0,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":"Hose 1::Shoulder","parent":13,"hd":true,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10,"x":"var $bm_rt;\ntry {\n var parentRot = hasParent ? parentTotal() : 0;\n var rotCalc = sub(thisLayer('ADBE Root Vectors Group')('Admin')('Transform')('Rotation'), parentRot);\n $bm_rt = sum(rotCalc, value);\n} catch (err) {\n $bm_rt = value;\n}\n;\nfunction parentTotal() {\n var parentVal = 0;\n var layerChain = 'thisLayer';\n while (eval([layerChain][0]).hasParent) {\n layerChain += '.parent';\n parentVal += eval([layerChain][0]).rotation;\n }\n return parentVal;\n}"},"p":{"a":0,"k":[78,24,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6,"x":"var $bm_rt;\n$bm_rt = [\n 100,\n 100\n];"}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Hose 1::Wrist","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[135,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":"A","np":1,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[20,20],"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":"Hose 1::Shoulder","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"B","np":1,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"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":"2.04","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false,"cl":"04"},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Version","np":1,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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,"x":"var $bm_rt;\ntry {\n var eff = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n var autoRotate = eff('Auto Rotate Start');\n if (autoRotate == 1) {\n var a = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name).toComp([\n 0,\n 0,\n 0\n ]);\n var b = thisLayer.toComp([\n 0,\n 0,\n 0\n ]);\n var s = length(a, b);\n var sFac = eff('Parent Scale');\n var autoFlop = 1;\n var realism = eff('Realism');\n var bendDir = div(eff('Bend Direction'), 100);\n var hoseLength = div(eff('Hose Length'), 2);\n var bendRad = eff('Bend Radius');\n var autoFlop = eff('AutoFlop');\n var baseRot = $bm_neg(radiansToDegrees(Math.atan2(sub(b[0], a[0]), sub(b[1], a[1]))));\n var outerRad = mul(Math.sin(0.78539816339), s);\n var straight = div(mul(1.4142135623731, outerRad), 2);\n straight /= Math.max(Math.abs(sFac), 0.001);\n var roundShrink = linear(Math.abs(bendRad), 0, 100, 1, 0.87);\n var innerRad;\n if (straight <= hoseLength) {\n innerRad = sum(straight, mul(Math.sqrt(sub(Math.pow(hoseLength, 2), Math.pow(straight, 2))), roundShrink));\n innerRad = linear(realism, 0, 100, hoseLength, innerRad);\n innerRad = linear(Math.abs(bendDir), straight, innerRad);\n } else {\n innerRad = straight;\n }\n innerRad = linear(Math.abs(autoFlop), straight, innerRad);\n var flopDir = 1;\n if (bendDir < 0) {\n flopDir = -1;\n }\n flopDir *= autoFlop;\n var opp = mul(sub(innerRad, straight), flopDir);\n var theta = Math.atan(div(opp, Math.max(straight, 0.001)));\n var bendAngle = radiansToDegrees(theta);\n if (sFac < 0) {\n baseRot *= -1;\n }\n bendRad *= div(div(theta, $bm_neg(Math.PI)), linear(s, hoseLength, 0, 2, 0.9));\n var rotCalc = sum(sub(baseRot, bendAngle), bendRad);\n $bm_rt = rotCalc;\n } else {\n $bm_rt = 0;\n }\n ;\n} catch (err) {\n $bm_rt = value;\n}\n;"},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Admin","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[100,100],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Circle","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-75,0],[75,0]],"c":false},"ix":2},"nm":"01","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0,-30],[0,30]],"c":false},"ix":2},"nm":"02","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[20,20],"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":"ControlShape","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,0.560000002384,0,1],"ix":3,"x":"var $bm_rt;\ntry {\n var ctrl = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name);\n $bm_rt = ctrl(2)('Control Point')(2)('Stroke 1')('Color');\n} catch (e) {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\n$bm_rt = [\n 0,\n 0\n];"},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3,"x":"var $bm_rt;\n$bm_rt = [\n 100,\n 100\n];"},"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":"Control Point","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":2520,"st":0,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":"Hose 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11,"x":"var $bm_rt;\n$bm_rt = 100;"},"r":{"a":0,"k":0,"ix":10,"x":"var $bm_rt;\nvar r = 0;\nif (thisLayer.hasParent) {\n r = $bm_neg(parentTotal());\n}\n$bm_rt = r;\nfunction parentTotal() {\n var parentVal = 0;\n var layerChain = 'thisLayer';\n while (eval([layerChain][0]).hasParent) {\n layerChain += '.parent';\n parentVal += eval([layerChain][0]).rotation;\n }\n return parentVal;\n}"},"p":{"a":0,"k":[236,286,0],"ix":2,"x":"var $bm_rt;\nvar p = [\n 0,\n 0\n ];\ntry {\n if (thisLayer.hasParent) {\n p = parent.fromComp([\n 0,\n 0,\n 0\n ]);\n }\n $bm_rt = p;\n} catch (err) {\n $bm_rt = p;\n}"},"a":{"a":0,"k":[0,0,0],"ix":1,"x":"var $bm_rt;\n$bm_rt = [\n 0,\n 0\n];"},"s":{"a":0,"k":[100,100,100],"ix":6,"x":"var $bm_rt;\nvar s = [\n 100,\n 100\n ];\nif (hasParent) {\n var sFactor = parentTotal();\n s = [\n s[0] * sFactor[0],\n s[1] * sFactor[1]\n ];\n}\n$bm_rt = s;\nfunction parentTotal() {\n var sFactor = [\n 1,\n 1\n ];\n var scaleNorm = [\n 0,\n 0\n ];\n var layerChain = 'thisLayer';\n while (eval([layerChain][0]).hasParent) {\n layerChain += '.parent';\n scaleNorm = eval([layerChain][0]).scale;\n if (scaleNorm[0] != 0 && scaleNorm[1] != 0) {\n scaleNorm = [\n 100 / scaleNorm[0],\n 100 / scaleNorm[1]\n ];\n }\n sFactor = [\n sFactor[0] * scaleNorm[0],\n sFactor[1] * scaleNorm[1]\n ];\n }\n return sFactor;\n}"}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sr","sy":1,"d":1,"pt":{"a":0,"k":4,"ix":3,"x":"var $bm_rt;\n$bm_rt = 4;"},"p":{"a":0,"k":[0,0],"ix":4,"x":"var $bm_rt;\n$bm_rt = [\n 0,\n 0\n];"},"r":{"a":0,"k":0,"ix":5,"x":"var $bm_rt;\n$bm_rt = 0;"},"ir":{"a":0,"k":500,"ix":6,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"is":{"a":0,"k":0,"ix":8,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"or":{"a":0,"k":113,"ix":7,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"os":{"a":0,"k":0,"ix":9,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"ix":1,"nm":"LineForCurve","mn":"ADBE Vector Shape - Star","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"e":{"a":0,"k":0,"ix":2,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"o":{"a":0,"k":-90,"ix":3,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"m":1,"ix":2,"nm":"Line Halfer","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"a":{"a":0,"k":[0,0],"ix":1,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"s":{"a":0,"k":[100,100],"ix":3,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"r":{"a":0,"k":45,"ix":6,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"o":{"a":0,"k":100,"ix":7,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"sk":{"a":0,"k":0,"ix":4,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"sa":{"a":0,"k":0,"ix":5,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"nm":"Transform"}],"nm":"Arc","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.121568627451,0.121568627451,0.121568627451,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":25,"ix":5,"x":"var $bm_rt;\nvar sFac = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2')('Parent Scale');\n$bm_rt = mul(value, sFac);"},"lc":2,"lj":2,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\ntry {\n var ctrl = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n $bm_rt = ctrl('A');\n} catch (err) {\n $bm_rt = value;\n}"},"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":"BaseHose","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Style","np":1,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Hose 2::Wrist","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[135,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":"A","np":1,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[200,200],"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":"Hose 2::Shoulder","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"B","np":1,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"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":"2.04","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false,"cl":"04"},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Version","np":1,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"sr","sy":1,"d":1,"pt":{"a":0,"k":4,"ix":3,"x":"var $bm_rt;\n$bm_rt = 4;"},"p":{"a":0,"k":[0,0],"ix":4,"x":"var $bm_rt;\n$bm_rt = [\n 0,\n 0\n];"},"r":{"a":0,"k":90,"ix":5,"x":"var $bm_rt;\n$bm_rt = 0;"},"ir":{"a":0,"k":200,"ix":6,"x":"var $bm_rt;\ntry {\n var ctrl = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n $bm_rt = ctrl('Inner Radius');\n} catch (err) {\n $bm_rt = value;\n}"},"is":{"a":0,"k":100,"ix":8,"x":"var $bm_rt;\ntry {\n var ctrl = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n $bm_rt = ctrl('Bend Radius');\n} catch (err) {\n $bm_rt = value;\n}"},"or":{"a":0,"k":200,"ix":7,"x":"var $bm_rt;\ntry {\n var ctrl = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n $bm_rt = ctrl('Outer Radius');\n} catch (err) {\n $bm_rt = value;\n}"},"os":{"a":0,"k":0,"ix":9,"x":"var $bm_rt;\n$bm_rt = 0;"},"ix":1,"nm":"LineForCurve","mn":"ADBE Vector Shape - Star","hd":false},{"ty":"tm","s":{"a":0,"k":0.01,"ix":1,"x":"var $bm_rt;\n$bm_rt = 0.01;"},"e":{"a":0,"k":24.99,"ix":2,"x":"var $bm_rt;\n$bm_rt = 24.99;"},"o":{"a":0,"k":-90,"ix":3,"x":"var $bm_rt;\n$bm_rt = -90;"},"m":1,"ix":2,"nm":"Line Halfer","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\n$bm_rt = [\n 0,\n 0\n];"},"a":{"a":0,"k":[0,0],"ix":1,"x":"var $bm_rt;\nvar s = thisProperty.propertyGroup(2)(2)(1)(7);\n$bm_rt = [\n -s,\n 0\n];"},"s":{"a":0,"k":[100,100],"ix":3,"x":"var $bm_rt;\nvar flop;\ntry {\n var eff = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n var bendDir = eff('Bend Direction');\n var autoFlop = eff('AutoFlop');\n flop = bendDir > 0 ? 1 : -1;\n autoFlop > 0 ? 0 : flop *= -1;\n var s = flop == 1 ? [\n -100,\n 100\n ] : [\n 100,\n 100\n ];\n if (eff('Parent Scale') < 0) {\n s = [\n -s[0],\n s[1]\n ];\n }\n $bm_rt = s;\n} catch (err) {\n $bm_rt = value;\n}\n;"},"r":{"a":0,"k":45,"ix":6,"x":"var $bm_rt;\ntry {\n var ctrl = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n var baseRot = ctrl('Base Rotation');\n var flop = content('Admin').content('ArcMath').transform.scale[0];\n var rotOffset = flop < 0 ? -45 : 225;\n $bm_rt = sum(baseRot, rotOffset);\n} catch (err) {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"ArcMath","np":2,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\ntry {\n var ctrl = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n $bm_rt = ctrl('A');\n} catch (err) {\n $bm_rt = value;\n}"},"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":"Admin","np":4,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":2520,"st":0,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":"Hose 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11,"x":"var $bm_rt;\n$bm_rt = 100;"},"r":{"a":0,"k":0,"ix":10,"x":"var $bm_rt;\nvar r = 0;\nif (thisLayer.hasParent) {\n r = $bm_neg(parentTotal());\n}\n$bm_rt = r;\nfunction parentTotal() {\n var parentVal = 0;\n var layerChain = 'thisLayer';\n while (eval([layerChain][0]).hasParent) {\n layerChain += '.parent';\n parentVal += eval([layerChain][0]).rotation;\n }\n return parentVal;\n}"},"p":{"a":0,"k":[400,286,0],"ix":2,"x":"var $bm_rt;\nvar p = [\n 0,\n 0\n ];\ntry {\n if (thisLayer.hasParent) {\n p = parent.fromComp([\n 0,\n 0,\n 0\n ]);\n }\n $bm_rt = p;\n} catch (err) {\n $bm_rt = p;\n}"},"a":{"a":0,"k":[0,0,0],"ix":1,"x":"var $bm_rt;\n$bm_rt = [\n 0,\n 0\n];"},"s":{"a":0,"k":[100,100,100],"ix":6,"x":"var $bm_rt;\nvar s = [\n 100,\n 100\n ];\nif (hasParent) {\n var sFactor = parentTotal();\n s = [\n s[0] * sFactor[0],\n s[1] * sFactor[1]\n ];\n}\n$bm_rt = s;\nfunction parentTotal() {\n var sFactor = [\n 1,\n 1\n ];\n var scaleNorm = [\n 0,\n 0\n ];\n var layerChain = 'thisLayer';\n while (eval([layerChain][0]).hasParent) {\n layerChain += '.parent';\n scaleNorm = eval([layerChain][0]).scale;\n if (scaleNorm[0] != 0 && scaleNorm[1] != 0) {\n scaleNorm = [\n 100 / scaleNorm[0],\n 100 / scaleNorm[1]\n ];\n }\n sFactor = [\n sFactor[0] * scaleNorm[0],\n sFactor[1] * scaleNorm[1]\n ];\n }\n return sFactor;\n}"}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sr","sy":1,"d":1,"pt":{"a":0,"k":4,"ix":3,"x":"var $bm_rt;\n$bm_rt = 4;"},"p":{"a":0,"k":[0,0],"ix":4,"x":"var $bm_rt;\n$bm_rt = [\n 0,\n 0\n];"},"r":{"a":0,"k":0,"ix":5,"x":"var $bm_rt;\n$bm_rt = 0;"},"ir":{"a":0,"k":500,"ix":6,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"is":{"a":0,"k":0,"ix":8,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"or":{"a":0,"k":113,"ix":7,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"os":{"a":0,"k":0,"ix":9,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"ix":1,"nm":"LineForCurve","mn":"ADBE Vector Shape - Star","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"e":{"a":0,"k":0,"ix":2,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"o":{"a":0,"k":-90,"ix":3,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"m":1,"ix":2,"nm":"Line Halfer","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"a":{"a":0,"k":[0,0],"ix":1,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"s":{"a":0,"k":[100,100],"ix":3,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"r":{"a":0,"k":45,"ix":6,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"o":{"a":0,"k":100,"ix":7,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"sk":{"a":0,"k":0,"ix":4,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"sa":{"a":0,"k":0,"ix":5,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"nm":"Transform"}],"nm":"Arc","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.121568627451,0.121568627451,0.121568627451,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":25,"ix":5,"x":"var $bm_rt;\nvar sFac = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2')('Parent Scale');\n$bm_rt = mul(value, sFac);"},"lc":2,"lj":2,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\ntry {\n var ctrl = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n $bm_rt = ctrl('A');\n} catch (err) {\n $bm_rt = value;\n}"},"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":"BaseHose","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Style","np":1,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Hose 1::Wrist","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[135,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":"A","np":1,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[200,200],"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":"Hose 1::Shoulder","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"B","np":1,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"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":"2.04","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false,"cl":"04"},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Version","np":1,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"sr","sy":1,"d":1,"pt":{"a":0,"k":4,"ix":3,"x":"var $bm_rt;\n$bm_rt = 4;"},"p":{"a":0,"k":[0,0],"ix":4,"x":"var $bm_rt;\n$bm_rt = [\n 0,\n 0\n];"},"r":{"a":0,"k":90,"ix":5,"x":"var $bm_rt;\n$bm_rt = 0;"},"ir":{"a":0,"k":200,"ix":6,"x":"var $bm_rt;\ntry {\n var ctrl = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n $bm_rt = ctrl('Inner Radius');\n} catch (err) {\n $bm_rt = value;\n}"},"is":{"a":0,"k":100,"ix":8,"x":"var $bm_rt;\ntry {\n var ctrl = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n $bm_rt = ctrl('Bend Radius');\n} catch (err) {\n $bm_rt = value;\n}"},"or":{"a":0,"k":200,"ix":7,"x":"var $bm_rt;\ntry {\n var ctrl = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n $bm_rt = ctrl('Outer Radius');\n} catch (err) {\n $bm_rt = value;\n}"},"os":{"a":0,"k":0,"ix":9,"x":"var $bm_rt;\n$bm_rt = 0;"},"ix":1,"nm":"LineForCurve","mn":"ADBE Vector Shape - Star","hd":false},{"ty":"tm","s":{"a":0,"k":0.01,"ix":1,"x":"var $bm_rt;\n$bm_rt = 0.01;"},"e":{"a":0,"k":24.99,"ix":2,"x":"var $bm_rt;\n$bm_rt = 24.99;"},"o":{"a":0,"k":-90,"ix":3,"x":"var $bm_rt;\n$bm_rt = -90;"},"m":1,"ix":2,"nm":"Line Halfer","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\n$bm_rt = [\n 0,\n 0\n];"},"a":{"a":0,"k":[0,0],"ix":1,"x":"var $bm_rt;\nvar s = thisProperty.propertyGroup(2)(2)(1)(7);\n$bm_rt = [\n -s,\n 0\n];"},"s":{"a":0,"k":[100,100],"ix":3,"x":"var $bm_rt;\nvar flop;\ntry {\n var eff = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n var bendDir = eff('Bend Direction');\n var autoFlop = eff('AutoFlop');\n flop = bendDir > 0 ? 1 : -1;\n autoFlop > 0 ? 0 : flop *= -1;\n var s = flop == 1 ? [\n -100,\n 100\n ] : [\n 100,\n 100\n ];\n if (eff('Parent Scale') < 0) {\n s = [\n -s[0],\n s[1]\n ];\n }\n $bm_rt = s;\n} catch (err) {\n $bm_rt = value;\n}\n;"},"r":{"a":0,"k":45,"ix":6,"x":"var $bm_rt;\ntry {\n var ctrl = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n var baseRot = ctrl('Base Rotation');\n var flop = content('Admin').content('ArcMath').transform.scale[0];\n var rotOffset = flop < 0 ? -45 : 225;\n $bm_rt = sum(baseRot, rotOffset);\n} catch (err) {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"ArcMath","np":2,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\ntry {\n var ctrl = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n $bm_rt = ctrl('A');\n} catch (err) {\n $bm_rt = value;\n}"},"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":"Admin","np":4,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":2520,"st":0,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":"handle","parent":13,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":9,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.6,"y":1},"o":{"x":0.4,"y":0},"n":"0p6_1_0p4_0","t":0,"s":[132,-18,0],"e":[127,-13,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.6,"y":1},"o":{"x":0.4,"y":0},"n":"0p6_1_0p4_0","t":3,"s":[127,-13,0],"e":[132,-18,0],"to":[0,0,0],"ti":[0,0,0]},{"t":6}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[-111,111,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,21.188],[-4.812,-0.367],[0,0],[0,-40],[0,0],[0,0]],"o":[[0,-21.188],[0,0],[0,0],[0,40],[0,0],[-4.812,-0.067]],"v":[[-4.23,0.741],[21.333,-18.726],[21.333,-34],[-21.333,0],[32.877,39.417],[29.029,23.459]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.121568627451,0.121568627451,0.121568627451,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[128.967,128.967],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":2520,"st":0,"bm":0},{"ddd":0,"ind":19,"ty":4,"nm":"shadow","sr":1,"ks":{"o":{"a":0,"k":50,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,420.824,0],"ix":2},"a":{"a":0,"k":[18,90.824,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,-0.667]},"o":{"x":[0.37,0.37,0.37],"y":[0,0,0]},"n":["0p833_0p833_0p37_0","0p833_0p833_0p37_0","0p833_-0p667_0p37_0"],"t":0,"s":[90,90,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,2.667]},"o":{"x":[0.37,0.37,0.37],"y":[0,0,0]},"n":["0p833_0p833_0p37_0","0p833_0p833_0p37_0","0p833_2p667_0p37_0"],"t":3,"s":[100,100,100],"e":[90,90,100]},{"t":6}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[112,14.352],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.121568627451,0.121568627451,0.121568627451,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.121568627451,0.121568627451,0.121568627451,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[18,90.824],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":2520,"st":0,"bm":0},{"ddd":0,"ind":20,"ty":4,"nm":"yellow","hd":true,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,300,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[800,600],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.121568627451,0.121568627451,0.121568627451,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":7,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.811764705882,0.062745098039,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Rectangle 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":2520,"st":0,"bm":0}]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/night_own.json b/submodules/RLottie/Sources/rlottie/example/resource/night_own.json deleted file mode 100644 index 8295bf0787..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/night_own.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.2.1","fr":60,"ip":0,"op":42,"w":800,"h":600,"nm":"both wing","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"left eye Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[388.739,339.119,0],"ix":2},"a":{"a":0,"k":[61.417,54.715,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.463,-1.546],[1.546,0.463],[-0.463,1.546],[-1.546,-0.464]],"o":[[-0.463,1.546],[-1.546,-0.463],[0.463,-1.546],[1.545,0.463]],"v":[[2.799,0.839],[-0.838,2.8],[-2.799,-0.838],[0.839,-2.798]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.40800000359,0.40800000359,0.40800000359,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[63.609,58.09],"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":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-22.228,-35.258]],"o":[[0,0],[0,0]],"v":[[-26.416,-19.715],[26.416,19.715]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":14,"ix":5},"lc":2,"lj":2,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[61.416,54.715],"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,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[3.344,2.108],[0.647,-0.815],[-5.527,-4.393],[-3.38,4.252],[-0.282,0.979],[3.273,2.601]],"o":[[-0.89,0.494],[-3.38,4.252],[5.528,4.394],[0.646,-0.813],[-2.809,-2.782],[-3.272,-2.601]],"v":[[-6.686,-11.062],[-9.011,-9.1],[-5.123,6.554],[11.006,6.809],[12.391,4.102],[3.262,-3.995]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[63.852,55.915],"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":4,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[7.245,3.279],[1.78,-2.239],[-12.224,-9.717],[-6.421,8.079],[-0.147,2.978],[7.182,5.708]],"o":[[-2.869,0.815],[-6.422,8.079],[12.224,9.717],[1.781,-2.238],[-4.829,-6.319],[-7.182,-5.709]],"v":[[-13.249,-23.918],[-20.348,-19.349],[-9.84,12.873],[23.921,15.839],[26.77,7.894],[8.647,-10.387]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.976000019148,0.745000023935,0.023999999551,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[58.543,60.603],"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 4","np":4,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":123,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"nose Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[428.559,400.809,0],"ix":2},"a":{"a":0,"k":[16.853,34.516,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.412,9.474],[-1.702,7.37],[-2.586,-14.341],[-5.909,-9.193]],"o":[[-1.537,-10.304],[-5.545,2.582],[2.539,14.085],[-3.364,-6.396]],"v":[[0.637,1.503],[1.085,-25.788],[-4.037,-2.421],[6.623,25.788]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.246999987434,0.246999987434,0.246999987434,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[10.345,35.584],"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":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.544,-23.068],[13.188,-16.711],[0.673,20.085],[-11.076,-0.179]],"o":[[-0.426,18.067],[-12.416,-17.378],[-0.683,-20.378],[8.553,0.138]],"v":[[16.059,-8.318],[0.183,34.266],[-15.92,-8.318],[0.569,-34.087]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[16.853,34.516],"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":4,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":123,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"right eye Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[467.347,339.161,0],"ix":2},"a":{"a":0,"k":[60.439,55.96,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.537,-1.521],[1.522,-0.538],[0.537,1.522],[-1.522,0.537]],"o":[[0.537,1.521],[-1.522,0.537],[-0.536,-1.522],[1.522,-0.536]],"v":[[2.756,-0.973],[0.971,2.756],[-2.757,0.971],[-0.973,-2.757]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.40800000359,0.40800000359,0.40800000359,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[59.246,58.697],"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":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[],"o":[],"v":[],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.477999997606,0.477999997606,0.477999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0.5,0.5],"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":4,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[20.509,-36.283]],"o":[[0,0],[0,0]],"v":[[25.44,-20.96],[-25.44,20.96]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":14,"ix":5},"lc":2,"lj":2,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[60.439,55.96],"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,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.238,2.267],[-0.686,-0.782],[5.311,-4.654],[3.58,4.085],[0.328,0.964],[-3.143,2.756]],"o":[[0.912,0.451],[3.58,4.085],[-5.309,4.654],[-0.686,-0.782],[2.672,-2.913],[3.144,-2.755]],"v":[[6.165,-11.393],[8.582,-9.546],[5.449,6.277],[-10.647,7.308],[-12.162,4.669],[-3.433,-3.857]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[58.047,57.299],"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 4","np":4,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-7.079,3.624],[-1.885,-2.152],[11.744,-10.292],[6.803,7.761],[0.291,2.968],[-6.898,6.047]],"o":[[2.905,0.677],[6.802,7.76],[-11.743,10.293],[-1.885,-2.151],[4.52,-6.544],[6.9,-6.046]],"v":[[12.167,-24.629],[19.477,-20.405],[10.529,12.283],[-23.052,16.868],[-26.279,9.068],[-9.056,-10.061]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.976000019148,0.745000023935,0.023999999551,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[63.511,61.806],"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 5","np":4,"cix":2,"ix":5,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":123,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"details Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[428.769,320.093,0],"ix":2},"a":{"a":0,"k":[114.641,80.52,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-2.14,4.372],[13.871,-15.765],[29.213,-18.407],[11.999,2.015],[5.112,6.926],[-7.275,16.968],[-17.085,2.144],[-8.485,-3.638],[-0.979,22.103],[-5.514,27.54]],"o":[[-2.202,4.518],[13.475,-15.473],[24.24,-17.783],[-8.484,-3.638],[-10.226,-13.855],[7.276,-16.969],[8.543,-1.073],[8.484,3.638],[4.38,29.362],[-5.355,28.812]],"v":[[47.884,20.297],[31.618,40.86],[7.995,50.305],[-17.964,46.624],[-38.527,30.359],[-44.291,-19.224],[-4.402,-49.232],[21.558,-45.551],[42.121,-29.285],[51.566,-5.662]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[158.736,110.484],"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":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-9.936,-15.563],[7.839,-15.331],[7.78,-4.968],[-27.584,-15.946],[-18.864,-17.228],[0.009,0.015],[7.705,24.703],[0.461,37.074],[-7.943,6.36],[-8.604,0.33]],"o":[[9.936,15.562],[-3.92,7.666],[-8.571,4.707],[-33.006,-15.738],[-19.162,-17.381],[-0.01,-0.015],[7.692,24.374],[2.837,32.427],[7.781,-4.968],[17.206,-0.659]],"v":[[41.087,-26.655],[43.454,23.204],[25.806,42.595],[0.789,50.444],[-24.055,44.961],[-43.444,27.313],[-51.293,2.298],[-45.811,-22.547],[-28.163,-41.936],[-3.146,-49.785]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[67.119,110.342],"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":4,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.757,1.756],[-30.411,-30.701],[4.379,-8.171],[10.237,3.834],[24.87,23.094]],"o":[[1.503,-3.489],[4.896,4.943],[-3.096,5.775],[-19.305,-7.232],[-13.969,-12.972]],"v":[[-47.559,-34.433],[27.438,1.567],[43.937,30.814],[17.584,34.088],[-23.56,-17.183]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.925,0.709999952129,0.416000007181,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":1,"lj":1,"ml":10,"ml2":{"a":0,"k":10,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[60.816,50.422],"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,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.757,1.756],[-30.411,-30.701],[4.379,-8.171],[10.237,3.834],[24.87,23.094]],"o":[[1.503,-3.489],[4.896,4.943],[-3.096,5.775],[-19.305,-7.232],[-13.969,-12.972]],"v":[[-47.559,-34.433],[27.438,1.567],[43.937,30.814],[17.584,34.088],[-23.56,-17.183]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[60.816,50.422],"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 4","np":4,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.757,1.756],[30.41,-30.7],[-4.379,-8.171],[-10.237,3.835],[-24.871,23.095]],"o":[[-1.503,-3.49],[-4.897,4.943],[3.096,5.775],[19.306,-7.231],[13.969,-12.971]],"v":[[47.559,-34.432],[-27.437,1.566],[-43.936,30.815],[-17.584,34.087],[23.561,-17.183]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.925,0.709999952129,0.416000007181,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":1,"lj":1,"ml":10,"ml2":{"a":0,"k":10,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[168.467,52.463],"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 5","np":2,"cix":2,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.757,1.756],[30.41,-30.7],[-4.379,-8.171],[-10.237,3.835],[-24.871,23.095]],"o":[[-1.503,-3.49],[-4.897,4.943],[3.096,5.775],[19.306,-7.231],[13.969,-12.971]],"v":[[47.559,-34.432],[-27.437,1.566],[-43.936,30.815],[-17.584,34.087],[23.561,-17.183]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[168.467,52.463],"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 6","np":4,"cix":2,"ix":6,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":123,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"legs Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[424.502,501.059,0],"ix":2},"a":{"a":0,"k":[107.717,38.642,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.823,0],[0,0],[0.132,-5.156],[-10.987,-1.283],[-1.236,-0.087],[-3.426,-1.329],[-0.28,-0.739],[0.764,-1.376],[0.704,-1.45],[0.695,-1.346],[-1.986,-5.54],[-3.604,-1.548],[-1.933,0],[-1.597,0.845],[-1.021,-1.242],[-4.078,0],[-1.3,0.431],[-1.512,1.707],[-0.609,-1.087],[-1.403,-0.382],[0,0],[-1.468,0],[-2.628,3.253],[1.236,2.264],[11.376,8.595],[14.032,2.425]],"o":[[0,0],[-12.095,0.001],[-0.116,4.464],[1.424,0.166],[3.119,0.219],[1.276,0.495],[0.002,0.56],[-0.621,1.119],[-0.66,1.356],[-3.458,6.696],[0.656,1.829],[2.061,0.884],[2.181,0],[0.404,1.39],[2.337,2.843],[1.445,0],[2.34,-0.776],[0.243,1.352],[2.018,3.599],[0,0],[1.607,0.449],[4.063,0],[7.164,-8.872],[-3.505,-6.415],[-5.749,-4.344],[-3.282,-0.566]],"v":[[-27.017,-37.788],[-27.018,-37.788],[-44.793,-27.428],[-31.753,-16.092],[-27.812,-15.749],[-18.803,-14.027],[-14.259,-11.635],[-16.068,-7.816],[-18.098,-3.979],[-20.173,0.118],[-24.911,18.678],[-19.113,24.56],[-13.095,25.893],[-7.456,24.532],[-5.365,28.508],[4.88,33.048],[9.016,32.398],[14.734,28.543],[16.013,32.191],[22.719,37.066],[22.887,37.112],[27.518,37.788],[37.746,32.814],[33.034,1.569],[11.587,-22.893],[-17.816,-36.934]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-8.908,0.001],[-3.174,-0.549],[-5.729,-4.328],[-2.111,-3.865],[4.266,-5.282],[2.577,0],[1.176,0.327],[-3.781,12.999],[1.242,0.141],[0.017,0],[8.163,-2.707],[0.885,0],[1.436,1.747],[2.122,1.312],[0.097,0],[8.278,0],[1.503,0.645],[-4.552,9.362],[1.264,3.353],[3.239,1.256],[4.954,0.58],[-0.061,2.367]],"o":[[2.404,0],[12.836,2.218],[12.063,9.116],[2.799,5.123],[-1.672,2.069],[-1.018,0],[-2.088,-0.583],[1.221,-4.199],[-0.017,-0.002],[-2.244,0],[-0.804,0.266],[-2.427,0],[-4.418,-5.373],[-0.1,-0.061],[-2.069,-0.001],[-1.201,0],[-7.38,-3.169],[2.54,-5.224],[-1.045,-2.774],[-5.614,-2.177],[-7.737,-0.903],[0.058,-2.28]],"v":[[-27.018,-32.788],[-18.667,-32.005],[8.574,-18.904],[28.645,3.967],[33.855,29.672],[27.518,32.786],[24.23,32.297],[20.862,17.776],[18.431,8.201],[18.379,8.198],[7.443,27.653],[4.88,28.048],[-1.501,25.332],[-0.85,7.577],[-1.145,7.486],[-13.095,20.893],[-17.139,19.965],[-13.6,-1.794],[-9.581,-13.398],[-16.996,-18.689],[-31.173,-21.059],[-39.796,-27.299]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.925,0.709999952129,0.416000007181,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[170.275,39.246],"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":6,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[3.328,0],[1.388,0.387],[0,0],[1.506,2.684],[-1.851,6.366],[0.155,1.02],[6.482,-2.148],[1.177,0],[1.84,2.237],[-0.148,2.566],[3.343,0],[1.747,0.75],[0.71,1.98],[-3.34,6.466],[-0.678,1.394],[-0.607,1.092],[0.51,1.356],[3.107,1.206],[3.199,0.224],[1.367,0.159],[-0.128,4.976],[-10.357,0],[-3.141,-0.543],[-5.928,-4.479],[-3.387,-6.201],[6.248,-7.736]],"o":[[-1.24,0],[0,0],[-1.193,-0.325],[-1.672,-2.982],[0.292,-1.004],[-1.54,5.594],[-1.044,0.347],[-3.288,0],[-1.718,-2.09],[-1.85,2.099],[-1.592,0],[-2.23,-0.958],[-1.618,-4.517],[0.706,-1.368],[0.674,-1.388],[1.64,-2.953],[-0.625,-1.656],[-3.778,-1.465],[-1.207,-0.085],[-7.316,-0.855],[0.097,-3.818],[2.682,0],[13.433,2.322],[11.022,8.328],[0.113,0.207],[-2.168,2.684]],"v":[[27.706,35.287],[23.745,34.704],[23.563,34.654],[18.382,30.969],[18.648,17.077],[18.779,13.953],[8.415,30.025],[5.067,30.548],[-3.247,26.92],[-5.262,19.734],[-12.908,23.392],[-17.941,22.262],[-22.372,17.834],[-17.765,1.266],[-15.662,-2.886],[-13.695,-6.603],[-11.732,-12.516],[-17.713,-16.359],[-27.452,-18.242],[-31.275,-18.574],[-42.107,-27.362],[-26.831,-35.287],[-18.055,-34.47],[10.266,-20.9],[31.027,2.767],[35.988,31.242]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[170.088,39.246],"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":4,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[12.095,0],[3.283,-0.567],[5.749,-4.345],[3.504,-6.416],[-7.164,-8.871],[-4.062,0],[-1.605,0.448],[0,0],[-2.018,3.598],[-0.244,1.351],[-2.341,-0.777],[-1.445,0],[-2.337,2.844],[-0.403,1.391],[-2.181,0],[-2.059,0.884],[-0.656,1.829],[3.458,6.696],[0.66,1.357],[0.622,1.119],[-0.005,0.595],[-1.277,0.495],[-3.119,0.22],[-1.425,0.166],[0.115,4.463]],"o":[[-2.824,0],[-14.032,2.425],[-11.376,8.594],[-1.237,2.264],[2.628,3.254],[1.467,0],[0,0],[1.403,-0.382],[0.609,-1.087],[1.512,1.707],[1.299,0.43],[4.078,0],[1.022,-1.242],[1.597,0.845],[1.933,0],[3.605,-1.548],[1.986,-5.541],[-0.696,-1.347],[-0.704,-1.45],[-0.763,-1.375],[0.275,-0.705],[3.426,-1.328],[1.237,-0.087],[10.987,-1.283],[-0.132,-5.156]],"v":[[27.019,-37.787],[17.816,-36.933],[-11.587,-22.892],[-33.033,1.569],[-37.745,32.813],[-27.518,37.787],[-22.887,37.112],[-22.718,37.066],[-16.013,32.191],[-14.734,28.543],[-9.015,32.399],[-4.88,33.048],[5.365,28.507],[7.456,24.531],[13.096,25.893],[19.113,24.56],[24.912,18.678],[20.173,0.118],[18.098,-3.979],[16.067,-7.816],[14.263,-11.669],[18.804,-14.028],[27.813,-15.749],[31.753,-16.092],[44.794,-27.428]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-2.404,0],[-0.059,-2.281],[7.736,-0.904],[5.615,-2.178],[1.045,-2.773],[-2.541,-5.225],[7.38,-3.169],[1.201,0],[2.069,0],[0.099,-0.061],[4.417,-5.373],[2.428,0],[0.803,0.267],[2.244,0],[0.017,-0.002],[-1.221,-4.2],[2.088,-0.582],[1.018,0],[1.671,2.069],[-2.798,5.123],[-12.065,9.115],[-12.837,2.219]],"o":[[8.908,0],[0.061,2.367],[-4.954,0.579],[-3.238,1.256],[-1.264,3.354],[4.551,9.361],[-1.503,0.646],[-8.278,0],[-0.097,0],[-2.123,1.312],[-1.437,1.747],[-0.885,0],[-8.164,-2.706],[-0.018,0],[-1.242,0.14],[3.781,12.999],[-1.176,0.328],[-2.577,0],[-4.266,-5.282],[2.112,-3.865],[5.728,-4.329],[3.173,-0.548]],"v":[[27.019,-32.787],[39.796,-27.299],[31.173,-21.058],[16.996,-18.689],[9.581,-13.398],[13.602,-1.793],[17.14,19.965],[13.096,20.893],[1.145,7.485],[0.851,7.577],[1.503,25.332],[-4.88,28.048],[-7.441,27.652],[-18.378,8.198],[-18.43,8.201],[-20.862,17.776],[-24.23,32.296],[-27.518,32.787],[-33.855,29.671],[-28.646,3.966],[-8.573,-18.903],[18.668,-32.006]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.925,0.709999952129,0.416000007181,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[45.159,38.037],"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":6,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.241,0],[2.168,2.685],[-0.113,0.207],[-11.021,8.329],[-13.439,2.323],[-2.682,0],[-0.098,-3.817],[7.315,-0.856],[1.208,-0.085],[3.779,-1.465],[0.624,-1.656],[-1.64,-2.953],[-0.675,-1.389],[-0.707,-1.368],[1.619,-4.517],[2.23,-0.958],[1.591,0],[0,0],[1.851,2.099],[1.718,-2.09],[3.288,0],[1.045,0.347],[1.54,5.593],[-0.292,-1.004],[1.672,-2.983],[1.193,-0.325],[0,0]],"o":[[-3.327,0],[-6.248,-7.736],[3.386,-6.2],[5.927,-4.478],[3.142,-0.543],[10.354,0],[0.127,4.976],[-1.367,0.159],[-3.199,0.224],[-3.107,1.206],[-0.511,1.357],[0.606,1.092],[0.677,1.393],[3.34,6.466],[-0.71,1.98],[-1.747,0.75],[0,0],[-3.344,-0.001],[0.149,2.566],[-1.84,2.237],[-1.177,0],[-6.481,-2.148],[-0.155,1.02],[1.852,6.365],[-1.505,2.684],[0,0],[-1.387,0.387]],"v":[[-27.705,35.287],[-35.986,31.241],[-31.025,2.767],[-10.268,-20.899],[18.055,-34.47],[26.833,-35.287],[42.107,-27.363],[31.277,-18.574],[27.452,-18.242],[17.713,-16.359],[11.734,-12.517],[13.695,-6.604],[15.663,-2.886],[17.765,1.265],[22.372,17.834],[17.941,22.262],[12.911,23.392],[12.908,23.392],[5.262,19.733],[3.247,26.92],[-5.067,30.548],[-8.416,30.025],[-18.779,13.952],[-18.649,17.077],[-18.382,30.969],[-23.563,34.654],[-23.745,34.704]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[45.346,38.037],"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 4","np":4,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":123,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"bg Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[428.705,418.648,0],"ix":2},"a":{"a":0,"k":[119.86,141.181,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-13.594,-28.634],[36.568,-22.904],[22.556,1.736],[6.701,6.605],[2.471,7.033],[6.359,-4.66],[27.431,-11.288],[32.634,16.235],[18.177,23.216],[0.133,23.646],[-8.826,14.793],[-9.401,4.669],[-6.785,1.084],[-8.177,0],[0,0],[1.1,2.061],[-5.126,6.82],[-10.278,10.969],[-20.154,9.286],[-27.504,-2.564],[-21.046,-21.835],[0.526,-13.595],[0,0],[8.952,-7.169],[2.141,-2.85]],"o":[[-28.346,-18.252],[14.862,-23.125],[11.392,-6.975],[-0.876,-5.469],[-2.47,-7.034],[3.102,-19.355],[24.907,-25.239],[32.414,6.973],[23.192,16.38],[8.736,17.83],[1.892,11.581],[-3.365,4.669],[4.662,1.084],[0,0],[11.038,0],[7.891,2.061],[6.68,10.837],[-1.326,18.137],[-15.139,18.741],[-27.504,2.875],[-25.618,-4.153],[-4.046,4.086],[0,10.876],[-4.475,3.584],[-9.666,1.168]],"v":[[30.502,82.407],[-29.512,82.407],[-63.566,42.684],[-63.442,40.188],[-69.8,20.978],[-80.56,11.243],[-106.215,-4.156],[-115.139,-52.248],[-99.21,-71.659],[-72.472,-82.407],[-49.985,-81.703],[-32.9,-75.67],[-25.8,-72.085],[-5.192,-71.001],[18.931,-71.001],[37.148,-73.062],[56.648,-76.709],[78.93,-73.936],[101.385,-60.82],[115.139,-34.324],[106.966,-2.985],[77.963,17.508],[72.202,28.224],[57.694,39.706],[45.754,49.044]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.925000011921,0.709999978542,0.416000008583,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[115.656,199.704],"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":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-9.397],[-31.333,-7.409],[-72.132,21.274],[-39.988,-6.643],[0.016,-23.711],[28.355,-11.054],[55.729,14.667],[42.977,8.342],[0,11.204],[-8.071,12.991],[-14.963,-4.621],[-81.894,14.471],[-9.973,-25.147]],"o":[[0,12.474],[-35.081,10.819],[-72.132,21.274],[-39.988,-6.643],[0.016,-23.711],[28.355,-11.054],[55.729,14.667],[28,-33.334],[0,-7.967],[16.143,-25.984],[57.498,17.762],[20.315,-3.589],[4.986,12.574]],"v":[[119.61,-7.859],[96.099,62.382],[72.295,33.698],[45.955,78.687],[-0.031,94.975],[-41.066,78.687],[-55.705,40.308],[-96.705,62.382],[-119.61,-7.859],[-106.109,-41.409],[-48.296,-90.354],[63.098,-88.692],[111.73,-42.542]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.925,0.709999952129,0.416000007181,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[119.86,95.225],"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":4,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":123,"st":0,"bm":0}]},{"id":"comp_1","layers":[{"ddd":0,"ind":1,"ty":0,"nm":"Comp 1","refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,248,0],"ix":2},"a":{"a":0,"k":[400,248,0],"ix":1},"s":{"a":0,"k":[-100,100,100],"ix":6}},"ao":0,"w":800,"h":496,"ip":0,"op":123,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"Comp 1","refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":176,"ix":10},"p":{"a":0,"k":[384,250,0],"ix":2},"a":{"a":0,"k":[400,248,0],"ix":1},"s":{"a":0,"k":[130,-130,100],"ix":6}},"ao":0,"w":800,"h":496,"ip":0,"op":123,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":0,"nm":"Comp 1","refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":176,"ix":10},"p":{"a":0,"k":[384,250,0],"ix":2},"a":{"a":0,"k":[400,248,0],"ix":1},"s":{"a":0,"k":[155,-155,100],"ix":6}},"ao":0,"w":800,"h":496,"ip":0,"op":123,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":0,"nm":"Comp 1","refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,248,0],"ix":2},"a":{"a":0,"k":[400,248,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":800,"h":496,"ip":0,"op":123,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":0,"nm":"Comp 1","refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":3,"ix":10},"p":{"a":0,"k":[416,248,0],"ix":2},"a":{"a":0,"k":[400,248,0],"ix":1},"s":{"a":0,"k":[130,130,100],"ix":6}},"ao":0,"w":800,"h":496,"ip":0,"op":123,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":0,"nm":"Comp 1","refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":3,"ix":10},"p":{"a":0,"k":[416,248,0],"ix":2},"a":{"a":0,"k":[400,248,0],"ix":1},"s":{"a":0,"k":[155,155,100],"ix":6}},"ao":0,"w":800,"h":496,"ip":0,"op":123,"st":0,"bm":0}]},{"id":"comp_2","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[-20],"e":[-20]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":24,"s":[-20],"e":[-20]},{"t":41}],"ix":10},"p":{"a":0,"k":[344.75,261.25,0],"ix":2},"a":{"a":0,"k":[165.747,-4.779,0],"ix":1},"s":{"a":0,"k":[50,50,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.4,"y":1},"o":{"x":0.333,"y":0},"n":"0p4_1_0p333_0","t":0,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-170,-8],[172,-8]],"c":false}],"e":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-170,-8],[172,-8]],"c":false}]},{"t":23}],"ix":2,"x":"var $bm_rt;\n$bm_rt = content('Shape 1').content('Path 1').path;"},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":0,"k":6,"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":35,"ix":5},"lc":2,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[164.104,-4.784],"ix":2},"a":{"a":0,"k":[164.104,-4.784],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6,"x":"var $bm_rt;\n$bm_rt = content('Shape 1').transform.rotation;"},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 2","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.485,"y":1},"o":{"x":0.333,"y":0},"n":"0p485_1_0p333_0","t":0,"s":[{"i":[[-150,250],[0,0]],"o":[[150,-250],[0,0]],"v":[[-180,10],[172,-8]],"c":false}],"e":[{"i":[[-73.658,-118.409],[-147.395,-96.641]],"o":[[143.69,161.306],[147.395,96.641]],"v":[[-180,10],[164.321,-4.825]],"c":false}]},{"i":{"x":0.576,"y":1},"o":{"x":0.333,"y":0},"n":"0p576_1_0p333_0","t":23,"s":[{"i":[[-73.658,-118.409],[-147.395,-96.641]],"o":[[143.69,161.306],[147.395,96.641]],"v":[[-180,10],[164.321,-4.825]],"c":false}],"e":[{"i":[[-150,250],[0,0]],"o":[[150,-250],[0,0]],"v":[[-180,10],[172,-8]],"c":false}]},{"t":33}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.925490260124,0.709803938866,0.415686309338,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":50,"ix":5},"lc":2,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[164.186,-4.838],"ix":2},"a":{"a":0,"k":[164.186,-4.838],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.563],"y":[0.97]},"o":{"x":[0.349],"y":[0.017]},"n":["0p563_0p97_0p349_0p017"],"t":0,"s":[0],"e":[81.911]},{"i":{"x":[0.687],"y":[1.011]},"o":{"x":[0.389],"y":[-0.009]},"n":["0p687_1p011_0p389_-0p009"],"t":23,"s":[81.911],"e":[0]},{"t":33}],"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":"Shape 1","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":123,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 10","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":1,"s":[-25],"e":[-18]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":25,"s":[-18],"e":[-25]},{"t":41}],"ix":10},"p":{"a":0,"k":[344.75,261.25,0],"ix":2},"a":{"a":0,"k":[165.747,-4.779,0],"ix":1},"s":{"a":0,"k":[48,48,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.4,"y":1},"o":{"x":0.333,"y":0},"n":"0p4_1_0p333_0","t":1,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-170,-8],[172,-8]],"c":false}],"e":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-170,-8],[172,-8]],"c":false}]},{"t":24}],"ix":2,"x":"var $bm_rt;\n$bm_rt = content('Shape 1').content('Path 1').path;"},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":0,"k":6,"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":35,"ix":5},"lc":2,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[164.104,-4.784],"ix":2},"a":{"a":0,"k":[164.104,-4.784],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6,"x":"var $bm_rt;\n$bm_rt = content('Shape 1').transform.rotation;"},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 2","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.485,"y":1},"o":{"x":0.333,"y":0},"n":"0p485_1_0p333_0","t":1,"s":[{"i":[[-150,250],[0,0]],"o":[[150,-250],[0,0]],"v":[[-180,10],[172,-8]],"c":false}],"e":[{"i":[[-73.658,-118.409],[-147.395,-96.641]],"o":[[143.69,161.306],[147.395,96.641]],"v":[[-180,10],[164.321,-4.825]],"c":false}]},{"i":{"x":0.576,"y":1},"o":{"x":0.333,"y":0},"n":"0p576_1_0p333_0","t":24,"s":[{"i":[[-73.658,-118.409],[-147.395,-96.641]],"o":[[143.69,161.306],[147.395,96.641]],"v":[[-180,10],[164.321,-4.825]],"c":false}],"e":[{"i":[[-150,250],[0,0]],"o":[[150,-250],[0,0]],"v":[[-180,10],[172,-8]],"c":false}]},{"t":34}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.925490260124,0.709803938866,0.415686309338,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":50,"ix":5},"lc":2,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[164.186,-4.838],"ix":2},"a":{"a":0,"k":[164.186,-4.838],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.563],"y":[0.97]},"o":{"x":[0.349],"y":[0.017]},"n":["0p563_0p97_0p349_0p017"],"t":1,"s":[0],"e":[81.911]},{"i":{"x":[0.687],"y":[1.011]},"o":{"x":[0.389],"y":[-0.009]},"n":["0p687_1p011_0p389_-0p009"],"t":24,"s":[81.911],"e":[0]},{"t":34}],"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":"Shape 1","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":124,"st":1,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 9","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":2,"s":[-30],"e":[-16]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":26,"s":[-16],"e":[-30]},{"t":41}],"ix":10},"p":{"a":0,"k":[344.75,261.25,0],"ix":2},"a":{"a":0,"k":[165.747,-4.779,0],"ix":1},"s":{"a":0,"k":[46,46,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.4,"y":1},"o":{"x":0.333,"y":0},"n":"0p4_1_0p333_0","t":2,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-170,-8],[172,-8]],"c":false}],"e":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-170,-8],[172,-8]],"c":false}]},{"t":25}],"ix":2,"x":"var $bm_rt;\n$bm_rt = content('Shape 1').content('Path 1').path;"},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":0,"k":6,"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":35,"ix":5},"lc":2,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[164.104,-4.784],"ix":2},"a":{"a":0,"k":[164.104,-4.784],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6,"x":"var $bm_rt;\n$bm_rt = content('Shape 1').transform.rotation;"},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 2","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.485,"y":1},"o":{"x":0.333,"y":0},"n":"0p485_1_0p333_0","t":2,"s":[{"i":[[-150,250],[0,0]],"o":[[150,-250],[0,0]],"v":[[-180,10],[172,-8]],"c":false}],"e":[{"i":[[-73.658,-118.409],[-147.395,-96.641]],"o":[[143.69,161.306],[147.395,96.641]],"v":[[-180,10],[164.321,-4.825]],"c":false}]},{"i":{"x":0.576,"y":1},"o":{"x":0.333,"y":0},"n":"0p576_1_0p333_0","t":25,"s":[{"i":[[-73.658,-118.409],[-147.395,-96.641]],"o":[[143.69,161.306],[147.395,96.641]],"v":[[-180,10],[164.321,-4.825]],"c":false}],"e":[{"i":[[-150,250],[0,0]],"o":[[150,-250],[0,0]],"v":[[-180,10],[172,-8]],"c":false}]},{"t":35}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.925490260124,0.709803938866,0.415686309338,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":50,"ix":5},"lc":2,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[164.186,-4.838],"ix":2},"a":{"a":0,"k":[164.186,-4.838],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.563],"y":[0.97]},"o":{"x":[0.349],"y":[0.017]},"n":["0p563_0p97_0p349_0p017"],"t":2,"s":[0],"e":[81.911]},{"i":{"x":[0.687],"y":[1.011]},"o":{"x":[0.389],"y":[-0.009]},"n":["0p687_1p011_0p389_-0p009"],"t":25,"s":[81.911],"e":[0]},{"t":35}],"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":"Shape 1","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":125,"st":2,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Shape Layer 5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":3,"s":[-35],"e":[-14]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":27,"s":[-14],"e":[-35]},{"t":41}],"ix":10},"p":{"a":0,"k":[344.75,261.25,0],"ix":2},"a":{"a":0,"k":[165.747,-4.779,0],"ix":1},"s":{"a":0,"k":[44,44,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.4,"y":1},"o":{"x":0.333,"y":0},"n":"0p4_1_0p333_0","t":3,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-170,-8],[172,-8]],"c":false}],"e":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-170,-8],[172,-8]],"c":false}]},{"t":26}],"ix":2,"x":"var $bm_rt;\n$bm_rt = content('Shape 1').content('Path 1').path;"},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":0,"k":6,"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":35,"ix":5},"lc":2,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[164.104,-4.784],"ix":2},"a":{"a":0,"k":[164.104,-4.784],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6,"x":"var $bm_rt;\n$bm_rt = content('Shape 1').transform.rotation;"},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 2","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.485,"y":1},"o":{"x":0.333,"y":0},"n":"0p485_1_0p333_0","t":3,"s":[{"i":[[-150,250],[0,0]],"o":[[150,-250],[0,0]],"v":[[-180,10],[172,-8]],"c":false}],"e":[{"i":[[-73.658,-118.409],[-147.395,-96.641]],"o":[[143.69,161.306],[147.395,96.641]],"v":[[-180,10],[164.321,-4.825]],"c":false}]},{"i":{"x":0.576,"y":1},"o":{"x":0.333,"y":0},"n":"0p576_1_0p333_0","t":26,"s":[{"i":[[-73.658,-118.409],[-147.395,-96.641]],"o":[[143.69,161.306],[147.395,96.641]],"v":[[-180,10],[164.321,-4.825]],"c":false}],"e":[{"i":[[-150,250],[0,0]],"o":[[150,-250],[0,0]],"v":[[-180,10],[172,-8]],"c":false}]},{"t":36}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.925490260124,0.709803938866,0.415686309338,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":50,"ix":5},"lc":2,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[164.186,-4.838],"ix":2},"a":{"a":0,"k":[164.186,-4.838],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.563],"y":[0.97]},"o":{"x":[0.349],"y":[0.017]},"n":["0p563_0p97_0p349_0p017"],"t":3,"s":[0],"e":[81.911]},{"i":{"x":[0.687],"y":[1.011]},"o":{"x":[0.389],"y":[-0.009]},"n":["0p687_1p011_0p389_-0p009"],"t":26,"s":[81.911],"e":[0]},{"t":36}],"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":"Shape 1","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":126,"st":3,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Shape Layer 6","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":4,"s":[-40],"e":[-12]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":28,"s":[-12],"e":[-40]},{"t":41}],"ix":10},"p":{"a":0,"k":[344.75,261.25,0],"ix":2},"a":{"a":0,"k":[165.747,-4.779,0],"ix":1},"s":{"a":0,"k":[42,42,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.4,"y":1},"o":{"x":0.333,"y":0},"n":"0p4_1_0p333_0","t":4,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-170,-8],[172,-8]],"c":false}],"e":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-170,-8],[172,-8]],"c":false}]},{"t":27}],"ix":2,"x":"var $bm_rt;\n$bm_rt = content('Shape 1').content('Path 1').path;"},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":0,"k":6,"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":35,"ix":5},"lc":2,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[164.104,-4.784],"ix":2},"a":{"a":0,"k":[164.104,-4.784],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6,"x":"var $bm_rt;\n$bm_rt = content('Shape 1').transform.rotation;"},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 2","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.485,"y":1},"o":{"x":0.333,"y":0},"n":"0p485_1_0p333_0","t":4,"s":[{"i":[[-150,250],[0,0]],"o":[[150,-250],[0,0]],"v":[[-180,10],[172,-8]],"c":false}],"e":[{"i":[[-73.658,-118.409],[-147.395,-96.641]],"o":[[143.69,161.306],[147.395,96.641]],"v":[[-180,10],[164.321,-4.825]],"c":false}]},{"i":{"x":0.576,"y":1},"o":{"x":0.333,"y":0},"n":"0p576_1_0p333_0","t":27,"s":[{"i":[[-73.658,-118.409],[-147.395,-96.641]],"o":[[143.69,161.306],[147.395,96.641]],"v":[[-180,10],[164.321,-4.825]],"c":false}],"e":[{"i":[[-150,250],[0,0]],"o":[[150,-250],[0,0]],"v":[[-180,10],[172,-8]],"c":false}]},{"t":37}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.925490260124,0.709803938866,0.415686309338,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":50,"ix":5},"lc":2,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[164.186,-4.838],"ix":2},"a":{"a":0,"k":[164.186,-4.838],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.563],"y":[0.97]},"o":{"x":[0.349],"y":[0.017]},"n":["0p563_0p97_0p349_0p017"],"t":4,"s":[0],"e":[81.911]},{"i":{"x":[0.687],"y":[1.011]},"o":{"x":[0.389],"y":[-0.009]},"n":["0p687_1p011_0p389_-0p009"],"t":27,"s":[81.911],"e":[0]},{"t":37}],"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":"Shape 1","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":127,"st":4,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Shape Layer 7","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":5,"s":[-45],"e":[-8]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":29,"s":[-8],"e":[-45]},{"t":41}],"ix":10},"p":{"a":0,"k":[344.75,261.25,0],"ix":2},"a":{"a":0,"k":[165.747,-4.779,0],"ix":1},"s":{"a":0,"k":[40,40,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.4,"y":1},"o":{"x":0.333,"y":0},"n":"0p4_1_0p333_0","t":5,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-170,-8],[172,-8]],"c":false}],"e":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-170,-8],[172,-8]],"c":false}]},{"t":28}],"ix":2,"x":"var $bm_rt;\n$bm_rt = content('Shape 1').content('Path 1').path;"},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":0,"k":6,"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":35,"ix":5},"lc":2,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[164.104,-4.784],"ix":2},"a":{"a":0,"k":[164.104,-4.784],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6,"x":"var $bm_rt;\n$bm_rt = content('Shape 1').transform.rotation;"},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 2","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.485,"y":1},"o":{"x":0.333,"y":0},"n":"0p485_1_0p333_0","t":5,"s":[{"i":[[-150,250],[0,0]],"o":[[150,-250],[0,0]],"v":[[-180,10],[172,-8]],"c":false}],"e":[{"i":[[-73.658,-118.409],[-147.395,-96.641]],"o":[[143.69,161.306],[147.395,96.641]],"v":[[-180,10],[164.321,-4.825]],"c":false}]},{"i":{"x":0.576,"y":1},"o":{"x":0.333,"y":0},"n":"0p576_1_0p333_0","t":28,"s":[{"i":[[-73.658,-118.409],[-147.395,-96.641]],"o":[[143.69,161.306],[147.395,96.641]],"v":[[-180,10],[164.321,-4.825]],"c":false}],"e":[{"i":[[-150,250],[0,0]],"o":[[150,-250],[0,0]],"v":[[-180,10],[172,-8]],"c":false}]},{"t":38}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.925490260124,0.709803938866,0.415686309338,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":50,"ix":5},"lc":2,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[164.186,-4.838],"ix":2},"a":{"a":0,"k":[164.186,-4.838],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.563],"y":[0.97]},"o":{"x":[0.349],"y":[0.017]},"n":["0p563_0p97_0p349_0p017"],"t":5,"s":[0],"e":[81.911]},{"i":{"x":[0.687],"y":[1.011]},"o":{"x":[0.389],"y":[-0.009]},"n":["0p687_1p011_0p389_-0p009"],"t":28,"s":[81.911],"e":[0]},{"t":38}],"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":"Shape 1","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":128,"st":5,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Shape Layer 8","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":6,"s":[-50],"e":[-8]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":30,"s":[-8],"e":[-50]},{"t":41}],"ix":10},"p":{"a":0,"k":[344.75,261.25,0],"ix":2},"a":{"a":0,"k":[165.747,-4.779,0],"ix":1},"s":{"a":0,"k":[38,38,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.4,"y":1},"o":{"x":0.333,"y":0},"n":"0p4_1_0p333_0","t":6,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-170,-8],[172,-8]],"c":false}],"e":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-170,-8],[172,-8]],"c":false}]},{"t":29}],"ix":2,"x":"var $bm_rt;\n$bm_rt = content('Shape 1').content('Path 1').path;"},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":0,"k":6,"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":35,"ix":5},"lc":2,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[164.104,-4.784],"ix":2},"a":{"a":0,"k":[164.104,-4.784],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6,"x":"var $bm_rt;\n$bm_rt = content('Shape 1').transform.rotation;"},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 2","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.485,"y":1},"o":{"x":0.333,"y":0},"n":"0p485_1_0p333_0","t":6,"s":[{"i":[[-150,250],[0,0]],"o":[[150,-250],[0,0]],"v":[[-180,10],[172,-8]],"c":false}],"e":[{"i":[[-73.658,-118.409],[-147.395,-96.641]],"o":[[143.69,161.306],[147.395,96.641]],"v":[[-180,10],[164.321,-4.825]],"c":false}]},{"i":{"x":0.576,"y":1},"o":{"x":0.333,"y":0},"n":"0p576_1_0p333_0","t":29,"s":[{"i":[[-73.658,-118.409],[-147.395,-96.641]],"o":[[143.69,161.306],[147.395,96.641]],"v":[[-180,10],[164.321,-4.825]],"c":false}],"e":[{"i":[[-150,250],[0,0]],"o":[[150,-250],[0,0]],"v":[[-180,10],[172,-8]],"c":false}]},{"t":39}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.925490260124,0.709803938866,0.415686309338,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":50,"ix":5},"lc":2,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[164.186,-4.838],"ix":2},"a":{"a":0,"k":[164.186,-4.838],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.563],"y":[0.97]},"o":{"x":[0.349],"y":[0.017]},"n":["0p563_0p97_0p349_0p017"],"t":6,"s":[0],"e":[81.911]},{"i":{"x":[0.687],"y":[1.011]},"o":{"x":[0.389],"y":[-0.009]},"n":["0p687_1p011_0p389_-0p009"],"t":29,"s":[81.911],"e":[0]},{"t":39}],"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":"Shape 1","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":129,"st":6,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"newOwl","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[396,290,0],"ix":2,"x":"var $bm_rt;\n$bm_rt = thisComp.layer('Null 1').transform.position;"},"a":{"a":0,"k":[426,412,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":792,"h":612,"ip":0,"op":123,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"Comp 2","refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[634,420,0],"ix":2,"x":"var $bm_rt;\n$bm_rt = thisComp.layer('Null 1').transform.position;"},"a":{"a":0,"k":[400,248,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":800,"h":496,"ip":0,"op":123,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":3,"nm":"Null 1","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.745,"y":1},"o":{"x":0.248,"y":0},"n":"0p745_1_0p248_0","t":0,"s":[397,293,0],"e":[398,308,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.328,"y":1},"o":{"x":0.333,"y":0},"n":"0p328_1_0p333_0","t":24,"s":[398,308,0],"e":[398,293,0],"to":[0,0,0],"ti":[0,2.5,0]},{"t":42}],"ix":2},"a":{"a":0,"k":[49,48,0],"ix":1},"s":{"a":0,"k":[52.471,78,100],"ix":6}},"ao":0,"ip":0,"op":123,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,300,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,121.324,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[870.727,558.906],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.929412004059,0.705881993911,0.450980003207,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.11796875,0.114369283938,0.07841090782,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1.363,7.453],"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":"Rectangle 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":123,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/ondas.json b/submodules/RLottie/Sources/rlottie/example/resource/ondas.json deleted file mode 100644 index 4818f1418d..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/ondas.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.2.1","fr":25,"ip":0,"op":175,"w":600,"h":200,"nm":"Comp 1","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Capa de formas 8","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[300,88,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0]],"o":[[0,0]],"v":[[-604,-284]],"c":false},"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.105882352941,0.376470588235,0.576470588235,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Trazo 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.105882352941,0.376470588235,0.576470588235,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Relleno 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Transformar"}],"nm":"Forma 2","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"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},"n":"0p667_1_0p333_0","t":0,"s":[{"i":[[15.5,-7],[8,-3],[-0.5,-1.5],[0,0],[1.5,4.5],[6,0],[39.5,-0.5],[39.5,2.75],[35.924,-1.559],[36.995,-1.156],[44.829,-1.288],[51.088,1.559]],"o":[[-5.764,2.603],[-8,3],[0.5,1.5],[0,0],[-1.5,-4.5],[-6,0],[-39.997,0.506],[-36.664,-2.553],[-32.262,1.4],[-32,1],[-38.162,1.096],[-56.889,-1.736]],"v":[[-330,7],[-322,36],[-323,118.5],[314.5,112],[316.5,10],[313,-8.5],[283,19],[161,-42],[62.576,25.059],[-18,-10],[-113.838,26.904],[-213.111,-43.264]],"c":true}],"e":[{"i":[[15.5,-7],[8,-3],[-0.5,-1.5],[0,0],[1.5,4.5],[6,0],[39.5,-0.5],[28.993,-0.63],[28.406,-1.166],[20.727,-0.691],[43.266,1.9],[29.686,1.497]],"o":[[-5.764,2.603],[-8,3],[0.5,1.5],[0,0],[-1.5,-4.5],[-6,0],[-39.997,0.506],[-11.26,0.245],[-33.207,1.363],[-35.994,1.2],[-43.642,-1.917],[-25.352,-1.279]],"v":[[-315,-21],[-322,36],[-323,118.5],[314.5,112],[316.5,10],[345,28.5],[309,0],[178,33],[71.844,-20.084],[-7,30],[-128.266,-46.9],[-227.648,31.279]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":25,"s":[{"i":[[15.5,-7],[8,-3],[-0.5,-1.5],[0,0],[1.5,4.5],[6,0],[39.5,-0.5],[28.993,-0.63],[28.406,-1.166],[20.727,-0.691],[43.266,1.9],[29.686,1.497]],"o":[[-5.764,2.603],[-8,3],[0.5,1.5],[0,0],[-1.5,-4.5],[-6,0],[-39.997,0.506],[-11.26,0.245],[-33.207,1.363],[-35.994,1.2],[-43.642,-1.917],[-25.352,-1.279]],"v":[[-315,-21],[-322,36],[-323,118.5],[314.5,112],[316.5,10],[345,28.5],[309,0],[178,33],[71.844,-20.084],[-7,30],[-128.266,-46.9],[-227.648,31.279]],"c":true}],"e":[{"i":[[15.5,-7],[8,-3],[-0.5,-1.5],[0,0],[1.5,4.5],[6,0],[39.5,-0.5],[22.099,-6.451],[0.25,0.009],[25.563,-0.691],[41.486,0.99],[60.663,-1.035]],"o":[[-5.764,2.603],[-8,3],[0.5,1.5],[0,0],[-1.5,-4.5],[-6,0],[-39.997,0.506],[-80.5,23.5],[-28.945,-0.993],[-62.01,1.676],[-71.668,-1.711],[-42.39,0.724]],"v":[[-347,1],[-322,36],[-323,118.5],[314.5,112],[316.5,10],[344,-5.5],[305,18],[187,-34],[44.945,-10.257],[-34,-42],[-137.486,10.01],[-263.61,-34.724]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":50,"s":[{"i":[[15.5,-7],[8,-3],[-0.5,-1.5],[0,0],[1.5,4.5],[6,0],[39.5,-0.5],[22.099,-6.451],[0.25,0.009],[25.563,-0.691],[41.486,0.99],[60.663,-1.035]],"o":[[-5.764,2.603],[-8,3],[0.5,1.5],[0,0],[-1.5,-4.5],[-6,0],[-39.997,0.506],[-80.5,23.5],[-28.945,-0.993],[-62.01,1.676],[-71.668,-1.711],[-42.39,0.724]],"v":[[-347,1],[-322,36],[-323,118.5],[314.5,112],[316.5,10],[344,-5.5],[305,18],[187,-34],[44.945,-10.257],[-34,-42],[-137.486,10.01],[-263.61,-34.724]],"c":true}],"e":[{"i":[[23,-1],[8,-3],[-0.5,-1.5],[0,0],[1.5,4.5],[6,0],[36.275,-2.267],[46.011,0],[0.306,-0.016],[21.403,-0.856],[43.848,-0.253],[34.576,1.765]],"o":[[-6.319,0.275],[-8,3],[0.5,1.5],[0,0],[-1.5,-4.5],[-6,0],[-32,2],[-42,0],[-41.73,2.135],[-50,2],[-30.74,0.178],[-20.412,-1.042]],"v":[[-301,-20],[-322,36],[-323,118.5],[314.5,112],[316.5,10],[309,15.5],[301,-24],[211,15],[53.73,-16.135],[-30,2],[-152.848,-68.747],[-258.576,5.235]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":75,"s":[{"i":[[23,-1],[8,-3],[-0.5,-1.5],[0,0],[1.5,4.5],[6,0],[36.275,-2.267],[46.011,0],[0.306,-0.016],[21.403,-0.856],[43.848,-0.253],[34.576,1.765]],"o":[[-6.319,0.275],[-8,3],[0.5,1.5],[0,0],[-1.5,-4.5],[-6,0],[-32,2],[-42,0],[-41.73,2.135],[-50,2],[-30.74,0.178],[-20.412,-1.042]],"v":[[-301,-20],[-322,36],[-323,118.5],[314.5,112],[316.5,10],[309,15.5],[301,-24],[211,15],[53.73,-16.135],[-30,2],[-152.848,-68.747],[-258.576,5.235]],"c":true}],"e":[{"i":[[-9,-75],[8,-3],[-0.5,-1.5],[0,0],[1.5,4.5],[6,0],[39.489,1.067],[28,0],[0.312,0.208],[34.572,0],[33.942,-0.219],[31.15,-0.014]],"o":[[0.754,6.279],[-8,3],[0.5,1.5],[0,0],[-1.5,-4.5],[-6,0],[-37,-1],[-29.709,0],[-24.059,-16.072],[-44,0],[-64.06,0.413],[-2.443,0.001]],"v":[[-310,52],[-322,36],[-323,118.5],[314.5,112],[316.5,10],[319,19.5],[221,-17],[88.5,12],[29.175,-2.414],[-53,-43],[-140.94,14.587],[-269.15,-23.986]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":100,"s":[{"i":[[-9,-75],[8,-3],[-0.5,-1.5],[0,0],[1.5,4.5],[6,0],[39.489,1.067],[28,0],[0.312,0.208],[34.572,0],[33.942,-0.219],[31.15,-0.014]],"o":[[0.754,6.279],[-8,3],[0.5,1.5],[0,0],[-1.5,-4.5],[-6,0],[-37,-1],[-29.709,0],[-24.059,-16.072],[-44,0],[-64.06,0.413],[-2.443,0.001]],"v":[[-310,52],[-322,36],[-323,118.5],[314.5,112],[316.5,10],[319,19.5],[221,-17],[88.5,12],[29.175,-2.414],[-53,-43],[-140.94,14.587],[-269.15,-23.986]],"c":true}],"e":[{"i":[[9,8],[8,-3],[-0.5,-1.5],[0,0],[1.5,4.5],[6,0],[39.5,-0.5],[28.994,0.624],[0.305,0.008],[34.798,0],[42.507,-1.345],[32.057,0.226]],"o":[[-4.727,-4.202],[-8,3],[0.5,1.5],[0,0],[-1.5,-4.5],[-6,0],[-39.997,0.506],[-45.446,-0.977],[-53.635,-1.448],[-88.006,0],[-41.477,1.313],[-2.79,-0.02]],"v":[[-305,1],[-322,36],[-323,118.5],[314.5,112],[356.5,54],[342,13.5],[356,-16],[300,17],[106.635,-21.552],[-6,36],[-171.523,-5.313],[-276.057,15.774]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":125,"s":[{"i":[[9,8],[8,-3],[-0.5,-1.5],[0,0],[1.5,4.5],[6,0],[39.5,-0.5],[28.994,0.624],[0.305,0.008],[34.798,0],[42.507,-1.345],[32.057,0.226]],"o":[[-4.727,-4.202],[-8,3],[0.5,1.5],[0,0],[-1.5,-4.5],[-6,0],[-39.997,0.506],[-45.446,-0.977],[-53.635,-1.448],[-88.006,0],[-41.477,1.313],[-2.79,-0.02]],"v":[[-305,1],[-322,36],[-323,118.5],[314.5,112],[356.5,54],[342,13.5],[356,-16],[300,17],[106.635,-21.552],[-6,36],[-171.523,-5.313],[-276.057,15.774]],"c":true}],"e":[{"i":[[20,-8],[8,-3],[-0.5,-1.5],[0,0],[1.5,4.5],[6,0],[39.5,-0.5],[47,-8],[0.236,0.002],[29.708,0],[48.429,1.52],[49.864,-0.786]],"o":[[-5.872,2.349],[-8,3],[0.5,1.5],[0,0],[-1.5,-4.5],[-6,0],[-39.997,0.506],[-11.65,1.983],[-39.206,-0.383],[-67,0],[-45.549,-1.43],[-59.216,0.933]],"v":[[-305,1],[-322,36],[-323,118.5],[314.5,112],[356.5,54],[342,13.5],[325,-29],[228,3],[106.206,-10.617],[7,22],[-112.451,-29.57],[-222.784,28.067]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":150,"s":[{"i":[[20,-8],[8,-3],[-0.5,-1.5],[0,0],[1.5,4.5],[6,0],[39.5,-0.5],[47,-8],[0.236,0.002],[29.708,0],[48.429,1.52],[49.864,-0.786]],"o":[[-5.872,2.349],[-8,3],[0.5,1.5],[0,0],[-1.5,-4.5],[-6,0],[-39.997,0.506],[-11.65,1.983],[-39.206,-0.383],[-67,0],[-45.549,-1.43],[-59.216,0.933]],"v":[[-305,1],[-322,36],[-323,118.5],[314.5,112],[356.5,54],[342,13.5],[325,-29],[228,3],[106.206,-10.617],[7,22],[-112.451,-29.57],[-222.784,28.067]],"c":true}],"e":[{"i":[[15.5,-7],[8,-3],[-0.5,-1.5],[0,0],[1.5,4.5],[6,0],[39.5,-0.5],[39.5,2.75],[35.924,-1.559],[36.995,-1.156],[44.829,-1.288],[51.088,1.559]],"o":[[-5.764,2.603],[-8,3],[0.5,1.5],[0,0],[-1.5,-4.5],[-6,0],[-39.997,0.506],[-36.664,-2.553],[-32.262,1.4],[-32,1],[-38.162,1.096],[-56.889,-1.736]],"v":[[-330,7],[-322,36],[-323,118.5],[314.5,112],[316.5,10],[313,-8.5],[283,19],[161,-42],[62.576,25.059],[-18,-10],[-113.838,26.904],[-213.111,-43.264]],"c":true}]},{"t":174}],"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.105882352941,0.376470588235,0.576470588235,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Trazo 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.105882352941,0.376470588235,0.576470588235,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Relleno 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Transformar"}],"nm":"Forma 1","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[32.5,0],[15.5,-7],[8,-3],[-0.5,-1.5],[0,0],[1.5,4.5],[6,0],[39.5,-0.5],[29,0],[40.5,-0.5],[31,-0.484],[40,0]],"o":[[-34.5,0],[-5.764,2.603],[-8,3],[0.5,1.5],[0,0],[-1.5,-4.5],[-6,0],[-39.997,0.506],[-30.5,0],[-38.51,0.475],[-32,0.5],[-39.513,0]],"v":[[-213,-10],[-300,14],[-322,36],[-323,118.5],[314.5,112],[316.5,10],[313,-8.5],[283,19],[181,-11],[91,21],[-30,-27],[-119.5,21]],"c":true},"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Transformar"}],"nm":"Grupo 1","np":1,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":true}],"ip":0,"op":182,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Capa de formas 7","sr":1,"ks":{"o":{"a":0,"k":20,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[383,69,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[145.483,118.069,100],"ix":6}},"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},"n":"0p667_1_0p333_0","t":0,"s":[{"i":[[22,0],[21.482,1.006],[20.41,-1.327],[21.5,0.5],[17.059,0.867],[63.749,1.868],[23,0],[20,1],[22.004,0.917],[0,0],[0,0],[0,-6],[-3,0],[3,2],[3.073,2.561]],"o":[[-22.006,0],[-68.647,-3.214],[-19.465,1.266],[-19.521,-0.454],[-36.595,-1.859],[-18.992,-0.557],[-19.026,0],[-20.998,-1.05],[-24,-1],[0,0],[0,0],[0,6],[3,0],[-3,-2],[-6,-5]],"v":[[240,-20],[180,21],[110.189,-28.317],[71.685,22.194],[26.245,-17.806],[-61,21],[-139.559,-0.52],[-183.124,52.185],[-261.621,-20.847],[-300,20.25],[-320.25,38.25],[-321,137],[319,142],[317,37],[300,21]],"c":true}],"e":[{"i":[[22,0],[21.5,0.5],[20.5,0.5],[13.632,-0.169],[20.516,0.334],[24.57,-0.327],[23,0],[19.965,1.547],[22.004,0.917],[0,0],[0,0],[0,-6],[-3,0],[3,2],[3.073,2.561]],"o":[[-22.006,0],[-20.001,-0.465],[-19.501,-0.476],[-13.947,0.173],[-62.676,-1.02],[-18.998,0.253],[-19.026,0],[-15.15,-1.174],[-24,-1],[0,0],[0,0],[0,6],[3,0],[-3,-2],[-6,-5]],"v":[[240,20],[166.253,-43.715],[117.063,32.011],[81.996,-6.949],[48.928,28.97],[-61,-20],[-117.563,36.939],[-161.503,-28.47],[-207.694,36.092],[-299,-19.75],[-320.25,38.25],[-321,137],[319,142],[317,37],[300,-20]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":37,"s":[{"i":[[22,0],[21.5,0.5],[20.5,0.5],[13.632,-0.169],[20.516,0.334],[24.57,-0.327],[23,0],[19.965,1.547],[22.004,0.917],[0,0],[0,0],[0,-6],[-3,0],[3,2],[3.073,2.561]],"o":[[-22.006,0],[-20.001,-0.465],[-19.501,-0.476],[-13.947,0.173],[-62.676,-1.02],[-18.998,0.253],[-19.026,0],[-15.15,-1.174],[-24,-1],[0,0],[0,0],[0,6],[3,0],[-3,-2],[-6,-5]],"v":[[240,20],[166.253,-43.715],[117.063,32.011],[81.996,-6.949],[48.928,28.97],[-61,-20],[-117.563,36.939],[-161.503,-28.47],[-207.694,36.092],[-299,-19.75],[-320.25,38.25],[-321,137],[319,142],[317,37],[300,-20]],"c":true}],"e":[{"i":[[22,0],[21.5,0.5],[20.474,1.15],[21.5,0.5],[22.558,-0.334],[23,0],[33.017,0.52],[20,1],[22.004,0.917],[0,0],[0,0],[0,-6],[-3,0],[3,2],[3.073,2.561]],"o":[[-22.006,0],[-20.001,-0.465],[-38.703,-2.174],[-19.52,-0.454],[-18.7,0.277],[-19,0],[-19.024,-0.299],[-20.998,-1.05],[-24,-1],[0,0],[0,0],[0,6],[3,0],[-3,-2],[-6,-5]],"v":[[240,-20],[180,21],[120.5,-19],[55.188,38.279],[1.5,-42.368],[-61.687,36.245],[-119.625,-11.53],[-179,70.818],[-241,-20],[-269.069,87.16],[-320.25,38.25],[-321,137],[319,142],[317,37],[300,21]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":77,"s":[{"i":[[22,0],[21.5,0.5],[20.474,1.15],[21.5,0.5],[22.558,-0.334],[23,0],[33.017,0.52],[20,1],[22.004,0.917],[0,0],[0,0],[0,-6],[-3,0],[3,2],[3.073,2.561]],"o":[[-22.006,0],[-20.001,-0.465],[-38.703,-2.174],[-19.52,-0.454],[-18.7,0.277],[-19,0],[-19.024,-0.299],[-20.998,-1.05],[-24,-1],[0,0],[0,0],[0,6],[3,0],[-3,-2],[-6,-5]],"v":[[240,-20],[180,21],[120.5,-19],[55.188,38.279],[1.5,-42.368],[-61.687,36.245],[-119.625,-11.53],[-179,70.818],[-241,-20],[-269.069,87.16],[-320.25,38.25],[-321,137],[319,142],[317,37],[300,21]],"c":true}],"e":[{"i":[[22,0],[21.5,0.5],[20.5,0.5],[21.797,0.045],[20.512,0.493],[29.381,-2.453],[40.578,-1.211],[20,1],[22.004,0.917],[0,0],[0,0],[0,-6],[-3,0],[3,2],[3.073,2.561]],"o":[[-22.006,0],[-20.001,-0.465],[-19.501,-0.476],[-21.508,-0.045],[-30.369,-0.729],[-24.835,2.073],[-19.018,0.568],[-20.998,-1.05],[-24,-1],[0,0],[0,0],[0,6],[3,0],[-3,-2],[-6,-5]],"v":[[240,20],[179.313,-8.989],[119.813,37.092],[60.687,-15.418],[4.249,35.745],[-61,-6.941],[-121,20],[-177.313,10.491],[-247.561,33.551],[-299,-19.75],[-320.25,38.25],[-321,137],[319,142],[317,37],[300,-20]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":112,"s":[{"i":[[22,0],[21.5,0.5],[20.5,0.5],[21.797,0.045],[20.512,0.493],[29.381,-2.453],[40.578,-1.211],[20,1],[22.004,0.917],[0,0],[0,0],[0,-6],[-3,0],[3,2],[3.073,2.561]],"o":[[-22.006,0],[-20.001,-0.465],[-19.501,-0.476],[-21.508,-0.045],[-30.369,-0.729],[-24.835,2.073],[-19.018,0.568],[-20.998,-1.05],[-24,-1],[0,0],[0,0],[0,6],[3,0],[-3,-2],[-6,-5]],"v":[[240,20],[179.313,-8.989],[119.813,37.092],[60.687,-15.418],[4.249,35.745],[-61,-6.941],[-121,20],[-177.313,10.491],[-247.561,33.551],[-299,-19.75],[-320.25,38.25],[-321,137],[319,142],[317,37],[300,-20]],"c":true}],"e":[{"i":[[22,0],[21.5,0.5],[20.5,0.5],[21.5,0.5],[19.121,-5.062],[22.966,1.25],[26.143,-0.695],[26.405,-1.112],[29.291,-0.497],[0,0],[0,0],[0,-6],[-3,0],[3,2],[3.073,2.561]],"o":[[-22.006,0],[-20.001,-0.465],[-19.501,-0.476],[-19.52,-0.454],[-21.756,5.76],[-24.921,-1.357],[-24.714,0.657],[-18.952,0.798],[-64.182,1.089],[0,0],[0,0],[0,6],[3,0],[-3,-2],[-6,-5]],"v":[[240,-20],[180,21],[123.249,7.256],[69.623,-13.379],[13.873,1.674],[-61,21],[-124.437,-43.715],[-179.687,31.858],[-241,-20],[-300,20.25],[-320.25,38.25],[-321,137],[319,142],[317,37],[300,21]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":149,"s":[{"i":[[22,0],[21.5,0.5],[20.5,0.5],[21.5,0.5],[19.121,-5.062],[22.966,1.25],[26.143,-0.695],[26.405,-1.112],[29.291,-0.497],[0,0],[0,0],[0,-6],[-3,0],[3,2],[3.073,2.561]],"o":[[-22.006,0],[-20.001,-0.465],[-19.501,-0.476],[-19.52,-0.454],[-21.756,5.76],[-24.921,-1.357],[-24.714,0.657],[-18.952,0.798],[-64.182,1.089],[0,0],[0,0],[0,6],[3,0],[-3,-2],[-6,-5]],"v":[[240,-20],[180,21],[123.249,7.256],[69.623,-13.379],[13.873,1.674],[-61,21],[-124.437,-43.715],[-179.687,31.858],[-241,-20],[-300,20.25],[-320.25,38.25],[-321,137],[319,142],[317,37],[300,21]],"c":true}],"e":[{"i":[[22,0],[21.482,1.006],[20.41,-1.327],[21.5,0.5],[17.059,0.867],[63.749,1.868],[23,0],[20,1],[22.004,0.917],[0,0],[0,0],[0,-6],[-3,0],[3,2],[3.073,2.561]],"o":[[-22.006,0],[-68.647,-3.214],[-19.465,1.266],[-19.521,-0.454],[-36.595,-1.859],[-18.992,-0.557],[-19.026,0],[-20.998,-1.05],[-24,-1],[0,0],[0,0],[0,6],[3,0],[-3,-2],[-6,-5]],"v":[[240,-20],[180,21],[110.189,-28.317],[71.685,22.194],[26.245,-17.806],[-61,21],[-139.559,-0.52],[-183.124,52.185],[-261.621,-20.847],[-300,20.25],[-320.25,38.25],[-321,137],[319,142],[317,37],[300,21]],"c":true}]},{"t":174}],"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.105882352941,0.376470588235,0.576470588235,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Trazo 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.105882352941,0.376470588235,0.576470588235,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Relleno 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,99.171],"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":"Transformar"}],"nm":"Forma 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":178,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Capa de formas 9","sr":1,"ks":{"o":{"a":0,"k":70,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[300,88,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[165.038,100,100],"ix":6}},"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},"n":"0p667_1_0p333_0","t":0,"s":[{"i":[[27.202,0],[15.5,-7],[8,-3],[-0.5,-1.5],[0,0],[1.5,4.5],[6,0],[39.5,-0.5],[29,0],[40.5,-0.5],[31,-0.484],[40,0],[5.609,1.379]],"o":[[-34.5,0],[-5.764,2.603],[-8,3],[0.5,1.5],[0,0],[-1.5,-4.5],[-6,0],[-39.997,0.506],[-30.5,0],[-38.51,0.475],[-32,0.5],[-6.441,0],[-28.799,-7.08]],"v":[[-213,-10],[-300,14],[-322,36],[-323,118.5],[314.5,112],[316.5,10],[313,-8.5],[283,19],[181,-11],[91,21],[-30,-27],[-119.5,21],[-137.512,18.797]],"c":true}],"e":[{"i":[[27.202,0],[15.5,-7],[8,-3],[-0.5,-1.5],[0,0],[1.5,4.5],[6,0],[39.5,-0.5],[29,0],[30,-2],[31,-0.484],[40,0],[5.431,-1.868]],"o":[[-34.5,0],[-5.764,2.603],[-8,3],[0.5,1.5],[0,0],[-1.5,-4.5],[-6,0],[-39.997,0.506],[-30.5,0],[-38.428,2.562],[-32,0.5],[-6.441,0],[-27.885,9.593]],"v":[[-210,11],[-315,-21],[-322,36],[-323,118.5],[314.5,112],[316.5,10],[345,28.5],[309,0],[154,18],[84,-12],[-6,20],[-120.5,-31],[-138.228,-28.016]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":25,"s":[{"i":[[27.202,0],[15.5,-7],[8,-3],[-0.5,-1.5],[0,0],[1.5,4.5],[6,0],[39.5,-0.5],[29,0],[30,-2],[31,-0.484],[40,0],[5.431,-1.868]],"o":[[-34.5,0],[-5.764,2.603],[-8,3],[0.5,1.5],[0,0],[-1.5,-4.5],[-6,0],[-39.997,0.506],[-30.5,0],[-38.428,2.562],[-32,0.5],[-6.441,0],[-27.885,9.593]],"v":[[-210,11],[-315,-21],[-322,36],[-323,118.5],[314.5,112],[316.5,10],[345,28.5],[309,0],[154,18],[84,-12],[-6,20],[-120.5,-31],[-138.228,-28.016]],"c":true}],"e":[{"i":[[27.202,0],[15.5,-7],[8,-3],[-0.5,-1.5],[0,0],[1.5,4.5],[6,0],[39.5,-0.5],[32.996,-0.509],[40.5,-0.5],[26.102,-1.054],[40,0],[8.011,1.557]],"o":[[-34.5,0],[-5.764,2.603],[-8,3],[0.5,1.5],[0,0],[-1.5,-4.5],[-6,0],[-39.997,0.506],[-129.59,2],[-38.51,0.475],[-24.774,1],[-6.441,0],[-41.132,-7.994]],"v":[[-272,-20],[-347,1],[-322,36],[-323,118.5],[314.5,112],[316.5,10],[344,-5.5],[305,18],[192,-24],[38,18],[-57.631,-55],[-124.5,15],[-146.349,12.513]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":50,"s":[{"i":[[27.202,0],[15.5,-7],[8,-3],[-0.5,-1.5],[0,0],[1.5,4.5],[6,0],[39.5,-0.5],[32.996,-0.509],[40.5,-0.5],[26.102,-1.054],[40,0],[8.011,1.557]],"o":[[-34.5,0],[-5.764,2.603],[-8,3],[0.5,1.5],[0,0],[-1.5,-4.5],[-6,0],[-39.997,0.506],[-129.59,2],[-38.51,0.475],[-24.774,1],[-6.441,0],[-41.132,-7.994]],"v":[[-272,-20],[-347,1],[-322,36],[-323,118.5],[314.5,112],[316.5,10],[344,-5.5],[305,18],[192,-24],[38,18],[-57.631,-55],[-124.5,15],[-146.349,12.513]],"c":true}],"e":[{"i":[[27.202,0],[15.5,-7],[8,-3],[-0.5,-1.5],[0,0],[1.5,4.5],[6,0],[34.781,-18.728],[28.998,-0.31],[37.553,-2],[31.004,0],[30.01,0],[6.81,-2.891]],"o":[[-34.5,0],[-5.764,2.603],[-8,3],[0.5,1.5],[0,0],[-1.5,-4.5],[-6,0],[-13,7],[-93.451,1],[-36.936,1.967],[-62.706,0],[-6.441,0],[-34.965,14.846]],"v":[[-262,9],[-301,-20],[-322,36],[-323,118.5],[314.5,112],[316.5,10],[309,15.5],[276,-25],[211,15],[61.212,-50],[-30,2],[-141.5,-56],[-161.431,-51.381]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":75,"s":[{"i":[[27.202,0],[15.5,-7],[8,-3],[-0.5,-1.5],[0,0],[1.5,4.5],[6,0],[34.781,-18.728],[28.998,-0.31],[37.553,-2],[31.004,0],[30.01,0],[6.81,-2.891]],"o":[[-34.5,0],[-5.764,2.603],[-8,3],[0.5,1.5],[0,0],[-1.5,-4.5],[-6,0],[-13,7],[-93.451,1],[-36.936,1.967],[-62.706,0],[-6.441,0],[-34.965,14.846]],"v":[[-262,9],[-301,-20],[-322,36],[-323,118.5],[314.5,112],[316.5,10],[309,15.5],[276,-25],[211,15],[61.212,-50],[-30,2],[-141.5,-56],[-161.431,-51.381]],"c":true}],"e":[{"i":[[17.342,0],[15.5,-7],[8,-3],[-0.5,-1.5],[0,0],[1.5,4.5],[6,0],[39.5,-0.5],[22.776,0],[69.184,3],[24.31,-1],[69.272,-2],[3.83,2.046]],"o":[[-34.5,0],[-5.764,2.603],[-8,3],[0.5,1.5],[0,0],[-1.5,-4.5],[-6,0],[-39.997,0.506],[-32.362,0],[-96.933,-4.203],[-18.117,0.745],[-6.439,0.186],[-19.663,-10.506]],"v":[[-187,-27],[-310,52],[-322,36],[-323,118.5],[314.5,112],[316.5,10],[315,-54.5],[225,16],[156.576,-27],[52,14],[-52.788,-71],[-133.5,19],[-148.67,15.731]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":100,"s":[{"i":[[17.342,0],[15.5,-7],[8,-3],[-0.5,-1.5],[0,0],[1.5,4.5],[6,0],[39.5,-0.5],[22.776,0],[69.184,3],[24.31,-1],[69.272,-2],[3.83,2.046]],"o":[[-34.5,0],[-5.764,2.603],[-8,3],[0.5,1.5],[0,0],[-1.5,-4.5],[-6,0],[-39.997,0.506],[-32.362,0],[-96.933,-4.203],[-18.117,0.745],[-6.439,0.186],[-19.663,-10.506]],"v":[[-187,-27],[-310,52],[-322,36],[-323,118.5],[314.5,112],[316.5,10],[315,-54.5],[225,16],[156.576,-27],[52,14],[-52.788,-71],[-133.5,19],[-148.67,15.731]],"c":true}],"e":[{"i":[[27.202,0],[15.5,-7],[8,-3],[-0.5,-1.5],[0,0],[1.5,4.5],[6,0],[39.5,-0.5],[29,0],[32.603,17],[51.656,3.506],[23.532,0],[24.687,-2.99]],"o":[[-34.5,0],[-5.764,2.603],[-8,3],[0.5,1.5],[0,0],[-1.5,-4.5],[-6,0],[-39.997,0.506],[-30.5,0],[-58.529,-30.518],[-117.884,-8],[-23.73,0],[-27.739,3.359]],"v":[[-250,20],[-305,1],[-322,36],[-323,118.5],[314.5,112],[356.5,54],[342,13.5],[356,-16],[290,9],[111,-45],[7,22],[-129.568,-63],[-181.015,-6.01]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":125,"s":[{"i":[[27.202,0],[15.5,-7],[8,-3],[-0.5,-1.5],[0,0],[1.5,4.5],[6,0],[39.5,-0.5],[29,0],[32.603,17],[51.656,3.506],[23.532,0],[24.687,-2.99]],"o":[[-34.5,0],[-5.764,2.603],[-8,3],[0.5,1.5],[0,0],[-1.5,-4.5],[-6,0],[-39.997,0.506],[-30.5,0],[-58.529,-30.518],[-117.884,-8],[-23.73,0],[-27.739,3.359]],"v":[[-250,20],[-305,1],[-322,36],[-323,118.5],[314.5,112],[356.5,54],[342,13.5],[356,-16],[290,9],[111,-45],[7,22],[-129.568,-63],[-181.015,-6.01]],"c":true}],"e":[{"i":[[59,0],[28,-9],[8,-3],[-0.5,-1.5],[0,0],[1.5,4.5],[6,0],[39.5,-0.5],[98.917,4.172],[26.603,1],[79.612,-3.1],[20.518,-1],[7.066,-9.166]],"o":[[-34.5,0],[-6.021,1.935],[-8,3],[0.5,1.5],[0,0],[-1.5,-4.5],[-6,0],[-39.997,0.506],[-71.121,-3],[-29.189,-1.097],[-102.736,4],[-9.766,0.476],[-19.913,25.833]],"v":[[-231,31],[-305,1],[-322,36],[-323,118.5],[314.5,112],[356.5,54],[342,13.5],[356,-16],[202,12],[117,-55],[7,22],[-116.254,-55],[-143.398,-9.834]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":150,"s":[{"i":[[59,0],[28,-9],[8,-3],[-0.5,-1.5],[0,0],[1.5,4.5],[6,0],[39.5,-0.5],[98.917,4.172],[26.603,1],[79.612,-3.1],[20.518,-1],[7.066,-9.166]],"o":[[-34.5,0],[-6.021,1.935],[-8,3],[0.5,1.5],[0,0],[-1.5,-4.5],[-6,0],[-39.997,0.506],[-71.121,-3],[-29.189,-1.097],[-102.736,4],[-9.766,0.476],[-19.913,25.833]],"v":[[-231,31],[-305,1],[-322,36],[-323,118.5],[314.5,112],[356.5,54],[342,13.5],[356,-16],[202,12],[117,-55],[7,22],[-116.254,-55],[-143.398,-9.834]],"c":true}],"e":[{"i":[[27.202,0],[15.5,-7],[8,-3],[-0.5,-1.5],[0,0],[1.5,4.5],[6,0],[39.5,-0.5],[29,0],[40.5,-0.5],[31,-0.484],[40,0],[5.609,1.379]],"o":[[-34.5,0],[-5.764,2.603],[-8,3],[0.5,1.5],[0,0],[-1.5,-4.5],[-6,0],[-39.997,0.506],[-30.5,0],[-38.51,0.475],[-32,0.5],[-6.441,0],[-28.799,-7.08]],"v":[[-213,-10],[-300,14],[-322,36],[-323,118.5],[314.5,112],[316.5,10],[313,-8.5],[283,19],[181,-11],[91,21],[-30,-27],[-119.5,21],[-137.512,18.797]],"c":true}]},{"t":174}],"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.105882352941,0.376470588235,0.576470588235,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Trazo 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.105882352941,0.376470588235,0.576470588235,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Relleno 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Transformar"}],"nm":"Forma 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[32.5,0],[15.5,-7],[8,-3],[-0.5,-1.5],[0,0],[1.5,4.5],[6,0],[39.5,-0.5],[29,0],[40.5,-0.5],[31,-0.484],[40,0]],"o":[[-34.5,0],[-5.764,2.603],[-8,3],[0.5,1.5],[0,0],[-1.5,-4.5],[-6,0],[-39.997,0.506],[-30.5,0],[-38.51,0.475],[-32,0.5],[-39.513,0]],"v":[[-213,-10],[-300,14],[-322,36],[-323,118.5],[314.5,112],[316.5,10],[313,-8.5],[283,19],[181,-11],[91,21],[-30,-27],[-119.5,21]],"c":true},"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Transformar"}],"nm":"Grupo 1","np":1,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":true},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[27.202,0],[15.5,-7],[8,-3],[-0.5,-1.5],[0,0],[1.5,4.5],[6,0],[39.5,-0.5],[29,0],[40.5,-0.5],[31,-0.484],[40,0],[5.609,1.379]],"o":[[-34.5,0],[-5.764,2.603],[-8,3],[0.5,1.5],[0,0],[-1.5,-4.5],[-6,0],[-39.997,0.506],[-30.5,0],[-38.51,0.475],[-32,0.5],[-6.441,0],[-28.799,-7.08]],"v":[[-213,-10],[-300,14],[-322,36],[-323,118.5],[314.5,112],[316.5,10],[313,-8.5],[283,19],[181,-11],[91,21],[-30,-27],[-119.5,21],[-137.512,18.797]],"c":true},"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Transformar"}],"nm":"Grupo 2","np":1,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":182,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Capa de formas 6","sr":1,"ks":{"o":{"a":0,"k":40,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[300,83,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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},"n":"0p667_1_0p333_0","t":0,"s":[{"i":[[1,5],[-2,-6],[-7,0],[0,4],[14.036,0],[41.129,-12.788],[26.96,-0.808],[1.399,-0.957],[19.256,-0.204],[26.627,-0.522],[21,0],[38,-1],[47.027,-1.206],[2,3]],"o":[[-1,-5],[2,6],[7,0],[0,-4],[-7.061,0],[-30.705,9.547],[-31.026,0.93],[-19,13],[-37.752,0.4],[-18.418,0.361],[-25.08,0],[-52.991,1.395],[-39,1],[-2,-3]],"v":[[-328,-31],[-338,120],[336,139],[326,-6],[333,-52],[273.705,21.453],[196.04,-2.192],[148,15],[96.752,88.6],[17.418,-14.361],[-35,30],[-104,-42],[-222,47],[-309,-23]],"c":true}],"e":[{"i":[[1,5],[-2,-6],[-7,0],[0,4],[14.036,0],[6.641,18.354],[14.109,0.193],[27,1],[39.165,0.801],[19.535,-1.188],[31,0],[44,1],[39,-2],[2,3]],"o":[[-1,-5],[2,6],[7,0],[0,-4],[-7.603,0],[-5.132,-14.182],[-21.95,-0.3],[-36.975,-1.369],[-36.893,-0.755],[-28.506,1.734],[-26.476,0],[-78.986,-1.795],[-33.017,1.693],[-2,-3]],"v":[[-328,-31],[-338,120],[336,139],[326,-6],[326,60],[314.139,25.326],[293.95,-4.7],[230,33],[161.835,-31.801],[59.506,9.266],[-13,-19],[-100,62],[-220,-28],[-298,84]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":32,"s":[{"i":[[1,5],[-2,-6],[-7,0],[0,4],[14.036,0],[6.641,18.354],[14.109,0.193],[27,1],[39.165,0.801],[19.535,-1.188],[31,0],[44,1],[39,-2],[2,3]],"o":[[-1,-5],[2,6],[7,0],[0,-4],[-7.603,0],[-5.132,-14.182],[-21.95,-0.3],[-36.975,-1.369],[-36.893,-0.755],[-28.506,1.734],[-26.476,0],[-78.986,-1.795],[-33.017,1.693],[-2,-3]],"v":[[-328,-31],[-338,120],[336,139],[326,-6],[326,60],[314.139,25.326],[293.95,-4.7],[230,33],[161.835,-31.801],[59.506,9.266],[-13,-19],[-100,62],[-220,-28],[-298,84]],"c":true}],"e":[{"i":[[1,5],[-2,-6],[-7,0],[0,4],[14.036,0],[7.65,-6.414],[7.247,-5.107],[4.918,0.164],[12.569,8.758],[22.573,-8.821],[17.943,0.427],[41,0],[25.988,0.619],[2,3]],"o":[[-1,-5],[2,6],[7,0],[0,-4],[-7.603,0],[-5.911,4.956],[-7.332,5.167],[-14.474,-0.482],[-24.151,-16.829],[-5.86,2.29],[-39.04,-0.93],[-46,0],[-38.989,-0.928],[-2,-3]],"v":[[-328,-31],[-338,120],[336,139],[326,-6],[299,-19],[276.739,-7.642],[257.287,8.255],[218,21],[180.151,0.829],[78.519,-2.331],[0,19],[-89,-30],[-220,20],[-305,-18]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":66,"s":[{"i":[[1,5],[-2,-6],[-7,0],[0,4],[14.036,0],[7.65,-6.414],[7.247,-5.107],[4.918,0.164],[12.569,8.758],[22.573,-8.821],[17.943,0.427],[41,0],[25.988,0.619],[2,3]],"o":[[-1,-5],[2,6],[7,0],[0,-4],[-7.603,0],[-5.911,4.956],[-7.332,5.167],[-14.474,-0.482],[-24.151,-16.829],[-5.86,2.29],[-39.04,-0.93],[-46,0],[-38.989,-0.928],[-2,-3]],"v":[[-328,-31],[-338,120],[336,139],[326,-6],[299,-19],[276.739,-7.642],[257.287,8.255],[218,21],[180.151,0.829],[78.519,-2.331],[0,19],[-89,-30],[-220,20],[-305,-18]],"c":true}],"e":[{"i":[[1,5],[-2,-6],[-7,0],[0,4],[14.036,0],[2.174,-0.262],[4.752,3.855],[26,0],[7.165,-7.199],[23.02,-0.207],[36,0],[45.011,0],[23,-1],[2,3]],"o":[[-1,-5],[2,6],[7,0],[0,-4],[-9.088,0],[-1.05,0.127],[-6.536,-5.303],[-16,0],[-12.471,12.53],[-38.545,0.347],[-43.012,0],[-33,0],[-33.983,1.478],[-2,-3]],"v":[[-328,-31],[-338,120],[336,139],[326,-6],[318,29],[308.787,35.235],[300.95,30.3],[216,-41],[173.835,-10.801],[97.545,33.653],[12,-52],[-91,21],[-219,-19],[-308,21]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":104,"s":[{"i":[[1,5],[-2,-6],[-7,0],[0,4],[14.036,0],[2.174,-0.262],[4.752,3.855],[26,0],[7.165,-7.199],[23.02,-0.207],[36,0],[45.011,0],[23,-1],[2,3]],"o":[[-1,-5],[2,6],[7,0],[0,-4],[-9.088,0],[-1.05,0.127],[-6.536,-5.303],[-16,0],[-12.471,12.53],[-38.545,0.347],[-43.012,0],[-33,0],[-33.983,1.478],[-2,-3]],"v":[[-328,-31],[-338,120],[336,139],[326,-6],[318,29],[308.787,35.235],[300.95,30.3],[216,-41],[173.835,-10.801],[97.545,33.653],[12,-52],[-91,21],[-219,-19],[-308,21]],"c":true}],"e":[{"i":[[1,5],[-2,-6],[-7,0],[0,4],[14.036,0],[7.65,-6.414],[7.247,-5.107],[31.981,3.198],[31.084,18.789],[26.175,-15.755],[17.906,1.226],[26,0],[34,1],[2,3]],"o":[[-1,-5],[2,6],[7,0],[0,-4],[-7.603,0],[-5.911,4.956],[-7.332,5.167],[-20,-2],[-31.151,-18.829],[-10.519,6.331],[-73,-5],[-58.009,0],[-38.983,-1.147],[-2,-3]],"v":[[-328,-31],[-338,120],[336,139],[326,-6],[328,-28],[311.739,-15.642],[303.287,2.255],[243,46],[182.151,-23.171],[75.519,-5.331],[0,19],[-107,-20],[-220,20],[-305,-51]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":140,"s":[{"i":[[1,5],[-2,-6],[-7,0],[0,4],[14.036,0],[7.65,-6.414],[7.247,-5.107],[31.981,3.198],[31.084,18.789],[26.175,-15.755],[17.906,1.226],[26,0],[34,1],[2,3]],"o":[[-1,-5],[2,6],[7,0],[0,-4],[-7.603,0],[-5.911,4.956],[-7.332,5.167],[-20,-2],[-31.151,-18.829],[-10.519,6.331],[-73,-5],[-58.009,0],[-38.983,-1.147],[-2,-3]],"v":[[-328,-31],[-338,120],[336,139],[326,-6],[328,-28],[311.739,-15.642],[303.287,2.255],[243,46],[182.151,-23.171],[75.519,-5.331],[0,19],[-107,-20],[-220,20],[-305,-51]],"c":true}],"e":[{"i":[[1,5],[-2,-6],[-7,0],[0,4],[14.036,0],[41.129,-12.788],[26.96,-0.808],[1.399,-0.957],[19.256,-0.204],[26.627,-0.522],[21,0],[38,-1],[47.027,-1.206],[2,3]],"o":[[-1,-5],[2,6],[7,0],[0,-4],[-7.061,0],[-30.705,9.547],[-31.026,0.93],[-19,13],[-37.752,0.4],[-18.418,0.361],[-25.08,0],[-52.991,1.395],[-39,1],[-2,-3]],"v":[[-328,-31],[-338,120],[336,139],[326,-6],[333,-52],[273.705,21.453],[196.04,-2.192],[148,15],[96.752,88.6],[17.418,-14.361],[-35,30],[-104,-42],[-222,47],[-309,-23]],"c":true}]},{"t":174}],"ix":2},"nm":"Trazado 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.105882352941,0.376470588235,0.576470588235,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Trazo 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.105882352941,0.376470588235,0.576470588235,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Relleno 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Transformar"}],"nm":"Forma 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":181,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/party_penguin.json b/submodules/RLottie/Sources/rlottie/example/resource/party_penguin.json deleted file mode 100644 index 06bb8ac28d..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/party_penguin.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"4.10.2","fr":30,"ip":0,"op":58,"w":800,"h":800,"nm":"Fancy 2","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":2,"ty":3,"nm":"GLOBAL","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[54,551,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ip":0,"op":218,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Hat Outlines","parent":9,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.158,"y":1},"o":{"x":0.075,"y":0.312},"n":"0p158_1_0p075_0p312","t":14,"s":[555.632,379.901,0],"e":[568.441,362.019,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.842,"y":1},"o":{"x":1,"y":0},"n":"0p842_1_1_0","t":29,"s":[568.441,362.019,0],"e":[555.632,379.901,0],"to":[0,0,0],"ti":[0,0,0]},{"t":34}],"ix":2},"a":{"a":0,"k":[555.632,379.901,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.296,0.995],[0,0],[0.995,-1.296],[-1.296,-0.995],[0,0],[-0.995,1.296]],"o":[[0,0],[-1.296,-0.995],[-0.996,1.297],[0,0],[1.297,0.995],[0.995,-1.296]],"v":[[28.034,17.79],[-24.43,-22.485],[-28.578,-21.94],[-28.033,-17.791],[24.43,22.484],[28.578,21.939]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.944999964097,0.776000019148,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[555.56,383.074],"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,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[4.026,3.091],[0,0],[3.091,-4.026],[0,0],[0,0],[0,0]],"o":[[0,0],[-4.026,-3.091],[0,0],[0,0],[0,0],[3.091,-4.026]],"v":[[19.117,-2.46],[-2.198,-18.822],[-15.085,-17.129],[-23.902,-5.643],[11.993,21.914],[20.811,10.428]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[562.183,374.355],"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,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":218,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Tie Outlines","parent":8,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[502.404,453,0],"ix":2},"a":{"a":0,"k":[502.404,453,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.852,0.654],[0,0],[0.654,-0.852],[0,0],[-0.852,-0.654],[0,0],[-0.654,0.852],[0,0]],"o":[[0,0],[-0.852,-0.654],[0,0],[-0.654,0.852],[0,0],[0.852,0.654],[0,0],[0.654,-0.852]],"v":[[6.301,-1.525],[-0.156,-6.48],[-2.893,-6.12],[-6.661,-1.214],[-6.301,1.525],[0.155,6.48],[2.893,6.121],[6.66,1.215]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[501.763,453.567],"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,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.864,1.125],[0,0],[1.467,0.227],[0,0],[-0.761,-1.42],[0,0]],"o":[[0,0],[0.904,-1.178],[0,0],[-1.592,-0.246],[0,0],[0.67,1.25]],"v":[[0.98,7.35],[8.825,-2.868],[7.574,-5.988],[-6.948,-8.229],[-8.967,-5.376],[-2.291,7.083]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[512.737,462.455],"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,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.864,1.125],[0,0],[-0.598,-1.359],[0,0],[1.568,0.368],[0,0]],"o":[[0,0],[0.904,-1.178],[0,0],[0.649,1.474],[0,0],[-1.381,-0.324]],"v":[[-8.442,2.354],[-0.597,-7.865],[2.74,-7.462],[8.657,5.987],[6.423,8.675],[-7.339,5.445]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[491.688,444.06],"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,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":218,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Legs Right","parent":9,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[411.027,495.735,0],"ix":2},"a":{"a":0,"k":[411.027,495.735,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-4.8,-3.743],[-3.758,4.746]],"o":[[-3.743,4.8],[4.774,3.723],[0,0]],"v":[[-6.793,-9.596],[-4.88,5.873],[10.536,4.028]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[410.821,497.93],"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,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":218,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Legs Left","parent":9,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[483.024,549.985,0],"ix":2},"a":{"a":0,"k":[483.024,549.985,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-4.8,-3.743],[-3.758,4.746]],"o":[[-3.743,4.8],[4.774,3.723],[0,0]],"v":[[-6.793,-9.596],[-4.88,5.873],[10.536,4.028]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[481.814,552.431],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":218,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Eyes","parent":9,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[528.919,419.966,0],"ix":2},"a":{"a":0,"k":[528.919,419.966,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":19,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[498.824,384.003],[487.435,399.044],[565.432,458.108],[576.822,443.068]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[493.78,392.277],[491.988,393.65],[566.012,450.516],[567.804,449.143]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":22,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[493.78,392.277],[491.988,393.65],[566.012,450.516],[567.804,449.143]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[498.824,384.003],[487.435,399.044],[565.432,458.108],[576.822,443.068]],"c":true}]},{"t":25}],"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-2.335,3.042],[3.043,2.335],[2.336,-3.042],[-3.042,-2.336]],"o":[[2.336,-3.042],[-3.042,-2.336],[-2.335,3.043],[3.042,2.335]],"v":[[5.508,4.229],[4.228,-5.508],[-5.509,-4.229],[-4.229,5.509]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[556.462,441.11],"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,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-2.335,3.042],[3.043,2.335],[2.336,-3.042],[-3.042,-2.336]],"o":[[2.335,-3.042],[-3.042,-2.336],[-2.335,3.043],[3.042,2.335]],"v":[[5.509,4.229],[4.228,-5.508],[-5.509,-4.229],[-4.229,5.509]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[501.377,398.823],"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,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":218,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"belly","parent":9,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[499.737,455.46,0],"ix":2},"a":{"a":0,"k":[499.737,455.46,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-8.652,-6.643],[6.642,-8.652],[0,0],[0,0]],"o":[[6.642,-8.652],[8.652,6.642],[0,0],[0,0],[0,0]],"v":[[-0.947,-30.385],[26.746,-34.023],[30.385,-6.332],[-5.695,40.667],[-37.027,16.613]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[540.039,460.227],"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 4","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-8.652,-6.642],[6.642,-8.652],[0,0],[0,0]],"o":[[6.642,-8.652],[8.652,6.642],[0,0],[0,0],[0,0]],"v":[[-0.947,-30.385],[26.746,-34.024],[30.385,-6.332],[-5.695,40.666],[-37.027,16.613]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[483.324,416.688],"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 5","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.347,9.496],[0,0],[0,0],[0,0],[-13.318,-10.225],[0,0],[-10.132,13.198],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[-10.132,13.199],[0,0],[13.318,10.224],[0,0],[0,0],[0,0],[-8.762,3.9]],"v":[[11.966,-28.935],[18.368,-74.081],[-15.857,-70.098],[-62.668,-9.121],[-56.898,33.289],[-17.082,63.857],[25.379,58.471],[72.799,-3.298],[70.701,-34.535],[29.089,-16.01]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[493.819,462.152],"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 7","np":2,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":218,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"Body","parent":14,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.37],"y":[1]},"o":{"x":[0.45],"y":[0]},"n":["0p37_1_0p45_0"],"t":0,"s":[50],"e":[-14.62]},{"i":{"x":[0.674],"y":[-0.319]},"o":{"x":[0.341],"y":[0]},"n":["0p674_-0p319_0p341_0"],"t":19,"s":[-14.62],"e":[-14.418]},{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.64],"y":[0.067]},"n":["0p56_1_0p64_0p067"],"t":23,"s":[-14.418],"e":[50]},{"t":56}],"ix":10},"p":{"a":0,"k":[459.201,356.344,0],"ix":2},"a":{"a":0,"k":[449.08,358.479,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":6,"s":[100,100,100],"e":[131,78,100]},{"i":{"x":[0.27,0.27,0.27],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0]},"n":["0p27_1_0p167_0p167","0p27_1_0p167_0p167","0p27_1_0p167_0"],"t":10,"s":[131,78,100],"e":[100,100,100]},{"t":17}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.465,7.119],[7.118,5.465],[5.465,-7.118],[-7.119,-5.465]],"o":[[5.465,-7.119],[-7.119,-5.465],[-5.466,7.119],[7.119,5.465]],"v":[[12.89,9.896],[9.896,-12.889],[-12.889,-9.895],[-9.895,12.89]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.952999997606,0.808000033509,0.395999983245,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[555.002,442.372],"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,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-1.92,1.1],[-3.672,-2.82],[1.116,-4.212],[1.755,1.347]],"o":[[-1.755,-1.348],[3.781,-2.167],[3.673,2.82],[-0.567,2.139],[0,0]],"v":[[-7.978,-1.473],[-7.691,-6.658],[4.632,-5.83],[8.617,5.861],[3.682,7.478]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.944999964097,0.776000019148,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[521.655,428.655],"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,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[1.126,-0.646],[2.156,1.654],[-0.656,2.472],[-1.03,-0.791]],"o":[[1.03,0.791],[-2.219,1.271],[-2.155,-1.655],[0.332,-1.255],[0,0]],"v":[[4.682,0.864],[4.513,3.908],[-2.719,3.421],[-5.056,-3.44],[-2.161,-4.388]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.944999964097,0.776000019148,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[519.534,432.603],"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,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-8.652,-6.643],[6.642,-8.652],[0,0],[0,0]],"o":[[6.642,-8.652],[8.652,6.642],[0,0],[0,0],[0,0]],"v":[[-0.947,-30.385],[26.746,-34.023],[30.385,-6.332],[-5.695,40.667],[-37.027,16.613]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[540.039,460.227],"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 4","np":2,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-8.652,-6.642],[6.642,-8.652],[0,0],[0,0]],"o":[[6.642,-8.652],[8.652,6.642],[0,0],[0,0],[0,0]],"v":[[-0.947,-30.385],[26.746,-34.024],[30.385,-6.332],[-5.695,40.666],[-37.027,16.613]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[483.324,416.688],"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 5","np":2,"cix":2,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[7.01,5.381],[-5.087,6.626],[0,0],[0,0]],"o":[[-5.087,6.626],[-7.009,-5.381],[0,0],[0,0],[0,0]],"v":[[1.419,23.922],[-20.483,26.176],[-23.964,4.436],[3.667,-31.556],[29.05,-12.07]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[527.549,419.108],"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 6","np":2,"cix":2,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.347,9.496],[0,0],[0,0],[0,0],[-13.318,-10.225],[0,0],[-10.132,13.198],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[-10.132,13.199],[0,0],[13.318,10.224],[0,0],[0,0],[0,0],[-8.762,3.9]],"v":[[11.966,-28.935],[18.368,-74.081],[-15.857,-70.098],[-62.668,-9.121],[-56.898,33.289],[-17.082,63.857],[25.379,58.471],[72.799,-3.298],[70.701,-34.535],[29.089,-16.01]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[493.819,462.152],"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 7","np":2,"cix":2,"ix":7,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[35.29,27.092],[0,0],[27.092,-35.29],[0,0],[-14.019,-10.762],[0,0],[-10.762,14.018],[0,0]],"o":[[0,0],[-35.29,-27.092],[0,0],[-10.762,14.018],[0,0],[14.018,10.761],[0,0],[27.092,-35.289]],"v":[[61.762,-78.449],[61.762,-78.449],[-51.19,-63.604],[-92.936,-9.225],[-87.039,35.645],[-10.009,94.779],[34.86,88.882],[76.606,34.503]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[442.313,523.242],"ix":2},"a":{"a":0,"k":[-52.793,64.655],"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 8","np":2,"cix":2,"ix":8,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":218,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"Glass Outlines","parent":11,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[601.505,484.344,0],"ix":2},"a":{"a":0,"k":[601.505,484.344,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[8.306,-5.957],[-6.185,0.826],[-8.305,-3.702],[-3.784,5.958]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.944999964097,0.776000019148,0.361000001197,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[592.294,492.253],"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,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.586,-1.251],[0,0],[1.347,0.192],[0,0],[-0.612,1.05],[0,0]],"o":[[0,0],[0.577,1.232],[0,0],[-1.204,-0.171],[0,0],[0.695,-1.194]],"v":[[1.794,-8.294],[8.957,7.011],[7.165,9.432],[-7.684,7.32],[-8.922,4.763],[-1.237,-8.43]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.944999964097,0.776000019148,0.361000001197,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[609.898,479.757],"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":3,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":218,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"Arm R Outlines","parent":8,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.41],"y":[1]},"o":{"x":[0.59],"y":[0]},"n":["0p41_1_0p59_0"],"t":0,"s":[38],"e":[-42]},{"i":{"x":[0.41],"y":[1]},"o":{"x":[0.59],"y":[0]},"n":["0p41_1_0p59_0"],"t":28,"s":[-42],"e":[38]},{"t":53}],"ix":10},"p":{"a":0,"k":[575.043,479.064,0],"ix":2},"a":{"a":0,"k":[575.043,479.064,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[22.26,22.26],"ix":2},"p":{"a":0,"k":[4,-5],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.117646998985,0.121569001441,0.333332974303,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[570.715,484.126],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.105,0.259],[0,0],[0,0],[-2.281,5.643],[5.595,2.31]],"o":[[0,0],[0,0],[5.644,2.281],[2.269,-5.613],[-6.747,-2.786]],"v":[[-7.052,-14.471],[-15.484,6.389],[-1.134,12.19],[13.215,6.102],[7.208,-8.214]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[585.274,482.801],"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,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":218,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"Arm L Outlines","parent":8,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[460.434,386.251,0],"ix":2},"a":{"a":0,"k":[460.434,386.251,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.265,-0.087],[0,0],[0,0],[5.784,-1.897],[-1.843,-5.766]],"o":[[0,0],[0,0],[-1.897,-5.784],[-5.752,1.886],[2.223,6.953]],"v":[[-7.56,15.327],[13.819,8.316],[8.996,-6.392],[-4.91,-13.43],[-11.977,0.394]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[452.776,378.078],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":218,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"chandelier base","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[344.204,-453.167,0],"ix":2},"a":{"a":0,"k":[445.204,67.833,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[10.771,0],[0,0],[0,10.771],[0,0],[-4.486,0],[0,0],[0,-4.486],[0,0]],"o":[[0,0],[-10.771,0],[0,0],[0,-4.486],[0,0],[4.486,0],[0,0],[0,10.771]],"v":[[14.55,16.216],[-14.55,16.216],[-34.053,-3.287],[-34.053,-8.093],[-25.931,-16.216],[25.931,-16.216],[34.053,-8.093],[34.053,-3.287]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.944999964097,0.776000019148,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[448.062,70.049],"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 16","np":2,"cix":2,"ix":16,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[4.689,0],[0,0],[0,4.69],[0,0],[-1.953,0],[0,0],[0,-1.953],[0,0]],"o":[[0,0],[-4.689,0],[0,0],[0,-1.953],[0,0],[1.953,0],[0,0],[0,4.69]],"v":[[6.334,7.059],[-6.335,7.059],[-14.825,-1.431],[-14.825,-3.523],[-11.289,-7.059],[11.289,-7.059],[14.825,-3.523],[14.825,-1.431]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.944999964097,0.776000019148,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[448.063,90.319],"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 17","np":2,"cix":2,"ix":17,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":218,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"chandelier bottom 2","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.16],"y":[1]},"o":{"x":[0.57],"y":[0]},"n":["0p16_1_0p57_0"],"t":3,"s":[22],"e":[-22]},{"i":{"x":[0.16],"y":[1]},"o":{"x":[0.57],"y":[0]},"n":["0p16_1_0p57_0"],"t":21.473,"s":[-22],"e":[-21.933]},{"i":{"x":[0.16],"y":[1]},"o":{"x":[0.57],"y":[0]},"n":["0p16_1_0p57_0"],"t":26,"s":[-21.933],"e":[22]},{"t":55}],"ix":10},"p":{"a":0,"k":[346.204,-429.167,0],"ix":2},"a":{"a":0,"k":[445.992,91.903,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-7.487,-12.331],[7.486,-12.331],[7.486,12.331],[-7.487,12.331]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.944999964097,0.776000019148,0.361000001197,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3.523,"ix":5},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[366.388,306.969],"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,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.393,0],[0,0],[0,5.392],[0,0],[2.246,0],[0,0],[0,-2.245],[0,0]],"o":[[0,0],[5.392,0],[0,0],[0,-2.245],[0,0],[-2.246,0],[0,0],[0,5.392]],"v":[[-7.284,8.118],[7.285,8.118],[17.048,-1.645],[17.048,-4.052],[12.983,-8.118],[-12.983,-8.118],[-17.048,-4.052],[-17.048,-1.645]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.944999964097,0.776000019148,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[366.914,315.483],"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,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[7.093,-12.691],[0.261,-4.766],[0,0],[1.729,-3.557],[4.702,22.165]],"o":[[-7.974,-14.081],[-2.124,3.8],[0,0],[-0.232,4.257],[-8.24,16.946],[0,0]],"v":[[36.922,-47.763],[6.956,-47.724],[3.435,-34.5],[-0.245,32.901],[-3.113,44.897],[-36.922,37.465]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.944999964097,0.776000019148,0.361000001197,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2.776,"ix":5},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[404.283,275.725],"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,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[10.727,-12.691],[0.393,-4.766],[0,0],[2.616,-3.556],[7.111,22.164]],"o":[[0,0],[-12.059,-14.08],[-3.212,3.8],[0,0],[-0.351,4.256],[-12.461,16.947],[0,0]],"v":[[60.66,-36.493],[51.008,-47.764],[5.693,-47.725],[0.37,-34.501],[-5.196,32.9],[-9.535,44.896],[-60.66,37.464]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.944999964097,0.776000019148,0.361000001197,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3.414,"ix":5},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[388.878,273.833],"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 4","np":2,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-5.311,-8.748],[5.311,-8.748],[5.311,8.748],[-5.311,8.748]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.944999964097,0.776000019148,0.361000001197,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2.499,"ix":5},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[328.433,304.094],"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 5","np":2,"cix":2,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.826,0],[0,0],[0,3.826],[0,0],[1.593,0],[0,0],[0,-1.593],[0,0]],"o":[[0,0],[3.825,0],[0,0],[0,-1.593],[0,0],[-1.594,0],[0,0],[0,3.826]],"v":[[-5.168,5.759],[5.168,5.759],[12.095,-1.167],[12.095,-2.874],[9.21,-5.759],[-9.21,-5.759],[-12.095,-2.874],[-12.095,-1.167]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.944999964097,0.776000019148,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[328.807,310.135],"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 6","np":2,"cix":2,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[7.487,-12.331],[-7.487,-12.331],[-7.487,12.331],[7.487,12.331]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.944999964097,0.776000019148,0.361000001197,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3.523,"ix":5},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[532.021,305.346],"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 7","np":2,"cix":2,"ix":7,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[5.393,0],[0,0],[0,5.392],[0,0],[-2.246,0],[0,0],[0,-2.245],[0,0]],"o":[[0,0],[-5.392,0],[0,0],[0,-2.245],[0,0],[2.246,0],[0,0],[0,5.392]],"v":[[7.285,8.118],[-7.284,8.118],[-17.048,-1.645],[-17.048,-4.052],[-12.982,-8.118],[12.983,-8.118],[17.049,-4.052],[17.049,-1.645]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.944999964097,0.776000019148,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[531.494,313.861],"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 8","np":2,"cix":2,"ix":8,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-7.093,-12.691],[-0.261,-4.766],[0,0],[-1.729,-3.557],[-4.702,22.165]],"o":[[7.974,-14.081],[2.124,3.8],[0,0],[0.232,4.257],[8.24,16.946],[0,0]],"v":[[-36.921,-47.763],[-6.956,-47.724],[-3.435,-34.5],[0.245,32.901],[3.113,44.897],[36.922,37.465]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.944999964097,0.776000019148,0.361000001197,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2.776,"ix":5},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[494.125,274.103],"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 9","np":2,"cix":2,"ix":9,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-10.727,-12.691],[-0.393,-4.766],[0,0],[-2.616,-3.556],[-7.111,22.164]],"o":[[0,0],[12.059,-14.081],[3.212,3.8],[0,0],[0.351,4.256],[12.461,16.947],[0,0]],"v":[[-60.66,-36.493],[-51.008,-47.762],[-5.693,-47.725],[-0.37,-34.501],[5.196,32.9],[9.535,44.896],[60.66,37.464]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.944999964097,0.776000019148,0.361000001197,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3.414,"ix":5},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[509.53,272.212],"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 10","np":2,"cix":2,"ix":10,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[5.311,-8.748],[-5.311,-8.748],[-5.311,8.748],[5.311,8.748]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.944999964097,0.776000019148,0.361000001197,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2.499,"ix":5},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[569.975,302.473],"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 11","np":2,"cix":2,"ix":11,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[3.826,0],[0,0],[0,3.826],[0,0],[-1.593,0],[0,0],[0,-1.593],[0,0]],"o":[[0,0],[-3.825,0],[0,0],[0,-1.593],[0,0],[1.594,0],[0,0],[0,3.826]],"v":[[5.168,5.759],[-5.168,5.759],[-12.095,-1.167],[-12.095,-2.874],[-9.21,-5.759],[9.21,-5.759],[12.095,-2.874],[12.095,-1.167]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.944999964097,0.776000019148,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[569.601,308.513],"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 12","np":2,"cix":2,"ix":12,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,3.927],[3.927,0],[0,-3.927],[-3.927,0]],"o":[[0,-3.927],[-3.927,0],[0,3.927],[3.927,0]],"v":[[7.11,0],[0,-7.11],[-7.11,0],[0,7.11]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.944999964097,0.776000019148,0.361000001197,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2.188,"ix":5},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[448.063,157.884],"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 13","np":3,"cix":2,"ix":13,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,5.821],[5.821,0],[0,-5.821],[-5.821,0]],"o":[[0,-5.821],[-5.821,0],[0,5.821],[5.821,0]],"v":[[10.54,0],[0,-10.54],[-10.54,0],[0,10.54]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.944999964097,0.776000019148,0.361000001197,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3.243,"ix":5},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[448.063,357.338],"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 14","np":3,"cix":2,"ix":14,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[448.062,90.319],[448.062,347.609]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.944999964097,0.776000019148,0.361000001197,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3.243,"ix":5},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.944999964097,0.776000019148,0.361000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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 15","np":3,"cix":2,"ix":15,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":218,"st":0,"bm":0}]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/peli-canon.json b/submodules/RLottie/Sources/rlottie/example/resource/peli-canon.json deleted file mode 100644 index d7a78c7a00..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/peli-canon.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"4.10.2","fr":24,"ip":0,"op":105,"w":1500,"h":1500,"nm":"Interactive link","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":3,"nm":"RECOIL","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.24],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p24_1_0p167_0p167"],"t":33.6,"s":[0],"e":[-8]},{"i":{"x":[0.24],"y":[1]},"o":{"x":[0.167],"y":[0.182]},"n":["0p24_1_0p167_0p182"],"t":41.6,"s":[-8],"e":[0]},{"t":60.8}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.48,"y":1},"o":{"x":0.52,"y":0},"n":"0p48_1_0p52_0","t":33.6,"s":[960,540,0],"e":[806,540,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.48,"y":1},"o":{"x":0.52,"y":0},"n":"0p48_1_0p52_0","t":36.8,"s":[806,540,0],"e":[960,540,0],"to":[0,0,0],"ti":[0,0,0]},{"t":57.6}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ip":0,"op":91.2,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":3,"nm":"Smoke Move","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":1},"o":{"x":0.64,"y":0},"n":"0p833_1_0p64_0","t":32.8,"s":[960,540,0],"e":[466,540,0],"to":[0,0,0],"ti":[0,0,0]},{"t":72.8}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ip":15.2,"op":91.2,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":3,"nm":"Smoke Size","parent":2,"sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[237.027,-106.941,0],"ix":2},"a":{"a":0,"k":[-46,36,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,1]},"o":{"x":[0.56,0.56,0.56],"y":[0,0,0]},"n":["0p833_0p833_0p56_0","0p833_0p833_0p56_0","0p833_1_0p56_0"],"t":32.8,"s":[0,0,100],"e":[100,100,100]},{"t":36}],"ix":6}},"ao":0,"ip":32.8,"op":91.2,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Smoke 4","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.56,"y":0},"n":"0p833_0p833_0p56_0","t":32.8,"s":[77,125,0],"e":[102,174,0],"to":[0,0,0],"ti":[0,0,0]},{"t":52}],"ix":2},"a":{"a":0,"k":[434.027,-253.941,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,17.667]},"o":{"x":[0.56,0.56,0.56],"y":[0,0,0]},"n":["0p833_0p833_0p56_0","0p833_0p833_0p56_0","0p833_17p667_0p56_0"],"t":32.8,"s":[48,48,100],"e":[0,0,100]},{"t":52}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[127.148,127.148],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.337254901961,0.258823529412,0.427450980392,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.952941176471,0.941176470588,0.921568627451,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[434.027,-253.941],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[117.417,117.417],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":32.8,"op":91.2,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Smoke 3","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.56,"y":0},"n":"0p833_0p833_0p56_0","t":32.8,"s":[95,-5,0],"e":[-67,-145,0],"to":[0,0,0],"ti":[0,0,0]},{"t":66.4}],"ix":2},"a":{"a":0,"k":[434.027,-253.941,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,17.667]},"o":{"x":[0.56,0.56,0.56],"y":[0,0,0]},"n":["0p833_0p833_0p56_0","0p833_0p833_0p56_0","0p833_17p667_0p56_0"],"t":32.8,"s":[48,48,100],"e":[0,0,100]},{"t":66.4}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":38.4,"s":[80.71,80.71],"e":[0,0]},{"t":62.4}],"ix":2},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":38.4,"s":[-43.263,-88],"e":[-2,-423],"to":[0,0],"ti":[0,0]},{"t":62.4}],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.337254901961,0.258823529412,0.427450980392,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.952941176471,0.941176470588,0.921568627451,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[483.273,-188.457],"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":"Ellipse 2","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[127.148,127.148],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.337254901961,0.258823529412,0.427450980392,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.952941176471,0.941176470588,0.921568627451,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[434.027,-253.941],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[117.417,117.417],"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":"Ellipse 1","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":32.8,"op":91.2,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Smoke 2","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.56,"y":0},"n":"0p833_0p833_0p56_0","t":32.8,"s":[117,59,0],"e":[300,308,0],"to":[0,0,0],"ti":[0,0,0]},{"t":68}],"ix":2},"a":{"a":0,"k":[434.027,-253.941,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,17.667]},"o":{"x":[0.56,0.56,0.56],"y":[0,0,0]},"n":["0p833_0p833_0p56_0","0p833_0p833_0p56_0","0p833_17p667_0p56_0"],"t":32.8,"s":[100,100,100],"e":[0,0,100]},{"t":60}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":35.2,"s":[99.664,99.664],"e":[0,0]},{"t":52.8}],"ix":2},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":35.2,"s":[0,-59],"e":[204,-115.733],"to":[0,0],"ti":[0,0]},{"t":52.8}],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.337254901961,0.258823529412,0.427450980392,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.952941176471,0.941176470588,0.921568627451,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[433.914,-183.835],"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":"Ellipse 4","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":35.2,"s":[99.664,99.664],"e":[0,0]},{"t":62.4}],"ix":2},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":35.2,"s":[0,-59],"e":[42,101],"to":[0,0],"ti":[0,0]},{"t":62.4}],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.337254901961,0.258823529412,0.427450980392,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.952941176471,0.941176470588,0.921568627451,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[433.914,-183.835],"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":"Ellipse 2","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[127.148,127.148],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.337254901961,0.258823529412,0.427450980392,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.952941176471,0.941176470588,0.921568627451,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[434.027,-253.941],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[117.417,117.417],"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":"Ellipse 1","np":3,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":32.8,"op":91.2,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Smoke","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.56,"y":0},"n":"0p833_0p833_0p56_0","t":32.8,"s":[23,5,0],"e":[23,-80,0],"to":[0,0,0],"ti":[0,0,0]},{"t":66.4}],"ix":2},"a":{"a":0,"k":[434.027,-253.941,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,17.667]},"o":{"x":[0.56,0.56,0.56],"y":[0,0,0]},"n":["0p833_0p833_0p56_0","0p833_0p833_0p56_0","0p833_17p667_0p56_0"],"t":32.8,"s":[100,100,100],"e":[0,0,100]},{"t":66.4}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[127.148,127.148],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.337254901961,0.258823529412,0.427450980392,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.952941176471,0.941176470588,0.921568627451,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[434.027,-253.941],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[117.417,117.417],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":32.8,"op":91.2,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"gun mask","parent":13,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-1.035,"ix":10},"p":{"a":0,"k":[-13.325,60.246,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[133.333,133.333,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[224.133,457.844],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.337254991718,0.2588239782,0.427451010311,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.952940996955,0.941175991881,0.921568986481,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[130.066,192.922],"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":"Rectangle 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":91.2,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":0,"nm":"gun quick","parent":13,"tt":2,"refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-6,"ix":10},"p":{"a":0,"k":[-46.405,49.873,0],"ix":2},"a":{"a":0,"k":[960,540,0],"ix":1},"s":{"a":0,"k":[133.333,133.333,100],"ix":6}},"ao":0,"w":1920,"h":1080,"ip":0,"op":91.2,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":3,"nm":"Body Main","parent":1,"sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.52],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p52_1_0p167_0p167"],"t":0,"s":[3],"e":[4]},{"i":{"x":[0.52],"y":[1]},"o":{"x":[0.48],"y":[0]},"n":["0p52_1_0p48_0"],"t":3.378,"s":[4],"e":[0]},{"i":{"x":[0.833],"y":[0.889]},"o":{"x":[0.48],"y":[0]},"n":["0p833_0p889_0p48_0"],"t":11.822,"s":[0],"e":[3]},{"i":{"x":[0.52],"y":[1]},"o":{"x":[0.167],"y":[0.333]},"n":["0p52_1_0p167_0p333"],"t":15.2,"s":[3],"e":[4]},{"i":{"x":[0.52],"y":[1]},"o":{"x":[0.48],"y":[0]},"n":["0p52_1_0p48_0"],"t":18.578,"s":[4],"e":[0]},{"i":{"x":[0.833],"y":[0.889]},"o":{"x":[0.48],"y":[0]},"n":["0p833_0p889_0p48_0"],"t":27.022,"s":[0],"e":[3]},{"i":{"x":[0.52],"y":[1]},"o":{"x":[0.167],"y":[0.333]},"n":["0p52_1_0p167_0p333"],"t":30.4,"s":[3],"e":[4]},{"i":{"x":[0.52],"y":[1]},"o":{"x":[0.48],"y":[0]},"n":["0p52_1_0p48_0"],"t":33.778,"s":[4],"e":[0]},{"i":{"x":[0.833],"y":[0.889]},"o":{"x":[0.48],"y":[0]},"n":["0p833_0p889_0p48_0"],"t":42.222,"s":[0],"e":[3]},{"i":{"x":[0.52],"y":[1]},"o":{"x":[0.167],"y":[0.333]},"n":["0p52_1_0p167_0p333"],"t":45.6,"s":[3],"e":[4]},{"i":{"x":[0.52],"y":[1]},"o":{"x":[0.48],"y":[0]},"n":["0p52_1_0p48_0"],"t":48.978,"s":[4],"e":[0]},{"i":{"x":[0.833],"y":[0.889]},"o":{"x":[0.48],"y":[0]},"n":["0p833_0p889_0p48_0"],"t":57.422,"s":[0],"e":[3]},{"i":{"x":[0.52],"y":[1]},"o":{"x":[0.167],"y":[0.333]},"n":["0p52_1_0p167_0p333"],"t":60.8,"s":[3],"e":[4]},{"i":{"x":[0.52],"y":[1]},"o":{"x":[0.48],"y":[0]},"n":["0p52_1_0p48_0"],"t":64.178,"s":[4],"e":[0]},{"i":{"x":[0.833],"y":[0.889]},"o":{"x":[0.48],"y":[0]},"n":["0p833_0p889_0p48_0"],"t":72.622,"s":[0],"e":[3]},{"i":{"x":[0.52],"y":[1]},"o":{"x":[0.167],"y":[0.333]},"n":["0p52_1_0p167_0p333"],"t":76,"s":[3],"e":[4]},{"i":{"x":[0.52],"y":[1]},"o":{"x":[0.48],"y":[0]},"n":["0p52_1_0p48_0"],"t":79.378,"s":[4],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.48],"y":[0]},"n":["0p833_0p833_0p48_0"],"t":87.822,"s":[0],"e":[3]},{"t":91.2}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.52,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p52_1_0p167_0p167","t":0,"s":[10.895,75.112,0],"e":[10.895,57.112,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.52,"y":1},"o":{"x":0.48,"y":0},"n":"0p52_1_0p48_0","t":4.222,"s":[10.895,57.112,0],"e":[10.895,105.112,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.9},"o":{"x":0.48,"y":0},"n":"0p833_0p9_0p48_0","t":12.667,"s":[10.895,105.112,0],"e":[10.895,75.112,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.52,"y":1},"o":{"x":0.167,"y":0.278},"n":"0p52_1_0p167_0p278","t":15.2,"s":[10.895,75.112,0],"e":[10.895,57.112,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.52,"y":1},"o":{"x":0.48,"y":0},"n":"0p52_1_0p48_0","t":19.422,"s":[10.895,57.112,0],"e":[10.895,105.112,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.9},"o":{"x":0.48,"y":0},"n":"0p833_0p9_0p48_0","t":27.867,"s":[10.895,105.112,0],"e":[10.895,75.112,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.52,"y":1},"o":{"x":0.167,"y":0.278},"n":"0p52_1_0p167_0p278","t":30.4,"s":[10.895,75.112,0],"e":[10.895,57.112,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.52,"y":1},"o":{"x":0.48,"y":0},"n":"0p52_1_0p48_0","t":34.622,"s":[10.895,57.112,0],"e":[10.895,105.112,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.9},"o":{"x":0.48,"y":0},"n":"0p833_0p9_0p48_0","t":43.067,"s":[10.895,105.112,0],"e":[10.895,75.112,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.52,"y":1},"o":{"x":0.167,"y":0.278},"n":"0p52_1_0p167_0p278","t":45.6,"s":[10.895,75.112,0],"e":[10.895,57.112,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.52,"y":1},"o":{"x":0.48,"y":0},"n":"0p52_1_0p48_0","t":49.822,"s":[10.895,57.112,0],"e":[10.895,105.112,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.9},"o":{"x":0.48,"y":0},"n":"0p833_0p9_0p48_0","t":58.267,"s":[10.895,105.112,0],"e":[10.895,75.112,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.52,"y":1},"o":{"x":0.167,"y":0.278},"n":"0p52_1_0p167_0p278","t":60.8,"s":[10.895,75.112,0],"e":[10.895,57.112,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.52,"y":1},"o":{"x":0.48,"y":0},"n":"0p52_1_0p48_0","t":65.022,"s":[10.895,57.112,0],"e":[10.895,105.112,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.9},"o":{"x":0.48,"y":0},"n":"0p833_0p9_0p48_0","t":73.467,"s":[10.895,105.112,0],"e":[10.895,75.112,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.52,"y":1},"o":{"x":0.167,"y":0.278},"n":"0p52_1_0p167_0p278","t":76,"s":[10.895,75.112,0],"e":[10.895,57.112,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.52,"y":1},"o":{"x":0.48,"y":0},"n":"0p52_1_0p48_0","t":80.222,"s":[10.895,57.112,0],"e":[10.895,105.112,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.9},"o":{"x":0.48,"y":0},"n":"0p833_0p9_0p48_0","t":88.667,"s":[10.895,105.112,0],"e":[10.895,75.112,0],"to":[0,0,0],"ti":[0,0,0]},{"t":91.2}],"ix":2},"a":{"a":0,"k":[60,60,0],"ix":1},"s":{"a":0,"k":[75,75,100],"ix":6}},"ao":0,"ip":0,"op":91.2,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"wing 5","parent":10,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.39],"y":[1]},"o":{"x":[0.79],"y":[0]},"n":["0p39_1_0p79_0"],"t":0,"s":[59],"e":[146]},{"i":{"x":[0.39],"y":[1]},"o":{"x":[0.79],"y":[0]},"n":["0p39_1_0p79_0"],"t":10.133,"s":[146],"e":[59]},{"i":{"x":[0.39],"y":[1]},"o":{"x":[0.79],"y":[0]},"n":["0p39_1_0p79_0"],"t":15.2,"s":[59],"e":[146]},{"i":{"x":[0.39],"y":[1]},"o":{"x":[0.79],"y":[0]},"n":["0p39_1_0p79_0"],"t":25.333,"s":[146],"e":[59]},{"i":{"x":[0.39],"y":[1]},"o":{"x":[0.79],"y":[0]},"n":["0p39_1_0p79_0"],"t":30.4,"s":[59],"e":[146]},{"i":{"x":[0.39],"y":[1]},"o":{"x":[0.79],"y":[0]},"n":["0p39_1_0p79_0"],"t":40.533,"s":[146],"e":[59]},{"i":{"x":[0.39],"y":[1]},"o":{"x":[0.79],"y":[0]},"n":["0p39_1_0p79_0"],"t":45.6,"s":[59],"e":[146]},{"i":{"x":[0.39],"y":[1]},"o":{"x":[0.79],"y":[0]},"n":["0p39_1_0p79_0"],"t":55.733,"s":[146],"e":[59]},{"i":{"x":[0.39],"y":[1]},"o":{"x":[0.79],"y":[0]},"n":["0p39_1_0p79_0"],"t":60.8,"s":[59],"e":[146]},{"i":{"x":[0.39],"y":[1]},"o":{"x":[0.79],"y":[0]},"n":["0p39_1_0p79_0"],"t":70.933,"s":[146],"e":[59]},{"i":{"x":[0.39],"y":[1]},"o":{"x":[0.79],"y":[0]},"n":["0p39_1_0p79_0"],"t":76,"s":[59],"e":[146]},{"i":{"x":[0.39],"y":[1]},"o":{"x":[0.79],"y":[0]},"n":["0p39_1_0p79_0"],"t":86.133,"s":[146],"e":[59]},{"t":91.2}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.79,"y":0},"n":"0p833_0p833_0p79_0","t":0,"s":[0.267,50.477,0],"e":[-11.733,50.477,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":1},"o":{"x":0.79,"y":0},"n":"0p833_1_0p79_0","t":10.133,"s":[-11.733,50.477,0],"e":[0.267,50.477,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.79,"y":0},"n":"0p833_0p833_0p79_0","t":15.2,"s":[0.267,50.477,0],"e":[-11.733,50.477,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":1},"o":{"x":0.79,"y":0},"n":"0p833_1_0p79_0","t":25.333,"s":[-11.733,50.477,0],"e":[0.267,50.477,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.79,"y":0},"n":"0p833_0p833_0p79_0","t":30.4,"s":[0.267,50.477,0],"e":[-11.733,50.477,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":1},"o":{"x":0.79,"y":0},"n":"0p833_1_0p79_0","t":40.533,"s":[-11.733,50.477,0],"e":[0.267,50.477,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.79,"y":0},"n":"0p833_0p833_0p79_0","t":45.6,"s":[0.267,50.477,0],"e":[-11.733,50.477,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":1},"o":{"x":0.79,"y":0},"n":"0p833_1_0p79_0","t":55.733,"s":[-11.733,50.477,0],"e":[0.267,50.477,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.79,"y":0},"n":"0p833_0p833_0p79_0","t":60.8,"s":[0.267,50.477,0],"e":[-11.733,50.477,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":1},"o":{"x":0.79,"y":0},"n":"0p833_1_0p79_0","t":70.933,"s":[-11.733,50.477,0],"e":[0.267,50.477,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.79,"y":0},"n":"0p833_0p833_0p79_0","t":76,"s":[0.267,50.477,0],"e":[-11.733,50.477,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":1},"o":{"x":0.79,"y":0},"n":"0p833_1_0p79_0","t":86.133,"s":[-11.733,50.477,0],"e":[0.267,50.477,0],"to":[0,0,0],"ti":[0,0,0]},{"t":91.2}],"ix":2},"a":{"a":0,"k":[336.892,14.647,0],"ix":1},"s":{"a":0,"k":[-65,65,100],"ix":6}},"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.75,"y":0},"n":"0p833_0p833_0p75_0","t":0,"s":[{"i":[[0,0],[-95.692,0],[-0.645,95.54],[0,0]],"o":[[0.645,95.54],[95.692,0],[0,0],[0,0]],"v":[[-173.975,-86.397],[0,86.397],[173.975,-86.397],[3.736,-86.397]],"c":true}],"e":[{"i":[[0,0],[-95.692,0],[-0.645,95.54],[85.898,2.602]],"o":[[0.645,95.54],[95.692,0],[0,0],[-85.898,-2.602]],"v":[[-173.975,-86.397],[38.84,95.215],[173.975,-86.397],[-8.097,-44.775]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":5.742,"s":[{"i":[[0,0],[-95.692,0],[-0.645,95.54],[85.898,2.602]],"o":[[0.645,95.54],[95.692,0],[0,0],[-85.898,-2.602]],"v":[[-173.975,-86.397],[38.84,95.215],[173.975,-86.397],[-8.097,-44.775]],"c":true}],"e":[{"i":[[-24.545,-97.308],[-33.816,0],[-8.099,99.396],[30.355,0.919]],"o":[[24.545,97.308],[33.816,0],[0,0],[-30.355,-0.919]],"v":[[9.497,81.606],[126.549,226.875],[186.89,-79.109],[23.772,-83.224]],"c":true}]},{"i":{"x":0.39,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p39_1_0p167_0p167","t":7.656,"s":[{"i":[[-24.545,-97.308],[-33.816,0],[-8.099,99.396],[30.355,0.919]],"o":[[24.545,97.308],[33.816,0],[0,0],[-30.355,-0.919]],"v":[[9.497,81.606],[126.549,226.875],[186.89,-79.109],[23.772,-83.224]],"c":true}],"e":[{"i":[[-32.666,-125.331],[0,0],[-12.173,101.503],[0,0]],"o":[[32.666,125.331],[0,0],[0,0],[0,0]],"v":[[34.21,123.997],[161.316,256.65],[193.949,-75.126],[41.189,-104.236]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.75,"y":0},"n":"0p833_0p833_0p75_0","t":10.133,"s":[{"i":[[-32.666,-125.331],[0,0],[-12.173,101.503],[0,0]],"o":[[32.666,125.331],[0,0],[0,0],[0,0]],"v":[[34.21,123.997],[161.316,256.65],[193.949,-75.126],[41.189,-104.236]],"c":true}],"e":[{"i":[[-21.953,-84.231],[-31.381,0],[-8.392,99.548],[28.169,0.853]],"o":[[22.165,115.562],[31.381,0],[0,0],[-28.169,-0.853]],"v":[[5.328,68.178],[121.151,203.71],[187.398,-78.822],[25.027,-84.737]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":11.541,"s":[{"i":[[-21.953,-84.231],[-31.381,0],[-8.392,99.548],[28.169,0.853]],"o":[[22.165,115.562],[31.381,0],[0,0],[-28.169,-0.853]],"v":[[5.328,68.178],[121.151,203.71],[187.398,-78.822],[25.027,-84.737]],"c":true}],"e":[{"i":[[0,0],[-95.692,0],[-0.645,95.54],[85.898,2.602]],"o":[[0.645,95.54],[95.692,0],[0,0],[-85.898,-2.602]],"v":[[-173.975,-86.397],[38.84,95.215],[173.975,-86.397],[-8.097,-44.775]],"c":true}]},{"i":{"x":0.39,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p39_1_0p167_0p167","t":13.005,"s":[{"i":[[0,0],[-95.692,0],[-0.645,95.54],[85.898,2.602]],"o":[[0.645,95.54],[95.692,0],[0,0],[-85.898,-2.602]],"v":[[-173.975,-86.397],[38.84,95.215],[173.975,-86.397],[-8.097,-44.775]],"c":true}],"e":[{"i":[[0,0],[-95.692,0],[-0.645,95.54],[0,0]],"o":[[0.645,95.54],[95.692,0],[0,0],[0,0]],"v":[[-173.975,-86.397],[0,86.397],[173.975,-86.397],[3.736,-86.397]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.75,"y":0},"n":"0p833_0p833_0p75_0","t":15.2,"s":[{"i":[[0,0],[-95.692,0],[-0.645,95.54],[0,0]],"o":[[0.645,95.54],[95.692,0],[0,0],[0,0]],"v":[[-173.975,-86.397],[0,86.397],[173.975,-86.397],[3.736,-86.397]],"c":true}],"e":[{"i":[[0,0],[-95.692,0],[-0.645,95.54],[85.898,2.602]],"o":[[0.645,95.54],[95.692,0],[0,0],[-85.898,-2.602]],"v":[[-173.975,-86.397],[38.84,95.215],[173.975,-86.397],[-8.097,-44.775]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":20.942,"s":[{"i":[[0,0],[-95.692,0],[-0.645,95.54],[85.898,2.602]],"o":[[0.645,95.54],[95.692,0],[0,0],[-85.898,-2.602]],"v":[[-173.975,-86.397],[38.84,95.215],[173.975,-86.397],[-8.097,-44.775]],"c":true}],"e":[{"i":[[-24.545,-97.308],[-33.816,0],[-8.099,99.396],[30.355,0.919]],"o":[[24.545,97.308],[33.816,0],[0,0],[-30.355,-0.919]],"v":[[9.497,81.606],[126.549,226.875],[186.89,-79.109],[23.772,-83.224]],"c":true}]},{"i":{"x":0.39,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p39_1_0p167_0p167","t":22.856,"s":[{"i":[[-24.545,-97.308],[-33.816,0],[-8.099,99.396],[30.355,0.919]],"o":[[24.545,97.308],[33.816,0],[0,0],[-30.355,-0.919]],"v":[[9.497,81.606],[126.549,226.875],[186.89,-79.109],[23.772,-83.224]],"c":true}],"e":[{"i":[[-32.666,-125.331],[0,0],[-12.173,101.503],[0,0]],"o":[[32.666,125.331],[0,0],[0,0],[0,0]],"v":[[34.21,123.997],[161.316,256.65],[193.949,-75.126],[41.189,-104.236]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.75,"y":0},"n":"0p833_0p833_0p75_0","t":25.333,"s":[{"i":[[-32.666,-125.331],[0,0],[-12.173,101.503],[0,0]],"o":[[32.666,125.331],[0,0],[0,0],[0,0]],"v":[[34.21,123.997],[161.316,256.65],[193.949,-75.126],[41.189,-104.236]],"c":true}],"e":[{"i":[[-21.953,-84.231],[-31.381,0],[-8.392,99.548],[28.169,0.853]],"o":[[22.165,115.562],[31.381,0],[0,0],[-28.169,-0.853]],"v":[[5.328,68.178],[121.151,203.71],[187.398,-78.822],[25.027,-84.737]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":26.741,"s":[{"i":[[-21.953,-84.231],[-31.381,0],[-8.392,99.548],[28.169,0.853]],"o":[[22.165,115.562],[31.381,0],[0,0],[-28.169,-0.853]],"v":[[5.328,68.178],[121.151,203.71],[187.398,-78.822],[25.027,-84.737]],"c":true}],"e":[{"i":[[0,0],[-95.692,0],[-0.645,95.54],[85.898,2.602]],"o":[[0.645,95.54],[95.692,0],[0,0],[-85.898,-2.602]],"v":[[-173.975,-86.397],[38.84,95.215],[173.975,-86.397],[-8.097,-44.775]],"c":true}]},{"i":{"x":0.39,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p39_1_0p167_0p167","t":28.205,"s":[{"i":[[0,0],[-95.692,0],[-0.645,95.54],[85.898,2.602]],"o":[[0.645,95.54],[95.692,0],[0,0],[-85.898,-2.602]],"v":[[-173.975,-86.397],[38.84,95.215],[173.975,-86.397],[-8.097,-44.775]],"c":true}],"e":[{"i":[[0,0],[-95.692,0],[-0.645,95.54],[0,0]],"o":[[0.645,95.54],[95.692,0],[0,0],[0,0]],"v":[[-173.975,-86.397],[0,86.397],[173.975,-86.397],[3.736,-86.397]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.75,"y":0},"n":"0p833_0p833_0p75_0","t":30.4,"s":[{"i":[[0,0],[-95.692,0],[-0.645,95.54],[0,0]],"o":[[0.645,95.54],[95.692,0],[0,0],[0,0]],"v":[[-173.975,-86.397],[0,86.397],[173.975,-86.397],[3.736,-86.397]],"c":true}],"e":[{"i":[[0,0],[-95.692,0],[-0.645,95.54],[85.898,2.602]],"o":[[0.645,95.54],[95.692,0],[0,0],[-85.898,-2.602]],"v":[[-173.975,-86.397],[38.84,95.215],[173.975,-86.397],[-8.097,-44.775]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":36.142,"s":[{"i":[[0,0],[-95.692,0],[-0.645,95.54],[85.898,2.602]],"o":[[0.645,95.54],[95.692,0],[0,0],[-85.898,-2.602]],"v":[[-173.975,-86.397],[38.84,95.215],[173.975,-86.397],[-8.097,-44.775]],"c":true}],"e":[{"i":[[-24.545,-97.308],[-33.816,0],[-8.099,99.396],[30.355,0.919]],"o":[[24.545,97.308],[33.816,0],[0,0],[-30.355,-0.919]],"v":[[9.497,81.606],[126.549,226.875],[186.89,-79.109],[23.772,-83.224]],"c":true}]},{"i":{"x":0.39,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p39_1_0p167_0p167","t":38.056,"s":[{"i":[[-24.545,-97.308],[-33.816,0],[-8.099,99.396],[30.355,0.919]],"o":[[24.545,97.308],[33.816,0],[0,0],[-30.355,-0.919]],"v":[[9.497,81.606],[126.549,226.875],[186.89,-79.109],[23.772,-83.224]],"c":true}],"e":[{"i":[[-32.666,-125.331],[0,0],[-12.173,101.503],[0,0]],"o":[[32.666,125.331],[0,0],[0,0],[0,0]],"v":[[34.21,123.997],[161.316,256.65],[193.949,-75.126],[41.189,-104.236]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.75,"y":0},"n":"0p833_0p833_0p75_0","t":40.533,"s":[{"i":[[-32.666,-125.331],[0,0],[-12.173,101.503],[0,0]],"o":[[32.666,125.331],[0,0],[0,0],[0,0]],"v":[[34.21,123.997],[161.316,256.65],[193.949,-75.126],[41.189,-104.236]],"c":true}],"e":[{"i":[[-21.953,-84.231],[-31.381,0],[-8.392,99.548],[28.169,0.853]],"o":[[22.165,115.562],[31.381,0],[0,0],[-28.169,-0.853]],"v":[[5.328,68.178],[121.151,203.71],[187.398,-78.822],[25.027,-84.737]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":41.941,"s":[{"i":[[-21.953,-84.231],[-31.381,0],[-8.392,99.548],[28.169,0.853]],"o":[[22.165,115.562],[31.381,0],[0,0],[-28.169,-0.853]],"v":[[5.328,68.178],[121.151,203.71],[187.398,-78.822],[25.027,-84.737]],"c":true}],"e":[{"i":[[0,0],[-95.692,0],[-0.645,95.54],[85.898,2.602]],"o":[[0.645,95.54],[95.692,0],[0,0],[-85.898,-2.602]],"v":[[-173.975,-86.397],[38.84,95.215],[173.975,-86.397],[-8.097,-44.775]],"c":true}]},{"i":{"x":0.39,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p39_1_0p167_0p167","t":43.405,"s":[{"i":[[0,0],[-95.692,0],[-0.645,95.54],[85.898,2.602]],"o":[[0.645,95.54],[95.692,0],[0,0],[-85.898,-2.602]],"v":[[-173.975,-86.397],[38.84,95.215],[173.975,-86.397],[-8.097,-44.775]],"c":true}],"e":[{"i":[[0,0],[-95.692,0],[-0.645,95.54],[0,0]],"o":[[0.645,95.54],[95.692,0],[0,0],[0,0]],"v":[[-173.975,-86.397],[0,86.397],[173.975,-86.397],[3.736,-86.397]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.75,"y":0},"n":"0p833_0p833_0p75_0","t":45.6,"s":[{"i":[[0,0],[-95.692,0],[-0.645,95.54],[0,0]],"o":[[0.645,95.54],[95.692,0],[0,0],[0,0]],"v":[[-173.975,-86.397],[0,86.397],[173.975,-86.397],[3.736,-86.397]],"c":true}],"e":[{"i":[[0,0],[-95.692,0],[-0.645,95.54],[85.898,2.602]],"o":[[0.645,95.54],[95.692,0],[0,0],[-85.898,-2.602]],"v":[[-173.975,-86.397],[38.84,95.215],[173.975,-86.397],[-8.097,-44.775]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":51.342,"s":[{"i":[[0,0],[-95.692,0],[-0.645,95.54],[85.898,2.602]],"o":[[0.645,95.54],[95.692,0],[0,0],[-85.898,-2.602]],"v":[[-173.975,-86.397],[38.84,95.215],[173.975,-86.397],[-8.097,-44.775]],"c":true}],"e":[{"i":[[-24.545,-97.308],[-33.816,0],[-8.099,99.396],[30.355,0.919]],"o":[[24.545,97.308],[33.816,0],[0,0],[-30.355,-0.919]],"v":[[9.497,81.606],[126.549,226.875],[186.89,-79.109],[23.772,-83.224]],"c":true}]},{"i":{"x":0.39,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p39_1_0p167_0p167","t":53.256,"s":[{"i":[[-24.545,-97.308],[-33.816,0],[-8.099,99.396],[30.355,0.919]],"o":[[24.545,97.308],[33.816,0],[0,0],[-30.355,-0.919]],"v":[[9.497,81.606],[126.549,226.875],[186.89,-79.109],[23.772,-83.224]],"c":true}],"e":[{"i":[[-32.666,-125.331],[0,0],[-12.173,101.503],[0,0]],"o":[[32.666,125.331],[0,0],[0,0],[0,0]],"v":[[34.21,123.997],[161.316,256.65],[193.949,-75.126],[41.189,-104.236]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.75,"y":0},"n":"0p833_0p833_0p75_0","t":55.733,"s":[{"i":[[-32.666,-125.331],[0,0],[-12.173,101.503],[0,0]],"o":[[32.666,125.331],[0,0],[0,0],[0,0]],"v":[[34.21,123.997],[161.316,256.65],[193.949,-75.126],[41.189,-104.236]],"c":true}],"e":[{"i":[[-21.953,-84.231],[-31.381,0],[-8.392,99.548],[28.169,0.853]],"o":[[22.165,115.562],[31.381,0],[0,0],[-28.169,-0.853]],"v":[[5.328,68.178],[121.151,203.71],[187.398,-78.822],[25.027,-84.737]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":57.141,"s":[{"i":[[-21.953,-84.231],[-31.381,0],[-8.392,99.548],[28.169,0.853]],"o":[[22.165,115.562],[31.381,0],[0,0],[-28.169,-0.853]],"v":[[5.328,68.178],[121.151,203.71],[187.398,-78.822],[25.027,-84.737]],"c":true}],"e":[{"i":[[0,0],[-95.692,0],[-0.645,95.54],[85.898,2.602]],"o":[[0.645,95.54],[95.692,0],[0,0],[-85.898,-2.602]],"v":[[-173.975,-86.397],[38.84,95.215],[173.975,-86.397],[-8.097,-44.775]],"c":true}]},{"i":{"x":0.39,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p39_1_0p167_0p167","t":58.605,"s":[{"i":[[0,0],[-95.692,0],[-0.645,95.54],[85.898,2.602]],"o":[[0.645,95.54],[95.692,0],[0,0],[-85.898,-2.602]],"v":[[-173.975,-86.397],[38.84,95.215],[173.975,-86.397],[-8.097,-44.775]],"c":true}],"e":[{"i":[[0,0],[-95.692,0],[-0.645,95.54],[0,0]],"o":[[0.645,95.54],[95.692,0],[0,0],[0,0]],"v":[[-173.975,-86.397],[0,86.397],[173.975,-86.397],[3.736,-86.397]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.75,"y":0},"n":"0p833_0p833_0p75_0","t":60.8,"s":[{"i":[[0,0],[-95.692,0],[-0.645,95.54],[0,0]],"o":[[0.645,95.54],[95.692,0],[0,0],[0,0]],"v":[[-173.975,-86.397],[0,86.397],[173.975,-86.397],[3.736,-86.397]],"c":true}],"e":[{"i":[[0,0],[-95.692,0],[-0.645,95.54],[85.898,2.602]],"o":[[0.645,95.54],[95.692,0],[0,0],[-85.898,-2.602]],"v":[[-173.975,-86.397],[38.84,95.215],[173.975,-86.397],[-8.097,-44.775]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":66.542,"s":[{"i":[[0,0],[-95.692,0],[-0.645,95.54],[85.898,2.602]],"o":[[0.645,95.54],[95.692,0],[0,0],[-85.898,-2.602]],"v":[[-173.975,-86.397],[38.84,95.215],[173.975,-86.397],[-8.097,-44.775]],"c":true}],"e":[{"i":[[-24.545,-97.308],[-33.816,0],[-8.099,99.396],[30.355,0.919]],"o":[[24.545,97.308],[33.816,0],[0,0],[-30.355,-0.919]],"v":[[9.497,81.606],[126.549,226.875],[186.89,-79.109],[23.772,-83.224]],"c":true}]},{"i":{"x":0.39,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p39_1_0p167_0p167","t":68.456,"s":[{"i":[[-24.545,-97.308],[-33.816,0],[-8.099,99.396],[30.355,0.919]],"o":[[24.545,97.308],[33.816,0],[0,0],[-30.355,-0.919]],"v":[[9.497,81.606],[126.549,226.875],[186.89,-79.109],[23.772,-83.224]],"c":true}],"e":[{"i":[[-32.666,-125.331],[0,0],[-12.173,101.503],[0,0]],"o":[[32.666,125.331],[0,0],[0,0],[0,0]],"v":[[34.21,123.997],[161.316,256.65],[193.949,-75.126],[41.189,-104.236]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.75,"y":0},"n":"0p833_0p833_0p75_0","t":70.933,"s":[{"i":[[-32.666,-125.331],[0,0],[-12.173,101.503],[0,0]],"o":[[32.666,125.331],[0,0],[0,0],[0,0]],"v":[[34.21,123.997],[161.316,256.65],[193.949,-75.126],[41.189,-104.236]],"c":true}],"e":[{"i":[[-21.953,-84.231],[-31.381,0],[-8.392,99.548],[28.169,0.853]],"o":[[22.165,115.562],[31.381,0],[0,0],[-28.169,-0.853]],"v":[[5.328,68.178],[121.151,203.71],[187.398,-78.822],[25.027,-84.737]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":72.341,"s":[{"i":[[-21.953,-84.231],[-31.381,0],[-8.392,99.548],[28.169,0.853]],"o":[[22.165,115.562],[31.381,0],[0,0],[-28.169,-0.853]],"v":[[5.328,68.178],[121.151,203.71],[187.398,-78.822],[25.027,-84.737]],"c":true}],"e":[{"i":[[0,0],[-95.692,0],[-0.645,95.54],[85.898,2.602]],"o":[[0.645,95.54],[95.692,0],[0,0],[-85.898,-2.602]],"v":[[-173.975,-86.397],[38.84,95.215],[173.975,-86.397],[-8.097,-44.775]],"c":true}]},{"i":{"x":0.39,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p39_1_0p167_0p167","t":73.805,"s":[{"i":[[0,0],[-95.692,0],[-0.645,95.54],[85.898,2.602]],"o":[[0.645,95.54],[95.692,0],[0,0],[-85.898,-2.602]],"v":[[-173.975,-86.397],[38.84,95.215],[173.975,-86.397],[-8.097,-44.775]],"c":true}],"e":[{"i":[[0,0],[-95.692,0],[-0.645,95.54],[0,0]],"o":[[0.645,95.54],[95.692,0],[0,0],[0,0]],"v":[[-173.975,-86.397],[0,86.397],[173.975,-86.397],[3.736,-86.397]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.75,"y":0},"n":"0p833_0p833_0p75_0","t":76,"s":[{"i":[[0,0],[-95.692,0],[-0.645,95.54],[0,0]],"o":[[0.645,95.54],[95.692,0],[0,0],[0,0]],"v":[[-173.975,-86.397],[0,86.397],[173.975,-86.397],[3.736,-86.397]],"c":true}],"e":[{"i":[[0,0],[-95.692,0],[-0.645,95.54],[85.898,2.602]],"o":[[0.645,95.54],[95.692,0],[0,0],[-85.898,-2.602]],"v":[[-173.975,-86.397],[38.84,95.215],[173.975,-86.397],[-8.097,-44.775]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":81.742,"s":[{"i":[[0,0],[-95.692,0],[-0.645,95.54],[85.898,2.602]],"o":[[0.645,95.54],[95.692,0],[0,0],[-85.898,-2.602]],"v":[[-173.975,-86.397],[38.84,95.215],[173.975,-86.397],[-8.097,-44.775]],"c":true}],"e":[{"i":[[-24.545,-97.308],[-33.816,0],[-8.099,99.396],[30.355,0.919]],"o":[[24.545,97.308],[33.816,0],[0,0],[-30.355,-0.919]],"v":[[9.497,81.606],[126.549,226.875],[186.89,-79.109],[23.772,-83.224]],"c":true}]},{"i":{"x":0.39,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p39_1_0p167_0p167","t":83.656,"s":[{"i":[[-24.545,-97.308],[-33.816,0],[-8.099,99.396],[30.355,0.919]],"o":[[24.545,97.308],[33.816,0],[0,0],[-30.355,-0.919]],"v":[[9.497,81.606],[126.549,226.875],[186.89,-79.109],[23.772,-83.224]],"c":true}],"e":[{"i":[[-32.666,-125.331],[0,0],[-12.173,101.503],[0,0]],"o":[[32.666,125.331],[0,0],[0,0],[0,0]],"v":[[34.21,123.997],[161.316,256.65],[193.949,-75.126],[41.189,-104.236]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.75,"y":0},"n":"0p833_0p833_0p75_0","t":86.133,"s":[{"i":[[-32.666,-125.331],[0,0],[-12.173,101.503],[0,0]],"o":[[32.666,125.331],[0,0],[0,0],[0,0]],"v":[[34.21,123.997],[161.316,256.65],[193.949,-75.126],[41.189,-104.236]],"c":true}],"e":[{"i":[[-21.953,-84.231],[-31.381,0],[-8.392,99.548],[28.169,0.853]],"o":[[22.165,115.562],[31.381,0],[0,0],[-28.169,-0.853]],"v":[[5.328,68.178],[121.151,203.71],[187.398,-78.822],[25.027,-84.737]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":87.541,"s":[{"i":[[-21.953,-84.231],[-31.381,0],[-8.392,99.548],[28.169,0.853]],"o":[[22.165,115.562],[31.381,0],[0,0],[-28.169,-0.853]],"v":[[5.328,68.178],[121.151,203.71],[187.398,-78.822],[25.027,-84.737]],"c":true}],"e":[{"i":[[0,0],[-95.692,0],[-0.645,95.54],[85.898,2.602]],"o":[[0.645,95.54],[95.692,0],[0,0],[-85.898,-2.602]],"v":[[-173.975,-86.397],[38.84,95.215],[173.975,-86.397],[-8.097,-44.775]],"c":true}]},{"i":{"x":0.39,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p39_1_0p167_0p167","t":89.005,"s":[{"i":[[0,0],[-95.692,0],[-0.645,95.54],[85.898,2.602]],"o":[[0.645,95.54],[95.692,0],[0,0],[-85.898,-2.602]],"v":[[-173.975,-86.397],[38.84,95.215],[173.975,-86.397],[-8.097,-44.775]],"c":true}],"e":[{"i":[[0,0],[-95.692,0],[-0.645,95.54],[0,0]],"o":[[0.645,95.54],[95.692,0],[0,0],[0,0]],"v":[[-173.975,-86.397],[0,86.397],[173.975,-86.397],[3.736,-86.397]],"c":true}]},{"t":91.2}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.152941176471,0.2,0.239215686275,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[174.225,86.647],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":91.2,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"Top Beak Outlines","parent":13,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.26],"y":[1]},"o":{"x":[0.55],"y":[0]},"n":["0p26_1_0p55_0"],"t":2.109,"s":[0],"e":[-68]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":8.727,"s":[-68],"e":[-62]},{"i":{"x":[0.25],"y":[1]},"o":{"x":[0.161],"y":[0]},"n":["0p25_1_0p161_0"],"t":12.8,"s":[-62],"e":[-62]},{"i":{"x":[0.25],"y":[1]},"o":{"x":[0.396],"y":[0]},"n":["0p25_1_0p396_0"],"t":72,"s":[-62],"e":[-68]},{"i":{"x":[0.25],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p25_1_0p167_0"],"t":75.2,"s":[-68],"e":[0]},{"t":80}],"ix":10},"p":{"a":0,"k":[14.53,13.181,0],"ix":2},"a":{"a":0,"k":[7.365,40.329,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[19.537,0],[0,0],[0,-19.537],[0,0],[0,0],[0,0]],"o":[[0,0],[-19.537,0],[0,0],[0,0],[0,0],[0,-19.537]],"v":[[114.406,-21.413],[-114.407,-21.413],[-149.782,13.962],[-149.782,21.413],[149.781,21.413],[149.781,13.962]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.337000020345,0.258999992819,0.426999978458,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[150.031,21.663],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":91.2,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"Bottom Beak Outlines","parent":15,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.26],"y":[1]},"o":{"x":[0.55],"y":[0]},"n":["0p26_1_0p55_0"],"t":1.6,"s":[0],"e":[18]},{"i":{"x":[0.26],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p26_1_0p167_0"],"t":8.8,"s":[18],"e":[18]},{"i":{"x":[0.26],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p26_1_0p167_0"],"t":72,"s":[18],"e":[0]},{"t":77.6}],"ix":10},"p":{"a":0,"k":[112.476,79.031,0],"ix":2},"a":{"a":0,"k":[10.209,15.628,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-77.12,0],[-0.52,76.997]],"o":[[0.52,76.997],[77.119,0],[0,0]],"v":[[-140.209,-69.629],[0,69.629],[140.209,-69.629]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.152999997606,0.2,0.238999998803,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.569000004787,0.866999966491,0.776000019148,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[150.209,79.629],"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":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":91.2,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"small mask 2","parent":15,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":8.868,"ix":10},"p":{"a":0,"k":[162.027,67.974,0],"ix":2},"a":{"a":0,"k":[38.875,-61.949,0],"ix":1},"s":{"a":0,"k":[133.333,133.333,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[53.75,31.898],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.337254991718,0.2588239782,0.427451010311,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.952940996955,0.941175991881,0.921568986481,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[38.875,-61.949],"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":"Rectangle 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":91.2,"st":0,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":"Head","parent":17,"tt":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.52],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p52_1_0p167_0p167"],"t":0,"s":[3],"e":[5]},{"i":{"x":[0.52],"y":[1]},"o":{"x":[0.48],"y":[0]},"n":["0p52_1_0p48_0"],"t":4.222,"s":[5],"e":[-6]},{"i":{"x":[0.833],"y":[0.909]},"o":{"x":[0.48],"y":[0]},"n":["0p833_0p909_0p48_0"],"t":11.822,"s":[-6],"e":[3]},{"i":{"x":[0.52],"y":[1]},"o":{"x":[0.167],"y":[0.509]},"n":["0p52_1_0p167_0p509"],"t":15.2,"s":[3],"e":[5]},{"i":{"x":[0.52],"y":[1]},"o":{"x":[0.48],"y":[0]},"n":["0p52_1_0p48_0"],"t":19.422,"s":[5],"e":[-6]},{"i":{"x":[0.833],"y":[0.909]},"o":{"x":[0.48],"y":[0]},"n":["0p833_0p909_0p48_0"],"t":27.022,"s":[-6],"e":[3]},{"i":{"x":[0.52],"y":[1]},"o":{"x":[0.167],"y":[0.509]},"n":["0p52_1_0p167_0p509"],"t":30.4,"s":[3],"e":[5]},{"i":{"x":[0.52],"y":[1]},"o":{"x":[0.48],"y":[0]},"n":["0p52_1_0p48_0"],"t":34.622,"s":[5],"e":[-6]},{"i":{"x":[0.833],"y":[0.909]},"o":{"x":[0.48],"y":[0]},"n":["0p833_0p909_0p48_0"],"t":42.222,"s":[-6],"e":[3]},{"i":{"x":[0.52],"y":[1]},"o":{"x":[0.167],"y":[0.509]},"n":["0p52_1_0p167_0p509"],"t":45.6,"s":[3],"e":[5]},{"i":{"x":[0.52],"y":[1]},"o":{"x":[0.48],"y":[0]},"n":["0p52_1_0p48_0"],"t":49.822,"s":[5],"e":[-6]},{"i":{"x":[0.833],"y":[0.909]},"o":{"x":[0.48],"y":[0]},"n":["0p833_0p909_0p48_0"],"t":57.422,"s":[-6],"e":[3]},{"i":{"x":[0.52],"y":[1]},"o":{"x":[0.167],"y":[0.509]},"n":["0p52_1_0p167_0p509"],"t":60.8,"s":[3],"e":[5]},{"i":{"x":[0.52],"y":[1]},"o":{"x":[0.48],"y":[0]},"n":["0p52_1_0p48_0"],"t":65.022,"s":[5],"e":[-6]},{"i":{"x":[0.833],"y":[0.909]},"o":{"x":[0.48],"y":[0]},"n":["0p833_0p909_0p48_0"],"t":72.622,"s":[-6],"e":[3]},{"i":{"x":[0.52],"y":[1]},"o":{"x":[0.167],"y":[0.509]},"n":["0p52_1_0p167_0p509"],"t":76,"s":[3],"e":[5]},{"i":{"x":[0.52],"y":[1]},"o":{"x":[0.48],"y":[0]},"n":["0p52_1_0p48_0"],"t":80.222,"s":[5],"e":[-6]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.48],"y":[0]},"n":["0p833_0p833_0p48_0"],"t":87.822,"s":[-6],"e":[3]},{"t":91.2}],"ix":10},"p":{"a":0,"k":[16.908,51.505,0],"ix":2},"a":{"a":0,"k":[16.908,51.505,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,5.418],[5.418,0],[0,-5.418],[-5.418,0]],"o":[[0,-5.418],[-5.418,0],[0,5.418],[5.418,0]],"v":[[9.81,0],[0,-9.81],[-9.81,0],[0,9.81]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.152999997606,0.2,0.238999998803,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.35,"y":1},"o":{"x":0.167,"y":0.075},"n":"0p35_1_0p167_0p075","t":2.4,"s":[93.656,43.492],"e":[80.656,43.492],"to":[0,0],"ti":[0,0]},{"i":{"x":0.35,"y":0.35},"o":{"x":0.167,"y":0.167},"n":"0p35_0p35_0p167_0p167","t":9.6,"s":[80.656,43.492],"e":[80.656,43.492],"to":[0,0],"ti":[0,0]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":76.8,"s":[80.656,43.492],"e":[93.656,43.492],"to":[0,0],"ti":[0,0]},{"t":80.8}],"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,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-34.333],[-34.333,0],[0,34.333],[34.333,0]],"o":[[0,34.333],[34.333,0],[0,-34.333],[-34.333,0]],"v":[[-62.166,0],[0,62.166],[62.166,0],[0,-62.166]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.952999997606,0.941000007181,0.922000002394,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[78.067,62.416],"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,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-5.557,0],[0,0]],"o":[[0,0],[-2.85,4.769],[0,0],[0,0]],"v":[[10.193,-21.154],[-8.623,10.328],[-2.48,21.154],[11.473,21.154]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.952999997606,0.941000007181,0.922000002394,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[11.723,57.927],"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 4","np":2,"cix":2,"ix":6,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":91.2,"st":0,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":"small mask","parent":15,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":8.868,"ix":10},"p":{"a":0,"k":[157.188,77.464,0],"ix":2},"a":{"a":0,"k":[38.875,-61.949,0],"ix":1},"s":{"a":0,"k":[133.333,133.333,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[53.75,31.898],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.337254991718,0.2588239782,0.427451010311,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.952940996955,0.941175991881,0.921568986481,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[38.875,-61.949],"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":"Rectangle 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":91.2,"st":0,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":"Neck","parent":10,"tt":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.35],"y":[1]},"o":{"x":[0.167],"y":[0.137]},"n":["0p35_1_0p167_0p137"],"t":0,"s":[0],"e":[-24]},{"i":{"x":[0.35],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p35_1_0p167_0"],"t":23.2,"s":[-24],"e":[-24]},{"i":{"x":[0.35],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p35_1_0p167_0"],"t":75.2,"s":[-24],"e":[0]},{"t":84.8}],"ix":10},"p":{"a":0,"k":[8.184,36.832,0],"ix":2},"a":{"a":0,"k":[20.509,191.313,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-31.721,0],[0,31.721]],"o":[[0,0],[0,0],[0,31.721],[31.721,0],[0,0]],"v":[[57.436,-96.172],[-57.436,-96.172],[-57.436,38.736],[0,96.172],[57.436,38.736]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.952999997606,0.941000007181,0.922000002394,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[77.216,158.588],"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,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":91.2,"st":0,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":"Front Leg Outlines","parent":10,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.42],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p42_1_0p167_0p167"],"t":0,"s":[2.178],"e":[3]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":3.378,"s":[3],"e":[22.178]},{"i":{"x":[0.833],"y":[0.932]},"o":{"x":[0.25],"y":[0]},"n":["0p833_0p932_0p25_0"],"t":12.667,"s":[22.178],"e":[2.178]},{"i":{"x":[0.42],"y":[1]},"o":{"x":[0.167],"y":[-2.223]},"n":["0p42_1_0p167_-2p223"],"t":15.2,"s":[2.178],"e":[3]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":18.578,"s":[3],"e":[22.178]},{"i":{"x":[0.833],"y":[0.932]},"o":{"x":[0.25],"y":[0]},"n":["0p833_0p932_0p25_0"],"t":27.867,"s":[22.178],"e":[2.178]},{"i":{"x":[0.42],"y":[1]},"o":{"x":[0.167],"y":[-2.223]},"n":["0p42_1_0p167_-2p223"],"t":30.4,"s":[2.178],"e":[3]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":33.778,"s":[3],"e":[22.178]},{"i":{"x":[0.833],"y":[0.932]},"o":{"x":[0.25],"y":[0]},"n":["0p833_0p932_0p25_0"],"t":43.067,"s":[22.178],"e":[2.178]},{"i":{"x":[0.42],"y":[1]},"o":{"x":[0.167],"y":[-2.223]},"n":["0p42_1_0p167_-2p223"],"t":45.6,"s":[2.178],"e":[3]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":48.978,"s":[3],"e":[22.178]},{"i":{"x":[0.833],"y":[0.932]},"o":{"x":[0.25],"y":[0]},"n":["0p833_0p932_0p25_0"],"t":58.267,"s":[22.178],"e":[2.178]},{"i":{"x":[0.42],"y":[1]},"o":{"x":[0.167],"y":[-2.223]},"n":["0p42_1_0p167_-2p223"],"t":60.8,"s":[2.178],"e":[3]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":64.178,"s":[3],"e":[22.178]},{"i":{"x":[0.833],"y":[0.932]},"o":{"x":[0.25],"y":[0]},"n":["0p833_0p932_0p25_0"],"t":73.467,"s":[22.178],"e":[2.178]},{"i":{"x":[0.42],"y":[1]},"o":{"x":[0.167],"y":[-2.223]},"n":["0p42_1_0p167_-2p223"],"t":76,"s":[2.178],"e":[3]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":79.378,"s":[3],"e":[22.178]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.25],"y":[0]},"n":["0p833_0p833_0p25_0"],"t":88.667,"s":[22.178],"e":[2.178]},{"t":91.2}],"ix":10},"p":{"a":0,"k":[-99.14,166.91,0],"ix":2},"a":{"a":0,"k":[65.762,6.163,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.577,-6.966],[0,0],[0.694,-2.36],[3.024,0.418],[0,0],[0.975,-2.897],[3.412,2.33],[0.591,1.594],[0,0]],"o":[[0,0],[1.688,2.108],[-0.861,2.928],[0,0],[-3.028,-0.418],[-1.319,3.917],[-1.291,-0.881],[0,0],[-3.103,-8.367]],"v":[[-7.838,-25.886],[22.348,11.824],[23.751,18.958],[16.853,23.219],[14.624,22.911],[7.724,27.182],[-1.725,30.521],[-4.652,26.768],[-21.342,-18.242]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.152999997606,0.2,0.238999998803,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[15.31,60.893],"ix":2},"a":{"a":0,"k":[-9.385,-16.997],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.42],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p42_1_0p167_0p167"],"t":0,"s":[6],"e":[19]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":2.533,"s":[19],"e":[-25]},{"i":{"x":[0.833],"y":[0.882]},"o":{"x":[0.25],"y":[0]},"n":["0p833_0p882_0p25_0"],"t":12.667,"s":[-25],"e":[6]},{"i":{"x":[0.42],"y":[1]},"o":{"x":[0.167],"y":[0.282]},"n":["0p42_1_0p167_0p282"],"t":15.2,"s":[6],"e":[19]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":17.733,"s":[19],"e":[-25]},{"i":{"x":[0.833],"y":[0.882]},"o":{"x":[0.25],"y":[0]},"n":["0p833_0p882_0p25_0"],"t":27.867,"s":[-25],"e":[6]},{"i":{"x":[0.42],"y":[1]},"o":{"x":[0.167],"y":[0.282]},"n":["0p42_1_0p167_0p282"],"t":30.4,"s":[6],"e":[19]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":32.933,"s":[19],"e":[-25]},{"i":{"x":[0.833],"y":[0.882]},"o":{"x":[0.25],"y":[0]},"n":["0p833_0p882_0p25_0"],"t":43.067,"s":[-25],"e":[6]},{"i":{"x":[0.42],"y":[1]},"o":{"x":[0.167],"y":[0.282]},"n":["0p42_1_0p167_0p282"],"t":45.6,"s":[6],"e":[19]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":48.133,"s":[19],"e":[-25]},{"i":{"x":[0.833],"y":[0.882]},"o":{"x":[0.25],"y":[0]},"n":["0p833_0p882_0p25_0"],"t":58.267,"s":[-25],"e":[6]},{"i":{"x":[0.42],"y":[1]},"o":{"x":[0.167],"y":[0.282]},"n":["0p42_1_0p167_0p282"],"t":60.8,"s":[6],"e":[19]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":63.333,"s":[19],"e":[-25]},{"i":{"x":[0.833],"y":[0.882]},"o":{"x":[0.25],"y":[0]},"n":["0p833_0p882_0p25_0"],"t":73.467,"s":[-25],"e":[6]},{"i":{"x":[0.42],"y":[1]},"o":{"x":[0.167],"y":[0.282]},"n":["0p42_1_0p167_0p282"],"t":76,"s":[6],"e":[19]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":78.533,"s":[19],"e":[-25]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.25],"y":[0]},"n":["0p833_0p833_0p25_0"],"t":88.667,"s":[-25],"e":[6]},{"t":91.2}],"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,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.75,2.75],[0,0],[-2.75,2.75],[0,0],[-2.75,-2.75],[2.75,-2.75],[0,0]],"o":[[0,0],[-2.75,-2.75],[0,0],[2.75,-2.75],[2.75,2.75],[0,0],[-2.75,2.75]],"v":[[-31.045,31.045],[-31.045,31.045],[-31.045,21.045],[21.045,-31.045],[31.045,-31.045],[31.045,-21.045],[-21.045,31.045]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.152999997606,0.2,0.238999998803,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[41.478,34.045],"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,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":91.2,"st":0,"bm":0},{"ddd":0,"ind":19,"ty":4,"nm":"Bottom Body Outlines","parent":10,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-51.067,125.81,0],"ix":2},"a":{"a":0,"k":[174.225,86.647,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[73.071,73.071],"ix":2},"p":{"a":0,"k":[79,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.337254991718,0.2588239782,0.427451010311,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.952999997606,0.941000007181,0.922000002394,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[233.351,-3.486],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-95.692,0],[-0.645,95.54]],"o":[[0.645,95.54],[95.692,0],[0,0]],"v":[[-173.975,-86.397],[0,86.397],[173.975,-86.397]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.952999997606,0.941000007181,0.922000002394,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[174.225,86.647],"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,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":91.2,"st":0,"bm":0},{"ddd":0,"ind":20,"ty":4,"nm":"Back Leg","parent":19,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.42],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p42_1_0p167_0p167"],"t":0,"s":[0.178],"e":[3]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":5.067,"s":[3],"e":[22.178]},{"i":{"x":[0.833],"y":[0.964]},"o":{"x":[0.36],"y":[0]},"n":["0p833_0p964_0p36_0"],"t":13.511,"s":[22.178],"e":[0.178]},{"i":{"x":[0.42],"y":[1]},"o":{"x":[0.167],"y":[-0.85]},"n":["0p42_1_0p167_-0p85"],"t":15.2,"s":[0.178],"e":[3]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":20.267,"s":[3],"e":[22.178]},{"i":{"x":[0.833],"y":[0.964]},"o":{"x":[0.36],"y":[0]},"n":["0p833_0p964_0p36_0"],"t":28.711,"s":[22.178],"e":[0.178]},{"i":{"x":[0.42],"y":[1]},"o":{"x":[0.167],"y":[-0.85]},"n":["0p42_1_0p167_-0p85"],"t":30.4,"s":[0.178],"e":[3]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35.467,"s":[3],"e":[22.178]},{"i":{"x":[0.833],"y":[0.964]},"o":{"x":[0.36],"y":[0]},"n":["0p833_0p964_0p36_0"],"t":43.911,"s":[22.178],"e":[0.178]},{"i":{"x":[0.42],"y":[1]},"o":{"x":[0.167],"y":[-0.85]},"n":["0p42_1_0p167_-0p85"],"t":45.6,"s":[0.178],"e":[3]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":50.667,"s":[3],"e":[22.178]},{"i":{"x":[0.833],"y":[0.964]},"o":{"x":[0.36],"y":[0]},"n":["0p833_0p964_0p36_0"],"t":59.111,"s":[22.178],"e":[0.178]},{"i":{"x":[0.42],"y":[1]},"o":{"x":[0.167],"y":[-0.85]},"n":["0p42_1_0p167_-0p85"],"t":60.8,"s":[0.178],"e":[3]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":65.867,"s":[3],"e":[22.178]},{"i":{"x":[0.833],"y":[0.964]},"o":{"x":[0.36],"y":[0]},"n":["0p833_0p964_0p36_0"],"t":74.311,"s":[22.178],"e":[0.178]},{"i":{"x":[0.42],"y":[1]},"o":{"x":[0.167],"y":[-0.85]},"n":["0p42_1_0p167_-0p85"],"t":76,"s":[0.178],"e":[3]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":81.067,"s":[3],"e":[22.178]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.36],"y":[0]},"n":["0p833_0p833_0p36_0"],"t":89.511,"s":[22.178],"e":[0.178]},{"t":91.2}],"ix":10},"p":{"a":0,"k":[182.152,135.748,0],"ix":2},"a":{"a":0,"k":[65.762,6.163,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.577,-6.966],[0,0],[0.694,-2.36],[3.024,0.418],[0,0],[0.975,-2.897],[3.412,2.33],[0.591,1.594],[0,0]],"o":[[0,0],[1.688,2.108],[-0.861,2.928],[0,0],[-3.028,-0.418],[-1.319,3.917],[-1.291,-0.881],[0,0],[-3.103,-8.367]],"v":[[-7.838,-25.886],[22.348,11.824],[23.751,18.958],[16.853,23.219],[14.624,22.911],[7.724,27.182],[-1.725,30.521],[-4.652,26.768],[-21.342,-18.242]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.152999997606,0.2,0.238999998803,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[15.31,60.893],"ix":2},"a":{"a":0,"k":[-9.385,-16.997],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.42],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p42_1_0p167_0p167"],"t":0,"s":[0],"e":[17]},{"i":{"x":[0.833],"y":[0.779]},"o":{"x":[0.167],"y":[0.221]},"n":["0p833_0p779_0p167_0p221"],"t":4.222,"s":[17],"e":[-23]},{"i":{"x":[0.833],"y":[0.917]},"o":{"x":[0.36],"y":[0]},"n":["0p833_0p917_0p36_0"],"t":13.511,"s":[-23],"e":[0]},{"i":{"x":[0.42],"y":[1]},"o":{"x":[0.167],"y":[0.28]},"n":["0p42_1_0p167_0p28"],"t":15.2,"s":[0],"e":[17]},{"i":{"x":[0.833],"y":[0.779]},"o":{"x":[0.167],"y":[0.221]},"n":["0p833_0p779_0p167_0p221"],"t":19.422,"s":[17],"e":[-23]},{"i":{"x":[0.833],"y":[0.917]},"o":{"x":[0.36],"y":[0]},"n":["0p833_0p917_0p36_0"],"t":28.711,"s":[-23],"e":[0]},{"i":{"x":[0.42],"y":[1]},"o":{"x":[0.167],"y":[0.28]},"n":["0p42_1_0p167_0p28"],"t":30.4,"s":[0],"e":[17]},{"i":{"x":[0.833],"y":[0.779]},"o":{"x":[0.167],"y":[0.221]},"n":["0p833_0p779_0p167_0p221"],"t":34.622,"s":[17],"e":[-23]},{"i":{"x":[0.833],"y":[0.917]},"o":{"x":[0.36],"y":[0]},"n":["0p833_0p917_0p36_0"],"t":43.911,"s":[-23],"e":[0]},{"i":{"x":[0.42],"y":[1]},"o":{"x":[0.167],"y":[0.28]},"n":["0p42_1_0p167_0p28"],"t":45.6,"s":[0],"e":[17]},{"i":{"x":[0.833],"y":[0.779]},"o":{"x":[0.167],"y":[0.221]},"n":["0p833_0p779_0p167_0p221"],"t":49.822,"s":[17],"e":[-23]},{"i":{"x":[0.833],"y":[0.917]},"o":{"x":[0.36],"y":[0]},"n":["0p833_0p917_0p36_0"],"t":59.111,"s":[-23],"e":[0]},{"i":{"x":[0.42],"y":[1]},"o":{"x":[0.167],"y":[0.28]},"n":["0p42_1_0p167_0p28"],"t":60.8,"s":[0],"e":[17]},{"i":{"x":[0.833],"y":[0.779]},"o":{"x":[0.167],"y":[0.221]},"n":["0p833_0p779_0p167_0p221"],"t":65.022,"s":[17],"e":[-23]},{"i":{"x":[0.833],"y":[0.917]},"o":{"x":[0.36],"y":[0]},"n":["0p833_0p917_0p36_0"],"t":74.311,"s":[-23],"e":[0]},{"i":{"x":[0.42],"y":[1]},"o":{"x":[0.167],"y":[0.28]},"n":["0p42_1_0p167_0p28"],"t":76,"s":[0],"e":[17]},{"i":{"x":[0.833],"y":[0.779]},"o":{"x":[0.167],"y":[0.221]},"n":["0p833_0p779_0p167_0p221"],"t":80.222,"s":[17],"e":[-23]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.36],"y":[0]},"n":["0p833_0p833_0p36_0"],"t":89.511,"s":[-23],"e":[0]},{"t":91.2}],"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,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.75,2.75],[0,0],[-2.75,2.75],[0,0],[-2.75,-2.75],[2.75,-2.75],[0,0]],"o":[[0,0],[-2.75,-2.75],[0,0],[2.75,-2.75],[2.75,2.75],[0,0],[-2.75,2.75]],"v":[[-31.045,31.045],[-31.045,31.045],[-31.045,21.045],[21.045,-31.045],[31.045,-31.045],[31.045,-21.045],[-21.045,31.045]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.152999997606,0.2,0.238999998803,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[41.478,34.045],"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,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":91.2,"st":0,"bm":0}]},{"id":"comp_1","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"muzzle top","parent":7,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0.01},"n":"0p833_1_0p167_0p01","t":0,"s":[1.365,-0.526,0],"e":[107.365,-0.526,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.25,"y":1},"o":{"x":0.167,"y":0.104},"n":"0p25_1_0p167_0p104","t":12,"s":[107.365,-0.526,0],"e":[124.365,-0.526,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.25,"y":1},"o":{"x":0.167,"y":0},"n":"0p25_1_0p167_0","t":32,"s":[124.365,-0.526,0],"e":[81.052,-0.138,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0.016},"n":"0p833_1_0p167_0p016","t":36,"s":[81.052,-0.138,0],"e":[107.365,-0.526,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.48,"y":0.48},"o":{"x":0,"y":0},"n":"0p48_0p48_0_0","t":40.8,"s":[107.365,-0.526,0],"e":[107.365,-0.526,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.48,"y":1},"o":{"x":0.52,"y":0},"n":"0p48_1_0p52_0","t":68,"s":[107.365,-0.526,0],"e":[39.052,-0.138,0],"to":[0,0,0],"ti":[0,0,0]},{"t":74.4}],"ix":2},"a":{"a":0,"k":[-67.077,-188.693,0],"ix":1},"s":{"a":0,"k":[101.719,87.719,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":12,"s":[56.154,114.613],"e":[81.154,114.613]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":32,"s":[81.154,114.613],"e":[56.154,114.613]},{"t":36}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":7,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.337254901961,0.258823529412,0.427450980392,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.152941176471,0.2,0.239215686275,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-51.347,-187.696],"ix":2},"a":{"a":0,"k":[28.612,1.172],"ix":1},"s":{"a":0,"k":[84.896,85.078],"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":"Rectangle 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":106.4,"st":-91.2,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"cannon tip","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.33,"y":0},"n":"0p833_0p833_0p33_0","t":-4.8,"s":[-71.354,-187.749,0],"e":[-59.36,-187.377,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.67,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p67_1_0p167_0p167","t":-0.8,"s":[-59.36,-187.377,0],"e":[-63.359,-187.305,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.67,"y":0.67},"o":{"x":0.33,"y":0.33},"n":"0p67_0p67_0p33_0p33","t":1.6,"s":[-63.359,-187.305,0],"e":[-63.359,-187.305,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.67,"y":1},"o":{"x":0.33,"y":0},"n":"0p67_1_0p33_0","t":14.4,"s":[-63.359,-187.305,0],"e":[-54.306,-187.474,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.67,"y":1},"o":{"x":0.33,"y":0},"n":"0p67_1_0p33_0","t":32,"s":[-54.306,-187.474,0],"e":[-67.24,-187.253,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.67,"y":1},"o":{"x":0.33,"y":0},"n":"0p67_1_0p33_0","t":36.8,"s":[-67.24,-187.253,0],"e":[-63.359,-187.305,0],"to":[0,0,0],"ti":[0,0,0]},{"t":41.6}],"ix":2},"a":{"a":0,"k":[320.141,-109.805,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[38.281,69.609],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.337254901961,0.258823529412,0.427450980392,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.337254901961,0.258823529412,0.427450980392,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[320.141,-109.805],"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":"Rectangle 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":106.4,"st":-91.2,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 11","parent":7,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[75.336,-0.031,0],"ix":2},"a":{"a":0,"k":[-100.117,-188.035,0],"ix":1},"s":{"a":0,"k":[87.719,87.719,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[20.234,77.93],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":5,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.337254901961,0.258823529412,0.427450980392,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.56862745098,0.866666666667,0.776470588235,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-100.117,-188.035],"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":"Rectangle 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":10.4,"op":71.2,"st":-91.2,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"circle 4","parent":7,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[38.329,-2.022,0],"ix":2},"a":{"a":0,"k":[176.195,-111.805,0],"ix":1},"s":{"a":0,"k":[87.719,87.719,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[15.609,15.609],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.337254901961,0.258823529412,0.427450980392,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.56862745098,0.866666666667,0.776470588235,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[176.195,-111.805],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":106.4,"st":-91.2,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"circle 3","parent":7,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[8.797,-2.022,0],"ix":2},"a":{"a":0,"k":[176.195,-111.805,0],"ix":1},"s":{"a":0,"k":[87.719,87.719,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[15.609,15.609],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.337254901961,0.258823529412,0.427450980392,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.56862745098,0.866666666667,0.776470588235,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[176.195,-111.805],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":106.4,"st":-91.2,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"circle 2","parent":7,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-20.735,-2.022,0],"ix":2},"a":{"a":0,"k":[176.195,-111.805,0],"ix":1},"s":{"a":0,"k":[87.719,87.719,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[15.609,15.609],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.337254901961,0.258823529412,0.427450980392,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.56862745098,0.866666666667,0.776470588235,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[176.195,-111.805],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":106.4,"st":-91.2,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Main Cannon","parent":10,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.32],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p32_1_0p167_0"],"t":0,"s":[-76.287],"e":[-39.287]},{"i":{"x":[0.32],"y":[1]},"o":{"x":[0.167],"y":[0.227]},"n":["0p32_1_0p167_0p227"],"t":13.6,"s":[-39.287],"e":[7.379]},{"i":{"x":[0.32],"y":[1]},"o":{"x":[0.167],"y":[0.37]},"n":["0p32_1_0p167_0p37"],"t":18.4,"s":[7.379],"e":[4.379]},{"i":{"x":[0.621],"y":[1.105]},"o":{"x":[0.288],"y":[0]},"n":["0p621_1p105_0p288_0"],"t":20,"s":[4.379],"e":[6.847]},{"i":{"x":[0.631],"y":[1]},"o":{"x":[0.299],"y":[0.069]},"n":["0p631_1_0p299_0p069"],"t":24.8,"s":[6.847],"e":[3.379]},{"i":{"x":[0.598],"y":[9.405]},"o":{"x":[0.268],"y":[0]},"n":["0p598_9p405_0p268_0"],"t":30.4,"s":[3.379],"e":[3.178]},{"i":{"x":[0.647],"y":[0.988]},"o":{"x":[0.314],"y":[0.095]},"n":["0p647_0p988_0p314_0p095"],"t":48.8,"s":[3.178],"e":[9.235]},{"i":{"x":[0.644],"y":[1]},"o":{"x":[0.311],"y":[-0.018]},"n":["0p644_1_0p311_-0p018"],"t":56.8,"s":[9.235],"e":[4.379]},{"i":{"x":[0.48],"y":[1]},"o":{"x":[0.52],"y":[0]},"n":["0p48_1_0p52_0"],"t":68,"s":[4.379],"e":[-58.621]},{"t":74.4}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.25,"y":1},"o":{"x":0.167,"y":0.144},"n":"0p25_1_0p167_0p144","t":32.8,"s":[61.277,-85.284,0],"e":[41.255,-85.689,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.25,"y":1},"o":{"x":0.167,"y":0.144},"n":"0p25_1_0p167_0p144","t":36.8,"s":[41.255,-85.689,0],"e":[61.277,-85.284,0],"to":[0,0,0],"ti":[0,0,0]},{"t":42.4}],"ix":2},"a":{"a":0,"k":[-61.324,3.45,0],"ix":1},"s":{"a":0,"k":[69.18,69.18,100],"ix":6}},"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},"n":"0p833_0p833_0p167_0p167","t":-16.8,"s":[{"i":[[0,0],[0,0],[0,-16.108],[0,0],[-16.108,0],[0,0]],"o":[[0,0],[-16.108,0],[0,0],[0,16.108],[0,0],[0,0]],"v":[[40.221,-26.561],[-46.667,-29.167],[-75.833,0],[-75.833,0],[-46.667,29.167],[40.221,31.773]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,-16.108],[0,0],[-16.108,0],[0,0]],"o":[[0,0],[-16.108,0],[0,0],[0,16.108],[0,0],[0,0]],"v":[[75.833,-29.167],[-46.667,-29.167],[-75.833,0],[-75.833,0],[-46.667,29.167],[75.833,29.167]],"c":true}]},{"i":{"x":0.32,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p32_1_0p167_0p167","t":-13.6,"s":[{"i":[[0,0],[0,0],[0,-16.108],[0,0],[-16.108,0],[0,0]],"o":[[0,0],[-16.108,0],[0,0],[0,16.108],[0,0],[0,0]],"v":[[75.833,-29.167],[-46.667,-29.167],[-75.833,0],[-75.833,0],[-46.667,29.167],[75.833,29.167]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,-16.108],[0,0],[-16.108,0],[0,0]],"o":[[0,0],[-16.108,0],[0,0],[0,16.108],[0,0],[0,0]],"v":[[9.87,-28.07],[-46.667,-29.167],[-75.833,0],[-75.833,0],[-46.667,29.167],[9.87,30.263]],"c":true}]},{"i":{"x":0.32,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p32_1_0p167_0p167","t":0,"s":[{"i":[[0,0],[0,0],[0,-16.108],[0,0],[-16.108,0],[0,0]],"o":[[0,0],[-16.108,0],[0,0],[0,16.108],[0,0],[0,0]],"v":[[9.87,-28.07],[-46.667,-29.167],[-75.833,0],[-75.833,0],[-46.667,29.167],[9.87,30.263]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,-16.108],[0,0],[-16.108,0],[0,0]],"o":[[0,0],[-16.108,0],[0,0],[0,16.108],[0,0],[0,0]],"v":[[75.833,-29.167],[-46.667,-29.167],[-75.833,0],[-75.833,0],[-46.667,29.167],[75.833,29.167]],"c":true}]},{"i":{"x":0.48,"y":1},"o":{"x":0.167,"y":0},"n":"0p48_1_0p167_0","t":10.4,"s":[{"i":[[0,0],[0,0],[0,-16.108],[0,0],[-16.108,0],[0,0]],"o":[[0,0],[-16.108,0],[0,0],[0,16.108],[0,0],[0,0]],"v":[[75.833,-29.167],[-46.667,-29.167],[-75.833,0],[-75.833,0],[-46.667,29.167],[75.833,29.167]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,-16.108],[0,0],[-16.108,0],[0,0]],"o":[[0,0],[-16.108,0],[0,0],[0,16.108],[0,0],[0,0]],"v":[[75.833,-29.167],[-46.667,-29.167],[-75.833,0],[-75.833,0],[-46.667,29.167],[75.833,29.167]],"c":true}]},{"i":{"x":0.48,"y":1},"o":{"x":0.52,"y":0},"n":"0p48_1_0p52_0","t":68,"s":[{"i":[[0,0],[0,0],[0,-16.108],[0,0],[-16.108,0],[0,0]],"o":[[0,0],[-16.108,0],[0,0],[0,16.108],[0,0],[0,0]],"v":[[75.833,-29.167],[-46.667,-29.167],[-75.833,0],[-75.833,0],[-46.667,29.167],[75.833,29.167]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,-16.108],[0,0],[-16.108,0],[0,0]],"o":[[0,0],[-16.108,0],[0,0],[0,16.108],[0,0],[0,0]],"v":[[9.87,-28.07],[-46.667,-29.167],[-75.833,0],[-75.833,0],[-46.667,29.167],[9.87,30.263]],"c":true}]},{"t":74.4}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.337254901961,0.258823529412,0.427450980392,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.152941176471,0.2,0.239215686275,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":106.4,"st":-91.2,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"tip","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":-3.2,"s":[-63.901,-230.501,0],"e":[-63.761,-243.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":-0.8,"s":[-63.761,-243.5,0],"e":[-63.75,-244.5,0],"to":[0,0,0],"ti":[0,0,0]},{"t":1.6}],"ix":2},"a":{"a":0,"k":[-63.75,-244,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-55.5,-250.5],[-72,-237.5],[-55.5,-238]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.337254901961,0.258823529412,0.427450980392,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.337254901961,0.258823529412,0.427450980392,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":106.4,"st":-91.2,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"sight top 2","parent":7,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.33,"y":0},"n":"0p833_0p833_0p33_0","t":-6.4,"s":[-3.643,-15.564,0],"e":[-2.062,-40.969,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.569,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p569_1_0p167_0p167","t":-1.6,"s":[-2.062,-40.969,0],"e":[-2.174,-7.462,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.66,"y":1},"o":{"x":0.326,"y":0},"n":"0p66_1_0p326_0","t":13.6,"s":[-2.174,-7.462,0],"e":[-2.174,-37.462,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.706,"y":0.706},"o":{"x":0.334,"y":0.334},"n":"0p706_0p706_0p334_0p334","t":16,"s":[-2.174,-37.462,0],"e":[-2.174,-37.462,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.67,"y":1},"o":{"x":0.167,"y":0},"n":"0p67_1_0p167_0","t":32.8,"s":[-2.174,-37.462,0],"e":[-1.941,-21.675,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.67,"y":1},"o":{"x":0.167,"y":0},"n":"0p67_1_0p167_0","t":38.165,"s":[-1.941,-21.675,0],"e":[-2.012,-40.967,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.67,"y":1},"o":{"x":0.167,"y":0},"n":"0p67_1_0p167_0","t":43.53,"s":[-2.012,-40.967,0],"e":[-2.174,-37.462,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.67,"y":0.67},"o":{"x":0.167,"y":0.167},"n":"0p67_0p67_0p167_0p167","t":48,"s":[-2.174,-37.462,0],"e":[-2.174,-37.462,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.67,"y":1},"o":{"x":0.167,"y":0},"n":"0p67_1_0p167_0","t":68,"s":[-2.174,-37.462,0],"e":[-2.174,-4.462,0],"to":[0,0,0],"ti":[0,0,0]},{"t":72}],"ix":2},"a":{"a":0,"k":[170.521,-153.707,0],"ix":1},"s":{"a":0,"k":[55.839,73.652,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[77.043,37.414],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.337254901961,0.258823529412,0.427450980392,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.56862745098,0.866666666667,0.776470588235,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[170.521,-153.707],"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":"Rectangle 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":106.4,"st":-91.2,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"swivel","tt":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":2.662,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.32,"y":1},"o":{"x":0.27,"y":0},"n":"0p32_1_0p27_0","t":1.6,"s":[1087.278,777.499,0],"e":[1113.149,531.355,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.332,"y":0.332},"o":{"x":0.173,"y":0.173},"n":"0p332_0p332_0p173_0p173","t":12.8,"s":[1113.149,531.355,0],"e":[1113.149,531.355,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.24,"y":1},"o":{"x":0.325,"y":0},"n":"0p24_1_0p325_0","t":66.4,"s":[1113.149,531.355,0],"e":[1114.638,517.183,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.24,"y":1},"o":{"x":0.43,"y":0},"n":"0p24_1_0p43_0","t":72.8,"s":[1114.638,517.183,0],"e":[1087.278,777.499,0],"to":[0,0,0],"ti":[0,0,0]},{"t":84}],"ix":2},"a":{"a":0,"k":[62.977,-55.023,0],"ix":1},"s":{"a":0,"k":[164.787,164.787,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[62.047,62.047],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.337254901961,0.258823529412,0.427450980392,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.152941176471,0.2,0.239215686275,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[62.977,-55.023],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":243.2,"st":-44.8,"bm":0}]},{"id":"comp_2","layers":[{"ddd":0,"ind":1,"ty":3,"nm":"Body Main","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.52],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p52_1_0p167_0p167"],"t":0,"s":[3],"e":[4]},{"i":{"x":[0.52],"y":[1]},"o":{"x":[0.48],"y":[0]},"n":["0p52_1_0p48_0"],"t":3.2,"s":[4],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.48],"y":[0]},"n":["0p833_0p833_0p48_0"],"t":11.2,"s":[0],"e":[3]},{"t":14.4}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.52,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p52_1_0p167_0p167","t":0,"s":[970.895,615.112,0],"e":[970.895,597.112,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.52,"y":1},"o":{"x":0.48,"y":0},"n":"0p52_1_0p48_0","t":4,"s":[970.895,597.112,0],"e":[970.895,645.112,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.48,"y":0},"n":"0p833_0p833_0p48_0","t":12,"s":[970.895,645.112,0],"e":[970.895,615.112,0],"to":[0,0,0],"ti":[0,0,0]},{"t":14.4}],"ix":2},"a":{"a":0,"k":[60,60,0],"ix":1},"s":{"a":0,"k":[75,75,100],"ix":6}},"ao":0,"ip":0,"op":14.4,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"wing 5","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.39],"y":[1]},"o":{"x":[0.79],"y":[0]},"n":["0p39_1_0p79_0"],"t":0,"s":[59],"e":[146]},{"i":{"x":[0.39],"y":[1]},"o":{"x":[0.79],"y":[0]},"n":["0p39_1_0p79_0"],"t":9.6,"s":[146],"e":[59]},{"t":14.4}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.79,"y":0},"n":"0p833_0p833_0p79_0","t":0,"s":[0.267,50.477,0],"e":[-11.733,50.477,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":1},"o":{"x":0.79,"y":0},"n":"0p833_1_0p79_0","t":9.6,"s":[-11.733,50.477,0],"e":[0.267,50.477,0],"to":[0,0,0],"ti":[0,0,0]},{"t":14.4}],"ix":2},"a":{"a":0,"k":[336.892,14.647,0],"ix":1},"s":{"a":0,"k":[-65,65,100],"ix":6}},"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.75,"y":0},"n":"0p833_0p833_0p75_0","t":0,"s":[{"i":[[0,0],[-95.692,0],[-0.645,95.54],[0,0]],"o":[[0.645,95.54],[95.692,0],[0,0],[0,0]],"v":[[-173.975,-86.397],[0,86.397],[173.975,-86.397],[3.736,-86.397]],"c":true}],"e":[{"i":[[0,0],[-95.692,0],[-0.645,95.54],[85.898,2.602]],"o":[[0.645,95.54],[95.692,0],[0,0],[-85.898,-2.602]],"v":[[-173.975,-86.397],[38.84,95.215],[173.975,-86.397],[-8.097,-44.775]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":5.44,"s":[{"i":[[0,0],[-95.692,0],[-0.645,95.54],[85.898,2.602]],"o":[[0.645,95.54],[95.692,0],[0,0],[-85.898,-2.602]],"v":[[-173.975,-86.397],[38.84,95.215],[173.975,-86.397],[-8.097,-44.775]],"c":true}],"e":[{"i":[[-24.545,-97.308],[-33.816,0],[-8.099,99.396],[30.355,0.919]],"o":[[24.545,97.308],[33.816,0],[0,0],[-30.355,-0.919]],"v":[[9.497,81.606],[126.549,226.875],[186.89,-79.109],[23.772,-83.224]],"c":true}]},{"i":{"x":0.39,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p39_1_0p167_0p167","t":7.253,"s":[{"i":[[-24.545,-97.308],[-33.816,0],[-8.099,99.396],[30.355,0.919]],"o":[[24.545,97.308],[33.816,0],[0,0],[-30.355,-0.919]],"v":[[9.497,81.606],[126.549,226.875],[186.89,-79.109],[23.772,-83.224]],"c":true}],"e":[{"i":[[-32.666,-125.331],[0,0],[-12.173,101.503],[0,0]],"o":[[32.666,125.331],[0,0],[0,0],[0,0]],"v":[[34.21,123.997],[161.316,256.65],[193.949,-75.126],[41.189,-104.236]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.75,"y":0},"n":"0p833_0p833_0p75_0","t":9.6,"s":[{"i":[[-32.666,-125.331],[0,0],[-12.173,101.503],[0,0]],"o":[[32.666,125.331],[0,0],[0,0],[0,0]],"v":[[34.21,123.997],[161.316,256.65],[193.949,-75.126],[41.189,-104.236]],"c":true}],"e":[{"i":[[-21.953,-84.231],[-31.381,0],[-8.392,99.548],[28.169,0.853]],"o":[[22.165,115.562],[31.381,0],[0,0],[-28.169,-0.853]],"v":[[5.328,68.178],[121.151,203.71],[187.398,-78.822],[25.027,-84.737]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":10.934,"s":[{"i":[[-21.953,-84.231],[-31.381,0],[-8.392,99.548],[28.169,0.853]],"o":[[22.165,115.562],[31.381,0],[0,0],[-28.169,-0.853]],"v":[[5.328,68.178],[121.151,203.71],[187.398,-78.822],[25.027,-84.737]],"c":true}],"e":[{"i":[[0,0],[-95.692,0],[-0.645,95.54],[85.898,2.602]],"o":[[0.645,95.54],[95.692,0],[0,0],[-85.898,-2.602]],"v":[[-173.975,-86.397],[38.84,95.215],[173.975,-86.397],[-8.097,-44.775]],"c":true}]},{"i":{"x":0.39,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p39_1_0p167_0p167","t":12.32,"s":[{"i":[[0,0],[-95.692,0],[-0.645,95.54],[85.898,2.602]],"o":[[0.645,95.54],[95.692,0],[0,0],[-85.898,-2.602]],"v":[[-173.975,-86.397],[38.84,95.215],[173.975,-86.397],[-8.097,-44.775]],"c":true}],"e":[{"i":[[0,0],[-95.692,0],[-0.645,95.54],[0,0]],"o":[[0.645,95.54],[95.692,0],[0,0],[0,0]],"v":[[-173.975,-86.397],[0,86.397],[173.975,-86.397],[3.736,-86.397]],"c":true}]},{"t":14.4}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.152941176471,0.2,0.239215686275,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[174.225,86.647],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":14.4,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Top Beak Outlines","parent":5,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[116.797,76.583,0],"ix":2},"a":{"a":0,"k":[7.365,40.329,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[19.537,0],[0,0],[0,-19.537],[0,0],[0,0],[0,0]],"o":[[0,0],[-19.537,0],[0,0],[0,0],[0,0],[0,-19.537]],"v":[[114.406,-21.413],[-114.407,-21.413],[-149.782,13.962],[-149.782,21.413],[149.781,21.413],[149.781,13.962]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.337000020345,0.258999992819,0.426999978458,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[150.031,21.663],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":14.4,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Bottom Beak Outlines","parent":5,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[112.476,79.031,0],"ix":2},"a":{"a":0,"k":[10.209,15.628,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-77.12,0],[-0.52,76.997]],"o":[[0.52,76.997],[77.119,0],[0,0]],"v":[[-140.209,-69.629],[0,69.629],[140.209,-69.629]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.152999997606,0.2,0.238999998803,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.569000004787,0.866999966491,0.776000019148,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[150.209,79.629],"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":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":14.4,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Head","parent":6,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.52],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p52_1_0p167_0p167"],"t":0,"s":[3],"e":[5]},{"i":{"x":[0.52],"y":[1]},"o":{"x":[0.48],"y":[0]},"n":["0p52_1_0p48_0"],"t":4,"s":[5],"e":[-6]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.48],"y":[0]},"n":["0p833_0p833_0p48_0"],"t":11.2,"s":[-6],"e":[3]},{"t":14.4}],"ix":10},"p":{"a":0,"k":[16.908,51.505,0],"ix":2},"a":{"a":0,"k":[16.908,51.505,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,5.418],[5.418,0],[0,-5.418],[-5.418,0]],"o":[[0,-5.418],[-5.418,0],[0,5.418],[5.418,0]],"v":[[9.81,0],[0,-9.81],[-9.81,0],[0,9.81]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.152999997606,0.2,0.238999998803,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[93.656,43.492],"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,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-34.333],[-34.333,0],[0,34.333],[34.333,0]],"o":[[0,34.333],[34.333,0],[0,-34.333],[-34.333,0]],"v":[[-62.166,0],[0,62.166],[62.166,0],[0,-62.166]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.952999997606,0.941000007181,0.922000002394,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[78.067,62.416],"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,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-5.557,0],[0,0]],"o":[[0,0],[-2.85,4.769],[0,0],[0,0]],"v":[[10.193,-21.154],[-8.623,10.328],[-2.48,21.154],[11.473,21.154]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.952999997606,0.941000007181,0.922000002394,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[11.723,57.927],"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 4","np":2,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":14.4,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Neck","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[63.25,62.357,0],"ix":2},"a":{"a":0,"k":[75.575,216.838,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-31.721,0],[0,31.721]],"o":[[0,0],[0,0],[0,31.721],[31.721,0],[0,0]],"v":[[57.436,-96.172],[-57.436,-96.172],[-57.436,38.736],[0,96.172],[57.436,38.736]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.952999997606,0.941000007181,0.922000002394,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[77.216,158.588],"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,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":14.4,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Front Leg Outlines","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.42],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p42_1_0p167_0p167"],"t":0,"s":[2.178],"e":[3]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":3.2,"s":[3],"e":[22.178]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.25],"y":[0]},"n":["0p833_0p833_0p25_0"],"t":12,"s":[22.178],"e":[2.178]},{"t":14.4}],"ix":10},"p":{"a":0,"k":[-99.14,166.91,0],"ix":2},"a":{"a":0,"k":[65.762,6.163,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.577,-6.966],[0,0],[0.694,-2.36],[3.024,0.418],[0,0],[0.975,-2.897],[3.412,2.33],[0.591,1.594],[0,0]],"o":[[0,0],[1.688,2.108],[-0.861,2.928],[0,0],[-3.028,-0.418],[-1.319,3.917],[-1.291,-0.881],[0,0],[-3.103,-8.367]],"v":[[-7.838,-25.886],[22.348,11.824],[23.751,18.958],[16.853,23.219],[14.624,22.911],[7.724,27.182],[-1.725,30.521],[-4.652,26.768],[-21.342,-18.242]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.152999997606,0.2,0.238999998803,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[15.31,60.893],"ix":2},"a":{"a":0,"k":[-9.385,-16.997],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.42],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p42_1_0p167_0p167"],"t":0,"s":[6],"e":[19]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":2.4,"s":[19],"e":[-25]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.25],"y":[0]},"n":["0p833_0p833_0p25_0"],"t":12,"s":[-25],"e":[6]},{"t":14.4}],"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,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.75,2.75],[0,0],[-2.75,2.75],[0,0],[-2.75,-2.75],[2.75,-2.75],[0,0]],"o":[[0,0],[-2.75,-2.75],[0,0],[2.75,-2.75],[2.75,2.75],[0,0],[-2.75,2.75]],"v":[[-31.045,31.045],[-31.045,31.045],[-31.045,21.045],[21.045,-31.045],[31.045,-31.045],[31.045,-21.045],[-21.045,31.045]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.152999997606,0.2,0.238999998803,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[41.478,34.045],"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,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":14.4,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"Bottom Body Outlines","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-51.067,125.81,0],"ix":2},"a":{"a":0,"k":[174.225,86.647,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-95.692,0],[-0.645,95.54]],"o":[[0.645,95.54],[95.692,0],[0,0]],"v":[[-173.975,-86.397],[0,86.397],[173.975,-86.397]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.952999997606,0.941000007181,0.922000002394,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[174.225,86.647],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":14.4,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"Back Leg","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.42],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p42_1_0p167_0p167"],"t":0,"s":[0.178],"e":[3]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":4.8,"s":[3],"e":[22.178]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.36],"y":[0]},"n":["0p833_0p833_0p36_0"],"t":12.8,"s":[22.178],"e":[0.178]},{"t":14.4}],"ix":10},"p":{"a":0,"k":[-43.14,174.91,0],"ix":2},"a":{"a":0,"k":[65.762,6.163,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.577,-6.966],[0,0],[0.694,-2.36],[3.024,0.418],[0,0],[0.975,-2.897],[3.412,2.33],[0.591,1.594],[0,0]],"o":[[0,0],[1.688,2.108],[-0.861,2.928],[0,0],[-3.028,-0.418],[-1.319,3.917],[-1.291,-0.881],[0,0],[-3.103,-8.367]],"v":[[-7.838,-25.886],[22.348,11.824],[23.751,18.958],[16.853,23.219],[14.624,22.911],[7.724,27.182],[-1.725,30.521],[-4.652,26.768],[-21.342,-18.242]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.152999997606,0.2,0.238999998803,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[15.31,60.893],"ix":2},"a":{"a":0,"k":[-9.385,-16.997],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.42],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p42_1_0p167_0p167"],"t":0,"s":[0],"e":[17]},{"i":{"x":[0.833],"y":[0.779]},"o":{"x":[0.167],"y":[0.221]},"n":["0p833_0p779_0p167_0p221"],"t":4,"s":[17],"e":[-23]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.36],"y":[0]},"n":["0p833_0p833_0p36_0"],"t":12.8,"s":[-23],"e":[0]},{"t":14.4}],"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,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.75,2.75],[0,0],[-2.75,2.75],[0,0],[-2.75,-2.75],[2.75,-2.75],[0,0]],"o":[[0,0],[-2.75,-2.75],[0,0],[2.75,-2.75],[2.75,2.75],[0,0],[-2.75,2.75]],"v":[[-31.045,31.045],[-31.045,31.045],[-31.045,21.045],[21.045,-31.045],[31.045,-31.045],[31.045,-21.045],[-21.045,31.045]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.152999997606,0.2,0.238999998803,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[41.478,34.045],"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,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":14.4,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"Pelican Transition - fast","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[750,750,0],"ix":2},"a":{"a":0,"k":[960,540,0],"ix":1},"s":{"a":0,"k":[150,150,100],"ix":6}},"ao":0,"w":1920,"h":1080,"ip":14.4,"op":105.6,"st":14.4,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"Pelican loop","refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[750,750,0],"ix":2},"a":{"a":0,"k":[960,540,0],"ix":1},"s":{"a":0,"k":[150,150,100],"ix":6}},"ao":0,"w":1920,"h":1080,"ip":0,"op":14.4,"st":0,"bm":0}]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/personal_character.json b/submodules/RLottie/Sources/rlottie/example/resource/personal_character.json deleted file mode 100644 index a56074e1f6..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/personal_character.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.1.14","fr":30,"ip":0,"op":162,"w":900,"h":900,"nm":"Comp 1","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":0,"nm":"Front Hair","parent":8,"refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.16,"y":0.16},"o":{"x":0.167,"y":0.167},"n":"0p16_0p16_0p167_0p167","t":0,"s":[101.385,187.205,0],"e":[101.385,187.205,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.15,"y":1},"o":{"x":0.84,"y":0},"n":"0p15_1_0p84_0","t":6,"s":[101.385,187.205,0],"e":[98.385,187.205,0],"to":[-0.5,0,0],"ti":[0.5,0,0]},{"i":{"x":0.15,"y":0.15},"o":{"x":0.85,"y":0.85},"n":"0p15_0p15_0p85_0p85","t":20,"s":[98.385,187.205,0],"e":[98.385,187.205,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.85,"y":0},"n":"0p833_0p833_0p85_0","t":47,"s":[98.385,187.205,0],"e":[101.385,187.205,0],"to":[0.5,0,0],"ti":[-0.91666668653488,0,0]},{"i":{"x":0.15,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p15_1_0p167_0p167","t":53,"s":[101.385,187.205,0],"e":[103.885,187.205,0],"to":[0.91666668653488,0,0],"ti":[-0.41666665673256,0,0]},{"i":{"x":0.15,"y":0.15},"o":{"x":0.85,"y":0.85},"n":"0p15_0p15_0p85_0p85","t":67,"s":[103.885,187.205,0],"e":[103.885,187.205,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.85,"y":0},"n":"0p833_0p833_0p85_0","t":94,"s":[103.885,187.205,0],"e":[101.385,187.205,0],"to":[-0.41666665673256,0,0],"ti":[0.41666665673256,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":100,"s":[101.385,187.205,0],"e":[101.385,187.205,0],"to":[0,0,0],"ti":[0,0,0]},{"t":114}],"ix":2},"a":{"a":0,"k":[128,239,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":265,"h":166,"ip":0,"op":162,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Mouth","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.85],"y":[0]},"n":["0p15_1_0p85_0"],"t":124,"s":[0],"e":[5.203]},{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.85],"y":[0]},"n":["0p15_1_0p85_0"],"t":136,"s":[5.203],"e":[0]},{"t":148}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.15,"y":1},"o":{"x":0.85,"y":0},"n":"0p15_1_0p85_0","t":124,"s":[19.267,100.511,0],"e":[19.267,98.636,0],"to":[0,-0.3125,0],"ti":[0,0,0]},{"i":{"x":0.15,"y":1},"o":{"x":0.85,"y":0},"n":"0p15_1_0p85_0","t":136,"s":[19.267,98.636,0],"e":[19.267,100.511,0],"to":[0,0,0],"ti":[0,-0.3125,0]},{"t":148}],"ix":2},"a":{"a":0,"k":[42.667,13.167,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-34.167,0],[0,0]],"o":[[0,0],[34.166,0],[0,0]],"v":[[-35.166,-5.667],[1.001,5.667],[35.166,-5.667]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.925,0.455000005984,0.395999983245,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":2,"lj":2,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[42.666,13.167],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":162,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Nose","parent":8,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.16],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p16_1_0p167_0"],"t":0,"s":[0],"e":[0]},{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.84],"y":[0]},"n":["0p15_1_0p84_0"],"t":6,"s":[0],"e":[-4]},{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.85],"y":[0]},"n":["0p15_1_0p85_0"],"t":20,"s":[-4],"e":[-4]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.85],"y":[0]},"n":["0p833_0p833_0p85_0"],"t":47,"s":[-4],"e":[0]},{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p15_1_0p167_0p167"],"t":53,"s":[0],"e":[4]},{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p15_1_0p167_0"],"t":67,"s":[4],"e":[4]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p833_0p167_0"],"t":94,"s":[4],"e":[0]},{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p15_1_0p167_0"],"t":100,"s":[0],"e":[0]},{"t":114}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.16,"y":0.16},"o":{"x":0.167,"y":0.167},"n":"0p16_0p16_0p167_0p167","t":0,"s":[102.885,146.327,0],"e":[102.885,146.327,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.15,"y":1},"o":{"x":0.84,"y":0},"n":"0p15_1_0p84_0","t":6,"s":[102.885,146.327,0],"e":[110.885,139.327,0],"to":[1.33333337306976,-1.16666662693024,0],"ti":[-1.33333337306976,1.16666662693024,0]},{"i":{"x":0.15,"y":0.15},"o":{"x":0.85,"y":0.85},"n":"0p15_0p15_0p85_0p85","t":20,"s":[110.885,139.327,0],"e":[110.885,139.327,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.85,"y":0},"n":"0p833_0p833_0p85_0","t":47,"s":[110.885,139.327,0],"e":[102.885,146.327,0],"to":[-1.33333337306976,1.16666662693024,0],"ti":[2.58333325386047,0,0]},{"i":{"x":0.15,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p15_1_0p167_0p167","t":53,"s":[102.885,146.327,0],"e":[95.385,139.327,0],"to":[-2.58333325386047,0,0],"ti":[1.25,1.16666662693024,0]},{"i":{"x":0.15,"y":0.15},"o":{"x":0.167,"y":0.167},"n":"0p15_0p15_0p167_0p167","t":67,"s":[95.385,139.327,0],"e":[95.385,139.327,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"n":"0p833_0p833_0p167_0","t":94,"s":[95.385,139.327,0],"e":[102.885,146.327,0],"to":[1.25,1.16666662693024,0],"ti":[-1.25,-1.16666662693024,0]},{"i":{"x":0.15,"y":0.15},"o":{"x":0.167,"y":0.167},"n":"0p15_0p15_0p167_0p167","t":100,"s":[102.885,146.327,0],"e":[102.885,146.327,0],"to":[0,0,0],"ti":[0,0,0]},{"t":114}],"ix":2},"a":{"a":0,"k":[20.266,37.538,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[4.843,-4.933],[0,0],[0,0],[4.52,8.394],[4.842,4.946],[-2.583,11.623],[-7.426,0],[-2.583,-11.623]],"o":[[-4.843,4.946],[-4.52,8.394],[0,0],[0,0],[-4.843,-4.933],[2.583,-11.623],[7.425,0],[2.583,11.623]],"v":[[14.529,32.213],[7.425,28.895],[0.001,35.351],[-7.425,28.895],[-14.527,32.213],[-17.433,8.232],[0.001,-37.288],[17.434,8.232]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.925,0.455000005984,0.395999983245,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[20.266,37.539],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":162,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Eye","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-36.067,12.5,0],"ix":2},"a":{"a":0,"k":[6.333,6.333,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.16,0.16,0.16],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0]},"n":["0p16_1_0p167_0p167","0p16_1_0p167_0p167","0p16_1_0p167_0"],"t":0,"s":[100,100,100],"e":[205,18,100]},{"i":{"x":[0.15,0.15,0.15],"y":[1,1,1]},"o":{"x":[0.84,0.84,0.84],"y":[0,0,0]},"n":["0p15_1_0p84_0","0p15_1_0p84_0","0p15_1_0p84_0"],"t":6,"s":[205,18,100],"e":[100,100,100]},{"i":{"x":[0.15,0.15,0.15],"y":[1,1,1]},"o":{"x":[0.85,0.85,0.85],"y":[0,0,0]},"n":["0p15_1_0p85_0","0p15_1_0p85_0","0p15_1_0p85_0"],"t":20,"s":[100,100,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,1]},"o":{"x":[0.85,0.85,0.85],"y":[0,0,0]},"n":["0p833_0p833_0p85_0","0p833_0p833_0p85_0","0p833_1_0p85_0"],"t":30,"s":[100,100,100],"e":[205,18,100]},{"i":{"x":[0.15,0.15,0.15],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0]},"n":["0p15_1_0p167_0p167","0p15_1_0p167_0p167","0p15_1_0p167_0"],"t":36,"s":[205,18,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"n":["0p833_1_0p167_0","0p833_1_0p167_0","0p833_1_0p167_0"],"t":42,"s":[100,100,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":47,"s":[100,100,100],"e":[205,18,100]},{"i":{"x":[0.15,0.15,0.15],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0]},"n":["0p15_1_0p167_0p167","0p15_1_0p167_0p167","0p15_1_0p167_0"],"t":53,"s":[205,18,100],"e":[100,100,100]},{"i":{"x":[0.15,0.15,0.15],"y":[1,1,1]},"o":{"x":[0.85,0.85,0.85],"y":[0,0,0]},"n":["0p15_1_0p85_0","0p15_1_0p85_0","0p15_1_0p85_0"],"t":67,"s":[100,100,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,1]},"o":{"x":[0.85,0.85,0.85],"y":[0,0,0]},"n":["0p833_0p833_0p85_0","0p833_0p833_0p85_0","0p833_1_0p85_0"],"t":77,"s":[100,100,100],"e":[205,18,100]},{"i":{"x":[0.15,0.15,0.15],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0]},"n":["0p15_1_0p167_0p167","0p15_1_0p167_0p167","0p15_1_0p167_0"],"t":83,"s":[205,18,100],"e":[100,100,100]},{"i":{"x":[0.15,0.15,0.15],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"n":["0p15_1_0p167_0","0p15_1_0p167_0","0p15_1_0p167_0"],"t":89,"s":[100,100,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,1]},"o":{"x":[0.85,0.85,0.85],"y":[0,0,0]},"n":["0p833_0p833_0p85_0","0p833_0p833_0p85_0","0p833_1_0p85_0"],"t":94,"s":[100,100,100],"e":[205,18,100]},{"i":{"x":[0.15,0.15,0.15],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0]},"n":["0p15_1_0p167_0p167","0p15_1_0p167_0p167","0p15_1_0p167_0"],"t":100,"s":[205,18,100],"e":[100,100,100]},{"i":{"x":[0.15,0.15,0.15],"y":[1,1,1]},"o":{"x":[0.85,0.85,0.85],"y":[0,0,0]},"n":["0p15_1_0p85_0","0p15_1_0p85_0","0p15_1_0p85_0"],"t":114,"s":[100,100,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,1]},"o":{"x":[0.85,0.85,0.85],"y":[0,0,0]},"n":["0p833_0p833_0p85_0","0p833_0p833_0p85_0","0p833_1_0p85_0"],"t":130,"s":[100,100,100],"e":[205,18,100]},{"i":{"x":[0.15,0.15,0.15],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0]},"n":["0p15_1_0p167_0p167","0p15_1_0p167_0p167","0p15_1_0p167_0"],"t":136,"s":[205,18,100],"e":[100,100,100]},{"t":148}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-3.36],[3.359,0],[0,3.359],[-3.36,0]],"o":[[0,3.359],[-3.36,0],[0,-3.36],[3.359,0]],"v":[[6.084,0],[0.001,6.083],[-6.084,0],[0.001,-6.083]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.176000004189,0.204000001795,0.270999983245,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[6.333,6.333],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":162,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Eye","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[75.767,12.5,0],"ix":2},"a":{"a":0,"k":[6.333,6.333,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.16,0.16,0.16],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0]},"n":["0p16_1_0p167_0p167","0p16_1_0p167_0p167","0p16_1_0p167_0"],"t":0,"s":[100,100,100],"e":[205,18,100]},{"i":{"x":[0.15,0.15,0.15],"y":[1,1,1]},"o":{"x":[0.84,0.84,0.84],"y":[0,0,0]},"n":["0p15_1_0p84_0","0p15_1_0p84_0","0p15_1_0p84_0"],"t":6,"s":[205,18,100],"e":[100,100,100]},{"i":{"x":[0.15,0.15,0.15],"y":[1,1,1]},"o":{"x":[0.85,0.85,0.85],"y":[0,0,0]},"n":["0p15_1_0p85_0","0p15_1_0p85_0","0p15_1_0p85_0"],"t":20,"s":[100,100,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,1]},"o":{"x":[0.85,0.85,0.85],"y":[0,0,0]},"n":["0p833_0p833_0p85_0","0p833_0p833_0p85_0","0p833_1_0p85_0"],"t":30,"s":[100,100,100],"e":[205,18,100]},{"i":{"x":[0.15,0.15,0.15],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0]},"n":["0p15_1_0p167_0p167","0p15_1_0p167_0p167","0p15_1_0p167_0"],"t":36,"s":[205,18,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"n":["0p833_1_0p167_0","0p833_1_0p167_0","0p833_1_0p167_0"],"t":42,"s":[100,100,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":47,"s":[100,100,100],"e":[205,18,100]},{"i":{"x":[0.15,0.15,0.15],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0]},"n":["0p15_1_0p167_0p167","0p15_1_0p167_0p167","0p15_1_0p167_0"],"t":53,"s":[205,18,100],"e":[100,100,100]},{"i":{"x":[0.15,0.15,0.15],"y":[1,1,1]},"o":{"x":[0.85,0.85,0.85],"y":[0,0,0]},"n":["0p15_1_0p85_0","0p15_1_0p85_0","0p15_1_0p85_0"],"t":67,"s":[100,100,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,1]},"o":{"x":[0.85,0.85,0.85],"y":[0,0,0]},"n":["0p833_0p833_0p85_0","0p833_0p833_0p85_0","0p833_1_0p85_0"],"t":77,"s":[100,100,100],"e":[205,18,100]},{"i":{"x":[0.15,0.15,0.15],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0]},"n":["0p15_1_0p167_0p167","0p15_1_0p167_0p167","0p15_1_0p167_0"],"t":83,"s":[205,18,100],"e":[100,100,100]},{"i":{"x":[0.15,0.15,0.15],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"n":["0p15_1_0p167_0","0p15_1_0p167_0","0p15_1_0p167_0"],"t":89,"s":[100,100,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,1]},"o":{"x":[0.85,0.85,0.85],"y":[0,0,0]},"n":["0p833_0p833_0p85_0","0p833_0p833_0p85_0","0p833_1_0p85_0"],"t":94,"s":[100,100,100],"e":[205,18,100]},{"i":{"x":[0.15,0.15,0.15],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0]},"n":["0p15_1_0p167_0p167","0p15_1_0p167_0p167","0p15_1_0p167_0"],"t":100,"s":[205,18,100],"e":[100,100,100]},{"t":114}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-3.36],[3.359,0],[0,3.359],[-3.359,0]],"o":[[0,3.359],[-3.359,0],[0,-3.36],[3.359,0]],"v":[[6.083,0],[0,6.083],[-6.083,0],[0,-6.083]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.176000004189,0.204000001795,0.270999983245,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[6.333,6.333],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":162,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Left Eye Brow","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.16],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p16_1_0p167_0p167"],"t":0,"s":[0],"e":[9.695]},{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.84],"y":[0]},"n":["0p15_1_0p84_0"],"t":6,"s":[9.695],"e":[-8.041]},{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.85],"y":[0]},"n":["0p15_1_0p85_0"],"t":20,"s":[-8.041],"e":[-8.041]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.85],"y":[0]},"n":["0p833_1_0p85_0"],"t":30,"s":[-8.041],"e":[-1.024]},{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p15_1_0p167_0"],"t":36,"s":[-1.024],"e":[-8.041]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p833_0p167_0"],"t":42,"s":[-8.041],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":47,"s":[0],"e":[9.695]},{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p15_1_0p167_0p167"],"t":53,"s":[9.695],"e":[-8.041]},{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.85],"y":[0]},"n":["0p15_1_0p85_0"],"t":67,"s":[-8.041],"e":[-8.041]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.85],"y":[0]},"n":["0p833_1_0p85_0"],"t":77,"s":[-8.041],"e":[-1.024]},{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p15_1_0p167_0"],"t":83,"s":[-1.024],"e":[-8.041]},{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p15_1_0p167_0"],"t":89,"s":[-8.041],"e":[-8.041]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.85],"y":[0]},"n":["0p833_0p833_0p85_0"],"t":94,"s":[-8.041],"e":[9.695]},{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p15_1_0p167_0p167"],"t":100,"s":[9.695],"e":[0]},{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.85],"y":[0]},"n":["0p15_1_0p85_0"],"t":114,"s":[0],"e":[-8.258]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.85],"y":[0]},"n":["0p833_1_0p85_0"],"t":124,"s":[-8.258],"e":[6.314]},{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p15_1_0p167_0"],"t":136,"s":[6.314],"e":[0]},{"t":148}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.16,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p16_1_0p167_0p167","t":0,"s":[-34.733,-13.416,0],"e":[-34.733,-4.916,0],"to":[0,1.41666662693024,0],"ti":[0,-0.25,0]},{"i":{"x":0.15,"y":1},"o":{"x":0.84,"y":0},"n":"0p15_1_0p84_0","t":6,"s":[-34.733,-4.916,0],"e":[-34.733,-11.916,0],"to":[0,0.25,0],"ti":[0,1.16666662693024,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.85,"y":0.85},"n":"0p833_0p833_0p85_0p85","t":20,"s":[-34.733,-11.916,0],"e":[-34.733,-11.916,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":30,"s":[-34.733,-11.916,0],"e":[-34.746,-8.158,0],"to":[-0.00203262735158,0.62638407945633,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":36,"s":[-34.746,-8.158,0],"e":[-34.733,-11.916,0],"to":[0,0,0],"ti":[-0.00203262735158,0.87638407945633,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":42,"s":[-34.733,-11.916,0],"e":[-34.733,-13.416,0],"to":[0.00203262735158,-0.87638407945633,0],"ti":[0,-1.16666662693024,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":47,"s":[-34.733,-13.416,0],"e":[-34.733,-4.916,0],"to":[0,1.16666662693024,0],"ti":[0,-0.25,0]},{"i":{"x":0.15,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p15_1_0p167_0p167","t":53,"s":[-34.733,-4.916,0],"e":[-34.733,-11.916,0],"to":[0,0.25,0],"ti":[0,1.16666662693024,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.85,"y":0.85},"n":"0p833_0p833_0p85_0p85","t":67,"s":[-34.733,-11.916,0],"e":[-34.733,-11.916,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":77,"s":[-34.733,-11.916,0],"e":[-34.746,-8.158,0],"to":[-0.00203262735158,0.62638407945633,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":83,"s":[-34.746,-8.158,0],"e":[-34.733,-11.916,0],"to":[0,0,0],"ti":[-0.00203262735158,0.62638407945633,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":89,"s":[-34.733,-11.916,0],"e":[-34.733,-11.916,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":94,"s":[-34.733,-11.916,0],"e":[-34.733,-4.916,0],"to":[0,1.16666662693024,0],"ti":[0,0.25,0]},{"i":{"x":0.15,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p15_1_0p167_0p167","t":100,"s":[-34.733,-4.916,0],"e":[-34.733,-13.416,0],"to":[0,-0.25,0],"ti":[0,3.25,0]},{"i":{"x":0.32,"y":1},"o":{"x":0.85,"y":0},"n":"0p32_1_0p85_0","t":114,"s":[-34.733,-13.416,0],"e":[-34.733,-24.416,0],"to":[0,-3.25,0],"ti":[0.00203262735158,-1.70971739292145,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":124,"s":[-34.733,-24.416,0],"e":[-34.746,-3.158,0],"to":[-0.00203262735158,1.70971739292145,0],"ti":[0,-1.83333337306976,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":136,"s":[-34.746,-3.158,0],"e":[-34.733,-13.416,0],"to":[0,1.83333337306976,0],"ti":[-0.00203262735158,1.70971739292145,0]},{"t":148}],"ix":2},"a":{"a":0,"k":[21.083,8.416,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[4.492,0],[0,0],[0,4.492],[-4.492,0],[0,0],[0,-4.492]],"o":[[0,0],[-4.492,0],[0,-4.492],[0,0],[4.492,0],[0,4.492]],"v":[[12.667,8.166],[-12.667,8.166],[-20.833,-0.001],[-12.667,-8.166],[12.667,-8.166],[20.833,-0.001]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.176000004189,0.204000001795,0.270999983245,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[21.083,8.417],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":162,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Right Eye Brow","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.16],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p16_1_0p167_0p167"],"t":0,"s":[0],"e":[-7.24]},{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.84],"y":[0]},"n":["0p15_1_0p84_0"],"t":6,"s":[-7.24],"e":[5.892]},{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.85],"y":[0]},"n":["0p15_1_0p85_0"],"t":20,"s":[5.892],"e":[5.892]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.85],"y":[0]},"n":["0p833_1_0p85_0"],"t":30,"s":[5.892],"e":[-0.716]},{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p15_1_0p167_0"],"t":36,"s":[-0.716],"e":[5.892]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p833_0p167_0"],"t":42,"s":[5.892],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":47,"s":[0],"e":[-7.24]},{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p15_1_0p167_0p167"],"t":53,"s":[-7.24],"e":[5.892]},{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.85],"y":[0]},"n":["0p15_1_0p85_0"],"t":67,"s":[5.892],"e":[5.892]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.85],"y":[0]},"n":["0p833_1_0p85_0"],"t":77,"s":[5.892],"e":[-0.716]},{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p15_1_0p167_0"],"t":83,"s":[-0.716],"e":[5.892]},{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p15_1_0p167_0"],"t":89,"s":[5.892],"e":[5.892]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.85],"y":[0]},"n":["0p833_0p833_0p85_0"],"t":94,"s":[5.892],"e":[-7.24]},{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p15_1_0p167_0p167"],"t":100,"s":[-7.24],"e":[0]},{"t":114}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.16,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p16_1_0p167_0p167","t":0,"s":[75.267,-13.416,0],"e":[75.267,-4.916,0],"to":[0,1.41666662693024,0],"ti":[0,-0.08333333581686,0]},{"i":{"x":0.15,"y":1},"o":{"x":0.84,"y":0},"n":"0p15_1_0p84_0","t":6,"s":[75.267,-4.916,0],"e":[75.267,-12.916,0],"to":[0,0.08333333581686,0],"ti":[0,1.33333337306976,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.85,"y":0.85},"n":"0p833_0p833_0p85_0p85","t":20,"s":[75.267,-12.916,0],"e":[75.267,-12.916,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":30,"s":[75.267,-12.916,0],"e":[75.22,-8.659,0],"to":[-0.00784566719085,0.70951437950134,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":36,"s":[75.22,-8.659,0],"e":[75.267,-12.916,0],"to":[0,0,0],"ti":[-0.00784566719085,0.79284769296646,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":42,"s":[75.267,-12.916,0],"e":[75.267,-13.416,0],"to":[0.00784566719085,-0.79284769296646,0],"ti":[0,-1.33333337306976,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":47,"s":[75.267,-13.416,0],"e":[75.267,-4.916,0],"to":[0,1.33333337306976,0],"ti":[0,-0.08333333581686,0]},{"i":{"x":0.15,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p15_1_0p167_0p167","t":53,"s":[75.267,-4.916,0],"e":[75.267,-12.916,0],"to":[0,0.08333333581686,0],"ti":[0,1.33333337306976,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.85,"y":0.85},"n":"0p833_0p833_0p85_0p85","t":67,"s":[75.267,-12.916,0],"e":[75.267,-12.916,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":77,"s":[75.267,-12.916,0],"e":[75.22,-8.659,0],"to":[-0.00784566719085,0.70951437950134,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":83,"s":[75.22,-8.659,0],"e":[75.267,-12.916,0],"to":[0,0,0],"ti":[-0.00784566719085,0.70951437950134,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":89,"s":[75.267,-12.916,0],"e":[75.267,-12.916,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":94,"s":[75.267,-12.916,0],"e":[75.267,-4.916,0],"to":[0,1.33333337306976,0],"ti":[0,0.08333333581686,0]},{"i":{"x":0.15,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p15_1_0p167_0p167","t":100,"s":[75.267,-4.916,0],"e":[75.267,-13.416,0],"to":[0,-0.08333333581686,0],"ti":[0,1.41666662693024,0]},{"t":114}],"ix":2},"a":{"a":0,"k":[21.083,8.416,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[4.491,0],[0,0],[0,4.492],[-4.491,0],[0,0],[0,-4.492]],"o":[[0,0],[-4.491,0],[0,-4.492],[0,0],[4.491,0],[0,4.492]],"v":[[12.667,8.166],[-12.667,8.166],[-20.833,-0.001],[-12.667,-8.166],[12.667,-8.166],[20.833,-0.001]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.176000004189,0.204000001795,0.270999983245,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[21.083,8.417],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":162,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"Face","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.16,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p16_1_0p167_0p167","t":0,"s":[452.198,490.045,0],"e":[452.198,496.045,0],"to":[0,1,0],"ti":[0,0,0]},{"i":{"x":0.15,"y":1},"o":{"x":0.84,"y":0},"n":"0p15_1_0p84_0","t":6,"s":[452.198,496.045,0],"e":[452.198,490.045,0],"to":[0,0,0],"ti":[0,1,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.85,"y":0.85},"n":"0p833_0p833_0p85_0p85","t":20,"s":[452.198,490.045,0],"e":[452.198,490.045,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":47,"s":[452.198,490.045,0],"e":[452.198,496.045,0],"to":[0,1,0],"ti":[0,0,0]},{"i":{"x":0.15,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p15_1_0p167_0p167","t":53,"s":[452.198,496.045,0],"e":[452.198,490.045,0],"to":[0,0,0],"ti":[0,1,0]},{"i":{"x":0.15,"y":0.15},"o":{"x":0.167,"y":0.167},"n":"0p15_0p15_0p167_0p167","t":67,"s":[452.198,490.045,0],"e":[452.198,490.045,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"n":"0p833_0p833_0p167_0","t":94,"s":[452.198,490.045,0],"e":[452.198,496.045,0],"to":[0,1,0],"ti":[0,0,0]},{"i":{"x":0.15,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p15_1_0p167_0p167","t":100,"s":[452.198,496.045,0],"e":[452.198,490.045,0],"to":[0,0,0],"ti":[0,2.5,0]},{"i":{"x":0.15,"y":1},"o":{"x":0.85,"y":0},"n":"0p15_1_0p85_0","t":114,"s":[452.198,490.045,0],"e":[452.198,481.045,0],"to":[0,-2.5,0],"ti":[0,-1.16666662693024,0]},{"i":{"x":0.15,"y":1},"o":{"x":0.85,"y":0},"n":"0p15_1_0p85_0","t":124,"s":[452.198,481.045,0],"e":[452.198,497.045,0],"to":[0,1.16666662693024,0],"ti":[0,0,0]},{"i":{"x":0.15,"y":1},"o":{"x":0.85,"y":0},"n":"0p15_1_0p85_0","t":136,"s":[452.198,497.045,0],"e":[452.198,481.045,0],"to":[0,0,0],"ti":[0,2.66666674613953,0]},{"t":148}],"ix":2},"a":{"a":0,"k":[103.583,227.25,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[11.192,0],[0,0],[0,-11.193],[0,0],[-55.733,0],[0,55.733],[0,0]],"o":[[0,0],[-11.192,0],[0,0],[0,55.733],[55.733,0],[0,0],[0,-11.193]],"v":[[80.983,-136],[-80.984,-136],[-101.333,-115.65],[-101.333,34.667],[0,136],[101.333,34.667],[101.333,-115.65]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.976000019148,0.855000035903,0.74900004069,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[101.583,136.25],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":162,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":0,"nm":"Ear","parent":8,"refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.16],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p16_1_0p167_0"],"t":0,"s":[0],"e":[0]},{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.84],"y":[0]},"n":["0p15_1_0p84_0"],"t":6,"s":[0],"e":[-1.475]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.85],"y":[0]},"n":["0p833_1_0p85_0"],"t":20,"s":[-1.475],"e":[-1.475]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p833_0p167_0"],"t":47,"s":[-1.475],"e":[0]},{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p15_1_0p167_0p167"],"t":53,"s":[0],"e":[1.095]},{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p15_1_0p167_0"],"t":67,"s":[1.095],"e":[1.095]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p833_0p167_0"],"t":94,"s":[1.095],"e":[0]},{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p15_1_0p167_0"],"t":100,"s":[0],"e":[0]},{"t":114}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.16,"y":0.16},"o":{"x":0.167,"y":0.167},"n":"0p16_0p16_0p167_0p167","t":0,"s":[101.385,187.205,0],"e":[101.385,187.205,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.15,"y":1},"o":{"x":0.84,"y":0},"n":"0p15_1_0p84_0","t":6,"s":[101.385,187.205,0],"e":[97.385,190.205,0],"to":[-0.66666668653488,0.5,0],"ti":[0.66666668653488,-0.5,0]},{"i":{"x":0.15,"y":0.15},"o":{"x":0.85,"y":0.85},"n":"0p15_0p15_0p85_0p85","t":20,"s":[97.385,190.205,0],"e":[97.385,190.205,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.85,"y":0},"n":"0p833_0p833_0p85_0","t":47,"s":[97.385,190.205,0],"e":[101.385,187.205,0],"to":[0.66666668653488,-0.5,0],"ti":[-1.41666662693024,0,0]},{"i":{"x":0.15,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p15_1_0p167_0p167","t":53,"s":[101.385,187.205,0],"e":[105.885,190.205,0],"to":[1.41666662693024,0,0],"ti":[-0.75,-0.5,0]},{"i":{"x":0.15,"y":0.15},"o":{"x":0.167,"y":0.167},"n":"0p15_0p15_0p167_0p167","t":67,"s":[105.885,190.205,0],"e":[105.885,190.205,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"n":"0p833_0p833_0p167_0","t":94,"s":[105.885,190.205,0],"e":[101.385,187.205,0],"to":[-0.75,-0.5,0],"ti":[0.75,0.5,0]},{"i":{"x":0.15,"y":0.15},"o":{"x":0.167,"y":0.167},"n":"0p15_0p15_0p167_0p167","t":100,"s":[101.385,187.205,0],"e":[101.385,187.205,0],"to":[0,0,0],"ti":[0,0,0]},{"t":114}],"ix":2},"a":{"a":0,"k":[139,89,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":281,"h":539,"ip":0,"op":162,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"Jakun","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[450.948,579.25,0],"ix":2},"a":{"a":0,"k":[23.375,18.375,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-21.5,-16.5],[-0.464,16.5],[21.5,-16.5]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.925,0.455000005984,0.395999983245,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.75,"ix":5},"lc":2,"lj":2,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[23.375,18.375],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":162,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"Neck 2","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[450.948,524.25,0],"ix":2},"a":{"a":0,"k":[74.083,116.25,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[8.823,0],[0,0],[0,-8.823],[0,0],[-40.608,0],[0,40.608],[0,0]],"o":[[0,0],[-8.823,0],[0,0],[0,40.608],[40.608,0],[0,0],[0,-8.823]],"v":[[57.79,-116],[-57.792,-116],[-73.833,-99.958],[-73.833,42.167],[-0.001,116],[73.833,42.167],[73.833,-99.958]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.878431379795,0.731532931328,0.602845072746,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[74.084,116.25],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":162,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"Shape Layer 1","parent":8,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-9.776,"ix":10},"p":{"a":0,"k":[95.385,220.205,0],"ix":2},"a":{"a":0,"k":[-2,100,0],"ix":1},"s":{"a":0,"k":[116.328,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[148,148],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.686274509804,0.585274849686,0.495194169587,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-2,100],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":162,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"Neck","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[450.948,524.25,0],"ix":2},"a":{"a":0,"k":[74.083,116.25,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[8.823,0],[0,0],[0,-8.823],[0,0],[-40.608,0],[0,40.608],[0,0]],"o":[[0,0],[-8.823,0],[0,0],[0,40.608],[40.608,0],[0,0],[0,-8.823]],"v":[[57.79,-116],[-57.792,-116],[-73.833,-99.958],[-73.833,42.167],[-0.001,116],[73.833,42.167],[73.833,-99.958]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.878431379795,0.731532931328,0.602845072746,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[74.084,116.25],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":162,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":0,"nm":"Back Hair","parent":8,"refId":"comp_3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.16,"y":0.16},"o":{"x":0.167,"y":0.167},"n":"0p16_0p16_0p167_0p167","t":0,"s":[101.385,187.205,0],"e":[101.385,187.205,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.15,"y":1},"o":{"x":0.84,"y":0},"n":"0p15_1_0p84_0","t":6,"s":[101.385,187.205,0],"e":[92.385,190.205,0],"to":[-1.5,0.5,0],"ti":[1.5,-0.5,0]},{"i":{"x":0.15,"y":0.15},"o":{"x":0.85,"y":0.85},"n":"0p15_0p15_0p85_0p85","t":20,"s":[92.385,190.205,0],"e":[92.385,190.205,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.85,"y":0},"n":"0p833_0p833_0p85_0","t":47,"s":[92.385,190.205,0],"e":[101.385,187.205,0],"to":[1.5,-0.5,0],"ti":[-3.16666674613953,0,0]},{"i":{"x":0.15,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p15_1_0p167_0p167","t":53,"s":[101.385,187.205,0],"e":[111.385,190.205,0],"to":[3.16666674613953,0,0],"ti":[-1.66666662693024,-0.5,0]},{"i":{"x":0.15,"y":0.15},"o":{"x":0.85,"y":0.85},"n":"0p15_0p15_0p85_0p85","t":67,"s":[111.385,190.205,0],"e":[111.385,190.205,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.85,"y":0},"n":"0p833_0p833_0p85_0","t":94,"s":[111.385,190.205,0],"e":[101.385,187.205,0],"to":[-1.66666662693024,-0.5,0],"ti":[1.66666662693024,0.5,0]},{"i":{"x":0.15,"y":0.15},"o":{"x":0.167,"y":0.167},"n":"0p15_0p15_0p167_0p167","t":100,"s":[101.385,187.205,0],"e":[101.385,187.205,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.15,"y":1},"o":{"x":0.85,"y":0},"n":"0p15_1_0p85_0","t":114,"s":[101.385,187.205,0],"e":[101.385,194.205,0],"to":[0,1.16666662693024,0],"ti":[0,-1.16666662693024,0]},{"i":{"x":0.15,"y":0.15},"o":{"x":0.85,"y":0.85},"n":"0p15_0p15_0p85_0p85","t":124,"s":[101.385,194.205,0],"e":[101.385,194.205,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.15,"y":1},"o":{"x":0.85,"y":0},"n":"0p15_1_0p85_0","t":136,"s":[101.385,194.205,0],"e":[101.385,187.205,0],"to":[0,-1.16666662693024,0],"ti":[0,1.16666662693024,0]},{"t":148}],"ix":2},"a":{"a":0,"k":[165,271,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":342,"h":349,"ip":0,"op":162,"st":0,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":"Rope","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[421.395,712.446,0],"ix":2},"a":{"a":0,"k":[9.25,9.458,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[4.233,0],[0,0],[0,4.233],[0,0],[-4.234,0],[0,0],[0,-4.233],[0,0]],"o":[[0,0],[-4.234,0],[0,0],[0,-4.233],[0,0],[4.233,0],[0,0],[0,4.233]],"v":[[1.303,52.208],[-1.302,52.208],[-9,44.512],[-9,-44.512],[-1.302,-52.208],[1.303,-52.208],[9,-44.512],[9,44.512]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[9.25,52.458],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":162,"st":0,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":"Rope","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[479.395,711.946,0],"ix":2},"a":{"a":0,"k":[9.25,8.958,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[4.233,0],[0,0],[0,4.233],[0,0],[-4.234,0],[0,0],[0,-4.233],[0,0]],"o":[[0,0],[-4.234,0],[0,0],[0,-4.233],[0,0],[4.233,0],[0,0],[0,4.233]],"v":[[1.303,52.208],[-1.302,52.208],[-9,44.512],[-9,-44.512],[-1.302,-52.208],[1.303,-52.208],[9,-44.512],[9,44.512]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[9.25,52.458],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":162,"st":0,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":"Inshirt Shirt","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[450.395,650.725,0],"ix":2},"a":{"a":0,"k":[69.863,60.025,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[69.613,-59.775],[-0.499,59.775],[-69.613,-59.775]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.176000004189,0.204000001795,0.270999983245,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[69.863,60.025],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":162,"st":0,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":"Jacket","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[450.197,693.825,0],"ix":2},"a":{"a":0,"k":[226.25,151.425,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[226,54.165],[226,151.175],[-226,151.175],[-226,54.165],[-164,-21.175],[-176,-41.175],[-134.67,-151.175],[134.67,-151.175],[176,-41.175],[164,-21.175]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[226.25,151.425],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":162,"st":0,"bm":0}]},{"id":"comp_1","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Layer 3 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[233.642,107.465,0],"ix":2},"a":{"a":0,"k":[31.489,31.489,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-17.253],[17.253,0],[0,17.252],[-17.253,0]],"o":[[0,17.252],[-17.253,0],[0,-17.253],[17.253,0]],"v":[[31.239,0],[0,31.239],[-31.239,0],[0,-31.239]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.176000004189,0.204000001795,0.270999983245,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[31.489,31.489],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":320,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Layer 4 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[93.334,36.893,0],"ix":2},"a":{"a":0,"k":[37.143,37.143,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-20.375],[20.375,0],[0,20.375],[-20.376,0]],"o":[[0,20.375],[-20.376,0],[0,-20.375],[20.375,0]],"v":[[36.893,0],[0,36.893],[-36.893,0],[0,-36.893]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.176000004189,0.204000001795,0.270999983245,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[37.143,37.143],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":320,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Layer 5 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[41.962,64.692,0],"ix":2},"a":{"a":0,"k":[37.143,37.143,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-20.375],[20.375,0],[0,20.375],[-20.376,0]],"o":[[0,20.375],[-20.376,0],[0,-20.375],[20.375,0]],"v":[[36.893,0],[0,36.893],[-36.893,0],[0,-36.893]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.176000004189,0.204000001795,0.270999983245,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[37.143,37.143],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":320,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Layer 6 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[133.774,35.547,0],"ix":2},"a":{"a":0,"k":[27.036,27.036,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-14.793],[14.794,0],[0,14.793],[-14.794,0]],"o":[[0,14.793],[-14.794,0],[0,-14.793],[14.794,0]],"v":[[26.786,0],[0,26.786],[-26.786,0],[0,-26.786]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.176000004189,0.204000001795,0.270999983245,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[27.036,27.036],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":320,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Layer 7 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[222.916,62.334,0],"ix":2},"a":{"a":0,"k":[27.035,27.036,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-14.793],[14.794,0],[0,14.793],[-14.793,0]],"o":[[0,14.793],[-14.793,0],[0,-14.793],[14.794,0]],"v":[[26.786,0],[0,26.786],[-26.786,0],[0,-26.786]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.176000004189,0.204000001795,0.270999983245,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[27.035,27.036],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":320,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Layer 8 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[170.636,47,0],"ix":2},"a":{"a":0,"k":[32.018,32.017,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-17.544],[17.545,0],[0,17.544],[-17.545,0]],"o":[[0,17.544],[-17.545,0],[0,-17.544],[17.545,0]],"v":[[31.768,0],[-0.001,31.767],[-31.768,0],[-0.001,-31.767]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.176000004189,0.204000001795,0.270999983245,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[32.018,32.017],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":320,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Layer 9 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[232.333,148.072,0],"ix":2},"a":{"a":0,"k":[17.618,17.618,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-9.592],[9.593,0],[0,9.592],[-9.592,0]],"o":[[0,9.592],[-9.592,0],[0,-9.592],[9.593,0]],"v":[[17.368,0],[0,17.368],[-17.368,0],[0,-17.368]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.176000004189,0.204000001795,0.270999983245,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[17.618,17.618],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":320,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"Layer 10 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[24.499,112.956,0],"ix":2},"a":{"a":0,"k":[24.522,24.522,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-13.405],[13.405,0],[0,13.405],[-13.406,0]],"o":[[0,13.405],[-13.406,0],[0,-13.405],[13.405,0]],"v":[[24.273,0],[0.001,24.272],[-24.273,0],[0.001,-24.272]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.176000004189,0.204000001795,0.270999983245,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[24.523,24.522],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":320,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"Layer 11 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[23.094,141.428,0],"ix":2},"a":{"a":0,"k":[19.118,19.118,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-10.42],[10.421,0],[0,10.42],[-10.421,0]],"o":[[0,10.42],[-10.421,0],[0,-10.42],[10.421,0]],"v":[[18.868,0],[0,18.868],[-18.868,0],[0,-18.868]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.176000004189,0.204000001795,0.270999983245,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[19.118,19.118],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":320,"st":0,"bm":0}]},{"id":"comp_2","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"EarPhone","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[139.395,284.625,0],"ix":2},"a":{"a":0,"k":[119.538,256.875,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[4.049,-6.086],[0,0],[0,0]],"o":[[0,0],[0,7.31],[0,0],[0,0],[0,0]],"v":[[57.966,-236.685],[57.966,-223.667],[51.756,-203.125],[-57.966,-38.23],[-57.966,236.686]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[177.583,274.564],"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,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-4.049,-6.086],[0,0],[0,0]],"o":[[0,0],[0,7.31],[0,0],[0,0],[0,0]],"v":[[-57.965,-236.685],[-57.965,-223.667],[-51.757,-203.125],[57.965,-38.23],[57.965,236.686]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[61.653,274.564],"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,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-6.548],[-6.547,0],[0,6.547],[6.548,0]],"o":[[0,6.547],[6.548,0],[0,-6.548],[-6.547,0]],"v":[[-11.855,0],[-0.001,11.855],[11.855,0],[-0.001,-11.855]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[12.708,12.105],"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,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.89,0],[0,0],[0,-1.891],[0,0],[-1.89,0],[0,1.89],[0,0]],"o":[[0,0],[-1.89,0],[0,0],[0,1.89],[1.89,0],[0,0],[0,-1.891]],"v":[[0,-14.777],[0,-14.777],[-3.437,-11.34],[-3.437,11.34],[0,14.777],[3.437,11.34],[3.437,-11.34]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[3.687,25.852],"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 4","np":2,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-6.548],[6.547,0],[0,6.547],[-6.548,0]],"o":[[0,6.547],[-6.548,0],[0,-6.548],[6.547,0]],"v":[[11.856,0],[0,11.855],[-11.856,0],[0,-11.855]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[226.369,12.105],"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 5","np":2,"cix":2,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.89,0],[0,0],[0,-1.891],[0,0],[1.891,0],[0,1.89],[0,0]],"o":[[0,0],[1.891,0],[0,0],[0,1.89],[-1.89,0],[0,0],[0,-1.891]],"v":[[0,-14.777],[0,-14.777],[3.437,-11.34],[3.437,11.34],[0,14.777],[-3.437,11.34],[-3.437,-11.34]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[235.389,25.852],"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 6","np":2,"cix":2,"ix":6,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":320,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Left Ear","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[22.943,37.833,0],"ix":2},"a":{"a":0,"k":[30.75,43.75,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[21,14.5],[12.666,-14.666],[-14.667,-9.333],[-0.666,7]],"o":[[0,0],[-12.667,14.667],[14.666,9.334],[0.667,-7]],"v":[[9.5,-34.667],[-17.833,-28.834],[2.167,34.166],[29.833,34.166]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.952999997606,0.635000011968,0.603999956916,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[30.75,43.75],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":320,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Right Ear","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[258.058,37.833,0],"ix":2},"a":{"a":0,"k":[30.75,43.75,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-21,14.5],[-12.667,-14.666],[14.667,-9.333],[0.667,7]],"o":[[0,0],[12.667,14.667],[-14.667,9.334],[-0.666,-7]],"v":[[-9.5,-34.667],[17.833,-28.834],[-2.167,34.166],[-29.834,34.166]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.952999997606,0.635000011968,0.603999956916,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[30.75,43.75],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":320,"st":0,"bm":0}]},{"id":"comp_3","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Layer 19 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[266.333,98.881,0],"ix":2},"a":{"a":0,"k":[49.69,49.69,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-27.305],[27.305,0],[0,27.305],[-27.305,0]],"o":[[0,27.305],[-27.305,0],[0,-27.305],[27.305,0]],"v":[[49.441,0],[0.001,49.44],[-49.441,0],[0.001,-49.44]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.176000004189,0.204000001795,0.270999983245,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[49.69,49.69],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":320,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Layer 21 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[126.214,49.44,0],"ix":2},"a":{"a":0,"k":[49.69,49.69,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-27.305],[27.305,0],[0,27.305],[-27.306,0]],"o":[[0,27.305],[-27.306,0],[0,-27.305],[27.305,0]],"v":[[49.441,0],[0.001,49.44],[-49.441,0],[0.001,-49.44]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.176000004189,0.204000001795,0.270999983245,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[49.69,49.69],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":320,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Layer 24 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[56.522,90.44,0],"ix":2},"a":{"a":0,"k":[49.69,49.69,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-27.305],[27.305,0],[0,27.305],[-27.305,0]],"o":[[0,27.305],[-27.305,0],[0,-27.305],[27.305,0]],"v":[[49.44,0],[0,49.44],[-49.44,0],[0,-49.44]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.176000004189,0.204000001795,0.270999983245,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[49.69,49.69],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":320,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Layer 25 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[291.773,208.44,0],"ix":2},"a":{"a":0,"k":[49.69,49.69,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-27.305],[27.305,0],[0,27.305],[-27.305,0]],"o":[[0,27.305],[-27.305,0],[0,-27.305],[27.305,0]],"v":[[49.441,0],[0.001,49.44],[-49.441,0],[0.001,-49.44]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.176000004189,0.204000001795,0.270999983245,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[49.691,49.69],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":320,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Layer 26 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[49.774,208.44,0],"ix":2},"a":{"a":0,"k":[49.69,49.69,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-27.305],[27.305,0],[0,27.305],[-27.305,0]],"o":[[0,27.305],[-27.305,0],[0,-27.305],[27.305,0]],"v":[[49.44,0],[0,49.44],[-49.44,0],[0,-49.44]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.176000004189,0.204000001795,0.270999983245,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[49.69,49.69],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":320,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Layer 27 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206.785,54.893,0],"ix":2},"a":{"a":0,"k":[35.798,35.797,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-19.632],[19.632,0],[0,19.632],[-19.633,0]],"o":[[0,19.632],[-19.633,0],[0,-19.632],[19.632,0]],"v":[[35.548,0],[0,35.547],[-35.548,0],[0,-35.547]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.176000004189,0.204000001795,0.270999983245,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[35.798,35.797],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":320,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Layer 28 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[200.666,67.547,0],"ix":2},"a":{"a":0,"k":[35.798,35.797,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-19.632],[19.632,0],[0,19.632],[-19.633,0]],"o":[[0,19.632],[-19.633,0],[0,-19.632],[19.632,0]],"v":[[35.548,0],[0,35.547],[-35.548,0],[0,-35.547]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.176000004189,0.204000001795,0.270999983245,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[35.798,35.797],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":320,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"Layer 29 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[266.333,280.547,0],"ix":2},"a":{"a":0,"k":[35.798,35.798,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-19.632],[19.633,0],[0,19.633],[-19.632,0]],"o":[[0,19.633],[-19.632,0],[0,-19.632],[19.633,0]],"v":[[35.548,-0.001],[-0.001,35.548],[-35.548,-0.001],[-0.001,-35.548]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.176000004189,0.204000001795,0.270999983245,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[35.798,35.798],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":320,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"Layer 30 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[52.891,276.547,0],"ix":2},"a":{"a":0,"k":[35.798,35.798,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-19.632],[19.632,0],[0,19.633],[-19.633,0]],"o":[[0,19.633],[-19.633,0],[0,-19.632],[19.632,0]],"v":[[35.548,-0.001],[0,35.548],[-35.548,-0.001],[0,-35.548]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.176000004189,0.204000001795,0.270999983245,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[35.797,35.798],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":320,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"Layer 31 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[72.214,49.44,0],"ix":2},"a":{"a":0,"k":[27.25,27.25,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-14.912],[14.912,0],[0,14.912],[-14.912,0]],"o":[[0,14.912],[-14.912,0],[0,-14.912],[14.912,0]],"v":[[27,0],[0,27],[-27,0],[0,-27]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.176000004189,0.204000001795,0.270999983245,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[27.25,27.25],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":320,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"Layer 32 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[289.518,155.529,0],"ix":2},"a":{"a":0,"k":[35.731,35.731,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-19.596],[19.595,0],[0,19.596],[-19.596,0]],"o":[[0,19.596],[-19.596,0],[0,-19.596],[19.595,0]],"v":[[35.482,0],[0,35.481],[-35.482,0],[0,-35.481]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.176000004189,0.204000001795,0.270999983245,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[35.731,35.731],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":320,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"Layer 33 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[41.928,155.529,0],"ix":2},"a":{"a":0,"k":[35.096,35.096,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-19.245],[19.245,0],[0,19.245],[-19.244,0]],"o":[[0,19.245],[-19.244,0],[0,-19.245],[19.245,0]],"v":[[34.846,0],[-0.001,34.846],[-34.846,0],[-0.001,-34.846]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.176000004189,0.204000001795,0.270999983245,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[35.096,35.096],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":320,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"Layer 34 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[175.654,32,0],"ix":2},"a":{"a":0,"k":[27.25,27.25,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-14.912],[14.912,0],[0,14.912],[-14.912,0]],"o":[[0,14.912],[-14.912,0],[0,-14.912],[14.912,0]],"v":[[27,0],[0,27],[-27,0],[0,-27]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.176000004189,0.204000001795,0.270999983245,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[27.25,27.25],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":320,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"Layer 36 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[249.576,53.315,0],"ix":2},"a":{"a":0,"k":[37.376,37.376,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-20.504],[20.504,0],[0,20.504],[-20.504,0]],"o":[[0,20.504],[-20.504,0],[0,-20.504],[20.504,0]],"v":[[37.126,-0.001],[0.001,37.126],[-37.126,-0.001],[0.001,-37.126]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.176000004189,0.204000001795,0.270999983245,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[37.375,37.376],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":320,"st":0,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":"Layer 42 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[78.962,320.095,0],"ix":2},"a":{"a":0,"k":[27.25,27.25,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-14.912],[14.912,0],[0,14.911],[-14.912,0]],"o":[[0,14.911],[-14.912,0],[0,-14.912],[14.912,0]],"v":[[27,0],[0,27],[-27,0],[0,-27]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.176000004189,0.204000001795,0.270999983245,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[27.25,27.25],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":320,"st":0,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":"Layer 43 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[242.333,321.364,0],"ix":2},"a":{"a":0,"k":[27.25,27.25,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-14.911],[14.912,0],[0,14.912],[-14.911,0]],"o":[[0,14.912],[-14.911,0],[0,-14.911],[14.912,0]],"v":[[27,0],[0,27],[-27,0],[0,-27]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.176000004189,0.204000001795,0.270999983245,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[27.25,27.25],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":320,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 1","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[450,450,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[900,900],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.686274509804,0.585274849686,0.495194169587,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":162,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"ME","tt":1,"refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[450,450,0],"ix":2},"a":{"a":0,"k":[450,450,0],"ix":1},"s":{"a":0,"k":[123.111,123.111,100],"ix":6}},"ao":0,"w":900,"h":900,"ip":0,"op":162,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[450,450,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[900,900],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":162,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/polystar_anim.json b/submodules/RLottie/Sources/rlottie/example/resource/polystar_anim.json deleted file mode 100644 index 1c8dfbdf76..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/polystar_anim.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.1.17","fr":29.9700012207031,"ip":0,"op":150.000006109625,"w":300,"h":300,"nm":"Comp 1","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[152,152,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"sr","sy":1,"d":2,"pt":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[5],"e":[11]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":90,"s":[11],"e":[15]},{"t":146.000005946702}],"ix":3},"p":{"a":0,"k":[0,0],"ix":4},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[64]},{"t":90.0000036657751}],"ix":5},"ir":{"a":0,"k":106,"ix":6},"is":{"a":0,"k":231,"ix":8},"or":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[102],"e":[142]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":90,"s":[142],"e":[34]},{"t":146.000005946702}],"ix":7},"os":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[79],"e":[265]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":90,"s":[265],"e":[88]},{"t":146.000005946702}],"ix":9},"ix":1,"nm":"Polystar Path 1","mn":"ADBE Vector Shape - Star","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 2","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":0,"op":150.000006109625,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/polystar_line_clockwise_trim.json b/submodules/RLottie/Sources/rlottie/example/resource/polystar_line_clockwise_trim.json deleted file mode 100644 index 14178b7296..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/polystar_line_clockwise_trim.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.1.17","fr":29.9700012207031,"ip":0,"op":150.000006109625,"w":300,"h":300,"nm":"Comp 1","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[152,152,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"sr","sy":1,"d":2,"pt":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[5],"e":[11]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":90,"s":[11],"e":[15]},{"t":146.000005946702}],"ix":3},"p":{"a":0,"k":[0,0],"ix":4},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[64]},{"t":90.0000036657751}],"ix":5},"ir":{"a":0,"k":106,"ix":6},"is":{"a":0,"k":0,"ix":8},"or":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[102],"e":[142]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":90,"s":[142],"e":[34]},{"t":146.000005946702}],"ix":7},"os":{"a":0,"k":0,"ix":9},"ix":1,"nm":"Polystar Path 1","mn":"ADBE Vector Shape - Star","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 2","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[3],"e":[100]},{"t":149.000006068894}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":150.000006109625,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/pumped_up.json b/submodules/RLottie/Sources/rlottie/example/resource/pumped_up.json deleted file mode 100644 index 81a3265354..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/pumped_up.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.2.1","fr":29.9700012207031,"ip":0,"op":37.0000015070409,"w":1000,"h":1000,"nm":"Weight Lifter","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"BODY CONTROL","hd":true,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.206,"y":0},"n":"0p833_0p833_0p206_0","t":0,"s":[-178.625,485.375,0],"e":[-94.353,536.037,0],"to":[0,0.30916449427605,0],"ti":[-36.4811401367188,18.4873828887939,0]},{"i":{"x":0.618,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p618_1_0p167_0p167","t":4,"s":[-94.353,536.037,0],"e":[-53.625,422.375,0],"to":[22.5184211730957,-11.4115581512451,0],"ti":[0,0,0]},{"i":{"x":0.79,"y":1},"o":{"x":0.167,"y":0},"n":"0p79_1_0p167_0","t":8,"s":[-53.625,422.375,0],"e":[-47.625,464.375,0],"to":[0,0,0],"ti":[5.375,-12.625,0]},{"i":{"x":0.79,"y":1},"o":{"x":0.96,"y":0},"n":"0p79_1_0p96_0","t":14,"s":[-47.625,464.375,0],"e":[-109.625,533.375,0],"to":[-5.375,12.625,0],"ti":[77.375,3.375,0]},{"i":{"x":0.36,"y":1},"o":{"x":0.96,"y":0},"n":"0p36_1_0p96_0","t":24,"s":[-109.625,533.375,0],"e":[-169.625,422.375,0],"to":[-77.375,-3.375,0],"ti":[0,0.5,0]},{"i":{"x":0.36,"y":1},"o":{"x":0.167,"y":0},"n":"0p36_1_0p167_0","t":29,"s":[-169.625,422.375,0],"e":[-178.625,485.375,0],"to":[0,-0.5,0],"ti":[0,-0.5,0]},{"t":34.0000013848484}],"ix":2},"a":{"a":0,"k":[-599.625,40.375,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[96.75,96.75],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":19,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.98431372549,0.498039215686,0.235294117647,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.98431372549,0.498039215686,0.235294117647,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[-599.625,40.375],"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":"Rectangle 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":1,"nm":"Face Rig","parent":3,"hd":true,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.224,"y":0},"n":"0p833_0p833_0p224_0","t":0,"s":[-78,-57,0],"e":[-22.954,97.206,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.598,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p598_1_0p167_0p167","t":5,"s":[-22.954,97.206,0],"e":[36,-69,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.5,"y":1},"o":{"x":0.167,"y":0},"n":"0p5_1_0p167_0","t":11,"s":[36,-69,0],"e":[36,-54,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.592,"y":0.413},"o":{"x":0.258,"y":0},"n":"0p592_0p413_0p258_0","t":18,"s":[36,-54,0],"e":[36,-50.936,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.268,"y":0.016},"n":"0p833_0p833_0p268_0p016","t":20.668,"s":[36,-50.936,0],"e":[-5.418,87.869,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.626,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p626_1_0p167_0p167","t":26,"s":[-5.418,87.869,0],"e":[-78,-99,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.626,"y":1},"o":{"x":0.167,"y":0},"n":"0p626_1_0p167_0","t":30,"s":[-78,-99,0],"e":[-78,-57,0],"to":[0,0,0],"ti":[0,0,0]},{"t":35.0000014255792}],"ix":2},"a":{"a":0,"k":[37.5,37.5,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"joystickLimit","np":3,"mn":"ADBE Slider Control","ix":1,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":86,"ix":1}}]},{"ty":21,"nm":"Fill","np":9,"mn":"ADBE Fill","ix":2,"en":1,"ef":[{"ty":10,"nm":"Fill Mask","mn":"ADBE Fill-0001","ix":1,"v":{"a":0,"k":0,"ix":1}},{"ty":7,"nm":"All Masks","mn":"ADBE Fill-0007","ix":2,"v":{"a":0,"k":0,"ix":2}},{"ty":2,"nm":"Color","mn":"ADBE Fill-0002","ix":3,"v":{"a":0,"k":[0.235294118524,0.784313738346,0.721568644047,1],"ix":3}},{"ty":7,"nm":"Invert","mn":"ADBE Fill-0006","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":0,"nm":"Horizontal Feather","mn":"ADBE Fill-0003","ix":5,"v":{"a":0,"k":0,"ix":5}},{"ty":0,"nm":"Vertical Feather","mn":"ADBE Fill-0004","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Opacity","mn":"ADBE Fill-0005","ix":7,"v":{"a":0,"k":1,"ix":7}}]}],"sw":75,"sh":75,"sc":"#ffffff","ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Face Rig Origin","hd":true,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-108,272,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[251.383,200],"ix":2,"x":"var $bm_rt;\nvar temp;\ntemp = mul(thisComp.layer('Face Rig')('ADBE Effect Parade')('joystickLimit')('ADBE Slider Control-0001'), 2);\n$bm_rt = [\n temp,\n temp\n];"},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":28,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.294117629528,0.310726553202,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":7,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"d":[{"n":"d","nm":"dash","v":{"a":0,"k":14,"ix":1}},{"n":"o","nm":"offset","v":{"a":0,"k":0,"ix":7}}],"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Left foot","parent":14,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":2,"s":[0],"e":[-36]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":5,"s":[-36],"e":[-9]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":8,"s":[-9],"e":[-9]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":21,"s":[-9],"e":[0]},{"t":25.0000010182709}],"ix":10},"p":{"a":0,"k":[4.453,6.875,0],"ix":2},"a":{"a":0,"k":[148.453,332.875,0],"ix":1},"s":{"a":0,"k":[100,132.877,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[86.906,18.25],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":142,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.219607843137,0.227873439415,0.678431372549,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.568626972273,0.866666965859,0.776471007104,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[121.453,332.875],"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":"Rectangle 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Right foot","parent":17,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[21],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":3,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":28,"s":[0],"e":[45]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":31,"s":[45],"e":[12]},{"t":35.0000014255792}],"ix":10},"p":{"a":0,"k":[-12.547,6.875,0],"ix":2},"a":{"a":0,"k":[88.453,332.875,0],"ix":1},"s":{"a":0,"k":[100,132.877,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[86.906,18.25],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":136,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.219607843137,0.227873439415,0.678431372549,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.568626972273,0.866666965859,0.776471007104,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[121.453,332.875],"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":"Rectangle 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Head","parent":7,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-47.758,-107.962,0],"ix":2},"a":{"a":0,"k":[42.637,-115.363,0],"ix":1},"s":{"a":0,"k":[125,125,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[7.869,15.146],"ix":2,"x":"var $bm_rt;\n$bm_rt = joystick(value);\nfunction joystick(inputResult) {\n var slideR, slideL, slideU, slideD;\n var easeOverride_right = null;\n var easeOverride_left = null;\n var easeOverride_up = null;\n var easeOverride_down = null;\n var contrl = thisComp.layer('Face Rig');\n var myLimit = contrl('ADBE Effect Parade')('joystickLimit')('ADBE Slider Control-0001');\n var contrlCurVal = contrl('ADBE Transform Group')('ADBE Position');\n var resultVal;\n var key1 = [\n 7.869140625,\n 15.146484375\n ];\n var key2 = [\n 7.869140625,\n 15.146484375\n ];\n var key3 = [\n 7.869140625,\n 15.146484375\n ];\n var key4 = [\n 7.869140625,\n 15.146484375\n ];\n var key5 = [\n 7.869140625,\n 15.146484375\n ];\n key1 = unArray(key1);\n key2 = unArray(key2);\n key3 = unArray(key3);\n key4 = unArray(key4);\n key5 = unArray(key5);\n try {\n if (!thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB').active) {\n throw 'inactive';\n }\n slideR = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0001');\n slideL = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0002');\n slideU = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0003');\n slideD = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0004');\n } catch (err) {\n slideR = 0;\n slideL = 0;\n slideU = 0;\n slideD = 0;\n }\n if (easeOverride_right !== null && !isNaN(easeOverride_right)) {\n slideR = moClamp(easeOverride_right, -100, 100);\n }\n if (easeOverride_left !== null && !isNaN(easeOverride_left)) {\n slideL = moClamp(easeOverride_left, -100, 100);\n }\n if (easeOverride_up !== null && !isNaN(easeOverride_up)) {\n slideU = moClamp(easeOverride_up, -100, 100);\n }\n if (easeOverride_down !== null && !isNaN(easeOverride_down)) {\n slideD = moClamp(easeOverride_down, -100, 100);\n }\n var easeResultX, easeResultY;\n if (contrlCurVal[0] >= 0) {\n resultVal = linear(contrlCurVal[0], 0, myLimit, key1, key2);\n if (slideR !== 0) {\n easeResultX = easeSwitch(contrlCurVal[0], 0, myLimit, key1, key2, slideR);\n resultVal = linear(Math.abs(slideR), 0, 100, resultVal, easeResultX);\n }\n } else {\n resultVal = linear($bm_neg(contrlCurVal[0]), 0, myLimit, key1, key3);\n if (slideL !== 0) {\n easeResultX = easeSwitch($bm_neg(contrlCurVal[0]), 0, myLimit, key1, key3, slideL);\n resultVal = linear(Math.abs(slideL), 0, 100, resultVal, easeResultX);\n }\n }\n var resultAdd = 0;\n if (contrlCurVal[1] <= 0) {\n resultAdd = sub(linear($bm_neg(contrlCurVal[1]), 0, myLimit, key1, key4), key1);\n if (slideU !== 0) {\n easeResultY = sub(easeSwitch($bm_neg(contrlCurVal[1]), 0, myLimit, key1, key4, slideU), key1);\n resultAdd = linear(Math.abs(slideU), 0, 100, resultAdd, easeResultY);\n }\n } else {\n resultAdd = sub(linear(contrlCurVal[1], 0, myLimit, key1, key5), key1);\n if (slideD !== 0) {\n easeResultY = sub(easeSwitch(contrlCurVal[1], 0, myLimit, key1, key5, slideD), key1);\n resultAdd = linear(Math.abs(slideD), 0, 100, resultAdd, easeResultY);\n }\n }\n return sum(sum(resultVal, resultAdd), sub(inputResult, key1));\n}\nfunction cosEase(val, min1, max1, input1, input2) {\n var myCos = [];\n if ($bm_isInstanceOfArray(input1)) {\n for (var x = 0; x < input1.length; x++) {\n myCos.push(getMeCos(val, min1, max1, input1[x], input2[x]));\n }\n } else {\n myCos = getMeCos(val, min1, max1, input1, input2);\n }\n return myCos;\n function getMeCos(val, min1, max1, input1, input2) {\n var mapVal = moClamp(div(val, sub(max1, min1)), 0, 1);\n var c = sub(input2, input1);\n var myCos2 = sum(sum(mul($bm_neg(c), Math.cos(mul(mapVal, div(Math.PI, 2)))), c), input1);\n return myCos2;\n }\n}\nfunction sinEase(val, min1, max1, input1, input2) {\n var mySin = [];\n if ($bm_isInstanceOfArray(input1)) {\n for (var x = 0; x < input1.length; x++) {\n mySin.push(getMeSin(val, min1, max1, input1[x], input2[x]));\n }\n } else {\n mySin = getMeSin(val, min1, max1, input1, input2);\n }\n return mySin;\n function getMeSin(val, min1, max1, input1, input2) {\n var mapVal = moClamp(div(val, sub(max1, min1)), 0, 1);\n var c = sub(input2, input1);\n var mySin2 = sum(mul(c, Math.sin(mul(mapVal, div(Math.PI, 2)))), input1);\n return mySin2;\n }\n}\nfunction easeSwitch(val, min1, max1, input1, input2, morph) {\n if (morph < 0) {\n return cosEase(val, min1, max1, input1, input2);\n } else {\n return sinEase(val, min1, max1, input1, input2);\n }\n}\nfunction unArray(inKey) {\n if (inKey instanceof Array && inKey.length === 1) {\n return inKey[0];\n } else {\n return inKey;\n }\n}\nfunction moClamp(a, b, c) {\n if (!(a instanceof Array)) {\n return Math.max(b, Math.min(c, a));\n } else {\n var aryHold = [];\n for (var x = 0; x < a.length; x++) {\n aryHold.push(Math.max(b, Math.min(c, a[x])));\n }\n return aryHold;\n }\n}"},"p":{"a":0,"k":[0,34],"ix":3,"x":"var $bm_rt;\n$bm_rt = joystick(value);\nfunction joystick(inputResult) {\n var slideR, slideL, slideU, slideD;\n var easeOverride_right = null;\n var easeOverride_left = null;\n var easeOverride_up = null;\n var easeOverride_down = null;\n var contrl = thisComp.layer('Face Rig');\n var myLimit = contrl('ADBE Effect Parade')('joystickLimit')('ADBE Slider Control-0001');\n var contrlCurVal = contrl('ADBE Transform Group')('ADBE Position');\n var resultVal;\n var key1 = [\n 0,\n 34\n ];\n var key2 = [\n 0,\n 34\n ];\n var key3 = [\n 0,\n 34\n ];\n var key4 = [\n 0,\n 8\n ];\n var key5 = [\n 0,\n 8\n ];\n key1 = unArray(key1);\n key2 = unArray(key2);\n key3 = unArray(key3);\n key4 = unArray(key4);\n key5 = unArray(key5);\n try {\n if (!thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB').active) {\n throw 'inactive';\n }\n slideR = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0001');\n slideL = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0002');\n slideU = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0003');\n slideD = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0004');\n } catch (err) {\n slideR = 0;\n slideL = 0;\n slideU = 0;\n slideD = 0;\n }\n if (easeOverride_right !== null && !isNaN(easeOverride_right)) {\n slideR = moClamp(easeOverride_right, -100, 100);\n }\n if (easeOverride_left !== null && !isNaN(easeOverride_left)) {\n slideL = moClamp(easeOverride_left, -100, 100);\n }\n if (easeOverride_up !== null && !isNaN(easeOverride_up)) {\n slideU = moClamp(easeOverride_up, -100, 100);\n }\n if (easeOverride_down !== null && !isNaN(easeOverride_down)) {\n slideD = moClamp(easeOverride_down, -100, 100);\n }\n var easeResultX, easeResultY;\n if (contrlCurVal[0] >= 0) {\n resultVal = linear(contrlCurVal[0], 0, myLimit, key1, key2);\n if (slideR !== 0) {\n easeResultX = easeSwitch(contrlCurVal[0], 0, myLimit, key1, key2, slideR);\n resultVal = linear(Math.abs(slideR), 0, 100, resultVal, easeResultX);\n }\n } else {\n resultVal = linear($bm_neg(contrlCurVal[0]), 0, myLimit, key1, key3);\n if (slideL !== 0) {\n easeResultX = easeSwitch($bm_neg(contrlCurVal[0]), 0, myLimit, key1, key3, slideL);\n resultVal = linear(Math.abs(slideL), 0, 100, resultVal, easeResultX);\n }\n }\n var resultAdd = 0;\n if (contrlCurVal[1] <= 0) {\n resultAdd = sub(linear($bm_neg(contrlCurVal[1]), 0, myLimit, key1, key4), key1);\n if (slideU !== 0) {\n easeResultY = sub(easeSwitch($bm_neg(contrlCurVal[1]), 0, myLimit, key1, key4, slideU), key1);\n resultAdd = linear(Math.abs(slideU), 0, 100, resultAdd, easeResultY);\n }\n } else {\n resultAdd = sub(linear(contrlCurVal[1], 0, myLimit, key1, key5), key1);\n if (slideD !== 0) {\n easeResultY = sub(easeSwitch(contrlCurVal[1], 0, myLimit, key1, key5, slideD), key1);\n resultAdd = linear(Math.abs(slideD), 0, 100, resultAdd, easeResultY);\n }\n }\n return sum(sum(resultVal, resultAdd), sub(inputResult, key1));\n}\nfunction cosEase(val, min1, max1, input1, input2) {\n var myCos = [];\n if ($bm_isInstanceOfArray(input1)) {\n for (var x = 0; x < input1.length; x++) {\n myCos.push(getMeCos(val, min1, max1, input1[x], input2[x]));\n }\n } else {\n myCos = getMeCos(val, min1, max1, input1, input2);\n }\n return myCos;\n function getMeCos(val, min1, max1, input1, input2) {\n var mapVal = moClamp(div(val, sub(max1, min1)), 0, 1);\n var c = sub(input2, input1);\n var myCos2 = sum(sum(mul($bm_neg(c), Math.cos(mul(mapVal, div(Math.PI, 2)))), c), input1);\n return myCos2;\n }\n}\nfunction sinEase(val, min1, max1, input1, input2) {\n var mySin = [];\n if ($bm_isInstanceOfArray(input1)) {\n for (var x = 0; x < input1.length; x++) {\n mySin.push(getMeSin(val, min1, max1, input1[x], input2[x]));\n }\n } else {\n mySin = getMeSin(val, min1, max1, input1, input2);\n }\n return mySin;\n function getMeSin(val, min1, max1, input1, input2) {\n var mapVal = moClamp(div(val, sub(max1, min1)), 0, 1);\n var c = sub(input2, input1);\n var mySin2 = sum(mul(c, Math.sin(mul(mapVal, div(Math.PI, 2)))), input1);\n return mySin2;\n }\n}\nfunction easeSwitch(val, min1, max1, input1, input2, morph) {\n if (morph < 0) {\n return cosEase(val, min1, max1, input1, input2);\n } else {\n return sinEase(val, min1, max1, input1, input2);\n }\n}\nfunction unArray(inKey) {\n if (inKey instanceof Array && inKey.length === 1) {\n return inKey[0];\n } else {\n return inKey;\n }\n}\nfunction moClamp(a, b, c) {\n if (!(a instanceof Array)) {\n return Math.max(b, Math.min(c, a));\n } else {\n var aryHold = [];\n for (var x = 0; x < a.length; x++) {\n aryHold.push(Math.max(b, Math.min(c, a[x])));\n }\n return aryHold;\n }\n}"},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.074509998396,0.141176006841,0.168626987233,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.733333333333,0.380392156863,0.188235294118,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[43.538,-130.608],"ix":2,"x":"var $bm_rt;\n$bm_rt = joystick(value);\nfunction joystick(inputResult) {\n var slideR, slideL, slideU, slideD;\n var easeOverride_right = null;\n var easeOverride_left = null;\n var easeOverride_up = null;\n var easeOverride_down = null;\n var contrl = thisComp.layer('Face Rig');\n var myLimit = contrl('ADBE Effect Parade')('joystickLimit')('ADBE Slider Control-0001');\n var contrlCurVal = contrl('ADBE Transform Group')('ADBE Position');\n var resultVal;\n var key1 = [\n 43.5380859375,\n -130.6083984375\n ];\n var key2 = [\n 63.5380859375,\n -130.6083984375\n ];\n var key3 = [\n 21.5380859375,\n -130.6083984375\n ];\n var key4 = [\n 43.5380859375,\n -146.2333984375\n ];\n var key5 = [\n 43.5380859375,\n -88.7333984375\n ];\n key1 = unArray(key1);\n key2 = unArray(key2);\n key3 = unArray(key3);\n key4 = unArray(key4);\n key5 = unArray(key5);\n try {\n if (!thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB').active) {\n throw 'inactive';\n }\n slideR = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0001');\n slideL = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0002');\n slideU = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0003');\n slideD = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0004');\n } catch (err) {\n slideR = 0;\n slideL = 0;\n slideU = 0;\n slideD = 0;\n }\n if (easeOverride_right !== null && !isNaN(easeOverride_right)) {\n slideR = moClamp(easeOverride_right, -100, 100);\n }\n if (easeOverride_left !== null && !isNaN(easeOverride_left)) {\n slideL = moClamp(easeOverride_left, -100, 100);\n }\n if (easeOverride_up !== null && !isNaN(easeOverride_up)) {\n slideU = moClamp(easeOverride_up, -100, 100);\n }\n if (easeOverride_down !== null && !isNaN(easeOverride_down)) {\n slideD = moClamp(easeOverride_down, -100, 100);\n }\n var easeResultX, easeResultY;\n if (contrlCurVal[0] >= 0) {\n resultVal = linear(contrlCurVal[0], 0, myLimit, key1, key2);\n if (slideR !== 0) {\n easeResultX = easeSwitch(contrlCurVal[0], 0, myLimit, key1, key2, slideR);\n resultVal = linear(Math.abs(slideR), 0, 100, resultVal, easeResultX);\n }\n } else {\n resultVal = linear($bm_neg(contrlCurVal[0]), 0, myLimit, key1, key3);\n if (slideL !== 0) {\n easeResultX = easeSwitch($bm_neg(contrlCurVal[0]), 0, myLimit, key1, key3, slideL);\n resultVal = linear(Math.abs(slideL), 0, 100, resultVal, easeResultX);\n }\n }\n var resultAdd = 0;\n if (contrlCurVal[1] <= 0) {\n resultAdd = sub(linear($bm_neg(contrlCurVal[1]), 0, myLimit, key1, key4), key1);\n if (slideU !== 0) {\n easeResultY = sub(easeSwitch($bm_neg(contrlCurVal[1]), 0, myLimit, key1, key4, slideU), key1);\n resultAdd = linear(Math.abs(slideU), 0, 100, resultAdd, easeResultY);\n }\n } else {\n resultAdd = sub(linear(contrlCurVal[1], 0, myLimit, key1, key5), key1);\n if (slideD !== 0) {\n easeResultY = sub(easeSwitch(contrlCurVal[1], 0, myLimit, key1, key5, slideD), key1);\n resultAdd = linear(Math.abs(slideD), 0, 100, resultAdd, easeResultY);\n }\n }\n return sum(sum(resultVal, resultAdd), sub(inputResult, key1));\n}\nfunction cosEase(val, min1, max1, input1, input2) {\n var myCos = [];\n if ($bm_isInstanceOfArray(input1)) {\n for (var x = 0; x < input1.length; x++) {\n myCos.push(getMeCos(val, min1, max1, input1[x], input2[x]));\n }\n } else {\n myCos = getMeCos(val, min1, max1, input1, input2);\n }\n return myCos;\n function getMeCos(val, min1, max1, input1, input2) {\n var mapVal = moClamp(div(val, sub(max1, min1)), 0, 1);\n var c = sub(input2, input1);\n var myCos2 = sum(sum(mul($bm_neg(c), Math.cos(mul(mapVal, div(Math.PI, 2)))), c), input1);\n return myCos2;\n }\n}\nfunction sinEase(val, min1, max1, input1, input2) {\n var mySin = [];\n if ($bm_isInstanceOfArray(input1)) {\n for (var x = 0; x < input1.length; x++) {\n mySin.push(getMeSin(val, min1, max1, input1[x], input2[x]));\n }\n } else {\n mySin = getMeSin(val, min1, max1, input1, input2);\n }\n return mySin;\n function getMeSin(val, min1, max1, input1, input2) {\n var mapVal = moClamp(div(val, sub(max1, min1)), 0, 1);\n var c = sub(input2, input1);\n var mySin2 = sum(mul(c, Math.sin(mul(mapVal, div(Math.PI, 2)))), input1);\n return mySin2;\n }\n}\nfunction easeSwitch(val, min1, max1, input1, input2, morph) {\n if (morph < 0) {\n return cosEase(val, min1, max1, input1, input2);\n } else {\n return sinEase(val, min1, max1, input1, input2);\n }\n}\nfunction unArray(inKey) {\n if (inKey instanceof Array && inKey.length === 1) {\n return inKey[0];\n } else {\n return inKey;\n }\n}\nfunction moClamp(a, b, c) {\n if (!(a instanceof Array)) {\n return Math.max(b, Math.min(c, a));\n } else {\n var aryHold = [];\n for (var x = 0; x < a.length; x++) {\n aryHold.push(Math.max(b, Math.min(c, a[x])));\n }\n return aryHold;\n }\n}"},"a":{"a":0,"k":[0.217,8.715],"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":"nose","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[14.25,-0.25],[0,0],[0,0]],"o":[[-14.25,0.25],[0,0],[0,0]],"v":[[73.637,-102.75],[55.137,-93.75],[93.637,-93.75]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.074509998396,0.141176006841,0.168626987233,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.98431372549,0.498039215686,0.235294117647,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[14,-92.5],"ix":2,"x":"var $bm_rt;\n$bm_rt = joystick(value);\nfunction joystick(inputResult) {\n var slideR, slideL, slideU, slideD;\n var easeOverride_right = null;\n var easeOverride_left = null;\n var easeOverride_up = null;\n var easeOverride_down = null;\n var contrl = thisComp.layer('Face Rig');\n var myLimit = contrl('ADBE Effect Parade')('joystickLimit')('ADBE Slider Control-0001');\n var contrlCurVal = contrl('ADBE Transform Group')('ADBE Position');\n var resultVal;\n var key1 = [\n 14,\n -92.5\n ];\n var key2 = [\n 34,\n -92.5\n ];\n var key3 = [\n -3,\n -92.5\n ];\n var key4 = [\n 12.15234375,\n -126.50390625\n ];\n var key5 = [\n 12.15234375,\n -82.75390625\n ];\n key1 = unArray(key1);\n key2 = unArray(key2);\n key3 = unArray(key3);\n key4 = unArray(key4);\n key5 = unArray(key5);\n try {\n if (!thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB').active) {\n throw 'inactive';\n }\n slideR = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0001');\n slideL = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0002');\n slideU = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0003');\n slideD = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0004');\n } catch (err) {\n slideR = 0;\n slideL = 0;\n slideU = 0;\n slideD = 0;\n }\n if (easeOverride_right !== null && !isNaN(easeOverride_right)) {\n slideR = moClamp(easeOverride_right, -100, 100);\n }\n if (easeOverride_left !== null && !isNaN(easeOverride_left)) {\n slideL = moClamp(easeOverride_left, -100, 100);\n }\n if (easeOverride_up !== null && !isNaN(easeOverride_up)) {\n slideU = moClamp(easeOverride_up, -100, 100);\n }\n if (easeOverride_down !== null && !isNaN(easeOverride_down)) {\n slideD = moClamp(easeOverride_down, -100, 100);\n }\n var easeResultX, easeResultY;\n if (contrlCurVal[0] >= 0) {\n resultVal = linear(contrlCurVal[0], 0, myLimit, key1, key2);\n if (slideR !== 0) {\n easeResultX = easeSwitch(contrlCurVal[0], 0, myLimit, key1, key2, slideR);\n resultVal = linear(Math.abs(slideR), 0, 100, resultVal, easeResultX);\n }\n } else {\n resultVal = linear($bm_neg(contrlCurVal[0]), 0, myLimit, key1, key3);\n if (slideL !== 0) {\n easeResultX = easeSwitch($bm_neg(contrlCurVal[0]), 0, myLimit, key1, key3, slideL);\n resultVal = linear(Math.abs(slideL), 0, 100, resultVal, easeResultX);\n }\n }\n var resultAdd = 0;\n if (contrlCurVal[1] <= 0) {\n resultAdd = sub(linear($bm_neg(contrlCurVal[1]), 0, myLimit, key1, key4), key1);\n if (slideU !== 0) {\n easeResultY = sub(easeSwitch($bm_neg(contrlCurVal[1]), 0, myLimit, key1, key4, slideU), key1);\n resultAdd = linear(Math.abs(slideU), 0, 100, resultAdd, easeResultY);\n }\n } else {\n resultAdd = sub(linear(contrlCurVal[1], 0, myLimit, key1, key5), key1);\n if (slideD !== 0) {\n easeResultY = sub(easeSwitch(contrlCurVal[1], 0, myLimit, key1, key5, slideD), key1);\n resultAdd = linear(Math.abs(slideD), 0, 100, resultAdd, easeResultY);\n }\n }\n return sum(sum(resultVal, resultAdd), sub(inputResult, key1));\n}\nfunction cosEase(val, min1, max1, input1, input2) {\n var myCos = [];\n if ($bm_isInstanceOfArray(input1)) {\n for (var x = 0; x < input1.length; x++) {\n myCos.push(getMeCos(val, min1, max1, input1[x], input2[x]));\n }\n } else {\n myCos = getMeCos(val, min1, max1, input1, input2);\n }\n return myCos;\n function getMeCos(val, min1, max1, input1, input2) {\n var mapVal = moClamp(div(val, sub(max1, min1)), 0, 1);\n var c = sub(input2, input1);\n var myCos2 = sum(sum(mul($bm_neg(c), Math.cos(mul(mapVal, div(Math.PI, 2)))), c), input1);\n return myCos2;\n }\n}\nfunction sinEase(val, min1, max1, input1, input2) {\n var mySin = [];\n if ($bm_isInstanceOfArray(input1)) {\n for (var x = 0; x < input1.length; x++) {\n mySin.push(getMeSin(val, min1, max1, input1[x], input2[x]));\n }\n } else {\n mySin = getMeSin(val, min1, max1, input1, input2);\n }\n return mySin;\n function getMeSin(val, min1, max1, input1, input2) {\n var mapVal = moClamp(div(val, sub(max1, min1)), 0, 1);\n var c = sub(input2, input1);\n var mySin2 = sum(mul(c, Math.sin(mul(mapVal, div(Math.PI, 2)))), input1);\n return mySin2;\n }\n}\nfunction easeSwitch(val, min1, max1, input1, input2, morph) {\n if (morph < 0) {\n return cosEase(val, min1, max1, input1, input2);\n } else {\n return sinEase(val, min1, max1, input1, input2);\n }\n}\nfunction unArray(inKey) {\n if (inKey instanceof Array && inKey.length === 1) {\n return inKey[0];\n } else {\n return inKey;\n }\n}\nfunction moClamp(a, b, c) {\n if (!(a instanceof Array)) {\n return Math.max(b, Math.min(c, a));\n } else {\n var aryHold = [];\n for (var x = 0; x < a.length; x++) {\n aryHold.push(Math.max(b, Math.min(c, a[x])));\n }\n return aryHold;\n }\n}"},"a":{"a":0,"k":[73.152,-93.629],"ix":1},"s":{"a":0,"k":[100,100],"ix":3,"x":"var $bm_rt;\n$bm_rt = joystick(value);\nfunction joystick(inputResult) {\n var slideR, slideL, slideU, slideD;\n var easeOverride_right = null;\n var easeOverride_left = null;\n var easeOverride_up = null;\n var easeOverride_down = null;\n var contrl = thisComp.layer('Face Rig');\n var myLimit = contrl('ADBE Effect Parade')('joystickLimit')('ADBE Slider Control-0001');\n var contrlCurVal = contrl('ADBE Transform Group')('ADBE Position');\n var resultVal;\n var key1 = [\n 100,\n 100\n ];\n var key2 = [\n 100,\n 100\n ];\n var key3 = [\n 53,\n 100\n ];\n var key4 = [\n 100,\n 134\n ];\n var key5 = [\n 100,\n 59\n ];\n key1 = unArray(key1);\n key2 = unArray(key2);\n key3 = unArray(key3);\n key4 = unArray(key4);\n key5 = unArray(key5);\n try {\n if (!thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB').active) {\n throw 'inactive';\n }\n slideR = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0001');\n slideL = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0002');\n slideU = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0003');\n slideD = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0004');\n } catch (err) {\n slideR = 0;\n slideL = 0;\n slideU = 0;\n slideD = 0;\n }\n if (easeOverride_right !== null && !isNaN(easeOverride_right)) {\n slideR = moClamp(easeOverride_right, -100, 100);\n }\n if (easeOverride_left !== null && !isNaN(easeOverride_left)) {\n slideL = moClamp(easeOverride_left, -100, 100);\n }\n if (easeOverride_up !== null && !isNaN(easeOverride_up)) {\n slideU = moClamp(easeOverride_up, -100, 100);\n }\n if (easeOverride_down !== null && !isNaN(easeOverride_down)) {\n slideD = moClamp(easeOverride_down, -100, 100);\n }\n var easeResultX, easeResultY;\n if (contrlCurVal[0] >= 0) {\n resultVal = linear(contrlCurVal[0], 0, myLimit, key1, key2);\n if (slideR !== 0) {\n easeResultX = easeSwitch(contrlCurVal[0], 0, myLimit, key1, key2, slideR);\n resultVal = linear(Math.abs(slideR), 0, 100, resultVal, easeResultX);\n }\n } else {\n resultVal = linear($bm_neg(contrlCurVal[0]), 0, myLimit, key1, key3);\n if (slideL !== 0) {\n easeResultX = easeSwitch($bm_neg(contrlCurVal[0]), 0, myLimit, key1, key3, slideL);\n resultVal = linear(Math.abs(slideL), 0, 100, resultVal, easeResultX);\n }\n }\n var resultAdd = 0;\n if (contrlCurVal[1] <= 0) {\n resultAdd = sub(linear($bm_neg(contrlCurVal[1]), 0, myLimit, key1, key4), key1);\n if (slideU !== 0) {\n easeResultY = sub(easeSwitch($bm_neg(contrlCurVal[1]), 0, myLimit, key1, key4, slideU), key1);\n resultAdd = linear(Math.abs(slideU), 0, 100, resultAdd, easeResultY);\n }\n } else {\n resultAdd = sub(linear(contrlCurVal[1], 0, myLimit, key1, key5), key1);\n if (slideD !== 0) {\n easeResultY = sub(easeSwitch(contrlCurVal[1], 0, myLimit, key1, key5, slideD), key1);\n resultAdd = linear(Math.abs(slideD), 0, 100, resultAdd, easeResultY);\n }\n }\n return sum(sum(resultVal, resultAdd), sub(inputResult, key1));\n}\nfunction cosEase(val, min1, max1, input1, input2) {\n var myCos = [];\n if ($bm_isInstanceOfArray(input1)) {\n for (var x = 0; x < input1.length; x++) {\n myCos.push(getMeCos(val, min1, max1, input1[x], input2[x]));\n }\n } else {\n myCos = getMeCos(val, min1, max1, input1, input2);\n }\n return myCos;\n function getMeCos(val, min1, max1, input1, input2) {\n var mapVal = moClamp(div(val, sub(max1, min1)), 0, 1);\n var c = sub(input2, input1);\n var myCos2 = sum(sum(mul($bm_neg(c), Math.cos(mul(mapVal, div(Math.PI, 2)))), c), input1);\n return myCos2;\n }\n}\nfunction sinEase(val, min1, max1, input1, input2) {\n var mySin = [];\n if ($bm_isInstanceOfArray(input1)) {\n for (var x = 0; x < input1.length; x++) {\n mySin.push(getMeSin(val, min1, max1, input1[x], input2[x]));\n }\n } else {\n mySin = getMeSin(val, min1, max1, input1, input2);\n }\n return mySin;\n function getMeSin(val, min1, max1, input1, input2) {\n var mapVal = moClamp(div(val, sub(max1, min1)), 0, 1);\n var c = sub(input2, input1);\n var mySin2 = sum(mul(c, Math.sin(mul(mapVal, div(Math.PI, 2)))), input1);\n return mySin2;\n }\n}\nfunction easeSwitch(val, min1, max1, input1, input2, morph) {\n if (morph < 0) {\n return cosEase(val, min1, max1, input1, input2);\n } else {\n return sinEase(val, min1, max1, input1, input2);\n }\n}\nfunction unArray(inKey) {\n if (inKey instanceof Array && inKey.length === 1) {\n return inKey[0];\n } else {\n return inKey;\n }\n}\nfunction moClamp(a, b, c) {\n if (!(a instanceof Array)) {\n return Math.max(b, Math.min(c, a));\n } else {\n var aryHold = [];\n for (var x = 0; x < a.length; x++) {\n aryHold.push(Math.max(b, Math.min(c, a[x])));\n }\n return aryHold;\n }\n}"},"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":"lid right","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[14.25,-0.25],[0,0],[0,0]],"o":[[-14.25,0.25],[0,0],[0,0]],"v":[[73.637,-102.75],[55.137,-93.75],[93.637,-93.75]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.074509998396,0.141176006841,0.168626987233,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.98431372549,0.498039215686,0.235294117647,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[75,-92.5],"ix":2,"x":"var $bm_rt;\n$bm_rt = joystick(value);\nfunction joystick(inputResult) {\n var slideR, slideL, slideU, slideD;\n var easeOverride_right = null;\n var easeOverride_left = null;\n var easeOverride_up = null;\n var easeOverride_down = null;\n var contrl = thisComp.layer('Face Rig');\n var myLimit = contrl('ADBE Effect Parade')('joystickLimit')('ADBE Slider Control-0001');\n var contrlCurVal = contrl('ADBE Transform Group')('ADBE Position');\n var resultVal;\n var key1 = [\n 75,\n -92.5\n ];\n var key2 = [\n 84,\n -92.5\n ];\n var key3 = [\n 55,\n -92.5\n ];\n var key4 = [\n 73.875,\n -125.546875\n ];\n var key5 = [\n 73.875,\n -81.796875\n ];\n key1 = unArray(key1);\n key2 = unArray(key2);\n key3 = unArray(key3);\n key4 = unArray(key4);\n key5 = unArray(key5);\n try {\n if (!thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB').active) {\n throw 'inactive';\n }\n slideR = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0001');\n slideL = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0002');\n slideU = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0003');\n slideD = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0004');\n } catch (err) {\n slideR = 0;\n slideL = 0;\n slideU = 0;\n slideD = 0;\n }\n if (easeOverride_right !== null && !isNaN(easeOverride_right)) {\n slideR = moClamp(easeOverride_right, -100, 100);\n }\n if (easeOverride_left !== null && !isNaN(easeOverride_left)) {\n slideL = moClamp(easeOverride_left, -100, 100);\n }\n if (easeOverride_up !== null && !isNaN(easeOverride_up)) {\n slideU = moClamp(easeOverride_up, -100, 100);\n }\n if (easeOverride_down !== null && !isNaN(easeOverride_down)) {\n slideD = moClamp(easeOverride_down, -100, 100);\n }\n var easeResultX, easeResultY;\n if (contrlCurVal[0] >= 0) {\n resultVal = linear(contrlCurVal[0], 0, myLimit, key1, key2);\n if (slideR !== 0) {\n easeResultX = easeSwitch(contrlCurVal[0], 0, myLimit, key1, key2, slideR);\n resultVal = linear(Math.abs(slideR), 0, 100, resultVal, easeResultX);\n }\n } else {\n resultVal = linear($bm_neg(contrlCurVal[0]), 0, myLimit, key1, key3);\n if (slideL !== 0) {\n easeResultX = easeSwitch($bm_neg(contrlCurVal[0]), 0, myLimit, key1, key3, slideL);\n resultVal = linear(Math.abs(slideL), 0, 100, resultVal, easeResultX);\n }\n }\n var resultAdd = 0;\n if (contrlCurVal[1] <= 0) {\n resultAdd = sub(linear($bm_neg(contrlCurVal[1]), 0, myLimit, key1, key4), key1);\n if (slideU !== 0) {\n easeResultY = sub(easeSwitch($bm_neg(contrlCurVal[1]), 0, myLimit, key1, key4, slideU), key1);\n resultAdd = linear(Math.abs(slideU), 0, 100, resultAdd, easeResultY);\n }\n } else {\n resultAdd = sub(linear(contrlCurVal[1], 0, myLimit, key1, key5), key1);\n if (slideD !== 0) {\n easeResultY = sub(easeSwitch(contrlCurVal[1], 0, myLimit, key1, key5, slideD), key1);\n resultAdd = linear(Math.abs(slideD), 0, 100, resultAdd, easeResultY);\n }\n }\n return sum(sum(resultVal, resultAdd), sub(inputResult, key1));\n}\nfunction cosEase(val, min1, max1, input1, input2) {\n var myCos = [];\n if ($bm_isInstanceOfArray(input1)) {\n for (var x = 0; x < input1.length; x++) {\n myCos.push(getMeCos(val, min1, max1, input1[x], input2[x]));\n }\n } else {\n myCos = getMeCos(val, min1, max1, input1, input2);\n }\n return myCos;\n function getMeCos(val, min1, max1, input1, input2) {\n var mapVal = moClamp(div(val, sub(max1, min1)), 0, 1);\n var c = sub(input2, input1);\n var myCos2 = sum(sum(mul($bm_neg(c), Math.cos(mul(mapVal, div(Math.PI, 2)))), c), input1);\n return myCos2;\n }\n}\nfunction sinEase(val, min1, max1, input1, input2) {\n var mySin = [];\n if ($bm_isInstanceOfArray(input1)) {\n for (var x = 0; x < input1.length; x++) {\n mySin.push(getMeSin(val, min1, max1, input1[x], input2[x]));\n }\n } else {\n mySin = getMeSin(val, min1, max1, input1, input2);\n }\n return mySin;\n function getMeSin(val, min1, max1, input1, input2) {\n var mapVal = moClamp(div(val, sub(max1, min1)), 0, 1);\n var c = sub(input2, input1);\n var mySin2 = sum(mul(c, Math.sin(mul(mapVal, div(Math.PI, 2)))), input1);\n return mySin2;\n }\n}\nfunction easeSwitch(val, min1, max1, input1, input2, morph) {\n if (morph < 0) {\n return cosEase(val, min1, max1, input1, input2);\n } else {\n return sinEase(val, min1, max1, input1, input2);\n }\n}\nfunction unArray(inKey) {\n if (inKey instanceof Array && inKey.length === 1) {\n return inKey[0];\n } else {\n return inKey;\n }\n}\nfunction moClamp(a, b, c) {\n if (!(a instanceof Array)) {\n return Math.max(b, Math.min(c, a));\n } else {\n var aryHold = [];\n for (var x = 0; x < a.length; x++) {\n aryHold.push(Math.max(b, Math.min(c, a[x])));\n }\n return aryHold;\n }\n}"},"a":{"a":0,"k":[73.875,-93.047],"ix":1},"s":{"a":0,"k":[100,100],"ix":3,"x":"var $bm_rt;\n$bm_rt = joystick(value);\nfunction joystick(inputResult) {\n var slideR, slideL, slideU, slideD;\n var easeOverride_right = null;\n var easeOverride_left = null;\n var easeOverride_up = null;\n var easeOverride_down = null;\n var contrl = thisComp.layer('Face Rig');\n var myLimit = contrl('ADBE Effect Parade')('joystickLimit')('ADBE Slider Control-0001');\n var contrlCurVal = contrl('ADBE Transform Group')('ADBE Position');\n var resultVal;\n var key1 = [\n 100,\n 100\n ];\n var key2 = [\n 65,\n 100\n ];\n var key3 = [\n 100,\n 100\n ];\n var key4 = [\n 100,\n 132\n ];\n var key5 = [\n 100,\n 73\n ];\n key1 = unArray(key1);\n key2 = unArray(key2);\n key3 = unArray(key3);\n key4 = unArray(key4);\n key5 = unArray(key5);\n try {\n if (!thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB').active) {\n throw 'inactive';\n }\n slideR = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0001');\n slideL = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0002');\n slideU = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0003');\n slideD = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0004');\n } catch (err) {\n slideR = 0;\n slideL = 0;\n slideU = 0;\n slideD = 0;\n }\n if (easeOverride_right !== null && !isNaN(easeOverride_right)) {\n slideR = moClamp(easeOverride_right, -100, 100);\n }\n if (easeOverride_left !== null && !isNaN(easeOverride_left)) {\n slideL = moClamp(easeOverride_left, -100, 100);\n }\n if (easeOverride_up !== null && !isNaN(easeOverride_up)) {\n slideU = moClamp(easeOverride_up, -100, 100);\n }\n if (easeOverride_down !== null && !isNaN(easeOverride_down)) {\n slideD = moClamp(easeOverride_down, -100, 100);\n }\n var easeResultX, easeResultY;\n if (contrlCurVal[0] >= 0) {\n resultVal = linear(contrlCurVal[0], 0, myLimit, key1, key2);\n if (slideR !== 0) {\n easeResultX = easeSwitch(contrlCurVal[0], 0, myLimit, key1, key2, slideR);\n resultVal = linear(Math.abs(slideR), 0, 100, resultVal, easeResultX);\n }\n } else {\n resultVal = linear($bm_neg(contrlCurVal[0]), 0, myLimit, key1, key3);\n if (slideL !== 0) {\n easeResultX = easeSwitch($bm_neg(contrlCurVal[0]), 0, myLimit, key1, key3, slideL);\n resultVal = linear(Math.abs(slideL), 0, 100, resultVal, easeResultX);\n }\n }\n var resultAdd = 0;\n if (contrlCurVal[1] <= 0) {\n resultAdd = sub(linear($bm_neg(contrlCurVal[1]), 0, myLimit, key1, key4), key1);\n if (slideU !== 0) {\n easeResultY = sub(easeSwitch($bm_neg(contrlCurVal[1]), 0, myLimit, key1, key4, slideU), key1);\n resultAdd = linear(Math.abs(slideU), 0, 100, resultAdd, easeResultY);\n }\n } else {\n resultAdd = sub(linear(contrlCurVal[1], 0, myLimit, key1, key5), key1);\n if (slideD !== 0) {\n easeResultY = sub(easeSwitch(contrlCurVal[1], 0, myLimit, key1, key5, slideD), key1);\n resultAdd = linear(Math.abs(slideD), 0, 100, resultAdd, easeResultY);\n }\n }\n return sum(sum(resultVal, resultAdd), sub(inputResult, key1));\n}\nfunction cosEase(val, min1, max1, input1, input2) {\n var myCos = [];\n if ($bm_isInstanceOfArray(input1)) {\n for (var x = 0; x < input1.length; x++) {\n myCos.push(getMeCos(val, min1, max1, input1[x], input2[x]));\n }\n } else {\n myCos = getMeCos(val, min1, max1, input1, input2);\n }\n return myCos;\n function getMeCos(val, min1, max1, input1, input2) {\n var mapVal = moClamp(div(val, sub(max1, min1)), 0, 1);\n var c = sub(input2, input1);\n var myCos2 = sum(sum(mul($bm_neg(c), Math.cos(mul(mapVal, div(Math.PI, 2)))), c), input1);\n return myCos2;\n }\n}\nfunction sinEase(val, min1, max1, input1, input2) {\n var mySin = [];\n if ($bm_isInstanceOfArray(input1)) {\n for (var x = 0; x < input1.length; x++) {\n mySin.push(getMeSin(val, min1, max1, input1[x], input2[x]));\n }\n } else {\n mySin = getMeSin(val, min1, max1, input1, input2);\n }\n return mySin;\n function getMeSin(val, min1, max1, input1, input2) {\n var mapVal = moClamp(div(val, sub(max1, min1)), 0, 1);\n var c = sub(input2, input1);\n var mySin2 = sum(mul(c, Math.sin(mul(mapVal, div(Math.PI, 2)))), input1);\n return mySin2;\n }\n}\nfunction easeSwitch(val, min1, max1, input1, input2, morph) {\n if (morph < 0) {\n return cosEase(val, min1, max1, input1, input2);\n } else {\n return sinEase(val, min1, max1, input1, input2);\n }\n}\nfunction unArray(inKey) {\n if (inKey instanceof Array && inKey.length === 1) {\n return inKey[0];\n } else {\n return inKey;\n }\n}\nfunction moClamp(a, b, c) {\n if (!(a instanceof Array)) {\n return Math.max(b, Math.min(c, a));\n } else {\n var aryHold = [];\n for (var x = 0; x < a.length; x++) {\n aryHold.push(Math.max(b, Math.min(c, a[x])));\n }\n return aryHold;\n }\n}"},"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":"lid left","np":3,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-41.598,-0.006]],"o":[[0,0],[0,0],[41.598,0.006]],"v":[[87.137,-91.5],[-1.863,-91],[42.637,-62]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.074509998396,0.141176006841,0.168626987233,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[43.146,-80.344],"ix":2,"x":"var $bm_rt;\n$bm_rt = joystick(value);\nfunction joystick(inputResult) {\n var slideR, slideL, slideU, slideD;\n var easeOverride_right = null;\n var easeOverride_left = null;\n var easeOverride_up = null;\n var easeOverride_down = null;\n var contrl = thisComp.layer('Face Rig');\n var myLimit = contrl('ADBE Effect Parade')('joystickLimit')('ADBE Slider Control-0001');\n var contrlCurVal = contrl('ADBE Transform Group')('ADBE Position');\n var resultVal;\n var key1 = [\n 43.146484375,\n -80.34375\n ];\n var key2 = [\n 64.146484375,\n -80.34375\n ];\n var key3 = [\n 21.646484375,\n -80.34375\n ];\n var key4 = [\n 43.146484375,\n -119.84375\n ];\n var key5 = [\n 43.146484375,\n -69.84375\n ];\n key1 = unArray(key1);\n key2 = unArray(key2);\n key3 = unArray(key3);\n key4 = unArray(key4);\n key5 = unArray(key5);\n try {\n if (!thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB').active) {\n throw 'inactive';\n }\n slideR = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0001');\n slideL = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0002');\n slideU = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0003');\n slideD = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0004');\n } catch (err) {\n slideR = 0;\n slideL = 0;\n slideU = 0;\n slideD = 0;\n }\n if (easeOverride_right !== null && !isNaN(easeOverride_right)) {\n slideR = moClamp(easeOverride_right, -100, 100);\n }\n if (easeOverride_left !== null && !isNaN(easeOverride_left)) {\n slideL = moClamp(easeOverride_left, -100, 100);\n }\n if (easeOverride_up !== null && !isNaN(easeOverride_up)) {\n slideU = moClamp(easeOverride_up, -100, 100);\n }\n if (easeOverride_down !== null && !isNaN(easeOverride_down)) {\n slideD = moClamp(easeOverride_down, -100, 100);\n }\n var easeResultX, easeResultY;\n if (contrlCurVal[0] >= 0) {\n resultVal = linear(contrlCurVal[0], 0, myLimit, key1, key2);\n if (slideR !== 0) {\n easeResultX = easeSwitch(contrlCurVal[0], 0, myLimit, key1, key2, slideR);\n resultVal = linear(Math.abs(slideR), 0, 100, resultVal, easeResultX);\n }\n } else {\n resultVal = linear($bm_neg(contrlCurVal[0]), 0, myLimit, key1, key3);\n if (slideL !== 0) {\n easeResultX = easeSwitch($bm_neg(contrlCurVal[0]), 0, myLimit, key1, key3, slideL);\n resultVal = linear(Math.abs(slideL), 0, 100, resultVal, easeResultX);\n }\n }\n var resultAdd = 0;\n if (contrlCurVal[1] <= 0) {\n resultAdd = sub(linear($bm_neg(contrlCurVal[1]), 0, myLimit, key1, key4), key1);\n if (slideU !== 0) {\n easeResultY = sub(easeSwitch($bm_neg(contrlCurVal[1]), 0, myLimit, key1, key4, slideU), key1);\n resultAdd = linear(Math.abs(slideU), 0, 100, resultAdd, easeResultY);\n }\n } else {\n resultAdd = sub(linear(contrlCurVal[1], 0, myLimit, key1, key5), key1);\n if (slideD !== 0) {\n easeResultY = sub(easeSwitch(contrlCurVal[1], 0, myLimit, key1, key5, slideD), key1);\n resultAdd = linear(Math.abs(slideD), 0, 100, resultAdd, easeResultY);\n }\n }\n return sum(sum(resultVal, resultAdd), sub(inputResult, key1));\n}\nfunction cosEase(val, min1, max1, input1, input2) {\n var myCos = [];\n if ($bm_isInstanceOfArray(input1)) {\n for (var x = 0; x < input1.length; x++) {\n myCos.push(getMeCos(val, min1, max1, input1[x], input2[x]));\n }\n } else {\n myCos = getMeCos(val, min1, max1, input1, input2);\n }\n return myCos;\n function getMeCos(val, min1, max1, input1, input2) {\n var mapVal = moClamp(div(val, sub(max1, min1)), 0, 1);\n var c = sub(input2, input1);\n var myCos2 = sum(sum(mul($bm_neg(c), Math.cos(mul(mapVal, div(Math.PI, 2)))), c), input1);\n return myCos2;\n }\n}\nfunction sinEase(val, min1, max1, input1, input2) {\n var mySin = [];\n if ($bm_isInstanceOfArray(input1)) {\n for (var x = 0; x < input1.length; x++) {\n mySin.push(getMeSin(val, min1, max1, input1[x], input2[x]));\n }\n } else {\n mySin = getMeSin(val, min1, max1, input1, input2);\n }\n return mySin;\n function getMeSin(val, min1, max1, input1, input2) {\n var mapVal = moClamp(div(val, sub(max1, min1)), 0, 1);\n var c = sub(input2, input1);\n var mySin2 = sum(mul(c, Math.sin(mul(mapVal, div(Math.PI, 2)))), input1);\n return mySin2;\n }\n}\nfunction easeSwitch(val, min1, max1, input1, input2, morph) {\n if (morph < 0) {\n return cosEase(val, min1, max1, input1, input2);\n } else {\n return sinEase(val, min1, max1, input1, input2);\n }\n}\nfunction unArray(inKey) {\n if (inKey instanceof Array && inKey.length === 1) {\n return inKey[0];\n } else {\n return inKey;\n }\n}\nfunction moClamp(a, b, c) {\n if (!(a instanceof Array)) {\n return Math.max(b, Math.min(c, a));\n } else {\n var aryHold = [];\n for (var x = 0; x < a.length; x++) {\n aryHold.push(Math.max(b, Math.min(c, a[x])));\n }\n return aryHold;\n }\n}"},"a":{"a":0,"k":[43.591,-78.546],"ix":1},"s":{"a":0,"k":[67.022,67.022],"ix":3,"x":"var $bm_rt;\n$bm_rt = joystick(value);\nfunction joystick(inputResult) {\n var slideR, slideL, slideU, slideD;\n var easeOverride_right = null;\n var easeOverride_left = null;\n var easeOverride_up = null;\n var easeOverride_down = null;\n var contrl = thisComp.layer('Face Rig');\n var myLimit = contrl('ADBE Effect Parade')('joystickLimit')('ADBE Slider Control-0001');\n var contrlCurVal = contrl('ADBE Transform Group')('ADBE Position');\n var resultVal;\n var key1 = [\n 67.0221619132623,\n 67.0221619132623\n ];\n var key2 = [\n 51.0221633911133,\n 67.0221633911133\n ];\n var key3 = [\n 45.0221633911133,\n 67.0221633911133\n ];\n var key4 = [\n 67.0221619132623,\n 42.0221619132623\n ];\n var key5 = [\n 67.0221619132623,\n 42.0221619132623\n ];\n key1 = unArray(key1);\n key2 = unArray(key2);\n key3 = unArray(key3);\n key4 = unArray(key4);\n key5 = unArray(key5);\n try {\n if (!thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB').active) {\n throw 'inactive';\n }\n slideR = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0001');\n slideL = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0002');\n slideU = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0003');\n slideD = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0004');\n } catch (err) {\n slideR = 0;\n slideL = 0;\n slideU = 0;\n slideD = 0;\n }\n if (easeOverride_right !== null && !isNaN(easeOverride_right)) {\n slideR = moClamp(easeOverride_right, -100, 100);\n }\n if (easeOverride_left !== null && !isNaN(easeOverride_left)) {\n slideL = moClamp(easeOverride_left, -100, 100);\n }\n if (easeOverride_up !== null && !isNaN(easeOverride_up)) {\n slideU = moClamp(easeOverride_up, -100, 100);\n }\n if (easeOverride_down !== null && !isNaN(easeOverride_down)) {\n slideD = moClamp(easeOverride_down, -100, 100);\n }\n var easeResultX, easeResultY;\n if (contrlCurVal[0] >= 0) {\n resultVal = linear(contrlCurVal[0], 0, myLimit, key1, key2);\n if (slideR !== 0) {\n easeResultX = easeSwitch(contrlCurVal[0], 0, myLimit, key1, key2, slideR);\n resultVal = linear(Math.abs(slideR), 0, 100, resultVal, easeResultX);\n }\n } else {\n resultVal = linear($bm_neg(contrlCurVal[0]), 0, myLimit, key1, key3);\n if (slideL !== 0) {\n easeResultX = easeSwitch($bm_neg(contrlCurVal[0]), 0, myLimit, key1, key3, slideL);\n resultVal = linear(Math.abs(slideL), 0, 100, resultVal, easeResultX);\n }\n }\n var resultAdd = 0;\n if (contrlCurVal[1] <= 0) {\n resultAdd = sub(linear($bm_neg(contrlCurVal[1]), 0, myLimit, key1, key4), key1);\n if (slideU !== 0) {\n easeResultY = sub(easeSwitch($bm_neg(contrlCurVal[1]), 0, myLimit, key1, key4, slideU), key1);\n resultAdd = linear(Math.abs(slideU), 0, 100, resultAdd, easeResultY);\n }\n } else {\n resultAdd = sub(linear(contrlCurVal[1], 0, myLimit, key1, key5), key1);\n if (slideD !== 0) {\n easeResultY = sub(easeSwitch(contrlCurVal[1], 0, myLimit, key1, key5, slideD), key1);\n resultAdd = linear(Math.abs(slideD), 0, 100, resultAdd, easeResultY);\n }\n }\n return sum(sum(resultVal, resultAdd), sub(inputResult, key1));\n}\nfunction cosEase(val, min1, max1, input1, input2) {\n var myCos = [];\n if ($bm_isInstanceOfArray(input1)) {\n for (var x = 0; x < input1.length; x++) {\n myCos.push(getMeCos(val, min1, max1, input1[x], input2[x]));\n }\n } else {\n myCos = getMeCos(val, min1, max1, input1, input2);\n }\n return myCos;\n function getMeCos(val, min1, max1, input1, input2) {\n var mapVal = moClamp(div(val, sub(max1, min1)), 0, 1);\n var c = sub(input2, input1);\n var myCos2 = sum(sum(mul($bm_neg(c), Math.cos(mul(mapVal, div(Math.PI, 2)))), c), input1);\n return myCos2;\n }\n}\nfunction sinEase(val, min1, max1, input1, input2) {\n var mySin = [];\n if ($bm_isInstanceOfArray(input1)) {\n for (var x = 0; x < input1.length; x++) {\n mySin.push(getMeSin(val, min1, max1, input1[x], input2[x]));\n }\n } else {\n mySin = getMeSin(val, min1, max1, input1, input2);\n }\n return mySin;\n function getMeSin(val, min1, max1, input1, input2) {\n var mapVal = moClamp(div(val, sub(max1, min1)), 0, 1);\n var c = sub(input2, input1);\n var mySin2 = sum(mul(c, Math.sin(mul(mapVal, div(Math.PI, 2)))), input1);\n return mySin2;\n }\n}\nfunction easeSwitch(val, min1, max1, input1, input2, morph) {\n if (morph < 0) {\n return cosEase(val, min1, max1, input1, input2);\n } else {\n return sinEase(val, min1, max1, input1, input2);\n }\n}\nfunction unArray(inKey) {\n if (inKey instanceof Array && inKey.length === 1) {\n return inKey[0];\n } else {\n return inKey;\n }\n}\nfunction moClamp(a, b, c) {\n if (!(a instanceof Array)) {\n return Math.max(b, Math.min(c, a));\n } else {\n var aryHold = [];\n for (var x = 0; x < a.length; x++) {\n aryHold.push(Math.max(b, Math.min(c, a[x])));\n }\n return aryHold;\n }\n}"},"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":"mouth","np":3,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[16.676,16.676],"ix":2},"p":{"a":0,"k":[58,-10],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.074509998396,0.141176006841,0.168626987233,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.219607843137,0.678431372549,0.627450980392,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[12.975,-104.662],"ix":2,"x":"var $bm_rt;\n$bm_rt = joystick(value);\nfunction joystick(inputResult) {\n var slideR, slideL, slideU, slideD;\n var easeOverride_right = null;\n var easeOverride_left = null;\n var easeOverride_up = null;\n var easeOverride_down = null;\n var contrl = thisComp.layer('Face Rig');\n var myLimit = contrl('ADBE Effect Parade')('joystickLimit')('ADBE Slider Control-0001');\n var contrlCurVal = contrl('ADBE Transform Group')('ADBE Position');\n var resultVal;\n var key1 = [\n 12.974609375,\n -104.662109375\n ];\n var key2 = [\n 57.974609375,\n -104.662109375\n ];\n var key3 = [\n 3.974609375,\n -104.662109375\n ];\n var key4 = [\n 12.974609375,\n -139.662109375\n ];\n var key5 = [\n 12.974609375,\n -85.912109375\n ];\n key1 = unArray(key1);\n key2 = unArray(key2);\n key3 = unArray(key3);\n key4 = unArray(key4);\n key5 = unArray(key5);\n try {\n if (!thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB').active) {\n throw 'inactive';\n }\n slideR = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0001');\n slideL = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0002');\n slideU = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0003');\n slideD = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0004');\n } catch (err) {\n slideR = 0;\n slideL = 0;\n slideU = 0;\n slideD = 0;\n }\n if (easeOverride_right !== null && !isNaN(easeOverride_right)) {\n slideR = moClamp(easeOverride_right, -100, 100);\n }\n if (easeOverride_left !== null && !isNaN(easeOverride_left)) {\n slideL = moClamp(easeOverride_left, -100, 100);\n }\n if (easeOverride_up !== null && !isNaN(easeOverride_up)) {\n slideU = moClamp(easeOverride_up, -100, 100);\n }\n if (easeOverride_down !== null && !isNaN(easeOverride_down)) {\n slideD = moClamp(easeOverride_down, -100, 100);\n }\n var easeResultX, easeResultY;\n if (contrlCurVal[0] >= 0) {\n resultVal = linear(contrlCurVal[0], 0, myLimit, key1, key2);\n if (slideR !== 0) {\n easeResultX = easeSwitch(contrlCurVal[0], 0, myLimit, key1, key2, slideR);\n resultVal = linear(Math.abs(slideR), 0, 100, resultVal, easeResultX);\n }\n } else {\n resultVal = linear($bm_neg(contrlCurVal[0]), 0, myLimit, key1, key3);\n if (slideL !== 0) {\n easeResultX = easeSwitch($bm_neg(contrlCurVal[0]), 0, myLimit, key1, key3, slideL);\n resultVal = linear(Math.abs(slideL), 0, 100, resultVal, easeResultX);\n }\n }\n var resultAdd = 0;\n if (contrlCurVal[1] <= 0) {\n resultAdd = sub(linear($bm_neg(contrlCurVal[1]), 0, myLimit, key1, key4), key1);\n if (slideU !== 0) {\n easeResultY = sub(easeSwitch($bm_neg(contrlCurVal[1]), 0, myLimit, key1, key4, slideU), key1);\n resultAdd = linear(Math.abs(slideU), 0, 100, resultAdd, easeResultY);\n }\n } else {\n resultAdd = sub(linear(contrlCurVal[1], 0, myLimit, key1, key5), key1);\n if (slideD !== 0) {\n easeResultY = sub(easeSwitch(contrlCurVal[1], 0, myLimit, key1, key5, slideD), key1);\n resultAdd = linear(Math.abs(slideD), 0, 100, resultAdd, easeResultY);\n }\n }\n return sum(sum(resultVal, resultAdd), sub(inputResult, key1));\n}\nfunction cosEase(val, min1, max1, input1, input2) {\n var myCos = [];\n if ($bm_isInstanceOfArray(input1)) {\n for (var x = 0; x < input1.length; x++) {\n myCos.push(getMeCos(val, min1, max1, input1[x], input2[x]));\n }\n } else {\n myCos = getMeCos(val, min1, max1, input1, input2);\n }\n return myCos;\n function getMeCos(val, min1, max1, input1, input2) {\n var mapVal = moClamp(div(val, sub(max1, min1)), 0, 1);\n var c = sub(input2, input1);\n var myCos2 = sum(sum(mul($bm_neg(c), Math.cos(mul(mapVal, div(Math.PI, 2)))), c), input1);\n return myCos2;\n }\n}\nfunction sinEase(val, min1, max1, input1, input2) {\n var mySin = [];\n if ($bm_isInstanceOfArray(input1)) {\n for (var x = 0; x < input1.length; x++) {\n mySin.push(getMeSin(val, min1, max1, input1[x], input2[x]));\n }\n } else {\n mySin = getMeSin(val, min1, max1, input1, input2);\n }\n return mySin;\n function getMeSin(val, min1, max1, input1, input2) {\n var mapVal = moClamp(div(val, sub(max1, min1)), 0, 1);\n var c = sub(input2, input1);\n var mySin2 = sum(mul(c, Math.sin(mul(mapVal, div(Math.PI, 2)))), input1);\n return mySin2;\n }\n}\nfunction easeSwitch(val, min1, max1, input1, input2, morph) {\n if (morph < 0) {\n return cosEase(val, min1, max1, input1, input2);\n } else {\n return sinEase(val, min1, max1, input1, input2);\n }\n}\nfunction unArray(inKey) {\n if (inKey instanceof Array && inKey.length === 1) {\n return inKey[0];\n } else {\n return inKey;\n }\n}\nfunction moClamp(a, b, c) {\n if (!(a instanceof Array)) {\n return Math.max(b, Math.min(c, a));\n } else {\n var aryHold = [];\n for (var x = 0; x < a.length; x++) {\n aryHold.push(Math.max(b, Math.min(c, a[x])));\n }\n return aryHold;\n }\n}"},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3,"x":"var $bm_rt;\n$bm_rt = joystick(value);\nfunction joystick(inputResult) {\n var slideR, slideL, slideU, slideD;\n var easeOverride_right = null;\n var easeOverride_left = null;\n var easeOverride_up = null;\n var easeOverride_down = null;\n var contrl = thisComp.layer('Face Rig');\n var myLimit = contrl('ADBE Effect Parade')('joystickLimit')('ADBE Slider Control-0001');\n var contrlCurVal = contrl('ADBE Transform Group')('ADBE Position');\n var resultVal;\n var key1 = [\n 100,\n 100\n ];\n var key2 = [\n 54,\n 100\n ];\n var key3 = [\n 76,\n 100\n ];\n var key4 = [\n 100,\n 80\n ];\n var key5 = [\n 100,\n 80\n ];\n key1 = unArray(key1);\n key2 = unArray(key2);\n key3 = unArray(key3);\n key4 = unArray(key4);\n key5 = unArray(key5);\n try {\n if (!thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB').active) {\n throw 'inactive';\n }\n slideR = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0001');\n slideL = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0002');\n slideU = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0003');\n slideD = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0004');\n } catch (err) {\n slideR = 0;\n slideL = 0;\n slideU = 0;\n slideD = 0;\n }\n if (easeOverride_right !== null && !isNaN(easeOverride_right)) {\n slideR = moClamp(easeOverride_right, -100, 100);\n }\n if (easeOverride_left !== null && !isNaN(easeOverride_left)) {\n slideL = moClamp(easeOverride_left, -100, 100);\n }\n if (easeOverride_up !== null && !isNaN(easeOverride_up)) {\n slideU = moClamp(easeOverride_up, -100, 100);\n }\n if (easeOverride_down !== null && !isNaN(easeOverride_down)) {\n slideD = moClamp(easeOverride_down, -100, 100);\n }\n var easeResultX, easeResultY;\n if (contrlCurVal[0] >= 0) {\n resultVal = linear(contrlCurVal[0], 0, myLimit, key1, key2);\n if (slideR !== 0) {\n easeResultX = easeSwitch(contrlCurVal[0], 0, myLimit, key1, key2, slideR);\n resultVal = linear(Math.abs(slideR), 0, 100, resultVal, easeResultX);\n }\n } else {\n resultVal = linear($bm_neg(contrlCurVal[0]), 0, myLimit, key1, key3);\n if (slideL !== 0) {\n easeResultX = easeSwitch($bm_neg(contrlCurVal[0]), 0, myLimit, key1, key3, slideL);\n resultVal = linear(Math.abs(slideL), 0, 100, resultVal, easeResultX);\n }\n }\n var resultAdd = 0;\n if (contrlCurVal[1] <= 0) {\n resultAdd = sub(linear($bm_neg(contrlCurVal[1]), 0, myLimit, key1, key4), key1);\n if (slideU !== 0) {\n easeResultY = sub(easeSwitch($bm_neg(contrlCurVal[1]), 0, myLimit, key1, key4, slideU), key1);\n resultAdd = linear(Math.abs(slideU), 0, 100, resultAdd, easeResultY);\n }\n } else {\n resultAdd = sub(linear(contrlCurVal[1], 0, myLimit, key1, key5), key1);\n if (slideD !== 0) {\n easeResultY = sub(easeSwitch(contrlCurVal[1], 0, myLimit, key1, key5, slideD), key1);\n resultAdd = linear(Math.abs(slideD), 0, 100, resultAdd, easeResultY);\n }\n }\n return sum(sum(resultVal, resultAdd), sub(inputResult, key1));\n}\nfunction cosEase(val, min1, max1, input1, input2) {\n var myCos = [];\n if ($bm_isInstanceOfArray(input1)) {\n for (var x = 0; x < input1.length; x++) {\n myCos.push(getMeCos(val, min1, max1, input1[x], input2[x]));\n }\n } else {\n myCos = getMeCos(val, min1, max1, input1, input2);\n }\n return myCos;\n function getMeCos(val, min1, max1, input1, input2) {\n var mapVal = moClamp(div(val, sub(max1, min1)), 0, 1);\n var c = sub(input2, input1);\n var myCos2 = sum(sum(mul($bm_neg(c), Math.cos(mul(mapVal, div(Math.PI, 2)))), c), input1);\n return myCos2;\n }\n}\nfunction sinEase(val, min1, max1, input1, input2) {\n var mySin = [];\n if ($bm_isInstanceOfArray(input1)) {\n for (var x = 0; x < input1.length; x++) {\n mySin.push(getMeSin(val, min1, max1, input1[x], input2[x]));\n }\n } else {\n mySin = getMeSin(val, min1, max1, input1, input2);\n }\n return mySin;\n function getMeSin(val, min1, max1, input1, input2) {\n var mapVal = moClamp(div(val, sub(max1, min1)), 0, 1);\n var c = sub(input2, input1);\n var mySin2 = sum(mul(c, Math.sin(mul(mapVal, div(Math.PI, 2)))), input1);\n return mySin2;\n }\n}\nfunction easeSwitch(val, min1, max1, input1, input2, morph) {\n if (morph < 0) {\n return cosEase(val, min1, max1, input1, input2);\n } else {\n return sinEase(val, min1, max1, input1, input2);\n }\n}\nfunction unArray(inKey) {\n if (inKey instanceof Array && inKey.length === 1) {\n return inKey[0];\n } else {\n return inKey;\n }\n}\nfunction moClamp(a, b, c) {\n if (!(a instanceof Array)) {\n return Math.max(b, Math.min(c, a));\n } else {\n var aryHold = [];\n for (var x = 0; x < a.length; x++) {\n aryHold.push(Math.max(b, Math.min(c, a[x])));\n }\n return aryHold;\n }\n}"},"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":"pupil right","np":3,"cix":2,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[16.676,16.676],"ix":2},"p":{"a":0,"k":[1,-10],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.074509998396,0.141176006841,0.168626987233,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.219607843137,0.678431372549,0.627450980392,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[12.975,-104.662],"ix":2,"x":"var $bm_rt;\n$bm_rt = joystick(value);\nfunction joystick(inputResult) {\n var slideR, slideL, slideU, slideD;\n var easeOverride_right = null;\n var easeOverride_left = null;\n var easeOverride_up = null;\n var easeOverride_down = null;\n var contrl = thisComp.layer('Face Rig');\n var myLimit = contrl('ADBE Effect Parade')('joystickLimit')('ADBE Slider Control-0001');\n var contrlCurVal = contrl('ADBE Transform Group')('ADBE Position');\n var resultVal;\n var key1 = [\n 12.974609375,\n -104.662109375\n ];\n var key2 = [\n 39.974609375,\n -104.662109375\n ];\n var key3 = [\n -5.025390625,\n -104.662109375\n ];\n var key4 = [\n 12.974609375,\n -139.662109375\n ];\n var key5 = [\n 12.974609375,\n -85.912109375\n ];\n key1 = unArray(key1);\n key2 = unArray(key2);\n key3 = unArray(key3);\n key4 = unArray(key4);\n key5 = unArray(key5);\n try {\n if (!thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB').active) {\n throw 'inactive';\n }\n slideR = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0001');\n slideL = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0002');\n slideU = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0003');\n slideD = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0004');\n } catch (err) {\n slideR = 0;\n slideL = 0;\n slideU = 0;\n slideD = 0;\n }\n if (easeOverride_right !== null && !isNaN(easeOverride_right)) {\n slideR = moClamp(easeOverride_right, -100, 100);\n }\n if (easeOverride_left !== null && !isNaN(easeOverride_left)) {\n slideL = moClamp(easeOverride_left, -100, 100);\n }\n if (easeOverride_up !== null && !isNaN(easeOverride_up)) {\n slideU = moClamp(easeOverride_up, -100, 100);\n }\n if (easeOverride_down !== null && !isNaN(easeOverride_down)) {\n slideD = moClamp(easeOverride_down, -100, 100);\n }\n var easeResultX, easeResultY;\n if (contrlCurVal[0] >= 0) {\n resultVal = linear(contrlCurVal[0], 0, myLimit, key1, key2);\n if (slideR !== 0) {\n easeResultX = easeSwitch(contrlCurVal[0], 0, myLimit, key1, key2, slideR);\n resultVal = linear(Math.abs(slideR), 0, 100, resultVal, easeResultX);\n }\n } else {\n resultVal = linear($bm_neg(contrlCurVal[0]), 0, myLimit, key1, key3);\n if (slideL !== 0) {\n easeResultX = easeSwitch($bm_neg(contrlCurVal[0]), 0, myLimit, key1, key3, slideL);\n resultVal = linear(Math.abs(slideL), 0, 100, resultVal, easeResultX);\n }\n }\n var resultAdd = 0;\n if (contrlCurVal[1] <= 0) {\n resultAdd = sub(linear($bm_neg(contrlCurVal[1]), 0, myLimit, key1, key4), key1);\n if (slideU !== 0) {\n easeResultY = sub(easeSwitch($bm_neg(contrlCurVal[1]), 0, myLimit, key1, key4, slideU), key1);\n resultAdd = linear(Math.abs(slideU), 0, 100, resultAdd, easeResultY);\n }\n } else {\n resultAdd = sub(linear(contrlCurVal[1], 0, myLimit, key1, key5), key1);\n if (slideD !== 0) {\n easeResultY = sub(easeSwitch(contrlCurVal[1], 0, myLimit, key1, key5, slideD), key1);\n resultAdd = linear(Math.abs(slideD), 0, 100, resultAdd, easeResultY);\n }\n }\n return sum(sum(resultVal, resultAdd), sub(inputResult, key1));\n}\nfunction cosEase(val, min1, max1, input1, input2) {\n var myCos = [];\n if ($bm_isInstanceOfArray(input1)) {\n for (var x = 0; x < input1.length; x++) {\n myCos.push(getMeCos(val, min1, max1, input1[x], input2[x]));\n }\n } else {\n myCos = getMeCos(val, min1, max1, input1, input2);\n }\n return myCos;\n function getMeCos(val, min1, max1, input1, input2) {\n var mapVal = moClamp(div(val, sub(max1, min1)), 0, 1);\n var c = sub(input2, input1);\n var myCos2 = sum(sum(mul($bm_neg(c), Math.cos(mul(mapVal, div(Math.PI, 2)))), c), input1);\n return myCos2;\n }\n}\nfunction sinEase(val, min1, max1, input1, input2) {\n var mySin = [];\n if ($bm_isInstanceOfArray(input1)) {\n for (var x = 0; x < input1.length; x++) {\n mySin.push(getMeSin(val, min1, max1, input1[x], input2[x]));\n }\n } else {\n mySin = getMeSin(val, min1, max1, input1, input2);\n }\n return mySin;\n function getMeSin(val, min1, max1, input1, input2) {\n var mapVal = moClamp(div(val, sub(max1, min1)), 0, 1);\n var c = sub(input2, input1);\n var mySin2 = sum(mul(c, Math.sin(mul(mapVal, div(Math.PI, 2)))), input1);\n return mySin2;\n }\n}\nfunction easeSwitch(val, min1, max1, input1, input2, morph) {\n if (morph < 0) {\n return cosEase(val, min1, max1, input1, input2);\n } else {\n return sinEase(val, min1, max1, input1, input2);\n }\n}\nfunction unArray(inKey) {\n if (inKey instanceof Array && inKey.length === 1) {\n return inKey[0];\n } else {\n return inKey;\n }\n}\nfunction moClamp(a, b, c) {\n if (!(a instanceof Array)) {\n return Math.max(b, Math.min(c, a));\n } else {\n var aryHold = [];\n for (var x = 0; x < a.length; x++) {\n aryHold.push(Math.max(b, Math.min(c, a[x])));\n }\n return aryHold;\n }\n}"},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3,"x":"var $bm_rt;\n$bm_rt = joystick(value);\nfunction joystick(inputResult) {\n var slideR, slideL, slideU, slideD;\n var easeOverride_right = null;\n var easeOverride_left = null;\n var easeOverride_up = null;\n var easeOverride_down = null;\n var contrl = thisComp.layer('Face Rig');\n var myLimit = contrl('ADBE Effect Parade')('joystickLimit')('ADBE Slider Control-0001');\n var contrlCurVal = contrl('ADBE Transform Group')('ADBE Position');\n var resultVal;\n var key1 = [\n 100,\n 100\n ];\n var key2 = [\n 67,\n 100\n ];\n var key3 = [\n 57,\n 100\n ];\n var key4 = [\n 100,\n 80\n ];\n var key5 = [\n 100,\n 80\n ];\n key1 = unArray(key1);\n key2 = unArray(key2);\n key3 = unArray(key3);\n key4 = unArray(key4);\n key5 = unArray(key5);\n try {\n if (!thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB').active) {\n throw 'inactive';\n }\n slideR = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0001');\n slideL = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0002');\n slideU = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0003');\n slideD = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0004');\n } catch (err) {\n slideR = 0;\n slideL = 0;\n slideU = 0;\n slideD = 0;\n }\n if (easeOverride_right !== null && !isNaN(easeOverride_right)) {\n slideR = moClamp(easeOverride_right, -100, 100);\n }\n if (easeOverride_left !== null && !isNaN(easeOverride_left)) {\n slideL = moClamp(easeOverride_left, -100, 100);\n }\n if (easeOverride_up !== null && !isNaN(easeOverride_up)) {\n slideU = moClamp(easeOverride_up, -100, 100);\n }\n if (easeOverride_down !== null && !isNaN(easeOverride_down)) {\n slideD = moClamp(easeOverride_down, -100, 100);\n }\n var easeResultX, easeResultY;\n if (contrlCurVal[0] >= 0) {\n resultVal = linear(contrlCurVal[0], 0, myLimit, key1, key2);\n if (slideR !== 0) {\n easeResultX = easeSwitch(contrlCurVal[0], 0, myLimit, key1, key2, slideR);\n resultVal = linear(Math.abs(slideR), 0, 100, resultVal, easeResultX);\n }\n } else {\n resultVal = linear($bm_neg(contrlCurVal[0]), 0, myLimit, key1, key3);\n if (slideL !== 0) {\n easeResultX = easeSwitch($bm_neg(contrlCurVal[0]), 0, myLimit, key1, key3, slideL);\n resultVal = linear(Math.abs(slideL), 0, 100, resultVal, easeResultX);\n }\n }\n var resultAdd = 0;\n if (contrlCurVal[1] <= 0) {\n resultAdd = sub(linear($bm_neg(contrlCurVal[1]), 0, myLimit, key1, key4), key1);\n if (slideU !== 0) {\n easeResultY = sub(easeSwitch($bm_neg(contrlCurVal[1]), 0, myLimit, key1, key4, slideU), key1);\n resultAdd = linear(Math.abs(slideU), 0, 100, resultAdd, easeResultY);\n }\n } else {\n resultAdd = sub(linear(contrlCurVal[1], 0, myLimit, key1, key5), key1);\n if (slideD !== 0) {\n easeResultY = sub(easeSwitch(contrlCurVal[1], 0, myLimit, key1, key5, slideD), key1);\n resultAdd = linear(Math.abs(slideD), 0, 100, resultAdd, easeResultY);\n }\n }\n return sum(sum(resultVal, resultAdd), sub(inputResult, key1));\n}\nfunction cosEase(val, min1, max1, input1, input2) {\n var myCos = [];\n if ($bm_isInstanceOfArray(input1)) {\n for (var x = 0; x < input1.length; x++) {\n myCos.push(getMeCos(val, min1, max1, input1[x], input2[x]));\n }\n } else {\n myCos = getMeCos(val, min1, max1, input1, input2);\n }\n return myCos;\n function getMeCos(val, min1, max1, input1, input2) {\n var mapVal = moClamp(div(val, sub(max1, min1)), 0, 1);\n var c = sub(input2, input1);\n var myCos2 = sum(sum(mul($bm_neg(c), Math.cos(mul(mapVal, div(Math.PI, 2)))), c), input1);\n return myCos2;\n }\n}\nfunction sinEase(val, min1, max1, input1, input2) {\n var mySin = [];\n if ($bm_isInstanceOfArray(input1)) {\n for (var x = 0; x < input1.length; x++) {\n mySin.push(getMeSin(val, min1, max1, input1[x], input2[x]));\n }\n } else {\n mySin = getMeSin(val, min1, max1, input1, input2);\n }\n return mySin;\n function getMeSin(val, min1, max1, input1, input2) {\n var mapVal = moClamp(div(val, sub(max1, min1)), 0, 1);\n var c = sub(input2, input1);\n var mySin2 = sum(mul(c, Math.sin(mul(mapVal, div(Math.PI, 2)))), input1);\n return mySin2;\n }\n}\nfunction easeSwitch(val, min1, max1, input1, input2, morph) {\n if (morph < 0) {\n return cosEase(val, min1, max1, input1, input2);\n } else {\n return sinEase(val, min1, max1, input1, input2);\n }\n}\nfunction unArray(inKey) {\n if (inKey instanceof Array && inKey.length === 1) {\n return inKey[0];\n } else {\n return inKey;\n }\n}\nfunction moClamp(a, b, c) {\n if (!(a instanceof Array)) {\n return Math.max(b, Math.min(c, a));\n } else {\n var aryHold = [];\n for (var x = 0; x < a.length; x++) {\n aryHold.push(Math.max(b, Math.min(c, a[x])));\n }\n return aryHold;\n }\n}"},"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":"pupil left","np":3,"cix":2,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[37.258,37.258],"ix":2},"p":{"a":0,"k":[53,-27],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.074509998396,0.141176006841,0.168626987233,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[19.266,-88.371],"ix":2,"x":"var $bm_rt;\n$bm_rt = joystick(value);\nfunction joystick(inputResult) {\n var slideR, slideL, slideU, slideD;\n var easeOverride_right = null;\n var easeOverride_left = null;\n var easeOverride_up = null;\n var easeOverride_down = null;\n var contrl = thisComp.layer('Face Rig');\n var myLimit = contrl('ADBE Effect Parade')('joystickLimit')('ADBE Slider Control-0001');\n var contrlCurVal = contrl('ADBE Transform Group')('ADBE Position');\n var resultVal;\n var key1 = [\n 19.265625,\n -88.37109375\n ];\n var key2 = [\n 52.265625,\n -88.37109375\n ];\n var key3 = [\n 12.265625,\n -88.37109375\n ];\n var key4 = [\n 19.265625,\n -120.87109375\n ];\n var key5 = [\n 19.265625,\n -77.12109375\n ];\n key1 = unArray(key1);\n key2 = unArray(key2);\n key3 = unArray(key3);\n key4 = unArray(key4);\n key5 = unArray(key5);\n try {\n if (!thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB').active) {\n throw 'inactive';\n }\n slideR = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0001');\n slideL = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0002');\n slideU = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0003');\n slideD = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0004');\n } catch (err) {\n slideR = 0;\n slideL = 0;\n slideU = 0;\n slideD = 0;\n }\n if (easeOverride_right !== null && !isNaN(easeOverride_right)) {\n slideR = moClamp(easeOverride_right, -100, 100);\n }\n if (easeOverride_left !== null && !isNaN(easeOverride_left)) {\n slideL = moClamp(easeOverride_left, -100, 100);\n }\n if (easeOverride_up !== null && !isNaN(easeOverride_up)) {\n slideU = moClamp(easeOverride_up, -100, 100);\n }\n if (easeOverride_down !== null && !isNaN(easeOverride_down)) {\n slideD = moClamp(easeOverride_down, -100, 100);\n }\n var easeResultX, easeResultY;\n if (contrlCurVal[0] >= 0) {\n resultVal = linear(contrlCurVal[0], 0, myLimit, key1, key2);\n if (slideR !== 0) {\n easeResultX = easeSwitch(contrlCurVal[0], 0, myLimit, key1, key2, slideR);\n resultVal = linear(Math.abs(slideR), 0, 100, resultVal, easeResultX);\n }\n } else {\n resultVal = linear($bm_neg(contrlCurVal[0]), 0, myLimit, key1, key3);\n if (slideL !== 0) {\n easeResultX = easeSwitch($bm_neg(contrlCurVal[0]), 0, myLimit, key1, key3, slideL);\n resultVal = linear(Math.abs(slideL), 0, 100, resultVal, easeResultX);\n }\n }\n var resultAdd = 0;\n if (contrlCurVal[1] <= 0) {\n resultAdd = sub(linear($bm_neg(contrlCurVal[1]), 0, myLimit, key1, key4), key1);\n if (slideU !== 0) {\n easeResultY = sub(easeSwitch($bm_neg(contrlCurVal[1]), 0, myLimit, key1, key4, slideU), key1);\n resultAdd = linear(Math.abs(slideU), 0, 100, resultAdd, easeResultY);\n }\n } else {\n resultAdd = sub(linear(contrlCurVal[1], 0, myLimit, key1, key5), key1);\n if (slideD !== 0) {\n easeResultY = sub(easeSwitch(contrlCurVal[1], 0, myLimit, key1, key5, slideD), key1);\n resultAdd = linear(Math.abs(slideD), 0, 100, resultAdd, easeResultY);\n }\n }\n return sum(sum(resultVal, resultAdd), sub(inputResult, key1));\n}\nfunction cosEase(val, min1, max1, input1, input2) {\n var myCos = [];\n if ($bm_isInstanceOfArray(input1)) {\n for (var x = 0; x < input1.length; x++) {\n myCos.push(getMeCos(val, min1, max1, input1[x], input2[x]));\n }\n } else {\n myCos = getMeCos(val, min1, max1, input1, input2);\n }\n return myCos;\n function getMeCos(val, min1, max1, input1, input2) {\n var mapVal = moClamp(div(val, sub(max1, min1)), 0, 1);\n var c = sub(input2, input1);\n var myCos2 = sum(sum(mul($bm_neg(c), Math.cos(mul(mapVal, div(Math.PI, 2)))), c), input1);\n return myCos2;\n }\n}\nfunction sinEase(val, min1, max1, input1, input2) {\n var mySin = [];\n if ($bm_isInstanceOfArray(input1)) {\n for (var x = 0; x < input1.length; x++) {\n mySin.push(getMeSin(val, min1, max1, input1[x], input2[x]));\n }\n } else {\n mySin = getMeSin(val, min1, max1, input1, input2);\n }\n return mySin;\n function getMeSin(val, min1, max1, input1, input2) {\n var mapVal = moClamp(div(val, sub(max1, min1)), 0, 1);\n var c = sub(input2, input1);\n var mySin2 = sum(mul(c, Math.sin(mul(mapVal, div(Math.PI, 2)))), input1);\n return mySin2;\n }\n}\nfunction easeSwitch(val, min1, max1, input1, input2, morph) {\n if (morph < 0) {\n return cosEase(val, min1, max1, input1, input2);\n } else {\n return sinEase(val, min1, max1, input1, input2);\n }\n}\nfunction unArray(inKey) {\n if (inKey instanceof Array && inKey.length === 1) {\n return inKey[0];\n } else {\n return inKey;\n }\n}\nfunction moClamp(a, b, c) {\n if (!(a instanceof Array)) {\n return Math.max(b, Math.min(c, a));\n } else {\n var aryHold = [];\n for (var x = 0; x < a.length; x++) {\n aryHold.push(Math.max(b, Math.min(c, a[x])));\n }\n return aryHold;\n }\n}"},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3,"x":"var $bm_rt;\n$bm_rt = joystick(value);\nfunction joystick(inputResult) {\n var slideR, slideL, slideU, slideD;\n var easeOverride_right = null;\n var easeOverride_left = null;\n var easeOverride_up = null;\n var easeOverride_down = null;\n var contrl = thisComp.layer('Face Rig');\n var myLimit = contrl('ADBE Effect Parade')('joystickLimit')('ADBE Slider Control-0001');\n var contrlCurVal = contrl('ADBE Transform Group')('ADBE Position');\n var resultVal;\n var key1 = [\n 100,\n 100\n ];\n var key2 = [\n 63,\n 100\n ];\n var key3 = [\n 75,\n 100\n ];\n var key4 = [\n 100,\n 80\n ];\n var key5 = [\n 100,\n 80\n ];\n key1 = unArray(key1);\n key2 = unArray(key2);\n key3 = unArray(key3);\n key4 = unArray(key4);\n key5 = unArray(key5);\n try {\n if (!thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB').active) {\n throw 'inactive';\n }\n slideR = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0001');\n slideL = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0002');\n slideU = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0003');\n slideD = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0004');\n } catch (err) {\n slideR = 0;\n slideL = 0;\n slideU = 0;\n slideD = 0;\n }\n if (easeOverride_right !== null && !isNaN(easeOverride_right)) {\n slideR = moClamp(easeOverride_right, -100, 100);\n }\n if (easeOverride_left !== null && !isNaN(easeOverride_left)) {\n slideL = moClamp(easeOverride_left, -100, 100);\n }\n if (easeOverride_up !== null && !isNaN(easeOverride_up)) {\n slideU = moClamp(easeOverride_up, -100, 100);\n }\n if (easeOverride_down !== null && !isNaN(easeOverride_down)) {\n slideD = moClamp(easeOverride_down, -100, 100);\n }\n var easeResultX, easeResultY;\n if (contrlCurVal[0] >= 0) {\n resultVal = linear(contrlCurVal[0], 0, myLimit, key1, key2);\n if (slideR !== 0) {\n easeResultX = easeSwitch(contrlCurVal[0], 0, myLimit, key1, key2, slideR);\n resultVal = linear(Math.abs(slideR), 0, 100, resultVal, easeResultX);\n }\n } else {\n resultVal = linear($bm_neg(contrlCurVal[0]), 0, myLimit, key1, key3);\n if (slideL !== 0) {\n easeResultX = easeSwitch($bm_neg(contrlCurVal[0]), 0, myLimit, key1, key3, slideL);\n resultVal = linear(Math.abs(slideL), 0, 100, resultVal, easeResultX);\n }\n }\n var resultAdd = 0;\n if (contrlCurVal[1] <= 0) {\n resultAdd = sub(linear($bm_neg(contrlCurVal[1]), 0, myLimit, key1, key4), key1);\n if (slideU !== 0) {\n easeResultY = sub(easeSwitch($bm_neg(contrlCurVal[1]), 0, myLimit, key1, key4, slideU), key1);\n resultAdd = linear(Math.abs(slideU), 0, 100, resultAdd, easeResultY);\n }\n } else {\n resultAdd = sub(linear(contrlCurVal[1], 0, myLimit, key1, key5), key1);\n if (slideD !== 0) {\n easeResultY = sub(easeSwitch(contrlCurVal[1], 0, myLimit, key1, key5, slideD), key1);\n resultAdd = linear(Math.abs(slideD), 0, 100, resultAdd, easeResultY);\n }\n }\n return sum(sum(resultVal, resultAdd), sub(inputResult, key1));\n}\nfunction cosEase(val, min1, max1, input1, input2) {\n var myCos = [];\n if ($bm_isInstanceOfArray(input1)) {\n for (var x = 0; x < input1.length; x++) {\n myCos.push(getMeCos(val, min1, max1, input1[x], input2[x]));\n }\n } else {\n myCos = getMeCos(val, min1, max1, input1, input2);\n }\n return myCos;\n function getMeCos(val, min1, max1, input1, input2) {\n var mapVal = moClamp(div(val, sub(max1, min1)), 0, 1);\n var c = sub(input2, input1);\n var myCos2 = sum(sum(mul($bm_neg(c), Math.cos(mul(mapVal, div(Math.PI, 2)))), c), input1);\n return myCos2;\n }\n}\nfunction sinEase(val, min1, max1, input1, input2) {\n var mySin = [];\n if ($bm_isInstanceOfArray(input1)) {\n for (var x = 0; x < input1.length; x++) {\n mySin.push(getMeSin(val, min1, max1, input1[x], input2[x]));\n }\n } else {\n mySin = getMeSin(val, min1, max1, input1, input2);\n }\n return mySin;\n function getMeSin(val, min1, max1, input1, input2) {\n var mapVal = moClamp(div(val, sub(max1, min1)), 0, 1);\n var c = sub(input2, input1);\n var mySin2 = sum(mul(c, Math.sin(mul(mapVal, div(Math.PI, 2)))), input1);\n return mySin2;\n }\n}\nfunction easeSwitch(val, min1, max1, input1, input2, morph) {\n if (morph < 0) {\n return cosEase(val, min1, max1, input1, input2);\n } else {\n return sinEase(val, min1, max1, input1, input2);\n }\n}\nfunction unArray(inKey) {\n if (inKey instanceof Array && inKey.length === 1) {\n return inKey[0];\n } else {\n return inKey;\n }\n}\nfunction moClamp(a, b, c) {\n if (!(a instanceof Array)) {\n return Math.max(b, Math.min(c, a));\n } else {\n var aryHold = [];\n for (var x = 0; x < a.length; x++) {\n aryHold.push(Math.max(b, Math.min(c, a[x])));\n }\n return aryHold;\n }\n}"},"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":"eye ball right","np":3,"cix":2,"ix":7,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[37.258,37.258],"ix":2},"p":{"a":0,"k":[-5,-27],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.074509998396,0.141176006841,0.168626987233,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[19.266,-88.371],"ix":2,"x":"var $bm_rt;\n$bm_rt = joystick(value);\nfunction joystick(inputResult) {\n var slideR, slideL, slideU, slideD;\n var easeOverride_right = null;\n var easeOverride_left = null;\n var easeOverride_up = null;\n var easeOverride_down = null;\n var contrl = thisComp.layer('Face Rig');\n var myLimit = contrl('ADBE Effect Parade')('joystickLimit')('ADBE Slider Control-0001');\n var contrlCurVal = contrl('ADBE Transform Group')('ADBE Position');\n var resultVal;\n var key1 = [\n 19.265625,\n -88.37109375\n ];\n var key2 = [\n 39.265625,\n -88.37109375\n ];\n var key3 = [\n 2.265625,\n -88.37109375\n ];\n var key4 = [\n 19.265625,\n -120.87109375\n ];\n var key5 = [\n 19.265625,\n -77.12109375\n ];\n key1 = unArray(key1);\n key2 = unArray(key2);\n key3 = unArray(key3);\n key4 = unArray(key4);\n key5 = unArray(key5);\n try {\n if (!thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB').active) {\n throw 'inactive';\n }\n slideR = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0001');\n slideL = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0002');\n slideU = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0003');\n slideD = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0004');\n } catch (err) {\n slideR = 0;\n slideL = 0;\n slideU = 0;\n slideD = 0;\n }\n if (easeOverride_right !== null && !isNaN(easeOverride_right)) {\n slideR = moClamp(easeOverride_right, -100, 100);\n }\n if (easeOverride_left !== null && !isNaN(easeOverride_left)) {\n slideL = moClamp(easeOverride_left, -100, 100);\n }\n if (easeOverride_up !== null && !isNaN(easeOverride_up)) {\n slideU = moClamp(easeOverride_up, -100, 100);\n }\n if (easeOverride_down !== null && !isNaN(easeOverride_down)) {\n slideD = moClamp(easeOverride_down, -100, 100);\n }\n var easeResultX, easeResultY;\n if (contrlCurVal[0] >= 0) {\n resultVal = linear(contrlCurVal[0], 0, myLimit, key1, key2);\n if (slideR !== 0) {\n easeResultX = easeSwitch(contrlCurVal[0], 0, myLimit, key1, key2, slideR);\n resultVal = linear(Math.abs(slideR), 0, 100, resultVal, easeResultX);\n }\n } else {\n resultVal = linear($bm_neg(contrlCurVal[0]), 0, myLimit, key1, key3);\n if (slideL !== 0) {\n easeResultX = easeSwitch($bm_neg(contrlCurVal[0]), 0, myLimit, key1, key3, slideL);\n resultVal = linear(Math.abs(slideL), 0, 100, resultVal, easeResultX);\n }\n }\n var resultAdd = 0;\n if (contrlCurVal[1] <= 0) {\n resultAdd = sub(linear($bm_neg(contrlCurVal[1]), 0, myLimit, key1, key4), key1);\n if (slideU !== 0) {\n easeResultY = sub(easeSwitch($bm_neg(contrlCurVal[1]), 0, myLimit, key1, key4, slideU), key1);\n resultAdd = linear(Math.abs(slideU), 0, 100, resultAdd, easeResultY);\n }\n } else {\n resultAdd = sub(linear(contrlCurVal[1], 0, myLimit, key1, key5), key1);\n if (slideD !== 0) {\n easeResultY = sub(easeSwitch(contrlCurVal[1], 0, myLimit, key1, key5, slideD), key1);\n resultAdd = linear(Math.abs(slideD), 0, 100, resultAdd, easeResultY);\n }\n }\n return sum(sum(resultVal, resultAdd), sub(inputResult, key1));\n}\nfunction cosEase(val, min1, max1, input1, input2) {\n var myCos = [];\n if ($bm_isInstanceOfArray(input1)) {\n for (var x = 0; x < input1.length; x++) {\n myCos.push(getMeCos(val, min1, max1, input1[x], input2[x]));\n }\n } else {\n myCos = getMeCos(val, min1, max1, input1, input2);\n }\n return myCos;\n function getMeCos(val, min1, max1, input1, input2) {\n var mapVal = moClamp(div(val, sub(max1, min1)), 0, 1);\n var c = sub(input2, input1);\n var myCos2 = sum(sum(mul($bm_neg(c), Math.cos(mul(mapVal, div(Math.PI, 2)))), c), input1);\n return myCos2;\n }\n}\nfunction sinEase(val, min1, max1, input1, input2) {\n var mySin = [];\n if ($bm_isInstanceOfArray(input1)) {\n for (var x = 0; x < input1.length; x++) {\n mySin.push(getMeSin(val, min1, max1, input1[x], input2[x]));\n }\n } else {\n mySin = getMeSin(val, min1, max1, input1, input2);\n }\n return mySin;\n function getMeSin(val, min1, max1, input1, input2) {\n var mapVal = moClamp(div(val, sub(max1, min1)), 0, 1);\n var c = sub(input2, input1);\n var mySin2 = sum(mul(c, Math.sin(mul(mapVal, div(Math.PI, 2)))), input1);\n return mySin2;\n }\n}\nfunction easeSwitch(val, min1, max1, input1, input2, morph) {\n if (morph < 0) {\n return cosEase(val, min1, max1, input1, input2);\n } else {\n return sinEase(val, min1, max1, input1, input2);\n }\n}\nfunction unArray(inKey) {\n if (inKey instanceof Array && inKey.length === 1) {\n return inKey[0];\n } else {\n return inKey;\n }\n}\nfunction moClamp(a, b, c) {\n if (!(a instanceof Array)) {\n return Math.max(b, Math.min(c, a));\n } else {\n var aryHold = [];\n for (var x = 0; x < a.length; x++) {\n aryHold.push(Math.max(b, Math.min(c, a[x])));\n }\n return aryHold;\n }\n}"},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3,"x":"var $bm_rt;\n$bm_rt = joystick(value);\nfunction joystick(inputResult) {\n var slideR, slideL, slideU, slideD;\n var easeOverride_right = null;\n var easeOverride_left = null;\n var easeOverride_up = null;\n var easeOverride_down = null;\n var contrl = thisComp.layer('Face Rig');\n var myLimit = contrl('ADBE Effect Parade')('joystickLimit')('ADBE Slider Control-0001');\n var contrlCurVal = contrl('ADBE Transform Group')('ADBE Position');\n var resultVal;\n var key1 = [\n 100,\n 100\n ];\n var key2 = [\n 82,\n 100\n ];\n var key3 = [\n 61,\n 100\n ];\n var key4 = [\n 100,\n 80\n ];\n var key5 = [\n 100,\n 80\n ];\n key1 = unArray(key1);\n key2 = unArray(key2);\n key3 = unArray(key3);\n key4 = unArray(key4);\n key5 = unArray(key5);\n try {\n if (!thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB').active) {\n throw 'inactive';\n }\n slideR = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0001');\n slideL = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0002');\n slideU = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0003');\n slideD = thisLayer('ADBE Effect Parade')('Pseudo/1k48264d77gIB')('Pseudo/1k48264d77gIB-0004');\n } catch (err) {\n slideR = 0;\n slideL = 0;\n slideU = 0;\n slideD = 0;\n }\n if (easeOverride_right !== null && !isNaN(easeOverride_right)) {\n slideR = moClamp(easeOverride_right, -100, 100);\n }\n if (easeOverride_left !== null && !isNaN(easeOverride_left)) {\n slideL = moClamp(easeOverride_left, -100, 100);\n }\n if (easeOverride_up !== null && !isNaN(easeOverride_up)) {\n slideU = moClamp(easeOverride_up, -100, 100);\n }\n if (easeOverride_down !== null && !isNaN(easeOverride_down)) {\n slideD = moClamp(easeOverride_down, -100, 100);\n }\n var easeResultX, easeResultY;\n if (contrlCurVal[0] >= 0) {\n resultVal = linear(contrlCurVal[0], 0, myLimit, key1, key2);\n if (slideR !== 0) {\n easeResultX = easeSwitch(contrlCurVal[0], 0, myLimit, key1, key2, slideR);\n resultVal = linear(Math.abs(slideR), 0, 100, resultVal, easeResultX);\n }\n } else {\n resultVal = linear($bm_neg(contrlCurVal[0]), 0, myLimit, key1, key3);\n if (slideL !== 0) {\n easeResultX = easeSwitch($bm_neg(contrlCurVal[0]), 0, myLimit, key1, key3, slideL);\n resultVal = linear(Math.abs(slideL), 0, 100, resultVal, easeResultX);\n }\n }\n var resultAdd = 0;\n if (contrlCurVal[1] <= 0) {\n resultAdd = sub(linear($bm_neg(contrlCurVal[1]), 0, myLimit, key1, key4), key1);\n if (slideU !== 0) {\n easeResultY = sub(easeSwitch($bm_neg(contrlCurVal[1]), 0, myLimit, key1, key4, slideU), key1);\n resultAdd = linear(Math.abs(slideU), 0, 100, resultAdd, easeResultY);\n }\n } else {\n resultAdd = sub(linear(contrlCurVal[1], 0, myLimit, key1, key5), key1);\n if (slideD !== 0) {\n easeResultY = sub(easeSwitch(contrlCurVal[1], 0, myLimit, key1, key5, slideD), key1);\n resultAdd = linear(Math.abs(slideD), 0, 100, resultAdd, easeResultY);\n }\n }\n return sum(sum(resultVal, resultAdd), sub(inputResult, key1));\n}\nfunction cosEase(val, min1, max1, input1, input2) {\n var myCos = [];\n if ($bm_isInstanceOfArray(input1)) {\n for (var x = 0; x < input1.length; x++) {\n myCos.push(getMeCos(val, min1, max1, input1[x], input2[x]));\n }\n } else {\n myCos = getMeCos(val, min1, max1, input1, input2);\n }\n return myCos;\n function getMeCos(val, min1, max1, input1, input2) {\n var mapVal = moClamp(div(val, sub(max1, min1)), 0, 1);\n var c = sub(input2, input1);\n var myCos2 = sum(sum(mul($bm_neg(c), Math.cos(mul(mapVal, div(Math.PI, 2)))), c), input1);\n return myCos2;\n }\n}\nfunction sinEase(val, min1, max1, input1, input2) {\n var mySin = [];\n if ($bm_isInstanceOfArray(input1)) {\n for (var x = 0; x < input1.length; x++) {\n mySin.push(getMeSin(val, min1, max1, input1[x], input2[x]));\n }\n } else {\n mySin = getMeSin(val, min1, max1, input1, input2);\n }\n return mySin;\n function getMeSin(val, min1, max1, input1, input2) {\n var mapVal = moClamp(div(val, sub(max1, min1)), 0, 1);\n var c = sub(input2, input1);\n var mySin2 = sum(mul(c, Math.sin(mul(mapVal, div(Math.PI, 2)))), input1);\n return mySin2;\n }\n}\nfunction easeSwitch(val, min1, max1, input1, input2, morph) {\n if (morph < 0) {\n return cosEase(val, min1, max1, input1, input2);\n } else {\n return sinEase(val, min1, max1, input1, input2);\n }\n}\nfunction unArray(inKey) {\n if (inKey instanceof Array && inKey.length === 1) {\n return inKey[0];\n } else {\n return inKey;\n }\n}\nfunction moClamp(a, b, c) {\n if (!(a instanceof Array)) {\n return Math.max(b, Math.min(c, a));\n } else {\n var aryHold = [];\n for (var x = 0; x < a.length; x++) {\n aryHold.push(Math.max(b, Math.min(c, a[x])));\n }\n return aryHold;\n }\n}"},"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":"eye ball left","np":3,"cix":2,"ix":8,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[117.273,117.273],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.074509998396,0.141176006841,0.168626987233,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.98431372549,0.498039215686,0.235294117647,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[42.637,-115.363],"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":"head","np":3,"cix":2,"ix":9,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Body","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[18,84,0],"ix":2},"a":{"a":0,"k":[-47.758,106.242,0],"ix":1},"s":{"a":0,"k":[80,80,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-46.758,233.242],[-47.258,1.242]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.219607843137,0.678431372549,0.627450980392,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-47.721,117.488],"ix":2},"a":{"a":0,"k":[-47.721,117.488],"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":"Shape 3","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[17.505,-0.028]],"o":[[0,0],[0,0],[0,0],[-17.505,0.028]],"v":[[-72.258,-19.758],[-47.258,1.492],[-19.758,-18.758],[-47.253,-22.286]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.074509998396,0.141176006841,0.168626987233,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-0.5],"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":"Shape 2","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-69.758,76.242],[-116.758,76.242],[-116.758,101.242],[-92.758,116.242],[-69.758,101.242]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.074509998396,0.141176006841,0.168626987233,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.219604716581,0.678232230392,0.62581763174,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-95.807,47.773],"ix":2},"a":{"a":0,"k":[-91.96,91.668],"ix":1},"s":{"a":0,"k":[83.641,83.641],"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":"Shape 1","np":3,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[256.484,256.484],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.074509998396,0.141176006841,0.168626987233,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.235294117647,0.78431372549,0.721568627451,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-47.758,106.242],"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":"Ellipse 1","np":3,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"Left arm 2::Wrist","hd":true,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10,"x":"var $bm_rt;\ntry {\n var parentRot = hasParent ? parentTotal() : 0;\n var rotCalc = sub(thisLayer('ADBE Root Vectors Group')('Admin')('Transform')('Rotation'), parentRot);\n $bm_rt = sum(rotCalc, value);\n} catch (err) {\n $bm_rt = value;\n}\n;\nfunction parentTotal() {\n var parentVal = 0;\n var layerChain = 'thisLayer';\n while (eval([layerChain][0]).hasParent) {\n layerChain = sum(layerChain, '.parent');\n parentVal = sum(parentVal, eval([layerChain][0]).rotation);\n }\n return parentVal;\n}"},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[595.189,372.865,0],"e":[681.676,159.27,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":9,"s":[681.676,159.27,0],"e":[681.676,210.27,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":15,"s":[681.676,210.27,0],"e":[681.676,210.27,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":21.429,"s":[681.676,210.27,0],"e":[643.622,455.892,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":26,"s":[643.622,455.892,0],"e":[595.189,320.973,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":30,"s":[595.189,320.973,0],"e":[595.189,372.865,0],"to":[0,0,0],"ti":[0,0,0]},{"t":33.0000013441176}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"RubberHose 2","np":18,"mn":"Pseudo/3bf5uID/RubberHose_2","ix":1,"en":1,"ef":[{"ty":0,"nm":"Hose Length","mn":"Pseudo/3bf5uID/RubberHose_2-0001","ix":1,"v":{"a":0,"k":280,"ix":1}},{"ty":0,"nm":"Bend Radius","mn":"Pseudo/3bf5uID/RubberHose_2-0002","ix":2,"v":{"a":0,"k":40,"ix":2}},{"ty":0,"nm":"Realism","mn":"Pseudo/3bf5uID/RubberHose_2-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Bend Direction","mn":"Pseudo/3bf5uID/RubberHose_2-0004","ix":4,"v":{"a":0,"k":-100,"ix":4}},{"ty":7,"nm":"Auto Rotate Start","mn":"Pseudo/3bf5uID/RubberHose_2-0005","ix":5,"v":{"a":0,"k":0,"ix":5}},{"ty":7,"nm":"Auto Rotate End","mn":"Pseudo/3bf5uID/RubberHose_2-0006","ix":6,"v":{"a":0,"k":1,"ix":6}},{"ty":6,"nm":"Math Stuff","mn":"Pseudo/3bf5uID/RubberHose_2-0007","ix":7,"v":0},{"ty":3,"nm":"A","mn":"Pseudo/3bf5uID/RubberHose_2-0008","ix":8,"v":{"a":0,"k":[0,0],"ix":8,"x":"var $bm_rt;\n$bm_rt = thisLayer.toComp([\n 0,\n 0,\n 0\n]);"}},{"ty":3,"nm":"B","mn":"Pseudo/3bf5uID/RubberHose_2-0009","ix":9,"v":{"a":0,"k":[0,0],"ix":9,"x":"var $bm_rt;\ntry {\n var b = thisLayer(2)('Admin')(2)('B')(2)(1)._name;\n $bm_rt = thisComp.layer(b).toComp([\n 0,\n 0,\n 0\n ]);\n} catch (err) {\n $bm_rt = value;\n}"}},{"ty":0,"nm":"Outer Radius","mn":"Pseudo/3bf5uID/RubberHose_2-0010","ix":10,"v":{"a":0,"k":0,"ix":10,"x":"var $bm_rt;\nvar a = thisLayer(4)('RubberHose 2')('A');\nvar b = thisLayer(4)('RubberHose 2')('B');\nvar s = length(a, b);\n$bm_rt = mul(Math.sin(0.78539816339), s);"}},{"ty":0,"nm":"Inner Radius","mn":"Pseudo/3bf5uID/RubberHose_2-0011","ix":11,"v":{"a":0,"k":0,"ix":11,"x":"var $bm_rt;\nvar eff = thisLayer(4)('RubberHose 2');\nvar bendRad = eff('Bend Radius');\nvar hoseLength = div(eff('Hose Length'), 2);\nvar realism = eff('Realism');\nvar bendDir = div(eff('Bend Direction'), 100);\nvar sFac = eff('Parent Scale');\nvar straight = eff('Straight');\nvar autoFlop = eff('AutoFlop');\nvar roundShrink = linear(Math.abs(bendRad), 0, 100, 1, 0.87);\nvar innerRad;\nif (hoseLength > straight) {\n innerRad = sum(straight, mul(Math.sqrt(sub(Math.pow(hoseLength, 2), Math.pow(straight, 2))), roundShrink));\n innerRad = linear(realism, 0, 100, hoseLength, innerRad);\n innerRad = linear(Math.abs(bendDir), straight, innerRad);\n} else {\n innerRad = straight;\n}\ninnerRad *= Math.abs(sFac);\ninnerRad = linear(Math.abs(autoFlop), mul(straight, Math.max(Math.abs(sFac), 0.001)), innerRad);\n$bm_rt = innerRad;"}},{"ty":0,"nm":"Straight","mn":"Pseudo/3bf5uID/RubberHose_2-0012","ix":12,"v":{"a":0,"k":0,"ix":12,"x":"var $bm_rt;\nvar sFac = thisLayer(4)('RubberHose 2')('Parent Scale');\nvar outerRad = div(thisLayer(4)('RubberHose 2')('Outer Radius'), Math.max(Math.abs(sFac), 0.001));\n;\n$bm_rt = div(mul(1.4142135623731, outerRad), 2);"}},{"ty":0,"nm":"Base Rotation","mn":"Pseudo/3bf5uID/RubberHose_2-0013","ix":13,"v":{"a":0,"k":0,"ix":13,"x":"var $bm_rt;\nvar a = thisLayer(4)('RubberHose 2')('A');\nvar b = thisLayer(4)('RubberHose 2')('B');\n$bm_rt = radiansToDegrees(Math.atan2(sub(a[1], b[1]), sub(a[0], b[0])));"}},{"ty":0,"nm":"AutoFlop","mn":"Pseudo/3bf5uID/RubberHose_2-0014","ix":14,"v":{"a":0,"k":0,"ix":14,"x":"var $bm_rt;\nvar hasAF = false, isEnabled = false, output;\ntry {\n var lyrAF = thisComp.layer(sum(thisLayer._name.split('::')[0], '::AutoFlop'));\n isEnabled = lyrAF(4)('Enable')(1);\n var falloffAngle = lyrAF(4)('Falloff')(1);\n hasAF = true;\n var a = thisLayer.toComp([\n 0,\n 0,\n 0\n ]);\n var b = thisLayer(4)('RubberHose 2')('B');\n} catch (e) {\n}\nif (hasAF && isEnabled == 1) {\n var threshRot = lyrAF('ADBE Transform Group')('ADBE Rotate Z');\n threshRot %= 360;\n var ctrlAngle = $bm_neg(radiansToDegrees(Math.atan2(sub(b[0], a[0]), sub(b[1], a[1]))));\n var offsetAngle = sub(threshRot, ctrlAngle);\n offsetAngle %= 360;\n var sign = offsetAngle > 0 && offsetAngle < 180 || offsetAngle < -180 ? -1 : 1;\n var absAngle = Math.abs(offsetAngle);\n if (absAngle > 90) {\n absAngle = Math.abs(sub(absAngle, 180));\n }\n if (absAngle > 90) {\n absAngle = Math.abs(sub(absAngle, 180));\n }\n output = linear(absAngle, 0, falloffAngle, 0, 1);\n output *= sign;\n} else {\n output = 1;\n}\n$bm_rt = output;\nfunction parentTotal() {\n var parentVal = 0;\n var layerChain = 'thisLayer';\n while (eval([layerChain][0]).hasParent) {\n layerChain = sum(layerChain, '.parent');\n parentVal = sum(parentVal, eval([layerChain][0]).rotation);\n }\n return parentVal;\n}"}},{"ty":0,"nm":"Parent Scale","mn":"Pseudo/3bf5uID/RubberHose_2-0015","ix":15,"v":{"a":0,"k":0,"ix":15,"x":"var $bm_rt;\nvar sFactor = 1;\nvar scaleNorm = 0;\nvar layerChain = 'thisLayer';\nwhile (eval([layerChain][0]).hasParent) {\n layerChain = sum(layerChain, '.parent');\n scaleNorm = div(eval(layerChain)('ADBE Transform Group')('ADBE Scale')[0], 100);\n sFactor = mul(sFactor, scaleNorm);\n}\n$bm_rt = sFactor;"}},{"ty":6,"nm":"","mn":"Pseudo/3bf5uID/RubberHose_2-0016","ix":16,"v":0}]}],"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Left arm 2::Wrist","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[135,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":"A","np":1,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[20,20],"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":"Left arm 2::Shoulder","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"B","np":1,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"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":"2.04","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false,"cl":"04"},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Version","np":1,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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,"x":"var $bm_rt;\nvar eff = thisLayer(4)('RubberHose 2');\nvar autoRotate = eff('Auto Rotate End');\nif (autoRotate == 1) {\n var a = thisLayer.toComp([\n 0,\n 0,\n 0\n ]);\n var b = eff('B');\n var s = length(a, b);\n var sFac = eff('Parent Scale');\n var autoFlop = 1;\n var realism = eff('Realism');\n var bendDir = div(eff('Bend Direction'), 100);\n var hoseLength = div(eff('Hose Length'), 2);\n var bendRad = eff('Bend Radius');\n var autoFlop = eff('AutoFlop');\n var baseRot = $bm_neg(radiansToDegrees(Math.atan2(sub(b[0], a[0]), sub(b[1], a[1]))));\n var outerRad = mul(Math.sin(0.78539816339), s);\n var straight = div(mul(1.4142135623731, outerRad), 2);\n straight /= Math.max(Math.abs(sFac), 0.001);\n var roundShrink = linear(Math.abs(bendRad), 0, 100, 1, 0.87);\n var innerRad;\n if (hoseLength > straight) {\n innerRad = sum(straight, mul(Math.sqrt(sub(Math.pow(hoseLength, 2), Math.pow(straight, 2))), roundShrink));\n innerRad = linear(realism, 0, 100, hoseLength, innerRad);\n innerRad = linear(Math.abs(bendDir), straight, innerRad);\n } else {\n innerRad = straight;\n }\n innerRad = linear(Math.abs(autoFlop), straight, innerRad);\n var flopDir = 1;\n if (bendDir < 0) {\n flopDir = -1;\n }\n flopDir *= autoFlop;\n var opp = mul(sub(innerRad, straight), flopDir);\n var theta = Math.atan(div(opp, Math.max(straight, 0.001)));\n var bendAngle = radiansToDegrees(theta);\n if (sFac < 0) {\n baseRot *= -1;\n }\n bendRad *= div(div(theta, $bm_neg(Math.PI)), linear(s, hoseLength, 0, 2, 0.9));\n var rotCalc = sub(sum(baseRot, bendAngle), bendRad);\n $bm_rt = rotCalc;\n} else {\n $bm_rt = value;\n}\n;"},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Admin","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[100,100],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Circle","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-75,0],[75,0]],"c":false},"ix":2},"nm":"01","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0,-30],[0,30]],"c":false},"ix":2},"nm":"02","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[15,15],"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":"ControlShape","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,0.560000002384,0,1],"ix":3,"x":"var $bm_rt;\nif (thisLayer.active) {\n try {\n var eff = thisLayer(4)('RubberHose 2');\n var a = thisLayer.toComp([\n 0,\n 0,\n 0\n ]);\n var b = eff('B');\n var straight = eff('Straight');\n var hoseLength = div(eff('Hose Length'), 2);\n if (straight > hoseLength) {\n $bm_rt = [\n 0.51,\n 0.83,\n 0.98,\n 1\n ];\n } else {\n $bm_rt = value;\n }\n } catch (err) {\n $bm_rt = value;\n }\n} else {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Control Point","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"Left arm 2::Shoulder","parent":7,"hd":true,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10,"x":"var $bm_rt;\ntry {\n var parentRot = hasParent ? parentTotal() : 0;\n var rotCalc = sub(thisLayer('ADBE Root Vectors Group')('Admin')('Transform')('Rotation'), parentRot);\n $bm_rt = sum(rotCalc, value);\n} catch (err) {\n $bm_rt = value;\n}\n;\nfunction parentTotal() {\n var parentVal = 0;\n var layerChain = 'thisLayer';\n while (eval([layerChain][0]).hasParent) {\n layerChain = sum(layerChain, '.parent');\n parentVal = sum(parentVal, eval([layerChain][0]).rotation);\n }\n return parentVal;\n}"},"p":{"a":0,"k":[9.742,3.742,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Left arm 2::Wrist","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[135,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":"A","np":1,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[20,20],"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":"Left arm 2::Shoulder","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"B","np":1,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"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":"2.04","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false,"cl":"04"},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Version","np":1,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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,"x":"var $bm_rt;\ntry {\n var eff = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n var autoRotate = eff('Auto Rotate Start');\n if (autoRotate == 1) {\n var a = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name).toComp([\n 0,\n 0,\n 0\n ]);\n var b = thisLayer.toComp([\n 0,\n 0,\n 0\n ]);\n var s = length(a, b);\n var sFac = eff('Parent Scale');\n var autoFlop = 1;\n var realism = eff('Realism');\n var bendDir = div(eff('Bend Direction'), 100);\n var hoseLength = div(eff('Hose Length'), 2);\n var bendRad = eff('Bend Radius');\n var autoFlop = eff('AutoFlop');\n var baseRot = $bm_neg(radiansToDegrees(Math.atan2(sub(b[0], a[0]), sub(b[1], a[1]))));\n var outerRad = mul(Math.sin(0.78539816339), s);\n var straight = div(mul(1.4142135623731, outerRad), 2);\n straight /= Math.max(Math.abs(sFac), 0.001);\n var roundShrink = linear(Math.abs(bendRad), 0, 100, 1, 0.87);\n var innerRad;\n if (straight <= hoseLength) {\n innerRad = sum(straight, mul(Math.sqrt(sub(Math.pow(hoseLength, 2), Math.pow(straight, 2))), roundShrink));\n innerRad = linear(realism, 0, 100, hoseLength, innerRad);\n innerRad = linear(Math.abs(bendDir), straight, innerRad);\n } else {\n innerRad = straight;\n }\n innerRad = linear(Math.abs(autoFlop), straight, innerRad);\n var flopDir = 1;\n if (bendDir < 0) {\n flopDir = -1;\n }\n flopDir *= autoFlop;\n var opp = mul(sub(innerRad, straight), flopDir);\n var theta = Math.atan(div(opp, Math.max(straight, 0.001)));\n var bendAngle = radiansToDegrees(theta);\n if (sFac < 0) {\n baseRot *= -1;\n }\n bendRad *= div(div(theta, $bm_neg(Math.PI)), linear(s, hoseLength, 0, 2, 0.9));\n var rotCalc = sum(sub(baseRot, bendAngle), bendRad);\n $bm_rt = rotCalc;\n } else {\n $bm_rt = 0;\n }\n ;\n} catch (err) {\n $bm_rt = value;\n}\n;"},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Admin","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[100,100],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Circle","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-75,0],[75,0]],"c":false},"ix":2},"nm":"01","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0,-30],[0,30]],"c":false},"ix":2},"nm":"02","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[15,15],"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":"ControlShape","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,0.560000002384,0,1],"ix":3,"x":"var $bm_rt;\ntry {\n var ctrl = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name);\n $bm_rt = ctrl(2)('Control Point')(2)('Stroke 1')('Color');\n} catch (e) {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Control Point","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"Left arm 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10,"x":"var $bm_rt;\nvar r = 0;\nif (thisLayer.hasParent) {\n r = $bm_neg(parentTotal());\n}\n$bm_rt = r;\nfunction parentTotal() {\n var parentVal = 0;\n var layerChain = 'thisLayer';\n while (eval([layerChain][0]).hasParent) {\n layerChain = sum(layerChain, '.parent');\n parentVal = sum(parentVal, eval([layerChain][0]).rotation);\n }\n return parentVal;\n}"},"p":{"a":0,"k":[820,500,0],"ix":2,"x":"var $bm_rt;\nvar p = [\n 0,\n 0\n ];\ntry {\n if (thisLayer.hasParent) {\n p = parent.fromComp([\n 0,\n 0,\n 0\n ]);\n }\n $bm_rt = p;\n} catch (err) {\n $bm_rt = p;\n}"},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6,"x":"var $bm_rt;\nvar s = [\n 100,\n 100\n ];\nif (hasParent) {\n var sFactor = parentTotal();\n s = [\n s[0] * sFactor[0],\n s[1] * sFactor[1]\n ];\n}\n$bm_rt = s;\nfunction parentTotal() {\n var sFactor = [\n 1,\n 1\n ];\n var scaleNorm = [\n 0,\n 0\n ];\n var layerChain = 'thisLayer';\n while (eval([layerChain][0]).hasParent) {\n layerChain = sum(layerChain, '.parent');\n scaleNorm = eval([layerChain][0]).scale;\n if (scaleNorm[0] != 0 && scaleNorm[1] != 0) {\n scaleNorm = [\n 100 / scaleNorm[0],\n 100 / scaleNorm[1]\n ];\n }\n sFactor = [\n sFactor[0] * scaleNorm[0],\n sFactor[1] * scaleNorm[1]\n ];\n }\n return sFactor;\n}"}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sr","sy":1,"d":1,"pt":{"a":0,"k":4,"ix":3},"p":{"a":0,"k":[0,0],"ix":4},"r":{"a":0,"k":0,"ix":5},"ir":{"a":0,"k":500,"ix":6,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"is":{"a":0,"k":0,"ix":8,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"or":{"a":0,"k":113,"ix":7,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"os":{"a":0,"k":0,"ix":9,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"ix":1,"nm":"LineForCurve","mn":"ADBE Vector Shape - Star","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"e":{"a":0,"k":0,"ix":2,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"o":{"a":0,"k":-90,"ix":3,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"m":1,"ix":2,"nm":"Line Halfer","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"a":{"a":0,"k":[0,0],"ix":1,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"s":{"a":0,"k":[100,100],"ix":3,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"r":{"a":0,"k":45,"ix":6,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"o":{"a":0,"k":100,"ix":7,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"sk":{"a":0,"k":0,"ix":4,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"sa":{"a":0,"k":0,"ix":5,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"nm":"Transform"}],"nm":"Arc","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":67,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.98431372549,0.498039215686,0.235294117647,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":28,"ix":5,"x":"var $bm_rt;\nvar sFac = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2')('Parent Scale');\n$bm_rt = mul(value, sFac);"},"lc":2,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\ntry {\n var ctrl = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n $bm_rt = ctrl('A');\n} catch (err) {\n $bm_rt = value;\n}"},"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":"hand","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sr","sy":1,"d":1,"pt":{"a":0,"k":4,"ix":3},"p":{"a":0,"k":[0,0],"ix":4},"r":{"a":0,"k":0,"ix":5},"ir":{"a":0,"k":500,"ix":6,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"is":{"a":0,"k":0,"ix":8,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"or":{"a":0,"k":113,"ix":7,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"os":{"a":0,"k":0,"ix":9,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"ix":1,"nm":"LineForCurve","mn":"ADBE Vector Shape - Star","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"e":{"a":0,"k":0,"ix":2,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"o":{"a":0,"k":-90,"ix":3,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"m":1,"ix":2,"nm":"Line Halfer","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"a":{"a":0,"k":[0,0],"ix":1,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"s":{"a":0,"k":[100,100],"ix":3,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"r":{"a":0,"k":45,"ix":6,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"o":{"a":0,"k":100,"ix":7,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"sk":{"a":0,"k":0,"ix":4,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"sa":{"a":0,"k":0,"ix":5,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"nm":"Transform"}],"nm":"Arc","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.235294117647,0.78431372549,0.721568627451,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":28,"ix":5,"x":"var $bm_rt;\nvar sFac = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2')('Parent Scale');\n$bm_rt = mul(value, sFac);"},"lc":2,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\ntry {\n var ctrl = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n $bm_rt = ctrl('A');\n} catch (err) {\n $bm_rt = value;\n}"},"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":"BaseHose","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Style","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Left arm 2::Wrist","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[135,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":"A","np":1,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[200,200],"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":"Left arm 2::Shoulder","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"B","np":1,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"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":"2.04","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false,"cl":"04"},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Version","np":1,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"sr","sy":1,"d":1,"pt":{"a":0,"k":4,"ix":3},"p":{"a":0,"k":[0,0],"ix":4},"r":{"a":0,"k":0,"ix":5},"ir":{"a":0,"k":200,"ix":6,"x":"var $bm_rt;\ntry {\n var ctrl = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n $bm_rt = ctrl('Inner Radius');\n} catch (err) {\n $bm_rt = value;\n}"},"is":{"a":0,"k":100,"ix":8,"x":"var $bm_rt;\ntry {\n var ctrl = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n $bm_rt = ctrl('Bend Radius');\n} catch (err) {\n $bm_rt = value;\n}"},"or":{"a":0,"k":200,"ix":7,"x":"var $bm_rt;\ntry {\n var ctrl = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n $bm_rt = ctrl('Outer Radius');\n} catch (err) {\n $bm_rt = value;\n}"},"os":{"a":0,"k":0,"ix":9},"ix":1,"nm":"LineForCurve","mn":"ADBE Vector Shape - Star","hd":false},{"ty":"tm","s":{"a":0,"k":0.01,"ix":1},"e":{"a":0,"k":24.99,"ix":2},"o":{"a":0,"k":-90,"ix":3,"x":"var $bm_rt;\n$bm_rt = -90;"},"m":1,"ix":2,"nm":"Line Halfer","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1,"x":"var $bm_rt;\nvar s = thisProperty.propertyGroup(2)(2)(1)(7);\n$bm_rt = [\n -s,\n 0\n];"},"s":{"a":0,"k":[100,100],"ix":3,"x":"var $bm_rt;\nvar flop;\ntry {\n var eff = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n var bendDir = eff('Bend Direction');\n var autoFlop = eff('AutoFlop');\n flop = bendDir > 0 ? 1 : -1;\n autoFlop > 0 ? 0 : flop *= -1;\n var s = flop == 1 ? [\n -100,\n 100\n ] : [\n 100,\n 100\n ];\n if (eff('Parent Scale') < 0) {\n s = [\n -s[0],\n s[1]\n ];\n }\n $bm_rt = s;\n} catch (err) {\n $bm_rt = value;\n}\n;"},"r":{"a":0,"k":45,"ix":6,"x":"var $bm_rt;\ntry {\n var ctrl = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n var baseRot = ctrl('Base Rotation');\n var flop = content('Admin').content('ArcMath').transform.scale[0];\n var rotOffset = flop < 0 ? -45 : 225;\n $bm_rt = sum(baseRot, rotOffset);\n} catch (err) {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"ArcMath","np":2,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\ntry {\n var ctrl = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n $bm_rt = ctrl('A');\n} catch (err) {\n $bm_rt = value;\n}"},"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":"Admin","np":4,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"Left arm::Wrist","hd":true,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10,"x":"var $bm_rt;\ntry {\n var parentRot = hasParent ? parentTotal() : 0;\n var rotCalc = sub(thisLayer('ADBE Root Vectors Group')('Admin')('Transform')('Rotation'), parentRot);\n $bm_rt = sum(rotCalc, value);\n} catch (err) {\n $bm_rt = value;\n}\n;\nfunction parentTotal() {\n var parentVal = 0;\n var layerChain = 'thisLayer';\n while (eval([layerChain][0]).hasParent) {\n layerChain = sum(layerChain, '.parent');\n parentVal = sum(parentVal, eval([layerChain][0]).rotation);\n }\n return parentVal;\n}"},"p":{"a":1,"k":[{"i":{"x":0.5,"y":1},"o":{"x":0.167,"y":0},"n":"0p5_1_0p167_0","t":0,"s":[289.865,231.541,0],"e":[383.73,370.27,0],"to":[0,0,0],"ti":[-34.270263671875,-2.729736328125,0]},{"i":{"x":0.5,"y":1},"o":{"x":0.167,"y":0.138},"n":"0p5_1_0p167_0p138","t":7,"s":[383.73,370.27,0],"e":[410.73,340.27,0],"to":[34.270263671875,2.729736328125,0],"ti":[0,0,0]},{"i":{"x":0.5,"y":1},"o":{"x":0.167,"y":0},"n":"0p5_1_0p167_0","t":12,"s":[410.73,340.27,0],"e":[419.73,352.27,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.5,"y":0.5},"o":{"x":0.167,"y":0.167},"n":"0p5_0p5_0p167_0p167","t":17,"s":[419.73,352.27,0],"e":[419.73,352.27,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.5,"y":1},"o":{"x":0.167,"y":0},"n":"0p5_1_0p167_0","t":20.273,"s":[419.73,352.27,0],"e":[357.459,456.054,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.5,"y":1},"o":{"x":0.167,"y":0},"n":"0p5_1_0p167_0","t":26,"s":[357.459,456.054,0],"e":[324.459,145.054,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.5,"y":1},"o":{"x":0.167,"y":0},"n":"0p5_1_0p167_0","t":31,"s":[324.459,145.054,0],"e":[289.865,231.541,0],"to":[0,0,0],"ti":[0,0,0]},{"t":35.0000014255792}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"RubberHose 2","np":18,"mn":"Pseudo/3bf5uID/RubberHose_2","ix":1,"en":1,"ef":[{"ty":0,"nm":"Hose Length","mn":"Pseudo/3bf5uID/RubberHose_2-0001","ix":1,"v":{"a":0,"k":280,"ix":1}},{"ty":0,"nm":"Bend Radius","mn":"Pseudo/3bf5uID/RubberHose_2-0002","ix":2,"v":{"a":0,"k":40,"ix":2}},{"ty":0,"nm":"Realism","mn":"Pseudo/3bf5uID/RubberHose_2-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Bend Direction","mn":"Pseudo/3bf5uID/RubberHose_2-0004","ix":4,"v":{"a":0,"k":100,"ix":4}},{"ty":7,"nm":"Auto Rotate Start","mn":"Pseudo/3bf5uID/RubberHose_2-0005","ix":5,"v":{"a":0,"k":0,"ix":5}},{"ty":7,"nm":"Auto Rotate End","mn":"Pseudo/3bf5uID/RubberHose_2-0006","ix":6,"v":{"a":0,"k":1,"ix":6}},{"ty":6,"nm":"Math Stuff","mn":"Pseudo/3bf5uID/RubberHose_2-0007","ix":7,"v":0},{"ty":3,"nm":"A","mn":"Pseudo/3bf5uID/RubberHose_2-0008","ix":8,"v":{"a":0,"k":[0,0],"ix":8,"x":"var $bm_rt;\n$bm_rt = thisLayer.toComp([\n 0,\n 0,\n 0\n]);"}},{"ty":3,"nm":"B","mn":"Pseudo/3bf5uID/RubberHose_2-0009","ix":9,"v":{"a":0,"k":[0,0],"ix":9,"x":"var $bm_rt;\ntry {\n var b = thisLayer(2)('Admin')(2)('B')(2)(1)._name;\n $bm_rt = thisComp.layer(b).toComp([\n 0,\n 0,\n 0\n ]);\n} catch (err) {\n $bm_rt = value;\n}"}},{"ty":0,"nm":"Outer Radius","mn":"Pseudo/3bf5uID/RubberHose_2-0010","ix":10,"v":{"a":0,"k":0,"ix":10,"x":"var $bm_rt;\nvar a = thisLayer(4)('RubberHose 2')('A');\nvar b = thisLayer(4)('RubberHose 2')('B');\nvar s = length(a, b);\n$bm_rt = mul(Math.sin(0.78539816339), s);"}},{"ty":0,"nm":"Inner Radius","mn":"Pseudo/3bf5uID/RubberHose_2-0011","ix":11,"v":{"a":0,"k":0,"ix":11,"x":"var $bm_rt;\nvar eff = thisLayer(4)('RubberHose 2');\nvar bendRad = eff('Bend Radius');\nvar hoseLength = div(eff('Hose Length'), 2);\nvar realism = eff('Realism');\nvar bendDir = div(eff('Bend Direction'), 100);\nvar sFac = eff('Parent Scale');\nvar straight = eff('Straight');\nvar autoFlop = eff('AutoFlop');\nvar roundShrink = linear(Math.abs(bendRad), 0, 100, 1, 0.87);\nvar innerRad;\nif (hoseLength > straight) {\n innerRad = sum(straight, mul(Math.sqrt(sub(Math.pow(hoseLength, 2), Math.pow(straight, 2))), roundShrink));\n innerRad = linear(realism, 0, 100, hoseLength, innerRad);\n innerRad = linear(Math.abs(bendDir), straight, innerRad);\n} else {\n innerRad = straight;\n}\ninnerRad *= Math.abs(sFac);\ninnerRad = linear(Math.abs(autoFlop), mul(straight, Math.max(Math.abs(sFac), 0.001)), innerRad);\n$bm_rt = innerRad;"}},{"ty":0,"nm":"Straight","mn":"Pseudo/3bf5uID/RubberHose_2-0012","ix":12,"v":{"a":0,"k":0,"ix":12,"x":"var $bm_rt;\nvar sFac = thisLayer(4)('RubberHose 2')('Parent Scale');\nvar outerRad = div(thisLayer(4)('RubberHose 2')('Outer Radius'), Math.max(Math.abs(sFac), 0.001));\n;\n$bm_rt = div(mul(1.4142135623731, outerRad), 2);"}},{"ty":0,"nm":"Base Rotation","mn":"Pseudo/3bf5uID/RubberHose_2-0013","ix":13,"v":{"a":0,"k":0,"ix":13,"x":"var $bm_rt;\nvar a = thisLayer(4)('RubberHose 2')('A');\nvar b = thisLayer(4)('RubberHose 2')('B');\n$bm_rt = radiansToDegrees(Math.atan2(sub(a[1], b[1]), sub(a[0], b[0])));"}},{"ty":0,"nm":"AutoFlop","mn":"Pseudo/3bf5uID/RubberHose_2-0014","ix":14,"v":{"a":0,"k":0,"ix":14,"x":"var $bm_rt;\nvar hasAF = false, isEnabled = false, output;\ntry {\n var lyrAF = thisComp.layer(sum(thisLayer._name.split('::')[0], '::AutoFlop'));\n isEnabled = lyrAF(4)('Enable')(1);\n var falloffAngle = lyrAF(4)('Falloff')(1);\n hasAF = true;\n var a = thisLayer.toComp([\n 0,\n 0,\n 0\n ]);\n var b = thisLayer(4)('RubberHose 2')('B');\n} catch (e) {\n}\nif (hasAF && isEnabled == 1) {\n var threshRot = lyrAF('ADBE Transform Group')('ADBE Rotate Z');\n threshRot %= 360;\n var ctrlAngle = $bm_neg(radiansToDegrees(Math.atan2(sub(b[0], a[0]), sub(b[1], a[1]))));\n var offsetAngle = sub(threshRot, ctrlAngle);\n offsetAngle %= 360;\n var sign = offsetAngle > 0 && offsetAngle < 180 || offsetAngle < -180 ? -1 : 1;\n var absAngle = Math.abs(offsetAngle);\n if (absAngle > 90) {\n absAngle = Math.abs(sub(absAngle, 180));\n }\n if (absAngle > 90) {\n absAngle = Math.abs(sub(absAngle, 180));\n }\n output = linear(absAngle, 0, falloffAngle, 0, 1);\n output *= sign;\n} else {\n output = 1;\n}\n$bm_rt = output;\nfunction parentTotal() {\n var parentVal = 0;\n var layerChain = 'thisLayer';\n while (eval([layerChain][0]).hasParent) {\n layerChain = sum(layerChain, '.parent');\n parentVal = sum(parentVal, eval([layerChain][0]).rotation);\n }\n return parentVal;\n}"}},{"ty":0,"nm":"Parent Scale","mn":"Pseudo/3bf5uID/RubberHose_2-0015","ix":15,"v":{"a":0,"k":0,"ix":15,"x":"var $bm_rt;\nvar sFactor = 1;\nvar scaleNorm = 0;\nvar layerChain = 'thisLayer';\nwhile (eval([layerChain][0]).hasParent) {\n layerChain = sum(layerChain, '.parent');\n scaleNorm = div(eval(layerChain)('ADBE Transform Group')('ADBE Scale')[0], 100);\n sFactor = mul(sFactor, scaleNorm);\n}\n$bm_rt = sFactor;"}},{"ty":6,"nm":"","mn":"Pseudo/3bf5uID/RubberHose_2-0016","ix":16,"v":0}]}],"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Left arm::Wrist","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[135,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":"A","np":1,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[20,20],"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":"Left arm::Shoulder","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"B","np":1,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"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":"2.04","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false,"cl":"04"},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Version","np":1,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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,"x":"var $bm_rt;\nvar eff = thisLayer(4)('RubberHose 2');\nvar autoRotate = eff('Auto Rotate End');\nif (autoRotate == 1) {\n var a = thisLayer.toComp([\n 0,\n 0,\n 0\n ]);\n var b = eff('B');\n var s = length(a, b);\n var sFac = eff('Parent Scale');\n var autoFlop = 1;\n var realism = eff('Realism');\n var bendDir = div(eff('Bend Direction'), 100);\n var hoseLength = div(eff('Hose Length'), 2);\n var bendRad = eff('Bend Radius');\n var autoFlop = eff('AutoFlop');\n var baseRot = $bm_neg(radiansToDegrees(Math.atan2(sub(b[0], a[0]), sub(b[1], a[1]))));\n var outerRad = mul(Math.sin(0.78539816339), s);\n var straight = div(mul(1.4142135623731, outerRad), 2);\n straight /= Math.max(Math.abs(sFac), 0.001);\n var roundShrink = linear(Math.abs(bendRad), 0, 100, 1, 0.87);\n var innerRad;\n if (hoseLength > straight) {\n innerRad = sum(straight, mul(Math.sqrt(sub(Math.pow(hoseLength, 2), Math.pow(straight, 2))), roundShrink));\n innerRad = linear(realism, 0, 100, hoseLength, innerRad);\n innerRad = linear(Math.abs(bendDir), straight, innerRad);\n } else {\n innerRad = straight;\n }\n innerRad = linear(Math.abs(autoFlop), straight, innerRad);\n var flopDir = 1;\n if (bendDir < 0) {\n flopDir = -1;\n }\n flopDir *= autoFlop;\n var opp = mul(sub(innerRad, straight), flopDir);\n var theta = Math.atan(div(opp, Math.max(straight, 0.001)));\n var bendAngle = radiansToDegrees(theta);\n if (sFac < 0) {\n baseRot *= -1;\n }\n bendRad *= div(div(theta, $bm_neg(Math.PI)), linear(s, hoseLength, 0, 2, 0.9));\n var rotCalc = sub(sum(baseRot, bendAngle), bendRad);\n $bm_rt = rotCalc;\n} else {\n $bm_rt = value;\n}\n;"},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Admin","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[100,100],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Circle","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-75,0],[75,0]],"c":false},"ix":2},"nm":"01","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0,-30],[0,30]],"c":false},"ix":2},"nm":"02","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[15,15],"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":"ControlShape","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,0.560000002384,0,1],"ix":3,"x":"var $bm_rt;\nif (thisLayer.active) {\n try {\n var eff = thisLayer(4)('RubberHose 2');\n var a = thisLayer.toComp([\n 0,\n 0,\n 0\n ]);\n var b = eff('B');\n var straight = eff('Straight');\n var hoseLength = div(eff('Hose Length'), 2);\n if (straight > hoseLength) {\n $bm_rt = [\n 0.51,\n 0.83,\n 0.98,\n 1\n ];\n } else {\n $bm_rt = value;\n }\n } catch (err) {\n $bm_rt = value;\n }\n} else {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Control Point","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"Left arm::Shoulder","parent":7,"hd":true,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10,"x":"var $bm_rt;\ntry {\n var parentRot = hasParent ? parentTotal() : 0;\n var rotCalc = sub(thisLayer('ADBE Root Vectors Group')('Admin')('Transform')('Rotation'), parentRot);\n $bm_rt = sum(rotCalc, value);\n} catch (err) {\n $bm_rt = value;\n}\n;\nfunction parentTotal() {\n var parentVal = 0;\n var layerChain = 'thisLayer';\n while (eval([layerChain][0]).hasParent) {\n layerChain = sum(layerChain, '.parent');\n parentVal = sum(parentVal, eval([layerChain][0]).rotation);\n }\n return parentVal;\n}"},"p":{"a":0,"k":[-107.758,1.242,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Left arm::Wrist","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[135,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":"A","np":1,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[20,20],"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":"Left arm::Shoulder","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"B","np":1,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"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":"2.04","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false,"cl":"04"},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Version","np":1,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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,"x":"var $bm_rt;\ntry {\n var eff = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n var autoRotate = eff('Auto Rotate Start');\n if (autoRotate == 1) {\n var a = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name).toComp([\n 0,\n 0,\n 0\n ]);\n var b = thisLayer.toComp([\n 0,\n 0,\n 0\n ]);\n var s = length(a, b);\n var sFac = eff('Parent Scale');\n var autoFlop = 1;\n var realism = eff('Realism');\n var bendDir = div(eff('Bend Direction'), 100);\n var hoseLength = div(eff('Hose Length'), 2);\n var bendRad = eff('Bend Radius');\n var autoFlop = eff('AutoFlop');\n var baseRot = $bm_neg(radiansToDegrees(Math.atan2(sub(b[0], a[0]), sub(b[1], a[1]))));\n var outerRad = mul(Math.sin(0.78539816339), s);\n var straight = div(mul(1.4142135623731, outerRad), 2);\n straight /= Math.max(Math.abs(sFac), 0.001);\n var roundShrink = linear(Math.abs(bendRad), 0, 100, 1, 0.87);\n var innerRad;\n if (straight <= hoseLength) {\n innerRad = sum(straight, mul(Math.sqrt(sub(Math.pow(hoseLength, 2), Math.pow(straight, 2))), roundShrink));\n innerRad = linear(realism, 0, 100, hoseLength, innerRad);\n innerRad = linear(Math.abs(bendDir), straight, innerRad);\n } else {\n innerRad = straight;\n }\n innerRad = linear(Math.abs(autoFlop), straight, innerRad);\n var flopDir = 1;\n if (bendDir < 0) {\n flopDir = -1;\n }\n flopDir *= autoFlop;\n var opp = mul(sub(innerRad, straight), flopDir);\n var theta = Math.atan(div(opp, Math.max(straight, 0.001)));\n var bendAngle = radiansToDegrees(theta);\n if (sFac < 0) {\n baseRot *= -1;\n }\n bendRad *= div(div(theta, $bm_neg(Math.PI)), linear(s, hoseLength, 0, 2, 0.9));\n var rotCalc = sum(sub(baseRot, bendAngle), bendRad);\n $bm_rt = rotCalc;\n } else {\n $bm_rt = 0;\n }\n ;\n} catch (err) {\n $bm_rt = value;\n}\n;"},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Admin","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[100,100],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Circle","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-75,0],[75,0]],"c":false},"ix":2},"nm":"01","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0,-30],[0,30]],"c":false},"ix":2},"nm":"02","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[15,15],"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":"ControlShape","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,0.560000002384,0,1],"ix":3,"x":"var $bm_rt;\ntry {\n var ctrl = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name);\n $bm_rt = ctrl(2)('Control Point')(2)('Stroke 1')('Color');\n} catch (e) {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Control Point","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"Left arm","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10,"x":"var $bm_rt;\nvar r = 0;\nif (thisLayer.hasParent) {\n r = $bm_neg(parentTotal());\n}\n$bm_rt = r;\nfunction parentTotal() {\n var parentVal = 0;\n var layerChain = 'thisLayer';\n while (eval([layerChain][0]).hasParent) {\n layerChain = sum(layerChain, '.parent');\n parentVal = sum(parentVal, eval([layerChain][0]).rotation);\n }\n return parentVal;\n}"},"p":{"a":0,"k":[425,500,0],"ix":2,"x":"var $bm_rt;\nvar p = [\n 0,\n 0\n ];\ntry {\n if (thisLayer.hasParent) {\n p = parent.fromComp([\n 0,\n 0,\n 0\n ]);\n }\n $bm_rt = p;\n} catch (err) {\n $bm_rt = p;\n}"},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6,"x":"var $bm_rt;\nvar s = [\n 100,\n 100\n ];\nif (hasParent) {\n var sFactor = parentTotal();\n s = [\n s[0] * sFactor[0],\n s[1] * sFactor[1]\n ];\n}\n$bm_rt = s;\nfunction parentTotal() {\n var sFactor = [\n 1,\n 1\n ];\n var scaleNorm = [\n 0,\n 0\n ];\n var layerChain = 'thisLayer';\n while (eval([layerChain][0]).hasParent) {\n layerChain = sum(layerChain, '.parent');\n scaleNorm = eval([layerChain][0]).scale;\n if (scaleNorm[0] != 0 && scaleNorm[1] != 0) {\n scaleNorm = [\n 100 / scaleNorm[0],\n 100 / scaleNorm[1]\n ];\n }\n sFactor = [\n sFactor[0] * scaleNorm[0],\n sFactor[1] * scaleNorm[1]\n ];\n }\n return sFactor;\n}"}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sr","sy":1,"d":1,"pt":{"a":0,"k":4,"ix":3},"p":{"a":0,"k":[0,0],"ix":4},"r":{"a":0,"k":0,"ix":5},"ir":{"a":0,"k":500,"ix":6,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"is":{"a":0,"k":0,"ix":8,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"or":{"a":0,"k":113,"ix":7,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"os":{"a":0,"k":0,"ix":9,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"ix":1,"nm":"LineForCurve","mn":"ADBE Vector Shape - Star","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"e":{"a":0,"k":0,"ix":2,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"o":{"a":0,"k":-90,"ix":3,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"m":1,"ix":2,"nm":"Line Halfer","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"a":{"a":0,"k":[0,0],"ix":1,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"s":{"a":0,"k":[100,100],"ix":3,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"r":{"a":0,"k":45,"ix":6,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"o":{"a":0,"k":100,"ix":7,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"sk":{"a":0,"k":0,"ix":4,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"sa":{"a":0,"k":0,"ix":5,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"nm":"Transform"}],"nm":"Arc","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":67,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.98431372549,0.498039215686,0.235294117647,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":28,"ix":5,"x":"var $bm_rt;\nvar sFac = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2')('Parent Scale');\n$bm_rt = mul(value, sFac);"},"lc":2,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\ntry {\n var ctrl = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n $bm_rt = ctrl('A');\n} catch (err) {\n $bm_rt = value;\n}"},"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":"hand","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sr","sy":1,"d":1,"pt":{"a":0,"k":4,"ix":3},"p":{"a":0,"k":[0,0],"ix":4},"r":{"a":0,"k":0,"ix":5},"ir":{"a":0,"k":500,"ix":6,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"is":{"a":0,"k":0,"ix":8,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"or":{"a":0,"k":113,"ix":7,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"os":{"a":0,"k":0,"ix":9,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"ix":1,"nm":"LineForCurve","mn":"ADBE Vector Shape - Star","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"e":{"a":0,"k":0,"ix":2,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"o":{"a":0,"k":-90,"ix":3,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"m":1,"ix":2,"nm":"Line Halfer","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"a":{"a":0,"k":[0,0],"ix":1,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"s":{"a":0,"k":[100,100],"ix":3,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"r":{"a":0,"k":45,"ix":6,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"o":{"a":0,"k":100,"ix":7,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"sk":{"a":0,"k":0,"ix":4,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"sa":{"a":0,"k":0,"ix":5,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"nm":"Transform"}],"nm":"Arc","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.235294117647,0.78431372549,0.721568627451,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":28,"ix":5,"x":"var $bm_rt;\nvar sFac = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2')('Parent Scale');\n$bm_rt = mul(value, sFac);"},"lc":2,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\ntry {\n var ctrl = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n $bm_rt = ctrl('A');\n} catch (err) {\n $bm_rt = value;\n}"},"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":"BaseHose","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Style","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Left arm::Wrist","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[135,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":"A","np":1,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[200,200],"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":"Left arm::Shoulder","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"B","np":1,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"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":"2.04","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false,"cl":"04"},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Version","np":1,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"sr","sy":1,"d":1,"pt":{"a":0,"k":4,"ix":3},"p":{"a":0,"k":[0,0],"ix":4},"r":{"a":0,"k":0,"ix":5},"ir":{"a":0,"k":200,"ix":6,"x":"var $bm_rt;\ntry {\n var ctrl = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n $bm_rt = ctrl('Inner Radius');\n} catch (err) {\n $bm_rt = value;\n}"},"is":{"a":0,"k":100,"ix":8,"x":"var $bm_rt;\ntry {\n var ctrl = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n $bm_rt = ctrl('Bend Radius');\n} catch (err) {\n $bm_rt = value;\n}"},"or":{"a":0,"k":200,"ix":7,"x":"var $bm_rt;\ntry {\n var ctrl = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n $bm_rt = ctrl('Outer Radius');\n} catch (err) {\n $bm_rt = value;\n}"},"os":{"a":0,"k":0,"ix":9},"ix":1,"nm":"LineForCurve","mn":"ADBE Vector Shape - Star","hd":false},{"ty":"tm","s":{"a":0,"k":0.01,"ix":1},"e":{"a":0,"k":24.99,"ix":2},"o":{"a":0,"k":-90,"ix":3,"x":"var $bm_rt;\n$bm_rt = -90;"},"m":1,"ix":2,"nm":"Line Halfer","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1,"x":"var $bm_rt;\nvar s = thisProperty.propertyGroup(2)(2)(1)(7);\n$bm_rt = [\n -s,\n 0\n];"},"s":{"a":0,"k":[100,100],"ix":3,"x":"var $bm_rt;\nvar flop;\ntry {\n var eff = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n var bendDir = eff('Bend Direction');\n var autoFlop = eff('AutoFlop');\n flop = bendDir > 0 ? 1 : -1;\n autoFlop > 0 ? 0 : flop *= -1;\n var s = flop == 1 ? [\n -100,\n 100\n ] : [\n 100,\n 100\n ];\n if (eff('Parent Scale') < 0) {\n s = [\n -s[0],\n s[1]\n ];\n }\n $bm_rt = s;\n} catch (err) {\n $bm_rt = value;\n}\n;"},"r":{"a":0,"k":45,"ix":6,"x":"var $bm_rt;\ntry {\n var ctrl = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n var baseRot = ctrl('Base Rotation');\n var flop = content('Admin').content('ArcMath').transform.scale[0];\n var rotOffset = flop < 0 ? -45 : 225;\n $bm_rt = sum(baseRot, rotOffset);\n} catch (err) {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"ArcMath","np":2,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\ntry {\n var ctrl = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n $bm_rt = ctrl('A');\n} catch (err) {\n $bm_rt = value;\n}"},"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":"Admin","np":4,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"Left Leg::Ankle","hd":true,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10,"x":"var $bm_rt;\ntry {\n var parentRot = hasParent ? parentTotal() : 0;\n var rotCalc = sub(thisLayer('ADBE Root Vectors Group')('Admin')('Transform')('Rotation'), parentRot);\n $bm_rt = sum(rotCalc, value);\n} catch (err) {\n $bm_rt = value;\n}\n;\nfunction parentTotal() {\n var parentVal = 0;\n var layerChain = 'thisLayer';\n while (eval([layerChain][0]).hasParent) {\n layerChain = sum(layerChain, '.parent');\n parentVal = sum(parentVal, eval([layerChain][0]).rotation);\n }\n return parentVal;\n}"},"p":{"a":1,"k":[{"i":{"x":0.5,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p5_1_0p167_0p167","t":2,"s":[419,830,0],"e":[425,643,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.5,"y":1},"o":{"x":0.167,"y":0},"n":"0p5_1_0p167_0","t":8,"s":[425,643,0],"e":[413,685,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.5,"y":0.5},"o":{"x":0.167,"y":0.167},"n":"0p5_0p5_0p167_0p167","t":13,"s":[413,685,0],"e":[413,685,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"n":"0p833_0p833_0p167_0","t":21,"s":[413,685,0],"e":[419,830,0],"to":[0,0,0],"ti":[0,0,0]},{"t":25.0000010182709}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"RubberHose 2","np":18,"mn":"Pseudo/3bf5uID/RubberHose_2","ix":1,"en":1,"ef":[{"ty":0,"nm":"Hose Length","mn":"Pseudo/3bf5uID/RubberHose_2-0001","ix":1,"v":{"a":0,"k":280,"ix":1}},{"ty":0,"nm":"Bend Radius","mn":"Pseudo/3bf5uID/RubberHose_2-0002","ix":2,"v":{"a":0,"k":40,"ix":2}},{"ty":0,"nm":"Realism","mn":"Pseudo/3bf5uID/RubberHose_2-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Bend Direction","mn":"Pseudo/3bf5uID/RubberHose_2-0004","ix":4,"v":{"a":0,"k":-100,"ix":4}},{"ty":7,"nm":"Auto Rotate Start","mn":"Pseudo/3bf5uID/RubberHose_2-0005","ix":5,"v":{"a":0,"k":0,"ix":5}},{"ty":7,"nm":"Auto Rotate End","mn":"Pseudo/3bf5uID/RubberHose_2-0006","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":6,"nm":"Math Stuff","mn":"Pseudo/3bf5uID/RubberHose_2-0007","ix":7,"v":0},{"ty":3,"nm":"A","mn":"Pseudo/3bf5uID/RubberHose_2-0008","ix":8,"v":{"a":0,"k":[0,0],"ix":8,"x":"var $bm_rt;\n$bm_rt = thisLayer.toComp([\n 0,\n 0,\n 0\n]);"}},{"ty":3,"nm":"B","mn":"Pseudo/3bf5uID/RubberHose_2-0009","ix":9,"v":{"a":0,"k":[0,0],"ix":9,"x":"var $bm_rt;\ntry {\n var b = thisLayer(2)('Admin')(2)('B')(2)(1)._name;\n $bm_rt = thisComp.layer(b).toComp([\n 0,\n 0,\n 0\n ]);\n} catch (err) {\n $bm_rt = value;\n}"}},{"ty":0,"nm":"Outer Radius","mn":"Pseudo/3bf5uID/RubberHose_2-0010","ix":10,"v":{"a":0,"k":0,"ix":10,"x":"var $bm_rt;\nvar a = thisLayer(4)('RubberHose 2')('A');\nvar b = thisLayer(4)('RubberHose 2')('B');\nvar s = length(a, b);\n$bm_rt = mul(Math.sin(0.78539816339), s);"}},{"ty":0,"nm":"Inner Radius","mn":"Pseudo/3bf5uID/RubberHose_2-0011","ix":11,"v":{"a":0,"k":0,"ix":11,"x":"var $bm_rt;\nvar eff = thisLayer(4)('RubberHose 2');\nvar bendRad = eff('Bend Radius');\nvar hoseLength = div(eff('Hose Length'), 2);\nvar realism = eff('Realism');\nvar bendDir = div(eff('Bend Direction'), 100);\nvar sFac = eff('Parent Scale');\nvar straight = eff('Straight');\nvar autoFlop = eff('AutoFlop');\nvar roundShrink = linear(Math.abs(bendRad), 0, 100, 1, 0.87);\nvar innerRad;\nif (hoseLength > straight) {\n innerRad = sum(straight, mul(Math.sqrt(sub(Math.pow(hoseLength, 2), Math.pow(straight, 2))), roundShrink));\n innerRad = linear(realism, 0, 100, hoseLength, innerRad);\n innerRad = linear(Math.abs(bendDir), straight, innerRad);\n} else {\n innerRad = straight;\n}\ninnerRad *= Math.abs(sFac);\ninnerRad = linear(Math.abs(autoFlop), mul(straight, Math.max(Math.abs(sFac), 0.001)), innerRad);\n$bm_rt = innerRad;"}},{"ty":0,"nm":"Straight","mn":"Pseudo/3bf5uID/RubberHose_2-0012","ix":12,"v":{"a":0,"k":0,"ix":12,"x":"var $bm_rt;\nvar sFac = thisLayer(4)('RubberHose 2')('Parent Scale');\nvar outerRad = div(thisLayer(4)('RubberHose 2')('Outer Radius'), Math.max(Math.abs(sFac), 0.001));\n;\n$bm_rt = div(mul(1.4142135623731, outerRad), 2);"}},{"ty":0,"nm":"Base Rotation","mn":"Pseudo/3bf5uID/RubberHose_2-0013","ix":13,"v":{"a":0,"k":0,"ix":13,"x":"var $bm_rt;\nvar a = thisLayer(4)('RubberHose 2')('A');\nvar b = thisLayer(4)('RubberHose 2')('B');\n$bm_rt = radiansToDegrees(Math.atan2(sub(a[1], b[1]), sub(a[0], b[0])));"}},{"ty":0,"nm":"AutoFlop","mn":"Pseudo/3bf5uID/RubberHose_2-0014","ix":14,"v":{"a":0,"k":0,"ix":14,"x":"var $bm_rt;\nvar hasAF = false, isEnabled = false, output;\ntry {\n var lyrAF = thisComp.layer(sum(thisLayer._name.split('::')[0], '::AutoFlop'));\n isEnabled = lyrAF(4)('Enable')(1);\n var falloffAngle = lyrAF(4)('Falloff')(1);\n hasAF = true;\n var a = thisLayer.toComp([\n 0,\n 0,\n 0\n ]);\n var b = thisLayer(4)('RubberHose 2')('B');\n} catch (e) {\n}\nif (hasAF && isEnabled == 1) {\n var threshRot = lyrAF('ADBE Transform Group')('ADBE Rotate Z');\n threshRot %= 360;\n var ctrlAngle = $bm_neg(radiansToDegrees(Math.atan2(sub(b[0], a[0]), sub(b[1], a[1]))));\n var offsetAngle = sub(threshRot, ctrlAngle);\n offsetAngle %= 360;\n var sign = offsetAngle > 0 && offsetAngle < 180 || offsetAngle < -180 ? -1 : 1;\n var absAngle = Math.abs(offsetAngle);\n if (absAngle > 90) {\n absAngle = Math.abs(sub(absAngle, 180));\n }\n if (absAngle > 90) {\n absAngle = Math.abs(sub(absAngle, 180));\n }\n output = linear(absAngle, 0, falloffAngle, 0, 1);\n output *= sign;\n} else {\n output = 1;\n}\n$bm_rt = output;\nfunction parentTotal() {\n var parentVal = 0;\n var layerChain = 'thisLayer';\n while (eval([layerChain][0]).hasParent) {\n layerChain = sum(layerChain, '.parent');\n parentVal = sum(parentVal, eval([layerChain][0]).rotation);\n }\n return parentVal;\n}"}},{"ty":0,"nm":"Parent Scale","mn":"Pseudo/3bf5uID/RubberHose_2-0015","ix":15,"v":{"a":0,"k":0,"ix":15,"x":"var $bm_rt;\nvar sFactor = 1;\nvar scaleNorm = 0;\nvar layerChain = 'thisLayer';\nwhile (eval([layerChain][0]).hasParent) {\n layerChain = sum(layerChain, '.parent');\n scaleNorm = div(eval(layerChain)('ADBE Transform Group')('ADBE Scale')[0], 100);\n sFactor = mul(sFactor, scaleNorm);\n}\n$bm_rt = sFactor;"}},{"ty":6,"nm":"","mn":"Pseudo/3bf5uID/RubberHose_2-0016","ix":16,"v":0}]}],"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Left Leg::Ankle","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[135,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":"A","np":1,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[20,20],"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":"Left Leg::Hip","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"B","np":1,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"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":"2.04","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false,"cl":"04"},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Version","np":1,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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,"x":"var $bm_rt;\nvar eff = thisLayer(4)('RubberHose 2');\nvar autoRotate = eff('Auto Rotate End');\nif (autoRotate == 1) {\n var a = thisLayer.toComp([\n 0,\n 0,\n 0\n ]);\n var b = eff('B');\n var s = length(a, b);\n var sFac = eff('Parent Scale');\n var autoFlop = 1;\n var realism = eff('Realism');\n var bendDir = div(eff('Bend Direction'), 100);\n var hoseLength = div(eff('Hose Length'), 2);\n var bendRad = eff('Bend Radius');\n var autoFlop = eff('AutoFlop');\n var baseRot = $bm_neg(radiansToDegrees(Math.atan2(sub(b[0], a[0]), sub(b[1], a[1]))));\n var outerRad = mul(Math.sin(0.78539816339), s);\n var straight = div(mul(1.4142135623731, outerRad), 2);\n straight /= Math.max(Math.abs(sFac), 0.001);\n var roundShrink = linear(Math.abs(bendRad), 0, 100, 1, 0.87);\n var innerRad;\n if (hoseLength > straight) {\n innerRad = sum(straight, mul(Math.sqrt(sub(Math.pow(hoseLength, 2), Math.pow(straight, 2))), roundShrink));\n innerRad = linear(realism, 0, 100, hoseLength, innerRad);\n innerRad = linear(Math.abs(bendDir), straight, innerRad);\n } else {\n innerRad = straight;\n }\n innerRad = linear(Math.abs(autoFlop), straight, innerRad);\n var flopDir = 1;\n if (bendDir < 0) {\n flopDir = -1;\n }\n flopDir *= autoFlop;\n var opp = mul(sub(innerRad, straight), flopDir);\n var theta = Math.atan(div(opp, Math.max(straight, 0.001)));\n var bendAngle = radiansToDegrees(theta);\n if (sFac < 0) {\n baseRot *= -1;\n }\n bendRad *= div(div(theta, $bm_neg(Math.PI)), linear(s, hoseLength, 0, 2, 0.9));\n var rotCalc = sub(sum(baseRot, bendAngle), bendRad);\n $bm_rt = rotCalc;\n} else {\n $bm_rt = value;\n}\n;"},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Admin","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[100,100],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Circle","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-75,0],[75,0]],"c":false},"ix":2},"nm":"01","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0,-30],[0,30]],"c":false},"ix":2},"nm":"02","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[15,15],"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":"ControlShape","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,0.560000002384,0,1],"ix":3,"x":"var $bm_rt;\nif (thisLayer.active) {\n try {\n var eff = thisLayer(4)('RubberHose 2');\n var a = thisLayer.toComp([\n 0,\n 0,\n 0\n ]);\n var b = eff('B');\n var straight = eff('Straight');\n var hoseLength = div(eff('Hose Length'), 2);\n if (straight > hoseLength) {\n $bm_rt = [\n 0.51,\n 0.83,\n 0.98,\n 1\n ];\n } else {\n $bm_rt = value;\n }\n } catch (err) {\n $bm_rt = value;\n }\n} else {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Control Point","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":"Left Leg::Hip","parent":7,"hd":true,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10,"x":"var $bm_rt;\ntry {\n var parentRot = hasParent ? parentTotal() : 0;\n var rotCalc = sub(thisLayer('ADBE Root Vectors Group')('Admin')('Transform')('Rotation'), parentRot);\n $bm_rt = sum(rotCalc, value);\n} catch (err) {\n $bm_rt = value;\n}\n;\nfunction parentTotal() {\n var parentVal = 0;\n var layerChain = 'thisLayer';\n while (eval([layerChain][0]).hasParent) {\n layerChain = sum(layerChain, '.parent');\n parentVal = sum(parentVal, eval([layerChain][0]).rotation);\n }\n return parentVal;\n}"},"p":{"a":0,"k":[-87.758,188.742,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Left Leg::Ankle","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[135,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":"A","np":1,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[20,20],"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":"Left Leg::Hip","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"B","np":1,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"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":"2.04","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false,"cl":"04"},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Version","np":1,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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,"x":"var $bm_rt;\ntry {\n var eff = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n var autoRotate = eff('Auto Rotate Start');\n if (autoRotate == 1) {\n var a = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name).toComp([\n 0,\n 0,\n 0\n ]);\n var b = thisLayer.toComp([\n 0,\n 0,\n 0\n ]);\n var s = length(a, b);\n var sFac = eff('Parent Scale');\n var autoFlop = 1;\n var realism = eff('Realism');\n var bendDir = div(eff('Bend Direction'), 100);\n var hoseLength = div(eff('Hose Length'), 2);\n var bendRad = eff('Bend Radius');\n var autoFlop = eff('AutoFlop');\n var baseRot = $bm_neg(radiansToDegrees(Math.atan2(sub(b[0], a[0]), sub(b[1], a[1]))));\n var outerRad = mul(Math.sin(0.78539816339), s);\n var straight = div(mul(1.4142135623731, outerRad), 2);\n straight /= Math.max(Math.abs(sFac), 0.001);\n var roundShrink = linear(Math.abs(bendRad), 0, 100, 1, 0.87);\n var innerRad;\n if (straight <= hoseLength) {\n innerRad = sum(straight, mul(Math.sqrt(sub(Math.pow(hoseLength, 2), Math.pow(straight, 2))), roundShrink));\n innerRad = linear(realism, 0, 100, hoseLength, innerRad);\n innerRad = linear(Math.abs(bendDir), straight, innerRad);\n } else {\n innerRad = straight;\n }\n innerRad = linear(Math.abs(autoFlop), straight, innerRad);\n var flopDir = 1;\n if (bendDir < 0) {\n flopDir = -1;\n }\n flopDir *= autoFlop;\n var opp = mul(sub(innerRad, straight), flopDir);\n var theta = Math.atan(div(opp, Math.max(straight, 0.001)));\n var bendAngle = radiansToDegrees(theta);\n if (sFac < 0) {\n baseRot *= -1;\n }\n bendRad *= div(div(theta, $bm_neg(Math.PI)), linear(s, hoseLength, 0, 2, 0.9));\n var rotCalc = sum(sub(baseRot, bendAngle), bendRad);\n $bm_rt = rotCalc;\n } else {\n $bm_rt = 0;\n }\n ;\n} catch (err) {\n $bm_rt = value;\n}\n;"},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Admin","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[100,100],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Circle","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-75,0],[75,0]],"c":false},"ix":2},"nm":"01","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0,-30],[0,30]],"c":false},"ix":2},"nm":"02","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[15,15],"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":"ControlShape","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,0.560000002384,0,1],"ix":3,"x":"var $bm_rt;\ntry {\n var ctrl = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name);\n $bm_rt = ctrl(2)('Control Point')(2)('Stroke 1')('Color');\n} catch (e) {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Control Point","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":"Left Leg","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10,"x":"var $bm_rt;\nvar r = 0;\nif (thisLayer.hasParent) {\n r = $bm_neg(parentTotal());\n}\n$bm_rt = r;\nfunction parentTotal() {\n var parentVal = 0;\n var layerChain = 'thisLayer';\n while (eval([layerChain][0]).hasParent) {\n layerChain = sum(layerChain, '.parent');\n parentVal = sum(parentVal, eval([layerChain][0]).rotation);\n }\n return parentVal;\n}"},"p":{"a":0,"k":[425,500,0],"ix":2,"x":"var $bm_rt;\nvar p = [\n 0,\n 0\n ];\ntry {\n if (thisLayer.hasParent) {\n p = parent.fromComp([\n 0,\n 0,\n 0\n ]);\n }\n $bm_rt = p;\n} catch (err) {\n $bm_rt = p;\n}"},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6,"x":"var $bm_rt;\nvar s = [\n 100,\n 100\n ];\nif (hasParent) {\n var sFactor = parentTotal();\n s = [\n s[0] * sFactor[0],\n s[1] * sFactor[1]\n ];\n}\n$bm_rt = s;\nfunction parentTotal() {\n var sFactor = [\n 1,\n 1\n ];\n var scaleNorm = [\n 0,\n 0\n ];\n var layerChain = 'thisLayer';\n while (eval([layerChain][0]).hasParent) {\n layerChain = sum(layerChain, '.parent');\n scaleNorm = eval([layerChain][0]).scale;\n if (scaleNorm[0] != 0 && scaleNorm[1] != 0) {\n scaleNorm = [\n 100 / scaleNorm[0],\n 100 / scaleNorm[1]\n ];\n }\n sFactor = [\n sFactor[0] * scaleNorm[0],\n sFactor[1] * scaleNorm[1]\n ];\n }\n return sFactor;\n}"}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sr","sy":1,"d":1,"pt":{"a":0,"k":4,"ix":3},"p":{"a":0,"k":[0,0],"ix":4},"r":{"a":0,"k":0,"ix":5},"ir":{"a":0,"k":500,"ix":6,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"is":{"a":0,"k":0,"ix":8,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"or":{"a":0,"k":113,"ix":7,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"os":{"a":0,"k":0,"ix":9,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"ix":1,"nm":"LineForCurve","mn":"ADBE Vector Shape - Star","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"e":{"a":0,"k":0,"ix":2,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"o":{"a":0,"k":-90,"ix":3,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"m":1,"ix":2,"nm":"Line Halfer","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"a":{"a":0,"k":[0,0],"ix":1,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"s":{"a":0,"k":[100,100],"ix":3,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"r":{"a":0,"k":45,"ix":6,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"o":{"a":0,"k":100,"ix":7,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"sk":{"a":0,"k":0,"ix":4,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"sa":{"a":0,"k":0,"ix":5,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"nm":"Transform"}],"nm":"Arc","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.219607843137,0.227873439415,0.678431372549,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":36,"ix":5,"x":"var $bm_rt;\nvar sFac = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2')('Parent Scale');\n$bm_rt = mul(value, sFac);"},"lc":2,"lj":2,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\ntry {\n var ctrl = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n $bm_rt = ctrl('A');\n} catch (err) {\n $bm_rt = value;\n}"},"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":"BaseHose","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Style","np":1,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Left Leg::Ankle","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[135,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":"A","np":1,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[200,200],"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":"Left Leg::Hip","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"B","np":1,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"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":"2.04","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false,"cl":"04"},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Version","np":1,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"sr","sy":1,"d":1,"pt":{"a":0,"k":4,"ix":3},"p":{"a":0,"k":[0,0],"ix":4},"r":{"a":0,"k":0,"ix":5},"ir":{"a":0,"k":200,"ix":6,"x":"var $bm_rt;\ntry {\n var ctrl = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n $bm_rt = ctrl('Inner Radius');\n} catch (err) {\n $bm_rt = value;\n}"},"is":{"a":0,"k":100,"ix":8,"x":"var $bm_rt;\ntry {\n var ctrl = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n $bm_rt = ctrl('Bend Radius');\n} catch (err) {\n $bm_rt = value;\n}"},"or":{"a":0,"k":200,"ix":7,"x":"var $bm_rt;\ntry {\n var ctrl = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n $bm_rt = ctrl('Outer Radius');\n} catch (err) {\n $bm_rt = value;\n}"},"os":{"a":0,"k":0,"ix":9},"ix":1,"nm":"LineForCurve","mn":"ADBE Vector Shape - Star","hd":false},{"ty":"tm","s":{"a":0,"k":0.01,"ix":1},"e":{"a":0,"k":24.99,"ix":2},"o":{"a":0,"k":-90,"ix":3,"x":"var $bm_rt;\n$bm_rt = -90;"},"m":1,"ix":2,"nm":"Line Halfer","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1,"x":"var $bm_rt;\nvar s = thisProperty.propertyGroup(2)(2)(1)(7);\n$bm_rt = [\n -s,\n 0\n];"},"s":{"a":0,"k":[100,100],"ix":3,"x":"var $bm_rt;\nvar flop;\ntry {\n var eff = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n var bendDir = eff('Bend Direction');\n var autoFlop = eff('AutoFlop');\n flop = bendDir > 0 ? 1 : -1;\n autoFlop > 0 ? 0 : flop *= -1;\n var s = flop == 1 ? [\n -100,\n 100\n ] : [\n 100,\n 100\n ];\n if (eff('Parent Scale') < 0) {\n s = [\n -s[0],\n s[1]\n ];\n }\n $bm_rt = s;\n} catch (err) {\n $bm_rt = value;\n}\n;"},"r":{"a":0,"k":45,"ix":6,"x":"var $bm_rt;\ntry {\n var ctrl = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n var baseRot = ctrl('Base Rotation');\n var flop = content('Admin').content('ArcMath').transform.scale[0];\n var rotOffset = flop < 0 ? -45 : 225;\n $bm_rt = sum(baseRot, rotOffset);\n} catch (err) {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"ArcMath","np":2,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\ntry {\n var ctrl = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n $bm_rt = ctrl('A');\n} catch (err) {\n $bm_rt = value;\n}"},"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":"Admin","np":4,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":"Right Leg::Ankle","hd":true,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10,"x":"var $bm_rt;\ntry {\n var parentRot = hasParent ? parentTotal() : 0;\n var rotCalc = sub(thisLayer('ADBE Root Vectors Group')('Admin')('Transform')('Rotation'), parentRot);\n $bm_rt = sum(rotCalc, value);\n} catch (err) {\n $bm_rt = value;\n}\n;\nfunction parentTotal() {\n var parentVal = 0;\n var layerChain = 'thisLayer';\n while (eval([layerChain][0]).hasParent) {\n layerChain = sum(layerChain, '.parent');\n parentVal = sum(parentVal, eval([layerChain][0]).rotation);\n }\n return parentVal;\n}"},"p":{"a":1,"k":[{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":0,"s":[584.541,716.568,0],"e":[588,830,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":3,"s":[588,830,0],"e":[588,830,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.36,"y":1},"o":{"x":0.167,"y":0.321},"n":"0p36_1_0p167_0p321","t":26.334,"s":[588,830,0],"e":[584.541,683.568,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.36,"y":1},"o":{"x":0.167,"y":0.152},"n":"0p36_1_0p167_0p152","t":33,"s":[584.541,683.568,0],"e":[584.541,716.568,0],"to":[0,0,0],"ti":[0,0,0]},{"t":36.333751479904}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"RubberHose 2","np":18,"mn":"Pseudo/3bf5uID/RubberHose_2","ix":1,"en":1,"ef":[{"ty":0,"nm":"Hose Length","mn":"Pseudo/3bf5uID/RubberHose_2-0001","ix":1,"v":{"a":0,"k":280,"ix":1}},{"ty":0,"nm":"Bend Radius","mn":"Pseudo/3bf5uID/RubberHose_2-0002","ix":2,"v":{"a":0,"k":40,"ix":2}},{"ty":0,"nm":"Realism","mn":"Pseudo/3bf5uID/RubberHose_2-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Bend Direction","mn":"Pseudo/3bf5uID/RubberHose_2-0004","ix":4,"v":{"a":0,"k":100,"ix":4}},{"ty":7,"nm":"Auto Rotate Start","mn":"Pseudo/3bf5uID/RubberHose_2-0005","ix":5,"v":{"a":0,"k":0,"ix":5}},{"ty":7,"nm":"Auto Rotate End","mn":"Pseudo/3bf5uID/RubberHose_2-0006","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":6,"nm":"Math Stuff","mn":"Pseudo/3bf5uID/RubberHose_2-0007","ix":7,"v":0},{"ty":3,"nm":"A","mn":"Pseudo/3bf5uID/RubberHose_2-0008","ix":8,"v":{"a":0,"k":[0,0],"ix":8,"x":"var $bm_rt;\n$bm_rt = thisLayer.toComp([\n 0,\n 0,\n 0\n]);"}},{"ty":3,"nm":"B","mn":"Pseudo/3bf5uID/RubberHose_2-0009","ix":9,"v":{"a":0,"k":[0,0],"ix":9,"x":"var $bm_rt;\ntry {\n var b = thisLayer(2)('Admin')(2)('B')(2)(1)._name;\n $bm_rt = thisComp.layer(b).toComp([\n 0,\n 0,\n 0\n ]);\n} catch (err) {\n $bm_rt = value;\n}"}},{"ty":0,"nm":"Outer Radius","mn":"Pseudo/3bf5uID/RubberHose_2-0010","ix":10,"v":{"a":0,"k":0,"ix":10,"x":"var $bm_rt;\nvar a = thisLayer(4)('RubberHose 2')('A');\nvar b = thisLayer(4)('RubberHose 2')('B');\nvar s = length(a, b);\n$bm_rt = mul(Math.sin(0.78539816339), s);"}},{"ty":0,"nm":"Inner Radius","mn":"Pseudo/3bf5uID/RubberHose_2-0011","ix":11,"v":{"a":0,"k":0,"ix":11,"x":"var $bm_rt;\nvar eff = thisLayer(4)('RubberHose 2');\nvar bendRad = eff('Bend Radius');\nvar hoseLength = div(eff('Hose Length'), 2);\nvar realism = eff('Realism');\nvar bendDir = div(eff('Bend Direction'), 100);\nvar sFac = eff('Parent Scale');\nvar straight = eff('Straight');\nvar autoFlop = eff('AutoFlop');\nvar roundShrink = linear(Math.abs(bendRad), 0, 100, 1, 0.87);\nvar innerRad;\nif (hoseLength > straight) {\n innerRad = sum(straight, mul(Math.sqrt(sub(Math.pow(hoseLength, 2), Math.pow(straight, 2))), roundShrink));\n innerRad = linear(realism, 0, 100, hoseLength, innerRad);\n innerRad = linear(Math.abs(bendDir), straight, innerRad);\n} else {\n innerRad = straight;\n}\ninnerRad *= Math.abs(sFac);\ninnerRad = linear(Math.abs(autoFlop), mul(straight, Math.max(Math.abs(sFac), 0.001)), innerRad);\n$bm_rt = innerRad;"}},{"ty":0,"nm":"Straight","mn":"Pseudo/3bf5uID/RubberHose_2-0012","ix":12,"v":{"a":0,"k":0,"ix":12,"x":"var $bm_rt;\nvar sFac = thisLayer(4)('RubberHose 2')('Parent Scale');\nvar outerRad = div(thisLayer(4)('RubberHose 2')('Outer Radius'), Math.max(Math.abs(sFac), 0.001));\n;\n$bm_rt = div(mul(1.4142135623731, outerRad), 2);"}},{"ty":0,"nm":"Base Rotation","mn":"Pseudo/3bf5uID/RubberHose_2-0013","ix":13,"v":{"a":0,"k":0,"ix":13,"x":"var $bm_rt;\nvar a = thisLayer(4)('RubberHose 2')('A');\nvar b = thisLayer(4)('RubberHose 2')('B');\n$bm_rt = radiansToDegrees(Math.atan2(sub(a[1], b[1]), sub(a[0], b[0])));"}},{"ty":0,"nm":"AutoFlop","mn":"Pseudo/3bf5uID/RubberHose_2-0014","ix":14,"v":{"a":0,"k":0,"ix":14,"x":"var $bm_rt;\nvar hasAF = false, isEnabled = false, output;\ntry {\n var lyrAF = thisComp.layer(sum(thisLayer._name.split('::')[0], '::AutoFlop'));\n isEnabled = lyrAF(4)('Enable')(1);\n var falloffAngle = lyrAF(4)('Falloff')(1);\n hasAF = true;\n var a = thisLayer.toComp([\n 0,\n 0,\n 0\n ]);\n var b = thisLayer(4)('RubberHose 2')('B');\n} catch (e) {\n}\nif (hasAF && isEnabled == 1) {\n var threshRot = lyrAF('ADBE Transform Group')('ADBE Rotate Z');\n threshRot %= 360;\n var ctrlAngle = $bm_neg(radiansToDegrees(Math.atan2(sub(b[0], a[0]), sub(b[1], a[1]))));\n var offsetAngle = sub(threshRot, ctrlAngle);\n offsetAngle %= 360;\n var sign = offsetAngle > 0 && offsetAngle < 180 || offsetAngle < -180 ? -1 : 1;\n var absAngle = Math.abs(offsetAngle);\n if (absAngle > 90) {\n absAngle = Math.abs(sub(absAngle, 180));\n }\n if (absAngle > 90) {\n absAngle = Math.abs(sub(absAngle, 180));\n }\n output = linear(absAngle, 0, falloffAngle, 0, 1);\n output *= sign;\n} else {\n output = 1;\n}\n$bm_rt = output;\nfunction parentTotal() {\n var parentVal = 0;\n var layerChain = 'thisLayer';\n while (eval([layerChain][0]).hasParent) {\n layerChain = sum(layerChain, '.parent');\n parentVal = sum(parentVal, eval([layerChain][0]).rotation);\n }\n return parentVal;\n}"}},{"ty":0,"nm":"Parent Scale","mn":"Pseudo/3bf5uID/RubberHose_2-0015","ix":15,"v":{"a":0,"k":0,"ix":15,"x":"var $bm_rt;\nvar sFactor = 1;\nvar scaleNorm = 0;\nvar layerChain = 'thisLayer';\nwhile (eval([layerChain][0]).hasParent) {\n layerChain = sum(layerChain, '.parent');\n scaleNorm = div(eval(layerChain)('ADBE Transform Group')('ADBE Scale')[0], 100);\n sFactor = mul(sFactor, scaleNorm);\n}\n$bm_rt = sFactor;"}},{"ty":6,"nm":"","mn":"Pseudo/3bf5uID/RubberHose_2-0016","ix":16,"v":0}]}],"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Right Leg::Ankle","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[135,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":"A","np":1,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[20,20],"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":"Right Leg::Hip","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"B","np":1,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"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":"2.04","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false,"cl":"04"},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Version","np":1,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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,"x":"var $bm_rt;\nvar eff = thisLayer(4)('RubberHose 2');\nvar autoRotate = eff('Auto Rotate End');\nif (autoRotate == 1) {\n var a = thisLayer.toComp([\n 0,\n 0,\n 0\n ]);\n var b = eff('B');\n var s = length(a, b);\n var sFac = eff('Parent Scale');\n var autoFlop = 1;\n var realism = eff('Realism');\n var bendDir = div(eff('Bend Direction'), 100);\n var hoseLength = div(eff('Hose Length'), 2);\n var bendRad = eff('Bend Radius');\n var autoFlop = eff('AutoFlop');\n var baseRot = $bm_neg(radiansToDegrees(Math.atan2(sub(b[0], a[0]), sub(b[1], a[1]))));\n var outerRad = mul(Math.sin(0.78539816339), s);\n var straight = div(mul(1.4142135623731, outerRad), 2);\n straight /= Math.max(Math.abs(sFac), 0.001);\n var roundShrink = linear(Math.abs(bendRad), 0, 100, 1, 0.87);\n var innerRad;\n if (hoseLength > straight) {\n innerRad = sum(straight, mul(Math.sqrt(sub(Math.pow(hoseLength, 2), Math.pow(straight, 2))), roundShrink));\n innerRad = linear(realism, 0, 100, hoseLength, innerRad);\n innerRad = linear(Math.abs(bendDir), straight, innerRad);\n } else {\n innerRad = straight;\n }\n innerRad = linear(Math.abs(autoFlop), straight, innerRad);\n var flopDir = 1;\n if (bendDir < 0) {\n flopDir = -1;\n }\n flopDir *= autoFlop;\n var opp = mul(sub(innerRad, straight), flopDir);\n var theta = Math.atan(div(opp, Math.max(straight, 0.001)));\n var bendAngle = radiansToDegrees(theta);\n if (sFac < 0) {\n baseRot *= -1;\n }\n bendRad *= div(div(theta, $bm_neg(Math.PI)), linear(s, hoseLength, 0, 2, 0.9));\n var rotCalc = sub(sum(baseRot, bendAngle), bendRad);\n $bm_rt = rotCalc;\n} else {\n $bm_rt = value;\n}\n;"},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Admin","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[100,100],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Circle","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-75,0],[75,0]],"c":false},"ix":2},"nm":"01","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0,-30],[0,30]],"c":false},"ix":2},"nm":"02","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[15,15],"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":"ControlShape","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,0.560000002384,0,1],"ix":3,"x":"var $bm_rt;\nif (thisLayer.active) {\n try {\n var eff = thisLayer(4)('RubberHose 2');\n var a = thisLayer.toComp([\n 0,\n 0,\n 0\n ]);\n var b = eff('B');\n var straight = eff('Straight');\n var hoseLength = div(eff('Hose Length'), 2);\n if (straight > hoseLength) {\n $bm_rt = [\n 0.51,\n 0.83,\n 0.98,\n 1\n ];\n } else {\n $bm_rt = value;\n }\n } catch (err) {\n $bm_rt = value;\n }\n} else {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Control Point","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":"Right Leg::Hip","parent":7,"hd":true,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10,"x":"var $bm_rt;\ntry {\n var parentRot = hasParent ? parentTotal() : 0;\n var rotCalc = sub(thisLayer('ADBE Root Vectors Group')('Admin')('Transform')('Rotation'), parentRot);\n $bm_rt = sum(rotCalc, value);\n} catch (err) {\n $bm_rt = value;\n}\n;\nfunction parentTotal() {\n var parentVal = 0;\n var layerChain = 'thisLayer';\n while (eval([layerChain][0]).hasParent) {\n layerChain = sum(layerChain, '.parent');\n parentVal = sum(parentVal, eval([layerChain][0]).rotation);\n }\n return parentVal;\n}"},"p":{"a":0,"k":[-12.758,188.742,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Right Leg::Ankle","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[135,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":"A","np":1,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[20,20],"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":"Right Leg::Hip","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"B","np":1,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"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":"2.04","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false,"cl":"04"},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Version","np":1,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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,"x":"var $bm_rt;\ntry {\n var eff = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n var autoRotate = eff('Auto Rotate Start');\n if (autoRotate == 1) {\n var a = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name).toComp([\n 0,\n 0,\n 0\n ]);\n var b = thisLayer.toComp([\n 0,\n 0,\n 0\n ]);\n var s = length(a, b);\n var sFac = eff('Parent Scale');\n var autoFlop = 1;\n var realism = eff('Realism');\n var bendDir = div(eff('Bend Direction'), 100);\n var hoseLength = div(eff('Hose Length'), 2);\n var bendRad = eff('Bend Radius');\n var autoFlop = eff('AutoFlop');\n var baseRot = $bm_neg(radiansToDegrees(Math.atan2(sub(b[0], a[0]), sub(b[1], a[1]))));\n var outerRad = mul(Math.sin(0.78539816339), s);\n var straight = div(mul(1.4142135623731, outerRad), 2);\n straight /= Math.max(Math.abs(sFac), 0.001);\n var roundShrink = linear(Math.abs(bendRad), 0, 100, 1, 0.87);\n var innerRad;\n if (straight <= hoseLength) {\n innerRad = sum(straight, mul(Math.sqrt(sub(Math.pow(hoseLength, 2), Math.pow(straight, 2))), roundShrink));\n innerRad = linear(realism, 0, 100, hoseLength, innerRad);\n innerRad = linear(Math.abs(bendDir), straight, innerRad);\n } else {\n innerRad = straight;\n }\n innerRad = linear(Math.abs(autoFlop), straight, innerRad);\n var flopDir = 1;\n if (bendDir < 0) {\n flopDir = -1;\n }\n flopDir *= autoFlop;\n var opp = mul(sub(innerRad, straight), flopDir);\n var theta = Math.atan(div(opp, Math.max(straight, 0.001)));\n var bendAngle = radiansToDegrees(theta);\n if (sFac < 0) {\n baseRot *= -1;\n }\n bendRad *= div(div(theta, $bm_neg(Math.PI)), linear(s, hoseLength, 0, 2, 0.9));\n var rotCalc = sum(sub(baseRot, bendAngle), bendRad);\n $bm_rt = rotCalc;\n } else {\n $bm_rt = 0;\n }\n ;\n} catch (err) {\n $bm_rt = value;\n}\n;"},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Admin","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[100,100],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Circle","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-75,0],[75,0]],"c":false},"ix":2},"nm":"01","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0,-30],[0,30]],"c":false},"ix":2},"nm":"02","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[15,15],"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":"ControlShape","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,0.560000002384,0,1],"ix":3,"x":"var $bm_rt;\ntry {\n var ctrl = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name);\n $bm_rt = ctrl(2)('Control Point')(2)('Stroke 1')('Color');\n} catch (e) {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Control Point","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":19,"ty":4,"nm":"Right Leg","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10,"x":"var $bm_rt;\nvar r = 0;\nif (thisLayer.hasParent) {\n r = $bm_neg(parentTotal());\n}\n$bm_rt = r;\nfunction parentTotal() {\n var parentVal = 0;\n var layerChain = 'thisLayer';\n while (eval([layerChain][0]).hasParent) {\n layerChain = sum(layerChain, '.parent');\n parentVal = sum(parentVal, eval([layerChain][0]).rotation);\n }\n return parentVal;\n}"},"p":{"a":0,"k":[500,500,0],"ix":2,"x":"var $bm_rt;\nvar p = [\n 0,\n 0\n ];\ntry {\n if (thisLayer.hasParent) {\n p = parent.fromComp([\n 0,\n 0,\n 0\n ]);\n }\n $bm_rt = p;\n} catch (err) {\n $bm_rt = p;\n}"},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6,"x":"var $bm_rt;\nvar s = [\n 100,\n 100\n ];\nif (hasParent) {\n var sFactor = parentTotal();\n s = [\n s[0] * sFactor[0],\n s[1] * sFactor[1]\n ];\n}\n$bm_rt = s;\nfunction parentTotal() {\n var sFactor = [\n 1,\n 1\n ];\n var scaleNorm = [\n 0,\n 0\n ];\n var layerChain = 'thisLayer';\n while (eval([layerChain][0]).hasParent) {\n layerChain = sum(layerChain, '.parent');\n scaleNorm = eval([layerChain][0]).scale;\n if (scaleNorm[0] != 0 && scaleNorm[1] != 0) {\n scaleNorm = [\n 100 / scaleNorm[0],\n 100 / scaleNorm[1]\n ];\n }\n sFactor = [\n sFactor[0] * scaleNorm[0],\n sFactor[1] * scaleNorm[1]\n ];\n }\n return sFactor;\n}"}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sr","sy":1,"d":1,"pt":{"a":0,"k":4,"ix":3},"p":{"a":0,"k":[0,0],"ix":4},"r":{"a":0,"k":0,"ix":5},"ir":{"a":0,"k":500,"ix":6,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"is":{"a":0,"k":0,"ix":8,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"or":{"a":0,"k":113,"ix":7,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"os":{"a":0,"k":0,"ix":9,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"ix":1,"nm":"LineForCurve","mn":"ADBE Vector Shape - Star","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"e":{"a":0,"k":0,"ix":2,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"o":{"a":0,"k":-90,"ix":3,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(1).propertyIndex;\n$bm_rt = thisLayer(2)('Admin')(2)('ArcMath')(2)(grp)(p);"},"m":1,"ix":2,"nm":"Line Halfer","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"a":{"a":0,"k":[0,0],"ix":1,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"s":{"a":0,"k":[100,100],"ix":3,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"r":{"a":0,"k":45,"ix":6,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"o":{"a":0,"k":100,"ix":7,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"sk":{"a":0,"k":0,"ix":4,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"sa":{"a":0,"k":0,"ix":5,"x":"var $bm_rt;\nvar p = thisProperty.propertyIndex;\nvar grp = thisProperty.propertyGroup(2).propertyIndex;\n$bm_rt = content('Admin').content('ArcMath')('ADBE Vector Transform Group')(p);"},"nm":"Transform"}],"nm":"Arc","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.219607843137,0.227873439415,0.678431372549,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":36,"ix":5,"x":"var $bm_rt;\nvar sFac = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2')('Parent Scale');\n$bm_rt = mul(value, sFac);"},"lc":2,"lj":2,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\ntry {\n var ctrl = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n $bm_rt = ctrl('A');\n} catch (err) {\n $bm_rt = value;\n}"},"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":"BaseHose","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Style","np":1,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Right Leg::Ankle","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[135,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":"A","np":1,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[200,200],"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":"Right Leg::Hip","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"B","np":1,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"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":"2.04","np":0,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false,"cl":"04"},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Version","np":1,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"sr","sy":1,"d":1,"pt":{"a":0,"k":4,"ix":3},"p":{"a":0,"k":[0,0],"ix":4},"r":{"a":0,"k":0,"ix":5},"ir":{"a":0,"k":200,"ix":6,"x":"var $bm_rt;\ntry {\n var ctrl = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n $bm_rt = ctrl('Inner Radius');\n} catch (err) {\n $bm_rt = value;\n}"},"is":{"a":0,"k":100,"ix":8,"x":"var $bm_rt;\ntry {\n var ctrl = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n $bm_rt = ctrl('Bend Radius');\n} catch (err) {\n $bm_rt = value;\n}"},"or":{"a":0,"k":200,"ix":7,"x":"var $bm_rt;\ntry {\n var ctrl = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n $bm_rt = ctrl('Outer Radius');\n} catch (err) {\n $bm_rt = value;\n}"},"os":{"a":0,"k":0,"ix":9},"ix":1,"nm":"LineForCurve","mn":"ADBE Vector Shape - Star","hd":false},{"ty":"tm","s":{"a":0,"k":0.01,"ix":1},"e":{"a":0,"k":24.99,"ix":2},"o":{"a":0,"k":-90,"ix":3,"x":"var $bm_rt;\n$bm_rt = -90;"},"m":1,"ix":2,"nm":"Line Halfer","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1,"x":"var $bm_rt;\nvar s = thisProperty.propertyGroup(2)(2)(1)(7);\n$bm_rt = [\n -s,\n 0\n];"},"s":{"a":0,"k":[100,100],"ix":3,"x":"var $bm_rt;\nvar flop;\ntry {\n var eff = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n var bendDir = eff('Bend Direction');\n var autoFlop = eff('AutoFlop');\n flop = bendDir > 0 ? 1 : -1;\n autoFlop > 0 ? 0 : flop *= -1;\n var s = flop == 1 ? [\n -100,\n 100\n ] : [\n 100,\n 100\n ];\n if (eff('Parent Scale') < 0) {\n s = [\n -s[0],\n s[1]\n ];\n }\n $bm_rt = s;\n} catch (err) {\n $bm_rt = value;\n}\n;"},"r":{"a":0,"k":45,"ix":6,"x":"var $bm_rt;\ntry {\n var ctrl = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n var baseRot = ctrl('Base Rotation');\n var flop = content('Admin').content('ArcMath').transform.scale[0];\n var rotOffset = flop < 0 ? -45 : 225;\n $bm_rt = sum(baseRot, rotOffset);\n} catch (err) {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"ArcMath","np":2,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\ntry {\n var ctrl = thisComp.layer(thisLayer(2)('Admin')(2)('A')(2)(1)._name)(4)('RubberHose 2');\n $bm_rt = ctrl('A');\n} catch (err) {\n $bm_rt = value;\n}"},"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":"Admin","np":4,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/red_box.json b/submodules/RLottie/Sources/rlottie/example/resource/red_box.json deleted file mode 100644 index 65bb77ce13..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/red_box.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"4.5.6","fr":29.9700012207031,"ip":0,"op":60.0000024438501,"w":612,"h":792,"ddd":0,"assets":[],"layers":[{"ddd":0,"ind":0,"ty":4,"nm":"Line Box Outlines","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[306,396,0]},"a":{"a":0,"k":[306,396,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[194.5,441.875],[503.125,441.875]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0],"y":[0.979]},"o":{"x":[0.333],"y":[0]},"n":["0_0p979_0p333_0"],"t":0,"s":[50],"e":[0]},{"t":30.0000012219251}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.004],"y":[0.919]},"o":{"x":[0.333],"y":[0]},"n":["0p004_0p919_0p333_0"],"t":0,"s":[50],"e":[100]},{"t":30.0000012219251}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"st","c":{"a":0,"k":[0.91,0.23,0.23,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":15},"lc":2,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Back bot","np":3,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[194.5,144.5],[500.25,144.5]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.91,0.23,0.23,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":15},"lc":2,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0],"y":[0.979]},"o":{"x":[0.333],"y":[0]},"n":["0_0p979_0p333_0"],"t":0,"s":[50],"e":[0]},{"t":30.0000012219251}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.004],"y":[0.919]},"o":{"x":[0.333],"y":[0]},"n":["0p004_0p919_0p333_0"],"t":0,"s":[50],"e":[100]},{"t":30.0000012219251}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 2","mn":"ADBE Vector Filter - Trim"},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Back top","np":3,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[405,238],[101,238]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.91,0.23,0.23,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":15},"lc":2,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0],"y":[0.979]},"o":{"x":[0.333],"y":[0]},"n":["0_0p979_0p333_0"],"t":0,"s":[50],"e":[0]},{"t":30.0000012219251}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.004],"y":[0.919]},"o":{"x":[0.333],"y":[0]},"n":["0p004_0p919_0p333_0"],"t":0,"s":[50],"e":[100]},{"t":30.0000012219251}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 2","mn":"ADBE Vector Filter - Trim"},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Front top","np":3,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[101,540],[405,540]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.91,0.23,0.23,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":15},"lc":2,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0],"y":[0.979]},"o":{"x":[0.333],"y":[0]},"n":["0_0p979_0p333_0"],"t":0,"s":[50],"e":[0]},{"t":30.0000012219251}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.004],"y":[0.919]},"o":{"x":[0.333],"y":[0]},"n":["0p004_0p919_0p333_0"],"t":0,"s":[50],"e":[100]},{"t":30.0000012219251}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 2","mn":"ADBE Vector Filter - Trim"},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Front bot","np":3,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[47.906,-47.906],[-47.907,47.906]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":23,"s":[50],"e":[0]},{"t":45.0000018328876}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":23,"s":[50],"e":[100]},{"t":45.0000018328876}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"st","c":{"a":0,"k":[0.91,0.23,0.23,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":15},"lc":2,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0],"y":[0.985]},"o":{"x":[0.333],"y":[0]},"n":["0_0p985_0p333_0"],"t":23,"s":[50],"e":[0]},{"t":45.0000018328876}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.004],"y":[0.941]},"o":{"x":[0.333],"y":[0]},"n":["0p004_0p941_0p333_0"],"t":23,"s":[50],"e":[100]},{"t":45.0000018328876}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":4,"nm":"Trim Paths 2","mn":"ADBE Vector Filter - Trim"},{"ty":"tr","p":{"a":0,"k":[146.594,489.781],"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":"Bot left","np":4,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[194.5,144.5],[194.5,441.875]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":23,"s":[50],"e":[0]},{"t":45.0000018328876}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":23,"s":[50],"e":[100]},{"t":45.0000018328876}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 2","mn":"ADBE Vector Filter - Trim"},{"ty":"st","c":{"a":0,"k":[0.91,0.23,0.23,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":15},"lc":2,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0],"y":[0.985]},"o":{"x":[0.333],"y":[0]},"n":["0_0p985_0p333_0"],"t":23,"s":[50],"e":[0]},{"t":45.0000018328876}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.004],"y":[0.941]},"o":{"x":[0.333],"y":[0]},"n":["0p004_0p941_0p333_0"],"t":23,"s":[50],"e":[100]},{"t":45.0000018328876}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":4,"nm":"Trim Paths 3","mn":"ADBE Vector Filter - Trim"},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Back left","np":4,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[500.25,144.5],[500.25,441.875]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.91,0.23,0.23,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":15},"lc":2,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0],"y":[0.985]},"o":{"x":[0.333],"y":[0]},"n":["0_0p985_0p333_0"],"t":23,"s":[50],"e":[0]},{"t":45.0000018328876}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.004],"y":[0.941]},"o":{"x":[0.333],"y":[0]},"n":["0p004_0p941_0p333_0"],"t":23,"s":[50],"e":[100]},{"t":45.0000018328876}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Back right","np":3,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-49.063,49.063],[49.063,-49.063]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.91,0.23,0.23,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":15},"lc":2,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0],"y":[0.985]},"o":{"x":[0.333],"y":[0]},"n":["0_0p985_0p333_0"],"t":23,"s":[50],"e":[0]},{"t":45.0000018328876}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.004],"y":[0.941]},"o":{"x":[0.333],"y":[0]},"n":["0p004_0p941_0p333_0"],"t":23,"s":[50],"e":[100]},{"t":45.0000018328876}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"tr","p":{"a":0,"k":[454.063,490.938],"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":"Bot right","np":3,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-47.625,47.625],[47.625,-47.625]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.91,0.23,0.23,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":15},"lc":2,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0],"y":[0.985]},"o":{"x":[0.333],"y":[0]},"n":["0_0p985_0p333_0"],"t":23,"s":[50],"e":[0]},{"t":45.0000018328876}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.004],"y":[0.941]},"o":{"x":[0.333],"y":[0]},"n":["0p004_0p941_0p333_0"],"t":23,"s":[50],"e":[100]},{"t":45.0000018328876}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"tr","p":{"a":0,"k":[452.625,190.375],"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":"Top right","np":3,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-46.75,46.75],[46.75,-46.75]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.91,0.23,0.23,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":15},"lc":2,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0],"y":[0.985]},"o":{"x":[0.333],"y":[0]},"n":["0_0p985_0p333_0"],"t":23,"s":[50],"e":[0]},{"t":45.0000018328876}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.004],"y":[0.941]},"o":{"x":[0.333],"y":[0]},"n":["0p004_0p941_0p333_0"],"t":23,"s":[50],"e":[100]},{"t":45.0000018328876}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"tr","p":{"a":0,"k":[147.75,191.25],"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":"Top left","np":3,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[405,542],[405,238]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.91,0.23,0.23,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":15},"lc":2,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0],"y":[0.985]},"o":{"x":[0.333],"y":[0]},"n":["0_0p985_0p333_0"],"t":23,"s":[50],"e":[0]},{"t":45.0000018328876}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.004],"y":[0.941]},"o":{"x":[0.333],"y":[0]},"n":["0p004_0p941_0p333_0"],"t":23,"s":[50],"e":[100]},{"t":45.0000018328876}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Front right","np":3,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[101,236],[101,540]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.91,0.23,0.23,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":15},"lc":2,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0],"y":[0.985]},"o":{"x":[0.333],"y":[0]},"n":["0_0p985_0p333_0"],"t":23,"s":[50],"e":[0]},{"t":45.0000018328876}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.004],"y":[0.941]},"o":{"x":[0.333],"y":[0]},"n":["0p004_0p941_0p333_0"],"t":23,"s":[50],"e":[100]},{"t":45.0000018328876}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Front left","np":3,"mn":"ADBE Vector Group"}],"ip":0,"op":241.000009816131,"st":0,"bm":0,"sr":1}]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/ripple_loading_animation.json b/submodules/RLottie/Sources/rlottie/example/resource/ripple_loading_animation.json deleted file mode 100644 index 1935a03455..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/ripple_loading_animation.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"4.10.1","fr":60,"ip":0,"op":120,"w":800,"h":800,"nm":"loading_animation","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 5","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":23,"s":[20],"e":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":34,"s":[100],"e":[20]},{"t":69}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"n":["0_1_0p333_0","0_1_0p333_0"],"t":23,"s":[400,400],"e":[440,440]},{"i":{"x":[0.009,0.009],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"n":["0p009_1_0p333_0","0p009_1_0p333_0"],"t":34,"s":[440,440],"e":[400,400]},{"t":59}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Ellipse 1","np":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gs","o":{"a":0,"k":100,"ix":9},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":23,"s":[5],"e":[10]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":34,"s":[10],"e":[5]},{"t":59}],"ix":10},"g":{"p":3,"k":{"a":0,"k":[0,0,0.627,1,0.5,0.496,0.314,1,1,0.992,0,1],"ix":8}},"s":{"a":0,"k":[0,0],"ix":4},"e":{"a":0,"k":[100,0],"ix":5},"t":1,"lc":1,"lj":1,"ml":4,"nm":"Gradient Stroke 1","mn":"ADBE Vector Graphic - G-Stroke","hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 4","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":16,"s":[20],"e":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":27,"s":[100],"e":[20]},{"t":62}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0"],"t":16,"s":[320,320],"e":[360,360]},{"i":{"x":[0.025,0.025],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"n":["0p025_1_0p333_0","0p025_1_0p333_0"],"t":27,"s":[360,360],"e":[320,320]},{"t":52}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gs","o":{"a":0,"k":100,"ix":9},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":16,"s":[5],"e":[10]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":27,"s":[10],"e":[5]},{"t":52}],"ix":10},"g":{"p":3,"k":{"a":0,"k":[0,0,0.627,1,0.5,0.496,0.314,1,1,0.992,0,1],"ix":8}},"s":{"a":0,"k":[0,0],"ix":4},"e":{"a":0,"k":[100,0],"ix":5},"t":1,"lc":1,"lj":1,"ml":4,"nm":"Gradient Stroke 1","mn":"ADBE Vector Graphic - G-Stroke","hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 3","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":9,"s":[20],"e":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":20,"s":[100],"e":[20]},{"t":55}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0"],"t":9,"s":[240,240],"e":[280,280]},{"i":{"x":[0.051,0.051],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"n":["0p051_1_0p333_0","0p051_1_0p333_0"],"t":20,"s":[280,280],"e":[240,240]},{"t":45}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gs","o":{"a":0,"k":100,"ix":9},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":9,"s":[5],"e":[10]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":20,"s":[10],"e":[5]},{"t":45}],"ix":10},"g":{"p":3,"k":{"a":0,"k":[0,0,0.627,1,0.5,0.496,0.314,1,1,0.992,0,1],"ix":8}},"s":{"a":0,"k":[0,0],"ix":4},"e":{"a":0,"k":[100,0],"ix":5},"t":1,"lc":1,"lj":1,"ml":4,"nm":"Gradient Stroke 1","mn":"ADBE Vector Graphic - G-Stroke","hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Shape Layer 2","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":2,"s":[20],"e":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":13,"s":[100],"e":[20]},{"t":48}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0"],"t":2,"s":[160,160],"e":[200,200]},{"i":{"x":[0.034,0.034],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"n":["0p034_1_0p333_0","0p034_1_0p333_0"],"t":13,"s":[200,200],"e":[160,160]},{"t":38}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gs","o":{"a":0,"k":100,"ix":9},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":2,"s":[5],"e":[10]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":13,"s":[10],"e":[5]},{"t":38}],"ix":10},"g":{"p":3,"k":{"a":0,"k":[0,0,0.627,1,0.5,0.496,0.314,1,1,0.992,0,1],"ix":8}},"s":{"a":0,"k":[0,0],"ix":4},"e":{"a":0,"k":[100,0],"ix":5},"t":1,"lc":1,"lj":1,"ml":4,"nm":"Gradient Stroke 1","mn":"ADBE Vector Graphic - G-Stroke","hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":0,"s":[20],"e":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":11,"s":[100],"e":[20]},{"t":46}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0"],"t":0,"s":[80,80],"e":[120,120]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"n":["0_1_0p333_0","0_1_0p333_0"],"t":11,"s":[120,120],"e":[80,80]},{"t":36}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gs","o":{"a":0,"k":100,"ix":9},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[5],"e":[10]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":11,"s":[10],"e":[5]},{"t":35}],"ix":10},"g":{"p":3,"k":{"a":0,"k":[0,0,0.627,1,0.5,0.496,0.314,1,1,0.992,0,1],"ix":8}},"s":{"a":0,"k":[0,0],"ix":4},"e":{"a":0,"k":[100,0],"ix":5},"t":1,"lc":1,"lj":1,"ml":4,"nm":"Gradient Stroke 1","mn":"ADBE Vector Graphic - G-Stroke","hd":false}],"ip":0,"op":120,"st":0,"bm":0}]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/settings.json b/submodules/RLottie/Sources/rlottie/example/resource/settings.json deleted file mode 100644 index 5dc781b559..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/settings.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.1.16","fr":29.9700012207031,"ip":0,"op":143.000005824509,"w":200,"h":100,"nm":"Composição 2","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"settings contornos","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[50,50,0],"ix":2},"a":{"a":0,"k":[500,500,0],"ix":1},"s":{"a":0,"k":[10,10,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-48.351],[48.351,0],[0,48.351],[-48.35,0]],"o":[[0,48.351],[-48.35,0],[0,-48.351],[48.351,0]],"v":[[87.547,0],[0,87.546],[-87.547,0],[0,-87.546]],"c":true},"ix":2},"nm":"Caminho 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":15,"s":[0.36862745098,0.486274509804,0.701960784314,1],"e":[1,1,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":30,"s":[1,1,1,1],"e":[1,1,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":120,"s":[1,1,1,1],"e":[0.368627458811,0.486274510622,0.701960802078,1]},{"t":135.000005498663}],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Preenchimento 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[508.477,496.992],"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":"Transformar"}],"nm":"Grupo 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-17.498,0],[-30.346,-22.349],[2.857,-40.794],[0,0],[-0.017,-0.034],[-21.335,-0.186],[0,0],[-1.049,1.032],[-0.068,1.267],[-46.372,32.628],[0,0],[-36.939,-23.297],[-7.963,-4.615],[-0.981,26.154],[0,0],[18.376,16.162],[-4.04,40.134],[-35.266,20.186],[-0.372,1.86],[32.273,42.197],[5.022,3.314],[2.586,-2.35],[35.671,22.401],[2.925,1.707],[-14.454,69.043],[27.641,0],[0,0],[0,0],[4.97,-6.83],[31.816,-28.79],[3.753,-3.483],[32.104,3.432],[7.016,7.489],[2.839,-0.034],[10.498,-12.594],[-59.694,-56.194],[0,0],[20.084,-76.532],[33.981,-17.261],[4.919,-2.587],[-28.655,-54.809],[-6.34,-1.826],[-18.512,10.905],[-4.328,2.349],[-1.809,1.049]],"o":[[21.03,0],[59.34,43.685],[0,0],[-0.355,10.583],[6.526,6.847],[0,0],[57.412,0.693],[-0.034,-0.085],[3.11,-66.592],[0,0],[65.358,-46.221],[6.323,3.973],[27.268,-12.088],[0,0],[-14.251,-11.936],[-26.897,-23.583],[4.581,-45.51],[33.338,-19.086],[0.812,-4.057],[-21.368,-27.946],[-1.403,1.015],[-70.734,64.157],[-2.958,-1.843],[-23.989,-14.066],[-10.397,-7.607],[0,0],[0,0],[-28.029,-1.521],[0.186,54.47],[-3.111,2.807],[-38.325,35.671],[-22.536,-2.299],[-24.547,-22.045],[-15.03,1.031],[-35.807,42.924],[0,0],[29.788,27.067],[-8.689,33.118],[-4.902,2.485],[-7.946,4.192],[23.398,44.8],[10.295,2.958],[4.751,-2.806],[1.961,-1.048],[16.162,-9.399]],"v":[[-202.259,227.105],[-127.215,258.229],[-53.506,368.472],[-53.708,371.852],[-52.035,385.766],[15.52,393.137],[18.445,393.154],[88.266,382.317],[88.452,380.306],[145.39,266.141],[149.887,262.963],[290.374,264.079],[311.625,277.079],[390,171.942],[367.176,152.788],[330.88,121.631],[297.795,2.513],[359.569,-99.378],[396.846,-130.552],[363.812,-190.787],[325.757,-231.784],[319.807,-226.864],[153.691,-222.638],[144.849,-227.929],[90.835,-337.107],[18.682,-351.865],[18.209,-351.865],[15.469,-351.95],[-49.195,-339.456],[-93.792,-239.104],[-104.054,-229.721],[-208.666,-181.574],[-252.182,-202.452],[-290.084,-225.41],[-347.581,-173.476],[-322.544,-73.293],[-314.209,-65.533],[-279.705,73.652],[-354.479,140.346],[-369.271,147.953],[-360.582,213.294],[-313.583,268.965],[-270.88,253.563],[-257.237,245.753],[-251.607,242.574]],"c":true},"ix":2},"nm":"Caminho 3","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[98.662,0],[1.351,0.017],[0,0],[31.833,33.186],[-1.048,31.985],[-0.153,2.147],[-0.018,0.321],[26.982,19.881],[2.739,0.897],[1.961,-1.133],[2.807,-1.522],[3.737,-2.214],[46.829,13.388],[29.027,55.553],[-43.887,23.16],[-5.292,2.687],[-6.712,4.903],[11.598,10.532],[0,0],[-88.011,105.525],[-47.962,3.263],[-23.601,-20.844],[-17.227,16.044],[-3.382,3.06],[0,20.946],[-18.004,16.922],[-17.244,-0.93],[-35.992,-44.733],[5.63,-25.342],[-0.017,-1.369],[-4.582,-2.688],[-3.72,-2.333],[-21.369,19.374],[-32.19,-2.723],[-28.519,-37.294],[8.707,-43.144],[32.171,-18.427],[3.939,-15.755],[-4.43,-8.892],[-12.916,-10.802],[0,0],[46.711,-68.062],[54.521,30.025],[9.45,5.968],[3.754,0.389],[14.1,-9.975],[0,0],[1.911,-2.248],[0.423,-9.095]],"o":[[-1.352,0],[0,0],[-47.911,-0.407],[-18.123,-18.866],[0.085,-2.266],[0.017,-0.321],[-2.79,-3.703],[-13.592,-10.009],[-1.69,0.846],[-2.603,1.521],[-3.431,1.825],[-25.324,14.894],[-38.207,-10.939],[-56.685,-108.433],[5.325,-2.806],[10.279,-5.224],[7.235,-30.853],[0,0],[-59.086,-55.637],[34.86,-41.791],[41.385,-2.874],[5.46,-2.163],[4.057,-3.787],[16.297,-14.742],[0,-24.953],[39.965,-37.548],[25.68,0.067],[15.638,19.424],[-1.015,4.53],[2.756,2.367],[3.651,2.147],[35.924,22.536],[14.962,-13.575],[39.931,3.634],[35.774,46.778],[-8.875,43.988],[-5.343,3.043],[-5.664,22.637],[15.333,13.441],[0,0],[39.357,33.151],[-40.151,58.494],[-12.798,-7.032],[-9.112,-5.732],[0.034,0],[0,0],[-7.371,5.189],[-1.217,3.702],[-2.959,63.312]],"v":[[21.758,479.728],[17.702,479.711],[14.777,479.678],[-114.501,445.663],[-140.232,369.013],[-139.86,362.419],[-139.792,361.473],[-178.541,327.915],[-202.006,313.984],[-208.143,317.416],[-216.224,321.998],[-226.976,328.168],[-337.387,352.175],[-437.3,253.377],[-409.676,71.404],[-393.683,63.171],[-361.883,45.521],[-372.416,-1.46],[-381.866,-10.251],[-414.055,-228.926],[-295.951,-311.765],[-196.714,-268.96],[-163.021,-293.084],[-151.863,-303.295],[-135.566,-338.983],[-108.044,-402.988],[19.307,-438.422],[160.216,-389.632],[175.736,-320.217],[174.603,-311.579],[188.619,-302.602],[199.709,-295.941],[261.651,-290.971],[332.233,-319.321],[432.584,-243.364],[481.696,-113.443],[402.578,-24.249],[385.756,0.433],[390.659,58.944],[422.729,86.399],[449.795,109.121],[438.045,270.773],[277.221,357.043],[244.221,337.298],[218.896,323.316],[199.843,333.663],[195.195,336.926],[177.545,350.247],[174.908,384.346]],"c":true},"ix":2},"nm":"Caminho 4","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[1],"y":[0]},"n":["0p667_1_1_0"],"t":15,"s":[0.36862745098,0.486274509804,0.701960784314,1],"e":[1,1,1,1]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":30,"s":[1,1,1,1],"e":[1,1,1,1]},{"i":{"x":[0.05],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p05_1_0p333_0"],"t":120,"s":[1,1,1,1],"e":[0.368627458811,0.486274510622,0.701960802078,1]},{"t":135.000005498663}],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Preenchimento 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[490.403,479.728],"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":"Transformar"}],"nm":"Grupo 2","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":137.000005580124,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"settings","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[100,50,0],"ix":2},"a":{"a":0,"k":[50,50,0],"ix":1},"s":{"a":0,"k":[56,56,100],"ix":6}},"ao":0,"w":100,"h":100,"ip":0,"op":6.00000024438501,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"settings","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[100,50,0],"ix":2},"a":{"a":0,"k":[50,50,0],"ix":1},"s":{"a":0,"k":[56,56,100],"ix":6}},"ao":0,"w":100,"h":100,"ip":-0.30272728505761,"op":0,"st":-12.00000048877,"bm":0},{"ddd":0,"ind":3,"ty":0,"nm":"settings","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[100,50,0],"ix":2},"a":{"a":0,"k":[50,50,0],"ix":1},"s":{"a":0,"k":[56,56,100],"ix":6}},"ao":0,"w":100,"h":100,"ip":6.00000024438501,"op":143.000005824509,"st":6.00000024438501,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Camada de forma 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[103,51,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[97.826,93.75,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[185.893,83.764],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":489,"ix":4},"nm":"Caminho do retângulo 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.36862745098,0.486274509804,0.701960784314,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":9,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Traçado 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[-2.947,-2.161],"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":"Transformar"}],"nm":"Retângulo 1","np":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":143.000005824509,"st":-12.00000048877,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Camada de forma 2","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[103,51.12,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,93.447,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[185.893,83.764],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":489,"ix":4},"nm":"Caminho do retângulo 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.36862745098,0.486274509804,0.701960784314,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":9,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Traçado 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.36862745098,0.486274509804,0.701960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Preenchimento 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"fl","c":{"a":0,"k":[0.36862745098,0.486274509804,0.701960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Preenchimento 2","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-2.947,-2.161],"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":"Transformar"}],"nm":"Retângulo 1","np":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":143.000005824509,"st":-12.00000048877,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Camada de forma 3","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[100,50,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":18,"s":[0,0,100],"e":[569,569,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":33,"s":[569,569,100],"e":[569,569,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":127,"s":[569,569,100],"e":[0,0,100]},{"t":142.000005783779}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[15.12,0],[0,-15.12],[-15.12,0],[0,15.12]],"o":[[-15.12,0],[0,15.12],[15.12,0],[0,-15.12]],"v":[[0,-27.376],[-27.376,0],[0,27.376],[27.376,0]],"c":true},"ix":2},"nm":"Caminho 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.36862745098,0.486274509804,0.701960784314,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":9,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Traçado 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.36862745098,0.486274509804,0.701960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Preenchimento 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-0.955,1.286],"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":"Transformar"}],"nm":"Elipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":143.000005824509,"st":-12.00000048877,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/spin,_lil_loader_v2.json b/submodules/RLottie/Sources/rlottie/example/resource/spin,_lil_loader_v2.json deleted file mode 100644 index 64b71e8ced..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/spin,_lil_loader_v2.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.1.16","fr":30,"ip":0,"op":50,"w":90,"h":90,"nm":"stick 2","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"stick 1","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":6,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":21,"s":[100],"e":[0]},{"t":36}],"ix":11},"r":{"a":0,"k":45,"ix":10},"p":{"a":0,"k":[45,45,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.1,0],[0,0],[0,1.1],[0,0],[-1.1,0],[0,-1.1],[0,0]],"o":[[0,0],[-1.1,0],[0,0],[0,-1.1],[1.1,0],[0,0],[0,1.1]],"v":[[0,7.5],[0,7.5],[-2,5.5],[-2,-5.5],[0,-7.5],[2,-5.5],[2,5.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.752941191196,0.874509811401,0.086274512112,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,20],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":6,"op":186,"st":6,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"stick 8","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":3,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":18,"s":[100],"e":[0]},{"t":33}],"ix":11},"r":{"a":0,"k":90,"ix":10},"p":{"a":0,"k":[45,45,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.1,0],[0,0],[0,1.1],[0,0],[-1.1,0],[0,-1.1],[0,0]],"o":[[0,0],[-1.1,0],[0,0],[0,-1.1],[1.1,0],[0,0],[0,1.1]],"v":[[0,7.5],[0,7.5],[-2,5.5],[-2,-5.5],[0,-7.5],[2,-5.5],[2,5.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.752941191196,0.874509811401,0.086274512112,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,20],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":3,"op":183,"st":3,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"stick 7","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":6,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":21,"s":[100],"e":[0]},{"t":36}],"ix":11},"r":{"a":0,"k":135,"ix":10},"p":{"a":0,"k":[45,45,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.1,0],[0,0],[0,1.1],[0,0],[-1.1,0],[0,-1.1],[0,0]],"o":[[0,0],[-1.1,0],[0,0],[0,-1.1],[1.1,0],[0,0],[0,1.1]],"v":[[0,7.5],[0,7.5],[-2,5.5],[-2,-5.5],[0,-7.5],[2,-5.5],[2,5.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.752941191196,0.874509811401,0.086274512112,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,20],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":6,"op":186,"st":6,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"stick 6","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":9,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":24,"s":[100],"e":[0]},{"t":39}],"ix":11},"r":{"a":0,"k":180,"ix":10},"p":{"a":0,"k":[45,45,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.1,0],[0,0],[0,1.1],[0,0],[-1.1,0],[0,-1.1],[0,0]],"o":[[0,0],[-1.1,0],[0,0],[0,-1.1],[1.1,0],[0,0],[0,1.1]],"v":[[0,7.5],[0,7.5],[-2,5.5],[-2,-5.5],[0,-7.5],[2,-5.5],[2,5.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.752941191196,0.874509811401,0.086274512112,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,20],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":9,"op":189,"st":9,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"stick 5","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":12,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":27,"s":[100],"e":[0]},{"t":42}],"ix":11},"r":{"a":0,"k":225,"ix":10},"p":{"a":0,"k":[45,45,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.1,0],[0,0],[0,1.1],[0,0],[-1.1,0],[0,-1.1],[0,0]],"o":[[0,0],[-1.1,0],[0,0],[0,-1.1],[1.1,0],[0,0],[0,1.1]],"v":[[0,7.5],[0,7.5],[-2,5.5],[-2,-5.5],[0,-7.5],[2,-5.5],[2,5.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.752941191196,0.874509811401,0.086274512112,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,20],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":12,"op":192,"st":12,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"stick 4","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":15,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":30,"s":[100],"e":[0]},{"t":45}],"ix":11},"r":{"a":0,"k":270,"ix":10},"p":{"a":0,"k":[45,45,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.1,0],[0,0],[0,1.1],[0,0],[-1.1,0],[0,-1.1],[0,0]],"o":[[0,0],[-1.1,0],[0,0],[0,-1.1],[1.1,0],[0,0],[0,1.1]],"v":[[0,7.5],[0,7.5],[-2,5.5],[-2,-5.5],[0,-7.5],[2,-5.5],[2,5.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.752941191196,0.874509811401,0.086274512112,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,20],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":15,"op":195,"st":15,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"stick 3","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":17,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":32,"s":[100],"e":[0]},{"t":47}],"ix":11},"r":{"a":0,"k":315,"ix":10},"p":{"a":0,"k":[45,45,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.1,0],[0,0],[0,1.1],[0,0],[-1.1,0],[0,-1.1],[0,0]],"o":[[0,0],[-1.1,0],[0,0],[0,-1.1],[1.1,0],[0,0],[0,1.1]],"v":[[0,7.5],[0,7.5],[-2,5.5],[-2,-5.5],[0,-7.5],[2,-5.5],[2,5.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.752941191196,0.874509811401,0.086274512112,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,20],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":17,"op":197,"st":17,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"stick 2","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":20,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[100],"e":[0]},{"t":50}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[45,45,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.1,0],[0,0],[0,1.1],[0,0],[-1.1,0],[0,-1.1],[0,0]],"o":[[0,0],[-1.1,0],[0,0],[0,-1.1],[1.1,0],[0,0],[0,1.1]],"v":[[0,7.5],[0,7.5],[-2,5.5],[-2,-5.5],[0,-7.5],[2,-5.5],[2,5.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.752941191196,0.874509811401,0.086274512112,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,20],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":20,"op":200,"st":20,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/square_wheel.json b/submodules/RLottie/Sources/rlottie/example/resource/square_wheel.json deleted file mode 100644 index 1543adbe7c..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/square_wheel.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.1.20","fr":60,"ip":0,"op":120,"w":256,"h":256,"nm":"square wheel","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"roda","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[810]},{"t":119}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[-24,231.5,0],"e":[-21.87,229.6,0],"to":[0.35499998927116,-0.31666666269302,0],"ti":[-0.74666666984558,0.58666664361954,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":1,"s":[-21.87,229.6,0],"e":[-19.52,227.98,0],"to":[0.74666666984558,-0.58666664361954,0],"ti":[-0.8116666674614,0.49333333969116,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":2,"s":[-19.52,227.98,0],"e":[-17,226.64,0],"to":[0.8116666674614,-0.49333333969116,0],"ti":[-0.86333334445953,0.39500001072884,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":3,"s":[-17,226.64,0],"e":[-14.34,225.61,0],"to":[0.86333334445953,-0.39500001072884,0],"ti":[-0.90499997138977,0.28999999165535,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.166},"n":"0p833_0p833_0p167_0p166","t":4,"s":[-14.34,225.61,0],"e":[-11.57,224.9,0],"to":[0.90499997138977,-0.28999999165535,0],"ti":[-0.93333333730698,0.18166667222977,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":5,"s":[-11.57,224.9,0],"e":[-8.74,224.52,0],"to":[0.93333333730698,-0.18166667222977,0],"ti":[-0.94666665792465,0.07000000029802,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":6,"s":[-8.74,224.52,0],"e":[-5.89,224.48,0],"to":[0.94666665792465,-0.07000000029802,0],"ti":[-0.94833332300186,-0.04333333298564,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":7,"s":[-5.89,224.48,0],"e":[-3.05,224.78,0],"to":[0.94833332300186,0.04333333298564,0],"ti":[-0.9366666674614,-0.1566666662693,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":8,"s":[-3.05,224.78,0],"e":[-0.27,225.42,0],"to":[0.9366666674614,0.1566666662693,0],"ti":[-0.91166669130325,-0.26666668057442,0]},{"i":{"x":0.833,"y":0.834},"o":{"x":0.167,"y":0.167},"n":"0p833_0p834_0p167_0p167","t":9,"s":[-0.27,225.42,0],"e":[2.42,226.38,0],"to":[0.91166669130325,0.26666668057442,0],"ti":[-0.87333333492279,-0.37166666984558,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":10,"s":[2.42,226.38,0],"e":[4.97,227.65,0],"to":[0.87333333492279,0.37166666984558,0],"ti":[-0.82333332300186,-0.47333332896233,0]},{"i":{"x":0.833,"y":0.832},"o":{"x":0.167,"y":0.166},"n":"0p833_0p832_0p167_0p166","t":11,"s":[4.97,227.65,0],"e":[7.36,229.22,0],"to":[0.82333332300186,0.47333332896233,0],"ti":[-0.76333332061768,-0.56833332777023,0]},{"i":{"x":0.833,"y":0.847},"o":{"x":0.167,"y":0.166},"n":"0p833_0p847_0p167_0p166","t":12,"s":[7.36,229.22,0],"e":[9.55,231.06,0],"to":[0.76333332061768,0.56833332777023,0],"ti":[-0.71333330869675,-0.12999999523163,0]},{"i":{"x":0.833,"y":0.818},"o":{"x":0.167,"y":0.184},"n":"0p833_0p818_0p167_0p184","t":13,"s":[9.55,231.06,0],"e":[11.64,230,0],"to":[0.71333330869675,0.12999999523163,0],"ti":[-0.7316666841507,0.45833334326744,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.153},"n":"0p833_0p833_0p167_0p153","t":14,"s":[11.64,230,0],"e":[13.94,228.31,0],"to":[0.7316666841507,-0.45833334326744,0],"ti":[-0.79833334684372,0.51499998569489,0]},{"i":{"x":0.833,"y":0.834},"o":{"x":0.167,"y":0.167},"n":"0p833_0p834_0p167_0p167","t":15,"s":[13.94,228.31,0],"e":[16.43,226.91,0],"to":[0.79833334684372,-0.51499998569489,0],"ti":[-0.85333335399628,0.41666665673256,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":16,"s":[16.43,226.91,0],"e":[19.06,225.81,0],"to":[0.85333335399628,-0.41666665673256,0],"ti":[-0.89666664600372,0.3133333325386,0]},{"i":{"x":0.833,"y":0.834},"o":{"x":0.167,"y":0.166},"n":"0p833_0p834_0p167_0p166","t":17,"s":[19.06,225.81,0],"e":[21.81,225.03,0],"to":[0.89666664600372,-0.3133333325386,0],"ti":[-0.92666667699814,0.20499999821186,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":18,"s":[21.81,225.03,0],"e":[24.62,224.58,0],"to":[0.92666667699814,-0.20499999821186,0],"ti":[-0.94499999284744,0.09499999880791,0]},{"i":{"x":0.833,"y":0.834},"o":{"x":0.167,"y":0.166},"n":"0p833_0p834_0p167_0p166","t":19,"s":[24.62,224.58,0],"e":[27.48,224.46,0],"to":[0.94499999284744,-0.09499999880791,0],"ti":[-0.94999998807907,-0.01833333261311,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":20,"s":[27.48,224.46,0],"e":[30.32,224.69,0],"to":[0.94999998807907,0.01833333261311,0],"ti":[-0.93999999761581,-0.13166666030884,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.166},"n":"0p833_0p833_0p167_0p166","t":21,"s":[30.32,224.69,0],"e":[33.12,225.25,0],"to":[0.93999999761581,0.13166666030884,0],"ti":[-0.91833335161209,-0.24166665971279,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":22,"s":[33.12,225.25,0],"e":[35.83,226.14,0],"to":[0.91833335161209,0.24166665971279,0],"ti":[-0.88333332538605,-0.34833332896233,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":23,"s":[35.83,226.14,0],"e":[38.42,227.34,0],"to":[0.88333332538605,0.34833332896233,0],"ti":[-0.83666664361954,-0.45166665315628,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.166},"n":"0p833_0p833_0p167_0p166","t":24,"s":[38.42,227.34,0],"e":[40.85,228.85,0],"to":[0.83666664361954,0.45166665315628,0],"ti":[-0.77666664123535,-0.54833334684372,0]},{"i":{"x":0.833,"y":0.854},"o":{"x":0.167,"y":0.167},"n":"0p833_0p854_0p167_0p167","t":25,"s":[40.85,228.85,0],"e":[43.08,230.63,0],"to":[0.77666664123535,0.54833334684372,0],"ti":[-0.71833330392838,-0.26166665554047,0]},{"i":{"x":0.833,"y":0.806},"o":{"x":0.167,"y":0.194},"n":"0p833_0p806_0p167_0p194","t":26,"s":[43.08,230.63,0],"e":[45.16,230.42,0],"to":[0.71833330392838,0.26166665554047,0],"ti":[-0.72166669368744,0.32666665315628,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.146},"n":"0p833_0p833_0p167_0p146","t":27,"s":[45.16,230.42,0],"e":[47.41,228.67,0],"to":[0.72166669368744,-0.32666665315628,0],"ti":[-0.78333336114883,0.53666669130325,0]},{"i":{"x":0.833,"y":0.834},"o":{"x":0.167,"y":0.167},"n":"0p833_0p834_0p167_0p167","t":28,"s":[47.41,228.67,0],"e":[49.86,227.2,0],"to":[0.78333336114883,-0.53666669130325,0],"ti":[-0.84166663885117,0.43999999761581,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":29,"s":[49.86,227.2,0],"e":[52.46,226.03,0],"to":[0.84166663885117,-0.43999999761581,0],"ti":[-0.88833332061768,0.33833333849907,0]},{"i":{"x":0.833,"y":0.834},"o":{"x":0.167,"y":0.166},"n":"0p833_0p834_0p167_0p166","t":30,"s":[52.46,226.03,0],"e":[55.19,225.17,0],"to":[0.88833332061768,-0.33833333849907,0],"ti":[-0.92166668176651,0.23000000417233,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":31,"s":[55.19,225.17,0],"e":[57.99,224.65,0],"to":[0.92166668176651,-0.23000000417233,0],"ti":[-0.94166666269302,0.11833333224058,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.166},"n":"0p833_0p833_0p167_0p166","t":32,"s":[57.99,224.65,0],"e":[60.84,224.46,0],"to":[0.94166666269302,-0.11833333224058,0],"ti":[-0.94999998807907,0.0066666668281,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":33,"s":[60.84,224.46,0],"e":[63.69,224.61,0],"to":[0.94999998807907,-0.0066666668281,0],"ti":[-0.94333332777023,-0.10666666924953,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":34,"s":[63.69,224.61,0],"e":[66.5,225.1,0],"to":[0.94333332777023,0.10666666924953,0],"ti":[-0.92500001192093,-0.21666666865349,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":35,"s":[66.5,225.1,0],"e":[69.24,225.91,0],"to":[0.92500001192093,0.21666666865349,0],"ti":[-0.8933333158493,-0.32499998807907,0]},{"i":{"x":0.833,"y":0.834},"o":{"x":0.167,"y":0.167},"n":"0p833_0p834_0p167_0p167","t":36,"s":[69.24,225.91,0],"e":[71.86,227.05,0],"to":[0.8933333158493,0.32499998807907,0],"ti":[-0.84666669368744,-0.43000000715256,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":37,"s":[71.86,227.05,0],"e":[74.32,228.49,0],"to":[0.84666669368744,0.43000000715256,0],"ti":[-0.79000002145767,-0.52666664123535,0]},{"i":{"x":0.833,"y":0.851},"o":{"x":0.167,"y":0.166},"n":"0p833_0p851_0p167_0p166","t":38,"s":[74.32,228.49,0],"e":[76.6,230.21,0],"to":[0.79000002145767,0.52666664123535,0],"ti":[-0.72833335399628,-0.39166668057442,0]},{"i":{"x":0.833,"y":0.81},"o":{"x":0.167,"y":0.19},"n":"0p833_0p81_0p167_0p19","t":39,"s":[76.6,230.21,0],"e":[78.69,230.84,0],"to":[0.72833335399628,0.39166668057442,0],"ti":[-0.71499997377396,0.19666667282581,0]},{"i":{"x":0.833,"y":0.834},"o":{"x":0.167,"y":0.148},"n":"0p833_0p834_0p167_0p148","t":40,"s":[78.69,230.84,0],"e":[80.89,229.03,0],"to":[0.71499997377396,-0.19666667282581,0],"ti":[-0.7683333158493,0.55666667222977,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":41,"s":[80.89,229.03,0],"e":[83.3,227.5,0],"to":[0.7683333158493,-0.55666667222977,0],"ti":[-0.8299999833107,0.46166667342186,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":42,"s":[83.3,227.5,0],"e":[85.87,226.26,0],"to":[0.8299999833107,-0.46166667342186,0],"ti":[-0.87833333015442,0.36166667938232,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":43,"s":[85.87,226.26,0],"e":[88.57,225.33,0],"to":[0.87833333015442,-0.36166667938232,0],"ti":[-0.91500002145767,0.25499999523163,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":44,"s":[88.57,225.33,0],"e":[91.36,224.73,0],"to":[0.91500002145767,-0.25499999523163,0],"ti":[-0.93999999761581,0.14333333075047,0]},{"i":{"x":0.833,"y":0.834},"o":{"x":0.167,"y":0.166},"n":"0p833_0p834_0p167_0p166","t":45,"s":[91.36,224.73,0],"e":[94.21,224.47,0],"to":[0.93999999761581,-0.14333333075047,0],"ti":[-0.94999998807907,0.02999999932945,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":46,"s":[94.21,224.47,0],"e":[97.06,224.55,0],"to":[0.94999998807907,-0.02999999932945,0],"ti":[-0.94499999284744,-0.08166666328907,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":47,"s":[97.06,224.55,0],"e":[99.88,224.96,0],"to":[0.94499999284744,0.08166666328907,0],"ti":[-0.93000000715256,-0.19166666269302,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.166},"n":"0p833_0p833_0p167_0p166","t":48,"s":[99.88,224.96,0],"e":[102.64,225.7,0],"to":[0.93000000715256,0.19166666269302,0],"ti":[-0.90166664123535,-0.30166667699814,0]},{"i":{"x":0.833,"y":0.834},"o":{"x":0.167,"y":0.167},"n":"0p833_0p834_0p167_0p167","t":49,"s":[102.64,225.7,0],"e":[105.29,226.77,0],"to":[0.90166664123535,0.30166667699814,0],"ti":[-0.85833334922791,-0.4066666662693,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":50,"s":[105.29,226.77,0],"e":[107.79,228.14,0],"to":[0.85833334922791,0.4066666662693,0],"ti":[-0.80333334207535,-0.50499999523163,0]},{"i":{"x":0.833,"y":0.839},"o":{"x":0.167,"y":0.167},"n":"0p833_0p839_0p167_0p167","t":51,"s":[107.79,228.14,0],"e":[110.11,229.8,0],"to":[0.80333334207535,0.50499999523163,0],"ti":[-0.74000000953674,-0.52333331108093,0]},{"i":{"x":0.833,"y":0.825},"o":{"x":0.167,"y":0.173},"n":"0p833_0p825_0p167_0p173","t":52,"s":[110.11,229.8,0],"e":[112.23,231.28,0],"to":[0.74000000953674,0.52333331108093,0],"ti":[-0.71333330869675,0.06499999761581,0]},{"i":{"x":0.833,"y":0.835},"o":{"x":0.167,"y":0.159},"n":"0p833_0p835_0p167_0p159","t":53,"s":[112.23,231.28,0],"e":[114.39,229.41,0],"to":[0.71333330869675,-0.06499999761581,0],"ti":[-0.75333333015442,0.57833331823349,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.168},"n":"0p833_0p833_0p167_0p168","t":54,"s":[114.39,229.41,0],"e":[116.75,227.81,0],"to":[0.75333333015442,-0.57833331823349,0],"ti":[-0.81666666269302,0.48333331942558,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":55,"s":[116.75,227.81,0],"e":[119.29,226.51,0],"to":[0.81666666269302,-0.48333331942558,0],"ti":[-0.86833333969116,0.38333332538605,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":56,"s":[119.29,226.51,0],"e":[121.96,225.51,0],"to":[0.86833333969116,-0.38333332538605,0],"ti":[-0.90833336114883,0.27833333611488,0]},{"i":{"x":0.833,"y":0.834},"o":{"x":0.167,"y":0.166},"n":"0p833_0p834_0p167_0p166","t":57,"s":[121.96,225.51,0],"e":[124.74,224.84,0],"to":[0.90833336114883,-0.27833333611488,0],"ti":[-0.93500000238419,0.16833333671093,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":58,"s":[124.74,224.84,0],"e":[127.57,224.5,0],"to":[0.93500000238419,-0.16833333671093,0],"ti":[-0.94833332300186,0.05666666850448,0]},{"i":{"x":0.833,"y":0.834},"o":{"x":0.167,"y":0.166},"n":"0p833_0p834_0p167_0p166","t":59,"s":[127.57,224.5,0],"e":[130.43,224.5,0],"to":[0.94833332300186,-0.05666666850448,0],"ti":[-0.94833332300186,-0.05666666850448,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":60,"s":[130.43,224.5,0],"e":[133.26,224.84,0],"to":[0.94833332300186,0.05666666850448,0],"ti":[-0.93500000238419,-0.16833333671093,0]},{"i":{"x":0.833,"y":0.834},"o":{"x":0.167,"y":0.166},"n":"0p833_0p834_0p167_0p166","t":61,"s":[133.26,224.84,0],"e":[136.04,225.51,0],"to":[0.93500000238419,0.16833333671093,0],"ti":[-0.90833336114883,-0.27833333611488,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":62,"s":[136.04,225.51,0],"e":[138.71,226.51,0],"to":[0.90833336114883,0.27833333611488,0],"ti":[-0.86833333969116,-0.38333332538605,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":63,"s":[138.71,226.51,0],"e":[141.25,227.81,0],"to":[0.86833333969116,0.38333332538605,0],"ti":[-0.81666666269302,-0.48333331942558,0]},{"i":{"x":0.833,"y":0.832},"o":{"x":0.167,"y":0.167},"n":"0p833_0p832_0p167_0p167","t":64,"s":[141.25,227.81,0],"e":[143.61,229.41,0],"to":[0.81666666269302,0.48333331942558,0],"ti":[-0.75333333015442,-0.57833331823349,0]},{"i":{"x":0.833,"y":0.841},"o":{"x":0.167,"y":0.165},"n":"0p833_0p841_0p167_0p165","t":65,"s":[143.61,229.41,0],"e":[145.77,231.28,0],"to":[0.75333333015442,0.57833331823349,0],"ti":[-0.71333330869675,-0.06499999761581,0]},{"i":{"x":0.833,"y":0.827},"o":{"x":0.167,"y":0.175},"n":"0p833_0p827_0p167_0p175","t":66,"s":[145.77,231.28,0],"e":[147.89,229.8,0],"to":[0.71333330869675,0.06499999761581,0],"ti":[-0.74000000953674,0.52333331108093,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.161},"n":"0p833_0p833_0p167_0p161","t":67,"s":[147.89,229.8,0],"e":[150.21,228.14,0],"to":[0.74000000953674,-0.52333331108093,0],"ti":[-0.80333334207535,0.50499999523163,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":68,"s":[150.21,228.14,0],"e":[152.71,226.77,0],"to":[0.80333334207535,-0.50499999523163,0],"ti":[-0.85833334922791,0.4066666662693,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.166},"n":"0p833_0p833_0p167_0p166","t":69,"s":[152.71,226.77,0],"e":[155.36,225.7,0],"to":[0.85833334922791,-0.4066666662693,0],"ti":[-0.90166664123535,0.30166667699814,0]},{"i":{"x":0.833,"y":0.834},"o":{"x":0.167,"y":0.167},"n":"0p833_0p834_0p167_0p167","t":70,"s":[155.36,225.7,0],"e":[158.12,224.96,0],"to":[0.90166664123535,-0.30166667699814,0],"ti":[-0.93000000715256,0.19166666269302,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":71,"s":[158.12,224.96,0],"e":[160.94,224.55,0],"to":[0.93000000715256,-0.19166666269302,0],"ti":[-0.94499999284744,0.08166666328907,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":72,"s":[160.94,224.55,0],"e":[163.79,224.47,0],"to":[0.94499999284744,-0.08166666328907,0],"ti":[-0.94999998807907,-0.02999999932945,0]},{"i":{"x":0.833,"y":0.834},"o":{"x":0.167,"y":0.166},"n":"0p833_0p834_0p167_0p166","t":73,"s":[163.79,224.47,0],"e":[166.64,224.73,0],"to":[0.94999998807907,0.02999999932945,0],"ti":[-0.93999999761581,-0.14333333075047,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":74,"s":[166.64,224.73,0],"e":[169.43,225.33,0],"to":[0.93999999761581,0.14333333075047,0],"ti":[-0.91500002145767,-0.25499999523163,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":75,"s":[169.43,225.33,0],"e":[172.13,226.26,0],"to":[0.91500002145767,0.25499999523163,0],"ti":[-0.87833333015442,-0.36166667938232,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":76,"s":[172.13,226.26,0],"e":[174.7,227.5,0],"to":[0.87833333015442,0.36166667938232,0],"ti":[-0.8299999833107,-0.46166667342186,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":77,"s":[174.7,227.5,0],"e":[177.11,229.03,0],"to":[0.8299999833107,0.46166667342186,0],"ti":[-0.7683333158493,-0.55666667222977,0]},{"i":{"x":0.833,"y":0.852},"o":{"x":0.167,"y":0.166},"n":"0p833_0p852_0p167_0p166","t":78,"s":[177.11,229.03,0],"e":[179.31,230.84,0],"to":[0.7683333158493,0.55666667222977,0],"ti":[-0.71499997377396,-0.19666667282581,0]},{"i":{"x":0.833,"y":0.81},"o":{"x":0.167,"y":0.19},"n":"0p833_0p81_0p167_0p19","t":79,"s":[179.31,230.84,0],"e":[181.4,230.21,0],"to":[0.71499997377396,0.19666667282581,0],"ti":[-0.72833335399628,0.39166668057442,0]},{"i":{"x":0.833,"y":0.834},"o":{"x":0.167,"y":0.149},"n":"0p833_0p834_0p167_0p149","t":80,"s":[181.4,230.21,0],"e":[183.68,228.49,0],"to":[0.72833335399628,-0.39166668057442,0],"ti":[-0.79000002145767,0.52666664123535,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":81,"s":[183.68,228.49,0],"e":[186.14,227.05,0],"to":[0.79000002145767,-0.52666664123535,0],"ti":[-0.84666669368744,0.43000000715256,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.166},"n":"0p833_0p833_0p167_0p166","t":82,"s":[186.14,227.05,0],"e":[188.76,225.91,0],"to":[0.84666669368744,-0.43000000715256,0],"ti":[-0.8933333158493,0.32499998807907,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":83,"s":[188.76,225.91,0],"e":[191.5,225.1,0],"to":[0.8933333158493,-0.32499998807907,0],"ti":[-0.92500001192093,0.21666666865349,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":84,"s":[191.5,225.1,0],"e":[194.31,224.61,0],"to":[0.92500001192093,-0.21666666865349,0],"ti":[-0.94333332777023,0.10666666924953,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":85,"s":[194.31,224.61,0],"e":[197.16,224.46,0],"to":[0.94333332777023,-0.10666666924953,0],"ti":[-0.94999998807907,-0.0066666668281,0]},{"i":{"x":0.833,"y":0.834},"o":{"x":0.167,"y":0.167},"n":"0p833_0p834_0p167_0p167","t":86,"s":[197.16,224.46,0],"e":[200.01,224.65,0],"to":[0.94999998807907,0.0066666668281,0],"ti":[-0.94166666269302,-0.11833333224058,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":87,"s":[200.01,224.65,0],"e":[202.81,225.17,0],"to":[0.94166666269302,0.11833333224058,0],"ti":[-0.92166668176651,-0.23000000417233,0]},{"i":{"x":0.833,"y":0.834},"o":{"x":0.167,"y":0.166},"n":"0p833_0p834_0p167_0p166","t":88,"s":[202.81,225.17,0],"e":[205.54,226.03,0],"to":[0.92166668176651,0.23000000417233,0],"ti":[-0.88833332061768,-0.33833333849907,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":89,"s":[205.54,226.03,0],"e":[208.14,227.2,0],"to":[0.88833332061768,0.33833333849907,0],"ti":[-0.84166663885117,-0.43999999761581,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.166},"n":"0p833_0p833_0p167_0p166","t":90,"s":[208.14,227.2,0],"e":[210.59,228.67,0],"to":[0.84166663885117,0.43999999761581,0],"ti":[-0.78333336114883,-0.53666669130325,0]},{"i":{"x":0.833,"y":0.854},"o":{"x":0.167,"y":0.167},"n":"0p833_0p854_0p167_0p167","t":91,"s":[210.59,228.67,0],"e":[212.84,230.42,0],"to":[0.78333336114883,0.53666669130325,0],"ti":[-0.72166669368744,-0.32666665315628,0]},{"i":{"x":0.833,"y":0.806},"o":{"x":0.167,"y":0.194},"n":"0p833_0p806_0p167_0p194","t":92,"s":[212.84,230.42,0],"e":[214.92,230.63,0],"to":[0.72166669368744,0.32666665315628,0],"ti":[-0.71833330392838,0.26166665554047,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.146},"n":"0p833_0p833_0p167_0p146","t":93,"s":[214.92,230.63,0],"e":[217.15,228.85,0],"to":[0.71833330392838,-0.26166665554047,0],"ti":[-0.77666664123535,0.54833334684372,0]},{"i":{"x":0.833,"y":0.834},"o":{"x":0.167,"y":0.167},"n":"0p833_0p834_0p167_0p167","t":94,"s":[217.15,228.85,0],"e":[219.58,227.34,0],"to":[0.77666664123535,-0.54833334684372,0],"ti":[-0.83666664361954,0.45166665315628,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":95,"s":[219.58,227.34,0],"e":[222.17,226.14,0],"to":[0.83666664361954,-0.45166665315628,0],"ti":[-0.88333332538605,0.34833332896233,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":96,"s":[222.17,226.14,0],"e":[224.88,225.25,0],"to":[0.88333332538605,-0.34833332896233,0],"ti":[-0.91833335161209,0.24166665971279,0]},{"i":{"x":0.833,"y":0.834},"o":{"x":0.167,"y":0.167},"n":"0p833_0p834_0p167_0p167","t":97,"s":[224.88,225.25,0],"e":[227.68,224.69,0],"to":[0.91833335161209,-0.24166665971279,0],"ti":[-0.93999999761581,0.13166666030884,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":98,"s":[227.68,224.69,0],"e":[230.52,224.46,0],"to":[0.93999999761581,-0.13166666030884,0],"ti":[-0.94999998807907,0.01833333261311,0]},{"i":{"x":0.833,"y":0.834},"o":{"x":0.167,"y":0.166},"n":"0p833_0p834_0p167_0p166","t":99,"s":[230.52,224.46,0],"e":[233.38,224.58,0],"to":[0.94999998807907,-0.01833333261311,0],"ti":[-0.94499999284744,-0.09499999880791,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":100,"s":[233.38,224.58,0],"e":[236.19,225.03,0],"to":[0.94499999284744,0.09499999880791,0],"ti":[-0.92666667699814,-0.20499999821186,0]},{"i":{"x":0.833,"y":0.834},"o":{"x":0.167,"y":0.166},"n":"0p833_0p834_0p167_0p166","t":101,"s":[236.19,225.03,0],"e":[238.94,225.81,0],"to":[0.92666667699814,0.20499999821186,0],"ti":[-0.89666664600372,-0.3133333325386,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":102,"s":[238.94,225.81,0],"e":[241.57,226.91,0],"to":[0.89666664600372,0.3133333325386,0],"ti":[-0.85333335399628,-0.41666665673256,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.166},"n":"0p833_0p833_0p167_0p166","t":103,"s":[241.57,226.91,0],"e":[244.06,228.31,0],"to":[0.85333335399628,0.41666665673256,0],"ti":[-0.79833334684372,-0.51499998569489,0]},{"i":{"x":0.833,"y":0.847},"o":{"x":0.167,"y":0.167},"n":"0p833_0p847_0p167_0p167","t":104,"s":[244.06,228.31,0],"e":[246.36,230,0],"to":[0.79833334684372,0.51499998569489,0],"ti":[-0.7316666841507,-0.45833334326744,0]},{"i":{"x":0.833,"y":0.816},"o":{"x":0.167,"y":0.182},"n":"0p833_0p816_0p167_0p182","t":105,"s":[246.36,230,0],"e":[248.45,231.06,0],"to":[0.7316666841507,0.45833334326744,0],"ti":[-0.71333330869675,0.12999999523163,0]},{"i":{"x":0.833,"y":0.834},"o":{"x":0.167,"y":0.153},"n":"0p833_0p834_0p167_0p153","t":106,"s":[248.45,231.06,0],"e":[250.64,229.22,0],"to":[0.71333330869675,-0.12999999523163,0],"ti":[-0.76333332061768,0.56833332777023,0]},{"i":{"x":0.833,"y":0.834},"o":{"x":0.167,"y":0.168},"n":"0p833_0p834_0p167_0p168","t":107,"s":[250.64,229.22,0],"e":[253.03,227.65,0],"to":[0.76333332061768,-0.56833332777023,0],"ti":[-0.82333332300186,0.47333332896233,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":108,"s":[253.03,227.65,0],"e":[255.58,226.38,0],"to":[0.82333332300186,-0.47333332896233,0],"ti":[-0.87333333492279,0.37166666984558,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.166},"n":"0p833_0p833_0p167_0p166","t":109,"s":[255.58,226.38,0],"e":[258.27,225.42,0],"to":[0.87333333492279,-0.37166666984558,0],"ti":[-0.91166669130325,0.26666668057442,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":110,"s":[258.27,225.42,0],"e":[261.05,224.78,0],"to":[0.91166669130325,-0.26666668057442,0],"ti":[-0.9366666674614,0.1566666662693,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":111,"s":[261.05,224.78,0],"e":[263.89,224.48,0],"to":[0.9366666674614,-0.1566666662693,0],"ti":[-0.94833332300186,0.04333333298564,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":112,"s":[263.89,224.48,0],"e":[266.74,224.52,0],"to":[0.94833332300186,-0.04333333298564,0],"ti":[-0.94666665792465,-0.07000000029802,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":113,"s":[266.74,224.52,0],"e":[269.57,224.9,0],"to":[0.94666665792465,0.07000000029802,0],"ti":[-0.93333333730698,-0.18166667222977,0]},{"i":{"x":0.833,"y":0.834},"o":{"x":0.167,"y":0.167},"n":"0p833_0p834_0p167_0p167","t":114,"s":[269.57,224.9,0],"e":[272.34,225.61,0],"to":[0.93333333730698,0.18166667222977,0],"ti":[-0.90499997138977,-0.28999999165535,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":115,"s":[272.34,225.61,0],"e":[275,226.64,0],"to":[0.90499997138977,0.28999999165535,0],"ti":[-0.86333334445953,-0.39500001072884,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":116,"s":[275,226.64,0],"e":[277.52,227.98,0],"to":[0.86333334445953,0.39500001072884,0],"ti":[-0.8116666674614,-0.49333333969116,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":117,"s":[277.52,227.98,0],"e":[279.87,229.6,0],"to":[0.8116666674614,0.49333333969116,0],"ti":[-0.74666666984558,-0.58666664361954,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":118,"s":[279.87,229.6,0],"e":[282,231.5,0],"to":[0.74666666984558,0.58666664361954,0],"ti":[-0.35499998927116,-0.31666666269302,0]},{"t":119}],"ix":2},"a":{"a":0,"k":[-96,98.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[34,34],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.243137000589,0.082353001015,0.768627989526,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.378575882257,0.034678967794,0.803921568627,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-96,98.5],"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":"Rectangle 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"_square wheel","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[128,128,0],"ix":2},"a":{"a":0,"k":[128,128,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":256,"h":256,"ip":0,"op":120,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/starts_transparent.json b/submodules/RLottie/Sources/rlottie/example/resource/starts_transparent.json deleted file mode 100644 index 2735edf4bc..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/starts_transparent.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"4.5.6","fr":30,"ip":0,"op":91,"w":800,"h":800,"ddd":0,"assets":[],"layers":[{"ddd":0,"ind":0,"ty":3,"nm":"Master","ks":{"o":{"a":0,"k":0},"r":{"a":0,"k":0},"p":{"a":0,"k":[400,461.657,0]},"a":{"a":0,"k":[0,0,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"ip":0,"op":600,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":1,"ty":4,"nm":"Star_03","parent":0,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":64,"s":[100],"e":[0]},{"t":84}]},"r":{"a":1,"k":[{"i":{"x":[0.006],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p006_1_0p167_0p167"],"t":14,"s":[-720],"e":[-1149]},{"t":90}]},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":14,"s":[-72.808,4.062,0],"e":[2.192,-72.938,0],"to":[7.80815124511719,-75.0615844726562,0],"ti":[0,0,0]},{"t":84}]},"a":{"a":0,"k":[231.37,449.226,0]},"s":{"a":1,"k":[{"i":{"x":[0,0,0.667],"y":[1,1,0.667]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0_1_0p167_0p167","0_1_0p167_0p167","0p667_0p667_0p167_0p167"],"t":14,"s":[0,0,100],"e":[100,100,100]},{"t":54}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-36.571,-9.612],[-27.799,-1.99],[-36.683,5.428]],"c":false}},"nm":"Path 2","mn":"ADBE Vector Shape - Group"},{"ind":1,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[3.95,-9.308],[-4.935,-1.817],[3.838,5.731]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.79,0.56,0.22,1]},"o":{"a":1,"k":[{"t":14,"s":[100],"h":1},{"t":34,"s":[0],"h":1}]},"w":{"a":0,"k":2.641},"lc":2,"lj":2,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[247.846,433.746],"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":"Eyes_Closed","np":3,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":34,"s":[{"i":[[0.013,-0.202],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.096,-0.1],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.733,-0.323]],"c":true}],"e":[{"i":[[0.054,-2.972],[2.972,0.054],[-0.054,2.973],[-2.976,-0.054]],"o":[[-0.054,2.976],[-2.972,-0.054],[0.054,-2.973],[2.971,0.054]],"v":[[-18.385,0.097],[-23.869,5.385],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":44,"s":[{"i":[[0.054,-2.972],[2.972,0.054],[-0.054,2.973],[-2.976,-0.054]],"o":[[-0.054,2.976],[-2.972,-0.054],[0.054,-2.973],[2.971,0.054]],"v":[[-18.385,0.097],[-23.869,5.385],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.054,-2.972],[2.972,0.054],[-0.054,2.973],[-2.976,-0.054]],"o":[[-0.054,2.976],[-2.972,-0.054],[0.054,-2.973],[2.971,0.054]],"v":[[-18.385,0.097],[-23.869,5.385],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":54,"s":[{"i":[[0.054,-2.972],[2.972,0.054],[-0.054,2.973],[-2.976,-0.054]],"o":[[-0.054,2.976],[-2.972,-0.054],[0.054,-2.973],[2.971,0.054]],"v":[[-18.385,0.097],[-23.869,5.385],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":62,"s":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.644,-0.884],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":68,"s":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.644,-0.884],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":71,"s":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.644,-0.884],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":74,"s":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.644,-0.884],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":77,"s":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.644,-0.884],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":80,"s":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.644,-0.884],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":83,"s":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.644,-0.884],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":86,"s":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.644,-0.884],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":89,"s":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.644,-0.884],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":92,"s":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.644,-0.884],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":95,"s":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.644,-0.884],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":98,"s":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.644,-0.884],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":101,"s":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.644,-0.884],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":104,"s":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.644,-0.884],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":107,"s":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.644,-0.884],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"t":110}]},"nm":"Path 2","mn":"ADBE Vector Shape - Group"},{"ind":1,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":34,"s":[{"i":[[0.023,-0.016],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[0.014,-0.036],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.014,-0.105]],"c":true}],"e":[{"i":[[0.003,-2.973],[2.973,0.003],[-0.003,2.973],[-2.976,-0.003]],"o":[[-0.003,2.976],[-2.974,-0.003],[0.003,-2.973],[2.971,0.003]],"v":[[5.386,0.004],[-0.006,5.385],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":44,"s":[{"i":[[0.003,-2.973],[2.973,0.003],[-0.003,2.973],[-2.976,-0.003]],"o":[[-0.003,2.976],[-2.974,-0.003],[0.003,-2.973],[2.971,0.003]],"v":[[5.386,0.004],[-0.006,5.385],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.003,-2.973],[2.973,0.003],[-0.003,2.973],[-2.976,-0.003]],"o":[[-0.003,2.976],[-2.974,-0.003],[0.003,-2.973],[2.971,0.003]],"v":[[5.386,0.004],[-0.006,5.385],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":54,"s":[{"i":[[0.003,-2.973],[2.973,0.003],[-0.003,2.973],[-2.976,-0.003]],"o":[[-0.003,2.976],[-2.974,-0.003],[0.003,-2.973],[2.971,0.003]],"v":[[5.386,0.004],[-0.006,5.385],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":62,"s":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.145,-0.852],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":68,"s":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.145,-0.852],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":71,"s":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.145,-0.852],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":74,"s":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.145,-0.852],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":77,"s":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.145,-0.852],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":80,"s":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.145,-0.852],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":83,"s":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.145,-0.852],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":86,"s":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.145,-0.852],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":89,"s":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.145,-0.852],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":92,"s":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.145,-0.852],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":95,"s":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.145,-0.852],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":98,"s":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.145,-0.852],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":101,"s":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.145,-0.852],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":104,"s":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.145,-0.852],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":107,"s":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.145,-0.852],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"t":110}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0.79,0.56,0.22,1]},"o":{"a":1,"k":[{"t":14,"s":[0],"h":1},{"t":34,"s":[100],"h":1}]},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[242.997,431.73],"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":"Eyes_Open","np":3,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":54,"s":[{"i":[[0,0],[0.109,-0.906],[13.65,0.572],[1.781,12.531],[0,0],[-24,-0.295]],"o":[[0,0],[-1.541,12.793],[-13.007,-0.545],[-0.128,-0.903],[0,0],[22.624,0.278]],"v":[[23.024,-8.94],[22.994,-8.863],[-2.946,14.608],[-28.522,-7.528],[-28.716,-8.86],[-2.671,14.6]],"c":true}],"e":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,14.608],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"n":"0p833_0p833_0p167_0","t":62,"s":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,14.608],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}],"e":[{"i":[[0,0],[0.123,-0.904],[13.118,0.071],[1.781,12.531],[-0.771,0.001],[-13.559,-0.008]],"o":[[0.771,-0.001],[-1.708,12.576],[-13.016,-0.067],[-0.128,-0.903],[0,0],[13.343,0.006]],"v":[[21.337,-9.257],[22.625,-7.808],[-2.946,17.108],[-28.522,-7.528],[-27.263,-9.176],[-2.671,-5.545]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":65,"s":[{"i":[[0,0],[0.123,-0.904],[13.118,0.071],[1.781,12.531],[-0.771,0.001],[-13.559,-0.008]],"o":[[0.771,-0.001],[-1.708,12.576],[-13.016,-0.067],[-0.128,-0.903],[0,0],[13.343,0.006]],"v":[[21.337,-9.257],[22.625,-7.808],[-2.946,17.108],[-28.522,-7.528],[-27.263,-9.176],[-2.671,-5.545]],"c":true}],"e":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,17.295],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"n":"0p833_0p833_0p167_0","t":68,"s":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,17.295],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}],"e":[{"i":[[0,0],[0.123,-0.904],[13.118,0.071],[1.781,12.531],[-0.771,0.001],[-13.559,-0.008]],"o":[[0.771,-0.001],[-1.708,12.576],[-13.016,-0.067],[-0.128,-0.903],[0,0],[13.343,0.006]],"v":[[21.337,-9.257],[22.625,-7.808],[-2.946,14.608],[-28.522,-7.528],[-27.263,-9.176],[-2.671,-5.545]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":71,"s":[{"i":[[0,0],[0.123,-0.904],[13.118,0.071],[1.781,12.531],[-0.771,0.001],[-13.559,-0.008]],"o":[[0.771,-0.001],[-1.708,12.576],[-13.016,-0.067],[-0.128,-0.903],[0,0],[13.343,0.006]],"v":[[21.337,-9.257],[22.625,-7.808],[-2.946,14.608],[-28.522,-7.528],[-27.263,-9.176],[-2.671,-5.545]],"c":true}],"e":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,17.295],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"n":"0p833_0p833_0p167_0","t":74,"s":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,17.295],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}],"e":[{"i":[[0,0],[0.123,-0.904],[13.118,0.071],[1.781,12.531],[-0.771,0.001],[-13.559,-0.008]],"o":[[0.771,-0.001],[-1.708,12.576],[-13.016,-0.067],[-0.128,-0.903],[0,0],[13.343,0.006]],"v":[[21.337,-9.257],[22.625,-7.808],[-2.946,14.608],[-28.522,-7.528],[-27.263,-9.176],[-2.671,-5.545]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":77,"s":[{"i":[[0,0],[0.123,-0.904],[13.118,0.071],[1.781,12.531],[-0.771,0.001],[-13.559,-0.008]],"o":[[0.771,-0.001],[-1.708,12.576],[-13.016,-0.067],[-0.128,-0.903],[0,0],[13.343,0.006]],"v":[[21.337,-9.257],[22.625,-7.808],[-2.946,14.608],[-28.522,-7.528],[-27.263,-9.176],[-2.671,-5.545]],"c":true}],"e":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,17.295],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"n":"0p833_0p833_0p167_0","t":80,"s":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,17.295],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}],"e":[{"i":[[0,0],[0.123,-0.904],[13.118,0.071],[1.781,12.531],[-0.771,0.001],[-13.559,-0.008]],"o":[[0.771,-0.001],[-1.708,12.576],[-13.016,-0.067],[-0.128,-0.903],[0,0],[13.343,0.006]],"v":[[21.337,-9.257],[22.625,-7.808],[-2.946,14.608],[-28.522,-7.528],[-27.263,-9.176],[-2.671,-5.545]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":83,"s":[{"i":[[0,0],[0.123,-0.904],[13.118,0.071],[1.781,12.531],[-0.771,0.001],[-13.559,-0.008]],"o":[[0.771,-0.001],[-1.708,12.576],[-13.016,-0.067],[-0.128,-0.903],[0,0],[13.343,0.006]],"v":[[21.337,-9.257],[22.625,-7.808],[-2.946,14.608],[-28.522,-7.528],[-27.263,-9.176],[-2.671,-5.545]],"c":true}],"e":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,17.295],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"n":"0p833_0p833_0p167_0","t":86,"s":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,17.295],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}],"e":[{"i":[[0,0],[0.123,-0.904],[13.118,0.071],[1.781,12.531],[-0.771,0.001],[-13.559,-0.008]],"o":[[0.771,-0.001],[-1.708,12.576],[-13.016,-0.067],[-0.128,-0.903],[0,0],[13.343,0.006]],"v":[[21.337,-9.257],[22.625,-7.808],[-2.946,14.608],[-28.522,-7.528],[-27.263,-9.176],[-2.671,-5.545]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":89,"s":[{"i":[[0,0],[0.123,-0.904],[13.118,0.071],[1.781,12.531],[-0.771,0.001],[-13.559,-0.008]],"o":[[0.771,-0.001],[-1.708,12.576],[-13.016,-0.067],[-0.128,-0.903],[0,0],[13.343,0.006]],"v":[[21.337,-9.257],[22.625,-7.808],[-2.946,14.608],[-28.522,-7.528],[-27.263,-9.176],[-2.671,-5.545]],"c":true}],"e":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,17.295],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"n":"0p833_0p833_0p167_0","t":92,"s":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,17.295],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}],"e":[{"i":[[0,0],[0.123,-0.904],[13.118,0.071],[1.781,12.531],[-0.771,0.001],[-13.559,-0.008]],"o":[[0.771,-0.001],[-1.708,12.576],[-13.016,-0.067],[-0.128,-0.903],[0,0],[13.343,0.006]],"v":[[21.337,-9.257],[22.625,-7.808],[-2.946,14.608],[-28.522,-7.528],[-27.263,-9.176],[-2.671,-5.545]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":95,"s":[{"i":[[0,0],[0.123,-0.904],[13.118,0.071],[1.781,12.531],[-0.771,0.001],[-13.559,-0.008]],"o":[[0.771,-0.001],[-1.708,12.576],[-13.016,-0.067],[-0.128,-0.903],[0,0],[13.343,0.006]],"v":[[21.337,-9.257],[22.625,-7.808],[-2.946,14.608],[-28.522,-7.528],[-27.263,-9.176],[-2.671,-5.545]],"c":true}],"e":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,17.295],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"n":"0p833_0p833_0p167_0","t":98,"s":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,17.295],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}],"e":[{"i":[[0,0],[0.123,-0.904],[13.118,0.071],[1.781,12.531],[-0.771,0.001],[-13.559,-0.008]],"o":[[0.771,-0.001],[-1.708,12.576],[-13.016,-0.067],[-0.128,-0.903],[0,0],[13.343,0.006]],"v":[[21.337,-9.257],[22.625,-7.808],[-2.946,14.608],[-28.522,-7.528],[-27.263,-9.176],[-2.671,-5.545]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":101,"s":[{"i":[[0,0],[0.123,-0.904],[13.118,0.071],[1.781,12.531],[-0.771,0.001],[-13.559,-0.008]],"o":[[0.771,-0.001],[-1.708,12.576],[-13.016,-0.067],[-0.128,-0.903],[0,0],[13.343,0.006]],"v":[[21.337,-9.257],[22.625,-7.808],[-2.946,14.608],[-28.522,-7.528],[-27.263,-9.176],[-2.671,-5.545]],"c":true}],"e":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,17.295],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"n":"0p833_0p833_0p167_0","t":104,"s":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,17.295],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}],"e":[{"i":[[0,0],[0.123,-0.904],[13.118,0.071],[1.781,12.531],[-0.771,0.001],[-13.559,-0.008]],"o":[[0.771,-0.001],[-1.708,12.576],[-13.016,-0.067],[-0.128,-0.903],[0,0],[13.343,0.006]],"v":[[21.337,-9.257],[22.625,-7.808],[-2.946,14.608],[-28.522,-7.528],[-27.263,-9.176],[-2.671,-5.545]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":107,"s":[{"i":[[0,0],[0.123,-0.904],[13.118,0.071],[1.781,12.531],[-0.771,0.001],[-13.559,-0.008]],"o":[[0.771,-0.001],[-1.708,12.576],[-13.016,-0.067],[-0.128,-0.903],[0,0],[13.343,0.006]],"v":[[21.337,-9.257],[22.625,-7.808],[-2.946,14.608],[-28.522,-7.528],[-27.263,-9.176],[-2.671,-5.545]],"c":true}],"e":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,17.295],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}]},{"t":110}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0.79,0.56,0.22,1]},"o":{"a":1,"k":[{"t":14,"s":[0],"h":1},{"t":54,"s":[100],"h":1}]},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"st","c":{"a":0,"k":[0.79,0.56,0.22,1]},"o":{"a":1,"k":[{"t":14,"s":[0],"h":1},{"t":54,"s":[100],"h":1}]},"w":{"a":0,"k":2.641},"lc":2,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[233.421,461.195],"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":"Open Smile","np":3,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-13.602,0.167],[-0.817,13.364]],"o":[[1.145,13.34],[13.603,-0.166],[0,0]],"v":[[-25.719,-11.551],[0.292,12.014],[25.719,-12.182]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":14,"s":[45],"e":[0]},{"t":34}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":14,"s":[55],"e":[100]},{"t":34}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"st","c":{"a":0,"k":[0.79,0.56,0.22,1]},"o":{"a":1,"k":[{"t":14,"s":[100],"h":1},{"t":54,"s":[0],"h":1}]},"w":{"a":0,"k":2.641},"lc":2,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[230.43,463.945],"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":"Smile","np":3,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[10.322,1.475],[0,0],[4.634,9.335],[0,0],[3.041,-0.007],[0,0],[-4.62,-2.413],[0,0],[1.789,10.268],[0,0],[-7.447,7.297],[0,0]],"o":[[0,0],[-10.319,-1.474],[0,0],[-2.319,-4.67],[0,0],[6.08,-0.016],[0,0],[9.237,4.826],[0,0],[-1.79,-10.269],[0,0],[7.447,-7.294]],"v":[[30.878,-26.746],[4.089,-30.567],[-23.103,-50.22],[-35.144,-74.456],[-43.549,-81.447],[-43.189,60.499],[-26.405,64.095],[-2.419,76.628],[11.128,66.733],[6.486,40.071],[16.773,8.136],[36.102,-10.803]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[1,0.77,0.07,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[275.242,440.626],"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":"Body_shader","np":2,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-4.636,-9.336],[0,0],[-10.32,-1.474],[0,0],[7.448,-7.294],[0,0],[-1.789,-10.269],[0,0],[9.237,4.826],[0,0],[9.213,-4.873],[0,0],[-1.735,10.277],[0,0],[7.482,7.258],[0,0],[-10.314,1.526],[0,0],[-4.59,9.36]],"o":[[4.59,-9.359],[0,0],[4.634,9.335],[0,0],[10.322,1.475],[0,0],[-7.446,7.297],[0,0],[1.788,10.269],[0,0],[-9.237,-4.826],[0,0],[-9.215,4.873],[0,0],[1.736,-10.28],[0,0],[-7.482,-7.256],[0,0],[10.315,-1.525],[0,0]],"v":[[-8.533,-73.371],[8.244,-73.413],[20.285,-49.178],[47.477,-29.525],[74.265,-25.704],[79.489,-9.76],[60.16,9.178],[49.874,41.114],[54.515,67.775],[40.969,77.671],[16.983,65.137],[-16.569,65.22],[-40.491,77.876],[-54.088,68.051],[-49.58,41.366],[-60.029,9.483],[-79.455,-9.358],[-74.312,-25.327],[-47.543,-29.285],[-20.447,-49.076]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[1,0.83,0.44,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[231.695,439.583],"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":"Body","np":2,"mn":"ADBE Vector Group"}],"ip":14,"op":90,"st":14,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":4,"nm":"Star_02","parent":0,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":79,"s":[100],"e":[0]},{"t":89}]},"r":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0_1_0p167_0p167"],"t":7,"s":[-720],"e":[-1509]},{"t":107}]},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":7,"s":[-55.808,-64.938,0],"e":[-234.808,76.062,0],"to":[-20,-147.83332824707,0],"ti":[-2,-323.166656494141,0]},{"t":90}]},"a":{"a":0,"k":[231.37,449.226,0]},"s":{"a":1,"k":[{"i":{"x":[0,0,0.667],"y":[1,1,0.667]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0_1_0p167_0p167","0_1_0p167_0p167","0p667_0p667_0p167_0p167"],"t":7,"s":[0,0,100],"e":[100,100,100]},{"t":47}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-36.571,-9.612],[-27.799,-1.99],[-36.683,5.428]],"c":false}},"nm":"Path 2","mn":"ADBE Vector Shape - Group"},{"ind":1,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[3.95,-9.308],[-4.935,-1.817],[3.838,5.731]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.79,0.56,0.22,1]},"o":{"a":1,"k":[{"t":7,"s":[100],"h":1},{"t":27,"s":[0],"h":1}]},"w":{"a":0,"k":2.641},"lc":2,"lj":2,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[247.846,433.746],"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":"Eyes_Closed","np":3,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":27,"s":[{"i":[[0.013,-0.202],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.096,-0.1],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.733,-0.323]],"c":true}],"e":[{"i":[[0.054,-2.972],[2.972,0.054],[-0.054,2.973],[-2.976,-0.054]],"o":[[-0.054,2.976],[-2.972,-0.054],[0.054,-2.973],[2.971,0.054]],"v":[[-18.385,0.097],[-23.869,5.385],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":37,"s":[{"i":[[0.054,-2.972],[2.972,0.054],[-0.054,2.973],[-2.976,-0.054]],"o":[[-0.054,2.976],[-2.972,-0.054],[0.054,-2.973],[2.971,0.054]],"v":[[-18.385,0.097],[-23.869,5.385],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.054,-2.972],[2.972,0.054],[-0.054,2.973],[-2.976,-0.054]],"o":[[-0.054,2.976],[-2.972,-0.054],[0.054,-2.973],[2.971,0.054]],"v":[[-18.385,0.097],[-23.869,5.385],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":47,"s":[{"i":[[0.054,-2.972],[2.972,0.054],[-0.054,2.973],[-2.976,-0.054]],"o":[[-0.054,2.976],[-2.972,-0.054],[0.054,-2.973],[2.971,0.054]],"v":[[-18.385,0.097],[-23.869,5.385],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":55,"s":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.644,-0.884],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":61,"s":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.644,-0.884],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":64,"s":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.644,-0.884],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":67,"s":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.644,-0.884],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":70,"s":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.644,-0.884],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":73,"s":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.644,-0.884],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":76,"s":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.644,-0.884],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":79,"s":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.644,-0.884],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":82,"s":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.644,-0.884],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":85,"s":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.644,-0.884],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":88,"s":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.644,-0.884],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":91,"s":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.644,-0.884],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":94,"s":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.644,-0.884],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":97,"s":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.644,-0.884],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":100,"s":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.644,-0.884],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"t":103}]},"nm":"Path 2","mn":"ADBE Vector Shape - Group"},{"ind":1,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":27,"s":[{"i":[[0.023,-0.016],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[0.014,-0.036],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.014,-0.105]],"c":true}],"e":[{"i":[[0.003,-2.973],[2.973,0.003],[-0.003,2.973],[-2.976,-0.003]],"o":[[-0.003,2.976],[-2.974,-0.003],[0.003,-2.973],[2.971,0.003]],"v":[[5.386,0.004],[-0.006,5.385],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":37,"s":[{"i":[[0.003,-2.973],[2.973,0.003],[-0.003,2.973],[-2.976,-0.003]],"o":[[-0.003,2.976],[-2.974,-0.003],[0.003,-2.973],[2.971,0.003]],"v":[[5.386,0.004],[-0.006,5.385],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.003,-2.973],[2.973,0.003],[-0.003,2.973],[-2.976,-0.003]],"o":[[-0.003,2.976],[-2.974,-0.003],[0.003,-2.973],[2.971,0.003]],"v":[[5.386,0.004],[-0.006,5.385],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":47,"s":[{"i":[[0.003,-2.973],[2.973,0.003],[-0.003,2.973],[-2.976,-0.003]],"o":[[-0.003,2.976],[-2.974,-0.003],[0.003,-2.973],[2.971,0.003]],"v":[[5.386,0.004],[-0.006,5.385],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":55,"s":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.145,-0.852],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":61,"s":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.145,-0.852],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":64,"s":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.145,-0.852],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":67,"s":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.145,-0.852],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":70,"s":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.145,-0.852],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":73,"s":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.145,-0.852],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":76,"s":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.145,-0.852],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":79,"s":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.145,-0.852],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":82,"s":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.145,-0.852],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":85,"s":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.145,-0.852],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":88,"s":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.145,-0.852],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":91,"s":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.145,-0.852],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":94,"s":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.145,-0.852],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":97,"s":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.145,-0.852],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":100,"s":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.145,-0.852],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"t":103}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0.79,0.56,0.22,1]},"o":{"a":1,"k":[{"t":7,"s":[0],"h":1},{"t":27,"s":[100],"h":1}]},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[242.997,431.73],"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":"Eyes_Open","np":3,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":47,"s":[{"i":[[0,0],[0.109,-0.906],[13.65,0.572],[1.781,12.531],[0,0],[-24,-0.295]],"o":[[0,0],[-1.541,12.793],[-13.007,-0.545],[-0.128,-0.903],[0,0],[22.624,0.278]],"v":[[23.024,-8.94],[22.994,-8.863],[-2.946,14.608],[-28.522,-7.528],[-28.716,-8.86],[-2.671,14.6]],"c":true}],"e":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,14.608],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"n":"0p833_0p833_0p167_0","t":55,"s":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,14.608],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}],"e":[{"i":[[0,0],[0.123,-0.904],[13.118,0.071],[1.781,12.531],[-0.771,0.001],[-13.559,-0.008]],"o":[[0.771,-0.001],[-1.708,12.576],[-13.016,-0.067],[-0.128,-0.903],[0,0],[13.343,0.006]],"v":[[21.337,-9.257],[22.625,-7.808],[-2.946,17.108],[-28.522,-7.528],[-27.263,-9.176],[-2.671,-5.545]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":58,"s":[{"i":[[0,0],[0.123,-0.904],[13.118,0.071],[1.781,12.531],[-0.771,0.001],[-13.559,-0.008]],"o":[[0.771,-0.001],[-1.708,12.576],[-13.016,-0.067],[-0.128,-0.903],[0,0],[13.343,0.006]],"v":[[21.337,-9.257],[22.625,-7.808],[-2.946,17.108],[-28.522,-7.528],[-27.263,-9.176],[-2.671,-5.545]],"c":true}],"e":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,17.295],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"n":"0p833_0p833_0p167_0","t":61,"s":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,17.295],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}],"e":[{"i":[[0,0],[0.123,-0.904],[13.118,0.071],[1.781,12.531],[-0.771,0.001],[-13.559,-0.008]],"o":[[0.771,-0.001],[-1.708,12.576],[-13.016,-0.067],[-0.128,-0.903],[0,0],[13.343,0.006]],"v":[[21.337,-9.257],[22.625,-7.808],[-2.946,14.608],[-28.522,-7.528],[-27.263,-9.176],[-2.671,-5.545]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":64,"s":[{"i":[[0,0],[0.123,-0.904],[13.118,0.071],[1.781,12.531],[-0.771,0.001],[-13.559,-0.008]],"o":[[0.771,-0.001],[-1.708,12.576],[-13.016,-0.067],[-0.128,-0.903],[0,0],[13.343,0.006]],"v":[[21.337,-9.257],[22.625,-7.808],[-2.946,14.608],[-28.522,-7.528],[-27.263,-9.176],[-2.671,-5.545]],"c":true}],"e":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,17.295],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"n":"0p833_0p833_0p167_0","t":67,"s":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,17.295],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}],"e":[{"i":[[0,0],[0.123,-0.904],[13.118,0.071],[1.781,12.531],[-0.771,0.001],[-13.559,-0.008]],"o":[[0.771,-0.001],[-1.708,12.576],[-13.016,-0.067],[-0.128,-0.903],[0,0],[13.343,0.006]],"v":[[21.337,-9.257],[22.625,-7.808],[-2.946,14.608],[-28.522,-7.528],[-27.263,-9.176],[-2.671,-5.545]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":70,"s":[{"i":[[0,0],[0.123,-0.904],[13.118,0.071],[1.781,12.531],[-0.771,0.001],[-13.559,-0.008]],"o":[[0.771,-0.001],[-1.708,12.576],[-13.016,-0.067],[-0.128,-0.903],[0,0],[13.343,0.006]],"v":[[21.337,-9.257],[22.625,-7.808],[-2.946,14.608],[-28.522,-7.528],[-27.263,-9.176],[-2.671,-5.545]],"c":true}],"e":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,17.295],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"n":"0p833_0p833_0p167_0","t":73,"s":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,17.295],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}],"e":[{"i":[[0,0],[0.123,-0.904],[13.118,0.071],[1.781,12.531],[-0.771,0.001],[-13.559,-0.008]],"o":[[0.771,-0.001],[-1.708,12.576],[-13.016,-0.067],[-0.128,-0.903],[0,0],[13.343,0.006]],"v":[[21.337,-9.257],[22.625,-7.808],[-2.946,14.608],[-28.522,-7.528],[-27.263,-9.176],[-2.671,-5.545]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":76,"s":[{"i":[[0,0],[0.123,-0.904],[13.118,0.071],[1.781,12.531],[-0.771,0.001],[-13.559,-0.008]],"o":[[0.771,-0.001],[-1.708,12.576],[-13.016,-0.067],[-0.128,-0.903],[0,0],[13.343,0.006]],"v":[[21.337,-9.257],[22.625,-7.808],[-2.946,14.608],[-28.522,-7.528],[-27.263,-9.176],[-2.671,-5.545]],"c":true}],"e":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,17.295],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"n":"0p833_0p833_0p167_0","t":79,"s":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,17.295],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}],"e":[{"i":[[0,0],[0.123,-0.904],[13.118,0.071],[1.781,12.531],[-0.771,0.001],[-13.559,-0.008]],"o":[[0.771,-0.001],[-1.708,12.576],[-13.016,-0.067],[-0.128,-0.903],[0,0],[13.343,0.006]],"v":[[21.337,-9.257],[22.625,-7.808],[-2.946,14.608],[-28.522,-7.528],[-27.263,-9.176],[-2.671,-5.545]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":82,"s":[{"i":[[0,0],[0.123,-0.904],[13.118,0.071],[1.781,12.531],[-0.771,0.001],[-13.559,-0.008]],"o":[[0.771,-0.001],[-1.708,12.576],[-13.016,-0.067],[-0.128,-0.903],[0,0],[13.343,0.006]],"v":[[21.337,-9.257],[22.625,-7.808],[-2.946,14.608],[-28.522,-7.528],[-27.263,-9.176],[-2.671,-5.545]],"c":true}],"e":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,17.295],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"n":"0p833_0p833_0p167_0","t":85,"s":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,17.295],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}],"e":[{"i":[[0,0],[0.123,-0.904],[13.118,0.071],[1.781,12.531],[-0.771,0.001],[-13.559,-0.008]],"o":[[0.771,-0.001],[-1.708,12.576],[-13.016,-0.067],[-0.128,-0.903],[0,0],[13.343,0.006]],"v":[[21.337,-9.257],[22.625,-7.808],[-2.946,14.608],[-28.522,-7.528],[-27.263,-9.176],[-2.671,-5.545]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":88,"s":[{"i":[[0,0],[0.123,-0.904],[13.118,0.071],[1.781,12.531],[-0.771,0.001],[-13.559,-0.008]],"o":[[0.771,-0.001],[-1.708,12.576],[-13.016,-0.067],[-0.128,-0.903],[0,0],[13.343,0.006]],"v":[[21.337,-9.257],[22.625,-7.808],[-2.946,14.608],[-28.522,-7.528],[-27.263,-9.176],[-2.671,-5.545]],"c":true}],"e":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,17.295],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"n":"0p833_0p833_0p167_0","t":91,"s":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,17.295],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}],"e":[{"i":[[0,0],[0.123,-0.904],[13.118,0.071],[1.781,12.531],[-0.771,0.001],[-13.559,-0.008]],"o":[[0.771,-0.001],[-1.708,12.576],[-13.016,-0.067],[-0.128,-0.903],[0,0],[13.343,0.006]],"v":[[21.337,-9.257],[22.625,-7.808],[-2.946,14.608],[-28.522,-7.528],[-27.263,-9.176],[-2.671,-5.545]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":94,"s":[{"i":[[0,0],[0.123,-0.904],[13.118,0.071],[1.781,12.531],[-0.771,0.001],[-13.559,-0.008]],"o":[[0.771,-0.001],[-1.708,12.576],[-13.016,-0.067],[-0.128,-0.903],[0,0],[13.343,0.006]],"v":[[21.337,-9.257],[22.625,-7.808],[-2.946,14.608],[-28.522,-7.528],[-27.263,-9.176],[-2.671,-5.545]],"c":true}],"e":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,17.295],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"n":"0p833_0p833_0p167_0","t":97,"s":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,17.295],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}],"e":[{"i":[[0,0],[0.123,-0.904],[13.118,0.071],[1.781,12.531],[-0.771,0.001],[-13.559,-0.008]],"o":[[0.771,-0.001],[-1.708,12.576],[-13.016,-0.067],[-0.128,-0.903],[0,0],[13.343,0.006]],"v":[[21.337,-9.257],[22.625,-7.808],[-2.946,14.608],[-28.522,-7.528],[-27.263,-9.176],[-2.671,-5.545]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":100,"s":[{"i":[[0,0],[0.123,-0.904],[13.118,0.071],[1.781,12.531],[-0.771,0.001],[-13.559,-0.008]],"o":[[0.771,-0.001],[-1.708,12.576],[-13.016,-0.067],[-0.128,-0.903],[0,0],[13.343,0.006]],"v":[[21.337,-9.257],[22.625,-7.808],[-2.946,14.608],[-28.522,-7.528],[-27.263,-9.176],[-2.671,-5.545]],"c":true}],"e":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,17.295],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}]},{"t":103}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0.79,0.56,0.22,1]},"o":{"a":1,"k":[{"t":7,"s":[0],"h":1},{"t":47,"s":[100],"h":1}]},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"st","c":{"a":0,"k":[0.79,0.56,0.22,1]},"o":{"a":1,"k":[{"t":7,"s":[0],"h":1},{"t":47,"s":[100],"h":1}]},"w":{"a":0,"k":2.641},"lc":2,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[233.421,461.195],"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":"Open Smile","np":3,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-13.602,0.167],[-0.817,13.364]],"o":[[1.145,13.34],[13.603,-0.166],[0,0]],"v":[[-25.719,-11.551],[0.292,12.014],[25.719,-12.182]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":7,"s":[45],"e":[0]},{"t":27}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":7,"s":[55],"e":[100]},{"t":27}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"st","c":{"a":0,"k":[0.79,0.56,0.22,1]},"o":{"a":1,"k":[{"t":7,"s":[100],"h":1},{"t":47,"s":[0],"h":1}]},"w":{"a":0,"k":2.641},"lc":2,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[230.43,463.945],"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":"Smile","np":3,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[10.322,1.475],[0,0],[4.634,9.335],[0,0],[3.041,-0.007],[0,0],[-4.62,-2.413],[0,0],[1.789,10.268],[0,0],[-7.447,7.297],[0,0]],"o":[[0,0],[-10.319,-1.474],[0,0],[-2.319,-4.67],[0,0],[6.08,-0.016],[0,0],[9.237,4.826],[0,0],[-1.79,-10.269],[0,0],[7.447,-7.294]],"v":[[30.878,-26.746],[4.089,-30.567],[-23.103,-50.22],[-35.144,-74.456],[-43.549,-81.447],[-43.189,60.499],[-26.405,64.095],[-2.419,76.628],[11.128,66.733],[6.486,40.071],[16.773,8.136],[36.102,-10.803]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[1,0.77,0.07,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[275.242,440.626],"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":"Body_shader","np":2,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-4.636,-9.336],[0,0],[-10.32,-1.474],[0,0],[7.448,-7.294],[0,0],[-1.789,-10.269],[0,0],[9.237,4.826],[0,0],[9.213,-4.873],[0,0],[-1.735,10.277],[0,0],[7.482,7.258],[0,0],[-10.314,1.526],[0,0],[-4.59,9.36]],"o":[[4.59,-9.359],[0,0],[4.634,9.335],[0,0],[10.322,1.475],[0,0],[-7.446,7.297],[0,0],[1.788,10.269],[0,0],[-9.237,-4.826],[0,0],[-9.215,4.873],[0,0],[1.736,-10.28],[0,0],[-7.482,-7.256],[0,0],[10.315,-1.525],[0,0]],"v":[[-8.533,-73.371],[8.244,-73.413],[20.285,-49.178],[47.477,-29.525],[74.265,-25.704],[79.489,-9.76],[60.16,9.178],[49.874,41.114],[54.515,67.775],[40.969,77.671],[16.983,65.137],[-16.569,65.22],[-40.491,77.876],[-54.088,68.051],[-49.58,41.366],[-60.029,9.483],[-79.455,-9.358],[-74.312,-25.327],[-47.543,-29.285],[-20.447,-49.076]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[1,0.83,0.44,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[231.695,439.583],"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":"Body","np":2,"mn":"ADBE Vector Group"}],"ip":7,"op":90,"st":7,"bm":0,"sr":1},{"ddd":0,"ind":3,"ty":4,"nm":"Star_01","parent":0,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":66,"s":[100],"e":[0]},{"t":75}]},"r":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0_1_0p167_0p167"],"t":0,"s":[-720],"e":[60]},{"t":90}]},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":0,"s":[31.192,-0.938,0],"e":[223.192,87.062,0],"to":[27,-133.83332824707,0],"ti":[-7,-196.16667175293,0]},{"t":90}]},"a":{"a":0,"k":[231.37,449.226,0]},"s":{"a":1,"k":[{"i":{"x":[0,0,0.667],"y":[1,1,0.667]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0_1_0p167_0p167","0_1_0p167_0p167","0p667_0p667_0p167_0p167"],"t":0,"s":[0,0,100],"e":[100,100,100]},{"t":40}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-36.571,-9.612],[-27.799,-1.99],[-36.683,5.428]],"c":false}},"nm":"Path 2","mn":"ADBE Vector Shape - Group"},{"ind":1,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[3.95,-9.308],[-4.935,-1.817],[3.838,5.731]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.79,0.56,0.22,1]},"o":{"a":1,"k":[{"t":0,"s":[100],"h":1},{"t":20,"s":[0],"h":1}]},"w":{"a":0,"k":2.641},"lc":2,"lj":2,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[247.846,433.746],"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":"Eyes_Closed","np":3,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":20,"s":[{"i":[[0.013,-0.202],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.096,-0.1],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.733,-0.323]],"c":true}],"e":[{"i":[[0.054,-2.972],[2.972,0.054],[-0.054,2.973],[-2.976,-0.054]],"o":[[-0.054,2.976],[-2.972,-0.054],[0.054,-2.973],[2.971,0.054]],"v":[[-18.385,0.097],[-23.869,5.385],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":30,"s":[{"i":[[0.054,-2.972],[2.972,0.054],[-0.054,2.973],[-2.976,-0.054]],"o":[[-0.054,2.976],[-2.972,-0.054],[0.054,-2.973],[2.971,0.054]],"v":[[-18.385,0.097],[-23.869,5.385],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.054,-2.972],[2.972,0.054],[-0.054,2.973],[-2.976,-0.054]],"o":[[-0.054,2.976],[-2.972,-0.054],[0.054,-2.973],[2.971,0.054]],"v":[[-18.385,0.097],[-23.869,5.385],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":40,"s":[{"i":[[0.054,-2.972],[2.972,0.054],[-0.054,2.973],[-2.976,-0.054]],"o":[[-0.054,2.976],[-2.972,-0.054],[0.054,-2.973],[2.971,0.054]],"v":[[-18.385,0.097],[-23.869,5.385],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":48,"s":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.644,-0.884],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":54,"s":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.644,-0.884],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":57,"s":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.644,-0.884],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":60,"s":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.644,-0.884],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":63,"s":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.644,-0.884],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":66,"s":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.644,-0.884],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":69,"s":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.644,-0.884],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":72,"s":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.644,-0.884],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":75,"s":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.644,-0.884],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":78,"s":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.644,-0.884],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":81,"s":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.644,-0.884],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":84,"s":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.644,-0.884],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":87,"s":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.644,-0.884],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":90,"s":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.644,-0.884],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":93,"s":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.769,-0.053],[-29.155,-0.099],[-23.671,-5.385]],"c":true}],"e":[{"i":[[0.049,-2.972],[2.972,0.054],[0.096,-0.006],[-2.976,-0.054]],"o":[[0.013,-0.015],[-2.972,-0.054],[0.083,-2.972],[2.971,0.054]],"v":[[-18.385,0.097],[-23.644,-0.884],[-29.155,-0.099],[-23.671,-5.385]],"c":true}]},{"t":96}]},"nm":"Path 2","mn":"ADBE Vector Shape - Group"},{"ind":1,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":20,"s":[{"i":[[0.023,-0.016],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[0.014,-0.036],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.014,-0.105]],"c":true}],"e":[{"i":[[0.003,-2.973],[2.973,0.003],[-0.003,2.973],[-2.976,-0.003]],"o":[[-0.003,2.976],[-2.974,-0.003],[0.003,-2.973],[2.971,0.003]],"v":[[5.386,0.004],[-0.006,5.385],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":30,"s":[{"i":[[0.003,-2.973],[2.973,0.003],[-0.003,2.973],[-2.976,-0.003]],"o":[[-0.003,2.976],[-2.974,-0.003],[0.003,-2.973],[2.971,0.003]],"v":[[5.386,0.004],[-0.006,5.385],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.003,-2.973],[2.973,0.003],[-0.003,2.973],[-2.976,-0.003]],"o":[[-0.003,2.976],[-2.974,-0.003],[0.003,-2.973],[2.971,0.003]],"v":[[5.386,0.004],[-0.006,5.385],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":40,"s":[{"i":[[0.003,-2.973],[2.973,0.003],[-0.003,2.973],[-2.976,-0.003]],"o":[[-0.003,2.976],[-2.974,-0.003],[0.003,-2.973],[2.971,0.003]],"v":[[5.386,0.004],[-0.006,5.385],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":48,"s":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.145,-0.852],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":54,"s":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.145,-0.852],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":57,"s":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.145,-0.852],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":60,"s":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.145,-0.852],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":63,"s":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.145,-0.852],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":66,"s":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.145,-0.852],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":69,"s":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.145,-0.852],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":72,"s":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.145,-0.852],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":75,"s":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.145,-0.852],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":78,"s":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.145,-0.852],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":81,"s":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.145,-0.852],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":84,"s":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.145,-0.852],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":87,"s":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.145,-0.852],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":90,"s":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.145,-0.852],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":93,"s":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.02,-0.021],[-5.386,-0.006],[0.007,-5.386]],"c":true}],"e":[{"i":[[0.116,-2.97],[2.973,0.003],[0.014,0.057],[-2.976,-0.003]],"o":[[0.054,0.078],[-2.974,-0.003],[-0.236,-3.255],[2.971,0.003]],"v":[[5.386,0.004],[0.145,-0.852],[-5.386,-0.006],[0.007,-5.386]],"c":true}]},{"t":96}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0.79,0.56,0.22,1]},"o":{"a":1,"k":[{"t":0,"s":[0],"h":1},{"t":20,"s":[100],"h":1}]},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[242.997,431.73],"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":"Eyes_Open","np":3,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":40,"s":[{"i":[[0,0],[0.109,-0.906],[13.65,0.572],[1.781,12.531],[0,0],[-24,-0.295]],"o":[[0,0],[-1.541,12.793],[-13.007,-0.545],[-0.128,-0.903],[0,0],[22.624,0.278]],"v":[[23.024,-8.94],[22.994,-8.863],[-2.946,14.608],[-28.522,-7.528],[-28.716,-8.86],[-2.671,14.6]],"c":true}],"e":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,14.608],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"n":"0p833_0p833_0p167_0","t":48,"s":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,14.608],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}],"e":[{"i":[[0,0],[0.123,-0.904],[13.118,0.071],[1.781,12.531],[-0.771,0.001],[-13.559,-0.008]],"o":[[0.771,-0.001],[-1.708,12.576],[-13.016,-0.067],[-0.128,-0.903],[0,0],[13.343,0.006]],"v":[[21.337,-9.257],[22.625,-7.808],[-2.946,17.108],[-28.522,-7.528],[-27.263,-9.176],[-2.671,-5.545]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":51,"s":[{"i":[[0,0],[0.123,-0.904],[13.118,0.071],[1.781,12.531],[-0.771,0.001],[-13.559,-0.008]],"o":[[0.771,-0.001],[-1.708,12.576],[-13.016,-0.067],[-0.128,-0.903],[0,0],[13.343,0.006]],"v":[[21.337,-9.257],[22.625,-7.808],[-2.946,17.108],[-28.522,-7.528],[-27.263,-9.176],[-2.671,-5.545]],"c":true}],"e":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,17.295],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"n":"0p833_0p833_0p167_0","t":54,"s":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,17.295],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}],"e":[{"i":[[0,0],[0.123,-0.904],[13.118,0.071],[1.781,12.531],[-0.771,0.001],[-13.559,-0.008]],"o":[[0.771,-0.001],[-1.708,12.576],[-13.016,-0.067],[-0.128,-0.903],[0,0],[13.343,0.006]],"v":[[21.337,-9.257],[22.625,-7.808],[-2.946,14.608],[-28.522,-7.528],[-27.263,-9.176],[-2.671,-5.545]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":57,"s":[{"i":[[0,0],[0.123,-0.904],[13.118,0.071],[1.781,12.531],[-0.771,0.001],[-13.559,-0.008]],"o":[[0.771,-0.001],[-1.708,12.576],[-13.016,-0.067],[-0.128,-0.903],[0,0],[13.343,0.006]],"v":[[21.337,-9.257],[22.625,-7.808],[-2.946,14.608],[-28.522,-7.528],[-27.263,-9.176],[-2.671,-5.545]],"c":true}],"e":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,17.295],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"n":"0p833_0p833_0p167_0","t":60,"s":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,17.295],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}],"e":[{"i":[[0,0],[0.123,-0.904],[13.118,0.071],[1.781,12.531],[-0.771,0.001],[-13.559,-0.008]],"o":[[0.771,-0.001],[-1.708,12.576],[-13.016,-0.067],[-0.128,-0.903],[0,0],[13.343,0.006]],"v":[[21.337,-9.257],[22.625,-7.808],[-2.946,14.608],[-28.522,-7.528],[-27.263,-9.176],[-2.671,-5.545]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":63,"s":[{"i":[[0,0],[0.123,-0.904],[13.118,0.071],[1.781,12.531],[-0.771,0.001],[-13.559,-0.008]],"o":[[0.771,-0.001],[-1.708,12.576],[-13.016,-0.067],[-0.128,-0.903],[0,0],[13.343,0.006]],"v":[[21.337,-9.257],[22.625,-7.808],[-2.946,14.608],[-28.522,-7.528],[-27.263,-9.176],[-2.671,-5.545]],"c":true}],"e":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,17.295],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"n":"0p833_0p833_0p167_0","t":66,"s":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,17.295],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}],"e":[{"i":[[0,0],[0.123,-0.904],[13.118,0.071],[1.781,12.531],[-0.771,0.001],[-13.559,-0.008]],"o":[[0.771,-0.001],[-1.708,12.576],[-13.016,-0.067],[-0.128,-0.903],[0,0],[13.343,0.006]],"v":[[21.337,-9.257],[22.625,-7.808],[-2.946,14.608],[-28.522,-7.528],[-27.263,-9.176],[-2.671,-5.545]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":69,"s":[{"i":[[0,0],[0.123,-0.904],[13.118,0.071],[1.781,12.531],[-0.771,0.001],[-13.559,-0.008]],"o":[[0.771,-0.001],[-1.708,12.576],[-13.016,-0.067],[-0.128,-0.903],[0,0],[13.343,0.006]],"v":[[21.337,-9.257],[22.625,-7.808],[-2.946,14.608],[-28.522,-7.528],[-27.263,-9.176],[-2.671,-5.545]],"c":true}],"e":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,17.295],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"n":"0p833_0p833_0p167_0","t":72,"s":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,17.295],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}],"e":[{"i":[[0,0],[0.123,-0.904],[13.118,0.071],[1.781,12.531],[-0.771,0.001],[-13.559,-0.008]],"o":[[0.771,-0.001],[-1.708,12.576],[-13.016,-0.067],[-0.128,-0.903],[0,0],[13.343,0.006]],"v":[[21.337,-9.257],[22.625,-7.808],[-2.946,14.608],[-28.522,-7.528],[-27.263,-9.176],[-2.671,-5.545]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":75,"s":[{"i":[[0,0],[0.123,-0.904],[13.118,0.071],[1.781,12.531],[-0.771,0.001],[-13.559,-0.008]],"o":[[0.771,-0.001],[-1.708,12.576],[-13.016,-0.067],[-0.128,-0.903],[0,0],[13.343,0.006]],"v":[[21.337,-9.257],[22.625,-7.808],[-2.946,14.608],[-28.522,-7.528],[-27.263,-9.176],[-2.671,-5.545]],"c":true}],"e":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,17.295],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"n":"0p833_0p833_0p167_0","t":78,"s":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,17.295],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}],"e":[{"i":[[0,0],[0.123,-0.904],[13.118,0.071],[1.781,12.531],[-0.771,0.001],[-13.559,-0.008]],"o":[[0.771,-0.001],[-1.708,12.576],[-13.016,-0.067],[-0.128,-0.903],[0,0],[13.343,0.006]],"v":[[21.337,-9.257],[22.625,-7.808],[-2.946,14.608],[-28.522,-7.528],[-27.263,-9.176],[-2.671,-5.545]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":81,"s":[{"i":[[0,0],[0.123,-0.904],[13.118,0.071],[1.781,12.531],[-0.771,0.001],[-13.559,-0.008]],"o":[[0.771,-0.001],[-1.708,12.576],[-13.016,-0.067],[-0.128,-0.903],[0,0],[13.343,0.006]],"v":[[21.337,-9.257],[22.625,-7.808],[-2.946,14.608],[-28.522,-7.528],[-27.263,-9.176],[-2.671,-5.545]],"c":true}],"e":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,17.295],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"n":"0p833_0p833_0p167_0","t":84,"s":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,17.295],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}],"e":[{"i":[[0,0],[0.123,-0.904],[13.118,0.071],[1.781,12.531],[-0.771,0.001],[-13.559,-0.008]],"o":[[0.771,-0.001],[-1.708,12.576],[-13.016,-0.067],[-0.128,-0.903],[0,0],[13.343,0.006]],"v":[[21.337,-9.257],[22.625,-7.808],[-2.946,14.608],[-28.522,-7.528],[-27.263,-9.176],[-2.671,-5.545]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":87,"s":[{"i":[[0,0],[0.123,-0.904],[13.118,0.071],[1.781,12.531],[-0.771,0.001],[-13.559,-0.008]],"o":[[0.771,-0.001],[-1.708,12.576],[-13.016,-0.067],[-0.128,-0.903],[0,0],[13.343,0.006]],"v":[[21.337,-9.257],[22.625,-7.808],[-2.946,14.608],[-28.522,-7.528],[-27.263,-9.176],[-2.671,-5.545]],"c":true}],"e":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,17.295],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"n":"0p833_0p833_0p167_0","t":90,"s":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,17.295],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}],"e":[{"i":[[0,0],[0.123,-0.904],[13.118,0.071],[1.781,12.531],[-0.771,0.001],[-13.559,-0.008]],"o":[[0.771,-0.001],[-1.708,12.576],[-13.016,-0.067],[-0.128,-0.903],[0,0],[13.343,0.006]],"v":[[21.337,-9.257],[22.625,-7.808],[-2.946,14.608],[-28.522,-7.528],[-27.263,-9.176],[-2.671,-5.545]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":93,"s":[{"i":[[0,0],[0.123,-0.904],[13.118,0.071],[1.781,12.531],[-0.771,0.001],[-13.559,-0.008]],"o":[[0.771,-0.001],[-1.708,12.576],[-13.016,-0.067],[-0.128,-0.903],[0,0],[13.343,0.006]],"v":[[21.337,-9.257],[22.625,-7.808],[-2.946,14.608],[-28.522,-7.528],[-27.263,-9.176],[-2.671,-5.545]],"c":true}],"e":[{"i":[[0,0],[0.125,-0.904],[13.019,-0.021],[1.781,12.531],[-0.913,0.001],[-11.625,0.045]],"o":[[0.913,-0.002],[-1.74,12.536],[-13.018,0.021],[-0.128,-0.903],[0,0],[11.625,-0.045]],"v":[[21.024,-9.315],[22.557,-7.613],[-2.946,17.295],[-28.522,-7.528],[-26.994,-9.235],[-2.671,-9.275]],"c":true}]},{"t":96}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0.79,0.56,0.22,1]},"o":{"a":1,"k":[{"t":0,"s":[0],"h":1},{"t":40,"s":[100],"h":1}]},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"st","c":{"a":0,"k":[0.79,0.56,0.22,1]},"o":{"a":1,"k":[{"t":0,"s":[0],"h":1},{"t":40,"s":[100],"h":1}]},"w":{"a":0,"k":2.641},"lc":2,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[233.421,461.195],"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":"Open Smile","np":3,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-13.602,0.167],[-0.817,13.364]],"o":[[1.145,13.34],[13.603,-0.166],[0,0]],"v":[[-25.719,-11.551],[0.292,12.014],[25.719,-12.182]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":0,"s":[45],"e":[0]},{"t":20}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":0,"s":[55],"e":[100]},{"t":20}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"st","c":{"a":0,"k":[0.79,0.56,0.22,1]},"o":{"a":1,"k":[{"t":0,"s":[100],"h":1},{"t":40,"s":[0],"h":1}]},"w":{"a":0,"k":2.641},"lc":2,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[230.43,463.945],"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":"Smile","np":3,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[10.322,1.475],[0,0],[4.634,9.335],[0,0],[3.041,-0.007],[0,0],[-4.62,-2.413],[0,0],[1.789,10.268],[0,0],[-7.447,7.297],[0,0]],"o":[[0,0],[-10.319,-1.474],[0,0],[-2.319,-4.67],[0,0],[6.08,-0.016],[0,0],[9.237,4.826],[0,0],[-1.79,-10.269],[0,0],[7.447,-7.294]],"v":[[30.878,-26.746],[4.089,-30.567],[-23.103,-50.22],[-35.144,-74.456],[-43.549,-81.447],[-43.189,60.499],[-26.405,64.095],[-2.419,76.628],[11.128,66.733],[6.486,40.071],[16.773,8.136],[36.102,-10.803]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[1,0.77,0.07,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[275.242,440.626],"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":"Body_shader","np":2,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-4.636,-9.336],[0,0],[-10.32,-1.474],[0,0],[7.448,-7.294],[0,0],[-1.789,-10.269],[0,0],[9.237,4.826],[0,0],[9.213,-4.873],[0,0],[-1.735,10.277],[0,0],[7.482,7.258],[0,0],[-10.314,1.526],[0,0],[-4.59,9.36]],"o":[[4.59,-9.359],[0,0],[4.634,9.335],[0,0],[10.322,1.475],[0,0],[-7.446,7.297],[0,0],[1.788,10.269],[0,0],[-9.237,-4.826],[0,0],[-9.215,4.873],[0,0],[1.736,-10.28],[0,0],[-7.482,-7.256],[0,0],[10.315,-1.525],[0,0]],"v":[[-8.533,-73.371],[8.244,-73.413],[20.285,-49.178],[47.477,-29.525],[74.265,-25.704],[79.489,-9.76],[60.16,9.178],[49.874,41.114],[54.515,67.775],[40.969,77.671],[16.983,65.137],[-16.569,65.22],[-40.491,77.876],[-54.088,68.051],[-49.58,41.366],[-60.029,9.483],[-79.455,-9.358],[-74.312,-25.327],[-47.543,-29.285],[-20.447,-49.076]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[1,0.83,0.44,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[231.695,439.583],"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":"Body","np":2,"mn":"ADBE Vector Group"}],"ip":0,"op":90,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":4,"ty":4,"nm":"Fireworks_08","parent":0,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[-41,-125.553,0]},"a":{"a":0,"k":[312.5,177.5,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-3.733,3.212],[3.516,3.448],[1.007,-0.109],[-0.831,-1.602],[-1.804,-0.048],[-1.498,2.82],[1.857,2.598],[1.894,4.895],[-2.186,3.33],[0.394,3.963],[4.488,1.512],[0.67,2.591],[-1.061,1.667],[3.352,6.121],[-0.017,5.733],[-0.824,5.056],[1.288,6.795],[2.266,9.62],[0.775,2.384],[-2.086,5.33]],"o":[[4.912,0.354],[3.734,-3.212],[-0.723,-0.709],[-1.794,0.194],[0.831,1.602],[3.192,0.085],[1.498,-2.82],[-3.052,-4.27],[-1.438,-3.716],[2.186,-3.33],[-0.468,-4.712],[-2.536,-0.855],[-0.495,-1.913],[3.747,-5.888],[-2.754,-5.028],[0.015,-5.123],[1.113,-6.827],[-1.84,-9.71],[-0.575,-2.44],[-1.769,-5.444],[0,0]],"v":[[19.657,33.614],[33.618,30.114],[35.047,17.054],[32.352,15.881],[30.503,20.092],[35.067,22.494],[42.924,17.911],[42.323,8.835],[30.752,-1.506],[33.523,-12.651],[37.839,-23.525],[28.4,-33.073],[22.087,-37.425],[23.799,-42.917],[27.536,-62.474],[17.953,-76.278],[24.534,-89.921],[16.335,-108.508],[24.585,-136.227],[21.753,-143.18],[24.179,-159.818]],"c":false}},"nm":"Path 2","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.67,0.87,0.87,1]},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":14,"s":[100],"e":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":46.381,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":68.762,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":70,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":103,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":104,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":643,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":644,"s":[100],"e":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":676.381,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":698.762,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":700,"s":[0],"e":[0]},{"t":733}]},"w":{"a":0,"k":4.829},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":14,"s":[0],"e":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":25,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":67,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":70,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p833_0p167_0"],"t":103,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_1_0p167_0p167"],"t":104,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p833_0p167_0"],"t":643,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":644,"s":[0],"e":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":655,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":697,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":700,"s":[100],"e":[100]},{"t":733}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":14,"s":[0],"e":[0]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0_1_0p167_0p167"],"t":24,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":68.762,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":70,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p833_0p167_0"],"t":103,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_1_0p167_0p167"],"t":104,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p833_0p167_0"],"t":643,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":644,"s":[0],"e":[0]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0_1_0p167_0p167"],"t":654,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":698.762,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":700,"s":[100],"e":[100]},{"t":733}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"tr","p":{"a":0,"k":[312.078,177.185],"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":3,"mn":"ADBE Vector Group"}],"ip":14,"op":450,"st":24,"bm":0,"sr":1},{"ddd":0,"ind":5,"ty":4,"nm":"Fireworks_07","parent":0,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[-41,-125.553,0]},"a":{"a":0,"k":[312.5,177.5,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-3.987,2.255],[-3.851,-0.605],[-3.81,0.826],[0.199,3.894],[-0.057,1.725],[-3.528,0.655],[-3.35,1.286],[-0.385,4.173],[-1.666,2.264],[-4.338,1.184],[0.652,6.571],[-0.575,1.771],[-4.258,0.478],[-2.004,3.788],[0.798,2.901],[-1.515,4.958],[-6.098,3.216],[-0.018,8.318],[-2.756,4.522]],"o":[[-1.536,-4.314],[3.393,-1.919],[3.852,0.605],[3.811,-0.825],[-0.088,-1.723],[0.118,-3.586],[3.529,-0.654],[3.912,-1.503],[0.258,-2.799],[2.666,-3.621],[6.371,-1.74],[-0.183,-1.853],[1.322,-4.076],[4.258,-0.479],[1.407,-2.659],[-1.374,-4.999],[2.015,-6.594],[7.358,-3.88],[0.011,-5.295],[0,0]],"v":[[168.47,147.842],[172.892,135.992],[184.314,134.937],[195.915,135.611],[203.185,127.697],[202.336,122.605],[209.757,115.984],[220.374,114.415],[227.58,104.899],[228.797,96.697],[241.534,93.832],[249.311,77.395],[249.402,71.854],[260.021,65.997],[271.274,60.989],[271.241,52.188],[269.636,36.947],[284.659,23.584],[299.994,5.52],[299.485,-10.017]],"c":false}},"nm":"Path 6","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.91,0.32,0.61,1]},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":12,"s":[100],"e":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":41.048,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":60.096,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":68,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":101,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":102,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":641,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":642,"s":[100],"e":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":671.048,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":690.096,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":698,"s":[0],"e":[0]},{"t":731}]},"w":{"a":0,"k":4.829},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":12,"s":[0],"e":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":23.904,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":62,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":68,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p833_0p167_0"],"t":101,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_1_0p167_0p167"],"t":102,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p833_0p167_0"],"t":641,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":642,"s":[0],"e":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":653.904,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":692,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":698,"s":[100],"e":[100]},{"t":731}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":12,"s":[0],"e":[0]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0_1_0p167_0p167"],"t":22,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":60.096,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":68,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p833_0p167_0"],"t":101,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_1_0p167_0p167"],"t":102,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p833_0p167_0"],"t":641,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":642,"s":[0],"e":[0]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0_1_0p167_0p167"],"t":652,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":690.096,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":698,"s":[100],"e":[100]},{"t":731}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"tr","p":{"a":0,"k":[312.078,177.185],"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":3,"mn":"ADBE Vector Group"}],"ip":12,"op":450,"st":22,"bm":0,"sr":1},{"ddd":0,"ind":6,"ty":4,"nm":"Fireworks_06","parent":0,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[-41,-125.553,0]},"a":{"a":0,"k":[312.5,177.5,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-5.281,4.43],[-0.914,3.014],[5.89,1.428],[1.278,-0.706],[-0.398,-2.024],[-1.595,-1.307],[-5.767,2.717],[-1.596,6.171],[3.096,3.922],[3.061,0.395],[-0.362,-3.113],[-0.844,-0.845],[-5.948,1.68],[-4.203,4.531],[-0.402,6.099],[7.253,2.417],[1.355,-3.406],[-1.315,-1.81],[-5.511,1.088],[-3.533,4.367],[0.195,7.031],[5.769,4.024],[2.472,-0.019],[1.072,-2.228],[-1.583,-1.944],[-2.424,-0.639],[-4.257,7.616],[6.316,6.022],[2.637,-1.208],[-1.496,-2.496],[-2.893,0.316],[-2.212,1.892],[-0.927,3.55],[2.473,2.71]],"o":[[6.373,2.623],[2.413,-2.024],[1.757,-5.8],[-1.419,-0.345],[-1.805,0.998],[0.397,2.024],[4.929,4.043],[5.767,-2.716],[1.252,-4.838],[-1.912,-2.422],[-3.109,-0.402],[0.138,1.187],[4.367,4.372],[5.948,-1.679],[4.157,-4.48],[0.503,-7.629],[-3.478,-1.159],[-0.826,2.079],[3.303,4.544],[5.511,-1.089],[4.423,-5.47],[-0.195,-7.031],[-2.027,-1.414],[-2.472,0.019],[-1.087,2.258],[1.582,1.944],[8.437,2.224],[4.257,-7.617],[-2.098,-2.001],[-2.645,1.213],[1.495,2.497],[2.892,-0.316],[2.788,-2.385],[0.926,-3.551],[0,0]],"v":[[155.107,26.434],[174.284,22.087],[179.759,14.55],[171.698,0.45],[167.431,0.768],[165.247,6.125],[168.605,11.174],[186.637,13.021],[198.146,-1.482],[195.964,-15.777],[188.107,-20.228],[181.374,-15.649],[183.12,-12.598],[200.404,-8.883],[215.596,-19.099],[223.786,-35.098],[211.8,-52.728],[202.231,-49.982],[203.534,-43.686],[218.597,-38.425],[232.409,-47.474],[239.401,-66.919],[230.087,-85.004],[223.214,-87.454],[217.117,-83.941],[218.253,-76.909],[224.63,-73.166],[247.016,-82.674],[243.387,-106.723],[235.556,-109.098],[233.618,-101.608],[241.18,-98.275],[248.909,-102.043],[254.954,-111.038],[252.759,-121.366]],"c":false}},"nm":"Path 7","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0,0.73,0.73,1]},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":10,"s":[100],"e":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":40,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":60.001,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":66,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":99,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":100,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":639,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":640,"s":[100],"e":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":670,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":690.001,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":696,"s":[0],"e":[0]},{"t":729}]},"w":{"a":0,"k":4.829},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":10,"s":[0],"e":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":22,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":62,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":66,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p833_0p167_0"],"t":99,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_1_0p167_0p167"],"t":100,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p833_0p167_0"],"t":639,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":640,"s":[0],"e":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":652,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":692,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":696,"s":[100],"e":[100]},{"t":729}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":10,"s":[0],"e":[0]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0_1_0p167_0p167"],"t":20,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":60.001,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":66,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p833_0p167_0"],"t":99,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_1_0p167_0p167"],"t":100,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p833_0p167_0"],"t":639,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":640,"s":[0],"e":[0]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0_1_0p167_0p167"],"t":650,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":690.001,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":696,"s":[100],"e":[100]},{"t":729}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"tr","p":{"a":0,"k":[312.078,177.185],"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":3,"mn":"ADBE Vector Group"}],"ip":10,"op":450,"st":20,"bm":0,"sr":1},{"ddd":0,"ind":7,"ty":4,"nm":"Fireworks_05","parent":0,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[-41,-125.553,0]},"a":{"a":0,"k":[312.5,177.5,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[4.131,7.797],[-5.227,7.109],[-8.766,-1.006],[-2.056,-1.844],[1.011,-2.57],[2.071,-1.017],[11.297,8.656],[-0.667,11.76],[-11.746,0.887],[-2.541,-1.671],[0.36,-3.02],[2.745,-1.724],[12.069,6.836],[4.344,10.921],[-2.995,9.212],[-2.692,2.073],[-2.84,0.366],[-3.616,-4.508],[6.115,-4.567],[7.593,0.777],[7.683,3.722],[3.783,5.39],[0.942,5.093],[-3.631,7.488],[-8.288,0.753]],"o":[[-8.772,0.947],[-4.13,-7.797],[5.226,-7.109],[2.743,0.315],[2.056,1.843],[-0.844,2.146],[-12.773,6.277],[-9.35,-7.164],[0.667,-11.759],[3.033,-0.229],[2.541,1.671],[-0.384,3.219],[-11.744,7.379],[-10.227,-5.792],[-3.581,-9.002],[1.05,-3.231],[2.268,-1.747],[5.732,-0.739],[4.777,5.954],[-6.116,4.567],[-8.493,-0.868],[-5.926,-2.871],[-2.976,-4.239],[-1.513,-8.184],[3.631,-7.489],[0,0]],"v":[[21.947,19.676],[-0.004,7.853],[1.987,-17.173],[25.207,-27.138],[32.799,-24.171],[34.978,-16.7],[29.978,-12.152],[-10.184,-17.613],[-25.547,-47.891],[-3.824,-71.879],[4.928,-69.965],[8.88,-62.255],[3.165,-54.794],[-36.376,-57.061],[-59.814,-82.497],[-60.73,-110.966],[-55.446,-119.498],[-47.461,-122.373],[-31.596,-117.55],[-35.706,-97.459],[-57.634,-93.077],[-82.148,-100.034],[-97.524,-112.094],[-103.116,-126.461],[-100.635,-150.883],[-81.46,-165.113]],"c":false}},"nm":"Path 4","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0,0.73,0.73,1]},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":8,"s":[100],"e":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":34.667,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":51.334,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":64,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":97,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":98,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":637,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":638,"s":[100],"e":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":664.667,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":681.334,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":694,"s":[0],"e":[0]},{"t":727}]},"w":{"a":0,"k":4.829},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":8,"s":[0],"e":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":19.666,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":53,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":64,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p833_0p167_0"],"t":97,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_1_0p167_0p167"],"t":98,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p833_0p167_0"],"t":637,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":638,"s":[0],"e":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":649.666,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":683,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":694,"s":[100],"e":[100]},{"t":727}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":8,"s":[0],"e":[0]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0_1_0p167_0p167"],"t":18,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":51.334,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":64,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p833_0p167_0"],"t":97,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_1_0p167_0p167"],"t":98,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p833_0p167_0"],"t":637,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":638,"s":[0],"e":[0]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0_1_0p167_0p167"],"t":648,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":681.334,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":694,"s":[100],"e":[100]},{"t":727}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"tr","p":{"a":0,"k":[312.078,177.185],"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":3,"mn":"ADBE Vector Group"}],"ip":8,"op":450,"st":18,"bm":0,"sr":1},{"ddd":0,"ind":8,"ty":4,"nm":"Fireworks_04","parent":0,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[-41,-125.553,0]},"a":{"a":0,"k":[312.5,177.5,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-0.913,5.269],[1.635,5.641],[2.07,9.641],[-1.235,6.159],[3.608,2.85],[2.872,6.752],[1.643,6.444],[3.337,2.11],[2.014,7.467],[0.352,3.318],[3.517,3.226],[3.39,3.021],[1.953,8.137]],"o":[[-4.197,-3.313],[1.002,-5.787],[-2.745,-9.471],[-1.319,-6.142],[0.904,-4.508],[-5.759,-4.546],[-2.603,-6.119],[-0.976,-3.826],[-6.538,-4.133],[-0.869,-3.222],[-0.503,-4.746],[-3.347,-3.069],[-6.248,-5.568],[0,0]],"v":[[-57.252,23.762],[-62.715,9.49],[-58.964,-7.44],[-80.304,-26.391],[-74.597,-44.016],[-79.12,-56.32],[-97.537,-67.369],[-96.248,-86.954],[-103.868,-95.641],[-120.542,-110.88],[-121.281,-120.84],[-127.589,-133.348],[-138.641,-141.284],[-149.101,-163.655]],"c":false}},"nm":"Path 3","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.91,0.32,0.61,1]},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":6,"s":[100],"e":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":33.144,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":50.286,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":62,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":95,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":96,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":635,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":636,"s":[100],"e":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":663.144,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":680.286,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":692,"s":[0],"e":[0]},{"t":725}]},"w":{"a":0,"k":4.829},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":6,"s":[0],"e":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":17.714,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":52,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":62,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p833_0p167_0"],"t":95,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_1_0p167_0p167"],"t":96,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p833_0p167_0"],"t":635,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":636,"s":[0],"e":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":647.714,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":682,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":692,"s":[100],"e":[100]},{"t":725}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":6,"s":[0],"e":[0]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0_1_0p167_0p167"],"t":16,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":50.286,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":62,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p833_0p167_0"],"t":95,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_1_0p167_0p167"],"t":96,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p833_0p167_0"],"t":635,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":636,"s":[0],"e":[0]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0_1_0p167_0p167"],"t":646,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":680.286,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":692,"s":[100],"e":[100]},{"t":725}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"tr","p":{"a":0,"k":[312.078,177.185],"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":3,"mn":"ADBE Vector Group"}],"ip":6,"op":450,"st":16,"bm":0,"sr":1},{"ddd":0,"ind":9,"ty":4,"nm":"Fireworks_03","parent":0,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[-41,-125.553,0]},"a":{"a":0,"k":[312.5,177.5,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[6.04,1.773],[1.254,-6.169],[-0.817,-1.005],[-1.139,2.006],[1.203,1.968],[4.066,-0.354],[1.495,-3.798],[3.934,-5.435],[5.091,0.029],[3.978,-3.177],[-1.497,-5.865],[2.314,-2.52],[2.526,-0.02],[4.235,-7.851],[6.161,-3.967],[5.996,-2.631],[6.393,-6.106],[8.746,-9.115],[2.019,-2.488],[7.167,-1.468]],"o":[[-3.035,-5.515],[-6.041,-1.772],[-0.258,1.269],[1.455,1.789],[1.14,-2.005],[-2.128,-3.483],[-4.066,0.354],[-2.458,6.242],[-2.986,4.125],[-5.092,-0.03],[-4.729,3.778],[0.846,3.314],[-1.708,1.861],[-8.921,0.074],[-3.479,6.449],[-5.505,3.545],[-8.096,3.552],[-9.136,8.724],[-2.218,2.313],[-4.609,5.682],[0,0]],"v":[[-89.377,35.497],[-102.837,22.955],[-117.839,30.501],[-117.223,34.207],[-111.421,33.263],[-112.017,26.697],[-122.395,21.455],[-131.712,28.41],[-134.761,48.01],[-148.642,52.786],[-163.307,55.715],[-166.986,72.477],[-167.266,82.274],[-174.347,84.255],[-197.923,93.843],[-206.068,113.718],[-225.276,116.143],[-239.515,137.858],[-274.982,148.278],[-280.472,156.15],[-300.005,165.113]],"c":false}},"nm":"Path 2","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.91,0.32,0.61,1]},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":4,"s":[100],"e":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":33.524,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":53.048,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":60,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":93,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":94,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":633,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":634,"s":[100],"e":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":663.524,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":683.048,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":690,"s":[0],"e":[0]},{"t":723}]},"w":{"a":0,"k":4.829},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":4,"s":[0],"e":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":15.952,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":55,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":60,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p833_0p167_0"],"t":93,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_1_0p167_0p167"],"t":94,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p833_0p167_0"],"t":633,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":634,"s":[0],"e":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":645.952,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":685,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":690,"s":[100],"e":[100]},{"t":723}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":4,"s":[0],"e":[0]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0_1_0p167_0p167"],"t":14,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":53.048,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":60,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p833_0p167_0"],"t":93,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_1_0p167_0p167"],"t":94,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p833_0p167_0"],"t":633,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":634,"s":[0],"e":[0]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0_1_0p167_0p167"],"t":644,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":683.048,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":690,"s":[100],"e":[100]},{"t":723}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"tr","p":{"a":0,"k":[312.078,177.185],"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":3,"mn":"ADBE Vector Group"}],"ip":4,"op":450,"st":14,"bm":0,"sr":1},{"ddd":0,"ind":10,"ty":4,"nm":"Fireworks_02","parent":0,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[-41,-125.553,0]},"a":{"a":0,"k":[312.5,177.5,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-7.933,14.672],[0.349,16.675],[5.473,5.656],[4.908,1.164],[4.876,-2.608],[-1.549,-5.308],[-6.55,-0.009],[-1.872,0.928],[-0.997,4.469],[2.661,12.031],[2.233,3.641],[3.652,2.818],[8.412,2.835]],"o":[[11.892,-11.695],[7.932,-14.672],[-0.166,-7.869],[-3.508,-3.625],[-5.381,-1.276],[-4.876,2.608],[1.834,6.288],[2.089,0.003],[4.103,-2.034],[2.684,-12.026],[-0.923,-4.171],[-2.412,-3.933],[-7.029,-5.423],[0,0]],"v":[[119.191,30.962],[149.872,-8.329],[162.384,-56.202],[155.159,-78.093],[141.943,-85.036],[125.763,-83.813],[119.055,-70.028],[134.91,-60.892],[141.017,-62.022],[147.861,-73.389],[147.896,-110.061],[143.478,-122.026],[133.96,-131.966],[110.582,-144.469]],"c":false}},"nm":"Path 5","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[1,0.77,0.07,1]},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":2,"s":[100],"e":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":27.715,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":43.429,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":58,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":91,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":92,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":631,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":632,"s":[100],"e":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":657.715,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":673.429,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":688,"s":[0],"e":[0]},{"t":721}]},"w":{"a":0,"k":4.829},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":2,"s":[0],"e":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":13.571,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":45,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":58,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p833_0p167_0"],"t":91,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_1_0p167_0p167"],"t":92,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p833_0p167_0"],"t":631,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":632,"s":[0],"e":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":643.571,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":675,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":688,"s":[100],"e":[100]},{"t":721}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":2,"s":[0],"e":[0]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0_1_0p167_0p167"],"t":12,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":43.429,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":58,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p833_0p167_0"],"t":91,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_1_0p167_0p167"],"t":92,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p833_0p167_0"],"t":631,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":632,"s":[0],"e":[0]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0_1_0p167_0p167"],"t":642,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":673.429,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":688,"s":[100],"e":[100]},{"t":721}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"tr","p":{"a":0,"k":[312.078,177.185],"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":3,"mn":"ADBE Vector Group"}],"ip":2,"op":450,"st":12,"bm":0,"sr":1},{"ddd":0,"ind":11,"ty":4,"nm":"Fireworks_01","parent":0,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[-41,-125.553,0]},"a":{"a":0,"k":[312.5,177.5,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[11.69,6.335],[-0.042,3.716],[-1.247,1.266],[-2.612,-1.139],[1.105,-2.627],[5.141,2.153],[1.829,8.959],[3.076,2.136],[3.312,2.666],[6.996,6.602],[3.62,1.755],[1.41,3.485],[2.977,4.448],[4.619,1.026],[4.136,2.297],[3.748,5.272],[6.456,0.411]],"o":[[-11.36,6.845],[-3.267,-1.77],[0.02,-1.777],[2,-2.029],[2.611,1.139],[-2.791,6.636],[-9.286,-3.889],[-0.75,-3.67],[-3.493,-2.425],[-7.686,-6.189],[-2.926,-2.762],[-3.383,-1.641],[-2.008,-4.961],[-2.632,-3.932],[-4.619,-1.026],[-5.656,-3.142],[-3.749,-5.273],[0,0]],"v":[[-87.104,119.435],[-125.246,120.525],[-131.776,112.185],[-129.676,107.427],[-121.832,105.665],[-118.75,112.73],[-140.586,115.83],[-152.583,96.072],[-157.893,86.484],[-169.572,81.55],[-177.838,56.291],[-188.771,51.385],[-196.302,43.331],[-200.687,27.987],[-212.76,21.213],[-226.362,17.374],[-239.172,3.039],[-254.425,-7.871]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[1,0.77,0.07,1]},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[100],"e":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":24.762,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":39.524,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":56,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":89,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":90,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":629,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":630,"s":[100],"e":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":654.762,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":669.524,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":686,"s":[0],"e":[0]},{"t":719}]},"w":{"a":0,"k":4.829},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":11.477,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":41,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":56,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p833_0p167_0"],"t":89,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_1_0p167_0p167"],"t":90,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p833_0p167_0"],"t":629,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":630,"s":[0],"e":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p667_1_0p167_0p167"],"t":641.477,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":671,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":686,"s":[100],"e":[100]},{"t":719}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[0]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0_1_0p167_0p167"],"t":10,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":39.524,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":56,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p833_0p167_0"],"t":89,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_1_0p167_0p167"],"t":90,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p833_0p167_0"],"t":629,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":630,"s":[0],"e":[0]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0_1_0p167_0p167"],"t":640,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":669.524,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":686,"s":[100],"e":[100]},{"t":719}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"tr","p":{"a":0,"k":[312.078,177.185],"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":3,"mn":"ADBE Vector Group"}],"ip":0,"op":450,"st":10,"bm":0,"sr":1},{"ddd":0,"ind":12,"ty":4,"nm":"Fireworks","parent":0,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":53,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":56,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":90,"s":[0],"e":[100]},{"t":93}]},"r":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":0,"s":[7.784,-100.71,0],"e":[7.784,99.29,0],"to":[0,33.3333320617676,0],"ti":[0,-33.3333320617676,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":56,"s":[7.784,99.29,0],"e":[7.784,99.29,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":89,"s":[7.784,99.29,0],"e":[7.784,-100.71,0],"to":[0,-33.3333320617676,0],"ti":[0,33.3333320617676,0]},{"t":90}]},"a":{"a":0,"k":[225.631,140.499,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[1.091,10.526],[-8.034,1.938],[-1.091,-10.526],[8.034,-1.938]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0.91,0.32,0.61,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"n":"0_1_0p167_0p167","t":0,"s":[218.951,244.775],"e":[-64.365,214.365],"to":[-47.2194023132324,-5.068359375],"ti":[47.2194023132324,5.068359375]},{"i":{"x":0,"y":0},"o":{"x":0.167,"y":0.167},"n":"0_0_0p167_0p167","t":50,"s":[-64.365,214.365],"e":[-64.365,214.365],"to":[0,0],"ti":[0,0]},{"i":{"x":0,"y":0},"o":{"x":0.167,"y":0.167},"n":"0_0_0p167_0p167","t":56,"s":[-64.365,214.365],"e":[-64.365,214.365],"to":[0,0],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"n":"0p833_0p833_0p167_0","t":89,"s":[-64.365,214.365],"e":[218.951,244.775],"to":[47.2194023132324,5.068359375],"ti":[-47.2194023132324,-5.068359375]},{"t":90}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0_1_0p167_0p167"],"t":0,"s":[-1996],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":50,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":56,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p833_0p167_0"],"t":89,"s":[0],"e":[-1996]},{"t":90}],"ix":6},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":15.834,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":50,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":56,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":89,"s":[0],"e":[100]},{"t":90}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[10.032,-3.369],[3.65,7.414],[-10.032,3.37],[-3.65,-7.414]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[1,0.77,0.07,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"n":"0_1_0p167_0p167","t":0,"s":[217.823,241.687],"e":[62.624,26.913],"to":[-25.8665370941162,-35.7955741882324],"ti":[25.8665370941162,35.7955741882324]},{"i":{"x":0,"y":0},"o":{"x":0.167,"y":0.167},"n":"0_0_0p167_0p167","t":33,"s":[62.624,26.913],"e":[62.624,26.913],"to":[0,0],"ti":[0,0]},{"i":{"x":0,"y":0},"o":{"x":0.167,"y":0.167},"n":"0_0_0p167_0p167","t":56,"s":[62.624,26.913],"e":[62.624,26.913],"to":[0,0],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"n":"0p833_0p833_0p167_0","t":89,"s":[62.624,26.913],"e":[217.823,241.687],"to":[25.8665370941162,35.7955741882324],"ti":[-25.8665370941162,-35.7955741882324]},{"t":90}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0_1_0p167_0p167"],"t":0,"s":[1909],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":33,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":56,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p833_0p167_0"],"t":89,"s":[0],"e":[1909]},{"t":90}],"ix":6},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":10.45,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":33,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":56,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":89,"s":[0],"e":[100]},{"t":90}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[5.439,-9.079],[7.591,3.266],[-5.438,9.079],[-7.591,-3.265]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0.91,0.32,0.61,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"n":"0_1_0p167_0p167","t":0,"s":[216.419,243.707],"e":[310.345,5.738],"to":[15.654296875,-39.6614570617676],"ti":[-15.654296875,39.6614570617676]},{"i":{"x":0,"y":0},"o":{"x":0.167,"y":0.167},"n":"0_0_0p167_0p167","t":44,"s":[310.345,5.738],"e":[310.345,5.738],"to":[0,0],"ti":[0,0]},{"i":{"x":0,"y":0},"o":{"x":0.167,"y":0.167},"n":"0_0_0p167_0p167","t":56,"s":[310.345,5.738],"e":[310.345,5.738],"to":[0,0],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"n":"0p833_0p833_0p167_0","t":89,"s":[310.345,5.738],"e":[216.419,243.707],"to":[-15.654296875,39.6614570617676],"ti":[15.654296875,-39.6614570617676]},{"t":90}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0_1_0p167_0p167"],"t":0,"s":[-1082],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":44,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":56,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p833_0p167_0"],"t":89,"s":[0],"e":[-1082]},{"t":90}],"ix":6},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":13.934,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":44,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":56,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":89,"s":[0],"e":[100]},{"t":90}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":2,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[10.032,-3.369],[3.649,7.414],[-10.032,3.37],[-3.65,-7.414]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0.91,0.32,0.61,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"n":"0_1_0p167_0p167","t":0,"s":[220.852,243.393],"e":[503.969,162.999],"to":[47.1861991882324,-13.3990888595581],"ti":[-47.1861991882324,13.3990888595581]},{"i":{"x":0,"y":0},"o":{"x":0.167,"y":0.167},"n":"0_0_0p167_0p167","t":56,"s":[503.969,162.999],"e":[503.969,162.999],"to":[0,0],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"n":"0p833_0p833_0p167_0","t":89,"s":[503.969,162.999],"e":[220.852,243.393],"to":[-47.1861991882324,13.3990888595581],"ti":[47.1861991882324,-13.3990888595581]},{"t":90}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0_1_0p167_0p167"],"t":0,"s":[-1636],"e":[0]},{"i":{"x":[0],"y":[0]},"o":{"x":[0.167],"y":[0.167]},"n":["0_0_0p167_0p167"],"t":56,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p833_0p167_0"],"t":89,"s":[0],"e":[-1636]},{"t":90}],"ix":6},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":17.733,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":56,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":89,"s":[0],"e":[100]},{"t":90}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 4","np":2,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[5.635,-8.958],[7.518,3.43],[-5.635,8.958],[-7.518,-3.431]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0.65,0.86,0.87,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"n":"0_1_0p167_0p167","t":0,"s":[216.978,239.574],"e":[167.638,-20.883],"to":[-8.22330760955811,-43.4095039367676],"ti":[8.22330760955811,43.4095039367676]},{"i":{"x":0,"y":0},"o":{"x":0.167,"y":0.167},"n":"0_0_0p167_0p167","t":34,"s":[167.638,-20.883],"e":[167.638,-20.883],"to":[0,0],"ti":[0,0]},{"i":{"x":0,"y":0},"o":{"x":0.167,"y":0.167},"n":"0_0_0p167_0p167","t":56,"s":[167.638,-20.883],"e":[167.638,-20.883],"to":[0,0],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"n":"0p833_0p833_0p167_0","t":89,"s":[167.638,-20.883],"e":[216.978,239.574],"to":[8.22330760955811,43.4095039367676],"ti":[-8.22330760955811,-43.4095039367676]},{"t":90}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0_1_0p167_0p167"],"t":0,"s":[791],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":34,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":56,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p833_0p167_0"],"t":89,"s":[0],"e":[791]},{"t":90}],"ix":6},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":10.767,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":34,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":56,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":89,"s":[0],"e":[100]},{"t":90}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 5","np":2,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[12.714,-4.27],[4.625,9.396],[-12.714,4.27],[-4.625,-9.396]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[1,0.77,0.07,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"n":"0_1_0p167_0p167","t":0,"s":[216.807,247.359],"e":[306.713,-26.422],"to":[14.984375,-45.6302070617676],"ti":[-14.984375,45.6302070617676]},{"i":{"x":0,"y":0},"o":{"x":0.167,"y":0.167},"n":"0_0_0p167_0p167","t":35,"s":[306.713,-26.422],"e":[306.713,-26.422],"to":[0,0],"ti":[0,0]},{"i":{"x":0,"y":0},"o":{"x":0.167,"y":0.167},"n":"0_0_0p167_0p167","t":56,"s":[306.713,-26.422],"e":[306.713,-26.422],"to":[0,0],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"n":"0p833_0p833_0p167_0","t":89,"s":[306.713,-26.422],"e":[216.807,247.359],"to":[-14.984375,45.6302070617676],"ti":[14.984375,-45.6302070617676]},{"t":90}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0_1_0p167_0p167"],"t":0,"s":[-1349],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":56,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p833_0p167_0"],"t":89,"s":[0],"e":[-1349]},{"t":90}],"ix":6},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":11.084,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":56,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":89,"s":[0],"e":[100]},{"t":90}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 6","np":2,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[16.462,-5.529],[5.988,12.166],[-16.462,5.529],[-5.99,-12.166]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0.89,0.91,0.92,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"n":"0_1_0p167_0p167","t":0,"s":[220.337,243.096],"e":[496.388,105.69],"to":[46.0084648132324,-22.9010410308838],"ti":[-46.0084648132324,22.9010410308838]},{"i":{"x":0,"y":0},"o":{"x":0.167,"y":0.167},"n":"0_0_0p167_0p167","t":50,"s":[496.388,105.69],"e":[496.388,105.69],"to":[0,0],"ti":[0,0]},{"i":{"x":0,"y":0},"o":{"x":0.167,"y":0.167},"n":"0_0_0p167_0p167","t":56,"s":[496.388,105.69],"e":[496.388,105.69],"to":[0,0],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"n":"0p833_0p833_0p167_0","t":89,"s":[496.388,105.69],"e":[220.337,243.096],"to":[-46.0084648132324,22.9010410308838],"ti":[46.0084648132324,-22.9010410308838]},{"t":90}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0_1_0p167_0p167"],"t":0,"s":[1085],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":50,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":56,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p833_0p167_0"],"t":89,"s":[0],"e":[1085]},{"t":90}],"ix":6},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":15.834,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":50,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":56,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":89,"s":[0],"e":[100]},{"t":90}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 7","np":2,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[7.21,-15.799],[12.976,3.938],[-7.209,15.799],[-12.976,-3.938]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0.89,0.91,0.92,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"n":"0_1_0p167_0p167","t":0,"s":[216.862,239.004],"e":[502.475,218.079],"to":[47.6022148132324,-3.48763012886047],"ti":[-47.6022148132324,3.48763012886047]},{"i":{"x":0,"y":0},"o":{"x":0.167,"y":0.167},"n":"0_0_0p167_0p167","t":28,"s":[502.475,218.079],"e":[502.475,218.079],"to":[0,0],"ti":[0,0]},{"i":{"x":0,"y":0},"o":{"x":0.167,"y":0.167},"n":"0_0_0p167_0p167","t":56,"s":[502.475,218.079],"e":[502.475,218.079],"to":[0,0],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"n":"0p833_0p833_0p167_0","t":89,"s":[502.475,218.079],"e":[216.862,239.004],"to":[-47.6022148132324,3.48763012886047],"ti":[47.6022148132324,-3.48763012886047]},{"t":90}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0_1_0p167_0p167"],"t":0,"s":[544],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":28,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":56,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p833_0p167_0"],"t":89,"s":[0],"e":[544]},{"t":90}],"ix":6},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":8.867,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":28,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":56,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":89,"s":[0],"e":[100]},{"t":90}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 8","np":2,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[11.889,12.659],[-8.563,10.515],[-11.889,-12.659],[8.562,-10.516]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0.89,0.91,0.92,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"n":"0_1_0p167_0p167","t":0,"s":[219.276,237.668],"e":[218.221,-27.157],"to":[-0.17578125,-44.1373710632324],"ti":[0.17578125,44.1373710632324]},{"i":{"x":0,"y":0},"o":{"x":0.167,"y":0.167},"n":"0_0_0p167_0p167","t":42,"s":[218.221,-27.157],"e":[218.221,-27.157],"to":[0,0],"ti":[0,0]},{"i":{"x":0,"y":0},"o":{"x":0.167,"y":0.167},"n":"0_0_0p167_0p167","t":56,"s":[218.221,-27.157],"e":[218.221,-27.157],"to":[0,0],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"n":"0p833_0p833_0p167_0","t":89,"s":[218.221,-27.157],"e":[219.276,237.668],"to":[0.17578125,44.1373710632324],"ti":[-0.17578125,-44.1373710632324]},{"t":90}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0_1_0p167_0p167"],"t":0,"s":[-1017],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":42,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":56,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p833_0p167_0"],"t":89,"s":[0],"e":[-1017]},{"t":90}],"ix":6},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":13.301,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":42,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":56,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":89,"s":[0],"e":[100]},{"t":90}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 9","np":2,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[11.889,12.66],[-8.562,10.516],[-11.889,-12.66],[8.562,-10.515]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0.89,0.91,0.92,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"n":"0_1_0p167_0p167","t":0,"s":[219.081,240.186],"e":[-48.224,-10.22],"to":[-44.55078125,-41.734375],"ti":[44.55078125,41.734375]},{"i":{"x":0,"y":0},"o":{"x":0.167,"y":0.167},"n":"0_0_0p167_0p167","t":25,"s":[-48.224,-10.22],"e":[-48.224,-10.22],"to":[0,0],"ti":[0,0]},{"i":{"x":0,"y":0},"o":{"x":0.167,"y":0.167},"n":"0_0_0p167_0p167","t":56,"s":[-48.224,-10.22],"e":[-48.224,-10.22],"to":[0,0],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"n":"0p833_0p833_0p167_0","t":89,"s":[-48.224,-10.22],"e":[219.081,240.186],"to":[44.55078125,41.734375],"ti":[-44.55078125,-41.734375]},{"t":90}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0_1_0p167_0p167"],"t":0,"s":[1408],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":25,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":56,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"n":["0p833_0p833_0p167_0"],"t":89,"s":[0],"e":[1408]},{"t":90}],"ix":6},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":7.917,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":25,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":56,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":89,"s":[0],"e":[100]},{"t":90}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 10","np":2,"mn":"ADBE Vector Group"}],"ip":0,"op":450,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":13,"ty":1,"nm":"White Solid 1","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[400,398,0]},"a":{"a":0,"k":[400,400,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"sw":800,"sh":800,"sc":"","ip":0,"op":600,"st":0,"bm":0,"sr":1}]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/static_dynamic_dash.json b/submodules/RLottie/Sources/rlottie/example/resource/static_dynamic_dash.json deleted file mode 100644 index 9ebce590cf..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/static_dynamic_dash.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.1.17","fr":29.9700012207031,"ip":0,"op":150.000006109625,"w":300,"h":300,"nm":"Comp 1","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[150,150.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":20,"s":[135,135],"e":[116,116]},{"t":137.000005580124}],"ix":2},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":20,"s":[24,25],"e":[57,52],"to":[5.5,4.5],"ti":[-5.5,-4.5]},{"t":129.000005254278}],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[54]},{"t":149.000006068894}],"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.402888119221,0.437488675117,0.552941203117,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":7,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":0,"s":[100,100],"e":[50,50]},{"t":40.0000016292334}],"ix":2},"p":{"a":0,"k":[-26,-37],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.145327582955,0.057777773589,0.866666674614,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 2","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"sr","sy":1,"d":1,"pt":{"a":0,"k":5,"ix":3},"p":{"a":0,"k":[26,-54],"ix":4},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":110,"s":[0],"e":[184]},{"t":149.000006068894}],"ix":5},"ir":{"a":0,"k":30,"ix":6},"is":{"a":0,"k":27,"ix":8},"or":{"a":0,"k":59,"ix":7},"os":{"a":0,"k":73,"ix":9},"ix":6,"nm":"Polystar Path 1","mn":"ADBE Vector Shape - Star","hd":false},{"ty":"fl","c":{"a":0,"k":[0.07993286103,0.716212213039,0.766274511814,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 3","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":15,"ix":5},"lc":2,"lj":1,"ml":4,"d":[{"n":"d","nm":"dash","v":{"a":0,"k":25,"ix":1}},{"n":"o","nm":"offset","v":{"a":0,"k":0,"ix":7}}],"nm":"Stroke 2","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":0,"op":150.000006109625,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/telegram.json b/submodules/RLottie/Sources/rlottie/example/resource/telegram.json deleted file mode 100644 index c0bb08e3ba..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/telegram.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"4.10.1","fr":29.9700012207031,"ip":0,"op":120.0000048877,"w":200,"h":320,"nm":"telegram","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"paperplane","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-2.953,-6.222,0],"ix":2},"a":{"a":0,"k":[-2.453,-6.222,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.132,-4.625],[0,0],[0,0],[-2.25,-2.25],[0,0],[0,0],[-5.125,0.312],[0,0],[0,0],[2.75,3.5]],"o":[[0,0],[0,0],[-0.125,4.375],[0,0],[0,0],[2.25,2.25],[0,0],[0,0],[4.243,-0.259],[0,0],[0,0],[-3.169,-4.033]],"v":[[27.125,-46.625],[-39.25,-23.5],[-44.75,-17.125],[-40.125,-10.25],[-22.625,-2.125],[-13.25,3.125],[-8,11],[0.75,29.625],[8.5,35.813],[15.125,29.25],[38.75,-36.25],[38.5,-46.375]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"logo circle","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1.5,-15,0],"ix":2},"a":{"a":0,"k":[1.5,-14.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[175,175],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.172549019608,0.647058823529,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1.5,-14.5],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"mother","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":0,"s":[102,239,0],"e":[102,160,0],"to":[0,-13.1666669845581,0],"ti":[0,26.3333339691162,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":6,"s":[102,160,0],"e":[102,81,0],"to":[0,-26.3333339691162,0],"ti":[0,13.1666669845581,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.167,"y":0.167},"n":"0p667_0p667_0p167_0p167","t":19,"s":[102,81,0],"e":[102,81,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":21,"s":[102,81,0],"e":[102,156,0],"to":[0,12.5,0],"ti":[0,-26.3333339691162,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":25,"s":[102,156,0],"e":[102,239,0],"to":[0,26.3333339691162,0],"ti":[0,-0.66666668653488,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":28,"s":[102,239,0],"e":[102,160,0],"to":[0,0.66666668653488,0],"ti":[0,26.3333339691162,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":34,"s":[102,160,0],"e":[102,81,0],"to":[0,-26.3333339691162,0],"ti":[0,13.1666669845581,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.167,"y":0.167},"n":"0p667_0p667_0p167_0p167","t":47,"s":[102,81,0],"e":[102,81,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":49,"s":[102,81,0],"e":[102,156,0],"to":[0,12.5,0],"ti":[0,-26.3333339691162,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":53,"s":[102,156,0],"e":[102,239,0],"to":[0,26.3333339691162,0],"ti":[0,-9.83333301544189,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":56,"s":[102,239,0],"e":[102,215,0],"to":[0,9.83333301544189,0],"ti":[0,4,0]},{"t":60.0000024438501}],"ix":2},"a":{"a":0,"k":[1.5,-14.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_1_0p333_0"],"t":0,"s":[100,71.429,100],"e":[82,98.966,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_1_0p333_0"],"t":6,"s":[82,98.966,100],"e":[100,77.143,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"n":["0p667_1_0p167_0","0p667_1_0p167_0","0p667_1_0p167_0"],"t":19,"s":[100,77.143,100],"e":[100,77.143,100]},{"i":{"x":[0.703,0.703,0.703],"y":[1,1,1]},"o":{"x":[0.185,0.185,0.185],"y":[0,0,0]},"n":["0p703_1_0p185_0","0p703_1_0p185_0","0p703_1_0p185_0"],"t":21,"s":[100,77.143,100],"e":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_1_0p333_0"],"t":25,"s":[100,100,100],"e":[100,71.429,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_1_0p333_0"],"t":28,"s":[100,71.429,100],"e":[82.857,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_1_0p333_0"],"t":34,"s":[82.857,100,100],"e":[100,77.143,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"n":["0p667_1_0p167_0","0p667_1_0p167_0","0p667_1_0p167_0"],"t":47,"s":[100,77.143,100],"e":[100,77.143,100]},{"i":{"x":[0.703,0.703,0.703],"y":[1,1,1]},"o":{"x":[0.185,0.185,0.185],"y":[0,0,0]},"n":["0p703_1_0p185_0","0p703_1_0p185_0","0p703_1_0p185_0"],"t":49,"s":[100,77.143,100],"e":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_1_0p333_0"],"t":53,"s":[100,100,100],"e":[100,71.429,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_1_0p333_0"],"t":56,"s":[100,71.429,100],"e":[100,100,100]},{"t":60.0000024438501}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[175,175],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.172549019608,0.647058823529,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1.5,-14.5],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"shadow","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[102,303.6,0],"ix":2},"a":{"a":0,"k":[-4,329,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_1_0p333_0"],"t":0,"s":[60,60,100],"e":[42,42,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_1_0p333_0"],"t":6,"s":[42,42,100],"e":[60,60,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p833_1_0p333_0","0p833_1_0p333_0","0p833_1_0p333_0"],"t":19,"s":[60,60,100],"e":[55,55,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"n":["0p667_1_0p167_0","0p667_1_0p167_0","0p667_1_0p167_0"],"t":25,"s":[55,55,100],"e":[60,60,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_1_0p333_0"],"t":28,"s":[60,60,100],"e":[42,42,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_1_0p333_0"],"t":34,"s":[42,42,100],"e":[60,60,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p833_1_0p333_0","0p833_1_0p333_0","0p833_1_0p333_0"],"t":47,"s":[60,60,100],"e":[55,55,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"n":["0p667_1_0p167_0","0p667_1_0p167_0","0p667_1_0p167_0"],"t":53,"s":[55,55,100],"e":[60,60,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"n":["0p833_1_0p167_0","0p833_1_0p167_0","0p833_1_0p167_0"],"t":56,"s":[60,60,100],"e":[55,55,100]},{"t":60.0000024438501}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[380,26],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.933333333333,0.933333333333,0.933333333333,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-4,329],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[74.737,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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300.00001221925,"st":0,"bm":0}]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/tile_grid_loading_animation.json b/submodules/RLottie/Sources/rlottie/example/resource/tile_grid_loading_animation.json deleted file mode 100644 index 4530a779a4..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/tile_grid_loading_animation.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.1.16","fr":60,"ip":0,"op":120,"w":800,"h":800,"nm":"Comp 1","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"e1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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},"n":"0p667_1_0p333_0","t":25,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[336,337],[304,337],[304,305],[336,305]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[400,401],[240,401],[240,241],[400,241]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":55,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[400,401],[240,401],[240,241],[400,241]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[400,401],[240,401],[240,241],[400,241]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":85,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[400,401],[240,401],[240,241],[400,241]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[336,337],[304,337],[304,305],[336,305]],"c":true}]},{"t":115}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"e1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"d1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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},"n":"0p667_1_0p333_0","t":20,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[176,337],[144,337],[144,305],[176,305]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[240,401],[80,401],[80,241],[240,241]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":50,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[240,401],[80,401],[80,241],[240,241]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[240,401],[80,401],[80,241],[240,241]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":80,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[240,401],[80,401],[80,241],[240,241]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[176,337],[144,337],[144,305],[176,305]],"c":true}]},{"t":110}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"d1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"c1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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},"n":"0p667_1_0p333_0","t":15,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[16,337],[-16,337],[-16,305],[16,305]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[80,401],[-80,401],[-80,241],[80,241]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":45,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[80,401],[-80,401],[-80,241],[80,241]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[80,401],[-80,401],[-80,241],[80,241]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":75,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[80,401],[-80,401],[-80,241],[80,241]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[16,337],[-16,337],[-16,305],[16,305]],"c":true}]},{"t":105}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"c1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"b1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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},"n":"0p667_1_0p333_0","t":10,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-144,337],[-176,337],[-176,305],[-144,305]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-80,401],[-240,401],[-240,241],[-80,241]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":40,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-80,401],[-240,401],[-240,241],[-80,241]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-80,401],[-240,401],[-240,241],[-80,241]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":70,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-80,401],[-240,401],[-240,241],[-80,241]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-144,337],[-176,337],[-176,305],[-144,305]],"c":true}]},{"t":100}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"b1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"a1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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},"n":"0p667_1_0p333_0","t":5,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-304,337],[-336,337],[-336,305],[-304,305]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-240,401],[-400,401],[-400,241],[-240,241]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":35,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-240,401],[-400,401],[-400,241],[-240,241]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-240,401],[-400,401],[-400,241],[-240,241]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":65,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-240,401],[-400,401],[-400,241],[-240,241]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-304,337],[-336,337],[-336,305],[-304,305]],"c":true}]},{"t":95}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"a1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"e2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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},"n":"0p667_1_0p333_0","t":30,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[336,177],[304,177],[304,145],[336,145]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[400,241],[240,241],[240,81],[400,81]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":60,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[400,241],[240,241],[240,81],[400,81]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[400,241],[240,241],[240,81],[400,81]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":90,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[400,241],[240,241],[240,81],[400,81]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[336,177],[304,177],[304,145],[336,145]],"c":true}]},{"t":120}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"e2","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"d2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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},"n":"0p667_1_0p333_0","t":25,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[176,177],[144,177],[144,145],[176,145]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[240,241],[80,241],[80,81],[240,81]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":55,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[240,241],[80,241],[80,81],[240,81]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[240,241],[80,241],[80,81],[240,81]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":85,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[240,241],[80,241],[80,81],[240,81]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[176,177],[144,177],[144,145],[176,145]],"c":true}]},{"t":115}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"d2","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"c2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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},"n":"0p667_1_0p333_0","t":20,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[16,177],[-16,177],[-16,145],[16,145]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[80,241],[-80,241],[-80,81],[80,81]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":50,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[80,241],[-80,241],[-80,81],[80,81]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[80,241],[-80,241],[-80,81],[80,81]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":80,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[80,241],[-80,241],[-80,81],[80,81]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[16,177],[-16,177],[-16,145],[16,145]],"c":true}]},{"t":110}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"c2","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"b2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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},"n":"0p667_1_0p333_0","t":15,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-144,177],[-176,177],[-176,145],[-144,145]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-80,241],[-240,241],[-240,81],[-80,81]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":45,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-80,241],[-240,241],[-240,81],[-80,81]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-80,241],[-240,241],[-240,81],[-80,81]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":75,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-80,241],[-240,241],[-240,81],[-80,81]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-144,177],[-176,177],[-176,145],[-144,145]],"c":true}]},{"t":105}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"b2","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"a2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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},"n":"0p667_1_0p333_0","t":10,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-304,177],[-336,177],[-336,145],[-304,145]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-240,241],[-400,241],[-400,81],[-240,81]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":40,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-240,241],[-400,241],[-400,81],[-240,81]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-240,241],[-400,241],[-400,81],[-240,81]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":70,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-240,241],[-400,241],[-400,81],[-240,81]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-304,177],[-336,177],[-336,145],[-304,145]],"c":true}]},{"t":100}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"a2","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"e3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p833_1_0p167_0p167","t":0,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[344.976,25.976],[295.024,25.976],[295.024,-23.976],[344.976,-23.976]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[336,17],[304,17],[304,-15],[336,-15]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":5,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[336,17],[304,17],[304,-15],[336,-15]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[336,17],[304,17],[304,-15],[336,-15]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":35,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[336,17],[304,17],[304,-15],[336,-15]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[400,81],[240,81],[240,-79],[400,-79]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":65,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[400,81],[240,81],[240,-79],[400,-79]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[400,81],[240,81],[240,-79],[400,-79]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":95,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[400,81],[240,81],[240,-79],[400,-79]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[344.976,25.976],[295.024,25.976],[295.024,-23.976],[344.976,-23.976]],"c":true}]},{"t":120}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"e3","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"d3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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},"n":"0p667_1_0p333_0","t":30,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[176,17],[144,17],[144,-15],[176,-15]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[240,81],[80,81],[80,-79],[240,-79]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":60,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[240,81],[80,81],[80,-79],[240,-79]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[240,81],[80,81],[80,-79],[240,-79]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":90,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[240,81],[80,81],[80,-79],[240,-79]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[176,17],[144,17],[144,-15],[176,-15]],"c":true}]},{"t":120}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"d3","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"c3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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},"n":"0p667_1_0p333_0","t":25,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[16,17],[-16,17],[-16,-15],[16,-15]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[80,81],[-80,81],[-80,-79],[80,-79]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":55,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[80,81],[-80,81],[-80,-79],[80,-79]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[80,81],[-80,81],[-80,-79],[80,-79]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":85,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[80,81],[-80,81],[-80,-79],[80,-79]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[16,17],[-16,17],[-16,-15],[16,-15]],"c":true}]},{"t":115}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"c3","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"b3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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},"n":"0p667_1_0p333_0","t":20,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-144,17],[-176,17],[-176,-15],[-144,-15]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-80,81],[-240,81],[-240,-79],[-80,-79]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":50,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-80,81],[-240,81],[-240,-79],[-80,-79]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-80,81],[-240,81],[-240,-79],[-80,-79]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":80,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-80,81],[-240,81],[-240,-79],[-80,-79]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-144,17],[-176,17],[-176,-15],[-144,-15]],"c":true}]},{"t":110}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"b3","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":"a3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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},"n":"0p667_1_0p333_0","t":15,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-304,17],[-336,17],[-336,-15],[-304,-15]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-240,81],[-400,81],[-400,-79],[-240,-79]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":45,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-240,81],[-400,81],[-400,-79],[-240,-79]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-240,81],[-400,81],[-400,-79],[-240,-79]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":75,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-240,81],[-400,81],[-400,-79],[-240,-79]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-304,17],[-336,17],[-336,-15],[-304,-15]],"c":true}]},{"t":105}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"a3","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":"e4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":0,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[352.593,-126.407],[287.407,-126.407],[287.407,-191.593],[352.593,-191.593]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[336,-143],[304,-143],[304,-175],[336,-175]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":10,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[336,-143],[304,-143],[304,-175],[336,-175]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[336,-143],[304,-143],[304,-175],[336,-175]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":40,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[336,-143],[304,-143],[304,-175],[336,-175]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[400,-79],[240,-79],[240,-239],[400,-239]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":70,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[400,-79],[240,-79],[240,-239],[400,-239]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[400,-79],[240,-79],[240,-239],[400,-239]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":100,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[400,-79],[240,-79],[240,-239],[400,-239]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[352.593,-126.407],[287.407,-126.407],[287.407,-191.593],[352.593,-191.593]],"c":true}]},{"t":120}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"e4","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":"d4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":0,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[180.741,-138.259],[139.259,-138.259],[139.259,-179.741],[180.741,-179.741]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[176,-143],[144,-143],[144,-175],[176,-175]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":5,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[176,-143],[144,-143],[144,-175],[176,-175]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[176,-143],[144,-143],[144,-175],[176,-175]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":35,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[176,-143],[144,-143],[144,-175],[176,-175]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[240,-79],[80,-79],[80,-239],[240,-239]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":65,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[240,-79],[80,-79],[80,-239],[240,-239]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[240,-79],[80,-79],[80,-239],[240,-239]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":95,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[240,-79],[80,-79],[80,-239],[240,-239]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[180.741,-138.259],[139.259,-138.259],[139.259,-179.741],[180.741,-179.741]],"c":true}]},{"t":120}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"d4","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":"c4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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},"n":"0p667_1_0p333_0","t":30,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[16,-143],[-16,-143],[-16,-175],[16,-175]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[80,-79],[-80,-79],[-80,-239],[80,-239]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":60,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[80,-79],[-80,-79],[-80,-239],[80,-239]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[80,-79],[-80,-79],[-80,-239],[80,-239]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":90,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[80,-79],[-80,-79],[-80,-239],[80,-239]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[16,-143],[-16,-143],[-16,-175],[16,-175]],"c":true}]},{"t":120}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"c4","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":19,"ty":4,"nm":"b4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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},"n":"0p667_1_0p333_0","t":25,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-144,-143],[-176,-143],[-176,-175],[-144,-175]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-80,-79],[-240,-79],[-240,-239],[-80,-239]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":55,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-80,-79],[-240,-79],[-240,-239],[-80,-239]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-80,-79],[-240,-79],[-240,-239],[-80,-239]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":85,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-80,-79],[-240,-79],[-240,-239],[-80,-239]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-144,-143],[-176,-143],[-176,-175],[-144,-175]],"c":true}]},{"t":115}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"b4","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":20,"ty":4,"nm":"a4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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},"n":"0p667_1_0p333_0","t":20,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-304,-143],[-336,-143],[-336,-175],[-304,-175]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-240,-79],[-400,-79],[-400,-239],[-240,-239]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":50,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-240,-79],[-400,-79],[-400,-239],[-240,-239]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-240,-79],[-400,-79],[-400,-239],[-240,-239]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":80,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-240,-79],[-400,-79],[-400,-239],[-240,-239]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-304,-143],[-336,-143],[-336,-175],[-304,-175]],"c":true}]},{"t":110}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"a4","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":21,"ty":4,"nm":"e5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":0,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[368,-271],[272,-271],[272,-367],[368,-367]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[336,-303],[304,-303],[304,-335],[336,-335]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":15,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[336,-303],[304,-303],[304,-335],[336,-335]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[336,-303],[304,-303],[304,-335],[336,-335]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":45,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[336,-303],[304,-303],[304,-335],[336,-335]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[400,-239],[240,-239],[240,-399],[400,-399]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":75,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[400,-239],[240,-239],[240,-399],[400,-399]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[400,-239],[240,-239],[240,-399],[400,-399]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":105,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[400,-239],[240,-239],[240,-399],[400,-399]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[368,-271],[272,-271],[272,-367],[368,-367]],"c":true}]},{"t":120}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"e5","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":22,"ty":4,"nm":"d5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":0,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[192.593,-286.407],[127.407,-286.407],[127.407,-351.593],[192.593,-351.593]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[176,-303],[144,-303],[144,-335],[176,-335]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":10,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[176,-303],[144,-303],[144,-335],[176,-335]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[176,-303],[144,-303],[144,-335],[176,-335]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":40,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[176,-303],[144,-303],[144,-335],[176,-335]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[240,-239],[80,-239],[80,-399],[240,-399]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":70,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[240,-239],[80,-239],[80,-399],[240,-399]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[240,-239],[80,-239],[80,-399],[240,-399]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":100,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[240,-239],[80,-239],[80,-399],[240,-399]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[192.593,-286.407],[127.407,-286.407],[127.407,-351.593],[192.593,-351.593]],"c":true}]},{"t":120}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"d5","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":23,"ty":4,"nm":"c5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":0,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[20.741,-298.259],[-20.741,-298.259],[-20.741,-339.741],[20.741,-339.741]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[16,-303],[-16,-303],[-16,-335],[16,-335]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"n":"0p667_1_0p167_0","t":5,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[16,-303],[-16,-303],[-16,-335],[16,-335]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[16,-303],[-16,-303],[-16,-335],[16,-335]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":35,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[16,-303],[-16,-303],[-16,-335],[16,-335]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[80,-239],[-80,-239],[-80,-399],[80,-399]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":65,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[80,-239],[-80,-239],[-80,-399],[80,-399]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[80,-239],[-80,-239],[-80,-399],[80,-399]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":95,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[80,-239],[-80,-239],[-80,-399],[80,-399]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[20.741,-298.259],[-20.741,-298.259],[-20.741,-339.741],[20.741,-339.741]],"c":true}]},{"t":120}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"c5","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":24,"ty":4,"nm":"b5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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},"n":"0p667_1_0p333_0","t":30,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-144,-303],[-176,-303],[-176,-335],[-144,-335]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-80,-239],[-240,-239],[-240,-399],[-80,-399]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":60,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-80,-239],[-240,-239],[-240,-399],[-80,-399]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-80,-239],[-240,-239],[-240,-399],[-80,-399]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":90,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-80,-239],[-240,-239],[-240,-399],[-80,-399]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-144,-303],[-176,-303],[-176,-335],[-144,-335]],"c":true}]},{"t":120}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"b5","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":25,"ty":4,"nm":"a5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,400,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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},"n":"0p667_1_0p333_0","t":25,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-304,-303],[-336,-303],[-336,-335],[-304,-335]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-240,-239],[-400,-239],[-400,-399],[-240,-399]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":55,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-240,-239],[-400,-239],[-400,-399],[-240,-399]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-240,-239],[-400,-239],[-400,-399],[-240,-399]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":85,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-240,-239],[-400,-239],[-400,-399],[-240,-399]],"c":true}],"e":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-304,-303],[-336,-303],[-336,-335],[-304,-335]],"c":true}]},{"t":115}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"a5","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/tractor.json b/submodules/RLottie/Sources/rlottie/example/resource/tractor.json deleted file mode 100644 index 4c094702ec..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/tractor.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.1.10","fr":24,"ip":0,"op":427,"w":400,"h":310,"nm":"Tractor","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":3,"nm":"Tractor Master Ctrl","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[184.028,155,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ip":0,"op":143,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Dark 4 Outlines","parent":35,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[31.53,14.503,0],"ix":2},"a":{"a":0,"k":[1.973,2.877,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-1.973,1.877],[1.049,1.877],[1.049,-2.877],[1.973,-2.877],[1.973,2.877],[-1.973,2.877]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.936999990426,0.169000004787,0.149000010771,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1.972,2.877],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":143,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Light 4 Outlines","parent":35,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[31.53,14.474,0],"ix":2},"a":{"a":0,"k":[2.223,3.156,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-0.571],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[-0.571,0]],"v":[[-1.973,-1.872],[-1.973,2.906],[1.973,2.906],[1.973,-2.906],[-0.939,-2.906]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.936999990426,0.169000004787,0.149000010771,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[2.222,3.156],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":143,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Seat Outlines","parent":35,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[11.031,12.997,0],"ix":2},"a":{"a":0,"k":[3.729,2.891,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.076,-0.343],[0,0],[-1.082,-3.101],[0,0],[0,0],[1.244,1.246],[0.753,0.226]],"o":[[0,0],[0,0],[0,0],[0,0],[-0.935,-1.469],[-0.551,-0.552],[-0.25,-0.075]],"v":[[-3.728,-2.69],[-3.238,-0.466],[1.48,2.214],[1.716,2.892],[3.73,2.795],[0.786,-1.544],[-1.154,-2.773]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.957000014361,0.463000009574,0.451000019148,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[3.729,2.891],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":143,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Steering Outlines","parent":7,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0.577,-0.554,0],"ix":2},"a":{"a":0,"k":[6.578,4.658,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.146,-0.95],[0.194,0.437],[-2.146,0.951],[-0.193,-0.437]],"o":[[-2.146,0.951],[-0.194,-0.438],[2.145,-0.95],[0.195,0.437]],"v":[[0.351,0.791],[-3.885,1.721],[-0.351,-0.792],[3.883,-1.721]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.368999974868,0.356999984442,0.356999984442,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[6.578,4.658],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":143,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Steering Pipe Light Outlines","parent":7,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[3.217,3.754,0],"ix":2},"a":{"a":0,"k":[2.101,3.505,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-2.101,-3.378],[1.622,3.504],[2.102,3.365],[-1.731,-3.504]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301999978458,0.301999978458,0.301999978458,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[2.102,3.505],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":143,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Steering Pipe Outlines","parent":35,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[23.047,12.53,0],"ix":2},"a":{"a":0,"k":[2.785,3.9,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-2.535,-3.229],[-1.299,-3.651],[2.535,3.22],[1.045,3.651]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501999978458,0.501999978458,0.501999978458,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[2.784,3.901],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":143,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"Hood Pipe Outlines","parent":10,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1.907,-2.469,0],"ix":2},"a":{"a":0,"k":[1.613,3.172,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-2.051,0.373],[-0.021,-0.14],[0,0],[0.117,-0.038],[-0.07,-0.698],[0.019,-0.684],[0.145,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0.151,-0.027],[0,0],[0.016,0.114],[-0.385,0.128],[0.076,0.751],[-0.004,0.133],[0,0],[0,0]],"v":[[-1.363,2.922],[-1.093,2.826],[-1.093,-1.217],[0.958,-2.895],[1.275,-2.682],[1.347,-2.167],[1.177,-1.906],[0.061,-0.727],[0.069,2.685],[-0.199,2.922],[-1.151,2.922]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.8,0.8,0.8,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1.613,3.172],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":143,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"Hood Pipe Base Light Outlines","parent":10,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1.34,2.435,0],"ix":2},"a":{"a":0,"k":[1.336,2.435,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.209,0],[0,0],[0.196,0],[0,0],[0,-0.197],[0,0],[0,0],[0,0]],"o":[[0,0],[-0.017,-0.182],[0,0],[-0.209,0],[0,0],[0,0],[0,0],[0,-0.196]],"v":[[-0.328,-1.859],[1.087,-1.859],[0.717,-2.185],[-0.71,-2.185],[-1.087,-1.829],[-1.087,2.185],[-0.706,2.185],[-0.706,-1.503]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.8,0.8,0.8,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1.336,2.435],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":143,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"Hood Pipe Base Outlines","parent":35,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[47.012,10.26,0],"ix":2},"a":{"a":0,"k":[1.34,4.62,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-0.208,0],[0,0],[0,-0.197],[0,0]],"o":[[0,0],[0,-0.197],[0,0],[0.208,0],[0,0],[0,0]],"v":[[-1.09,2.185],[-1.09,-1.828],[-0.713,-2.185],[0.713,-2.185],[1.09,-1.828],[1.09,2.185]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501999978458,0.501999978458,0.501999978458,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1.34,2.435],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":143,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"Shape Light 3 Outlines","parent":35,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[34.404,22.26,0],"ix":2},"a":{"a":0,"k":[4.204,1.828,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-1.085,-0.014],[-0.019,-0.459],[0.041,-0.614],[0.461,0.004],[1.33,0],[0.801,0.003],[0.002,0.563],[-0.002,0.539],[-0.545,0],[-1.048,0]],"o":[[1.085,0],[0.468,0.007],[0.026,0.616],[-0.025,0.376],[-1.331,-0.011],[-0.803,0],[-0.56,-0.002],[-0.002,-0.538],[0.001,-0.538],[1.047,-0.001],[0,0]],"v":[[-0.037,-1.556],[3.218,-1.552],[3.909,-0.889],[3.913,0.96],[3.207,1.574],[-0.785,1.57],[-3.192,1.57],[-3.951,0.801],[-3.952,-0.814],[-3.179,-1.577],[-0.037,-1.577]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.957000014361,0.463000009574,0.451000019148,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[4.204,1.828],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":143,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"Shape Light 2 Outlines","parent":35,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[49,23.93,0],"ix":2},"a":{"a":0,"k":[1.966,2.095,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0.519],[-0.002,0.528],[0.182,0.003],[0.643,-0.303],[-0.946,-0.689],[-0.808,0.022],[0.001,0.138]],"o":[[0,-0.528],[0,-0.142],[-0.701,-0.015],[-1.058,0.498],[0.696,0.507],[0.185,-0.005],[-0.004,-0.518]],"v":[[1.714,0.003],[1.715,-1.581],[1.514,-1.831],[-0.518,-1.477],[-0.771,1.322],[1.531,1.824],[1.716,1.559]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.957000014361,0.541000007181,0.528999956916,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1.966,2.096],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":143,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"Shape Light 1 Outlines","parent":35,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[42.524,22.557,0],"ix":2},"a":{"a":0,"k":[3.128,1.472,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.715,-0.001],[-0.006,-0.522],[0.009,-0.361],[0.421,-0.002],[1.489,0.006],[0.002,0.435],[-0.01,0.371],[-0.428,0.004],[-0.744,0]],"o":[[0.715,0],[0.517,0.001],[0.004,0.363],[-0.008,0.419],[-1.488,0.007],[-0.425,-0.001],[-0.001,-0.372],[0.012,-0.428],[0.744,-0.007],[0,0]],"v":[[0.014,-1.221],[2.158,-1.221],[2.87,-0.509],[2.868,0.577],[2.23,1.215],[-2.236,1.215],[-2.877,0.549],[-2.854,-0.566],[-2.219,-1.203],[0.014,-1.205]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.957000014361,0.463000009574,0.451000019148,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[3.128,1.472],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":143,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"Shape Dark 3 Outlines","parent":35,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[38.849,17.379,0],"ix":2},"a":{"a":0,"k":[2.196,1.873,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.138,-0.1],[-0.055,0.001],[-0.518,-0.01],[0.003,0.214],[0.011,0.734],[-0.238,-0.009],[-0.411,0],[-0.001,0.231],[0.161,0],[0.872,0.012],[-0.004,-0.209],[-0.002,-0.597],[0.251,-0.24]],"o":[[0.112,0.02],[0.518,-0.003],[0.225,0.005],[-0.01,-0.734],[-0.003,-0.225],[0.411,0.017],[0.147,0],[0.002,-0.216],[-0.872,0.002],[-0.228,-0.002],[0.012,0.598],[0.001,0.355],[-0.08,0.077]],"v":[[-1.945,1.585],[-1.725,1.622],[-0.17,1.611],[0.113,1.323],[0.104,-0.878],[0.406,-1.186],[1.639,-1.181],[1.943,-1.388],[1.652,-1.618],[-0.964,-1.621],[-1.24,-1.327],[-1.234,0.465],[-1.629,1.351]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.936999990426,0.169000004787,0.149000010771,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[2.195,1.873],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":143,"st":0,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":"Shape Dark 2 Outlines","parent":35,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[41.961,15.21,0],"ix":2},"a":{"a":0,"k":[4.607,1.242,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.011,0.075],[0.846,0.001],[2.016,0.004],[-0.003,-0.249],[-0.166,0.001],[-0.891,-0.011],[-0.033,-0.792],[-0.209,0.001],[-1.284,0]],"o":[[-0.014,-0.119],[-0.151,-0.969],[-2.016,-0.003],[-0.191,-0.001],[0.003,0.244],[0.89,-0.002],[0.797,0.009],[0.009,0.251],[1.282,-0.006],[0,0]],"v":[[4.357,0.987],[4.326,0.719],[2.004,-0.988],[-4.045,-0.991],[-4.354,-0.732],[-4.051,-0.497],[-1.378,-0.495],[-0.127,0.707],[0.197,0.99],[4.045,0.987]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.936999990426,0.169000004787,0.149000010771,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[4.607,1.242],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":143,"st":0,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":"Shape Dark 1 Outlines","parent":35,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[44.06,18.414,0],"ix":2},"a":{"a":0,"k":[2.565,1.488,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.646,0],[0,0],[0.567,-0.005],[-0.001,-0.653],[-0.025,-0.506],[-0.226,0.002],[-1.283,-0.007],[0.004,0.211],[-0.013,0.616],[0.219,-0.003]],"o":[[0,0],[-0.567,0],[-0.67,0.006],[0,0.508],[0.011,0.205],[1.282,-0.008],[0.196,0.001],[-0.01,-0.617],[0.006,-0.241],[-0.645,0.01]],"v":[[0.058,-1.168],[0.058,-1.169],[-1.645,-1.168],[-2.213,-0.585],[-2.165,0.937],[-1.816,1.236],[2.031,1.236],[2.309,0.972],[2.309,-0.878],[1.995,-1.172]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.936999990426,0.169000004787,0.149000010771,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[2.565,1.488],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":143,"st":0,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":"Back Nut 4 Outlines","parent":24,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[9.805,6.221,0],"ix":2},"a":{"a":0,"k":[3.063,1.81,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.074,0.157],[-0.131,0.127],[-1.789,0.124],[-0.015,-0.29],[0.345,-0.026],[0.884,-0.566],[0.385,-0.314],[0.223,0.252]],"o":[[0.108,-0.158],[1.3,-1.262],[0.342,-0.024],[0.014,0.283],[-1.041,0.077],[-0.417,0.267],[-0.285,0.233],[-0.078,-0.088]],"v":[[-2.814,0.934],[-2.491,0.472],[2.178,-1.536],[2.799,-1.056],[2.234,-0.495],[-0.683,0.397],[-1.857,1.316],[-2.631,1.308]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.2,0.2,0.2,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[3.063,1.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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":143,"st":0,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":"Back Nut 3 Outlines","parent":24,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[6.191,15.057,0],"ix":2},"a":{"a":0,"k":[1.842,3.074,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.026,0.006],[-0.274,0.019],[-0.028,-0.302],[-0.37,-0.791],[-0.472,-0.498],[0.202,-0.206],[0.249,0.232],[0.326,0.963],[0.192,0.773]],"o":[[0,-0.292],[0.273,-0.019],[0.082,0.862],[0.294,0.629],[0.222,0.234],[-0.22,0.224],[-0.749,-0.699],[-0.255,-0.753],[0.026,-0.007]],"v":[[-1.513,-2.246],[-1.019,-2.805],[-0.47,-2.31],[0.16,0.178],[1.346,1.837],[1.39,2.593],[0.635,2.592],[-1.002,0.093],[-1.592,-2.226]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.2,0.2,0.2,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1.842,3.074],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":143,"st":0,"bm":0},{"ddd":0,"ind":19,"ty":4,"nm":"Back Nut 2 Outlines","parent":24,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[15.068,18.658,0],"ix":2},"a":{"a":0,"k":[3.064,1.834,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.019,0.312],[-0.323,0.03],[-0.658,0.249],[-0.607,0.577],[-0.197,-0.197],[0.242,-0.246],[0.996,-0.312],[0.727,-0.179]],"o":[[-0.356,0.008],[-0.017,-0.291],[0.695,-0.062],[0.793,-0.301],[0.249,-0.236],[0.208,0.209],[-0.729,0.745],[-0.714,0.224],[0,0]],"v":[[-2.21,1.501],[-2.797,1.026],[-2.28,0.459],[-0.25,0.027],[1.823,-1.321],[2.606,-1.387],[2.565,-0.596],[-0.009,1.039],[-2.189,1.584]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.2,0.2,0.2,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[3.064,1.834],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":143,"st":0,"bm":0},{"ddd":0,"ind":20,"ty":4,"nm":"Back Nut 1 Outlines","parent":24,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[18.641,9.799,0],"ix":2},"a":{"a":0,"k":[1.816,3.073,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.087,-0.47],[0.292,-0.034],[0.077,0.388],[0.191,0.621],[0.633,0.629],[-0.15,0.237],[-0.251,-0.082],[-0.062,-0.06],[-0.297,-1.3]],"o":[[-0.032,0.38],[-0.32,0.038],[-0.127,-0.64],[-0.264,-0.853],[-0.2,-0.201],[0.143,-0.229],[0.078,0.026],[0.958,0.928],[0.108,0.465]],"v":[[1.566,2.154],[1.091,2.785],[0.497,2.242],[0.08,0.329],[-1.329,-1.871],[-1.416,-2.533],[-0.802,-2.741],[-0.589,-2.596],[1.3,0.747]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.2,0.2,0.2,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1.816,3.073],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":143,"st":0,"bm":0},{"ddd":0,"ind":21,"ty":4,"nm":"Back Center Light Outlines","parent":24,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[12.438,12.414,0],"ix":2},"a":{"a":0,"k":[2.336,2.343,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.011,1.149],[1.123,0.012],[0.004,-1.145],[-1.12,-0.001]],"o":[[0.009,-1.123],[-1.142,-0.012],[-0.004,1.137],[1.153,0.001]],"v":[[2.077,0.014],[0.02,-2.081],[-2.082,-0.004],[-0.027,2.092]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.6,0.6,0.6,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[2.336,2.343],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":143,"st":0,"bm":0},{"ddd":0,"ind":22,"ty":4,"nm":"Back Center Dark Outlines","parent":24,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[12.443,12.418,0],"ix":2},"a":{"a":0,"k":[4.432,4.441,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-2.321,-0.046],[0.019,-2.297],[2.345,0.03],[-0.009,2.302]],"o":[[2.309,-0.045],[-0.019,2.285],[-2.288,-0.03],[0.009,-2.285]],"v":[[-0.005,-4.146],[4.163,0.027],[-0.057,4.161],[-4.173,-0.008]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.2,0.2,0.2,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[4.431,4.441],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":143,"st":0,"bm":0},{"ddd":0,"ind":23,"ty":4,"nm":"Back Wheel Inner Outlines","parent":24,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[12.438,12.427,0],"ix":2},"a":{"a":0,"k":[9.201,9.201,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,4.944],[4.943,0],[0,-4.943],[-4.945,0]],"o":[[0,-4.943],[-4.945,0],[0,4.944],[4.943,0]],"v":[[8.952,-0.001],[0.001,-8.952],[-8.952,-0.001],[0.001,8.952]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.6,0.6,0.6,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[9.201,9.202],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":143,"st":0,"bm":0},{"ddd":0,"ind":24,"ty":4,"nm":"Back Wheel Body Outlines","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[720]},{"t":142}],"ix":10},"p":{"s":true,"x":{"a":0,"k":1.969,"ix":3},"y":{"a":0,"k":17.435,"ix":4}},"a":{"a":0,"k":[12.411,12.481,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.004,0.008],[0.011,0.198],[0.134,0.191],[0.399,0.578],[0.09,0.03],[0.213,0.853],[-0.494,0.223],[0.023,0.194],[0.086,0.835],[0.072,0.082],[-0.206,0.794],[-0.081,0.253],[-0.18,-0.026],[-0.063,0.144],[-0.363,0.82],[0.018,0.105],[-0.521,0.554],[-0.168,0.216],[-0.033,-0.034],[-0.008,-0.004],[-0.19,0.009],[-0.189,0.134],[-0.597,0.423],[-0.037,0.089],[-0.748,0.181],[-0.193,0.068],[-0.084,-0.185],[-0.529,0.073],[-0.758,0.076],[-0.094,0.077],[-0.761,-0.205],[-0.056,-0.018],[0.053,-0.53],[-0.153,-0.066],[-0.793,-0.346],[-0.113,0.017],[-0.597,-0.665],[0.3,-0.417],[-0.114,-0.154],[-0.517,-0.709],[-0.081,-0.03],[-0.19,-0.794],[-0.018,-0.076],[0.494,-0.222],[-0.023,-0.172],[-0.106,-0.834],[-0.108,-0.155],[0.104,-0.596],[0.061,-0.277],[0.2,0.022],[0.184,-0.434],[0.309,-0.695],[-0.019,-0.139],[0.636,-0.566],[0.014,-0.013],[0.467,0.306],[0.052,-0.057],[0.682,-0.399],[0.123,-0.316],[0.684,-0.136],[0.191,-0.071],[0.067,0.144],[0.608,-0.087],[0.71,-0.071],[0.123,-0.1],[0.905,0.305],[-0.002,0.078],[0.518,0.222],[0.675,0.307],[0.113,-0.016],[0.57,0.635],[0.168,0.148]],"o":[[0,-0.01],[0.123,-0.206],[-0.01,-0.187],[-0.401,-0.576],[-0.059,-0.085],[-0.889,-0.297],[-0.13,-0.515],[0.199,-0.09],[-0.099,-0.834],[-0.012,-0.121],[-0.568,-0.643],[0.059,-0.227],[0.178,0.017],[0.154,0.023],[0.359,-0.822],[0.045,-0.1],[-0.128,-0.768],[0.187,-0.198],[0.033,0.034],[0.009,0.001],[0.196,0.126],[0.186,-0.009],[0.597,-0.423],[0.081,-0.057],[0.29,-0.691],[0.199,-0.048],[0.182,-0.065],[0.223,0.491],[0.754,-0.104],[0.13,-0.014],[0.636,-0.517],[0.056,0.015],[0.513,0.162],[-0.017,0.168],[0.796,0.341],[0.112,0.049],[0.911,-0.14],[0.348,0.389],[-0.113,0.156],[0.526,0.703],[0.054,0.075],[0.762,0.29],[0.018,0.076],[0.13,0.533],[-0.15,0.068],[0.109,0.834],[0.024,0.192],[0.348,0.503],[-0.048,0.279],[-0.046,0.207],[-0.468,-0.052],[-0.297,0.701],[-0.062,0.137],[0.123,0.865],[-0.015,0.013],[-0.4,0.372],[-0.081,-0.052],[-0.543,0.592],[-0.268,0.157],[-0.251,0.645],[-0.199,0.04],[-0.156,0.058],[-0.247,-0.527],[-0.705,0.102],[-0.164,0.017],[-0.845,0.677],[-0.054,-0.019],[0.015,-0.559],[-0.68,-0.292],[-0.11,-0.051],[-0.841,0.119],[-0.149,-0.166],[0,0]],"v":[[-8.696,8.471],[-8.694,8.443],[-8.356,7.827],[-8.775,7.285],[-9.964,5.545],[-10.188,5.327],[-11.701,3.495],[-11.35,2.743],[-11.166,2.367],[-11.421,-0.141],[-11.512,-0.492],[-11.955,-2.665],[-11.732,-3.365],[-11.191,-3.313],[-10.911,-3.492],[-9.812,-5.949],[-9.757,-6.281],[-9.111,-8.236],[-8.604,-8.88],[-8.505,-8.779],[-8.477,-8.774],[-7.89,-8.426],[-7.347,-8.833],[-5.548,-10.09],[-5.355,-10.324],[-3.847,-11.678],[-3.257,-11.85],[-2.893,-11.688],[-2.136,-11.311],[0.141,-11.533],[0.519,-11.646],[2.624,-12.026],[2.793,-11.977],[3.26,-11.283],[3.45,-10.982],[5.827,-9.936],[6.186,-9.85],[8.401,-8.982],[8.469,-8.182],[8.484,-7.776],[10.032,-5.647],[10.238,-5.46],[11.67,-3.841],[11.732,-3.615],[11.37,-2.855],[11.21,-2.544],[11.5,-0.038],[11.685,0.521],[12.058,2.163],[11.863,2.99],[11.498,3.219],[10.87,3.62],[9.928,5.7],[9.818,6.139],[9.001,8.258],[8.957,8.299],[8.095,8.357],[7.766,8.359],[5.868,9.764],[5.271,10.406],[3.827,11.557],[3.243,11.738],[2.957,11.6],[2.101,11.201],[-0.031,11.391],[-0.507,11.554],[-3.153,11.738],[-3.25,11.507],[-3.758,10.747],[-5.777,9.816],[-6.134,9.728],[-8.245,8.967],[-8.747,8.521]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.2,0.2,0.2,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[12.411,12.482],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":143,"st":0,"bm":0},{"ddd":0,"ind":25,"ty":4,"nm":"Nut 4 Outlines","parent":32,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[10.16,5.586,0],"ix":2},"a":{"a":0,"k":[0.723,0.73,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.004,-0.262],[-0.271,-0.001],[0.003,0.281],[0.281,-0.005]],"o":[[-0.005,0.275],[0.276,0.001],[-0.002,-0.285],[-0.257,0.005]],"v":[[-0.468,-0.006],[-0.001,0.479],[0.47,-0.003],[-0.009,-0.475]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.2,0.2,0.2,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0.723,0.731],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":143,"st":0,"bm":0},{"ddd":0,"ind":26,"ty":4,"nm":"Nut 3 Outlines","parent":32,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[5.621,4.868,0],"ix":2},"a":{"a":0,"k":[0.743,0.744,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.008,0.258],[0.249,0.002],[0.018,-0.246],[-0.245,-0.012]],"o":[[0.009,-0.251],[-0.239,-0.002],[-0.018,0.245],[0.253,0.012]],"v":[[0.485,0.008],[0.01,-0.492],[-0.475,-0.032],[-0.018,0.482]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.2,0.2,0.2,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0.743,0.744],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":143,"st":0,"bm":0},{"ddd":0,"ind":27,"ty":4,"nm":"Nut 2 Outlines","parent":32,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[4.904,9.394,0],"ix":2},"a":{"a":0,"k":[0.739,0.746,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.219,-0.01],[-0.004,-0.262],[-0.265,0.002],[0.005,0.25]],"o":[[-0.262,0.012],[0.004,0.265],[0.25,-0.002],[-0.003,-0.229]],"v":[[-0.013,-0.486],[-0.485,0.017],[0.004,0.494],[0.484,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.2,0.2,0.2,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0.739,0.746],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":143,"st":0,"bm":0},{"ddd":0,"ind":28,"ty":4,"nm":"Nut 1 Outlines","parent":32,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[9.434,10.125,0],"ix":2},"a":{"a":0,"k":[0.741,0.729,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.281,0.005],[0.004,-0.263],[-0.272,-0.005],[-0.006,0.282]],"o":[[-0.272,-0.004],[-0.004,0.265],[0.287,0.005],[0.005,-0.276]],"v":[[0.012,-0.475],[-0.486,-0.009],[-0.006,0.474],[0.486,0.008]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.2,0.2,0.2,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0.74,0.729],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":143,"st":0,"bm":0},{"ddd":0,"ind":29,"ty":4,"nm":"Front Center Light Outlines","parent":32,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[7.54,7.509,0],"ix":2},"a":{"a":0,"k":[1.142,1.137,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.441,-0.001],[-0.009,0.483],[-0.509,-0.002],[0.003,-0.475]],"o":[[-0.474,0.002],[0.009,-0.504],[0.487,0.002],[-0.002,0.446]],"v":[[0.001,0.884],[-0.883,-0.029],[0.003,-0.885],[0.889,-0.012]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.6,0.6,0.6,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1.142,1.137],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":143,"st":0,"bm":0},{"ddd":0,"ind":30,"ty":4,"nm":"Front Center Dark Outlines","parent":32,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[7.546,7.513,0],"ix":2},"a":{"a":0,"k":[2.188,2.185,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.084,0.003],[0.004,-1.083],[-1.081,-0.013],[-0.006,1.034]],"o":[[-1.089,-0.003],[-0.004,1.084],[1.027,0.013],[0.007,-1.067]],"v":[[-0.012,-1.932],[-1.934,-0.033],[-0.016,1.922],[1.931,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.2,0.2,0.2,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[2.188,2.185],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":143,"st":0,"bm":0},{"ddd":0,"ind":31,"ty":4,"nm":"Front Wheel Inner Outlines","parent":32,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[7.508,7.508,0],"ix":2},"a":{"a":0,"k":[4.693,4.692,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,2.454],[2.454,0],[0,-2.453],[-2.453,0]],"o":[[0,-2.453],[-2.453,0],[0,2.454],[2.454,0]],"v":[[4.443,0],[0,-4.442],[-4.443,0],[0,4.442]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.6,0.6,0.6,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[4.693,4.692],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":143,"st":0,"bm":0},{"ddd":0,"ind":32,"ty":4,"nm":"Front Wheel Body Outlines","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[1440]},{"t":142}],"ix":10},"p":{"s":true,"x":{"a":0,"k":38.472,"ix":3},"y":{"a":0,"k":22.138,"ix":4}},"a":{"a":0,"k":[7.508,7.508,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[4.009,0],[0,-4.008],[-4.008,0],[0,4.009]],"o":[[-4.008,0],[0,4.009],[4.009,0],[0,-4.008]],"v":[[0,-7.258],[-7.258,0],[0,7.258],[7.258,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.2,0.2,0.2,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[7.508,7.508],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":143,"st":0,"bm":0},{"ddd":0,"ind":33,"ty":4,"nm":"Body Top Back Outlines","parent":35,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[51.891,12.164,0],"ix":2},"a":{"a":0,"k":[4.035,2.441,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.267,0.002],[-1.524,-0.002],[0.001,-1.02],[0.012,-0.274],[-0.089,-0.038],[0,0],[-0.058,0.003],[0.003,0.351],[0.457,0.012],[0.009,-0.002],[-0.009,0.207],[0,0.274],[1.021,0.002],[1.523,-0.012],[0.005,0.222],[0.004,-0.44]],"o":[[1.523,-0.012],[1.021,0.002],[0,0.274],[-0.006,0.141],[0,0],[0.097,-0.008],[0.433,-0.018],[-0.004,-0.355],[-0.01,-0.001],[-0.23,0.032],[0.012,-0.274],[0.001,-1.021],[-1.524,-0.002],[-0.252,0.001],[0,0.44],[-0.002,0.252]],"v":[[-3.454,-0.532],[1.118,-0.537],[2.74,1.094],[2.738,1.917],[2.852,2.191],[2.852,2.076],[3.064,2.058],[3.783,1.442],[3.046,0.853],[3.016,0.853],[2.738,0.561],[2.74,-0.261],[1.118,-1.893],[-3.454,-1.887],[-3.781,-2.191],[-3.784,-0.87]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.957000014361,0.463000009574,0.451000019148,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[4.035,2.441],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":143,"st":0,"bm":0},{"ddd":0,"ind":34,"ty":4,"nm":"Body Top Front Outlines","parent":35,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[36.774,12.109,0],"ix":2},"a":{"a":0,"k":[9.459,2.378,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.938,0],[-5.172,-0.009],[0.004,0.301],[0,0.427],[0.267,0],[5.172,-0.002],[0.005,-0.933],[0,-0.403],[0.106,-0.008],[0.009,-0.328],[-0.345,-0.036],[-0.11,-0.012],[-0.002,0.342]],"o":[[5.172,-0.002],[0.297,0.001],[-0.007,-0.427],[-0.014,0.23],[-5.172,-0.01],[-0.938,0.001],[-0.003,0.379],[-0.139,0.008],[-0.351,0.028],[-0.009,0.326],[0.11,0.011],[0,-0.359],[0.005,-0.932]],"v":[[-6.691,-0.481],[8.826,-0.476],[9.205,-0.847],[9.199,-2.128],[8.826,-1.831],[-6.691,-1.837],[-8.265,-0.273],[-8.266,0.889],[-8.616,0.91],[-9.2,1.489],[-8.619,2.112],[-8.266,2.128],[-8.265,1.082]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.957000014361,0.463000009574,0.451000019148,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[9.459,2.378],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":143,"st":0,"bm":0},{"ddd":0,"ind":35,"ty":4,"nm":"Body Main Outlines","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":17.757,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.465]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p465_0p167_0p167"],"t":0,"s":[8.208],"e":[8.174]},{"i":{"x":[0.833],"y":[0.83]},"o":{"x":[0.167],"y":[0.099]},"n":["0p833_0p83_0p167_0p099"],"t":1,"s":[8.174],"e":[7.99]},{"i":{"x":[0.833],"y":[0.903]},"o":{"x":[0.167],"y":[0.163]},"n":["0p833_0p903_0p167_0p163"],"t":2,"s":[7.99],"e":[7.799]},{"i":{"x":[0.833],"y":[1.228]},"o":{"x":[0.167],"y":[0.584]},"n":["0p833_1p228_0p167_0p584"],"t":3,"s":[7.799],"e":[7.767]},{"i":{"x":[0.833],"y":[0.739]},"o":{"x":[0.167],"y":[0.061]},"n":["0p833_0p739_0p167_0p061"],"t":4,"s":[7.767],"e":[7.886]},{"i":{"x":[0.833],"y":[0.804]},"o":{"x":[0.167],"y":[0.122]},"n":["0p833_0p804_0p167_0p122"],"t":5,"s":[7.886],"e":[8.141]},{"i":{"x":[0.833],"y":[0.831]},"o":{"x":[0.167],"y":[0.145]},"n":["0p833_0p831_0p167_0p145"],"t":6,"s":[8.141],"e":[8.483]},{"i":{"x":[0.833],"y":[0.859]},"o":{"x":[0.167],"y":[0.165]},"n":["0p833_0p859_0p167_0p165"],"t":7,"s":[8.483],"e":[8.834]},{"i":{"x":[0.833],"y":[0.921]},"o":{"x":[0.167],"y":[0.203]},"n":["0p833_0p921_0p167_0p203"],"t":8,"s":[8.834],"e":[9.078]},{"i":{"x":[0.833],"y":[-1.176]},"o":{"x":[0.167],"y":[-1.612]},"n":["0p833_-1p176_0p167_-1p612"],"t":9,"s":[9.078],"e":[9.066]},{"i":{"x":[0.833],"y":[0.781]},"o":{"x":[0.167],"y":[0.087]},"n":["0p833_0p781_0p167_0p087"],"t":10,"s":[9.066],"e":[8.765]},{"i":{"x":[0.833],"y":[0.822]},"o":{"x":[0.167],"y":[0.134]},"n":["0p833_0p822_0p167_0p134"],"t":11,"s":[8.765],"e":[8.275]},{"i":{"x":[0.833],"y":[0.844]},"o":{"x":[0.167],"y":[0.156]},"n":["0p833_0p844_0p167_0p156"],"t":12,"s":[8.275],"e":[7.715]},{"i":{"x":[0.833],"y":[0.872]},"o":{"x":[0.167],"y":[0.178]},"n":["0p833_0p872_0p167_0p178"],"t":13,"s":[7.715],"e":[7.225]},{"i":{"x":[0.833],"y":[0.953]},"o":{"x":[0.167],"y":[0.238]},"n":["0p833_0p953_0p167_0p238"],"t":14,"s":[7.225],"e":[6.961]},{"i":{"x":[0.833],"y":[0.66]},"o":{"x":[0.167],"y":[-0.107]},"n":["0p833_0p66_0p167_-0p107"],"t":15,"s":[6.961],"e":[7.077]},{"i":{"x":[0.833],"y":[0.84]},"o":{"x":[0.167],"y":[0.11]},"n":["0p833_0p84_0p167_0p11"],"t":16,"s":[7.077],"e":[7.433]},{"i":{"x":[0.833],"y":[0.883]},"o":{"x":[0.167],"y":[0.174]},"n":["0p833_0p883_0p167_0p174"],"t":17,"s":[7.433],"e":[7.76]},{"i":{"x":[0.833],"y":[1.002]},"o":{"x":[0.167],"y":[0.293]},"n":["0p833_1p002_0p167_0p293"],"t":18,"s":[7.76],"e":[7.891]},{"i":{"x":[0.833],"y":[0.69]},"o":{"x":[0.167],"y":[0.002]},"n":["0p833_0p69_0p167_0p002"],"t":19,"s":[7.891],"e":[7.757]},{"i":{"x":[0.833],"y":[0.784]},"o":{"x":[0.167],"y":[0.114]},"n":["0p833_0p784_0p167_0p114"],"t":20,"s":[7.757],"e":[7.393]},{"i":{"x":[0.833],"y":[0.819]},"o":{"x":[0.167],"y":[0.135]},"n":["0p833_0p819_0p167_0p135"],"t":21,"s":[7.393],"e":[6.812]},{"i":{"x":[0.833],"y":[0.87]},"o":{"x":[0.167],"y":[0.154]},"n":["0p833_0p87_0p167_0p154"],"t":22,"s":[6.812],"e":[6.129]},{"i":{"x":[0.833],"y":[0.94]},"o":{"x":[0.167],"y":[0.233]},"n":["0p833_0p94_0p167_0p233"],"t":23,"s":[6.129],"e":[5.748]},{"i":{"x":[0.833],"y":[0.488]},"o":{"x":[0.167],"y":[-0.212]},"n":["0p833_0p488_0p167_-0p212"],"t":24,"s":[5.748],"e":[5.855]},{"i":{"x":[0.833],"y":[0.807]},"o":{"x":[0.167],"y":[0.1]},"n":["0p833_0p807_0p167_0p1"],"t":25,"s":[5.855],"e":[6.408]},{"i":{"x":[0.833],"y":[0.863]},"o":{"x":[0.167],"y":[0.147]},"n":["0p833_0p863_0p167_0p147"],"t":26,"s":[6.408],"e":[7.134]},{"i":{"x":[0.833],"y":[0.897]},"o":{"x":[0.167],"y":[0.212]},"n":["0p833_0p897_0p167_0p212"],"t":27,"s":[7.134],"e":[7.603]},{"i":{"x":[0.833],"y":[1.043]},"o":{"x":[0.167],"y":[0.443]},"n":["0p833_1p043_0p167_0p443"],"t":28,"s":[7.603],"e":[7.711]},{"i":{"x":[0.833],"y":[0.763]},"o":{"x":[0.167],"y":[0.028]},"n":["0p833_0p763_0p167_0p028"],"t":29,"s":[7.711],"e":[7.547]},{"i":{"x":[0.833],"y":[0.845]},"o":{"x":[0.167],"y":[0.129]},"n":["0p833_0p845_0p167_0p129"],"t":30,"s":[7.547],"e":[7.243]},{"i":{"x":[0.833],"y":[0.92]},"o":{"x":[0.167],"y":[0.18]},"n":["0p833_0p92_0p167_0p18"],"t":31,"s":[7.243],"e":[6.982]},{"i":{"x":[0.833],"y":[-0.784]},"o":{"x":[0.167],"y":[-1.91]},"n":["0p833_-0p784_0p167_-1p91"],"t":32,"s":[6.982],"e":[6.993]},{"i":{"x":[0.833],"y":[0.964]},"o":{"x":[0.167],"y":[0.087]},"n":["0p833_0p964_0p167_0p087"],"t":33,"s":[6.993],"e":[7.215]},{"i":{"x":[0.833],"y":[0.656]},"o":{"x":[0.167],"y":[-0.062]},"n":["0p833_0p656_0p167_-0p062"],"t":34,"s":[7.215],"e":[7.088]},{"i":{"x":[0.833],"y":[0.807]},"o":{"x":[0.167],"y":[0.11]},"n":["0p833_0p807_0p167_0p11"],"t":35,"s":[7.088],"e":[6.689]},{"i":{"x":[0.833],"y":[0.843]},"o":{"x":[0.167],"y":[0.147]},"n":["0p833_0p843_0p167_0p147"],"t":36,"s":[6.689],"e":[6.164]},{"i":{"x":[0.833],"y":[0.885]},"o":{"x":[0.167],"y":[0.177]},"n":["0p833_0p885_0p167_0p177"],"t":37,"s":[6.164],"e":[5.698]},{"i":{"x":[0.833],"y":[1.009]},"o":{"x":[0.167],"y":[0.3]},"n":["0p833_1p009_0p167_0p3"],"t":38,"s":[5.698],"e":[5.518]},{"i":{"x":[0.833],"y":[0.789]},"o":{"x":[0.167],"y":[0.008]},"n":["0p833_0p789_0p167_0p008"],"t":39,"s":[5.518],"e":[5.717]},{"i":{"x":[0.833],"y":[0.818]},"o":{"x":[0.167],"y":[0.138]},"n":["0p833_0p818_0p167_0p138"],"t":40,"s":[5.717],"e":[6.021]},{"i":{"x":[0.833],"y":[0.83]},"o":{"x":[0.167],"y":[0.153]},"n":["0p833_0p83_0p167_0p153"],"t":41,"s":[6.021],"e":[6.383]},{"i":{"x":[0.833],"y":[0.839]},"o":{"x":[0.167],"y":[0.163]},"n":["0p833_0p839_0p167_0p163"],"t":42,"s":[6.383],"e":[6.761]},{"i":{"x":[0.833],"y":[0.851]},"o":{"x":[0.167],"y":[0.173]},"n":["0p833_0p851_0p167_0p173"],"t":43,"s":[6.761],"e":[7.112]},{"i":{"x":[0.833],"y":[0.907]},"o":{"x":[0.167],"y":[0.189]},"n":["0p833_0p907_0p167_0p189"],"t":44,"s":[7.112],"e":[7.388]},{"i":{"x":[0.833],"y":[1.9]},"o":{"x":[0.167],"y":[0.792]},"n":["0p833_1p9_0p167_0p792"],"t":45,"s":[7.388],"e":[7.42]},{"i":{"x":[0.833],"y":[0.786]},"o":{"x":[0.167],"y":[0.076]},"n":["0p833_0p786_0p167_0p076"],"t":46,"s":[7.42],"e":[7.037]},{"i":{"x":[0.833],"y":[0.831]},"o":{"x":[0.167],"y":[0.137]},"n":["0p833_0p831_0p167_0p137"],"t":47,"s":[7.037],"e":[6.438]},{"i":{"x":[0.833],"y":[0.857]},"o":{"x":[0.167],"y":[0.164]},"n":["0p833_0p857_0p167_0p164"],"t":48,"s":[6.438],"e":[5.823]},{"i":{"x":[0.833],"y":[0.898]},"o":{"x":[0.167],"y":[0.199]},"n":["0p833_0p898_0p167_0p199"],"t":49,"s":[5.823],"e":[5.379]},{"i":{"x":[0.833],"y":[1.272]},"o":{"x":[0.167],"y":[0.463]},"n":["0p833_1p272_0p167_0p463"],"t":50,"s":[5.379],"e":[5.282]},{"i":{"x":[0.833],"y":[0.765]},"o":{"x":[0.167],"y":[0.064]},"n":["0p833_0p765_0p167_0p064"],"t":51,"s":[5.282],"e":[5.697]},{"i":{"x":[0.833],"y":[0.838]},"o":{"x":[0.167],"y":[0.129]},"n":["0p833_0p838_0p167_0p129"],"t":52,"s":[5.697],"e":[6.453]},{"i":{"x":[0.833],"y":[0.866]},"o":{"x":[0.167],"y":[0.171]},"n":["0p833_0p866_0p167_0p171"],"t":53,"s":[6.453],"e":[7.169]},{"i":{"x":[0.833],"y":[0.906]},"o":{"x":[0.167],"y":[0.221]},"n":["0p833_0p906_0p167_0p221"],"t":54,"s":[7.169],"e":[7.603]},{"i":{"x":[0.833],"y":[1.307]},"o":{"x":[0.167],"y":[0.712]},"n":["0p833_1p307_0p167_0p712"],"t":55,"s":[7.603],"e":[7.661]},{"i":{"x":[0.833],"y":[0.818]},"o":{"x":[0.167],"y":[0.066]},"n":["0p833_0p818_0p167_0p066"],"t":56,"s":[7.661],"e":[7.391]},{"i":{"x":[0.833],"y":[0.904]},"o":{"x":[0.167],"y":[0.154]},"n":["0p833_0p904_0p167_0p154"],"t":57,"s":[7.391],"e":[7.072]},{"i":{"x":[0.833],"y":[1.255]},"o":{"x":[0.167],"y":[0.627]},"n":["0p833_1p255_0p167_0p627"],"t":58,"s":[7.072],"e":[7.023]},{"i":{"x":[0.833],"y":[0.768]},"o":{"x":[0.167],"y":[0.063]},"n":["0p833_0p768_0p167_0p063"],"t":59,"s":[7.023],"e":[7.221]},{"i":{"x":[0.833],"y":[0.832]},"o":{"x":[0.167],"y":[0.13]},"n":["0p833_0p832_0p167_0p13"],"t":60,"s":[7.221],"e":[7.576]},{"i":{"x":[0.833],"y":[0.88]},"o":{"x":[0.167],"y":[0.165]},"n":["0p833_0p88_0p167_0p165"],"t":61,"s":[7.576],"e":[7.936]},{"i":{"x":[0.833],"y":[1.009]},"o":{"x":[0.167],"y":[0.275]},"n":["0p833_1p009_0p167_0p275"],"t":62,"s":[7.936],"e":[8.093]},{"i":{"x":[0.833],"y":[0.821]},"o":{"x":[0.167],"y":[0.008]},"n":["0p833_0p821_0p167_0p008"],"t":63,"s":[8.093],"e":[7.919]},{"i":{"x":[0.833],"y":[0.902]},"o":{"x":[0.167],"y":[0.156]},"n":["0p833_0p902_0p167_0p156"],"t":64,"s":[7.919],"e":[7.721]},{"i":{"x":[0.833],"y":[1.417]},"o":{"x":[0.167],"y":[0.571]},"n":["0p833_1p417_0p167_0p571"],"t":65,"s":[7.721],"e":[7.687]},{"i":{"x":[0.833],"y":[0.751]},"o":{"x":[0.167],"y":[0.069]},"n":["0p833_0p751_0p167_0p069"],"t":66,"s":[7.687],"e":[7.891]},{"i":{"x":[0.833],"y":[0.822]},"o":{"x":[0.167],"y":[0.125]},"n":["0p833_0p822_0p167_0p125"],"t":67,"s":[7.891],"e":[8.296]},{"i":{"x":[0.833],"y":[0.869]},"o":{"x":[0.167],"y":[0.157]},"n":["0p833_0p869_0p167_0p157"],"t":68,"s":[8.296],"e":[8.754]},{"i":{"x":[0.833],"y":[0.95]},"o":{"x":[0.167],"y":[0.229]},"n":["0p833_0p95_0p167_0p229"],"t":69,"s":[8.754],"e":[9.017]},{"i":{"x":[0.833],"y":[0.534]},"o":{"x":[0.167],"y":[-0.128]},"n":["0p833_0p534_0p167_-0p128"],"t":70,"s":[9.017],"e":[8.913]},{"i":{"x":[0.833],"y":[0.786]},"o":{"x":[0.167],"y":[0.101]},"n":["0p833_0p786_0p167_0p101"],"t":71,"s":[8.913],"e":[8.436]},{"i":{"x":[0.833],"y":[0.827]},"o":{"x":[0.167],"y":[0.136]},"n":["0p833_0p827_0p167_0p136"],"t":72,"s":[8.436],"e":[7.688]},{"i":{"x":[0.833],"y":[0.86]},"o":{"x":[0.167],"y":[0.16]},"n":["0p833_0p86_0p167_0p16"],"t":73,"s":[7.688],"e":[6.88]},{"i":{"x":[0.833],"y":[0.894]},"o":{"x":[0.167],"y":[0.206]},"n":["0p833_0p894_0p167_0p206"],"t":74,"s":[6.88],"e":[6.329]},{"i":{"x":[0.833],"y":[0.855]},"o":{"x":[0.167],"y":[0.384]},"n":["0p833_0p855_0p167_0p384"],"t":75,"s":[6.329],"e":[6.176]},{"i":{"x":[0.833],"y":[0.887]},"o":{"x":[0.167],"y":[0.195]},"n":["0p833_0p887_0p167_0p195"],"t":76,"s":[6.176],"e":[6.062]},{"i":{"x":[0.833],"y":[1.012]},"o":{"x":[0.167],"y":[0.316]},"n":["0p833_1p012_0p167_0p316"],"t":77,"s":[6.062],"e":[6.021]},{"i":{"x":[0.833],"y":[0.722]},"o":{"x":[0.167],"y":[0.01]},"n":["0p833_0p722_0p167_0p01"],"t":78,"s":[6.021],"e":[6.068]},{"i":{"x":[0.833],"y":[0.835]},"o":{"x":[0.167],"y":[0.119]},"n":["0p833_0p835_0p167_0p119"],"t":79,"s":[6.068],"e":[6.177]},{"i":{"x":[0.833],"y":[0.83]},"o":{"x":[0.167],"y":[0.168]},"n":["0p833_0p83_0p167_0p168"],"t":80,"s":[6.177],"e":[6.285]},{"i":{"x":[0.833],"y":[0.733]},"o":{"x":[0.167],"y":[0.163]},"n":["0p833_0p733_0p167_0p163"],"t":81,"s":[6.285],"e":[6.397]},{"i":{"x":[0.833],"y":[0.816]},"o":{"x":[0.167],"y":[0.121]},"n":["0p833_0p816_0p167_0p121"],"t":82,"s":[6.397],"e":[6.644]},{"i":{"x":[0.833],"y":[0.84]},"o":{"x":[0.167],"y":[0.152]},"n":["0p833_0p84_0p167_0p152"],"t":83,"s":[6.644],"e":[6.942]},{"i":{"x":[0.833],"y":[0.858]},"o":{"x":[0.167],"y":[0.174]},"n":["0p833_0p858_0p167_0p174"],"t":84,"s":[6.942],"e":[7.218]},{"i":{"x":[0.833],"y":[0.885]},"o":{"x":[0.167],"y":[0.201]},"n":["0p833_0p885_0p167_0p201"],"t":85,"s":[7.218],"e":[7.413]},{"i":{"x":[0.833],"y":[0.967]},"o":{"x":[0.167],"y":[0.303]},"n":["0p833_0p967_0p167_0p303"],"t":86,"s":[7.413],"e":[7.487]},{"i":{"x":[0.833],"y":[0.777]},"o":{"x":[0.167],"y":[-0.056]},"n":["0p833_0p777_0p167_-0p056"],"t":87,"s":[7.487],"e":[7.442]},{"i":{"x":[0.833],"y":[0.861]},"o":{"x":[0.167],"y":[0.133]},"n":["0p833_0p861_0p167_0p133"],"t":88,"s":[7.442],"e":[7.368]},{"i":{"x":[0.833],"y":[0.921]},"o":{"x":[0.167],"y":[0.207]},"n":["0p833_0p921_0p167_0p207"],"t":89,"s":[7.368],"e":[7.318]},{"i":{"x":[0.833],"y":[-1.111]},"o":{"x":[0.167],"y":[-1.691]},"n":["0p833_-1p111_0p167_-1p691"],"t":90,"s":[7.318],"e":[7.321]},{"i":{"x":[0.833],"y":[0.787]},"o":{"x":[0.167],"y":[0.087]},"n":["0p833_0p787_0p167_0p087"],"t":91,"s":[7.321],"e":[7.378]},{"i":{"x":[0.833],"y":[0.781]},"o":{"x":[0.167],"y":[0.137]},"n":["0p833_0p781_0p167_0p137"],"t":92,"s":[7.378],"e":[7.466]},{"i":{"x":[0.833],"y":[0.796]},"o":{"x":[0.167],"y":[0.135]},"n":["0p833_0p796_0p167_0p135"],"t":93,"s":[7.466],"e":[7.61]},{"i":{"x":[0.833],"y":[0.872]},"o":{"x":[0.167],"y":[0.141]},"n":["0p833_0p872_0p167_0p141"],"t":94,"s":[7.61],"e":[7.819]},{"i":{"x":[0.833],"y":[0.969]},"o":{"x":[0.167],"y":[0.24]},"n":["0p833_0p969_0p167_0p24"],"t":95,"s":[7.819],"e":[7.931]},{"i":{"x":[0.833],"y":[0.622]},"o":{"x":[0.167],"y":[-0.048]},"n":["0p833_0p622_0p167_-0p048"],"t":96,"s":[7.931],"e":[7.86]},{"i":{"x":[0.833],"y":[0.804]},"o":{"x":[0.167],"y":[0.107]},"n":["0p833_0p804_0p167_0p107"],"t":97,"s":[7.86],"e":[7.611]},{"i":{"x":[0.833],"y":[0.84]},"o":{"x":[0.167],"y":[0.145]},"n":["0p833_0p84_0p167_0p145"],"t":98,"s":[7.611],"e":[7.275]},{"i":{"x":[0.833],"y":[0.849]},"o":{"x":[0.167],"y":[0.174]},"n":["0p833_0p849_0p167_0p174"],"t":99,"s":[7.275],"e":[6.964]},{"i":{"x":[0.833],"y":[0.877]},"o":{"x":[0.167],"y":[0.186]},"n":["0p833_0p877_0p167_0p186"],"t":100,"s":[6.964],"e":[6.712]},{"i":{"x":[0.833],"y":[0.935]},"o":{"x":[0.167],"y":[0.259]},"n":["0p833_0p935_0p167_0p259"],"t":101,"s":[6.712],"e":[6.592]},{"i":{"x":[0.833],"y":[0.535]},"o":{"x":[0.167],"y":[-0.293]},"n":["0p833_0p535_0p167_-0p293"],"t":102,"s":[6.592],"e":[6.619]},{"i":{"x":[0.833],"y":[0.848]},"o":{"x":[0.167],"y":[0.102]},"n":["0p833_0p848_0p167_0p102"],"t":103,"s":[6.619],"e":[6.74]},{"i":{"x":[0.833],"y":[0.892]},"o":{"x":[0.167],"y":[0.184]},"n":["0p833_0p892_0p167_0p184"],"t":104,"s":[6.74],"e":[6.841]},{"i":{"x":[0.833],"y":[0.656]},"o":{"x":[0.167],"y":[0.36]},"n":["0p833_0p656_0p167_0p36"],"t":105,"s":[6.841],"e":[6.871]},{"i":{"x":[0.833],"y":[0.84]},"o":{"x":[0.167],"y":[0.11]},"n":["0p833_0p84_0p167_0p11"],"t":106,"s":[6.871],"e":[6.966]},{"i":{"x":[0.833],"y":[0.89]},"o":{"x":[0.167],"y":[0.174]},"n":["0p833_0p89_0p167_0p174"],"t":107,"s":[6.966],"e":[7.052]},{"i":{"x":[0.833],"y":[1.075]},"o":{"x":[0.167],"y":[0.346]},"n":["0p833_1p075_0p167_0p346"],"t":108,"s":[7.052],"e":[7.08]},{"i":{"x":[0.833],"y":[0.722]},"o":{"x":[0.167],"y":[0.039]},"n":["0p833_0p722_0p167_0p039"],"t":109,"s":[7.08],"e":[7.028]},{"i":{"x":[0.833],"y":[0.817]},"o":{"x":[0.167],"y":[0.119]},"n":["0p833_0p817_0p167_0p119"],"t":110,"s":[7.028],"e":[6.905]},{"i":{"x":[0.833],"y":[0.891]},"o":{"x":[0.167],"y":[0.153]},"n":["0p833_0p891_0p167_0p153"],"t":111,"s":[6.905],"e":[6.759]},{"i":{"x":[0.833],"y":[1.212]},"o":{"x":[0.167],"y":[0.355]},"n":["0p833_1p212_0p167_0p355"],"t":112,"s":[6.759],"e":[6.715]},{"i":{"x":[0.833],"y":[0.722]},"o":{"x":[0.167],"y":[0.06]},"n":["0p833_0p722_0p167_0p06"],"t":113,"s":[6.715],"e":[6.873]},{"i":{"x":[0.833],"y":[0.804]},"o":{"x":[0.167],"y":[0.119]},"n":["0p833_0p804_0p167_0p119"],"t":114,"s":[6.873],"e":[7.244]},{"i":{"x":[0.833],"y":[0.841]},"o":{"x":[0.167],"y":[0.145]},"n":["0p833_0p841_0p167_0p145"],"t":115,"s":[7.244],"e":[7.744]},{"i":{"x":[0.833],"y":[0.885]},"o":{"x":[0.167],"y":[0.176]},"n":["0p833_0p885_0p167_0p176"],"t":116,"s":[7.744],"e":[8.195]},{"i":{"x":[0.833],"y":[0.959]},"o":{"x":[0.167],"y":[0.3]},"n":["0p833_0p959_0p167_0p3"],"t":117,"s":[8.195],"e":[8.369]},{"i":{"x":[0.833],"y":[0.72]},"o":{"x":[0.167],"y":[-0.082]},"n":["0p833_0p72_0p167_-0p082"],"t":118,"s":[8.369],"e":[8.281]},{"i":{"x":[0.833],"y":[0.836]},"o":{"x":[0.167],"y":[0.119]},"n":["0p833_0p836_0p167_0p119"],"t":119,"s":[8.281],"e":[8.074]},{"i":{"x":[0.833],"y":[0.883]},"o":{"x":[0.167],"y":[0.17]},"n":["0p833_0p883_0p167_0p17"],"t":120,"s":[8.074],"e":[7.875]},{"i":{"x":[0.833],"y":[1.056]},"o":{"x":[0.167],"y":[0.29]},"n":["0p833_1p056_0p167_0p29"],"t":121,"s":[7.875],"e":[7.795]},{"i":{"x":[0.833],"y":[0.643]},"o":{"x":[0.167],"y":[0.033]},"n":["0p833_0p643_0p167_0p033"],"t":122,"s":[7.795],"e":[7.929]},{"i":{"x":[0.833],"y":[0.811]},"o":{"x":[0.167],"y":[0.109]},"n":["0p833_0p811_0p167_0p109"],"t":123,"s":[7.929],"e":[8.371]},{"i":{"x":[0.833],"y":[0.868]},"o":{"x":[0.167],"y":[0.149]},"n":["0p833_0p868_0p167_0p149"],"t":124,"s":[8.371],"e":[8.93]},{"i":{"x":[0.833],"y":[0.934]},"o":{"x":[0.167],"y":[0.225]},"n":["0p833_0p934_0p167_0p225"],"t":125,"s":[8.93],"e":[9.259]},{"i":{"x":[0.833],"y":[0.375]},"o":{"x":[0.167],"y":[-0.319]},"n":["0p833_0p375_0p167_-0p319"],"t":126,"s":[9.259],"e":[9.191]},{"i":{"x":[0.833],"y":[0.802]},"o":{"x":[0.167],"y":[0.096]},"n":["0p833_0p802_0p167_0p096"],"t":127,"s":[9.191],"e":[8.749]},{"i":{"x":[0.833],"y":[0.841]},"o":{"x":[0.167],"y":[0.144]},"n":["0p833_0p841_0p167_0p144"],"t":128,"s":[8.749],"e":[8.142]},{"i":{"x":[0.833],"y":[0.844]},"o":{"x":[0.167],"y":[0.175]},"n":["0p833_0p844_0p167_0p175"],"t":129,"s":[8.142],"e":[7.59]},{"i":{"x":[0.833],"y":[0.882]},"o":{"x":[0.167],"y":[0.179]},"n":["0p833_0p882_0p167_0p179"],"t":130,"s":[7.59],"e":[7.108]},{"i":{"x":[0.833],"y":[0.979]},"o":{"x":[0.167],"y":[0.284]},"n":["0p833_0p979_0p167_0p284"],"t":131,"s":[7.108],"e":[6.908]},{"i":{"x":[0.833],"y":[0.689]},"o":{"x":[0.167],"y":[-0.028]},"n":["0p833_0p689_0p167_-0p028"],"t":132,"s":[6.908],"e":[7.057]},{"i":{"x":[0.833],"y":[0.831]},"o":{"x":[0.167],"y":[0.114]},"n":["0p833_0p831_0p167_0p114"],"t":133,"s":[7.057],"e":[7.465]},{"i":{"x":[0.833],"y":[0.899]},"o":{"x":[0.167],"y":[0.165]},"n":["0p833_0p899_0p167_0p165"],"t":134,"s":[7.465],"e":[7.883]},{"i":{"x":[0.833],"y":[1.108]},"o":{"x":[0.167],"y":[0.476]},"n":["0p833_1p108_0p167_0p476"],"t":135,"s":[7.883],"e":[7.972]},{"i":{"x":[0.833],"y":[0.796]},"o":{"x":[0.167],"y":[0.047]},"n":["0p833_0p796_0p167_0p047"],"t":136,"s":[7.972],"e":[7.768]},{"i":{"x":[0.833],"y":[0.852]},"o":{"x":[0.167],"y":[0.141]},"n":["0p833_0p852_0p167_0p141"],"t":137,"s":[7.768],"e":[7.473]},{"i":{"x":[0.833],"y":[0.899]},"o":{"x":[0.167],"y":[0.191]},"n":["0p833_0p899_0p167_0p191"],"t":138,"s":[7.473],"e":[7.245]},{"i":{"x":[0.833],"y":[1.278]},"o":{"x":[0.167],"y":[0.488]},"n":["0p833_1p278_0p167_0p488"],"t":139,"s":[7.245],"e":[7.198]},{"i":{"x":[0.833],"y":[0.785]},"o":{"x":[0.167],"y":[0.064]},"n":["0p833_0p785_0p167_0p064"],"t":140,"s":[7.198],"e":[7.402]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.136]},"n":["0p833_0p833_0p167_0p136"],"t":141,"s":[7.402],"e":[7.723]},{"t":142}],"ix":4}},"a":{"a":0,"k":[28.441,21.711,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.745,0.472],[0.129,0.165],[0.024,0.263],[-0.243,-0.001],[-1.293,-0.012],[0.002,0.24],[-0.01,1.272],[0.239,-0.005],[0.744,0.004],[-0.007,0.291],[-0.336,0.003],[-0.657,0.005],[-0.021,0.646],[0.223,-0.003],[0.735,0.005],[0.1,0.048],[-0.043,0.221],[-0.246,0.001],[-0.676,0.005],[-0.026,0.629],[0.227,-0.003],[0.735,0.005],[-0.01,0.279],[-0.362,0.01],[-0.059,0],[-0.676,-0.012],[0.041,0.257],[-0.009,0.057],[0.3,-0.008],[0.725,0.008],[-0.139,0.326],[-0.227,-0.001],[-0.686,0.001],[-0.029,0.54],[0.297,-0.009],[0.734,0.009],[-0.223,0.299],[-0.172,0.007],[-0.685,-0.001],[-0.001,0.465],[0,0],[-0.057,0.003],[0.003,0.351],[0.455,0.012],[0.01,-0.002],[-0.01,0.208],[0,0.275],[1.017,0.001],[1.518,-0.012],[-0.002,0.251],[-0.005,1.214],[0.263,-0.019],[0.001,0.07],[-0.007,1.175],[-0.335,0.147],[-0.09,0.155],[0.025,0.233],[-0.001,0.02],[0.153,-0.032],[-0.005,-1.331],[-0.008,-1.078],[0.241,0.036],[-0.003,-0.245],[-0.018,-1.204],[0.296,0],[5.152,-0.001],[0.005,-0.933],[0,-0.403],[0.104,-0.008],[0.008,-0.328],[-0.344,-0.036],[-0.085,-0.1],[-0.006,-0.185],[-0.004,-0.049],[0.164,-0.027],[0.97,-0.181],[0,0],[0.369,-0.231],[0.371,-0.281],[-0.024,-0.014],[-0.804,-0.805],[-0.642,-1.238],[-0.19,0.005],[-0.588,-0.013],[-0.002,0.213],[-0.007,0.627],[0,0.753],[0,0],[0.013,-0.662],[-0.278,0.006],[-1.136,0],[-1.184,-0.016],[0.003,0.206],[0.023,0.713],[-0.242,-0.003],[0.008,-0.336],[-0.038,-0.596],[-0.89,0.001],[-1.245,0.013],[0.003,-0.268],[0,-1.058],[0.42,0],[6.181,-0.028],[0.21,0.448],[1.071,1.103],[1.514,0.737],[1.612,0.228],[0.062,0.094],[0.63,0.942],[0.369,0.48],[1.249,-0.024],[0.463,-0.063],[-0.221,-0.992],[-0.2,-0.877],[0.237,-0.061],[0.323,-0.11],[1.135,-0.883],[0.335,-0.266],[-0.006,0.075],[0.42,0.306],[0.759,-0.034],[-0.009,-0.978],[-0.05,0.003],[-0.377,0.04],[-0.167,0.032],[0.209,-0.26],[-0.554,-0.433],[-0.904,0.64],[-1.694,0.332],[-2.888,-1.396],[-1.017,-1.094],[-0.566,-2.211],[0.014,-1.23],[-0.241,0.007],[-0.499,-0.018],[0.016,0.237],[0.069,0.652],[0.108,0.691],[0,0],[-6.25,-0.002],[-0.127,-0.141],[-0.03,-0.278],[0.243,-0.048]],"o":[[-0.252,-0.069],[-0.13,-0.167],[-0.022,-0.246],[1.293,0.011],[0.247,0.002],[-0.01,-1.273],[0.002,-0.228],[-0.744,0.014],[-0.364,-0.003],[0.006,-0.264],[0.656,-0.005],[0.643,-0.005],[0.007,-0.216],[-0.734,0.011],[-0.115,-0.001],[-0.195,-0.094],[0.054,-0.271],[0.677,-0.004],[0.632,-0.005],[0.011,-0.262],[-0.734,0.009],[-0.349,-0.003],[0.01,-0.277],[0.058,-0.002],[0.675,0],[0.233,0.005],[-0.008,-0.057],[0.05,-0.298],[-0.723,0.02],[-0.402,-0.005],[0.091,-0.214],[0.686,0.003],[0.545,-0.001],[0.017,-0.303],[-0.733,0.021],[-0.413,-0.005],[0.097,-0.13],[0.684,-0.025],[0.451,0],[0,0],[0.097,-0.008],[0.432,-0.018],[-0.003,-0.355],[-0.01,-0.001],[-0.228,0.032],[0.013,-0.273],[0.002,-1.02],[-1.518,-0.002],[-0.266,0.001],[0.011,-1.215],[0.001,-0.202],[-0.065,0.005],[-0.01,-1.175],[0.003,-0.368],[0.21,-0.091],[0.094,-0.163],[-0.003,-0.019],[0.001,-0.178],[-1.11,0.238],[0.003,1.078],[0.001,0.22],[-0.245,-0.037],[0.012,1.204],[0.005,0.302],[-5.152,-0.009],[-0.936,0.001],[-0.001,0.379],[-0.138,0.009],[-0.351,0.028],[-0.009,0.326],[0.18,0.019],[0.094,0.111],[0.002,0.049],[0.016,0.178],[-0.972,0.163],[0,0],[-0.439,0.224],[-0.364,0.227],[0.092,0.073],[1.006,0.542],[0.991,0.993],[0.079,0.153],[0.587,-0.013],[0.221,0.005],[0.006,-0.626],[0.008,-0.722],[0,0],[0.665,-0.001],[-0.005,0.264],[1.135,-0.022],[1.183,0],[0.231,0.004],[-0.009,-0.714],[-0.011,-0.327],[0.233,0.004],[-0.014,0.596],[0.057,0.891],[1.244,-0.001],[0.273,-0.003],[-0.013,1.058],[0,0.411],[-6.179,0],[-0.554,0.003],[-0.653,-1.394],[-1.177,-1.212],[-1.462,-0.712],[-0.122,-0.017],[-0.624,-0.945],[-0.336,-0.502],[-0.799,-1.04],[-0.45,0.008],[0.232,1.049],[0.196,0.878],[0.041,0.179],[-0.33,0.085],[-1.363,0.466],[-0.278,0.215],[0.023,-0.166],[0.035,-0.494],[-0.618,-0.451],[0,1.008],[0.001,0.053],[0.378,-0.023],[0.087,-0.01],[-0.251,0.311],[0.559,0.437],[0.686,-0.918],[1.407,-0.998],[3.172,-0.622],[1.339,0.647],[1.571,1.688],[0.304,1.186],[-0.002,0.221],[0.499,-0.014],[0.228,0.009],[-0.046,-0.655],[-0.07,-0.657],[0,0],[6.249,0],[0.272,0],[0.146,0.163],[0.024,0.242],[-1.106,0.22]],"v":[[22.506,7.187],[21.773,6.964],[21.719,6.195],[22.032,5.88],[25.911,5.891],[26.223,5.573],[26.224,1.754],[25.929,1.451],[23.696,1.455],[23.144,0.993],[23.694,0.553],[25.664,0.549],[26.223,-0.018],[25.942,-0.308],[23.738,-0.308],[23.395,-0.358],[23.156,-0.845],[23.652,-1.208],[25.68,-1.21],[26.224,-1.757],[25.896,-2.063],[23.692,-2.062],[23.141,-2.535],[23.699,-2.966],[23.876,-2.966],[25.903,-2.962],[26.22,-3.271],[26.22,-3.447],[25.85,-3.826],[23.676,-3.824],[23.181,-4.455],[23.677,-4.748],[25.734,-4.747],[26.227,-5.236],[25.851,-5.609],[23.648,-5.605],[23.216,-6.268],[23.712,-6.496],[25.768,-6.507],[26.22,-6.971],[26.22,-7.471],[26.431,-7.489],[27.148,-8.105],[26.414,-8.694],[26.384,-8.694],[26.108,-8.986],[26.11,-9.809],[24.493,-11.439],[19.94,-11.434],[19.611,-11.772],[19.619,-15.416],[19.339,-15.739],[19.138,-15.936],[19.136,-19.462],[19.667,-20.239],[20.283,-20.505],[20.232,-21.187],[20.228,-21.246],[19.977,-21.429],[18.083,-19.266],[18.086,-16.033],[17.791,-15.727],[17.477,-15.418],[17.49,-11.805],[17.113,-11.433],[1.656,-11.439],[0.087,-9.875],[0.087,-8.713],[-0.261,-8.692],[-0.843,-8.113],[-0.265,-7.49],[0.254,-7.412],[0.296,-6.874],[0.297,-6.727],[0.055,-6.478],[-2.859,-5.962],[-4.349,-5.53],[-5.564,-4.901],[-6.626,-4.107],[-6.488,-3.999],[-3.788,-1.955],[-1.397,1.433],[-1.039,1.664],[0.724,1.663],[1.014,1.375],[1.056,-0.505],[1.058,-2.703],[3.331,-2.703],[3.994,-2.042],[4.336,-1.694],[7.743,-1.72],[11.295,-1.697],[11.568,-1.994],[11.559,-4.136],[11.954,-4.47],[12.358,-4.143],[12.402,-2.353],[13.85,-1.016],[17.583,-1.022],[17.931,-0.67],[17.925,2.504],[17.504,2.915],[-1.037,2.932],[-2.038,2.282],[-4.671,-1.434],[-8.734,-4.322],[-10.748,-5.53],[-11.844,-7.053],[-15.53,-8.77],[-16.616,-10.226],[-19.776,-11.583],[-21.138,-11.405],[-20.468,-8.371],[-19.872,-5.739],[-20.058,-5.368],[-21.03,-5.044],[-24.773,-3.009],[-25.659,-2.307],[-25.615,-2.623],[-26.095,-3.88],[-28.188,-4.339],[-28.182,-1.376],[-28.03,-1.225],[-26.897,-1.33],[-26.558,-1.396],[-27.212,-0.587],[-25.565,0.701],[-23.169,-1.606],[-18.511,-3.589],[-9.424,-2.352],[-5.907,0.297],[-2.771,6.189],[-2.341,9.825],[-2.049,10.132],[-0.551,10.142],[-0.25,9.849],[-0.372,7.885],[-0.677,5.885],[-0.162,5.885],[18.587,5.887],[19.373,5.946],[19.456,6.758],[19.148,7.15]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.282000014361,0.234999997008,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[28.441,21.711],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":143,"st":0,"bm":0},{"ddd":0,"ind":36,"ty":4,"nm":"Body Inner Outlines","parent":35,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[31.531,19.277,0],"ix":2},"a":{"a":0,"k":[20.528,7.309,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[-0.218,-0.175],[0,0],[0,0],[0,0],[0,0],[0,0],[4.679,1.44]],"o":[[0,0],[0,0],[0,0],[0,0],[0.216,0.175],[0,0],[0,0],[0,0],[0,0],[0,0],[-4.68,-1.44]],"v":[[-20.279,-4.067],[-8.201,-1.906],[0.723,-3.519],[7.318,-7.059],[16.61,-5.058],[18.459,1.058],[19.185,1.406],[20.279,5.544],[19.185,7.059],[-5.48,7.059],[-11.9,-0.832]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.936999990426,0.169000004787,0.149000010771,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[20.528,7.309],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":143,"st":0,"bm":0},{"ddd":0,"ind":37,"ty":4,"nm":"Face Light Outlines","parent":35,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[52.842,19.272,0],"ix":2},"a":{"a":0,"k":[1.967,5.302,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[1.717,5.052],[-1.717,5.052],[-1.717,-5.052],[1.717,-5.052]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.976000019148,0.741000007181,0.741000007181,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1.967,5.302],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":143,"st":0,"bm":0},{"ddd":0,"ind":38,"ty":4,"nm":"Back Wheel Cover Black Outlines","parent":35,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[13.81,24.179,0],"ix":2},"a":{"a":0,"k":[12.831,7.913,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-12.581,-3.056],[-8.625,0.145],[2.856,-2.465],[7.819,4.492],[9.671,7.652],[12.581,7.663],[12.059,1.58],[7.568,-5.178],[-0.965,-7.663],[-9.441,-5.327]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.4,0.395999983245,0.395999983245,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[12.831,7.914],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":143,"st":0,"bm":0},{"ddd":0,"ind":39,"ty":4,"nm":"Back Light Outlines","parent":35,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-0.814,18.853,0],"ix":2},"a":{"a":0,"k":[1.324,1.731,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-2.147,-1.482]],"o":[[0,0],[0,0]],"v":[[1.067,-1.482],[1.074,1.482]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.957000014361,0.804000016755,0.616000007181,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1.323,1.732],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":143,"st":0,"bm":0},{"ddd":0,"ind":40,"ty":4,"nm":"Driver Head Outlines","parent":42,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[3.692,-1.422,0],"ix":2},"a":{"a":0,"k":[2.431,2.553,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.417,0.242],[0,0],[0,0],[-1.696,0.048],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0.485,-0.146],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[1.697,-0.049],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.485,0.145],[0,0],[0,0],[0,0]],"v":[[-1.289,1.811],[-1.289,-0.266],[-2.182,-0.266],[-1.503,-0.654],[0.049,-2.253],[1.62,-0.799],[2.182,-0.221],[1.62,-0.221],[1.62,0.413],[1.62,0.799],[1.357,0.799],[0.825,2.158],[0.243,2.012],[0.146,2.303],[-0.969,1.867]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.317999985639,0.2,0.165000002992,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[2.431,2.553],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":143,"st":0,"bm":0},{"ddd":0,"ind":41,"ty":4,"nm":"Driver Hand Outlines","parent":42,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[7.378,5.125,0],"ix":2},"a":{"a":0,"k":[3.936,2.259,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-2.279,-2.009],[-0.874,-1.19],[1.161,-1.19],[2.664,-1.599],[2.664,-0.899],[3.246,-0.899],[1.84,0.119],[-1.117,0.119],[-2.508,-1.332],[1.226,0.952],[3.686,-0.528],[1.314,2.009],[-3.686,0.47]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.317999985639,0.2,0.165000002992,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[3.936,2.259],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":143,"st":0,"bm":0},{"ddd":0,"ind":42,"ty":4,"nm":"Driver Body Outlines","parent":35,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[16.33,11.297,0],"ix":2},"a":{"a":0,"k":[7.401,8.225,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-2.432,-0.534],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[1.552,-4.945],[0,0],[0,0],[0,0],[-1.745,2.667],[0,0],[2.431,0.533],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-2.593,-0.606],[-3.563,-6.957],[-3.563,-7.344],[-5.406,-7.975],[-5.406,-7.296],[-5.841,-0.606],[-4.201,2.304],[1.43,2.546],[3.223,5.891],[3.999,7.975],[5.745,6.957],[7.15,5.503],[4.581,5.746],[2.788,1.188],[-2.786,-0.267]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.317999985639,0.2,0.165000002992,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[7.4,8.225],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":143,"st":0,"bm":0},{"ddd":0,"ind":43,"ty":3,"nm":"Front Particles Ctrl","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[227,170,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[50,50,100],"ix":6}},"ao":0,"ip":0,"op":143,"st":0,"bm":0},{"ddd":0,"ind":44,"ty":4,"nm":"particle 200","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":135,"s":[100],"e":[0]},{"t":145}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":125,"s":[-7,-4,0],"e":[-27,-4,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":145}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":125,"op":146,"st":125,"bm":0},{"ddd":0,"ind":45,"ty":4,"nm":"particle 199","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":133,"s":[100],"e":[0]},{"t":143}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":123,"s":[-7,-2,0],"e":[-27,-2,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":143}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":123,"op":144,"st":123,"bm":0},{"ddd":0,"ind":46,"ty":4,"nm":"particle 198","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":132,"s":[100],"e":[0]},{"t":142}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":122,"s":[-6,-8,0],"e":[-26,-8,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":142}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":122,"op":143,"st":122,"bm":0},{"ddd":0,"ind":47,"ty":4,"nm":"particle 197","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":130,"s":[100],"e":[0]},{"t":140}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":120,"s":[0,0,0],"e":[-20,0,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":140}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":120,"op":141,"st":120,"bm":0},{"ddd":0,"ind":48,"ty":4,"nm":"particle 196","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":131,"s":[100],"e":[0]},{"t":141}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":121,"s":[-7,-4,0],"e":[-27,-4,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":141}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":121,"op":142,"st":121,"bm":0},{"ddd":0,"ind":49,"ty":4,"nm":"particle 195","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":128,"s":[100],"e":[0]},{"t":138}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":118,"s":[-7,-4,0],"e":[-27,-4,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":138}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":118,"op":139,"st":118,"bm":0},{"ddd":0,"ind":50,"ty":4,"nm":"particle 194","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":126,"s":[100],"e":[0]},{"t":136}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":116,"s":[-7,-2,0],"e":[-27,-2,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":136}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":116,"op":137,"st":116,"bm":0},{"ddd":0,"ind":51,"ty":4,"nm":"particle 193","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":125,"s":[100],"e":[0]},{"t":135}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":115,"s":[-6,-8,0],"e":[-26,-8,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":135}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":115,"op":136,"st":115,"bm":0},{"ddd":0,"ind":52,"ty":4,"nm":"particle 192","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":123,"s":[100],"e":[0]},{"t":133}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":113,"s":[0,0,0],"e":[-20,0,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":133}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":113,"op":134,"st":113,"bm":0},{"ddd":0,"ind":53,"ty":4,"nm":"particle 191","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":124,"s":[100],"e":[0]},{"t":134}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":114,"s":[-7,-4,0],"e":[-27,-4,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":134}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":114,"op":135,"st":114,"bm":0},{"ddd":0,"ind":54,"ty":4,"nm":"particle 190","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":121,"s":[100],"e":[0]},{"t":131}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":111,"s":[-7,-4,0],"e":[-27,-4,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":131}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":111,"op":132,"st":111,"bm":0},{"ddd":0,"ind":55,"ty":4,"nm":"particle 189","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":119,"s":[100],"e":[0]},{"t":129}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":109,"s":[-7,-2,0],"e":[-27,-2,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":129}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":109,"op":130,"st":109,"bm":0},{"ddd":0,"ind":56,"ty":4,"nm":"particle 188","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":118,"s":[100],"e":[0]},{"t":128}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":108,"s":[-6,-8,0],"e":[-26,-8,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":128}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":108,"op":129,"st":108,"bm":0},{"ddd":0,"ind":57,"ty":4,"nm":"particle 187","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":116,"s":[100],"e":[0]},{"t":126}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":106,"s":[0,0,0],"e":[-20,0,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":126}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":106,"op":127,"st":106,"bm":0},{"ddd":0,"ind":58,"ty":4,"nm":"particle 186","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":117,"s":[100],"e":[0]},{"t":127}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":107,"s":[-7,-4,0],"e":[-27,-4,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":127}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":107,"op":128,"st":107,"bm":0},{"ddd":0,"ind":59,"ty":4,"nm":"particle 185","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":115,"s":[100],"e":[0]},{"t":125}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":105,"s":[-7,-2,0],"e":[-27,-2,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":125}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":105,"op":126,"st":105,"bm":0},{"ddd":0,"ind":60,"ty":4,"nm":"particle 184","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":114,"s":[100],"e":[0]},{"t":124}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":104,"s":[-6,-8,0],"e":[-26,-8,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":124}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":104,"op":125,"st":104,"bm":0},{"ddd":0,"ind":61,"ty":4,"nm":"particle 183","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":112,"s":[100],"e":[0]},{"t":122}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":102,"s":[0,0,0],"e":[-20,0,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":122}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":102,"op":123,"st":102,"bm":0},{"ddd":0,"ind":62,"ty":4,"nm":"particle 182","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":111,"s":[100],"e":[0]},{"t":121}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":101,"s":[-7,-4,0],"e":[-27,-4,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":121}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":101,"op":122,"st":101,"bm":0},{"ddd":0,"ind":63,"ty":4,"nm":"particle 181","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":109,"s":[100],"e":[0]},{"t":119}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":99,"s":[-7,-2,0],"e":[-27,-2,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":119}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":99,"op":120,"st":99,"bm":0},{"ddd":0,"ind":64,"ty":4,"nm":"particle 180","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":108,"s":[100],"e":[0]},{"t":118}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":98,"s":[-6,-8,0],"e":[-26,-8,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":118}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":98,"op":119,"st":98,"bm":0},{"ddd":0,"ind":65,"ty":4,"nm":"particle 179","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":106,"s":[100],"e":[0]},{"t":116}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":96,"s":[0,0,0],"e":[-20,0,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":116}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":96,"op":117,"st":96,"bm":0},{"ddd":0,"ind":66,"ty":4,"nm":"particle 178","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":107,"s":[100],"e":[0]},{"t":117}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":97,"s":[-7,-4,0],"e":[-27,-4,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":117}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":97,"op":118,"st":97,"bm":0},{"ddd":0,"ind":67,"ty":4,"nm":"particle 177","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":105,"s":[100],"e":[0]},{"t":115}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":95,"s":[-7,-2,0],"e":[-27,-2,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":115}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":95,"op":116,"st":95,"bm":0},{"ddd":0,"ind":68,"ty":4,"nm":"particle 176","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":104,"s":[100],"e":[0]},{"t":114}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":94,"s":[-6,-8,0],"e":[-26,-8,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":114}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":94,"op":115,"st":94,"bm":0},{"ddd":0,"ind":69,"ty":4,"nm":"particle 175","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":102,"s":[100],"e":[0]},{"t":112}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":92,"s":[0,0,0],"e":[-20,0,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":112}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":92,"op":113,"st":92,"bm":0},{"ddd":0,"ind":70,"ty":4,"nm":"particle 148","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":100,"s":[100],"e":[0]},{"t":110}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":90,"s":[-7,-4,0],"e":[-27,-4,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":110}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":90,"op":111,"st":90,"bm":0},{"ddd":0,"ind":71,"ty":4,"nm":"particle 147","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":98,"s":[100],"e":[0]},{"t":108}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":88,"s":[-7,-2,0],"e":[-27,-2,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":108}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":88,"op":109,"st":88,"bm":0},{"ddd":0,"ind":72,"ty":4,"nm":"particle 146","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":97,"s":[100],"e":[0]},{"t":107}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":87,"s":[-6,-8,0],"e":[-26,-8,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":107}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":87,"op":108,"st":87,"bm":0},{"ddd":0,"ind":73,"ty":4,"nm":"particle 145","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":95,"s":[100],"e":[0]},{"t":105}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":85,"s":[0,0,0],"e":[-20,0,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":105}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":85,"op":106,"st":85,"bm":0},{"ddd":0,"ind":74,"ty":4,"nm":"particle 144","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":96,"s":[100],"e":[0]},{"t":106}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":86,"s":[-7,-4,0],"e":[-27,-4,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":106}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":86,"op":107,"st":86,"bm":0},{"ddd":0,"ind":75,"ty":4,"nm":"particle 143","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":93,"s":[100],"e":[0]},{"t":103}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":83,"s":[-7,-4,0],"e":[-27,-4,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":103}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":83,"op":104,"st":83,"bm":0},{"ddd":0,"ind":76,"ty":4,"nm":"particle 142","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":91,"s":[100],"e":[0]},{"t":101}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":81,"s":[-7,-2,0],"e":[-27,-2,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":101}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":81,"op":102,"st":81,"bm":0},{"ddd":0,"ind":77,"ty":4,"nm":"particle 141","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":90,"s":[100],"e":[0]},{"t":100}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":80,"s":[-6,-8,0],"e":[-26,-8,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":100}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":80,"op":101,"st":80,"bm":0},{"ddd":0,"ind":78,"ty":4,"nm":"particle 140","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":88,"s":[100],"e":[0]},{"t":98}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":78,"s":[0,0,0],"e":[-20,0,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":98}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":78,"op":99,"st":78,"bm":0},{"ddd":0,"ind":79,"ty":4,"nm":"particle 139","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":89,"s":[100],"e":[0]},{"t":99}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":79,"s":[-7,-4,0],"e":[-27,-4,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":99}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":79,"op":100,"st":79,"bm":0},{"ddd":0,"ind":80,"ty":4,"nm":"particle 138","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":86,"s":[100],"e":[0]},{"t":96}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":76,"s":[-7,-4,0],"e":[-27,-4,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":96}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":76,"op":97,"st":76,"bm":0},{"ddd":0,"ind":81,"ty":4,"nm":"particle 137","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":84,"s":[100],"e":[0]},{"t":94}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":74,"s":[-7,-2,0],"e":[-27,-2,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":94}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":74,"op":95,"st":74,"bm":0},{"ddd":0,"ind":82,"ty":4,"nm":"particle 136","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":83,"s":[100],"e":[0]},{"t":93}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":73,"s":[-6,-8,0],"e":[-26,-8,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":93}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":73,"op":94,"st":73,"bm":0},{"ddd":0,"ind":83,"ty":4,"nm":"particle 135","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":81,"s":[100],"e":[0]},{"t":91}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":71,"s":[0,0,0],"e":[-20,0,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":91}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":71,"op":92,"st":71,"bm":0},{"ddd":0,"ind":84,"ty":4,"nm":"particle 134","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":82,"s":[100],"e":[0]},{"t":92}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":72,"s":[-7,-4,0],"e":[-27,-4,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":92}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":72,"op":93,"st":72,"bm":0},{"ddd":0,"ind":85,"ty":4,"nm":"particle 133","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":80,"s":[100],"e":[0]},{"t":90}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":70,"s":[-7,-2,0],"e":[-27,-2,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":90}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":70,"op":91,"st":70,"bm":0},{"ddd":0,"ind":86,"ty":4,"nm":"particle 132","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":79,"s":[100],"e":[0]},{"t":89}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":69,"s":[-6,-8,0],"e":[-26,-8,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":89}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":69,"op":90,"st":69,"bm":0},{"ddd":0,"ind":87,"ty":4,"nm":"particle 131","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":77,"s":[100],"e":[0]},{"t":87}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":67,"s":[0,0,0],"e":[-20,0,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":87}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":67,"op":88,"st":67,"bm":0},{"ddd":0,"ind":88,"ty":4,"nm":"particle 130","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":76,"s":[100],"e":[0]},{"t":86}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":66,"s":[-7,-4,0],"e":[-27,-4,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":86}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":66,"op":87,"st":66,"bm":0},{"ddd":0,"ind":89,"ty":4,"nm":"particle 129","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":74,"s":[100],"e":[0]},{"t":84}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":64,"s":[-7,-2,0],"e":[-27,-2,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":84}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":64,"op":85,"st":64,"bm":0},{"ddd":0,"ind":90,"ty":4,"nm":"particle 128","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":73,"s":[100],"e":[0]},{"t":83}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":63,"s":[-6,-8,0],"e":[-26,-8,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":83}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":63,"op":84,"st":63,"bm":0},{"ddd":0,"ind":91,"ty":4,"nm":"particle 127","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":71,"s":[100],"e":[0]},{"t":81}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":61,"s":[0,0,0],"e":[-20,0,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":81}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":61,"op":82,"st":61,"bm":0},{"ddd":0,"ind":92,"ty":4,"nm":"particle 126","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":72,"s":[100],"e":[0]},{"t":82}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":62,"s":[-7,-4,0],"e":[-27,-4,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":82}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":62,"op":83,"st":62,"bm":0},{"ddd":0,"ind":93,"ty":4,"nm":"particle 125","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":70,"s":[100],"e":[0]},{"t":80}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":60,"s":[-7,-2,0],"e":[-27,-2,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":80}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":60,"op":81,"st":60,"bm":0},{"ddd":0,"ind":94,"ty":4,"nm":"particle 124","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":69,"s":[100],"e":[0]},{"t":79}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":59,"s":[-6,-8,0],"e":[-26,-8,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":79}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":59,"op":80,"st":59,"bm":0},{"ddd":0,"ind":95,"ty":4,"nm":"particle 123","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":67,"s":[100],"e":[0]},{"t":77}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":57,"s":[0,0,0],"e":[-20,0,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":77}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":57,"op":78,"st":57,"bm":0},{"ddd":0,"ind":96,"ty":4,"nm":"particle 122","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":68,"s":[100],"e":[0]},{"t":78}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":58,"s":[-7,-4,0],"e":[-27,-4,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":78}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":58,"op":79,"st":58,"bm":0},{"ddd":0,"ind":97,"ty":4,"nm":"particle 121","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":66,"s":[100],"e":[0]},{"t":76}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":56,"s":[-7,-2,0],"e":[-27,-2,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":76}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":56,"op":77,"st":56,"bm":0},{"ddd":0,"ind":98,"ty":4,"nm":"particle 120","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":65,"s":[100],"e":[0]},{"t":75}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":55,"s":[-6,-8,0],"e":[-26,-8,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":75}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":55,"op":76,"st":55,"bm":0},{"ddd":0,"ind":99,"ty":4,"nm":"particle 119","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":63,"s":[100],"e":[0]},{"t":73}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":53,"s":[0,0,0],"e":[-20,0,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":73}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":53,"op":74,"st":53,"bm":0},{"ddd":0,"ind":100,"ty":4,"nm":"particle 118","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":64,"s":[100],"e":[0]},{"t":74}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":54,"s":[-7,-4,0],"e":[-27,-4,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":74}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":54,"op":75,"st":54,"bm":0},{"ddd":0,"ind":101,"ty":4,"nm":"particle 117","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":62,"s":[100],"e":[0]},{"t":72}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":52,"s":[-7,-2,0],"e":[-27,-2,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":72}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":52,"op":73,"st":52,"bm":0},{"ddd":0,"ind":102,"ty":4,"nm":"particle 116","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":61,"s":[100],"e":[0]},{"t":71}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":51,"s":[-6,-8,0],"e":[-26,-8,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":71}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":51,"op":72,"st":51,"bm":0},{"ddd":0,"ind":103,"ty":4,"nm":"particle 115","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":59,"s":[100],"e":[0]},{"t":69}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":49,"s":[0,0,0],"e":[-20,0,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":69}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":49,"op":70,"st":49,"bm":0},{"ddd":0,"ind":104,"ty":4,"nm":"particle 114","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":58,"s":[100],"e":[0]},{"t":68}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":48,"s":[-7,-4,0],"e":[-27,-4,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":68}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":48,"op":69,"st":48,"bm":0},{"ddd":0,"ind":105,"ty":4,"nm":"particle 113","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":56,"s":[100],"e":[0]},{"t":66}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":46,"s":[-7,-2,0],"e":[-27,-2,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":66}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":46,"op":67,"st":46,"bm":0},{"ddd":0,"ind":106,"ty":4,"nm":"particle 112","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":55,"s":[100],"e":[0]},{"t":65}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":45,"s":[-6,-8,0],"e":[-26,-8,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":65}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":45,"op":66,"st":45,"bm":0},{"ddd":0,"ind":107,"ty":4,"nm":"particle 111","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":53,"s":[100],"e":[0]},{"t":63}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":43,"s":[0,0,0],"e":[-20,0,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":63}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":43,"op":64,"st":43,"bm":0},{"ddd":0,"ind":108,"ty":4,"nm":"particle 110","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":54,"s":[100],"e":[0]},{"t":64}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":44,"s":[-7,-4,0],"e":[-27,-4,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":64}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":44,"op":65,"st":44,"bm":0},{"ddd":0,"ind":109,"ty":4,"nm":"particle 109","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":52,"s":[100],"e":[0]},{"t":62}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":42,"s":[-7,-2,0],"e":[-27,-2,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":62}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":42,"op":63,"st":42,"bm":0},{"ddd":0,"ind":110,"ty":4,"nm":"particle 108","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":51,"s":[100],"e":[0]},{"t":61}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":41,"s":[-6,-8,0],"e":[-26,-8,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":61}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":41,"op":62,"st":41,"bm":0},{"ddd":0,"ind":111,"ty":4,"nm":"particle 107","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":49,"s":[100],"e":[0]},{"t":59}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":39,"s":[0,0,0],"e":[-20,0,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":59}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":39,"op":60,"st":39,"bm":0},{"ddd":0,"ind":112,"ty":4,"nm":"particle 106","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":47,"s":[100],"e":[0]},{"t":57}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":37,"s":[-7,-4,0],"e":[-27,-4,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":57}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":37,"op":58,"st":37,"bm":0},{"ddd":0,"ind":113,"ty":4,"nm":"particle 105","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":45,"s":[100],"e":[0]},{"t":55}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":35,"s":[-7,-2,0],"e":[-27,-2,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":55}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":35,"op":56,"st":35,"bm":0},{"ddd":0,"ind":114,"ty":4,"nm":"particle 104","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":44,"s":[100],"e":[0]},{"t":54}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":34,"s":[-6,-8,0],"e":[-26,-8,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":54}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":34,"op":55,"st":34,"bm":0},{"ddd":0,"ind":115,"ty":4,"nm":"particle 103","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":42,"s":[100],"e":[0]},{"t":52}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":32,"s":[0,0,0],"e":[-20,0,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":52}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":32,"op":53,"st":32,"bm":0},{"ddd":0,"ind":116,"ty":4,"nm":"particle 102","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":43,"s":[100],"e":[0]},{"t":53}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":33,"s":[-7,-4,0],"e":[-27,-4,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":53}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":33,"op":54,"st":33,"bm":0},{"ddd":0,"ind":117,"ty":4,"nm":"particle 101","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":41,"s":[100],"e":[0]},{"t":51}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":31,"s":[-7,-2,0],"e":[-27,-2,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":51}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":31,"op":52,"st":31,"bm":0},{"ddd":0,"ind":118,"ty":4,"nm":"particle 100","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":40,"s":[100],"e":[0]},{"t":50}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":30,"s":[-6,-8,0],"e":[-26,-8,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":50}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":30,"op":51,"st":30,"bm":0},{"ddd":0,"ind":119,"ty":4,"nm":"particle 99","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":38,"s":[100],"e":[0]},{"t":48}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":28,"s":[0,0,0],"e":[-20,0,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":48}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":28,"op":49,"st":28,"bm":0},{"ddd":0,"ind":120,"ty":4,"nm":"particle 98","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":37,"s":[100],"e":[0]},{"t":47}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":27,"s":[-7,-4,0],"e":[-27,-4,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":47}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":27,"op":48,"st":27,"bm":0},{"ddd":0,"ind":121,"ty":4,"nm":"particle 97","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[100],"e":[0]},{"t":45}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":25,"s":[-7,-2,0],"e":[-27,-2,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":45}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":25,"op":46,"st":25,"bm":0},{"ddd":0,"ind":122,"ty":4,"nm":"particle 96","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":34,"s":[100],"e":[0]},{"t":44}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":24,"s":[-6,-8,0],"e":[-26,-8,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":44}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":24,"op":45,"st":24,"bm":0},{"ddd":0,"ind":123,"ty":4,"nm":"particle 95","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":32,"s":[100],"e":[0]},{"t":42}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":22,"s":[0,0,0],"e":[-20,0,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":42}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":22,"op":43,"st":22,"bm":0},{"ddd":0,"ind":124,"ty":4,"nm":"particle 94","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":33,"s":[100],"e":[0]},{"t":43}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":23,"s":[-7,-4,0],"e":[-27,-4,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":43}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":23,"op":44,"st":23,"bm":0},{"ddd":0,"ind":125,"ty":4,"nm":"particle 93","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":31,"s":[100],"e":[0]},{"t":41}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":21,"s":[-7,-2,0],"e":[-27,-2,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":41}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":21,"op":42,"st":21,"bm":0},{"ddd":0,"ind":126,"ty":4,"nm":"particle 92","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":30,"s":[100],"e":[0]},{"t":40}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":20,"s":[-6,-8,0],"e":[-26,-8,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":40}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":20,"op":41,"st":20,"bm":0},{"ddd":0,"ind":127,"ty":4,"nm":"particle 91","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":28,"s":[100],"e":[0]},{"t":38}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":18,"s":[0,0,0],"e":[-20,0,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":38}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":18,"op":39,"st":18,"bm":0},{"ddd":0,"ind":128,"ty":4,"nm":"particle 90","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":29,"s":[100],"e":[0]},{"t":39}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":19,"s":[-7,-4,0],"e":[-27,-4,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":39}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":19,"op":40,"st":19,"bm":0},{"ddd":0,"ind":129,"ty":4,"nm":"particle 89","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":27,"s":[100],"e":[0]},{"t":37}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":17,"s":[-7,-2,0],"e":[-27,-2,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":37}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":17,"op":38,"st":17,"bm":0},{"ddd":0,"ind":130,"ty":4,"nm":"particle 88","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":26,"s":[100],"e":[0]},{"t":36}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":16,"s":[-6,-8,0],"e":[-26,-8,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":36}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":16,"op":37,"st":16,"bm":0},{"ddd":0,"ind":131,"ty":4,"nm":"particle 87","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":24,"s":[100],"e":[0]},{"t":34}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":14,"s":[0,0,0],"e":[-20,0,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":34}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":14,"op":35,"st":14,"bm":0},{"ddd":0,"ind":132,"ty":4,"nm":"particle 86","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":25,"s":[100],"e":[0]},{"t":35}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":15,"s":[-7,-4,0],"e":[-27,-4,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":35}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":15,"op":36,"st":15,"bm":0},{"ddd":0,"ind":133,"ty":4,"nm":"particle 85","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":23,"s":[100],"e":[0]},{"t":33}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":13,"s":[-7,-2,0],"e":[-27,-2,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":33}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":13,"op":34,"st":13,"bm":0},{"ddd":0,"ind":134,"ty":4,"nm":"particle 84","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":22,"s":[100],"e":[0]},{"t":32}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":12,"s":[-6,-8,0],"e":[-26,-8,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":32}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":12,"op":33,"st":12,"bm":0},{"ddd":0,"ind":135,"ty":4,"nm":"particle 83","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":20,"s":[100],"e":[0]},{"t":30}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":10,"s":[0,0,0],"e":[-20,0,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":30}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":10,"op":31,"st":10,"bm":0},{"ddd":0,"ind":136,"ty":4,"nm":"particle 82","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":19,"s":[100],"e":[0]},{"t":29}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":9,"s":[-7,-4,0],"e":[-27,-4,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":29}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":9,"op":30,"st":9,"bm":0},{"ddd":0,"ind":137,"ty":4,"nm":"particle 81","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":17,"s":[100],"e":[0]},{"t":27}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":7,"s":[-7,-2,0],"e":[-27,-2,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":27}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":7,"op":28,"st":7,"bm":0},{"ddd":0,"ind":138,"ty":4,"nm":"particle 80","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":16,"s":[100],"e":[0]},{"t":26}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":6,"s":[-6,-8,0],"e":[-26,-8,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":26}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":6,"op":27,"st":6,"bm":0},{"ddd":0,"ind":139,"ty":4,"nm":"particle 79","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":14,"s":[100],"e":[0]},{"t":24}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":4,"s":[0,0,0],"e":[-20,0,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":24}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":4,"op":25,"st":4,"bm":0},{"ddd":0,"ind":140,"ty":4,"nm":"particle 78","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":15,"s":[100],"e":[0]},{"t":25}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":5,"s":[-7,-4,0],"e":[-27,-4,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":25}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":5,"op":26,"st":5,"bm":0},{"ddd":0,"ind":141,"ty":4,"nm":"particle 77","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":13,"s":[100],"e":[0]},{"t":23}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":3,"s":[-7,-2,0],"e":[-27,-2,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":23}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":3,"op":24,"st":3,"bm":0},{"ddd":0,"ind":142,"ty":4,"nm":"particle 76","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":12,"s":[100],"e":[0]},{"t":22}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":2,"s":[-6,-8,0],"e":[-26,-8,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":22}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":2,"op":23,"st":2,"bm":0},{"ddd":0,"ind":143,"ty":4,"nm":"particle 75","parent":43,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":10,"s":[100],"e":[0]},{"t":20}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[0,0,0],"e":[-20,0,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":20}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":21,"st":0,"bm":0},{"ddd":0,"ind":144,"ty":4,"nm":"particle 174","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":135,"s":[100],"e":[0]},{"t":145}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":125,"s":[193,151,0],"e":[173,151,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":145}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":125,"op":146,"st":125,"bm":0},{"ddd":0,"ind":145,"ty":4,"nm":"particle 173","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":133,"s":[100],"e":[0]},{"t":143}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":123,"s":[193,153,0],"e":[173,153,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":143}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":123,"op":144,"st":123,"bm":0},{"ddd":0,"ind":146,"ty":4,"nm":"particle 172","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":132,"s":[100],"e":[0]},{"t":142}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":122,"s":[194,147,0],"e":[174,147,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":142}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":122,"op":143,"st":122,"bm":0},{"ddd":0,"ind":147,"ty":4,"nm":"particle 171","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":130,"s":[100],"e":[0]},{"t":140}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":120,"s":[200,155,0],"e":[180,155,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":140}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":120,"op":141,"st":120,"bm":0},{"ddd":0,"ind":148,"ty":4,"nm":"particle 170","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":131,"s":[100],"e":[0]},{"t":141}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":121,"s":[193,151,0],"e":[173,151,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":141}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":121,"op":142,"st":121,"bm":0},{"ddd":0,"ind":149,"ty":4,"nm":"particle 169","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":128,"s":[100],"e":[0]},{"t":138}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":118,"s":[193,151,0],"e":[173,151,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":138}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":118,"op":139,"st":118,"bm":0},{"ddd":0,"ind":150,"ty":4,"nm":"particle 168","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":126,"s":[100],"e":[0]},{"t":136}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":116,"s":[193,153,0],"e":[173,153,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":136}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":116,"op":137,"st":116,"bm":0},{"ddd":0,"ind":151,"ty":4,"nm":"particle 167","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":125,"s":[100],"e":[0]},{"t":135}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":115,"s":[194,147,0],"e":[174,147,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":135}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":115,"op":136,"st":115,"bm":0},{"ddd":0,"ind":152,"ty":4,"nm":"particle 166","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":123,"s":[100],"e":[0]},{"t":133}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":113,"s":[200,155,0],"e":[180,155,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":133}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":113,"op":134,"st":113,"bm":0},{"ddd":0,"ind":153,"ty":4,"nm":"particle 165","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":124,"s":[100],"e":[0]},{"t":134}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":114,"s":[193,151,0],"e":[173,151,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":134}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":114,"op":135,"st":114,"bm":0},{"ddd":0,"ind":154,"ty":4,"nm":"particle 164","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":121,"s":[100],"e":[0]},{"t":131}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":111,"s":[193,151,0],"e":[173,151,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":131}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":111,"op":132,"st":111,"bm":0},{"ddd":0,"ind":155,"ty":4,"nm":"particle 163","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":119,"s":[100],"e":[0]},{"t":129}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":109,"s":[193,153,0],"e":[173,153,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":129}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":109,"op":130,"st":109,"bm":0},{"ddd":0,"ind":156,"ty":4,"nm":"particle 162","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":118,"s":[100],"e":[0]},{"t":128}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":108,"s":[194,147,0],"e":[174,147,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":128}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":108,"op":129,"st":108,"bm":0},{"ddd":0,"ind":157,"ty":4,"nm":"particle 161","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":116,"s":[100],"e":[0]},{"t":126}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":106,"s":[200,155,0],"e":[180,155,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":126}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":106,"op":127,"st":106,"bm":0},{"ddd":0,"ind":158,"ty":4,"nm":"particle 160","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":117,"s":[100],"e":[0]},{"t":127}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":107,"s":[193,151,0],"e":[173,151,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":127}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":107,"op":128,"st":107,"bm":0},{"ddd":0,"ind":159,"ty":4,"nm":"particle 159","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":115,"s":[100],"e":[0]},{"t":125}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":105,"s":[193,153,0],"e":[173,153,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":125}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":105,"op":126,"st":105,"bm":0},{"ddd":0,"ind":160,"ty":4,"nm":"particle 158","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":114,"s":[100],"e":[0]},{"t":124}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":104,"s":[194,147,0],"e":[174,147,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":124}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":104,"op":125,"st":104,"bm":0},{"ddd":0,"ind":161,"ty":4,"nm":"particle 157","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":112,"s":[100],"e":[0]},{"t":122}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":102,"s":[200,155,0],"e":[180,155,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":122}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":102,"op":123,"st":102,"bm":0},{"ddd":0,"ind":162,"ty":4,"nm":"particle 156","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":111,"s":[100],"e":[0]},{"t":121}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":101,"s":[193,151,0],"e":[173,151,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":121}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":101,"op":122,"st":101,"bm":0},{"ddd":0,"ind":163,"ty":4,"nm":"particle 155","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":109,"s":[100],"e":[0]},{"t":119}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":99,"s":[193,153,0],"e":[173,153,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":119}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":99,"op":120,"st":99,"bm":0},{"ddd":0,"ind":164,"ty":4,"nm":"particle 154","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":108,"s":[100],"e":[0]},{"t":118}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":98,"s":[194,147,0],"e":[174,147,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":118}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":98,"op":119,"st":98,"bm":0},{"ddd":0,"ind":165,"ty":4,"nm":"particle 153","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":106,"s":[100],"e":[0]},{"t":116}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":96,"s":[200,155,0],"e":[180,155,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":116}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":96,"op":117,"st":96,"bm":0},{"ddd":0,"ind":166,"ty":4,"nm":"particle 152","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":107,"s":[100],"e":[0]},{"t":117}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":97,"s":[193,151,0],"e":[173,151,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":117}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":97,"op":118,"st":97,"bm":0},{"ddd":0,"ind":167,"ty":4,"nm":"particle 151","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":105,"s":[100],"e":[0]},{"t":115}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":95,"s":[193,153,0],"e":[173,153,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":115}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":95,"op":116,"st":95,"bm":0},{"ddd":0,"ind":168,"ty":4,"nm":"particle 150","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":104,"s":[100],"e":[0]},{"t":114}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":94,"s":[194,147,0],"e":[174,147,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":114}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":94,"op":115,"st":94,"bm":0},{"ddd":0,"ind":169,"ty":4,"nm":"particle 149","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":102,"s":[100],"e":[0]},{"t":112}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":92,"s":[200,155,0],"e":[180,155,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":112}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":92,"op":113,"st":92,"bm":0},{"ddd":0,"ind":170,"ty":4,"nm":"particle 74","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":100,"s":[100],"e":[0]},{"t":110}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":90,"s":[193,151,0],"e":[173,151,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":110}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":90,"op":111,"st":90,"bm":0},{"ddd":0,"ind":171,"ty":4,"nm":"particle 73","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":98,"s":[100],"e":[0]},{"t":108}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":88,"s":[193,153,0],"e":[173,153,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":108}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":88,"op":109,"st":88,"bm":0},{"ddd":0,"ind":172,"ty":4,"nm":"particle 72","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":97,"s":[100],"e":[0]},{"t":107}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":87,"s":[194,147,0],"e":[174,147,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":107}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":87,"op":108,"st":87,"bm":0},{"ddd":0,"ind":173,"ty":4,"nm":"particle 71","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":95,"s":[100],"e":[0]},{"t":105}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":85,"s":[200,155,0],"e":[180,155,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":105}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":85,"op":106,"st":85,"bm":0},{"ddd":0,"ind":174,"ty":4,"nm":"particle 70","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":96,"s":[100],"e":[0]},{"t":106}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":86,"s":[193,151,0],"e":[173,151,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":106}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":86,"op":107,"st":86,"bm":0},{"ddd":0,"ind":175,"ty":4,"nm":"particle 69","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":93,"s":[100],"e":[0]},{"t":103}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":83,"s":[193,151,0],"e":[173,151,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":103}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":83,"op":104,"st":83,"bm":0},{"ddd":0,"ind":176,"ty":4,"nm":"particle 68","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":91,"s":[100],"e":[0]},{"t":101}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":81,"s":[193,153,0],"e":[173,153,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":101}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":81,"op":102,"st":81,"bm":0},{"ddd":0,"ind":177,"ty":4,"nm":"particle 67","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":90,"s":[100],"e":[0]},{"t":100}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":80,"s":[194,147,0],"e":[174,147,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":100}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":80,"op":101,"st":80,"bm":0},{"ddd":0,"ind":178,"ty":4,"nm":"particle 66","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":88,"s":[100],"e":[0]},{"t":98}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":78,"s":[200,155,0],"e":[180,155,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":98}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":78,"op":99,"st":78,"bm":0},{"ddd":0,"ind":179,"ty":4,"nm":"particle 65","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":89,"s":[100],"e":[0]},{"t":99}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":79,"s":[193,151,0],"e":[173,151,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":99}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":79,"op":100,"st":79,"bm":0},{"ddd":0,"ind":180,"ty":4,"nm":"particle 64","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":86,"s":[100],"e":[0]},{"t":96}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":76,"s":[193,151,0],"e":[173,151,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":96}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":76,"op":97,"st":76,"bm":0},{"ddd":0,"ind":181,"ty":4,"nm":"particle 63","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":84,"s":[100],"e":[0]},{"t":94}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":74,"s":[193,153,0],"e":[173,153,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":94}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":74,"op":95,"st":74,"bm":0},{"ddd":0,"ind":182,"ty":4,"nm":"particle 62","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":83,"s":[100],"e":[0]},{"t":93}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":73,"s":[194,147,0],"e":[174,147,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":93}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":73,"op":94,"st":73,"bm":0},{"ddd":0,"ind":183,"ty":4,"nm":"particle 61","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":81,"s":[100],"e":[0]},{"t":91}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":71,"s":[200,155,0],"e":[180,155,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":91}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":71,"op":92,"st":71,"bm":0},{"ddd":0,"ind":184,"ty":4,"nm":"particle 60","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":82,"s":[100],"e":[0]},{"t":92}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":72,"s":[193,151,0],"e":[173,151,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":92}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":72,"op":93,"st":72,"bm":0},{"ddd":0,"ind":185,"ty":4,"nm":"particle 59","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":80,"s":[100],"e":[0]},{"t":90}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":70,"s":[193,153,0],"e":[173,153,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":90}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":70,"op":91,"st":70,"bm":0},{"ddd":0,"ind":186,"ty":4,"nm":"particle 58","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":79,"s":[100],"e":[0]},{"t":89}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":69,"s":[194,147,0],"e":[174,147,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":89}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":69,"op":90,"st":69,"bm":0},{"ddd":0,"ind":187,"ty":4,"nm":"particle 57","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":77,"s":[100],"e":[0]},{"t":87}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":67,"s":[200,155,0],"e":[180,155,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":87}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":67,"op":88,"st":67,"bm":0},{"ddd":0,"ind":188,"ty":4,"nm":"particle 56","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":76,"s":[100],"e":[0]},{"t":86}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":66,"s":[193,151,0],"e":[173,151,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":86}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":66,"op":87,"st":66,"bm":0},{"ddd":0,"ind":189,"ty":4,"nm":"particle 55","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":74,"s":[100],"e":[0]},{"t":84}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":64,"s":[193,153,0],"e":[173,153,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":84}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":64,"op":85,"st":64,"bm":0},{"ddd":0,"ind":190,"ty":4,"nm":"particle 54","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":73,"s":[100],"e":[0]},{"t":83}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":63,"s":[194,147,0],"e":[174,147,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":83}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":63,"op":84,"st":63,"bm":0},{"ddd":0,"ind":191,"ty":4,"nm":"particle 53","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":71,"s":[100],"e":[0]},{"t":81}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":61,"s":[200,155,0],"e":[180,155,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":81}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":61,"op":82,"st":61,"bm":0},{"ddd":0,"ind":192,"ty":4,"nm":"particle 52","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":72,"s":[100],"e":[0]},{"t":82}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":62,"s":[193,151,0],"e":[173,151,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":82}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":62,"op":83,"st":62,"bm":0},{"ddd":0,"ind":193,"ty":4,"nm":"particle 51","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":70,"s":[100],"e":[0]},{"t":80}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":60,"s":[193,153,0],"e":[173,153,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":80}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":60,"op":81,"st":60,"bm":0},{"ddd":0,"ind":194,"ty":4,"nm":"particle 50","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":69,"s":[100],"e":[0]},{"t":79}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":59,"s":[194,147,0],"e":[174,147,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":79}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":59,"op":80,"st":59,"bm":0},{"ddd":0,"ind":195,"ty":4,"nm":"particle 49","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":67,"s":[100],"e":[0]},{"t":77}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":57,"s":[200,155,0],"e":[180,155,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":77}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":57,"op":78,"st":57,"bm":0},{"ddd":0,"ind":196,"ty":4,"nm":"particle 48","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":68,"s":[100],"e":[0]},{"t":78}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":58,"s":[193,151,0],"e":[173,151,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":78}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":58,"op":79,"st":58,"bm":0},{"ddd":0,"ind":197,"ty":4,"nm":"particle 47","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":66,"s":[100],"e":[0]},{"t":76}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":56,"s":[193,153,0],"e":[173,153,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":76}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":56,"op":77,"st":56,"bm":0},{"ddd":0,"ind":198,"ty":4,"nm":"particle 46","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":65,"s":[100],"e":[0]},{"t":75}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":55,"s":[194,147,0],"e":[174,147,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":75}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":55,"op":76,"st":55,"bm":0},{"ddd":0,"ind":199,"ty":4,"nm":"particle 45","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":63,"s":[100],"e":[0]},{"t":73}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":53,"s":[200,155,0],"e":[180,155,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":73}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":53,"op":74,"st":53,"bm":0},{"ddd":0,"ind":200,"ty":4,"nm":"particle 44","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":64,"s":[100],"e":[0]},{"t":74}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":54,"s":[193,151,0],"e":[173,151,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":74}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":54,"op":75,"st":54,"bm":0},{"ddd":0,"ind":201,"ty":4,"nm":"particle 43","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":62,"s":[100],"e":[0]},{"t":72}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":52,"s":[193,153,0],"e":[173,153,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":72}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":52,"op":73,"st":52,"bm":0},{"ddd":0,"ind":202,"ty":4,"nm":"particle 42","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":61,"s":[100],"e":[0]},{"t":71}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":51,"s":[194,147,0],"e":[174,147,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":71}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":51,"op":72,"st":51,"bm":0},{"ddd":0,"ind":203,"ty":4,"nm":"particle 41","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":59,"s":[100],"e":[0]},{"t":69}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":49,"s":[200,155,0],"e":[180,155,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":69}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":49,"op":70,"st":49,"bm":0},{"ddd":0,"ind":204,"ty":4,"nm":"particle 40","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":58,"s":[100],"e":[0]},{"t":68}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":48,"s":[193,151,0],"e":[173,151,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":68}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":48,"op":69,"st":48,"bm":0},{"ddd":0,"ind":205,"ty":4,"nm":"particle 39","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":56,"s":[100],"e":[0]},{"t":66}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":46,"s":[193,153,0],"e":[173,153,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":66}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":46,"op":67,"st":46,"bm":0},{"ddd":0,"ind":206,"ty":4,"nm":"particle 38","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":55,"s":[100],"e":[0]},{"t":65}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":45,"s":[194,147,0],"e":[174,147,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":65}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":45,"op":66,"st":45,"bm":0},{"ddd":0,"ind":207,"ty":4,"nm":"particle 37","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":53,"s":[100],"e":[0]},{"t":63}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":43,"s":[200,155,0],"e":[180,155,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":63}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":43,"op":64,"st":43,"bm":0},{"ddd":0,"ind":208,"ty":4,"nm":"particle 36","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":54,"s":[100],"e":[0]},{"t":64}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":44,"s":[193,151,0],"e":[173,151,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":64}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":44,"op":65,"st":44,"bm":0},{"ddd":0,"ind":209,"ty":4,"nm":"particle 35","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":52,"s":[100],"e":[0]},{"t":62}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":42,"s":[193,153,0],"e":[173,153,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":62}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":42,"op":63,"st":42,"bm":0},{"ddd":0,"ind":210,"ty":4,"nm":"particle 34","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":51,"s":[100],"e":[0]},{"t":61}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":41,"s":[194,147,0],"e":[174,147,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":61}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":41,"op":62,"st":41,"bm":0},{"ddd":0,"ind":211,"ty":4,"nm":"particle 33","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":49,"s":[100],"e":[0]},{"t":59}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":39,"s":[200,155,0],"e":[180,155,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":59}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":39,"op":60,"st":39,"bm":0},{"ddd":0,"ind":212,"ty":4,"nm":"particle 32","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":47,"s":[100],"e":[0]},{"t":57}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":37,"s":[193,151,0],"e":[173,151,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":57}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":37,"op":58,"st":37,"bm":0},{"ddd":0,"ind":213,"ty":4,"nm":"particle 31","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":45,"s":[100],"e":[0]},{"t":55}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":35,"s":[193,153,0],"e":[173,153,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":55}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":35,"op":56,"st":35,"bm":0},{"ddd":0,"ind":214,"ty":4,"nm":"particle 30","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":44,"s":[100],"e":[0]},{"t":54}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":34,"s":[194,147,0],"e":[174,147,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":54}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":34,"op":55,"st":34,"bm":0},{"ddd":0,"ind":215,"ty":4,"nm":"particle 29","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":42,"s":[100],"e":[0]},{"t":52}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":32,"s":[200,155,0],"e":[180,155,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":52}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":32,"op":53,"st":32,"bm":0},{"ddd":0,"ind":216,"ty":4,"nm":"particle 28","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":43,"s":[100],"e":[0]},{"t":53}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":33,"s":[193,151,0],"e":[173,151,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":53}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":33,"op":54,"st":33,"bm":0},{"ddd":0,"ind":217,"ty":4,"nm":"particle 27","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":41,"s":[100],"e":[0]},{"t":51}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":31,"s":[193,153,0],"e":[173,153,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":51}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":31,"op":52,"st":31,"bm":0},{"ddd":0,"ind":218,"ty":4,"nm":"particle 26","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":40,"s":[100],"e":[0]},{"t":50}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":30,"s":[194,147,0],"e":[174,147,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":50}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":30,"op":51,"st":30,"bm":0},{"ddd":0,"ind":219,"ty":4,"nm":"particle 25","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":38,"s":[100],"e":[0]},{"t":48}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":28,"s":[200,155,0],"e":[180,155,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":48}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":28,"op":49,"st":28,"bm":0},{"ddd":0,"ind":220,"ty":4,"nm":"particle 24","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":37,"s":[100],"e":[0]},{"t":47}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":27,"s":[193,151,0],"e":[173,151,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":47}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":27,"op":48,"st":27,"bm":0},{"ddd":0,"ind":221,"ty":4,"nm":"particle 23","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[100],"e":[0]},{"t":45}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":25,"s":[193,153,0],"e":[173,153,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":45}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":25,"op":46,"st":25,"bm":0},{"ddd":0,"ind":222,"ty":4,"nm":"particle 22","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":34,"s":[100],"e":[0]},{"t":44}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":24,"s":[194,147,0],"e":[174,147,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":44}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":24,"op":45,"st":24,"bm":0},{"ddd":0,"ind":223,"ty":4,"nm":"particle 21","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":32,"s":[100],"e":[0]},{"t":42}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":22,"s":[200,155,0],"e":[180,155,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":42}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":22,"op":43,"st":22,"bm":0},{"ddd":0,"ind":224,"ty":4,"nm":"particle 20","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":33,"s":[100],"e":[0]},{"t":43}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":23,"s":[193,151,0],"e":[173,151,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":43}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":23,"op":44,"st":23,"bm":0},{"ddd":0,"ind":225,"ty":4,"nm":"particle 19","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":31,"s":[100],"e":[0]},{"t":41}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":21,"s":[193,153,0],"e":[173,153,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":41}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":21,"op":42,"st":21,"bm":0},{"ddd":0,"ind":226,"ty":4,"nm":"particle 18","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":30,"s":[100],"e":[0]},{"t":40}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":20,"s":[194,147,0],"e":[174,147,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":40}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":20,"op":41,"st":20,"bm":0},{"ddd":0,"ind":227,"ty":4,"nm":"particle 17","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":28,"s":[100],"e":[0]},{"t":38}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":18,"s":[200,155,0],"e":[180,155,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":38}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":18,"op":39,"st":18,"bm":0},{"ddd":0,"ind":228,"ty":4,"nm":"particle 16","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":29,"s":[100],"e":[0]},{"t":39}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":19,"s":[193,151,0],"e":[173,151,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":39}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":19,"op":40,"st":19,"bm":0},{"ddd":0,"ind":229,"ty":4,"nm":"particle 15","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":27,"s":[100],"e":[0]},{"t":37}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":17,"s":[193,153,0],"e":[173,153,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":37}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":17,"op":38,"st":17,"bm":0},{"ddd":0,"ind":230,"ty":4,"nm":"particle 14","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":26,"s":[100],"e":[0]},{"t":36}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":16,"s":[194,147,0],"e":[174,147,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":36}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":16,"op":37,"st":16,"bm":0},{"ddd":0,"ind":231,"ty":4,"nm":"particle 13","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":24,"s":[100],"e":[0]},{"t":34}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":14,"s":[200,155,0],"e":[180,155,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":34}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":14,"op":35,"st":14,"bm":0},{"ddd":0,"ind":232,"ty":4,"nm":"particle 12","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":25,"s":[100],"e":[0]},{"t":35}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":15,"s":[193,151,0],"e":[173,151,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":35}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":15,"op":36,"st":15,"bm":0},{"ddd":0,"ind":233,"ty":4,"nm":"particle 11","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":23,"s":[100],"e":[0]},{"t":33}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":13,"s":[193,153,0],"e":[173,153,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":33}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":13,"op":34,"st":13,"bm":0},{"ddd":0,"ind":234,"ty":4,"nm":"particle 10","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":22,"s":[100],"e":[0]},{"t":32}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":12,"s":[194,147,0],"e":[174,147,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":32}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":12,"op":33,"st":12,"bm":0},{"ddd":0,"ind":235,"ty":4,"nm":"particle 9","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":20,"s":[100],"e":[0]},{"t":30}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":10,"s":[200,155,0],"e":[180,155,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":30}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":10,"op":31,"st":10,"bm":0},{"ddd":0,"ind":236,"ty":4,"nm":"particle 8","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":19,"s":[100],"e":[0]},{"t":29}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":9,"s":[193,151,0],"e":[173,151,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":29}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":9,"op":30,"st":9,"bm":0},{"ddd":0,"ind":237,"ty":4,"nm":"particle 7","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":17,"s":[100],"e":[0]},{"t":27}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":7,"s":[193,153,0],"e":[173,153,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":27}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":7,"op":28,"st":7,"bm":0},{"ddd":0,"ind":238,"ty":4,"nm":"particle 6","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":16,"s":[100],"e":[0]},{"t":26}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":6,"s":[194,147,0],"e":[174,147,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":26}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":6,"op":27,"st":6,"bm":0},{"ddd":0,"ind":239,"ty":4,"nm":"particle 5","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":14,"s":[100],"e":[0]},{"t":24}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":4,"s":[200,155,0],"e":[180,155,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":24}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":4,"op":25,"st":4,"bm":0},{"ddd":0,"ind":240,"ty":4,"nm":"particle 4","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":15,"s":[100],"e":[0]},{"t":25}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":5,"s":[193,151,0],"e":[173,151,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":25}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":5,"op":26,"st":5,"bm":0},{"ddd":0,"ind":241,"ty":4,"nm":"particle 3","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":13,"s":[100],"e":[0]},{"t":23}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":3,"s":[193,153,0],"e":[173,153,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":23}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":3,"op":24,"st":3,"bm":0},{"ddd":0,"ind":242,"ty":4,"nm":"particle 2","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":12,"s":[100],"e":[0]},{"t":22}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":2,"s":[194,147,0],"e":[174,147,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":22}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":2,"op":23,"st":2,"bm":0},{"ddd":0,"ind":243,"ty":4,"nm":"particle","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":10,"s":[100],"e":[0]},{"t":20}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[200,155,0],"e":[180,155,0],"to":[-0.58333331346512,-14,0],"ti":[3.58333325386047,-16,0]},{"t":20}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458823531866,0.349019616842,0.247058823705,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-20,28.25],"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":"Ellipse 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":21,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"matte 3","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[200.235,155.416,0],"ix":2},"a":{"a":0,"k":[159.625,99.679,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[159.375,99.43],[-159.375,99.43],[-159.375,-99.43],[159.375,-99.43]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.987999949736,0.898000021542,0.773000021542,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[159.625,99.679],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":284,"op":427,"st":284,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"Tractor","tt":1,"refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":284,"s":[-8],"e":[-5]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":341.404,"s":[-5],"e":[7]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":348.957,"s":[7],"e":[3]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":364.063,"s":[3],"e":[-1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":379.17,"s":[-1],"e":[-5]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":391.255,"s":[-5],"e":[-12]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":400.319,"s":[-12],"e":[-6]},{"t":418.447265625}],"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":284,"s":[-151.709],"e":[252.291]},{"t":426}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":284,"s":[284.709],"e":[271.709]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":320.255,"s":[271.709],"e":[262.709]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":341.404,"s":[262.709],"e":[232.709]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":348.957,"s":[232.709],"e":[247.709]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":364.063,"s":[247.709],"e":[262.709]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":379.17,"s":[262.709],"e":[271.209]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":391.255,"s":[271.209],"e":[286.209]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":400.319,"s":[286.209],"e":[268.209]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":413.915,"s":[268.209],"e":[257.209]},{"t":418.447265625}],"ix":4}},"a":{"a":0,"k":[84.07,197.084,0],"ix":1},"s":{"a":0,"k":[130,130,100],"ix":6}},"ao":0,"w":400,"h":310,"ip":284,"op":427,"st":284,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"matte 2","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[200.235,155.416,0],"ix":2},"a":{"a":0,"k":[159.625,99.679,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[159.375,99.43],[-159.375,99.43],[-159.375,-99.43],[159.375,-99.43]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.987999949736,0.898000021542,0.773000021542,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[159.625,99.679],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":142,"op":285,"st":142,"bm":0},{"ddd":0,"ind":4,"ty":0,"nm":"Tractor","tt":1,"refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":152.574,"s":[2],"e":[1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":161.639,"s":[1],"e":[-10.952]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":167.681,"s":[-10.952],"e":[-10]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":175.234,"s":[-10],"e":[-3]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":182.787,"s":[-3],"e":[-2.895]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":219.043,"s":[-2.895],"e":[-6]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":240.191,"s":[-6],"e":[-7]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":249.255,"s":[-7],"e":[-8]},{"t":284}],"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":142,"s":[521.291],"e":[108.291]},{"t":284}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.486],"y":[0.936]},"o":{"x":[0.017],"y":[-0.006]},"n":["0p486_0p936_0p017_-0p006"],"t":161.639,"s":[214.709],"e":[189.887]},{"i":{"x":[0.673],"y":[1.24]},"o":{"x":[0.332],"y":[-0.185]},"n":["0p673_1p24_0p332_-0p185"],"t":167.681,"s":[189.887],"e":[196.785]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[-0.047]},"n":["0p833_1_0p167_-0p047"],"t":175.234,"s":[196.785],"e":[214.785]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":182.787,"s":[214.785],"e":[218.785]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":199.404,"s":[218.785],"e":[219.285]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":228.106,"s":[219.285],"e":[216.785]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":240.191,"s":[216.785],"e":[218.785]},{"i":{"x":[0.596],"y":[0.694]},"o":{"x":[0.163],"y":[0]},"n":["0p596_0p694_0p163_0"],"t":249.255,"s":[218.785],"e":[226.676]},{"t":284}],"ix":4}},"a":{"a":0,"k":[84.07,197.084,0],"ix":1},"s":{"a":0,"k":[-100,100,100],"ix":6}},"ao":0,"w":400,"h":310,"ip":142,"op":285,"st":142,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"matte","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[200.235,155.416,0],"ix":2},"a":{"a":0,"k":[159.625,99.679,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[159.375,99.43],[-159.375,99.43],[-159.375,-99.43],[159.375,-99.43]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.987999949736,0.898000021542,0.773000021542,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[159.625,99.679],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":143,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":0,"nm":"Tractor","tt":1,"refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":19.639,"s":[0],"e":[-4]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":51.361,"s":[-4],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":64.915,"s":[0],"e":[1]},{"t":107.5146484375}],"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[-81.709],"e":[291.291]},{"t":142}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.984],"y":[1.174]},"o":{"x":[0.016],"y":[0.174]},"n":["0p984_1p174_0p016_0p174"],"t":19.639,"s":[194.709],"e":[198.709]},{"i":{"x":[0.966],"y":[0.841]},"o":{"x":[0.034],"y":[0.08]},"n":["0p966_0p841_0p034_0p08"],"t":51.361,"s":[198.709],"e":[190.709]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0],"y":[0]},"n":["0p833_1_0_0"],"t":64.915,"s":[190.709],"e":[192.709]},{"t":119.685546875}],"ix":4}},"a":{"a":0,"k":[84.07,197.084,0],"ix":1},"s":{"a":0,"k":[80,80,100],"ix":6}},"ao":0,"w":400,"h":310,"ip":0,"op":143,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Cloud 4 Outlines","sr":1,"ks":{"o":{"a":0,"k":53,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[329.596,137.146,0],"ix":2},"a":{"a":0,"k":[30.206,5.341,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-10,4.659],[-1.334,-0.341],[-7.921,-8.999],[0,0]],"o":[[0,0],[10,-4.66],[1.333,0.34],[0,0],[0,0]],"v":[[-30.207,3.854],[-11.54,-2.153],[7.127,-2.153],[30.206,-1.146],[30.206,5.341]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[30.206,5.341],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":427,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"Cloud 3 Outlines","sr":1,"ks":{"o":{"a":0,"k":52,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[268.783,90.652,0],"ix":2},"a":{"a":0,"k":[84.003,12.222,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.003,0.005],[-8.101,1.603],[-6.328,1.682],[-7.071,1.057],[-13.586,3.264],[-3.685,1.116],[-13.401,-4.884],[-9.333,0]],"o":[[4.506,-6.796],[6.536,-1.294],[6.669,-1.772],[13.806,-2.053],[3.743,-0.899],[15.499,-4.694],[9.374,3.415],[-0.01,0]],"v":[[-84.003,11.935],[-63.714,-2.419],[-44.506,-2.117],[-26.836,-12.075],[6.28,2.766],[17.099,-1.228],[57.435,9.92],[84.003,11.94]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[84.003,12.222],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":427,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"Cloud 2 Outlines","sr":1,"ks":{"o":{"a":0,"k":45,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[100.443,84.782,0],"ix":2},"a":{"a":0,"k":[25.947,5.87,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-6.521,-2],[-6.836,-6.333],[-11.393,-9.333]],"o":[[0,0],[6.52,2],[6.835,6.333],[0,0]],"v":[[-25.946,5.87],[-16.573,0.552],[0.779,-4.115],[25.947,5.87]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[25.947,5.87],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":427,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"Cloud 1 Outlines","sr":1,"ks":{"o":{"a":0,"k":60,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[110.659,122.68,0],"ix":2},"a":{"a":0,"k":[69.872,6.118,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-12.785,-4.018],[-11.344,0.301],[-6.857,-1.046],[-20.404,-0.256],[19.213,2.083],[4.157,-0.297],[0,0]],"o":[[0,0],[7.99,2.511],[7.15,-0.19],[8.506,1.298],[0,0],[-19.213,-2.083],[-4.157,0.298],[0,0]],"v":[[-69.872,-4.332],[-30.482,-4.332],[5.474,-2.052],[26.647,-0.763],[69.871,2.364],[10.608,5.637],[-19.114,2.661],[-69.872,6.118]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[69.871,6.118],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":427,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"Mud Dark 4 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[200.453,241.443,0],"ix":2},"a":{"a":0,"k":[159.646,16.692,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-38.708,-12.333],[-4.874,18.621],[0,0],[54.391,12.981],[11.076,-1.083],[0,0]],"o":[[0,0],[38.708,12.334],[0,0],[0,0],[-10.825,-2.583],[0,0],[0,0]],"v":[[-159.396,8.557],[0.229,-4.109],[159.396,-10.154],[159.396,7.225],[-4.514,3.462],[-37.574,1.094],[-159.359,13.001]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.317999985639,0.2,0.165000002992,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[159.646,16.693],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":427,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"Mud Dark 3 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[200.311,208.501,0],"ix":2},"a":{"a":0,"k":[159.55,20.417,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-21.595,3.035],[-14.459,0.76],[-6.037,-0.293],[-10.699,-0.618],[-8.022,0.299],[-17.772,2.532],[-9.316,2.166],[-3.166,3.226],[0,0],[0,0],[12.667,-10.666],[12.365,1.981],[0,0]],"o":[[21.354,-4.439],[14.332,-2.015],[6.033,-0.317],[10.688,0.518],[8.018,0.463],[17.942,-0.671],[9.463,-1.349],[4.131,-0.961],[7.333,-7.472],[0,0],[0,0],[-12.666,10.667],[-12.366,-1.98],[0,0]],"v":[[-159.3,13.458],[-94.798,2.303],[-51.598,-2.203],[-33.469,-2.395],[-1.814,2.234],[22.277,2.308],[75.914,-2.665],[104.164,-7.71],[118.413,-12.695],[159.3,-16.527],[159.3,-6.501],[123.079,-6.501],[-26.555,5.146],[-159.283,20.167]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.317999985639,0.2,0.165000002992,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[159.55,20.417],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":427,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"Mud Light 3 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[200.592,234.246,0],"ix":2},"a":{"a":0,"k":[159.461,20.849,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-38.926,-12.378],[-9.254,21.314],[0,0],[0,0]],"o":[[0,0],[38.927,12.378],[-0.027,4.686],[0,0],[0,0]],"v":[[-159.211,10.768],[25.798,-6.497],[159.211,-20.598],[159.211,20.598],[-158.826,20.598]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458999992819,0.349000010771,0.246999987434,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[159.461,20.849],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":427,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"Mud Dark 2 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[200.384,229.469,0],"ix":2},"a":{"a":0,"k":[159.785,25.625,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-51.667,-13.666],[0.069,-4],[0,0],[0,0]],"o":[[0,0],[51.667,13.667],[-0.07,4.001],[0,0],[0,0]],"v":[[-159.535,2.977],[67.465,-8.357],[159.466,-21.375],[159.227,25.375],[-158.618,24.644]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.317999985639,0.2,0.165000002992,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[159.785,25.625],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":427,"st":0,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":"Mud Light 2 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[200.278,195.068,0],"ix":2},"a":{"a":0,"k":[159.583,13.261,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-21.871,-1.621],[0,0],[-24.66,-1.98],[0,0],[21.285,-10.8],[18.04,-0.099],[16.789,1],[8.846,-0.447],[0,0]],"o":[[0,0],[21.871,1.621],[0,0],[0,0],[0,0],[-8.011,4.064],[-16.439,0.09],[-19.585,-1.166],[-24.75,1.25],[0,0]],"v":[[-159.333,1.093],[-41.388,-7.771],[38.817,-8.512],[159.333,-11.032],[159.333,-1.219],[74.862,-2.068],[33.729,1.809],[-18.042,1.201],[-64.138,-0.318],[-159.302,13.012]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458999992819,0.349000010771,0.246999987434,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[159.583,13.262],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":427,"st":0,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":"Mud Dark 1 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[200.236,195.086,0],"ix":2},"a":{"a":0,"k":[159.625,18.812,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-36.717,-5.6],[-49.373,-15.377],[0,0],[21.107,-4.577],[0,0]],"o":[[0,0],[41.567,6.337],[0,0],[0,0],[-21.108,4.576],[0,0]],"v":[[-159.375,18.561],[-5.739,6.581],[159.375,-3.113],[159.375,-10.641],[-59.887,-13.984],[-159.321,-10.607]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.317999985639,0.2,0.165000002992,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[159.625,18.811],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":427,"st":0,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":"Mud Light 1 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[200.262,217.559,0],"ix":2},"a":{"a":0,"k":[159.598,37.536,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-38.35,3.168],[-22.338,0.489],[0,0],[0,0],[0,0]],"o":[[0,0],[41.282,-3.41],[25.387,-0.556],[0,0],[0,0],[0,0]],"v":[[-159.348,-33.079],[-57.499,-33.876],[106.231,-33.008],[159.348,-33.522],[159.348,37.286],[-159.169,36.886]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.458999992819,0.349000010771,0.246999987434,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[159.598,37.536],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":427,"st":0,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":"Grass Light Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[200.229,180.691,0],"ix":2},"a":{"a":0,"k":[159.381,6.727,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-19.854,-6.958],[-24.927,2.87],[-21.286,-0.394],[-21.984,-2.691],[-27.896,1.102],[0,0],[27.765,3.4],[22.112,0.409],[21.206,-2.442],[19.853,6.958],[0,0]],"o":[[0,0],[19.853,6.958],[21.206,-2.442],[22.112,0.409],[27.765,3.4],[0,0],[-27.896,1.101],[-21.984,-2.692],[-21.286,-0.393],[-24.927,2.87],[-19.854,-6.959],[0,0]],"v":[[-159.381,1.434],[-117.316,3.177],[-56.388,2.339],[8.047,1.4],[74.731,4.395],[159.381,3.344],[159.381,-1.012],[74.731,-2.415],[8.047,-5.411],[-56.388,-4.471],[-117.316,-3.633],[-159.315,-3.633]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.470999983245,0.528999956916,0.294000004787,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[159.381,6.727],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":427,"st":0,"bm":2},{"ddd":0,"ind":19,"ty":4,"nm":"Grass Dark Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[200.262,178.289,0],"ix":2},"a":{"a":0,"k":[159.598,18.123,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-19.854,-6.958],[-24.927,2.871],[-21.286,-0.394],[-21.984,-2.692],[-27.895,1.102],[0,0],[0,0]],"o":[[0,0],[19.853,6.959],[21.206,-2.441],[22.113,0.409],[27.765,3.4],[0,0],[0,0],[0,0]],"v":[[-159.348,-11.232],[-116.393,-10.915],[-55.464,-11.753],[8.969,-12.691],[75.654,-9.695],[159.348,-8.611],[159.348,5.747],[-159.318,17.872]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.470999983245,0.528999956916,0.294000004787,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[159.598,18.123],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":427,"st":0,"bm":0},{"ddd":0,"ind":20,"ty":4,"nm":"BG Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[200.235,155.416,0],"ix":2},"a":{"a":0,"k":[159.625,99.679,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[159.375,99.43],[-159.375,99.43],[-159.375,-99.43],[159.375,-99.43]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.987999949736,0.898000021542,0.773000021542,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[159.625,99.679],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":427,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/triib_manage.json b/submodules/RLottie/Sources/rlottie/example/resource/triib_manage.json deleted file mode 100644 index 0a5b27e8fe..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/triib_manage.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.1.10","fr":29.9700012207031,"ip":0,"op":177.000007209358,"w":174,"h":149,"nm":"Untitled-1","ddd":0,"comps":[],"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"Null 5","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[75.75,74.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ip":0,"op":10047.0004092227,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":3,"nm":"Null 1","parent":1,"sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.333,"y":0},"n":"0_1_0p333_0","t":66,"s":[-46,31,0],"e":[-46,-33.75,0],"to":[0,-10.7916669845581,0],"ti":[0,10.7916669845581,0]},{"t":95.0000038694293}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[20,25.5,100],"ix":6}},"ao":0,"ip":0,"op":10047.0004092227,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Layer 2 Outlines","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.333,"y":0},"n":"0_1_0p333_0","t":0,"s":[629.172,75.232,0],"e":[171.672,48.761,0],"to":[-138.75,67.1568603515625,0],"ti":[80.8209686279297,45.4995231628418,0]},{"i":{"x":0,"y":1},"o":{"x":0.333,"y":0},"n":"0_1_0p333_0","t":36,"s":[171.672,48.761,0],"e":[171.672,48.761,0],"to":[-1.93182694911957,-1.08755445480347,0],"ti":[0,0,0]},{"i":{"x":0,"y":1},"o":{"x":0.333,"y":0},"n":"0_1_0p333_0","t":132,"s":[171.672,48.761,0],"e":[631.672,331.114,0],"to":[0,0,0],"ti":[0,0,0]},{"t":152.000006191087}],"ix":2},"a":{"a":0,"k":[16.521,14.514,0],"ix":1},"s":{"a":0,"k":[500,392.157,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.168,0.319],[0,0],[-0.599,-1.491],[0,0],[-0.566,1.885],[-3.712,3.085],[-3.228,1.079]],"o":[[0,0],[-1.59,-0.233],[0,0],[0.732,1.826],[1.386,-4.61],[2.391,-1.987],[2.077,-0.695]],"v":[[13.832,-10.021],[-13.436,-14.031],[-15.672,-11.194],[-6.19,12.438],[-2.268,12.272],[5.237,-1.438],[14.194,-5.99]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.791999966491,0.19199999641,0.286000001197,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[16.52,14.514],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":10047.0004092227,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Layer 4 Outlines","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-132.498,2.875,0],"ix":2},"a":{"a":0,"k":[10,19.267,0],"ix":1},"s":{"a":0,"k":[500,392.157,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.105,"y":0},"n":"0_1_0p105_0","t":135,"s":[{"i":[[5.117,0],[0,0],[0,5.118],[-5.118,0],[0,0],[0,-5.118]],"o":[[0,0],[-5.118,0],[0,-5.118],[0,0],[5.117,0],[0,5.118]],"v":[[40.483,9.267],[-40.483,9.267],[-49.75,0],[-40.483,-9.267],[40.483,-9.267],[49.75,0]],"c":true}],"e":[{"i":[[5.117,0],[0,0],[0,5.118],[-5.118,0],[0,0],[0,-5.118]],"o":[[0,0],[-5.118,0],[0,-5.118],[0,0],[5.117,0],[0,5.118]],"v":[[69.671,9.116],[-40.483,9.267],[-49.75,0],[-40.483,-9.267],[69.671,-9.418],[78.938,-0.151]],"c":true}]},{"t":148.000006028164}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.397579656863,0,0,1],"ix":4},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":44,"s":[0],"e":[33]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":45,"s":[33],"e":[33]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":112,"s":[33],"e":[0]},{"t":115.000004684046}],"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"st","c":{"a":0,"k":[0.607999973671,0.13300000359,0.211999990426,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[59.75,19.267],"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":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":10047.0004092227,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Layer 5 Outlines","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.333,"y":0},"n":"0_1_0p333_0","t":81,"s":[-72.5,-0.702,0],"e":[-72.5,32.048,0],"to":[0,5.45833349227905,0],"ti":[0,-5.45833349227905,0]},{"t":113.000004602584}],"ix":2},"a":{"a":0,"k":[10,19.267,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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},"n":"0p833_0p833_0p167_0p167","t":135,"s":[{"i":[[5.117,0],[0,0],[0,5.118],[-5.118,0],[0,0],[0,-5.118]],"o":[[0,0],[-5.118,0],[0,-5.118],[0,0],[5.117,0],[0,5.118]],"v":[[61.328,9.267],[-61.328,9.267],[-70.595,0],[-61.328,-9.267],[61.328,-9.267],[70.595,0]],"c":true}],"e":[{"i":[[5.117,0],[0,0],[0,5.118],[-5.118,0],[0,0],[0,-5.118]],"o":[[0,0],[-5.118,0],[0,-5.118],[0,0],[5.117,0],[0,5.118]],"v":[[18.828,9.403],[-61.328,9.267],[-70.595,0],[-61.328,-9.267],[18.828,-9.131],[28.095,0.136]],"c":true}]},{"t":148.000006028164}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.607999973671,0.13300000359,0.211999990426,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[80.595,19.017],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":-10.0000004073083,"op":10037.0004088154,"st":-10.0000004073083,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Layer 3 Outlines","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.333,"y":0},"n":"0_1_0p333_0","t":86,"s":[-72.5,-33.137,0],"e":[-72.5,-1.137,0],"to":[0,5.33333349227905,0],"ti":[0,-5.33333349227905,0]},{"t":113.000004602584}],"ix":2},"a":{"a":0,"k":[10,19.267,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.105,"y":0},"n":"0_1_0p105_0","t":135,"s":[{"i":[[5.118,0],[0,0],[0,5.118],[-5.118,0],[0,0],[0,-5.118]],"o":[[0,0],[-5.118,0],[0,-5.118],[0,0],[5.118,0],[0,5.118]],"v":[[54.455,9.267],[-54.454,9.267],[-63.722,0],[-54.454,-9.267],[54.455,-9.267],[63.722,0]],"c":true}],"e":[{"i":[[5.118,0],[0,0],[0,5.118],[-5.118,0],[0,0],[0,-5.118]],"o":[[0,0],[-5.118,0],[0,-5.118],[0,0],[5.118,0],[0,5.118]],"v":[[69.705,9.346],[-54.454,9.267],[-63.722,0],[-54.454,-9.267],[69.705,-9.188],[78.972,0.079]],"c":true}]},{"t":148.000006028164}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.607999973671,0.13300000359,0.211999990426,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[73.722,19.267],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":-10.0000004073083,"op":10037.0004088154,"st":-10.0000004073083,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/waves_.json b/submodules/RLottie/Sources/rlottie/example/resource/waves_.json deleted file mode 100644 index f7396e1a94..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/waves_.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.1.8","fr":23.9759979248047,"ip":0,"op":239.999979227274,"w":300,"h":300,"nm":"SleepJounrey_Anim_Card","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":3,"nm":"Null 6","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[55,1909,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":0,"s":[130,130,100],"e":[122,122,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":120,"s":[122,122,100],"e":[130,130,100]},{"t":239.999979227274}],"ix":6}},"ao":0,"ip":0,"op":360.999968754358,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":3,"nm":"Null 7","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[540,1069,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ip":0,"op":360.999968754358,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 4","parent":2,"sr":1,"ks":{"o":{"a":0,"k":50,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[-25],"e":[-115]},{"t":239.999979227274}],"ix":10},"p":{"a":0,"k":[-485,949,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[130,130,100],"ix":6}},"ao":0,"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[113.773,-33.791],[0,0],[27.159,-50.107],[0,0],[104.344,56.556],[0,0],[54.636,-16.227],[0,0],[33.791,113.773],[0,0],[50.107,27.159],[0,0],[-56.556,104.344],[0,0],[16.227,54.636],[0,0],[-113.773,33.791],[0,0],[-27.159,50.108],[0,0],[-104.344,-56.556],[0,0],[-54.636,16.227],[0,0],[-33.791,-113.773],[0,0],[-50.107,-27.159],[0,0],[56.556,-104.344],[0,0],[-16.227,-54.636],[0,0]],"o":[[0,0],[-54.636,16.227],[0,0],[-56.556,104.344],[0,0],[-50.108,-27.159],[0,0],[-113.773,33.791],[0,0],[-16.227,-54.636],[0,0],[-104.344,-56.556],[0,0],[27.159,-50.107],[0,0],[-33.791,-113.773],[0,0],[54.636,-16.227],[0,0],[56.556,-104.344],[0,0],[50.108,27.159],[0,0],[113.773,-33.791],[0,0],[16.227,54.636],[0,0],[104.344,56.556],[0,0],[-27.159,50.107],[0,0],[33.791,113.773]],"v":[[745.996,577.184],[607.363,618.358],[479.616,721.959],[410.702,849.102],[119.368,935.629],[-7.775,866.716],[-171.363,849.642],[-309.996,890.816],[-577.184,745.996],[-618.358,607.362],[-721.959,479.616],[-849.102,410.702],[-935.629,119.368],[-866.715,-7.775],[-849.642,-171.363],[-890.816,-309.996],[-745.996,-577.184],[-607.363,-618.358],[-479.616,-721.959],[-410.702,-849.102],[-119.368,-935.629],[7.775,-866.715],[171.363,-849.642],[309.996,-890.816],[577.184,-745.996],[618.358,-607.363],[721.959,-479.616],[849.102,-410.702],[935.629,-119.368],[866.715,7.775],[849.642,171.362],[890.816,309.996]],"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,"g":{"p":3,"k":{"a":0,"k":[0.47,0.475,0.725,0.816,0.735,0.457,0.59,0.837,1,0.439,0.455,0.859],"ix":9}},"s":{"a":0,"k":[0,0],"ix":5},"e":{"a":0,"k":[264,742],"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":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"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":0,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":360.999968754358,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Shape Layer 3","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.839],"y":[1]},"o":{"x":[0.198],"y":[0]},"n":["0p839_1_0p198_0"],"t":0,"s":[0],"e":[-90]},{"t":239.999979227274}],"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[113.773,-33.791],[0,0],[27.159,-50.107],[0,0],[104.344,56.556],[0,0],[54.636,-16.227],[0,0],[33.791,113.773],[0,0],[50.107,27.159],[0,0],[-56.556,104.344],[0,0],[16.227,54.636],[0,0],[-113.773,33.791],[0,0],[-27.159,50.108],[0,0],[-104.344,-56.556],[0,0],[-54.636,16.227],[0,0],[-33.791,-113.773],[0,0],[-50.107,-27.159],[0,0],[56.556,-104.344],[0,0],[-16.227,-54.636],[0,0]],"o":[[0,0],[-54.636,16.227],[0,0],[-56.556,104.344],[0,0],[-50.108,-27.159],[0,0],[-113.773,33.791],[0,0],[-16.227,-54.636],[0,0],[-104.344,-56.556],[0,0],[27.159,-50.107],[0,0],[-33.791,-113.773],[0,0],[54.636,-16.227],[0,0],[56.556,-104.344],[0,0],[50.108,27.159],[0,0],[113.773,-33.791],[0,0],[16.227,54.636],[0,0],[104.344,56.556],[0,0],[-27.159,50.107],[0,0],[33.791,113.773]],"v":[[745.996,577.184],[607.363,618.358],[479.616,721.959],[410.702,849.102],[119.368,935.629],[-7.775,866.716],[-171.363,849.642],[-309.996,890.816],[-577.184,745.996],[-618.358,607.362],[-721.959,479.616],[-849.102,410.702],[-935.629,119.368],[-866.715,-7.775],[-849.642,-171.363],[-890.816,-309.996],[-745.996,-577.184],[-607.363,-618.358],[-479.616,-721.959],[-410.702,-849.102],[-119.368,-935.629],[7.775,-866.715],[171.363,-849.642],[309.996,-890.816],[577.184,-745.996],[618.358,-607.363],[721.959,-479.616],[849.102,-410.702],[935.629,-119.368],[866.715,7.775],[849.642,171.362],[890.816,309.996]],"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,"g":{"p":3,"k":{"a":0,"k":[0.47,0.475,0.725,0.816,0.735,0.457,0.59,0.837,1,0.439,0.455,0.859],"ix":9}},"s":{"a":0,"k":[0,0],"ix":5},"e":{"a":0,"k":[264,742],"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":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"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":0,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":360.999968754358,"st":0,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[540,960,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[140,140,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[1362.031,2140.766],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"g":{"p":3,"k":{"a":0,"k":[0,0.799,0.545,0.301,0.406,0.456,0.302,0.318,1,0.113,0.06,0.334],"ix":9}},"s":{"a":0,"k":[1228.306,-624.67],"ix":5},"e":{"a":0,"k":[85.869,7.393],"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":[30.375,6.68],"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":"Rectangle 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":4533.99960756859,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":2,"ty":0,"nm":"OceanSlumber","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[150,182,0],"ix":2},"a":{"a":0,"k":[540,960,0],"ix":1},"s":{"a":0,"k":[31,31,100],"ix":6}},"ao":0,"w":1080,"h":1920,"ip":0,"op":360.999968754358,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/windmill.json b/submodules/RLottie/Sources/rlottie/example/resource/windmill.json deleted file mode 100644 index 69874abc93..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/windmill.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.2.0","fr":30,"ip":0,"op":90,"w":128,"h":128,"nm":"icons/features/windmill","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"▽ ic_windmill","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[19,-121,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ip":0,"op":90,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":3,"nm":"▽ propeler","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":90,"s":[0],"e":[0]},{"t":95}],"ix":10,"x":"var $bm_rt;\n$bm_rt = transform.rotation;"},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":9,"s":[0,0,0],"e":[0,125,0],"to":[0,20.8333339691162,0],"ti":[0,-20.8333339691162,0]},{"t":14}],"ix":2,"x":"var $bm_rt;\nvar amp, freq, decay, n, time_max, n, t, t, v;\namp = 0.05;\nfreq = 2;\ndecay = 2;\nn = 0;\n$bm_rt = time_max = 2;\nif (numKeys > 0) {\n $bm_rt = n = nearestKey(time).index;\n if (key(n).time > time) {\n n--;\n }\n}\nif (n == 0) {\n $bm_rt = t = 0;\n} else {\n $bm_rt = t = sub(time, key(n).time);\n}\nif (n > 0 && t < time_max) {\n v = velocityAtTime(sub(key(n).time, div(thisComp.frameDuration, 10)));\n $bm_rt = sum(value, div(mul(mul(v, amp), Math.sin(mul(mul(mul(freq, t), 2), Math.PI))), Math.exp(mul(decay, t))));\n} else {\n $bm_rt = value;\n}"},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ip":0,"op":90,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Stroke 45","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[48.43,38.07,0],"ix":2},"a":{"a":0,"k":[5.08,5.08,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[10.16,0],[0,10.16]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.039216000587,0.141176000237,0.207843005657,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":2,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":90,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Fill 43","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[48.43,38.07,0],"ix":2},"a":{"a":0,"k":[5.08,5.08,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[10.16,0],[0,10.16]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.995509028435,0.995630025864,0.995441973209,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":90,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Stroke 13","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[38.26,48.24,0],"ix":2},"a":{"a":0,"k":[5.08,5.08,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0,10.16],[10.16,0]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.039216000587,0.141176000237,0.207843005657,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":2,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":90,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Fill 11","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[38.26,48.24,0],"ix":2},"a":{"a":0,"k":[5.08,5.08,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0,10.16],[10.16,0]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.995509028435,0.995630025864,0.995441973209,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":90,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Stroke 9","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[20.075,64.8,0],"ix":2},"a":{"a":0,"k":[19.065,17.44,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-3.07,3.08],[0,0]],"o":[[0,0],[0,0],[3.07,3.08],[0,0],[0,0]],"v":[[26.2,0],[0,26.2],[6.37,32.57],[17.49,32.57],[38.13,11.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.039216000587,0.141176000237,0.207843005657,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":90,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"Stroke 41","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[64.991,19.88,0],"ix":2},"a":{"a":0,"k":[17.441,19.07,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[3.07,-3.08],[0,0]],"o":[[0,0],[0,0],[3.07,3.07],[0,0],[0,0]],"v":[[0,26.21],[26.21,0],[32.58,6.37],[32.58,17.5],[11.93,38.14]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.039216000587,0.141176000237,0.207843005657,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":90,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"Stroke 33","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[48.445,48.245,0],"ix":2},"a":{"a":0,"k":[5.085,5.085,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[10.17,10.17],[0,0]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.039216000587,0.141176000237,0.207843005657,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":2,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":90,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"Stroke 31","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[66.66,64.831,0],"ix":2},"a":{"a":0,"k":[19.09,17.461,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[3.08,3.07],[0,0]],"o":[[0,0],[0,0],[-3.07,3.07],[0,0],[0,0]],"v":[[11.93,0],[38.18,26.25],[31.81,32.62],[20.68,32.62],[0,11.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.039216000587,0.141176000237,0.207843005657,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":90,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"Stroke 23","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[38.28,38.08,0],"ix":2},"a":{"a":0,"k":[5.08,5.08,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0,0],[10.16,10.16]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.039216000587,0.141176000237,0.207843005657,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":2,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":90,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"Stroke 21","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[21.719,19.895,0],"ix":2},"a":{"a":0,"k":[17.439,19.065,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-3.07,-3.07],[0,0]],"o":[[0,0],[0,0],[-3.07,3.07],[0,0],[0,0]],"v":[[34.88,26.2],[8.67,0],[2.3,6.37],[2.3,17.49],[22.95,38.13]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.039216000587,0.141176000237,0.207843005657,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":90,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"Combined Shape","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[43.335,41.448,0],"ix":2},"a":{"a":0,"k":[42.295,40.648,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[11.89,20.62],[20.62,11.89],[8.73,0],[0,8.73]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[17.44,46.55],"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":"Fill 3","np":1,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[11.89,20.62],[20.62,11.89],[8.73,0],[0,8.73]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[8.73,55.3],"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":"Fill 5","np":1,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"mm","mm":2,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[-3.21,3.21]],"o":[[0,0],[0,0],[0,0],[0,0],[3.2,3.21],[0,0]],"v":[[17.7,14.81],[20.62,11.89],[8.73,0],[0,8.73],[6.09,14.81],[17.7,14.81]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,64.02],"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":"Fill 7","np":1,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"mm","mm":2,"nm":"Merge Paths 2","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[0,11.85],[8.73,20.58],[20.58,8.73],[11.85,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[17.52,17.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":"Fill 15","np":1,"cix":2,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"mm","mm":2,"nm":"Merge Paths 3","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[0,11.85],[8.73,20.58],[20.58,8.73],[11.85,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[8.76,8.77],"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":"Fill 17","np":1,"cix":2,"ix":8,"mn":"ADBE Vector Group","hd":false},{"ty":"mm","mm":2,"nm":"Merge Paths 4","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[-3.2,-3.2]],"o":[[0,0],[0,0],[0,0],[0,0],[-3.2,3.21],[0,0]],"v":[[2.4,17.66],[5.33,20.59],[17.19,8.73],[8.46,0],[2.4,6.05],[2.4,17.66]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[3.44,0.04],"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":"Fill 19","np":1,"cix":2,"ix":10,"mn":"ADBE Vector Group","hd":false},{"ty":"mm","mm":2,"nm":"Merge Paths 5","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[8.73,20.59],[0,11.86],[11.85,0],[20.58,8.73]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[46.55,46.62],"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":"Fill 25","np":1,"cix":2,"ix":12,"mn":"ADBE Vector Group","hd":false},{"ty":"mm","mm":2,"nm":"Merge Paths 6","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[8.73,20.59],[0,11.86],[11.85,0],[20.58,8.73]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[55.27,55.38],"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":"Fill 27","np":1,"cix":2,"ix":14,"mn":"ADBE Vector Group","hd":false},{"ty":"mm","mm":2,"nm":"Merge Paths 7","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[3.2,3.21]],"o":[[0,0],[0,0],[0,0],[0,0],[-3.21,3.21],[0,0]],"v":[[2.93,14.78],[0,11.85],[11.85,0],[20.59,8.73],[14.54,14.78],[2.93,14.78]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[64,64.11],"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":"Fill 29","np":1,"cix":2,"ix":16,"mn":"ADBE Vector Group","hd":false},{"ty":"mm","mm":2,"nm":"Merge Paths 8","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[20.62,11.89],[11.89,20.62],[0,8.73],[8.73,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[46.49,17.46],"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":"Fill 35","np":1,"cix":2,"ix":18,"mn":"ADBE Vector Group","hd":false},{"ty":"mm","mm":2,"nm":"Merge Paths 9","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[20.62,11.89],[11.89,20.62],[0,8.73],[8.73,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[55.25,8.73],"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":"Fill 37","np":1,"cix":2,"ix":20,"mn":"ADBE Vector Group","hd":false},{"ty":"mm","mm":2,"nm":"Merge Paths 10","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[3.2,-3.21]],"o":[[0,0],[0,0],[0,0],[0,0],[3.2,3.2],[0,0]],"v":[[14.82,17.7],[11.89,20.62],[0,8.73],[8.73,0],[14.82,6.09],[14.82,17.7]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[63.99,0],"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":"Fill 39","np":1,"cix":2,"ix":22,"mn":"ADBE Vector Group","hd":false},{"ty":"mm","mm":2,"nm":"Merge Paths 11","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.850979983807,0.231372997165,0.125489994884,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 40","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Combined Shape","np":24,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":90,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"door","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":6,"s":[43.33,89.975,0],"e":[43.33,210.475,0],"to":[0,20.0833339691162,0],"ti":[0,-20.0833339691162,0]},{"t":11}],"ix":2,"x":"var $bm_rt;\nvar amp, freq, decay, n, time_max, n, t, t, v;\namp = 0.05;\nfreq = 2;\ndecay = 2;\nn = 0;\n$bm_rt = time_max = 2;\nif (numKeys > 0) {\n $bm_rt = n = nearestKey(time).index;\n if (key(n).time > time) {\n n--;\n }\n}\nif (n == 0) {\n $bm_rt = t = 0;\n} else {\n $bm_rt = t = sub(time, key(n).time);\n}\nif (n > 0 && t < time_max) {\n v = velocityAtTime(sub(key(n).time, div(thisComp.frameDuration, 10)));\n $bm_rt = sum(value, div(mul(mul(v, amp), Math.sin(mul(mul(mul(freq, t), 2), Math.PI))), Math.exp(mul(decay, t))));\n} else {\n $bm_rt = value;\n}"},"a":{"a":0,"k":[9.84,15.655,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-4.34,0],[0,0],[0,-4.34]],"o":[[0,0],[0,0],[0,-4.34],[0,0],[4.35,0],[0,0]],"v":[[19.68,31.31],[0,31.31],[0,7.87],[7.87,0],[11.81,0],[19.68,7.87]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.039216000587,0.141176000237,0.207843005657,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":90,"st":0,"bm":0},{"ddd":0,"ind":15,"ty":3,"nm":"▽ bottom","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[0,105,0],"e":[0,225,0],"to":[0,20,0],"ti":[0,-20,0]},{"t":5}],"ix":2,"x":"var $bm_rt;\nvar amp, freq, decay, n, time_max, n, t, t, v;\namp = 0.05;\nfreq = 2;\ndecay = 2;\nn = 0;\n$bm_rt = time_max = 2;\nif (numKeys > 0) {\n $bm_rt = n = nearestKey(time).index;\n if (key(n).time > time) {\n n--;\n }\n}\nif (n == 0) {\n $bm_rt = t = 0;\n} else {\n $bm_rt = t = sub(time, key(n).time);\n}\nif (n > 0 && t < time_max) {\n v = velocityAtTime(sub(key(n).time, div(thisComp.frameDuration, 10)));\n $bm_rt = sum(value, div(mul(mul(v, amp), Math.sin(mul(mul(mul(freq, t), 2), Math.PI))), Math.exp(mul(decay, t))));\n} else {\n $bm_rt = value;\n}"},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ip":0,"op":90,"st":0,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":"Fill 51","parent":15,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[43.335,13.395,0],"ix":2},"a":{"a":0,"k":[1.955,1.955,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[1.07,0],[0,1.08],[-1.09,0],[0,-1.09]],"o":[[0,1.08],[-1.09,0],[0,-1.09],[1.07,0],[0,0]],"v":[[3.91,1.96],[1.96,3.91],[0,1.96],[1.96,0],[3.91,1.96]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.039216000587,0.141176000237,0.207843005657,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":90,"st":0,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":"Stroke 47","parent":15,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[43.33,7.395,0],"ix":2},"a":{"a":0,"k":[43.33,6.025,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-2.58,0],[0,0],[0,-2.17],[0,0],[0,0]],"o":[[0,0],[0,0],[0,-2.17],[0,0],[2.58,0],[0,0],[0,0],[0,0]],"v":[[33.97,12.05],[0,12.05],[0,3.93],[4.67,0],[81.99,0],[86.66,3.93],[86.66,12.05],[52.66,12.05]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.039216000587,0.141176000237,0.207843005657,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":2,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":90,"st":0,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":"top","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":3,"s":[42.55,59.74,0],"e":[42.55,179.5,0],"to":[0,19.9599990844727,0],"ti":[0,-20.2099990844727,0]},{"t":8}],"ix":2,"x":"var $bm_rt;\nvar amp, freq, decay, n, time_max, n, t, t, v;\namp = 0.05;\nfreq = 2;\ndecay = 2;\nn = 0;\n$bm_rt = time_max = 2;\nif (numKeys > 0) {\n $bm_rt = n = nearestKey(time).index;\n if (key(n).time > time) {\n n--;\n }\n}\nif (n == 0) {\n $bm_rt = t = 0;\n} else {\n $bm_rt = t = sub(time, key(n).time);\n}\nif (n > 0 && t < time_max) {\n v = velocityAtTime(sub(key(n).time, div(thisComp.frameDuration, 10)));\n $bm_rt = sum(value, div(mul(mul(v, amp), Math.sin(mul(mul(mul(freq, t), 2), Math.PI))), Math.exp(mul(decay, t))));\n} else {\n $bm_rt = value;\n}"},"a":{"a":0,"k":[21.22,45.9,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-10.86,0],[0,0],[0,-10.86]],"o":[[0,0],[0,0],[0,-10.86],[0,0],[10.87,0],[0,0]],"v":[[42.44,91.8],[0,91.8],[0,19.67],[19.67,0],[22.76,0],[42.44,19.67]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.039216000587,0.141176000237,0.207843005657,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":90,"st":0,"bm":0}],"markers":[{"tm":90,"cm":"1","dr":0}]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/world_locations.json b/submodules/RLottie/Sources/rlottie/example/resource/world_locations.json deleted file mode 100644 index 519200ec4f..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/world_locations.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.0.1","fr":60,"ip":0,"op":301,"w":800,"h":600,"nm":"World","ddd":0,"assets":[{"id":"comp_5","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"here 4","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":15,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":45,"s":[100],"e":[0]},{"t":75}],"ix":11,"x":"var $bm_rt;\n$bm_rt = loopOut('cycle');"},"r":{"a":0,"k":-22.856,"ix":10},"p":{"a":0,"k":[75,75,0],"ix":2},"a":{"a":0,"k":[-252.5,-48.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.14,0.14],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p14_1_0p167_0p167","0p14_1_0p167_0p167"],"t":15,"s":[2,2],"e":[40,40]},{"t":75}],"ix":2,"x":"var $bm_rt;\n$bm_rt = loopOut('cycle');"},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.972549019608,0.576470588235,0.188235294118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.14],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p14_1_0p167_0p167"],"t":15,"s":[10],"e":[0]},{"t":75}],"ix":5,"x":"var $bm_rt;\n$bm_rt = loopOut('cycle');"},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[-252.5,-48.5],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":15,"op":715,"st":15,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"here","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":30,"s":[100],"e":[0]},{"t":60}],"ix":11,"x":"var $bm_rt;\n$bm_rt = loopOut('cycle');"},"r":{"a":0,"k":-22.856,"ix":10},"p":{"a":0,"k":[75,75,0],"ix":2},"a":{"a":0,"k":[-252.5,-48.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.14,0.14],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p14_1_0p167_0p167","0p14_1_0p167_0p167"],"t":0,"s":[2,2],"e":[60,60]},{"t":60}],"ix":2,"x":"var $bm_rt;\n$bm_rt = loopOut('cycle');"},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.972549019608,0.576470588235,0.188235294118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.14],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p14_1_0p167_0p167"],"t":0,"s":[10],"e":[0]},{"t":60}],"ix":5,"x":"var $bm_rt;\n$bm_rt = loopOut('cycle');"},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[-252.5,-48.5],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":730,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":2,"ty":3,"nm":"NULL CONTROL","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":-9,"ix":10},"p":{"a":0,"k":[396,281,0],"ix":2},"a":{"a":0,"k":[60,60,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ip":72,"op":301,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"rings 4","parent":2,"sr":1,"ks":{"o":{"a":0,"k":35,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[58.436,59.877,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[334,66.48],"ix":2},"p":{"a":0,"k":[0,55],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.686274509804,0.933333333333,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0.5,-9.5],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":210,"s":[21.5],"e":[26]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":225.6,"s":[26],"e":[79]},{"t":262}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":210,"s":[21.5],"e":[79]},{"t":236}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":210,"op":301,"st":210,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"rings 3","parent":2,"sr":1,"ks":{"o":{"a":0,"k":35,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[60,70,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[417,83],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.686274509804,0.933333333333,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0.5,-9.5],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":202,"s":[15],"e":[26]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":217.6,"s":[26],"e":[84]},{"t":254}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":202,"s":[15],"e":[84]},{"t":228}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":202,"op":301,"st":202,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"rings 2","parent":2,"sr":1,"ks":{"o":{"a":0,"k":35,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[58.436,59.877,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[334,66.48],"ix":2},"p":{"a":0,"k":[0,55],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.686274509804,0.933333333333,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0.5,-9.5],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":60,"s":[21.5],"e":[26]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":75.6,"s":[26],"e":[79]},{"t":112}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":60,"s":[21.5],"e":[79]},{"t":86}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":60,"op":301,"st":60,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"rings","parent":2,"sr":1,"ks":{"o":{"a":0,"k":35,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[60,70,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[417,83],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.686274509804,0.933333333333,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0.5,-9.5],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":52,"s":[15],"e":[26]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":67.6,"s":[26],"e":[84]},{"t":104}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":52,"s":[15],"e":[84]},{"t":78}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":52,"op":301,"st":52,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"maspMask 5","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,300,0],"ix":2},"a":{"a":0,"k":[-18.5,-5.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-81.462,0],[0,-81.462],[81.462,0],[0,81.462]],"o":[[81.462,0],[0,81.462],[-81.462,0],[0,-81.462]],"v":[[-18.5,-153],[129,-5.5],[-18.5,142],[-166,-5.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"fl","c":{"a":0,"k":[0.662744978362,0.67843095368,0.650979973288,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":301,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":0,"nm":"Here rings","parent":16,"tt":1,"refId":"comp_5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[70.408,63.975,0],"ix":2},"a":{"a":0,"k":[75,75,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":150,"h":150,"ip":0,"op":301,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"maspMask 4","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,300,0],"ix":2},"a":{"a":0,"k":[-18.5,-5.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-81.462,0],[0,-81.462],[81.462,0],[0,81.462]],"o":[[81.462,0],[0,81.462],[-81.462,0],[0,-81.462]],"v":[[-18.5,-153],[129,-5.5],[-18.5,142],[-166,-5.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"fl","c":{"a":0,"k":[0.662744978362,0.67843095368,0.650979973288,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":301,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":0,"nm":"Here rings","parent":16,"tt":1,"refId":"comp_5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-80.007,318.38,0],"ix":2},"a":{"a":0,"k":[75,75,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":150,"h":150,"ip":0,"op":301,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"maspMask 3","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,300,0],"ix":2},"a":{"a":0,"k":[-18.5,-5.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-81.462,0],[0,-81.462],[81.462,0],[0,81.462]],"o":[[81.462,0],[0,81.462],[-81.462,0],[0,-81.462]],"v":[[-18.5,-153],[129,-5.5],[-18.5,142],[-166,-5.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"fl","c":{"a":0,"k":[0.662744978362,0.67843095368,0.650979973288,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":301,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":0,"nm":"Here rings","parent":16,"tt":1,"refId":"comp_5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-170.998,95.543,0],"ix":2},"a":{"a":0,"k":[75,75,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":150,"h":150,"ip":0,"op":301,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"maspMask 2","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,300,0],"ix":2},"a":{"a":0,"k":[-18.5,-5.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-81.462,0],[0,-81.462],[81.462,0],[0,81.462]],"o":[[81.462,0],[0,81.462],[-81.462,0],[0,-81.462]],"v":[[-18.5,-153],[129,-5.5],[-18.5,142],[-166,-5.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"fl","c":{"a":0,"k":[0.662744978362,0.67843095368,0.650979973288,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":301,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":0,"nm":"Here rings","parent":16,"tt":1,"refId":"comp_5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-191.425,-28.874,0],"ix":2},"a":{"a":0,"k":[75,75,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":150,"h":150,"ip":0,"op":301,"st":0,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":"maspMask","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,300,0],"ix":2},"a":{"a":0,"k":[-18.5,-5.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-81.462,0],[0,-81.462],[81.462,0],[0,81.462]],"o":[[81.462,0],[0,81.462],[-81.462,0],[0,-81.462]],"v":[[-18.5,-153],[129,-5.5],[-18.5,142],[-166,-5.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"fl","c":{"a":0,"k":[0.662744978362,0.67843095368,0.650979973288,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":301,"st":0,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":"map","tt":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.95],"y":[0]},"n":["0p833_0p833_0p95_0"],"t":16,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":86,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.95],"y":[0]},"n":["0p833_0p833_0p95_0"],"t":180,"s":[100],"e":[0]},{"t":239}],"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.14],"y":[1]},"o":{"x":[0.58],"y":[0]},"n":["0p14_1_0p58_0"],"t":16,"s":[-22.856],"e":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":146,"s":[0],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.72],"y":[0]},"n":["0p833_0p833_0p72_0"],"t":180,"s":[0],"e":[51]},{"t":246}],"ix":10},"p":{"a":0,"k":[240.55,-287.518,0],"ix":2},"a":{"a":0,"k":[-409.527,-960.177,0],"ix":1},"s":{"a":0,"k":[53.851,53.851,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.207,0.165],[0.867,1.221],[-0.146,-1.605],[-0.425,-1.251],[1.443,0.861]],"o":[[0.99,-1.532],[0.914,1.268],[0.125,1.365],[-0.831,-1.273],[0.19,-0.107]],"v":[[53.422,-169.413],[53.886,-174.034],[55.387,-169.683],[56.25,-165.777],[52.829,-169.024]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-0.221,0.036],[0.202,-0.081]],"o":[[-0.202,0.081],[0.179,-0.142]],"v":[[79.925,-218.282],[79.321,-218.037]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[-0.097,0.141],[0.026,-0.316],[0.23,-0.223],[-0.222,0.297]],"o":[[-0.005,0.307],[-0.328,0.057],[0.146,-0.325],[0.107,-0.144]],"v":[[70.501,91.15],[70.466,92.085],[69.632,92.509],[70.199,91.575]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ind":3,"ty":"sh","ix":4,"ks":{"a":0,"k":{"i":[[-0.302,-0.569],[-2.966,1.735],[-0.508,0.195],[-0.288,0.188],[-0.146,-0.057],[0.432,-0.165],[-0.447,-1.656],[2.425,0.115],[0.108,0.207],[0.313,1.452]],"o":[[1.559,2.949],[0.534,-0.286],[0.261,-0.182],[0.144,0.056],[-0.41,0.1],[-2.584,1.813],[-1.28,-1.834],[-0.111,-0.206],[0.406,-1.54],[0.28,0.576]],"v":[[58.462,-160.873],[65.125,-158.758],[66.684,-159.461],[67.511,-160.019],[67.945,-159.848],[66.684,-159.461],[63.503,-154.417],[57.797,-157.441],[57.467,-158.059],[57.588,-162.59]],"c":true},"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","hd":false},{"ind":4,"ty":"sh","ix":5,"ks":{"a":0,"k":{"i":[[2.019,-0.203],[1.848,1.224],[0.979,0.677],[0.668,0.287],[0.085,0.232],[0.382,0.604],[3.152,1.27],[0.544,4.318],[2.55,2.615],[0,0],[-1.086,3.211],[3.016,0.917],[1.605,3.901],[0,0.003],[-1.369,0.237],[-0.134,-0.385],[-2.91,-12.044],[-0.776,-0.561],[-4.493,-5.058],[-1.334,-0.655],[-1.389,-3.659],[-0.091,-0.245]],"o":[[-1.847,-1.226],[-0.005,-1.235],[-0.657,-0.321],[-0.084,-0.232],[0.504,-0.437],[-1.885,-2.146],[-2.966,-2.857],[-0.431,-3.362],[0,0],[-2.126,-1.468],[1.301,-3.024],[-3.297,-2.917],[0,0],[0.67,-1.565],[0.184,0.361],[6.125,10.035],[0.229,0.933],[5.65,4.112],[0.963,1.083],[-2.97,3.861],[0.093,0.263],[-2.088,0.607]],"v":[[-9.095,165.196],[-14.642,161.523],[-16.196,158.702],[-18.175,157.758],[-18.433,157.066],[-18.231,155.506],[-22.932,148.401],[-28.253,137.917],[-32.158,128.44],[-32.158,128.44],[-35.338,122.303],[-38.049,116.461],[-44.127,105.489],[-44.127,105.486],[-41.037,102.837],[-40.546,103.952],[-22.555,134.295],[-21.068,136.785],[-8.533,152.74],[-5.465,155.753],[-3.832,166.843],[-3.559,167.585]],"c":true},"ix":2},"nm":"Path 5","mn":"ADBE Vector Shape - Group","hd":false},{"ind":5,"ty":"sh","ix":6,"ks":{"a":0,"k":{"i":[[-1.611,0.833],[-2.113,1.572],[-0.011,0.004],[1.444,9.227],[-1.949,0.979],[-1.452,5.235],[-1.205,-0.651],[-4.261,3.828],[-1.263,0.803],[-0.064,-0.102],[-2.206,-0.692],[0.03,-0.378],[-5.151,-1.208],[-0.767,-0.452],[-0.467,0.059],[0.03,-0.127],[-1.628,0.466],[0.059,-0.628],[6.221,-0.498],[0.058,-3.047],[-2.229,-0.301],[-0.498,0.26],[-1.904,3.28],[-0.126,-0.064],[-1.598,0.955],[-0.054,0.758],[0,0],[-0.512,3.445],[0,0],[-0.487,1.3],[0.803,0.474],[1.709,0.909],[1.051,5.31],[-0.615,4.649],[-0.034,0.039],[-3.736,-3.599],[-2.427,1.091],[-0.07,-0.076],[-1.559,-0.503],[-0.899,-1.636],[-1.047,0.186],[-0.034,-0.256],[-1.297,-0.448],[-0.139,-0.02],[-0.027,-0.276],[0,0],[-0.999,-2.421],[0,0],[1.108,-0.057],[-0.083,-1.499],[-0.989,0.016],[-2.42,0.89],[-4.521,6.094],[-0.582,0.696],[-0.485,0.149],[-0.209,0.003],[1.303,1.458],[1.388,-0.047],[0.247,0.085],[0.344,1.099],[-0.115,0.437],[0,0.003],[-0.003,-0.003],[-4.402,-0.406],[-3.696,-5.259],[-0.385,-0.139],[-2.098,0.334],[-0.023,-0.097],[-8.01,-2.744],[-1.77,1.139],[-0.63,0.44],[-2.018,-2.544],[-0.091,-1.878],[-0.222,-0.482],[0.301,-0.402],[0.104,-0.517],[-0.023,-0.642],[0.47,-0.164],[-0.034,-0.892],[-0.07,-0.18],[0.831,-2.62],[-0.003,-0.054],[0.615,-0.059],[3.769,-1.769],[5.721,0.761],[2.154,-0.758],[0.06,-0.102],[3.676,1.63],[2.718,-0.603],[2.103,-3.244],[1.166,0.107],[-0.016,0.057],[1.988,1.048],[1.886,1.985],[4.131,0.57],[1.834,1.419],[1.213,-0.773],[0.02,-0.177],[0.928,0.318],[0.218,0.508],[-0.088,0.127],[-1.262,0.764],[0.092,1.911],[0.298,2.018],[2.657,0.046],[1.323,-1.104],[5.808,0.145],[4.091,-2.217],[7.579,1.333],[0,0]],"o":[[2.34,-0.055],[0.008,-0.006],[6.339,-3.243],[-0.341,-2.19],[4.754,-2.396],[0.447,-1.605],[6.806,3.662],[1.155,-1.247],[0.038,0.107],[1.46,1.238],[0.768,0.07],[1.181,5.686],[0.766,0.451],[0.466,-0.065],[-0.034,0.112],[0.248,1.67],[-0.321,0.486],[1.331,3.842],[-2.368,0.19],[0.314,2.527],[0.493,-0.291],[2.456,0.85],[0.123,0.054],[1.885,-0.534],[0.057,-0.76],[0,0],[2.081,-3.217],[0,0],[1.063,-0.279],[0.408,-1.091],[-1.668,-0.984],[-2.968,-3.323],[-2.772,-2.806],[0.032,-0.039],[3.051,4.341],[2.424,0.062],[0.066,0.078],[1.276,1.041],[-0.368,1.915],[0.798,0.638],[0.046,0.251],[0.357,1.338],[0.139,0.031],[0.026,0.271],[0,0],[-0.497,3.113],[0,0],[-1.104,0.053],[0.084,1.498],[0.988,-0.014],[0.416,1.976],[4.432,5.832],[0.542,-0.729],[0.485,-0.148],[0.203,0.027],[1.449,-1.446],[-1.389,0.047],[-0.23,-0.122],[-0.345,-1.097],[0.115,-0.44],[0,-0.003],[0,0.003],[3.945,-0.73],[-2.902,4.527],[0.383,0.134],[-0.168,1.234],[0.026,0.097],[6.16,9.39],[1.782,0.611],[0.65,-0.42],[2.869,-2.015],[-2.336,1.185],[0.378,0.528],[-0.305,0.402],[-0.349,0.39],[0.02,0.645],[-0.364,0.196],[-0.571,0.665],[0.081,0.175],[-2.24,1.809],[0.003,0.053],[-0.613,0.055],[-4.027,0.405],[-6.048,2.836],[-2.042,-0.274],[-0.073,0.102],[-3.675,-1.638],[-2.72,-2.133],[-3.403,2.794],[-0.918,0.868],[0.02,-0.053],[-0.621,-2.811],[-2.199,-1.156],[-2.232,-4.026],[-2.065,-0.284],[-1.066,-0.812],[-0.037,0.195],[-0.929,-0.321],[-0.219,-0.509],[0.085,-0.126],[-0.144,-1.586],[1.259,-1.353],[-0.249,-2.031],[-1.116,-2.459],[-1.873,0.022],[-5.796,-0.195],[-4.63,-0.114],[-6.651,3.599],[0,0],[-3.783,-2.584]],"v":[[-201.566,62.709],[-194.681,61.622],[-194.655,61.608],[-183.507,45.949],[-180.181,40.758],[-170.687,29.554],[-167.799,27.419],[-152.89,22.353],[-148.702,21.522],[-148.572,21.84],[-145.009,26.319],[-144.486,27.273],[-134.181,36.711],[-131.879,38.065],[-130.483,37.875],[-130.585,38.214],[-128.112,40.538],[-128.689,42.202],[-132.312,50.08],[-136.83,55.238],[-132.614,59.013],[-131.128,58.178],[-124.193,57.479],[-123.824,57.651],[-119.271,54.426],[-119.103,52.147],[-119.337,51.87],[-117.907,41.525],[-117.911,41.525],[-114.869,40.42],[-116.404,38.211],[-121.52,35.461],[-130.877,25.963],[-136.711,16.196],[-136.612,16.074],[-125.442,26.945],[-118.188,27.941],[-117.982,28.172],[-113.845,30.7],[-111.917,35.777],[-109.302,36.953],[-109.169,37.714],[-106.71,40.417],[-106.296,40.482],[-106.216,41.3],[-106.216,41.3],[-103.035,48.467],[-103.035,48.467],[-106.357,48.631],[-106.11,53.128],[-103.145,53.081],[-99.585,55.694],[-90.636,55.43],[-88.891,53.342],[-87.434,52.895],[-86.822,52.931],[-86.808,48.574],[-90.976,48.715],[-91.689,48.411],[-92.718,45.108],[-92.371,43.79],[-92.371,43.785],[-92.368,43.79],[-81.592,38.933],[-80.377,54.881],[-79.229,55.302],[-76.788,56.965],[-76.71,57.257],[-52.36,64.331],[-46.798,63.699],[-46.333,63.351],[-39.024,64.139],[-39.642,69.508],[-38.749,71.019],[-39.653,72.228],[-40.336,73.588],[-40.267,75.519],[-41.517,76.057],[-42.337,78.395],[-42.119,78.927],[-45.435,86.313],[-45.422,86.477],[-47.266,86.651],[-58.981,85.35],[-76.231,84.787],[-82.382,84.095],[-82.566,84.399],[-93.591,79.497],[-101.744,79.508],[-105.271,90.199],[-108.457,91.09],[-108.39,90.932],[-113.533,86.784],[-120.418,84.2],[-130.54,78.38],[-136.647,77.044],[-140.045,76.711],[-140.12,77.255],[-142.905,76.291],[-143.561,74.77],[-143.301,74.392],[-141.42,70.987],[-139.529,66.158],[-139.967,60.053],[-145.607,56.263],[-150.687,57.382],[-168.093,58.274],[-181.952,61.6],[-202.708,66.412],[-202.708,66.412]],"c":true},"ix":2},"nm":"Path 6","mn":"ADBE Vector Shape - Group","hd":false},{"ind":6,"ty":"sh","ix":7,"ks":{"a":0,"k":{"i":[[-1.116,3.287],[-0.344,0.171],[-1.207,1.991],[0.318,2.654],[-0.707,2.084],[-0.673,0.718],[5.35,5.919],[0.21,1.62],[-2.657,4.037],[-1.909,2.382],[-0.008,0.005],[0,0],[-0.238,-0.085],[-0.011,0.762],[-3.676,3.086],[-0.295,-1.163],[-0.144,-0.482],[1.821,-1.878],[-2.039,-8.125],[-3.893,1.121],[-4.719,3.957],[0.33,-1.953],[5.02,-5.165],[0.073,-0.259],[-3.032,-5.406],[-2.358,-4.092],[-0.176,-0.314],[-0.062,-0.051],[2.156,0.831],[6.284,-4.668],[2.378,-0.054],[-0.382,0.781]],"o":[[0.302,-0.138],[2.953,-0.811],[1.253,-1.586],[-0.255,-2.098],[0.361,-0.94],[5.4,-5.754],[-1.156,-1.281],[-0.64,-4.967],[1.909,-2.383],[0.011,-0.006],[0,0],[0.177,0.107],[0.781,-0.149],[0.069,-5.266],[0.276,1.173],[0.039,0.486],[0.628,3.093],[-5.884,6.076],[1.032,4.123],[5.479,-1.58],[0.846,1.802],[-5.823,-1.471],[-0.099,0.259],[-3.071,2.233],[-4.573,5.976],[0.069,0.309],[0.066,0.051],[-1.594,1.491],[-8.455,-3.258],[-1.886,-1.498],[0.38,-0.781],[0.879,-3.651]],"v":[[-133.233,-45.102],[-132.261,-45.565],[-126.05,-49.778],[-124.521,-55.992],[-123.943,-62.386],[-122.303,-64.802],[-122.196,-77.796],[-123.883,-82.015],[-120.423,-95.355],[-114.695,-102.503],[-114.664,-102.52],[-114.664,-102.52],[-114.048,-102.227],[-112.273,-103.47],[-105.785,-115.441],[-104.018,-112.477],[-103.792,-111.005],[-106.7,-103.64],[-111.81,-82.533],[-100.901,-72.481],[-84.436,-77.663],[-83.989,-71.987],[-100.637,-69.66],[-100.888,-68.883],[-105.265,-59.672],[-108.594,-44.484],[-108.231,-43.553],[-108.041,-43.4],[-113.651,-42.339],[-134.728,-36.408],[-141.209,-38.32],[-140.065,-40.663]],"c":true},"ix":2},"nm":"Path 7","mn":"ADBE Vector Shape - Group","hd":false},{"ind":7,"ty":"sh","ix":8,"ks":{"a":0,"k":{"i":[[0.003,0],[0,0],[-0.003,-0.003]],"o":[[0,-0.003],[0.003,0.003],[-0.003,0]],"v":[[310.8,75.721],[310.8,75.715],[310.806,75.721]],"c":true},"ix":2},"nm":"Path 8","mn":"ADBE Vector Shape - Group","hd":false},{"ind":8,"ty":"sh","ix":9,"ks":{"a":0,"k":{"i":[[0.01,0.008],[0,0],[-0.005,-0.005],[0.003,-0.003]],"o":[[0,0],[0.009,0.008],[0,0.003],[-0.008,-0.011]],"v":[[-185.481,178.021],[-185.478,178.021],[-185.455,178.05],[-185.458,178.055]],"c":true},"ix":2},"nm":"Path 9","mn":"ADBE Vector Shape - Group","hd":false},{"ind":9,"ty":"sh","ix":10,"ks":{"a":0,"k":{"i":[[-0.011,0.005],[0,-0.026],[0,0],[0,0],[0.011,0.018]],"o":[[0.003,0.023],[0,0],[0,0],[-0.012,-0.018],[0.008,-0.003]],"v":[[-99.502,344.448],[-99.498,344.516],[-99.498,344.516],[-99.498,344.516],[-99.533,344.462]],"c":true},"ix":2},"nm":"Path 10","mn":"ADBE Vector Shape - Group","hd":false},{"ind":10,"ty":"sh","ix":11,"ks":{"a":0,"k":{"i":[[-0.108,-0.217],[0.471,0.573],[0.233,0.213],[0.886,0.39],[1.429,-0.141],[-1.49,-0.653],[-0.849,-0.764],[-0.754,-0.144]],"o":[[-0.658,0.102],[-0.222,-0.274],[-0.911,-0.44],[-1.575,-0.307],[1.639,-1.078],[0.925,0.18],[0.707,0.344],[0.066,0.234]],"v":[[-49.604,-113.833],[-51.367,-114.558],[-52.056,-115.276],[-54.738,-116.618],[-59.361,-116.48],[-54.738,-116.618],[-52.056,-115.276],[-49.866,-114.513]],"c":true},"ix":2},"nm":"Path 11","mn":"ADBE Vector Shape - Group","hd":false},{"ind":11,"ty":"sh","ix":12,"ks":{"a":0,"k":{"i":[[0.139,-0.083],[-0.154,0.068]],"o":[[0.149,-0.083],[-0.154,0.074]],"v":[[-36.011,3.559],[-35.554,3.341]],"c":true},"ix":2},"nm":"Path 12","mn":"ADBE Vector Shape - Group","hd":false},{"ind":12,"ty":"sh","ix":13,"ks":{"a":0,"k":{"i":[[-0.061,0.01],[-0.003,-0.001],[0.066,-0.008]],"o":[[0.001,0],[-0.062,0.007],[0.06,-0.01]],"v":[[-32.657,-59.234],[-32.646,-59.228],[-32.83,-59.219]],"c":true},"ix":2},"nm":"Path 13","mn":"ADBE Vector Shape - Group","hd":false},{"ind":13,"ty":"sh","ix":14,"ks":{"a":0,"k":{"i":[[0.007,-0.003],[0.003,0.003],[0,0],[0,-0.005]],"o":[[-0.005,0],[0,0],[0.006,0.005],[-0.008,0.005]],"v":[[-27.527,88.936],[-27.538,88.93],[-27.511,88.902],[-27.503,88.918]],"c":true},"ix":2},"nm":"Path 14","mn":"ADBE Vector Shape - Group","hd":false},{"ind":14,"ty":"sh","ix":15,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-0.026,0],[0.032,-0.027],[-0.009,0.019]],"o":[[0,0],[0.011,0.016],[0.028,-0.003],[-0.032,0.019],[0.008,-0.019],[0,0]],"v":[[-28.811,89.04],[-28.811,89.037],[-28.785,89.077],[-28.707,89.071],[-28.813,89.129],[-28.785,89.077]],"c":true},"ix":2},"nm":"Path 15","mn":"ADBE Vector Shape - Group","hd":false},{"ind":15,"ty":"sh","ix":16,"ks":{"a":0,"k":{"i":[[-0.018,-0.001],[0,0],[0.008,-0.022],[0.008,0.026]],"o":[[0,0],[-0.01,0.023],[-0.008,-0.024],[0.013,0.003]],"v":[[-71.66,-97.691],[-71.66,-97.691],[-71.683,-97.626],[-71.704,-97.702]],"c":true},"ix":2},"nm":"Path 16","mn":"ADBE Vector Shape - Group","hd":false},{"ind":16,"ty":"sh","ix":17,"ks":{"a":0,"k":{"i":[[0.177,-0.039],[0.104,0.042],[-0.173,0.068],[0.008,0.013],[-0.158,-0.039],[-0.049,-0.084],[0.028,-0.003],[0.072,-0.023]],"o":[[-0.106,-0.045],[0.173,-0.042],[-0.005,-0.012],[-0.168,-0.31],[0.049,0.088],[-0.023,0.005],[-0.068,0.031],[0.043,0.123]],"v":[[-95.533,34.766],[-95.851,34.646],[-95.331,34.508],[-95.339,34.477],[-95.207,34.154],[-95.06,34.414],[-95.12,34.435],[-95.331,34.508]],"c":true},"ix":2},"nm":"Path 17","mn":"ADBE Vector Shape - Group","hd":false},{"ind":17,"ty":"sh","ix":18,"ks":{"a":0,"k":{"i":[[2.527,-1.28],[0.267,1.108],[-1.144,0.263],[-0.364,0.852],[-2.1,1.244],[0.589,-2.386]],"o":[[-0.267,-1.108],[1.143,-0.232],[0.871,-0.437],[2.811,1.19],[-2.084,1.297],[-2.77,-0.317]],"v":[[-47.475,12.071],[-48.274,8.747],[-44.841,7.984],[-42.88,6.145],[-36.207,3.677],[-39.671,9.604]],"c":true},"ix":2},"nm":"Path 18","mn":"ADBE Vector Shape - Group","hd":false},{"ind":18,"ty":"sh","ix":19,"ks":{"a":0,"k":{"i":[[2.326,-0.569],[2.464,5.289],[0.217,1.67],[2.272,3.953],[0.753,-0.057],[1.62,3.556],[-3.727,2.745],[-0.019,0.055],[-3.113,-1.19],[-7.056,-8.008],[-0.68,-1.657],[-1.373,-0.446],[-2.937,-5.949]],"o":[[-5.159,1.258],[0.677,-1.331],[1.93,-5.086],[-0.696,-0.516],[-0.023,-4.294],[-1.992,-4.385],[0.018,-0.055],[2.945,0.789],[-5.583,9.238],[1.164,1.323],[0.601,1.473],[1.77,6.553],[0.116,2.49]],"v":[[29.439,56.595],[15.329,48.478],[16.1,44.011],[12.809,31.195],[10.654,30.33],[5.95,19.415],[7.881,9.355],[7.94,9.19],[16.648,7.13],[18.286,26.251],[21.18,30.589],[24.056,33.625],[32.894,51.476]],"c":true},"ix":2},"nm":"Path 19","mn":"ADBE Vector Shape - Group","hd":false},{"ind":19,"ty":"sh","ix":20,"ks":{"a":0,"k":{"i":[[5.909,-2.578],[3.184,-1.656],[1.664,2.897],[-0.902,1.963],[-0.374,0.81],[1.932,1.4],[-0.264,0.271],[-0.182,0.508],[-0.199,0.865],[-0.735,1.217],[-3.293,-2.581],[-0.175,-0.065],[0.022,-0.177],[-0.563,-0.414],[0,0],[0,0],[0.13,-0.341],[-4.339,3.307],[-0.043,-0.065],[-0.673,0.646],[-2.567,-1.178],[-1.068,-0.649],[-4.329,-5.037],[0.253,-0.693],[1.165,-0.428],[4.804,2.149]],"o":[[-3.267,1.461],[-2.478,0.014],[-0.906,-1.966],[0.378,-0.81],[0.815,-1.729],[0.265,-0.276],[0.376,-0.456],[0.515,-0.565],[1.999,0.942],[2.131,-3.532],[0.183,0.054],[-0.024,0.175],[0.566,0.412],[0,0],[0,0],[-0.064,0.362],[3.166,6.834],[0.039,0.065],[0.826,0.393],[2.638,-1.45],[0.697,0.802],[5.652,3.444],[-0.038,0.57],[-1.22,0.085],[-5.069,0.609],[-5.562,-2.485]],"v":[[-56.802,30.617],[-66.388,35.498],[-72.809,31.836],[-72.809,25.944],[-71.683,23.515],[-71.995,18.663],[-71.198,17.84],[-70.361,16.393],[-69.309,14.232],[-66.234,11.502],[-58.273,9.815],[-57.734,9.993],[-57.803,10.521],[-56.109,11.761],[-56.107,11.761],[-56.107,11.761],[-56.396,12.813],[-48.462,16.592],[-48.356,16.782],[-46.108,16.444],[-38.561,16.483],[-35.892,18.647],[-20.681,31.097],[-21.129,32.987],[-24.742,33.5],[-39.374,31.275]],"c":true},"ix":2},"nm":"Path 20","mn":"ADBE Vector Shape - Group","hd":false},{"ind":20,"ty":"sh","ix":21,"ks":{"a":0,"k":{"i":[[0.099,-0.104],[-0.362,0.765],[-0.715,2.416],[-0.046,0.421],[0.588,1.469],[-0.808,-0.642],[-0.022,-0.167],[-0.02,-0.056],[0.441,-1.194],[0.066,-0.215],[1.086,-2.298],[0.608,-0.708]],"o":[[0.574,-0.674],[0.945,-2.377],[0.042,-0.429],[0.221,-2.034],[0.466,0.589],[0.02,0.169],[0.019,0.057],[-0.771,0.922],[-0.076,0.21],[-0.241,2.527],[-0.316,0.793],[-0.088,0.088]],"v":[[61.858,-136.661],[63.232,-138.833],[64.818,-146.287],[64.948,-147.562],[64.345,-152.843],[66.262,-151.002],[66.323,-150.499],[66.373,-150.333],[65.031,-146.926],[64.818,-146.287],[63.232,-138.833],[61.882,-136.571]],"c":true},"ix":2},"nm":"Path 21","mn":"ADBE Vector Shape - Group","hd":false},{"ind":21,"ty":"sh","ix":22,"ks":{"a":0,"k":{"i":[[-0.807,-3.649],[-1.399,-4.245],[-0.712,-1.1],[0.574,-4.915],[-1.324,-0.956],[-0.976,-0.487],[-1.391,-1.193],[-0.225,-0.16],[-1.304,-1.701],[0,0],[0.001,-0.076],[-0.242,-1.433],[-0.488,-0.288],[-0.344,-0.125],[-5.449,-1.576],[0.567,1.506],[-0.028,0.956],[0,0],[1.128,-0.037],[1.167,2.823],[1.564,1.207],[0,0],[2.28,1.802],[-0.023,0.184],[1.901,2.264],[-1.429,3.142],[0.034,0.295],[-0.226,0.122],[-0.261,0.559],[-0.265,1.487],[-0.138,0.074],[-0.321,-0.539],[-0.542,-0.24],[-1.567,-0.244],[-3.629,-3.523],[-0.072,-1.182],[-0.573,0.325],[-0.108,0.118],[-1.744,0.383],[-0.022,1.913],[0.944,10.711],[0.494,0.431],[-0.004,0.394],[0,0],[3.534,2.829],[0.348,3.396],[-1.645,2.172],[0.111,1.036],[-0.474,0.199],[-2.643,-3.472],[-1.381,1.467],[-1.609,0.758],[-0.494,0.226],[-1.618,1.036],[-1.691,0.232],[-4.585,5.144],[-2.095,3.047],[-1.703,3.467],[2.53,4.066],[0.073,1.768],[0.241,1.242],[-0.012,0.817],[0.119,-0.008],[0.012,0.325],[1.752,3.587],[2.276,-0.336],[0,0],[-1.448,1.813],[-3.936,0.745],[0.037,1.759],[1.407,0.049],[4.088,-3.545],[1.492,1.274],[-0.956,0.748],[-4.453,1.698],[-1.905,-1.334],[-1.262,0.226],[-2.595,2.039],[-0.089,-0.12],[-0.187,-2.248],[-4.186,1.261],[-0.481,0.454],[2.348,-3.207],[0.291,-2.826],[-2.102,-0.682],[-0.925,2.14],[0.034,0.301],[-0.157,0.107],[0.655,4.438],[0,0],[0,0],[-0.295,0.011],[0.206,0.516],[0.436,1.109],[0.381,0.562],[-0.079,0.077],[0.494,0.466],[0,0],[2.941,0.883],[0,0],[0.55,0.742],[0.449,0.945],[0.45,0.341],[0.123,0.107],[-0.752,2.795],[0.115,0.102],[-0.004,1.839],[-6.347,0.454],[-0.5,5.495],[-0.636,1.477],[1.678,14.476],[0.21,0.594],[1.433,4.343],[-0.033,-0.052],[-1.319,-0.896],[-0.318,-0.118],[-3.097,-3.1],[0.16,-0.314],[0.435,-3.068],[-0.234,-0.526],[-1.862,-1.808],[-0.256,-0.096],[-0.413,1.41],[-1.774,-1.653],[-0.273,0.028],[0.221,1.591],[1.523,0.626],[1.647,3.857],[0.068,0.357],[0,0],[-0.001,0],[-0.516,0.301],[0.98,2.026],[3.138,9.498],[1.829,1.555],[0.385,1.163],[-1.003,-2.729],[-0.802,-0.018],[0.309,-1.326],[2.995,1.481],[1.842,-0.764],[1.215,-0.798],[0.371,-0.257],[-0.156,2.279],[-0.455,1.075],[0.318,0.153],[0.737,-1.357],[0.173,-0.175],[0.064,0.054],[-0.409,2.177],[-1.16,7.173],[-10.416,2.261],[-0.157,0.225],[-0.409,0.379],[-0.754,0.276],[-0.772,1.35],[-0.404,0.459],[-3.725,-1.453],[-0.963,-0.196],[-2.554,0.386],[-2.512,-0.18],[0,0],[-0.103,-0.337],[0,0],[0,0],[5.675,0.762],[0.141,1.23],[-0.042,0.345],[-0.023,0.066],[-0.127,2.156],[0.139,1.649],[0.045,0.218],[-0.007,0.152],[-0.628,1.479],[-3.273,-1.667],[-0.608,-0.663],[-1.526,-0.271],[-0.238,1.242],[-0.576,0.645],[-0.571,1.301],[-0.937,0],[0.035,-0.394],[0.477,-1.395],[0.692,-7.284],[3.383,-3.274],[-0.008,-0.259],[1.077,-2.578],[-0.994,-3.453],[-2.554,-4.171],[-4.011,-6.665],[-2.329,0.473],[-0.402,2.133],[-1.285,3.606],[2.779,2.398],[0,0],[-3.205,1.714],[1.959,2.708],[-4.146,3.303],[-0.036,0.854],[1.383,0.15],[0.003,0],[0,0],[-0.8,3.858],[3.93,-1.915],[0,0],[0.099,2.058],[1.051,3.217],[-2.828,1.427],[-0.088,0.126],[-0.445,-0.233],[-0.501,1.487],[-0.647,-0.008],[-1.014,-0.041],[0,1.133],[0,0],[-5.72,-3.465],[-1.605,0.334],[-7.3,9.258],[-0.962,3.635],[2.918,1.709],[1.587,2.631],[0.198,0.533],[-1.481,3.857],[0.004,0],[6.409,5.404],[-1.336,1.748],[-0.94,-0.585],[-1.793,0.026],[-4.432,-1.916],[-3.111,1.82],[0,0],[-1.083,0.868],[0.111,1.519],[1.449,0.421],[0.177,0.118],[3.01,1.369],[0.003,0],[-0.234,1.397],[2.631,2.707],[0,0],[3.541,0.288],[0,0],[2.336,0.708],[0.968,-2.901],[1.135,0.421],[2.135,-2.58],[-0.004,-0.001],[0,0],[2.543,0.326],[4.76,1.236],[8.932,-4.175],[2.573,0.688],[-2.045,-2.011],[1.722,-3.863],[3.49,2.098],[0.367,0.509],[3.797,-1.129],[-0.148,-0.374],[0.056,-0.05],[4.058,-0.097],[1.693,-1.355],[-0.024,0.009],[0,0],[-0.007,0.004],[1.572,-1.174],[2.631,4.89],[1.209,0.712],[0.368,0.404],[5.423,-4.199],[4.473,5.058],[0.917,2.928],[4.796,-2.159],[0,0],[1.188,-0.149],[2.914,-1.374],[0,0],[0.232,-7.153],[-0.2,-2.077],[-1.086,0.643],[0,0],[8.845,-2.674],[1.904,-0.299],[0,0],[1.307,-0.301],[2.544,-0.594],[0.144,-0.096],[0.517,-0.431],[-0.536,-0.766],[0.05,-0.423],[-0.904,-2.237],[5.945,1.767],[0.061,0.605],[-0.043,1.693],[2.113,0.255],[0,0],[0.198,0.322],[0.746,1.479],[4.325,-4.347],[0,0],[1.836,-0.004],[-0.727,-3.593],[3.027,-1.448],[3.553,3.098],[0.493,-0.046],[0.849,0.142],[0.326,0.133],[0.053,1.991],[4.274,-0.78],[4.132,1.378],[-0.536,-4.567],[-0.29,-0.767],[-0.003,0],[0,0],[3.996,-0.186],[0.315,0.414],[0,0],[0,0],[-3.008,9.428],[1.148,1.272],[0.091,0.375],[0,0],[5.807,2.783],[0,0],[1.521,-0.827],[0.849,-0.585],[0,0.001],[1.58,0.315],[0,0],[0,0],[0.666,-0.16],[0.425,5.946],[2.108,0.173],[0.414,-1.815],[-3.724,-3.965],[-0.015,-1.228],[-0.003,0],[0,-0.001],[0.815,-0.054],[0.223,-0.704],[0.145,-0.395],[0,0],[0.473,-0.39],[0,-0.001],[3.005,5.111],[2.046,-2.306],[0.12,-1.464],[0,-0.001],[1.721,-1.511],[0.244,-7.916],[-1.098,-0.38],[0,0],[-0.819,-0.459],[0,0],[0.626,-1.522],[0.753,-0.077],[3.687,-1.093],[-1.315,-3.533],[-3.709,-3.07],[1.674,-0.108],[0.233,0.088],[4.429,-1.278],[1.303,0.096],[-1.693,-1.484],[0.779,-0.45],[0.008,-0.386],[0,0],[0.001,-0.001],[0.099,0.103],[1.11,0.394],[0.498,0.773],[0.854,-1.8],[0,0],[0.328,-0.019],[-3.225,-3.158],[-0.18,-0.222],[0.213,0.127],[0.777,5.163],[0.739,0.821],[2.91,-0.412],[-0.232,-1.848],[-0.031,-0.387],[-0.19,-0.971],[-0.047,-0.918],[0.479,-2.657],[0.026,-0.062],[-0.034,-0.596],[0.087,-1.224],[-0.161,-2.433],[-3.579,-1.731],[-0.008,-0.007],[4.74,2.206],[2.811,-1.406],[2.251,2.689],[-2.283,-1.541],[-1.921,-1.075],[-0.176,-0.329],[4.599,1.297],[0.514,-0.257],[0.374,-0.222],[0.594,0.005],[1.697,0.976],[3.425,-1.782],[0.552,-0.588],[0.598,-0.275],[0.344,-0.44],[0.176,-0.406],[0.603,-0.371],[0.753,-0.423],[0.711,-1.93],[1.805,1.021],[-0.329,1.628],[0.003,0],[0,0],[0,0],[4.402,-0.418],[-0.915,-3.134],[-0.222,-1.58],[-0.355,-0.456],[-0.031,-0.039],[0.032,-0.042],[-0.362,-0.325],[2.386,0.054],[0.202,4.087],[1.618,0.813],[0.038,-0.015],[0.088,0.073],[0.563,0.596],[3.483,3.1],[5.932,-0.571],[2.164,6.149],[0,0],[5.104,-1.989],[3.096,-3.499],[0,0],[0.003,-0.003],[0,0],[0.502,-0.301],[0.5,-0.32],[1.406,-0.279],[3.074,-1.634],[0.692,-0.741],[1.033,-1.301],[1.362,-0.229],[-1.106,-3.477],[-0.085,-0.638],[-0.171,-1.009],[1.637,-1.047],[-0.726,-1.198],[-0.114,-0.077],[0,0],[0.232,-0.121],[4.607,-3.434],[0.623,-1.28],[4.335,-3.542],[-2.306,-6.346],[0.118,-3.965],[-6.062,1.783],[-2.539,2.613],[-0.852,-2.71],[-1.636,-0.779],[-0.023,-0.077],[-0.211,-0.539],[-0.36,-0.589],[0.027,-0.6],[1.099,-1.086],[0.45,0.129],[0.214,-0.073],[-0.062,0.219],[0.978,3.047],[2.007,-0.479],[-2.674,-5.847],[-0.013,-0.024],[0.165,-0.015],[-0.932,-1.477],[0,0],[-0.053,-0.49],[0.861,-0.844],[0.232,-0.081],[2.007,-6.069],[4.382,-0.961],[-0.67,1.652],[2.31,1.293],[1.124,0.624],[0.034,0.416],[1.816,1.239],[0,0],[-0.018,5.31],[2.886,3.173],[3.522,-1.743],[-1.205,-4.66],[7.166,-1.587],[0.175,-0.352],[1.171,-1.189],[0.05,-2.841],[1.354,-2.295],[0,0],[-4.268,-0.781],[-1.533,0.062],[-2.05,0.853],[2.354,4.06],[-0.175,1.686],[-1.682,1.351],[-0.066,0.186],[-0.543,-0.26],[-0.003,0.004],[-0.795,-0.746],[0,0],[0.716,0.011],[-0.188,-0.41],[0.853,-0.891],[0.443,-0.542],[-1.067,-1.102],[0,0],[0,-0.001],[-0.095,-0.083],[0.035,-0.037],[0.103,-0.619],[0.003,-0.362],[-0.418,-1.909],[-0.666,0.028],[0.005,-2.014],[1.075,-0.754],[-1.324,-0.252],[-0.385,-0.406],[-1.119,0.164],[-1.04,0.295],[-1.209,0.497],[1.471,-0.416],[1.089,-0.164],[0.542,-1.487],[0.02,-0.387],[0,0],[-1.132,-2.378],[-0.822,0.273],[-0.769,-0.039],[2.497,-5.881],[0,0],[2.819,0.482],[6.447,0.176],[-1.251,-4.047],[1.102,-3.372],[-0.914,-1.467],[0.638,-0.039],[0.023,-0.367],[-0.749,-1.596],[-2.684,-1.477],[-1.556,-0.367],[-0.742,-3.18],[0,0],[0,0],[0.042,-1.171],[-0.035,-0.275],[0.26,-0.257],[1.905,-0.753],[0.585,-5.937],[6.563,-2.544],[-1.393,-2.279],[0.963,-4.657],[0,0],[0.13,-0.689],[3.496,-3.12],[-0.865,-1.743],[-0.36,-0.398],[-0.378,-0.042],[-0.02,-0.226],[1.328,-5.318],[-0.104,-0.467],[-2.127,-4.531],[-0.15,-0.902],[0.046,-0.305],[-0.813,-1.007],[0,0],[-0.012,-0.84],[-2.218,0.014],[-3.677,-2.576],[-0.043,-1.156],[-0.393,-0.383],[-0.032,-0.44],[0,0],[-3.647,-0.956],[-0.406,-0.191],[-1.564,-0.776],[0,0],[0,0],[-2.168,-1.323],[0,0],[0,0],[-2.112,1.077],[-6.09,-1.156],[0,0.003],[-3.942,2.565],[-5.958,-2.25],[0,0],[-0.417,-0.821],[-0.558,-1.074],[0,0],[-3.955,1.005],[0,0],[-1.081,-0.417],[0.527,-3.766],[-0.007,-0.037],[0.336,-0.533],[0.107,-0.81],[-0.481,-0.02],[-8.822,-5.763],[-0.367,-0.445],[0,-0.003],[-0.248,-0.293],[-0.005,0],[0,-0.003],[-0.146,-0.737],[-0.624,-0.409],[0,0.003],[0,0],[-2.14,-1.82],[0,0],[-2.1,-5.427],[2.349,-2.341],[0.248,-7.189],[-1.485,-2.547],[-0.937,-7.016],[-7.77,-8.623],[-0.072,0.2],[0,0],[-0.115,-0.034],[0.153,-0.184],[0.11,-6.744],[-5.36,1.089],[-4.519,-0.471],[-5.621,4.118],[-6.52,6.975],[0.519,2.934],[-1.044,2.412],[-1.958,3.579],[2.299,3.839],[0,0],[0.135,0.386],[-0.349,1.779],[0.003,-0.003],[0,0],[-2.563,2.07],[-0.802,1.649],[0,0],[-0.543,0.539],[0,0],[0,0],[-0.012,8.503],[-0.143,3.72],[2.318,1.334],[1.289,4.305],[-1.801,4.037],[-2.455,4.425],[0,0],[-0.08,0.375],[-7.348,2.897],[-0.799,0.691],[0.429,0.527],[-0.119,0.221],[-0.364,0.122],[-0.389,0.397],[-0.668,0.699],[-0.326,0.042],[-1.063,1.693],[-0.446,-0.028],[-1.578,3.54],[0.19,0.333],[-0.142,0.104],[-0.859,2.714],[2.191,3.19],[3.073,-0.214],[8.345,2.373],[-0.03,0.245],[0.284,0.313],[-1.569,0.706],[-1.811,0.465],[-3.954,1.993],[-0.031,2.841],[0.064,0.157],[0.06,0.078],[0,0],[0.018,0.007],[0.009,0.015],[0,0.034],[-0.064,-0.164],[-0.225,-0.16],[-3.523,1.915],[-2.237,2.331],[0,0],[-3.515,3.336],[-2.133,0.825],[-2.066,2.378],[6.161,6.603],[-0.004,0.003],[2.574,0.485],[1.231,1.969],[0,0],[0,0],[-0.061,0.428],[2.194,0.497],[0.241,-1.066],[0,0],[1.476,-1.308],[0.424,-1.139],[1.128,-0.46],[2.802,1.816],[0,0],[0.391,1.597],[0,0],[-0.362,0.364],[1.324,0.192],[0.238,-0.872],[0.929,0.548],[3.346,1.774],[0,0],[0.857,1.559],[1.077,0.922],[0,0],[0,0.003],[-0.309,1.06],[-0.789,-0.013],[-1.383,-2.205],[-3.67,-2.813],[-0.879,-0.224],[-1.113,-0.167],[-1.492,0.362],[-1.147,-0.37],[-1.885,-1.339],[-6.972,1.368],[-0.627,-0.474],[-1.556,0.046],[-4.902,-7.687],[-1.555,1.15],[-1.11,-2.922],[-7.365,2.975],[-0.408,-1.495],[-0.819,-2.513],[-6.512,-14.625],[-3.354,2.93],[-1.301,3.18],[-0.007,0.054],[-0.141,1.503],[-6.411,8.54],[-1.373,1.354],[-9.085,3.303],[-1.471,-0.046],[-2.227,0.055],[-1.647,-1.794],[0.52,-8.358],[-0.764,-0.62],[-2.417,0.857]],"o":[[0.984,4.44],[0.58,1.308],[-0.074,4.942],[0.037,1.676],[0.967,0.513],[0.808,1.69],[0.229,0.158],[0.378,2.02],[0,0],[-0.005,0.077],[-2.261,1.018],[0.019,0.576],[0.362,0.073],[3.352,4.434],[1.514,-1.515],[0.031,-0.956],[0,0],[-0.539,-0.895],[-0.289,-2.962],[-1.564,-1.208],[0,0],[-2.276,-1.806],[0.033,-0.169],[0.245,-3.384],[-2.322,-2.753],[-0.032,-0.297],[0.207,-0.096],[0.471,-0.383],[0.707,-1.378],[0.118,-0.099],[0.326,0.544],[0.419,0.42],[1.517,0.547],[3.625,3.522],[0.074,1.185],[0.475,0.46],[0.141,-0.115],[2.095,0.589],[0.578,-1.575],[9.253,-2.987],[-0.49,-0.425],[0.003,-0.393],[0,0],[-0.169,-4.948],[-5.716,-4.578],[1.175,-2.458],[0.678,-0.742],[0.422,0.37],[3.704,-1.555],[1.196,1.574],[1.173,-1.246],[0.517,-0.156],[1.625,-1.032],[1.393,-1.125],[7.145,-0.984],[2.593,-2.914],[1.104,-3.758],[1.94,-3.942],[-0.964,-1.549],[-0.603,-1.159],[0.011,-0.815],[-0.118,0.007],[-0.024,-0.328],[-1.942,-3.383],[-0.98,-2.011],[0,0],[-1.085,-1.504],[2.144,-2.693],[1.741,-0.326],[-0.03,-1.513],[-3.783,-0.127],[-1.72,1.49],[-1.089,-0.932],[3.352,-2.615],[1.07,1.919],[0.963,0.727],[2.681,-1.848],[0.091,0.12],[2.146,1.713],[0.338,4.076],[0.57,-0.345],[2.06,1.461],[-0.111,2.761],[-0.213,2.061],[2.127,0.695],[0.064,-0.329],[0.183,-0.019],[5.282,1.337],[0,0],[0,0],[0.288,0.064],[-0.207,-0.519],[-0.436,-1.114],[-0.379,-0.562],[0.079,-0.07],[0.363,-0.581],[0,0],[-0.138,-3.06],[0,0],[-0.139,-1.167],[-0.41,-0.971],[-0.325,-0.46],[-0.129,-0.096],[1.185,-2.555],[-0.118,-0.099],[1.205,-1.25],[0.008,-6.589],[4.872,-0.352],[1.53,-0.149],[5.575,-12.967],[-0.036,-0.63],[-3.716,-3.586],[0.034,0.05],[0.938,1.33],[0.303,0.158],[-0.696,4.539],[-0.2,0.234],[-0.546,3.089],[0.095,0.565],[1.018,2.29],[0.26,0.093],[0.758,0.237],[1.238,-4.213],[0.273,0.005],[2.053,-2.202],[-0.961,-1.255],[-4.443,-2.826],[0.073,-0.357],[0,0],[0,0],[0.515,-0.301],[1.232,-0.058],[-4.443,-8.767],[0.259,-2.876],[-0.383,-1.162],[-1.508,-0.024],[0.506,0.559],[-0.844,0.947],[-2.217,-2.528],[-1.935,-0.52],[-1.166,0.891],[-0.401,0.195],[-1.097,-1.567],[0.894,0.039],[0.15,-0.356],[-1.354,-0.666],[-0.171,0.175],[-0.062,-0.054],[-2.206,-2.153],[1.346,-7.131],[1.781,-11.005],[0.154,-0.229],[0.19,-0.831],[0.775,-0.227],[1.661,-0.062],[0.357,-0.626],[3.398,-2.008],[0.903,0.429],[-0.614,1.086],[2.301,-0.349],[0,0],[0.064,0.348],[0,0],[0,0],[-0.567,-1.456],[-1.441,-0.551],[0.024,-0.348],[0.018,-0.065],[0.764,-2.083],[0.28,-1.61],[-0.064,-0.229],[0.007,-0.154],[1.037,-1.208],[2.854,-2.267],[0.796,0.995],[0.755,1.617],[1.632,0.288],[0.47,-0.462],[0.049,-1.381],[0.538,-0.607],[0.018,0.38],[0.104,1.359],[-2.435,7.094],[-0.456,4.803],[0.133,0.219],[3.138,1.162],[-1.495,3.584],[1.379,4.784],[4.062,6.633],[0.967,1.609],[2.196,-0.447],[0.668,-3.554],[3.108,-0.845],[0,0],[-0.364,-3.098],[4.685,-2.508],[-2.072,-2.863],[0.773,0.414],[0.045,-1.12],[0,0],[0,0],[-0.129,-3.299],[1.016,-4.535],[0,0],[-2.5,-0.971],[-0.158,-3.334],[-1.095,-2.596],[0.092,-0.122],[0.44,0.234],[0.5,-1.486],[0.647,0.008],[0.031,0.961],[1.613,0.061],[0,0],[3.695,-5.842],[1.338,0.808],[-1.844,-12.259],[2.305,-0.913],[1.017,-3.831],[-2.762,-1.617],[-0.198,-0.532],[-0.947,-2.191],[0,0],[2.676,-8.425],[-1.534,-1.295],[1.98,-2.59],[1.483,0.93],[0.856,-3.014],[2.288,3.866],[0.003,0],[1.117,0.945],[1.281,0.026],[-0.137,-1.934],[-0.059,-0.209],[0.473,-3.013],[0,0],[-0.662,-1.07],[2.552,-1.621],[0,0],[0.687,-3.859],[0,0],[-2.339,-0.71],[-1.1,2.768],[-1.135,-0.422],[-1.926,-0.672],[0,0.001],[0,0],[-1.894,-2.589],[-4.916,-0.628],[-8.887,-2.306],[-2.232,1.045],[-4.148,3.717],[2.307,2.271],[-2.949,-2.994],[-0.395,-0.421],[-0.027,-2.061],[0.146,0.372],[-0.053,0.045],[-0.429,3.789],[-1.785,0.042],[0.024,-0.011],[0,0],[0.007,-0.005],[-1.748,0.757],[-4.593,3.442],[-0.678,-1.258],[-0.371,-0.404],[-6.569,-3.724],[-5.285,4.092],[-3.802,1.87],[-2.741,-8.755],[0,0],[-1.186,0.15],[-3.016,-0.561],[0,0],[-3.005,1.273],[-1.383,0.502],[0.118,1.179],[0,0.001],[1.054,3.257],[-1.892,0.303],[0.003,0.001],[-1.304,0.301],[-1.73,3.231],[-0.15,0.088],[-0.538,-0.515],[-1.005,0.837],[-0.148,0.347],[0.613,2.295],[-6.488,-0.5],[-0.058,-0.607],[1.068,0.295],[0.06,-2.257],[0,0],[-0.045,-0.379],[-0.746,-1.477],[-3.357,-1.633],[0,0.001],[-1.839,-0.552],[-2.287,0.007],[0.328,1.628],[-2.963,1.42],[-0.497,0.05],[-1.358,0.688],[-0.326,-0.142],[-0.869,-0.659],[-4.274,0.781],[-3.43,3.203],[-2.733,-0.911],[0.288,0.768],[0,0],[-0.003,0.001],[-1.655,3.039],[-0.315,-0.412],[0,0.001],[0,0],[3.709,-9.216],[-1.147,-1.273],[0.047,-0.383],[0,0],[-4.16,-5.358],[0,0],[-1.368,1.16],[-0.848,0.588],[0,0],[-2.903,1.427],[0,0],[0,0],[-0.738,-0.156],[-3.048,0.726],[-0.154,-2.167],[-2.164,-0.179],[-1.078,4.685],[0.018,1.231],[0,0],[0,0],[-0.812,0.055],[-0.221,0.703],[-0.144,0.394],[0,0],[-0.468,0.39],[0,0],[-1.885,1.469],[-0.594,-1.013],[-0.93,0.116],[0,0],[-1.052,2.325],[-5.204,4.562],[1.096,0.382],[0,0],[0.821,0.46],[0,0],[0.781,1.063],[-0.754,0.081],[-2.994,2.692],[-3.403,1.009],[1.988,5.331],[0.356,3.037],[-0.225,-0.095],[-3.375,-2.238],[-0.081,-1.461],[-0.917,1.473],[-0.779,0.451],[-0.008,0.383],[0,-0.001],[0,0.003],[-0.1,-0.104],[-1.109,-0.394],[-0.5,-0.773],[-0.248,2.095],[0,0],[-0.33,0.055],[-1.388,3.817],[0.207,0.207],[-0.157,-0.161],[-5.112,-3.063],[-0.482,-1.06],[-2.123,-2.367],[-1.517,0.214],[0.049,0.389],[-0.487,0.707],[0.188,0.945],[-0.299,2.683],[-0.024,0.062],[-0.222,0.562],[-0.19,1.212],[1.014,2.088],[0.261,4.064],[0.038,0.023],[-4.756,-2.149],[-3.035,-0.129],[-3.07,-0.611],[-2.849,1.458],[1.819,1.227],[-0.024,0.355],[2.321,4.378],[-0.532,-0.149],[-0.376,0.206],[-0.595,-0.004],[-2.572,0.621],[-4.622,-2.665],[-0.55,0.589],[-0.657,0.177],[-0.494,0.247],[-0.047,0.508],[-0.6,0.37],[-0.75,0.423],[-2.163,0.815],[-0.917,1.139],[-1.997,-1.125],[-0.003,0],[0,0],[0,0],[-0.163,-5.221],[-5.174,0.489],[0.437,1.504],[0.165,0.562],[0.03,0.039],[-0.031,0.036],[-0.176,0.236],[0.869,2.011],[-1.862,-0.042],[1.155,-2.049],[-0.035,0.016],[-0.085,-0.073],[0.294,-0.654],[-2.693,-4.264],[-4.302,-3.831],[-4.955,-1.649],[0,0],[-4.534,-1.468],[-3.613,-0.952],[0.003,0],[0,0],[0,0],[-0.479,0.34],[-0.509,0.305],[-1.292,0.623],[-2.137,3.555],[-0.787,0.612],[-1.36,0.989],[-0.994,0.733],[-3.112,1.839],[0.221,0.687],[-0.248,0.96],[-0.433,1.449],[-0.955,0.982],[0.116,0.104],[0,0],[-0.234,0.12],[-3.733,3.916],[-0.83,1.062],[-2.229,5.637],[-6.772,4.607],[1.393,3.833],[-0.19,6.431],[3.538,-1.04],[-0.251,2.845],[0.872,1.664],[0.026,0.076],[0.095,0.571],[0.44,0.737],[-0.027,0.6],[-1.606,0.055],[-0.424,0.031],[-0.242,0.024],[0.047,-0.222],[2.592,-3.151],[-0.58,-1.809],[-5.762,1.369],[0.015,0.024],[-0.152,0.004],[-1.101,1.637],[0,0],[0.394,0.665],[-0.592,1.035],[-0.218,0.088],[-4.525,2.114],[-1.553,4.714],[-1.025,-1.766],[0.917,-2.24],[-0.848,-1.362],[-0.035,-0.414],[1.786,-2.123],[0,0],[-2.966,-4.348],[0.018,-4.337],[-1.815,-1.996],[-3.553,1.755],[1.79,6.902],[-0.233,0.052],[-1.17,1.189],[-2.612,0.598],[-0.045,2.305],[0,0],[-2.177,4.494],[1.583,0.288],[1.819,-1.555],[3.328,-1.381],[2.387,0.108],[0.245,-2.391],[0.095,-0.177],[0.542,0.259],[0,0],[0.795,0.746],[0,0],[-0.711,-0.012],[0.187,0.409],[-1.169,0.38],[-0.441,0.54],[-1.46,1.144],[0,0],[0,0],[0.089,0.081],[-0.038,0.035],[-0.357,0.506],[-0.007,0.361],[-1.121,0.443],[0.668,-0.029],[0.84,2.148],[-1.078,0.753],[-1.036,2.6],[0.389,0.409],[1.311,0.597],[0.953,-0.516],[1.311,-0.687],[-0.876,1.154],[-0.967,0.508],[-1.066,0.573],[-0.034,0.38],[0,0],[-1.591,2.443],[0.819,0.635],[0.657,0.404],[6.836,5.625],[0,0],[-0.976,4.439],[-6.428,-1.097],[-2.947,2.716],[1.078,3.487],[-0.309,1.616],[-0.632,0.039],[-0.003,0.37],[0.749,1.597],[-2.152,2.546],[1.559,0.366],[3.106,0.139],[0,0],[0,0],[-0.042,1.169],[0.039,0.272],[-0.181,0.303],[-0.534,2.095],[-6.014,2.378],[-0.777,7.968],[-2.39,0.925],[-3.327,2.883],[-0.003,0],[-0.133,0.685],[-5.143,1.824],[-0.506,1.477],[0.357,0.398],[0.32,0.385],[0.02,0.21],[-0.909,5.349],[-0.008,0.498],[-1.266,3.893],[0.84,0.894],[0,0.311],[-0.894,1.571],[0,0],[0.01,0.834],[2.213,-0.019],[2.57,3.732],[0.045,1.159],[0.394,0.384],[0.035,0.437],[0,0],[0.959,4.183],[0.41,0.195],[0.34,2.096],[0,0],[0,0],[1.342,2.433],[0,0],[0,0],[2.065,1.831],[5.689,-2.906],[0,-0.003],[5.018,2.107],[5.7,-1.661],[0.003,0],[0.414,0.821],[0.556,1.075],[0.003,0],[3.458,4.672],[0,0],[0.247,1.304],[3.689,1.427],[0.011,0.037],[-0.49,0.156],[-0.103,0.803],[0.481,0.02],[-4.014,10.272],[0.364,0.445],[0,0.003],[0.081,0.385],[0,0],[-0.005,0],[0.145,0.742],[0.625,0.412],[0,0],[0,0.003],[-0.632,2.68],[0,0],[0.83,5.626],[1.156,2.993],[-5.352,5.334],[-0.845,2.898],[3.532,6.047],[1.476,11.017],[0.005,-0.221],[0,0],[0.116,0.039],[-0.154,0.18],[0.742,6.314],[-0.088,5.323],[4.299,-0.88],[7.104,0.739],[7.839,-5.74],[1.797,-1.927],[1.031,-2.408],[4.089,-0.666],[1.882,-4.188],[0,0.003],[-0.137,-0.387],[0.349,-1.778],[-0.003,0],[0,0],[2.559,-2.073],[1.877,-0.229],[0,0],[0.54,-0.539],[0,-0.003],[0,0],[8.484,-2.425],[0.009,-3.722],[0.102,-2.534],[-1.117,-4.601],[-1.48,-4.953],[2.18,-4.886],[0,0],[0.249,-0.283],[5.981,-4.604],[0.796,-0.691],[0.387,-0.584],[0.119,-0.229],[0.358,-0.045],[0.504,-0.219],[0.825,-0.576],[0.302,-0.15],[1.06,-1.69],[0.447,0.028],[1.58,-3.541],[0.311,-0.427],[0.126,-0.122],[1.096,-2.534],[1.07,-3.385],[-2.448,-3.556],[-8.042,0.554],[0.047,-0.078],[0.045,-0.352],[-0.349,-2.62],[1.16,-0.11],[4.107,-1.521],[1.825,-0.919],[-0.053,-0.186],[-0.057,-0.082],[0.012,-0.01],[-0.016,-0.011],[-0.008,-0.013],[-0.003,-0.031],[0.076,0.141],[0.175,0.228],[4.206,0.723],[1.966,-2.576],[0,0],[5.106,-0.628],[2.73,0.635],[0.998,-2.618],[5.693,-6.539],[0,0],[-2.578,-0.488],[-1.234,-1.974],[0,0],[0,0],[0.062,-0.435],[-0.413,-1.453],[-0.925,-0.209],[0,0],[-1.473,1.305],[-0.423,1.143],[-1.125,0.46],[-2.944,-1.278],[0,-0.003],[-0.389,-1.594],[0,0],[0.363,-0.367],[-0.364,-1.274],[-0.229,0.875],[-0.928,-0.552],[-0.387,-3.802],[0,0],[-0.861,-1.56],[-0.149,-1.332],[0,0],[0,0],[0.301,-1.059],[0.88,-0.181],[2.278,0.719],[2.566,4.087],[0.669,0.62],[1.067,0.42],[1.397,0.654],[1.182,0.138],[2.635,-0.482],[6.011,4.279],[0.019,0.727],[1.473,0.708],[6.676,-0.789],[0.956,1.5],[0.199,3.366],[2.906,7.61],[2.91,0.05],[0.096,2.531],[4.975,15.332],[1.85,4.153],[2.46,-2.148],[0.006,-0.05],[1.077,-0.443],[0.955,-10.279],[1.416,-1.312],[6.658,-6.57],[1.327,0.691],[2.164,-1.067],[-0.642,2.758],[5.074,5.534],[-0.061,0.951],[2.481,1.104],[3.277,-1.159]],"v":[[229.306,161.004],[234.246,173.453],[235.961,177.415],[234.814,192.198],[236.897,196.127],[239.817,197.622],[243.442,201.67],[244.115,202.155],[246.197,207.887],[246.197,207.889],[246.201,208.121],[245.658,212.21],[246.404,213.515],[247.459,213.814],[260.108,223.578],[260.093,219.049],[260.181,216.177],[260.18,216.158],[257.967,214.416],[256.639,205.605],[251.943,201.989],[251.943,201.989],[245.104,196.573],[245.197,196.065],[241.788,187.655],[240.412,179.201],[240.311,178.31],[240.953,178.001],[242.058,176.597],[242.916,172.143],[243.302,171.883],[244.287,173.5],[245.715,174.516],[250.314,175.833],[261.19,186.402],[261.405,189.95],[262.979,190.153],[263.347,189.806],[268.205,187.59],[270.661,183.298],[280.962,166.312],[279.487,165.027],[279.505,163.848],[279.504,163.848],[272.931,152.782],[264.467,142.605],[267.482,134.941],[268.654,132.397],[270.029,132.823],[279.395,135.116],[283.88,134.783],[287.586,131.269],[289.106,130.699],[294.373,128.732],[299.122,126.815],[315.602,116.052],[320.298,106.095],[325.157,95.591],[325.406,83.424],[323.973,78.487],[322.75,74.877],[322.787,72.429],[322.435,72.45],[322.381,71.467],[316.014,61.65],[311.116,58.208],[311.116,58.208],[310.772,53.47],[318.165,46.517],[320.65,43.027],[318.443,39.957],[307.017,39.517],[301.871,38.133],[300.761,34.567],[308.93,25.015],[311.689,30.736],[314.936,31.791],[323.889,28.322],[324.156,28.685],[325.824,35.125],[332.19,39.935],[333.735,38.693],[335.03,45.012],[335.643,53.239],[338.529,57.862],[343.217,55.574],[343.255,54.634],[343.769,54.458],[349.329,48.465],[349.328,48.465],[349.329,48.462],[350.208,48.541],[349.587,46.986],[348.275,43.652],[347.134,41.968],[347.375,41.762],[347.178,40.194],[346.949,40.389],[342.482,34.352],[342.498,34.346],[341.458,31.487],[339.948,28.702],[338.812,27.487],[338.441,27.174],[342.84,19.972],[342.491,19.67],[344.116,15.112],[352.351,6.114],[359.95,-2.139],[362.934,-4.934],[370.991,-45.634],[370.627,-47.465],[366.477,-60.555],[366.569,-60.402],[370.079,-57.202],[371.012,-56.793],[375.769,-41.198],[375.222,-40.394],[376.27,-31.452],[376.732,-29.809],[380.267,-23.23],[381.042,-22.944],[383.282,-22.616],[387.957,-23.223],[388.781,-23.261],[387.593,-27.889],[384.193,-31.076],[380.032,-42.932],[380.038,-44.006],[380.038,-44.006],[380.04,-44.006],[381.587,-44.904],[383.261,-46.878],[369.356,-72.851],[365.804,-78.741],[364.646,-82.228],[362.265,-79.944],[363.909,-78.492],[361.632,-75.474],[353.644,-81.256],[347.985,-80.82],[344.445,-78.25],[343.279,-77.575],[340.469,-82.546],[342.855,-83.299],[342.407,-84.706],[339.211,-83.555],[338.697,-83.031],[338.515,-83.198],[338.452,-89.724],[344.35,-110.563],[357.196,-124.625],[357.661,-125.307],[358.581,-127.074],[360.872,-127.835],[365.109,-128.854],[366.256,-130.47],[376.783,-131.583],[379.559,-130.562],[381.738,-129.195],[387.688,-132.106],[387.688,-132.105],[387.937,-131.078],[388.317,-131.149],[388.704,-131.149],[388.118,-135.669],[385.589,-138.629],[385.685,-139.672],[385.73,-139.869],[386.897,-146.246],[387.213,-151.122],[387.087,-151.778],[387.107,-152.237],[389.011,-156.663],[398.192,-157.695],[400.275,-155.221],[404.252,-152.499],[406.248,-154.838],[407.797,-156.487],[408.996,-160.477],[411.145,-161.476],[411.128,-160.315],[411.484,-156.237],[409.06,-134.339],[404.417,-122.337],[404.631,-121.616],[406.91,-115.381],[407.304,-105.091],[413.484,-91.825],[425.747,-71.974],[429.176,-67.962],[432.108,-73.257],[431.253,-83.674],[432.43,-88.357],[432.43,-88.358],[434.166,-96.96],[434.601,-103.975],[434.246,-113.435],[435.861,-114.05],[434.066,-116.398],[434.063,-116.397],[434.063,-116.398],[429.751,-123.942],[425.186,-127.617],[425.184,-127.617],[422.637,-133.011],[421.498,-142.903],[423.277,-149.179],[423.544,-149.557],[424.868,-148.855],[426.374,-153.315],[428.315,-153.289],[429.273,-150.842],[430.573,-153.482],[430.573,-153.482],[441.355,-156.249],[445.536,-155.018],[455.446,-186.725],[462.425,-188.449],[457.481,-196.742],[451.249,-203.129],[450.655,-204.728],[446.812,-210.617],[446.808,-210.617],[442.402,-227.075],[441.362,-231.552],[444.438,-230.343],[449.199,-228.638],[455.082,-233.115],[463.442,-231.85],[463.445,-231.85],[466.738,-231.919],[468.821,-233.842],[465.737,-236.583],[465.379,-237.073],[462.278,-243.978],[462.275,-243.979],[461.063,-247.47],[462.303,-253.675],[462.303,-253.673],[457.588,-259.526],[457.588,-259.525],[450.577,-261.648],[444.912,-255.709],[441.512,-256.973],[435.635,-257.37],[435.639,-257.366],[435.642,-257.347],[428.34,-259.575],[413.603,-261.441],[387.1,-261.674],[379.747,-260.731],[381.621,-253.373],[386.007,-245.645],[375.632,-252.09],[374.508,-253.546],[369.421,-255.492],[369.861,-254.372],[369.706,-254.243],[363.487,-248.448],[357.794,-247.266],[357.864,-247.297],[357.774,-247.253],[357.794,-247.266],[352.712,-244.641],[341.745,-246.839],[339.079,-249.86],[337.967,-251.072],[319.297,-249.47],[305.507,-249.887],[295.404,-251.458],[283.349,-254.705],[283.349,-254.705],[279.788,-254.257],[270.86,-253.741],[270.86,-253.741],[262.093,-249.402],[259.219,-246.563],[261.175,-245.634],[261.175,-245.633],[260.643,-236.082],[254.956,-235.177],[254.961,-235.175],[251.046,-234.273],[243.604,-231.854],[243.164,-231.577],[241.479,-232.011],[241.446,-229.621],[241.137,-228.476],[242.342,-221.45],[225.726,-229.562],[225.545,-231.378],[228.216,-232.148],[224.44,-235.715],[224.44,-235.716],[224.072,-236.77],[221.834,-241.203],[211.261,-243.003],[211.261,-243.001],[205.747,-244.548],[201.668,-240.416],[201.684,-235.494],[192.228,-234.317],[190.748,-234.174],[187.458,-233.38],[186.48,-233.791],[185.118,-237.806],[172.301,-235.462],[160.733,-233.414],[156.168,-230.706],[157.032,-228.405],[157.034,-228.407],[157.032,-228.405],[149.738,-222.128],[148.792,-223.365],[148.792,-223.364],[148.792,-223.364],[156.8,-251.936],[153.355,-255.755],[153.286,-256.892],[153.285,-256.892],[137.36,-267.571],[137.268,-267.602],[132.592,-265.373],[130.051,-263.614],[130.049,-263.615],[126.665,-266.33],[126.665,-266.33],[126.665,-266.33],[124.464,-266.754],[117.786,-269.924],[112.382,-272.381],[108.81,-269.223],[110.783,-255.889],[110.831,-252.199],[110.834,-252.199],[110.831,-252.197],[108.389,-252.035],[107.725,-249.921],[107.293,-248.738],[107.293,-248.738],[105.882,-247.566],[105.882,-247.564],[99.679,-246.809],[93.531,-243.207],[92.055,-240.668],[92.055,-240.666],[86.882,-236.139],[76.03,-219.176],[79.321,-218.034],[79.318,-218.034],[81.777,-216.655],[81.777,-216.655],[82.897,-213.064],[80.638,-212.823],[70.221,-208.031],[67.729,-201.89],[78.204,-191.867],[74.787,-189.219],[74.098,-189.492],[62.972,-192.863],[60.706,-194.984],[60.689,-190.552],[58.355,-189.2],[58.33,-188.047],[58.63,-187.741],[58.628,-187.735],[58.33,-188.047],[55.001,-189.227],[53.504,-191.55],[52.636,-185.739],[52.636,-185.739],[51.649,-185.626],[53.094,-174.968],[53.672,-174.323],[53.124,-174.76],[46.482,-188.022],[44.998,-191.168],[37.092,-193.456],[33.955,-190.622],[34.068,-189.46],[33.569,-186.926],[33.917,-184.132],[32.569,-176.14],[32.5,-175.956],[32.239,-174.208],[31.808,-170.557],[34.087,-164.011],[40.089,-155.455],[40.307,-155.271],[25.444,-159.575],[16.379,-159.609],[8.445,-164.618],[8.255,-159.886],[13.935,-156.547],[14.122,-155.512],[10.626,-151.038],[8.998,-150.648],[7.877,-150.001],[6.095,-150.02],[-1.48,-148.415],[-12.447,-146.437],[-14.097,-144.671],[-16.06,-144.066],[-17.317,-143.038],[-17.668,-141.68],[-19.471,-140.568],[-21.73,-139.303],[-25.206,-134.545],[-28.606,-132.3],[-28.887,-137.031],[-28.892,-137.031],[-28.889,-137.031],[-28.781,-137.05],[-35.399,-144.02],[-38.164,-137.169],[-37.847,-132.437],[-37.155,-130.862],[-37.059,-130.745],[-37.155,-130.648],[-36.875,-129.809],[-38.757,-126.366],[-43.736,-128.607],[-45.384,-132.472],[-45.495,-132.424],[-45.758,-132.642],[-46.133,-134.518],[-57.564,-142.032],[-72.804,-147.631],[-85.581,-155.946],[-85.581,-155.946],[-99.515,-158.357],[-109.876,-157.097],[-109.873,-157.097],[-109.876,-157.094],[-109.979,-157.19],[-111.451,-156.23],[-112.958,-155.289],[-116.875,-153.557],[-126.166,-148.801],[-128.356,-146.732],[-131.925,-143.255],[-135.399,-141.734],[-138.432,-133.716],[-137.996,-131.739],[-138.165,-128.775],[-141.219,-125.017],[-141.624,-121.754],[-141.28,-121.51],[-141.28,-121.51],[-141.984,-121.148],[-149.28,-107.248],[-152.103,-104.406],[-163.566,-92.227],[-169.594,-78.191],[-167.983,-66.632],[-157.406,-58.486],[-148.16,-63.69],[-145.802,-55.535],[-141.904,-52.028],[-141.831,-51.805],[-141.377,-50.127],[-140.191,-48.159],[-140.276,-46.358],[-144.278,-44.542],[-145.578,-44.655],[-146.257,-44.492],[-146.111,-45.163],[-146.311,-54.508],[-150.379,-56.804],[-156.271,-43.003],[-156.229,-42.927],[-156.691,-42.905],[-156.348,-38.28],[-156.342,-38.266],[-155.693,-36.544],[-157.983,-33.804],[-158.656,-33.551],[-171.347,-25.769],[-180.502,-17.958],[-180.127,-22.97],[-181.727,-28.478],[-185.275,-29.856],[-185.373,-31.1],[-186.485,-35.88],[-186.485,-35.882],[-193.945,-49.588],[-197.441,-59.927],[-203.31,-63.523],[-211.093,-55.338],[-217.257,-42.82],[-217.783,-41.803],[-221.294,-38.236],[-224.919,-33.252],[-224.781,-26.377],[-224.793,-26.367],[-221.569,-18.268],[-217,-18.756],[-210.737,-21.084],[-207.177,-28.439],[-204.179,-32.129],[-201.108,-37.409],[-200.887,-37.962],[-199.258,-37.183],[-199.255,-37.187],[-196.869,-34.95],[-196.991,-34.464],[-199.131,-34.495],[-198.569,-33.265],[-201.499,-31.195],[-202.821,-29.57],[-202.765,-26.21],[-202.765,-26.21],[-202.765,-26.208],[-202.49,-25.961],[-202.607,-25.865],[-203.297,-24.183],[-203.307,-23.102],[-205.069,-20.253],[-203.069,-20.339],[-204.159,-14.44],[-207.388,-12.177],[-205.093,-9.758],[-203.934,-8.533],[-200.309,-7.989],[-197.24,-9.086],[-193.495,-11.096],[-197.24,-9.086],[-200.309,-7.989],[-202.832,-5.069],[-202.913,-3.919],[-202.913,-3.919],[-202.753,3.291],[-200.293,3.931],[-198.14,4.554],[-192.333,19.947],[-192.348,19.967],[-199.678,23.306],[-218.997,22.262],[-221.867,32.216],[-222.602,42.521],[-222.922,47.285],[-224.824,47.403],[-224.865,48.507],[-222.618,53.296],[-221.363,59.23],[-216.69,60.326],[-210.793,65.144],[-210.793,65.144],[-210.795,65.144],[-210.919,68.651],[-210.806,69.47],[-211.448,70.324],[-215.283,74.431],[-225.352,87.832],[-236.938,102.194],[-239.044,106.997],[-246.47,117.555],[-246.473,117.555],[-246.867,119.612],[-255.189,130.685],[-256.031,135.251],[-254.956,136.444],[-253.912,137.064],[-253.854,137.699],[-255.384,153.885],[-255.253,155.337],[-257.304,167.34],[-257.277,170.05],[-257.348,170.973],[-256.266,174.442],[-255.985,174.437],[-255.952,176.949],[-249.307,176.899],[-239.894,186.314],[-239.758,189.786],[-238.579,190.934],[-238.468,192.249],[-238.466,192.249],[-230.757,198.987],[-229.531,199.566],[-225.944,203.084],[-225.944,203.081],[-225.944,203.084],[-219.967,207.759],[-219.967,207.759],[-219.967,207.759],[-213.612,207.969],[-195.889,206.084],[-195.889,206.079],[-183.009,202.967],[-165.662,201.766],[-165.659,201.766],[-164.414,204.225],[-162.74,207.449],[-162.737,207.449],[-151.256,208.812],[-151.256,208.812],[-149.051,211.387],[-144.752,219.359],[-144.73,219.469],[-145.847,220.815],[-146.163,223.234],[-144.723,223.294],[-136.766,247.084],[-135.669,248.42],[-135.669,248.425],[-135.172,249.441],[-135.164,249.441],[-135.17,249.444],[-134.734,251.665],[-132.857,252.891],[-132.857,252.889],[-132.857,252.891],[-130.835,259.717],[-130.835,259.717],[-127.991,276.545],[-129.764,284.671],[-136.436,304.101],[-134.719,311.762],[-126.449,331.05],[-115.826,361.523],[-115.711,360.896],[-115.711,360.896],[-115.364,360.981],[-115.826,361.523],[-112.052,380.234],[-102.549,386.039],[-89.537,383.822],[-70.739,377.834],[-51.905,356.273],[-49.853,348.473],[-46.746,341.242],[-37.947,334.497],[-38.929,322.495],[-38.929,322.498],[-39.338,321.336],[-38.295,316.005],[-38.301,316.007],[-38.298,316.005],[-30.616,309.791],[-26.789,306.728],[-26.792,306.728],[-25.168,305.111],[-25.168,305.108],[-25.168,305.108],[-13.582,290.175],[-13.416,279.009],[-16.118,273.003],[-18.142,259.085],[-16.131,247.055],[-7.073,235.017],[-7.073,235.017],[-6.577,234.03],[10.73,219.432],[13.124,217.359],[13.051,215.692],[13.407,215.018],[14.486,214.778],[15.828,213.85],[18.041,211.915],[18.977,211.608],[22.164,206.53],[23.505,206.612],[28.233,195.992],[28.395,194.861],[28.793,194.52],[32.973,187.457],[33.688,177.245],[24.58,176.839],[0.556,179.555],[0.671,179.076],[0.311,178.078],[2.83,173.776],[7.221,172.882],[19.646,168.663],[23.842,164.567],[23.67,164.048],[23.502,163.803],[23.528,163.785],[23.478,163.765],[23.451,163.723],[23.451,163.624],[23.67,164.048],[24.255,164.648],[35.516,161.56],[41.691,154.079],[41.691,154.076],[53.575,146.331],[59.876,143.617],[63.458,136.022],[62.723,122.35],[62.604,122.475],[54.875,121.016],[51.176,115.099],[51.175,115.099],[51.175,115.099],[51.358,113.807],[50.113,109.596],[48.923,112.416],[48.922,112.416],[44.497,116.337],[43.225,119.761],[39.841,121.141],[30.675,118.557],[30.675,118.555],[29.502,113.768],[29.502,113.768],[30.594,112.672],[28.143,110.38],[27.448,113],[24.667,111.347],[19.169,102.91],[19.169,102.913],[16.592,98.237],[15.113,94.696],[15.113,94.696],[15.113,94.693],[16.021,91.519],[18.516,91.296],[24.21,95.425],[34.068,105.108],[36.403,106.363],[39.687,107.184],[44.017,107.661],[47.52,108.354],[53.511,111.138],[73.223,114.523],[74.338,116.263],[78.931,116.777],[97.487,121.138],[101.749,121.855],[106.573,129.266],[119.325,134.8],[121.549,138.723],[122.279,146.299],[141.346,190.398],[149.744,192.139],[155.912,184.509],[155.929,184.35],[157.461,180.969],[166.207,152.023],[170.444,148.083],[191.156,129.373],[195.474,129.904],[202.147,129.432],[204.662,136.001],[214.007,155.495],[215.594,157.842],[222.809,157.422]],"c":true},"ix":2},"nm":"Path 22","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"null","np":23,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":301,"st":0,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":"outline fill","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.58],"y":[0]},"n":["0p833_0p833_0p58_0"],"t":30,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":114,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.72],"y":[0]},"n":["0p833_0p833_0p72_0"],"t":180,"s":[100],"e":[0]},{"t":262}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,300,0],"ix":2},"a":{"a":0,"k":[-18.5,-5.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-81.462,0],[0,-81.462],[81.462,0],[0,81.462]],"o":[[81.462,0],[0,81.462],[-81.462,0],[0,-81.462]],"v":[[-18.5,-153],[129,-5.5],[-18.5,142],[-166,-5.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":7,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":301,"st":0,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":"outline","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.37],"y":[1]},"o":{"x":[0.58],"y":[0]},"n":["0p37_1_0p58_0"],"t":0,"s":[180],"e":[785]},{"i":{"x":[0.564],"y":[1]},"o":{"x":[0.182],"y":[0]},"n":["0p564_1_0p182_0"],"t":120,"s":[785],"e":[809]},{"i":{"x":[0.41],"y":[1]},"o":{"x":[0.339],"y":[0]},"n":["0p41_1_0p339_0"],"t":180,"s":[809],"e":[1260]},{"t":300}],"ix":10},"p":{"a":0,"k":[400,300,0],"ix":2},"a":{"a":0,"k":[-18.5,-5.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-81.462,0],[0,-81.462],[81.462,0],[0,81.462]],"o":[[81.462,0],[0,81.462],[-81.462,0],[0,-81.462]],"v":[[-18.5,-153],[129,-5.5],[-18.5,142],[-166,-5.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.37],"y":[1]},"o":{"x":[0.58],"y":[0]},"n":["0p37_1_0p58_0"],"t":0,"s":[99.9],"e":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":120,"s":[0],"e":[0]},{"i":{"x":[0.41],"y":[1]},"o":{"x":[0.58],"y":[0]},"n":["0p41_1_0p58_0"],"t":180,"s":[0],"e":[99.9]},{"t":300}],"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.5],"y":[0]},"n":["0p833_0p833_0p5_0"],"t":0,"s":[23],"e":[4]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":60,"s":[4],"e":[4]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.5],"y":[0]},"n":["0p833_0p833_0p5_0"],"t":248,"s":[4],"e":[23]},{"t":300}],"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":0,"op":301,"st":0,"bm":0}]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/worm.json b/submodules/RLottie/Sources/rlottie/example/resource/worm.json deleted file mode 100644 index 37e108ea9a..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/worm.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"4.12.3","fr":60,"ip":0,"op":241,"w":800,"h":600,"nm":"worm_lottie","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 8","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,300,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[4.75,-5.5]],"o":[[0,0],[-4.75,5.5]],"v":[[67.125,146.75],[59.375,147.75]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.286274509804,0.301960784314,0.419607873056,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":241,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 7","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[406.875,329,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.071,0],[0,-2.071],[-2.071,0],[0,2.071]],"o":[[-2.071,0],[0,2.071],[2.071,0],[0,-2.071]],"v":[[0,-3.75],[-3.75,0],[0,3.75],[3.75,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.286274509804,0.301960784314,0.419607873056,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[54.125,110.875],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[44.414,44.414],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":241,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 6","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,300,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-167,157],[141,157]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":2,"lj":1,"ml":4,"d":[{"n":"d","nm":"dash","v":{"a":0,"k":10,"ix":1}},{"n":"o","nm":"offset","v":{"a":1,"k":[{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_1_0p167_0p167"],"t":0,"s":[0],"e":[60]},{"t":60,"s":[60],"h":1},{"t":120,"s":[60],"h":1}],"ix":7,"x":"var $bm_rt;\n$bm_rt = loopOut('cycle');"}}],"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":241,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Shape Layer 5","parent":8,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.77],"y":[0]},"n":["0p833_0p833_0p77_0"],"t":120,"s":[21],"e":[11]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":171,"s":[11],"e":[21]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":175,"s":[21],"e":[21]},{"t":240}],"ix":10,"x":"var $bm_rt;\nvar amp, freq, decay, n, t;\ntry {\n amp = div(effect('Rotation - Overshoot')('ADBE Slider Control-0001'), 2.5), freq = div(effect('Rotation - Bounce')('ADBE Slider Control-0001'), 20), decay = div(effect('Rotation - Friction')('ADBE Slider Control-0001'), 20), n = 0, 0 < numKeys && (n = nearestKey(time).index, key(n).time > time && n--), t = 0 === n ? 0 : time - key(n).time, $bm_rt = 0 < n ? (v = velocityAtTime(sub(key(n).time, div(thisComp.frameDuration, 10))), sum(value, div(mul(mul(div(v, 100), amp), Math.sin(mul(mul(mul(freq, t), 2), Math.PI))), Math.exp(mul(decay, t))))) : value;\n} catch (e$$4) {\n $bm_rt = value = value;\n}"},"p":{"a":0,"k":[0.08,-1.677,0],"ix":2},"a":{"a":0,"k":[245.226,98.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Rotation - Overshoot","np":3,"mn":"ADBE Slider Control","ix":1,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":10,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]},{"ty":5,"nm":"Rotation - Bounce","np":3,"mn":"ADBE Slider Control","ix":2,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":30,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]},{"ty":5,"nm":"Rotation - Friction","np":3,"mn":"ADBE Slider Control","ix":3,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":60,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.579,0],[0,-2.579],[-2.579,0],[0,2.579]],"o":[[-2.579,0],[0,2.579],[2.579,0],[0,-2.579]],"v":[[-18.5,3.33],[-23.17,8],[-18.5,12.67],[-13.83,8]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[280,66],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-18,3]],"o":[[0,0],[18,-3]],"v":[[245.5,98.5],[260,75]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":120,"op":241,"st":120,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Shape Layer 4","parent":8,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.859],"y":[1]},"o":{"x":[0.709],"y":[0]},"n":["0p859_1_0p709_0"],"t":120,"s":[0],"e":[-10]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.325],"y":[0]},"n":["0p833_0p833_0p325_0"],"t":172,"s":[-10],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":177,"s":[0],"e":[0]},{"t":240}],"ix":10,"x":"var $bm_rt;\nvar amp, freq, decay, n, t;\ntry {\n amp = div(effect('Rotation - Overshoot')('ADBE Slider Control-0001'), 2.5), freq = div(effect('Rotation - Bounce')('ADBE Slider Control-0001'), 20), decay = div(effect('Rotation - Friction')('ADBE Slider Control-0001'), 20), n = 0, 0 < numKeys && (n = nearestKey(time).index, key(n).time > time && n--), t = 0 === n ? 0 : time - key(n).time, $bm_rt = 0 < n ? (v = velocityAtTime(sub(key(n).time, div(thisComp.frameDuration, 10))), sum(value, div(mul(mul(div(v, 100), amp), Math.sin(mul(mul(mul(freq, t), 2), Math.PI))), Math.exp(mul(decay, t))))) : value;\n} catch (e$$4) {\n $bm_rt = value = value;\n}"},"p":{"a":0,"k":[1.226,-4,0],"ix":2},"a":{"a":0,"k":[245.226,98.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Rotation - Overshoot","np":3,"mn":"ADBE Slider Control","ix":1,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":10,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]},{"ty":5,"nm":"Rotation - Bounce","np":3,"mn":"ADBE Slider Control","ix":2,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":30,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]},{"ty":5,"nm":"Rotation - Friction","np":3,"mn":"ADBE Slider Control","ix":3,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":60,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.485,0],[0,-2.485],[-2.485,0],[0,2.485]],"o":[[-2.485,0],[0,2.485],[2.485,0],[0,-2.485]],"v":[[-18.5,3.5],[-23,8],[-18.5,12.5],[-14,8]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[280,66],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-18,3]],"o":[[0,0],[18,-3]],"v":[[245.5,98.5],[260,75]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":120,"op":241,"st":120,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Shape Layer 3","parent":8,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.77],"y":[0]},"n":["0p833_0p833_0p77_0"],"t":0,"s":[21],"e":[4]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":51,"s":[4],"e":[21]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":55,"s":[21],"e":[21]},{"t":120}],"ix":10,"x":"var $bm_rt;\nvar amp, freq, decay, n, t;\ntry {\n amp = div(effect('Rotation - Overshoot')('ADBE Slider Control-0001'), 2.5), freq = div(effect('Rotation - Bounce')('ADBE Slider Control-0001'), 20), decay = div(effect('Rotation - Friction')('ADBE Slider Control-0001'), 20), n = 0, 0 < numKeys && (n = nearestKey(time).index, key(n).time > time && n--), t = 0 === n ? 0 : time - key(n).time, $bm_rt = 0 < n ? (v = velocityAtTime(sub(key(n).time, div(thisComp.frameDuration, 10))), sum(value, div(mul(mul(div(v, 100), amp), Math.sin(mul(mul(mul(freq, t), 2), Math.PI))), Math.exp(mul(decay, t))))) : value;\n} catch (e$$4) {\n $bm_rt = value = value;\n}"},"p":{"a":0,"k":[0.08,-1.677,0],"ix":2},"a":{"a":0,"k":[245.226,98.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Rotation - Overshoot","np":3,"mn":"ADBE Slider Control","ix":1,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":10,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]},{"ty":5,"nm":"Rotation - Bounce","np":3,"mn":"ADBE Slider Control","ix":2,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":30,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]},{"ty":5,"nm":"Rotation - Friction","np":3,"mn":"ADBE Slider Control","ix":3,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":60,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.579,0],[0,-2.579],[-2.579,0],[0,2.579]],"o":[[-2.579,0],[0,2.579],[2.579,0],[0,-2.579]],"v":[[-18.5,3.33],[-23.17,8],[-18.5,12.67],[-13.83,8]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[280,66],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-18,3]],"o":[[0,0],[18,-3]],"v":[[245.5,98.5],[260,75]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":121,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Shape Layer 2","parent":8,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.709],"y":[0]},"n":["0p833_0p833_0p709_0"],"t":0,"s":[0],"e":[-22]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":53,"s":[-22],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":57,"s":[0],"e":[0]},{"t":120}],"ix":10,"x":"var $bm_rt;\nvar amp, freq, decay, n, t;\ntry {\n amp = div(effect('Rotation - Overshoot')('ADBE Slider Control-0001'), 2.5), freq = div(effect('Rotation - Bounce')('ADBE Slider Control-0001'), 20), decay = div(effect('Rotation - Friction')('ADBE Slider Control-0001'), 20), n = 0, 0 < numKeys && (n = nearestKey(time).index, key(n).time > time && n--), t = 0 === n ? 0 : time - key(n).time, $bm_rt = 0 < n ? (v = velocityAtTime(sub(key(n).time, div(thisComp.frameDuration, 10))), sum(value, div(mul(mul(div(v, 100), amp), Math.sin(mul(mul(mul(freq, t), 2), Math.PI))), Math.exp(mul(decay, t))))) : value;\n} catch (e$$4) {\n $bm_rt = value = value;\n}"},"p":{"a":0,"k":[1.226,-4,0],"ix":2},"a":{"a":0,"k":[245.226,98.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Rotation - Overshoot","np":3,"mn":"ADBE Slider Control","ix":1,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":10,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]},{"ty":5,"nm":"Rotation - Bounce","np":3,"mn":"ADBE Slider Control","ix":2,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":30,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]},{"ty":5,"nm":"Rotation - Friction","np":3,"mn":"ADBE Slider Control","ix":3,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":60,"ix":1,"x":"var $bm_rt;\n$bm_rt = clamp(value, 0, 100);"}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.485,0],[0,-2.485],[-2.485,0],[0,2.485]],"o":[[-2.485,0],[0,2.485],[2.485,0],[0,-2.485]],"v":[[-18.5,3.5],[-23,8],[-18.5,12.5],[-14,8]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[280,66],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-18,3]],"o":[[0,0],[18,-3]],"v":[[245.5,98.5],[260,75]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":121,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":3,"nm":"front head","parent":13,"sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[121,202,0],"e":[181,202,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":60,"s":[181,202,0],"e":[181,202,0],"to":[0,0,0],"ti":[0,0,0]},{"t":120}],"ix":2,"x":"var $bm_rt;\n$bm_rt = loopOut('cycle');"},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ip":0,"op":241,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":3,"nm":"front","parent":13,"sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[68,202,0],"e":[128,202,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":60,"s":[128,202,0],"e":[128,202,0],"to":[0,0,0],"ti":[0,0,0]},{"t":120}],"ix":2,"x":"var $bm_rt;\n$bm_rt = loopOut('cycle');"},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ip":0,"op":241,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":3,"nm":"hump","parent":13,"sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[47,155,0],"e":[67,202,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":60,"s":[67,202,0],"e":[107,155,0],"to":[0,0,0],"ti":[0,0,0]},{"t":120}],"ix":2,"x":"var $bm_rt;\n$bm_rt = loopOut('cycle');"},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ip":0,"op":241,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":3,"nm":"back","parent":13,"sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[17,202,0],"e":[-3,202,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":60,"s":[-3,202,0],"e":[77,202,0],"to":[0,0,0],"ti":[0,0,0]},{"t":120}],"ix":2,"x":"var $bm_rt;\n$bm_rt = loopOut('cycle');"},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ip":0,"op":241,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":3,"nm":"back","parent":13,"sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[-25,202,0],"e":[-45,202,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":60,"s":[-45,202,0],"e":[35,202,0],"to":[0,0,0],"ti":[0,0,0]},{"t":120}],"ix":2,"x":"var $bm_rt;\n$bm_rt = loopOut('cycle');"},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ip":0,"op":241,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":3,"nm":"NULL CONTROL","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[400,300,0],"e":[340,300,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":60,"s":[340,300,0],"e":[340,300,0],"to":[0,0,0],"ti":[0,0,0]},{"t":120}],"ix":2,"x":"var $bm_rt;\n$bm_rt = loopOut('cycle');"},"a":{"a":0,"k":[60,60,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ip":0,"op":241,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,300,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Shape Layer 1: Path 1 [1.1.0]","np":3,"mn":"ADBE Layer Control","ix":1,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":12,"ix":1}}]},{"ty":5,"nm":"Shape Layer 1: Path 1 [1.1.1]","np":3,"mn":"ADBE Layer Control","ix":2,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":11,"ix":1}}]},{"ty":5,"nm":"Shape Layer 1: Path 1 [1.1.2]","np":3,"mn":"ADBE Layer Control","ix":3,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":10,"ix":1}}]},{"ty":5,"nm":"Shape Layer 1: Path 1 [1.1.3]","np":3,"mn":"ADBE Layer Control","ix":4,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":9,"ix":1}}]},{"ty":5,"nm":"Shape Layer 1: Path 1 [1.1.4]","np":3,"mn":"ADBE Layer Control","ix":5,"en":1,"ef":[{"ty":10,"nm":"Layer","mn":"ADBE Layer Control-0001","ix":1,"v":{"a":0,"k":8,"ix":1}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-28,0],[-26,0],[-17,0],[0,0]],"o":[[0,0],[28,0],[29,0],[17,0],[0,0]],"v":[[-105,142],[-63,142],[-23,95],[8,142],[61,142]],"c":false},"ix":2,"x":"var $bm_rt;\nvar nullLayerNames = [\n 'Shape Layer 1: Path 1 [1.1.0]',\n 'Shape Layer 1: Path 1 [1.1.1]',\n 'Shape Layer 1: Path 1 [1.1.2]',\n 'Shape Layer 1: Path 1 [1.1.3]',\n 'Shape Layer 1: Path 1 [1.1.4]'\n ];\nvar origPath = thisProperty;\nvar origPoints = origPath.points();\nvar origInTang = origPath.inTangents();\nvar origOutTang = origPath.outTangents();\nvar getNullLayers = [];\nfor (var i = 0; i < nullLayerNames.length; i++) {\n try {\n getNullLayers.push(effect(nullLayerNames[i])('ADBE Layer Control-0001'));\n } catch (err) {\n getNullLayers.push(null);\n }\n}\nfor (var i = 0; i < getNullLayers.length; i++) {\n if (getNullLayers[i] != null && getNullLayers[i].index != thisLayer.index) {\n origPoints[i] = fromCompToSurface(getNullLayers[i].toComp(getNullLayers[i].anchorPoint));\n }\n}\n$bm_rt = createPath(origPoints, origInTang, origOutTang, origPath.isClosed());"},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":17,"ix":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":241,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"worm","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[434,115,0],"ix":2},"a":{"a":0,"k":[400,300,0],"ix":1},"s":{"a":0,"k":[211,211,100],"ix":6}},"ao":0,"tm":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[4.017]},{"t":241}],"ix":2},"w":800,"h":600,"ip":0,"op":241,"st":0,"bm":0}]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/resource/you're_in!.json b/submodules/RLottie/Sources/rlottie/example/resource/you're_in!.json deleted file mode 100644 index d261bea86f..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/resource/you're_in!.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.2.1","fr":30,"ip":0,"op":231,"w":800,"h":800,"nm":"Code","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":0,"nm":"Rope Movement","refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[960,540,0],"ix":2},"a":{"a":0,"k":[960,540,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":1920,"h":1080,"ip":136.136136136136,"op":528.528528528529,"st":136.136136136136,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"Rope Movement","refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[960,540,0],"ix":2},"a":{"a":0,"k":[960,540,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":1920,"h":1080,"ip":0,"op":136.136136136136,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":0,"nm":"people line","refId":"comp_3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-60,691.205,0],"ix":2},"a":{"a":0,"k":[600,183,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ef":[{"ty":21,"nm":"Fill","np":9,"mn":"ADBE Fill","ix":1,"en":1,"ef":[{"ty":10,"nm":"Fill Mask","mn":"ADBE Fill-0001","ix":1,"v":{"a":0,"k":0,"ix":1}},{"ty":7,"nm":"All Masks","mn":"ADBE Fill-0007","ix":2,"v":{"a":0,"k":0,"ix":2}},{"ty":2,"nm":"Color","mn":"ADBE Fill-0002","ix":3,"v":{"a":0,"k":[0.792156875134,0.800000011921,0.807843148708,1],"ix":3}},{"ty":7,"nm":"Invert","mn":"ADBE Fill-0006","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":0,"nm":"Horizontal Feather","mn":"ADBE Fill-0003","ix":5,"v":{"a":0,"k":0,"ix":5}},{"ty":0,"nm":"Vertical Feather","mn":"ADBE Fill-0004","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Opacity","mn":"ADBE Fill-0005","ix":7,"v":{"a":0,"k":1,"ix":7}}]}],"w":1200,"h":366,"ip":0,"op":528.528528528529,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":0,"nm":"Blue Member 2","refId":"comp_5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[960,532,0],"ix":2},"a":{"a":0,"k":[960,540,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"s","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[1558.356,382.617],[1110,382.617],[1110,982],[1558.356,982]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"w":1920,"h":1080,"ip":136.136136136136,"op":528.528528528529,"st":136.136136136136,"bm":0},{"ddd":0,"ind":9,"ty":0,"nm":"Blue Member","refId":"comp_5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[960,532,0],"ix":2},"a":{"a":0,"k":[960,540,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"s","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[1558.356,382.617],[1110,382.617],[1110,982],[1558.356,982]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"w":1920,"h":1080,"ip":0,"op":528.528528528529,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":0,"nm":"people line","refId":"comp_3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-4,693.205,0],"ix":2},"a":{"a":0,"k":[600,183,0],"ix":1},"s":{"a":0,"k":[95,95,100],"ix":6}},"ao":0,"ef":[{"ty":21,"nm":"Fill","np":9,"mn":"ADBE Fill","ix":1,"en":1,"ef":[{"ty":10,"nm":"Fill Mask","mn":"ADBE Fill-0001","ix":1,"v":{"a":0,"k":0,"ix":1}},{"ty":7,"nm":"All Masks","mn":"ADBE Fill-0007","ix":2,"v":{"a":0,"k":0,"ix":2}},{"ty":2,"nm":"Color","mn":"ADBE Fill-0002","ix":3,"v":{"a":0,"k":[0.701960802078,0.709803938866,0.717647075653,1],"ix":3}},{"ty":7,"nm":"Invert","mn":"ADBE Fill-0006","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":0,"nm":"Horizontal Feather","mn":"ADBE Fill-0003","ix":5,"v":{"a":0,"k":0,"ix":5}},{"ty":0,"nm":"Vertical Feather","mn":"ADBE Fill-0004","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Opacity","mn":"ADBE Fill-0005","ix":7,"v":{"a":0,"k":1,"ix":7}}]}],"w":1200,"h":366,"ip":-23.023023023023,"op":528.528528528529,"st":-23.023023023023,"bm":0},{"ddd":0,"ind":11,"ty":0,"nm":"pole","refId":"comp_6","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1217,728.37,0],"ix":2},"a":{"a":0,"k":[121,123,0],"ix":1},"s":{"a":0,"k":[80,80,100],"ix":6}},"ao":0,"w":242,"h":246,"ip":0,"op":528.528528528529,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":0,"nm":"pole","refId":"comp_6","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[701,727.37,0],"ix":2},"a":{"a":0,"k":[121,123,0],"ix":1},"s":{"a":0,"k":[80,80,100],"ix":6}},"ao":0,"sy":[{"ty":0,"nm":"Stroke","c":{"a":0,"k":[0.615686297417,0.623529434204,0.631372570992,1],"ix":2},"s":{"a":0,"k":4,"ix":3}}],"w":242,"h":246,"ip":0,"op":528.528528528529,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":0,"nm":"Party","refId":"comp_8","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[960,542,0],"ix":2},"a":{"a":0,"k":[960,540,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":0,"k":{"i":[[0,0],[0,0],[-84.071,0],[0,-84.071],[0,0]],"o":[[0,0],[0,-84.071],[84.071,0],[0,0],[0,0]],"v":[[807,820.5],[807,498.467],[959.467,346],[1111.934,498.467],[1111.934,820.5]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"w":1920,"h":1080,"ip":0,"op":528.528528528529,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":0,"nm":"Party","refId":"comp_8","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[960,544,0],"ix":2},"a":{"a":0,"k":[960,540,0],"ix":1},"s":{"a":0,"k":[109,109,100],"ix":6}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":0,"k":{"i":[[0,0],[0,0],[-84.071,0],[0,-84.071],[0,0]],"o":[[0,0],[0,-84.071],[84.071,0],[0,0],[0,0]],"v":[[807,795.729],[807,498.467],[959.467,346],[1111.934,498.467],[1111.934,795.729]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"ef":[{"ty":21,"nm":"Fill","np":9,"mn":"ADBE Fill","ix":1,"en":1,"ef":[{"ty":10,"nm":"Fill Mask","mn":"ADBE Fill-0001","ix":1,"v":{"a":0,"k":0,"ix":1}},{"ty":7,"nm":"All Masks","mn":"ADBE Fill-0007","ix":2,"v":{"a":0,"k":0,"ix":2}},{"ty":2,"nm":"Color","mn":"ADBE Fill-0002","ix":3,"v":{"a":0,"k":[0.792156875134,0.800000011921,0.807843148708,1],"ix":3}},{"ty":7,"nm":"Invert","mn":"ADBE Fill-0006","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":0,"nm":"Horizontal Feather","mn":"ADBE Fill-0003","ix":5,"v":{"a":0,"k":0,"ix":5}},{"ty":0,"nm":"Vertical Feather","mn":"ADBE Fill-0004","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Opacity","mn":"ADBE Fill-0005","ix":7,"v":{"a":0,"k":1,"ix":7}}]}],"w":1920,"h":1080,"ip":0,"op":528.528528528529,"st":0,"bm":0}]},{"id":"comp_1","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 10","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[945.75,491,0],"ix":2},"a":{"a":0,"k":[201.25,-332,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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},"n":"0p833_0p833_0p167_0p167","t":74.074,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[196.5,-329],[206,-335]],"c":false}],"e":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[74.637,-258.274],[93.137,-269.274]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":75.075,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[74.637,-258.274],[93.137,-269.274]],"c":false}],"e":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-12.5,-142.5],[-11.5,-148.5]],"c":false}]},{"t":76.0760760760761}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.952941176471,0.541176470588,0.470588235294,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":8,"ix":5},"lc":2,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.952941176471,0.541176470588,0.470588235294,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":74.0740740740741,"op":77.0770770770771,"st":23.023023023023,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 9","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[950.75,472,0],"ix":2},"a":{"a":0,"k":[202.75,-324.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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},"n":"0p833_0p833_0p167_0p167","t":74.074,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[198,-321.5],[207.5,-327.5]],"c":false}],"e":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[63,-248],[79.5,-258]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":75.075,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[63,-248],[79.5,-258]],"c":false}],"e":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-26.5,-117.5],[-25.5,-125]],"c":false}]},{"t":76.0760760760761}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.96862745098,0.874509803922,0.549019607843,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":2,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.952941176471,0.541176470588,0.470588235294,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":74.0740740740741,"op":77.0770770770771,"st":23.023023023023,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 8","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[959.75,451.75,0],"ix":2},"a":{"a":0,"k":[197.25,-334.75,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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},"n":"0p833_0p833_0p167_0p167","t":74.074,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[206,-340.5],[188.5,-329]],"c":false}],"e":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[71,-270.5],[39,-250.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":75.075,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[71,-270.5],[39,-250.5]],"c":false}],"e":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-51.5,-122.5],[-54.5,-111.5]],"c":false}]},{"t":76.0760760760761}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.96862745098,0.874509803922,0.549019607843,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":2,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.952941176471,0.541176470588,0.470588235294,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":74.0740740740741,"op":77.0770770770771,"st":23.023023023023,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"Shape Layer 7","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[966.5,573,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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},"n":"0p833_0p833_0p167_0p167","t":51.051,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[196.5,-329],[206,-335]],"c":false}],"e":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[260,-323.5],[220,-322.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":52.052,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[260,-323.5],[220,-322.5]],"c":false}],"e":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[289,-314.5],[277,-322.5]],"c":false}]},{"t":53.053053053053}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.952941176471,0.541176470588,0.470588235294,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":8,"ix":5},"lc":2,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.952941176471,0.541176470588,0.470588235294,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":51.0510510510511,"op":54.0540540540541,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"Shape Layer 6","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[960,548,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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},"n":"0p833_0p833_0p167_0p167","t":51.051,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[198,-321.5],[207.5,-327.5]],"c":false}],"e":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[260,-323.5],[220,-322.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":52.052,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[260,-323.5],[220,-322.5]],"c":false}],"e":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[308,-304.5],[296,-312.5]],"c":false}]},{"t":53.053053053053}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.96862745098,0.874509803922,0.549019607843,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":2,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.952941176471,0.541176470588,0.470588235294,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":51.0510510510511,"op":54.0540540540541,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"Shape Layer 5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[960,540,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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},"n":"0p833_0p833_0p167_0p167","t":51.051,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[206,-340.5],[188.5,-329]],"c":false}],"e":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[263.5,-337.5],[196.5,-337.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":52.052,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[263.5,-337.5],[196.5,-337.5]],"c":false}],"e":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[327,-304],[304,-322.5]],"c":false}]},{"t":53.053053053053}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.96862745098,0.874509803922,0.549019607843,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":2,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.952941176471,0.541176470588,0.470588235294,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":51.0510510510511,"op":54.0540540540541,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":0,"nm":"Rope","refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[960,540,0],"ix":2},"a":{"a":0,"k":[960,540,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":1920,"h":1080,"ip":0,"op":509.509509509509,"st":0,"bm":0}]},{"id":"comp_2","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"ROPE","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[960,540,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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},"n":"0p833_0p833_0p167_0p167","t":37.037,"s":[{"i":[[0,0],[-98.003,-3.524],[0,0]],"o":[[0,0],[98.003,3.524],[0,0]],"v":[[-256,145],[12.997,202.476],[261,144]],"c":false}],"e":[{"i":[[0,0],[-157.997,69.524],[0,0]],"o":[[0,0],[89.76,-39.498],[0,0]],"v":[[-256,145],[53.997,60.476],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":41.041,"s":[{"i":[[0,0],[-157.997,69.524],[0,0]],"o":[[0,0],[89.76,-39.498],[0,0]],"v":[[-256,145],[53.997,60.476],[261,144]],"c":false}],"e":[{"i":[[-131,67],[-167.543,-41.544],[0,0]],"o":[[131,-67],[111.003,27.524],[0,0]],"v":[[-85,118],[177.997,-67.524],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":44.044,"s":[{"i":[[-131,67],[-167.543,-41.544],[0,0]],"o":[[131,-67],[111.003,27.524],[0,0]],"v":[[-85,118],[177.997,-67.524],[261,144]],"c":false}],"e":[{"i":[[-58.242,135.122],[-109.997,-11.476],[0,0]],"o":[[25,-58],[113.747,11.867],[0,0]],"v":[[95,56],[209.997,-128.524],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":46.046,"s":[{"i":[[-58.242,135.122],[-109.997,-11.476],[0,0]],"o":[[25,-58],[113.747,11.867],[0,0]],"v":[[95,56],[209.997,-128.524],[261,144]],"c":false}],"e":[{"i":[[-19.414,45.041],[-62.35,-12.578],[-16.222,-23.945]],"o":[[11.785,-72.253],[87.466,32.993],[30.606,47.27]],"v":[[156.215,-94.747],[225.35,-195.422],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":48.048,"s":[{"i":[[-19.414,45.041],[-62.35,-12.578],[-16.222,-23.945]],"o":[[11.785,-72.253],[87.466,32.993],[30.606,47.27]],"v":[[156.215,-94.747],[225.35,-195.422],[261,144]],"c":false}],"e":[{"i":[[0,0],[-63.35,-42.078],[-16.222,-23.945]],"o":[[0,0],[68.058,37.708],[30.606,47.27]],"v":[[161.715,-174.747],[260.35,-234.922],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":49.049,"s":[{"i":[[0,0],[-63.35,-42.078],[-16.222,-23.945]],"o":[[0,0],[68.058,37.708],[30.606,47.27]],"v":[[161.715,-174.747],[260.35,-234.922],[261,144]],"c":false}],"e":[{"i":[[-19.414,45.041],[-15.35,-48.578],[-16.222,-23.945]],"o":[[47.785,-55.253],[19.448,61.549],[30.606,47.27]],"v":[[163.215,-255.747],[295.35,-226.422],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":50.05,"s":[{"i":[[-19.414,45.041],[-15.35,-48.578],[-16.222,-23.945]],"o":[[47.785,-55.253],[19.448,61.549],[30.606,47.27]],"v":[[163.215,-255.747],[295.35,-226.422],[261,144]],"c":false}],"e":[{"i":[[0,0],[48.063,-75.399],[-16.181,-61.782]],"o":[[0,0],[-55.924,87.73],[0,0]],"v":[[201.995,-337.25],[261.924,-145.73],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":51.051,"s":[{"i":[[0,0],[48.063,-75.399],[-16.181,-61.782]],"o":[[0,0],[-55.924,87.73],[0,0]],"v":[[201.995,-337.25],[261.924,-145.73],[261,144]],"c":false}],"e":[{"i":[[0,0],[25.07,-76.834],[-16.181,-61.782]],"o":[[0,0],[-29.695,91.056],[0,0]],"v":[[262.495,-339.75],[237.924,-129.73],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":52.052,"s":[{"i":[[0,0],[25.07,-76.834],[-16.181,-61.782]],"o":[[0,0],[-29.695,91.056],[0,0]],"v":[[262.495,-339.75],[237.924,-129.73],[261,144]],"c":false}],"e":[{"i":[[0,0],[2.076,-78.27],[-16.181,-61.782]],"o":[[0,0],[-3.467,94.383],[0,0]],"v":[[331.995,-309.25],[213.924,-128.73],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":53.053,"s":[{"i":[[0,0],[2.076,-78.27],[-16.181,-61.782]],"o":[[0,0],[-3.467,94.383],[0,0]],"v":[[331.995,-309.25],[213.924,-128.73],[261,144]],"c":false}],"e":[{"i":[[0,0],[2.076,-78.27],[-16.181,-61.782]],"o":[[0,0],[-3.467,94.383],[0,0]],"v":[[371.495,-284.75],[217.924,-132.23],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":54.054,"s":[{"i":[[0,0],[2.076,-78.27],[-16.181,-61.782]],"o":[[0,0],[-3.467,94.383],[0,0]],"v":[[371.495,-284.75],[217.924,-132.23],[261,144]],"c":false}],"e":[{"i":[[0,0],[0,-112.27],[-16.181,-61.782]],"o":[[0,0],[-3.467,94.382],[0,0]],"v":[[395.995,-254.25],[228.924,-130.73],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":55.055,"s":[{"i":[[0,0],[0,-112.27],[-16.181,-61.782]],"o":[[0,0],[-3.467,94.382],[0,0]],"v":[[395.995,-254.25],[228.924,-130.73],[261,144]],"c":false}],"e":[{"i":[[0,0],[0,-112.27],[-16.181,-61.782]],"o":[[0,0],[-3.467,94.382],[0,0]],"v":[[407.502,-239.456],[219.061,-134.017],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":69.069,"s":[{"i":[[0,0],[0,-112.27],[-16.181,-61.782]],"o":[[0,0],[-3.467,94.382],[0,0]],"v":[[407.502,-239.456],[219.061,-134.017],[261,144]],"c":false}],"e":[{"i":[[0,0],[30.019,-141.415],[-16.181,-61.782]],"o":[[0,0],[-30.019,141.415],[0,0]],"v":[[422.296,-193.428],[222.348,-132.373],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":71.071,"s":[{"i":[[0,0],[30.019,-141.415],[-16.181,-61.782]],"o":[[0,0],[-30.019,141.415],[0,0]],"v":[[422.296,-193.428],[222.348,-132.373],[261,144]],"c":false}],"e":[{"i":[[0,0],[-32.611,-39.166],[-42.089,-15.667]],"o":[[-66,58],[41.234,49.522],[0,0]],"v":[[114,-144],[87.497,51.476],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":73.073,"s":[{"i":[[0,0],[-32.611,-39.166],[-42.089,-15.667]],"o":[[-66,58],[41.234,49.522],[0,0]],"v":[[114,-144],[87.497,51.476],[261,144]],"c":false}],"e":[{"i":[[-13,-44],[-165.271,-51.701],[-66,8]],"o":[[13,44],[72.003,22.524],[167.916,-20.353]],"v":[[-150,-19],[16.997,141.476],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":74.95,"s":[{"i":[[-13,-44],[-165.271,-51.701],[-66,8]],"o":[[13,44],[72.003,22.524],[167.916,-20.353]],"v":[[-150,-19],[16.997,141.476],[261,144]],"c":false}],"e":[{"i":[[0,0],[-124.003,0.476],[-66,8]],"o":[[0,0],[124.003,-0.476],[167.916,-20.353]],"v":[[-254,144],[-7.003,178.476],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":75.888,"s":[{"i":[[0,0],[-124.003,0.476],[-66,8]],"o":[[0,0],[124.003,-0.476],[167.916,-20.353]],"v":[[-254,144],[-7.003,178.476],[261,144]],"c":false}],"e":[{"i":[[0,0],[-124.003,0.476],[-66,8]],"o":[[0,0],[124.003,-0.476],[167.916,-20.353]],"v":[[-254,144],[1.997,220.476],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":78.704,"s":[{"i":[[0,0],[-124.003,0.476],[-66,8]],"o":[[0,0],[124.003,-0.476],[167.916,-20.353]],"v":[[-254,144],[1.997,220.476],[261,144]],"c":false}],"e":[{"i":[[0,0],[-124.003,0.476],[-66,8]],"o":[[0,0],[124.003,-0.476],[167.916,-20.353]],"v":[[-254,144],[6.997,159.476],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":81.519,"s":[{"i":[[0,0],[-124.003,0.476],[-66,8]],"o":[[0,0],[124.003,-0.476],[167.916,-20.353]],"v":[[-254,144],[6.997,159.476],[261,144]],"c":false}],"e":[{"i":[[0,0],[-98.003,-3.524],[0,0]],"o":[[0,0],[98.003,3.524],[0,0]],"v":[[-256,145],[12.997,209.051],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":84.334,"s":[{"i":[[0,0],[-98.003,-3.524],[0,0]],"o":[[0,0],[98.003,3.524],[0,0]],"v":[[-256,145],[12.997,209.051],[261,144]],"c":false}],"e":[{"i":[[0,0],[-98.003,-3.524],[0,0]],"o":[[0,0],[98.003,3.524],[0,0]],"v":[[-256,145],[12.997,202.476],[261,144]],"c":false}]},{"t":88.0880880880881}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":0,"k":99,"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.96862745098,0.874509803922,0.549019607843,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":30,"ix":5},"lc":2,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 5","np":3,"cix":2,"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},"n":"0p833_0p833_0p167_0p167","t":37.037,"s":[{"i":[[0,0],[-98.003,-3.524],[0,0]],"o":[[0,0],[98.003,3.524],[0,0]],"v":[[-256,145],[12.997,202.476],[261,144]],"c":false}],"e":[{"i":[[0,0],[-157.997,69.524],[0,0]],"o":[[0,0],[89.76,-39.498],[0,0]],"v":[[-256,145],[53.997,60.476],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":41.041,"s":[{"i":[[0,0],[-157.997,69.524],[0,0]],"o":[[0,0],[89.76,-39.498],[0,0]],"v":[[-256,145],[53.997,60.476],[261,144]],"c":false}],"e":[{"i":[[-131,67],[-167.543,-41.544],[0,0]],"o":[[131,-67],[111.003,27.524],[0,0]],"v":[[-85,118],[177.997,-67.524],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":44.044,"s":[{"i":[[-131,67],[-167.543,-41.544],[0,0]],"o":[[131,-67],[111.003,27.524],[0,0]],"v":[[-85,118],[177.997,-67.524],[261,144]],"c":false}],"e":[{"i":[[-58.242,135.122],[-109.997,-11.476],[0,0]],"o":[[25,-58],[113.747,11.867],[0,0]],"v":[[95,56],[209.997,-128.524],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":46.046,"s":[{"i":[[-58.242,135.122],[-109.997,-11.476],[0,0]],"o":[[25,-58],[113.747,11.867],[0,0]],"v":[[95,56],[209.997,-128.524],[261,144]],"c":false}],"e":[{"i":[[-19.414,45.041],[-62.35,-12.578],[-16.222,-23.945]],"o":[[11.785,-72.253],[87.466,32.993],[30.606,47.27]],"v":[[156.215,-94.747],[225.35,-195.422],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":48.048,"s":[{"i":[[-19.414,45.041],[-62.35,-12.578],[-16.222,-23.945]],"o":[[11.785,-72.253],[87.466,32.993],[30.606,47.27]],"v":[[156.215,-94.747],[225.35,-195.422],[261,144]],"c":false}],"e":[{"i":[[0,0],[-63.35,-42.078],[-16.222,-23.945]],"o":[[0,0],[68.058,37.708],[30.606,47.27]],"v":[[161.715,-174.747],[260.35,-234.922],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":49.049,"s":[{"i":[[0,0],[-63.35,-42.078],[-16.222,-23.945]],"o":[[0,0],[68.058,37.708],[30.606,47.27]],"v":[[161.715,-174.747],[260.35,-234.922],[261,144]],"c":false}],"e":[{"i":[[-19.414,45.041],[-15.35,-48.578],[-16.222,-23.945]],"o":[[47.785,-55.253],[19.448,61.549],[30.606,47.27]],"v":[[163.215,-255.747],[295.35,-226.422],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":50.05,"s":[{"i":[[-19.414,45.041],[-15.35,-48.578],[-16.222,-23.945]],"o":[[47.785,-55.253],[19.448,61.549],[30.606,47.27]],"v":[[163.215,-255.747],[295.35,-226.422],[261,144]],"c":false}],"e":[{"i":[[0,0],[48.063,-75.399],[-16.181,-61.782]],"o":[[0,0],[-55.924,87.73],[0,0]],"v":[[201.995,-337.25],[261.924,-145.73],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":51.051,"s":[{"i":[[0,0],[48.063,-75.399],[-16.181,-61.782]],"o":[[0,0],[-55.924,87.73],[0,0]],"v":[[201.995,-337.25],[261.924,-145.73],[261,144]],"c":false}],"e":[{"i":[[0,0],[25.07,-76.834],[-16.181,-61.782]],"o":[[0,0],[-29.695,91.056],[0,0]],"v":[[262.495,-339.75],[237.924,-129.73],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":52.052,"s":[{"i":[[0,0],[25.07,-76.834],[-16.181,-61.782]],"o":[[0,0],[-29.695,91.056],[0,0]],"v":[[262.495,-339.75],[237.924,-129.73],[261,144]],"c":false}],"e":[{"i":[[0,0],[2.076,-78.27],[-16.181,-61.782]],"o":[[0,0],[-3.467,94.383],[0,0]],"v":[[331.995,-309.25],[213.924,-128.73],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":53.053,"s":[{"i":[[0,0],[2.076,-78.27],[-16.181,-61.782]],"o":[[0,0],[-3.467,94.383],[0,0]],"v":[[331.995,-309.25],[213.924,-128.73],[261,144]],"c":false}],"e":[{"i":[[0,0],[2.076,-78.27],[-16.181,-61.782]],"o":[[0,0],[-3.467,94.383],[0,0]],"v":[[371.495,-284.75],[217.924,-132.23],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":54.054,"s":[{"i":[[0,0],[2.076,-78.27],[-16.181,-61.782]],"o":[[0,0],[-3.467,94.383],[0,0]],"v":[[371.495,-284.75],[217.924,-132.23],[261,144]],"c":false}],"e":[{"i":[[0,0],[0,-112.27],[-16.181,-61.782]],"o":[[0,0],[-3.467,94.382],[0,0]],"v":[[395.995,-254.25],[228.924,-130.73],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":55.055,"s":[{"i":[[0,0],[0,-112.27],[-16.181,-61.782]],"o":[[0,0],[-3.467,94.382],[0,0]],"v":[[395.995,-254.25],[228.924,-130.73],[261,144]],"c":false}],"e":[{"i":[[0,0],[0,-112.27],[-16.181,-61.782]],"o":[[0,0],[-3.467,94.382],[0,0]],"v":[[407.502,-239.456],[219.061,-134.017],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":69.069,"s":[{"i":[[0,0],[0,-112.27],[-16.181,-61.782]],"o":[[0,0],[-3.467,94.382],[0,0]],"v":[[407.502,-239.456],[219.061,-134.017],[261,144]],"c":false}],"e":[{"i":[[0,0],[30.019,-141.415],[-16.181,-61.782]],"o":[[0,0],[-30.019,141.415],[0,0]],"v":[[422.296,-193.428],[222.348,-132.373],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":71.071,"s":[{"i":[[0,0],[30.019,-141.415],[-16.181,-61.782]],"o":[[0,0],[-30.019,141.415],[0,0]],"v":[[422.296,-193.428],[222.348,-132.373],[261,144]],"c":false}],"e":[{"i":[[0,0],[-32.611,-39.166],[-42.089,-15.667]],"o":[[-66,58],[41.234,49.522],[0,0]],"v":[[114,-144],[87.497,51.476],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":73.073,"s":[{"i":[[0,0],[-32.611,-39.166],[-42.089,-15.667]],"o":[[-66,58],[41.234,49.522],[0,0]],"v":[[114,-144],[87.497,51.476],[261,144]],"c":false}],"e":[{"i":[[-13,-44],[-165.271,-51.701],[-66,8]],"o":[[13,44],[72.003,22.524],[167.916,-20.353]],"v":[[-150,-19],[16.997,141.476],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":74.95,"s":[{"i":[[-13,-44],[-165.271,-51.701],[-66,8]],"o":[[13,44],[72.003,22.524],[167.916,-20.353]],"v":[[-150,-19],[16.997,141.476],[261,144]],"c":false}],"e":[{"i":[[0,0],[-124.003,0.476],[-66,8]],"o":[[0,0],[124.003,-0.476],[167.916,-20.353]],"v":[[-254,144],[-7.003,178.476],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":75.888,"s":[{"i":[[0,0],[-124.003,0.476],[-66,8]],"o":[[0,0],[124.003,-0.476],[167.916,-20.353]],"v":[[-254,144],[-7.003,178.476],[261,144]],"c":false}],"e":[{"i":[[0,0],[-124.003,0.476],[-66,8]],"o":[[0,0],[124.003,-0.476],[167.916,-20.353]],"v":[[-254,144],[1.997,220.476],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":78.704,"s":[{"i":[[0,0],[-124.003,0.476],[-66,8]],"o":[[0,0],[124.003,-0.476],[167.916,-20.353]],"v":[[-254,144],[1.997,220.476],[261,144]],"c":false}],"e":[{"i":[[0,0],[-124.003,0.476],[-66,8]],"o":[[0,0],[124.003,-0.476],[167.916,-20.353]],"v":[[-254,144],[6.997,159.476],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":81.519,"s":[{"i":[[0,0],[-124.003,0.476],[-66,8]],"o":[[0,0],[124.003,-0.476],[167.916,-20.353]],"v":[[-254,144],[6.997,159.476],[261,144]],"c":false}],"e":[{"i":[[0,0],[-98.003,-3.524],[0,0]],"o":[[0,0],[98.003,3.524],[0,0]],"v":[[-256,145],[12.997,209.051],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":84.334,"s":[{"i":[[0,0],[-98.003,-3.524],[0,0]],"o":[[0,0],[98.003,3.524],[0,0]],"v":[[-256,145],[12.997,209.051],[261,144]],"c":false}],"e":[{"i":[[0,0],[-98.003,-3.524],[0,0]],"o":[[0,0],[98.003,3.524],[0,0]],"v":[[-256,145],[12.997,202.476],[261,144]],"c":false}]},{"t":88.0880880880881}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":0,"k":96,"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.96862745098,0.874509803922,0.549019607843,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":30,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 4","np":3,"cix":2,"ix":2,"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},"n":"0p833_0p833_0p167_0p167","t":37.037,"s":[{"i":[[0,0],[-98.003,-3.524],[0,0]],"o":[[0,0],[98.003,3.524],[0,0]],"v":[[-256,145],[12.997,202.476],[261,144]],"c":false}],"e":[{"i":[[0,0],[-157.997,69.524],[0,0]],"o":[[0,0],[89.76,-39.498],[0,0]],"v":[[-256,145],[53.997,60.476],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":41.041,"s":[{"i":[[0,0],[-157.997,69.524],[0,0]],"o":[[0,0],[89.76,-39.498],[0,0]],"v":[[-256,145],[53.997,60.476],[261,144]],"c":false}],"e":[{"i":[[-131,67],[-167.543,-41.544],[0,0]],"o":[[131,-67],[111.003,27.524],[0,0]],"v":[[-85,118],[177.997,-67.524],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":44.044,"s":[{"i":[[-131,67],[-167.543,-41.544],[0,0]],"o":[[131,-67],[111.003,27.524],[0,0]],"v":[[-85,118],[177.997,-67.524],[261,144]],"c":false}],"e":[{"i":[[-58.242,135.122],[-109.997,-11.476],[0,0]],"o":[[25,-58],[113.747,11.867],[0,0]],"v":[[95,56],[209.997,-128.524],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":46.046,"s":[{"i":[[-58.242,135.122],[-109.997,-11.476],[0,0]],"o":[[25,-58],[113.747,11.867],[0,0]],"v":[[95,56],[209.997,-128.524],[261,144]],"c":false}],"e":[{"i":[[-19.414,45.041],[-62.35,-12.578],[-16.222,-23.945]],"o":[[11.785,-72.253],[87.466,32.993],[30.606,47.27]],"v":[[156.215,-94.747],[225.35,-195.422],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":48.048,"s":[{"i":[[-19.414,45.041],[-62.35,-12.578],[-16.222,-23.945]],"o":[[11.785,-72.253],[87.466,32.993],[30.606,47.27]],"v":[[156.215,-94.747],[225.35,-195.422],[261,144]],"c":false}],"e":[{"i":[[0,0],[-63.35,-42.078],[-16.222,-23.945]],"o":[[0,0],[68.058,37.708],[30.606,47.27]],"v":[[161.715,-174.747],[260.35,-234.922],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":49.049,"s":[{"i":[[0,0],[-63.35,-42.078],[-16.222,-23.945]],"o":[[0,0],[68.058,37.708],[30.606,47.27]],"v":[[161.715,-174.747],[260.35,-234.922],[261,144]],"c":false}],"e":[{"i":[[-19.414,45.041],[-15.35,-48.578],[-16.222,-23.945]],"o":[[47.785,-55.253],[19.448,61.549],[30.606,47.27]],"v":[[163.215,-255.747],[295.35,-226.422],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":50.05,"s":[{"i":[[-19.414,45.041],[-15.35,-48.578],[-16.222,-23.945]],"o":[[47.785,-55.253],[19.448,61.549],[30.606,47.27]],"v":[[163.215,-255.747],[295.35,-226.422],[261,144]],"c":false}],"e":[{"i":[[0,0],[48.063,-75.399],[-16.181,-61.782]],"o":[[0,0],[-55.924,87.73],[0,0]],"v":[[201.995,-337.25],[261.924,-145.73],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":51.051,"s":[{"i":[[0,0],[48.063,-75.399],[-16.181,-61.782]],"o":[[0,0],[-55.924,87.73],[0,0]],"v":[[201.995,-337.25],[261.924,-145.73],[261,144]],"c":false}],"e":[{"i":[[0,0],[25.07,-76.834],[-16.181,-61.782]],"o":[[0,0],[-29.695,91.056],[0,0]],"v":[[262.495,-339.75],[237.924,-129.73],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":52.052,"s":[{"i":[[0,0],[25.07,-76.834],[-16.181,-61.782]],"o":[[0,0],[-29.695,91.056],[0,0]],"v":[[262.495,-339.75],[237.924,-129.73],[261,144]],"c":false}],"e":[{"i":[[0,0],[2.076,-78.27],[-16.181,-61.782]],"o":[[0,0],[-3.467,94.383],[0,0]],"v":[[331.995,-309.25],[213.924,-128.73],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":53.053,"s":[{"i":[[0,0],[2.076,-78.27],[-16.181,-61.782]],"o":[[0,0],[-3.467,94.383],[0,0]],"v":[[331.995,-309.25],[213.924,-128.73],[261,144]],"c":false}],"e":[{"i":[[0,0],[2.076,-78.27],[-16.181,-61.782]],"o":[[0,0],[-3.467,94.383],[0,0]],"v":[[371.495,-284.75],[217.924,-132.23],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":54.054,"s":[{"i":[[0,0],[2.076,-78.27],[-16.181,-61.782]],"o":[[0,0],[-3.467,94.383],[0,0]],"v":[[371.495,-284.75],[217.924,-132.23],[261,144]],"c":false}],"e":[{"i":[[0,0],[0,-112.27],[-16.181,-61.782]],"o":[[0,0],[-3.467,94.382],[0,0]],"v":[[395.995,-254.25],[228.924,-130.73],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":55.055,"s":[{"i":[[0,0],[0,-112.27],[-16.181,-61.782]],"o":[[0,0],[-3.467,94.382],[0,0]],"v":[[395.995,-254.25],[228.924,-130.73],[261,144]],"c":false}],"e":[{"i":[[0,0],[0,-112.27],[-16.181,-61.782]],"o":[[0,0],[-3.467,94.382],[0,0]],"v":[[407.502,-239.456],[219.061,-134.017],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":69.069,"s":[{"i":[[0,0],[0,-112.27],[-16.181,-61.782]],"o":[[0,0],[-3.467,94.382],[0,0]],"v":[[407.502,-239.456],[219.061,-134.017],[261,144]],"c":false}],"e":[{"i":[[0,0],[30.019,-141.415],[-16.181,-61.782]],"o":[[0,0],[-30.019,141.415],[0,0]],"v":[[422.296,-193.428],[222.348,-132.373],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":71.071,"s":[{"i":[[0,0],[30.019,-141.415],[-16.181,-61.782]],"o":[[0,0],[-30.019,141.415],[0,0]],"v":[[422.296,-193.428],[222.348,-132.373],[261,144]],"c":false}],"e":[{"i":[[0,0],[-32.611,-39.166],[-42.089,-15.667]],"o":[[-66,58],[41.234,49.522],[0,0]],"v":[[114,-144],[87.497,51.476],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":73.073,"s":[{"i":[[0,0],[-32.611,-39.166],[-42.089,-15.667]],"o":[[-66,58],[41.234,49.522],[0,0]],"v":[[114,-144],[87.497,51.476],[261,144]],"c":false}],"e":[{"i":[[-13,-44],[-165.271,-51.701],[-66,8]],"o":[[13,44],[72.003,22.524],[167.916,-20.353]],"v":[[-150,-19],[16.997,141.476],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":74.95,"s":[{"i":[[-13,-44],[-165.271,-51.701],[-66,8]],"o":[[13,44],[72.003,22.524],[167.916,-20.353]],"v":[[-150,-19],[16.997,141.476],[261,144]],"c":false}],"e":[{"i":[[0,0],[-124.003,0.476],[-66,8]],"o":[[0,0],[124.003,-0.476],[167.916,-20.353]],"v":[[-254,144],[-7.003,178.476],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":75.888,"s":[{"i":[[0,0],[-124.003,0.476],[-66,8]],"o":[[0,0],[124.003,-0.476],[167.916,-20.353]],"v":[[-254,144],[-7.003,178.476],[261,144]],"c":false}],"e":[{"i":[[0,0],[-124.003,0.476],[-66,8]],"o":[[0,0],[124.003,-0.476],[167.916,-20.353]],"v":[[-254,144],[1.997,220.476],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":78.704,"s":[{"i":[[0,0],[-124.003,0.476],[-66,8]],"o":[[0,0],[124.003,-0.476],[167.916,-20.353]],"v":[[-254,144],[1.997,220.476],[261,144]],"c":false}],"e":[{"i":[[0,0],[-124.003,0.476],[-66,8]],"o":[[0,0],[124.003,-0.476],[167.916,-20.353]],"v":[[-254,144],[6.997,159.476],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":81.519,"s":[{"i":[[0,0],[-124.003,0.476],[-66,8]],"o":[[0,0],[124.003,-0.476],[167.916,-20.353]],"v":[[-254,144],[6.997,159.476],[261,144]],"c":false}],"e":[{"i":[[0,0],[-98.003,-3.524],[0,0]],"o":[[0,0],[98.003,3.524],[0,0]],"v":[[-256,145],[12.997,209.051],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":84.334,"s":[{"i":[[0,0],[-98.003,-3.524],[0,0]],"o":[[0,0],[98.003,3.524],[0,0]],"v":[[-256,145],[12.997,209.051],[261,144]],"c":false}],"e":[{"i":[[0,0],[-98.003,-3.524],[0,0]],"o":[[0,0],[98.003,3.524],[0,0]],"v":[[-256,145],[12.997,202.476],[261,144]],"c":false}]},{"t":88.0880880880881}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":0,"k":5,"ix":1},"e":{"a":0,"k":1,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.96862745098,0.874509803922,0.549019607843,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":30,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 3","np":3,"cix":2,"ix":3,"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},"n":"0p833_0p833_0p167_0p167","t":37.037,"s":[{"i":[[0,0],[-98.003,-3.524],[0,0]],"o":[[0,0],[98.003,3.524],[0,0]],"v":[[-256,145],[12.997,202.476],[261,144]],"c":false}],"e":[{"i":[[0,0],[-157.997,69.524],[0,0]],"o":[[0,0],[89.76,-39.498],[0,0]],"v":[[-256,145],[53.997,60.476],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":41.041,"s":[{"i":[[0,0],[-157.997,69.524],[0,0]],"o":[[0,0],[89.76,-39.498],[0,0]],"v":[[-256,145],[53.997,60.476],[261,144]],"c":false}],"e":[{"i":[[-131,67],[-167.543,-41.544],[0,0]],"o":[[131,-67],[111.003,27.524],[0,0]],"v":[[-85,118],[177.997,-67.524],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":44.044,"s":[{"i":[[-131,67],[-167.543,-41.544],[0,0]],"o":[[131,-67],[111.003,27.524],[0,0]],"v":[[-85,118],[177.997,-67.524],[261,144]],"c":false}],"e":[{"i":[[-58.242,135.122],[-109.997,-11.476],[0,0]],"o":[[25,-58],[113.747,11.867],[0,0]],"v":[[95,56],[209.997,-128.524],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":46.046,"s":[{"i":[[-58.242,135.122],[-109.997,-11.476],[0,0]],"o":[[25,-58],[113.747,11.867],[0,0]],"v":[[95,56],[209.997,-128.524],[261,144]],"c":false}],"e":[{"i":[[-19.414,45.041],[-62.35,-12.578],[-16.222,-23.945]],"o":[[11.785,-72.253],[87.466,32.993],[30.606,47.27]],"v":[[156.215,-94.747],[225.35,-195.422],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":48.048,"s":[{"i":[[-19.414,45.041],[-62.35,-12.578],[-16.222,-23.945]],"o":[[11.785,-72.253],[87.466,32.993],[30.606,47.27]],"v":[[156.215,-94.747],[225.35,-195.422],[261,144]],"c":false}],"e":[{"i":[[0,0],[-63.35,-42.078],[-16.222,-23.945]],"o":[[0,0],[68.058,37.708],[30.606,47.27]],"v":[[161.715,-174.747],[260.35,-234.922],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":49.049,"s":[{"i":[[0,0],[-63.35,-42.078],[-16.222,-23.945]],"o":[[0,0],[68.058,37.708],[30.606,47.27]],"v":[[161.715,-174.747],[260.35,-234.922],[261,144]],"c":false}],"e":[{"i":[[-19.414,45.041],[-15.35,-48.578],[-16.222,-23.945]],"o":[[47.785,-55.253],[19.448,61.549],[30.606,47.27]],"v":[[163.215,-255.747],[295.35,-226.422],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":50.05,"s":[{"i":[[-19.414,45.041],[-15.35,-48.578],[-16.222,-23.945]],"o":[[47.785,-55.253],[19.448,61.549],[30.606,47.27]],"v":[[163.215,-255.747],[295.35,-226.422],[261,144]],"c":false}],"e":[{"i":[[0,0],[48.063,-75.399],[-16.181,-61.782]],"o":[[0,0],[-55.924,87.73],[0,0]],"v":[[201.995,-337.25],[261.924,-145.73],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":51.051,"s":[{"i":[[0,0],[48.063,-75.399],[-16.181,-61.782]],"o":[[0,0],[-55.924,87.73],[0,0]],"v":[[201.995,-337.25],[261.924,-145.73],[261,144]],"c":false}],"e":[{"i":[[0,0],[25.07,-76.834],[-16.181,-61.782]],"o":[[0,0],[-29.695,91.056],[0,0]],"v":[[262.495,-339.75],[237.924,-129.73],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":52.052,"s":[{"i":[[0,0],[25.07,-76.834],[-16.181,-61.782]],"o":[[0,0],[-29.695,91.056],[0,0]],"v":[[262.495,-339.75],[237.924,-129.73],[261,144]],"c":false}],"e":[{"i":[[0,0],[2.076,-78.27],[-16.181,-61.782]],"o":[[0,0],[-3.467,94.383],[0,0]],"v":[[331.995,-309.25],[213.924,-128.73],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":53.053,"s":[{"i":[[0,0],[2.076,-78.27],[-16.181,-61.782]],"o":[[0,0],[-3.467,94.383],[0,0]],"v":[[331.995,-309.25],[213.924,-128.73],[261,144]],"c":false}],"e":[{"i":[[0,0],[2.076,-78.27],[-16.181,-61.782]],"o":[[0,0],[-3.467,94.383],[0,0]],"v":[[371.495,-284.75],[217.924,-132.23],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":54.054,"s":[{"i":[[0,0],[2.076,-78.27],[-16.181,-61.782]],"o":[[0,0],[-3.467,94.383],[0,0]],"v":[[371.495,-284.75],[217.924,-132.23],[261,144]],"c":false}],"e":[{"i":[[0,0],[0,-112.27],[-16.181,-61.782]],"o":[[0,0],[-3.467,94.382],[0,0]],"v":[[395.995,-254.25],[228.924,-130.73],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":55.055,"s":[{"i":[[0,0],[0,-112.27],[-16.181,-61.782]],"o":[[0,0],[-3.467,94.382],[0,0]],"v":[[395.995,-254.25],[228.924,-130.73],[261,144]],"c":false}],"e":[{"i":[[0,0],[0,-112.27],[-16.181,-61.782]],"o":[[0,0],[-3.467,94.382],[0,0]],"v":[[407.502,-239.456],[219.061,-134.017],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":69.069,"s":[{"i":[[0,0],[0,-112.27],[-16.181,-61.782]],"o":[[0,0],[-3.467,94.382],[0,0]],"v":[[407.502,-239.456],[219.061,-134.017],[261,144]],"c":false}],"e":[{"i":[[0,0],[30.019,-141.415],[-16.181,-61.782]],"o":[[0,0],[-30.019,141.415],[0,0]],"v":[[422.296,-193.428],[222.348,-132.373],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":71.071,"s":[{"i":[[0,0],[30.019,-141.415],[-16.181,-61.782]],"o":[[0,0],[-30.019,141.415],[0,0]],"v":[[422.296,-193.428],[222.348,-132.373],[261,144]],"c":false}],"e":[{"i":[[0,0],[-32.611,-39.166],[-42.089,-15.667]],"o":[[-66,58],[41.234,49.522],[0,0]],"v":[[114,-144],[87.497,51.476],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":73.073,"s":[{"i":[[0,0],[-32.611,-39.166],[-42.089,-15.667]],"o":[[-66,58],[41.234,49.522],[0,0]],"v":[[114,-144],[87.497,51.476],[261,144]],"c":false}],"e":[{"i":[[-13,-44],[-165.271,-51.701],[-66,8]],"o":[[13,44],[72.003,22.524],[167.916,-20.353]],"v":[[-150,-19],[16.997,141.476],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":74.95,"s":[{"i":[[-13,-44],[-165.271,-51.701],[-66,8]],"o":[[13,44],[72.003,22.524],[167.916,-20.353]],"v":[[-150,-19],[16.997,141.476],[261,144]],"c":false}],"e":[{"i":[[0,0],[-124.003,0.476],[-66,8]],"o":[[0,0],[124.003,-0.476],[167.916,-20.353]],"v":[[-254,144],[-7.003,178.476],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":75.888,"s":[{"i":[[0,0],[-124.003,0.476],[-66,8]],"o":[[0,0],[124.003,-0.476],[167.916,-20.353]],"v":[[-254,144],[-7.003,178.476],[261,144]],"c":false}],"e":[{"i":[[0,0],[-124.003,0.476],[-66,8]],"o":[[0,0],[124.003,-0.476],[167.916,-20.353]],"v":[[-254,144],[1.997,220.476],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":78.704,"s":[{"i":[[0,0],[-124.003,0.476],[-66,8]],"o":[[0,0],[124.003,-0.476],[167.916,-20.353]],"v":[[-254,144],[1.997,220.476],[261,144]],"c":false}],"e":[{"i":[[0,0],[-124.003,0.476],[-66,8]],"o":[[0,0],[124.003,-0.476],[167.916,-20.353]],"v":[[-254,144],[6.997,159.476],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":81.519,"s":[{"i":[[0,0],[-124.003,0.476],[-66,8]],"o":[[0,0],[124.003,-0.476],[167.916,-20.353]],"v":[[-254,144],[6.997,159.476],[261,144]],"c":false}],"e":[{"i":[[0,0],[-98.003,-3.524],[0,0]],"o":[[0,0],[98.003,3.524],[0,0]],"v":[[-256,145],[12.997,209.051],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":84.334,"s":[{"i":[[0,0],[-98.003,-3.524],[0,0]],"o":[[0,0],[98.003,3.524],[0,0]],"v":[[-256,145],[12.997,209.051],[261,144]],"c":false}],"e":[{"i":[[0,0],[-98.003,-3.524],[0,0]],"o":[[0,0],[98.003,3.524],[0,0]],"v":[[-256,145],[12.997,202.476],[261,144]],"c":false}]},{"t":88.0880880880881}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":2,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.96862745098,0.874509803922,0.549019607843,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":30,"ix":5},"lc":2,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 2","np":3,"cix":2,"ix":4,"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},"n":"0p833_0p833_0p167_0p167","t":37.037,"s":[{"i":[[0,0],[-98.003,-3.524],[0,0]],"o":[[0,0],[98.003,3.524],[0,0]],"v":[[-256,145],[12.997,202.476],[261,144]],"c":false}],"e":[{"i":[[0,0],[-157.997,69.524],[0,0]],"o":[[0,0],[89.76,-39.498],[0,0]],"v":[[-256,145],[53.997,60.476],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":41.041,"s":[{"i":[[0,0],[-157.997,69.524],[0,0]],"o":[[0,0],[89.76,-39.498],[0,0]],"v":[[-256,145],[53.997,60.476],[261,144]],"c":false}],"e":[{"i":[[-131,67],[-167.543,-41.544],[0,0]],"o":[[131,-67],[111.003,27.524],[0,0]],"v":[[-85,118],[177.997,-67.524],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":44.044,"s":[{"i":[[-131,67],[-167.543,-41.544],[0,0]],"o":[[131,-67],[111.003,27.524],[0,0]],"v":[[-85,118],[177.997,-67.524],[261,144]],"c":false}],"e":[{"i":[[-58.242,135.122],[-109.997,-11.476],[0,0]],"o":[[25,-58],[113.747,11.867],[0,0]],"v":[[95,56],[209.997,-128.524],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":46.046,"s":[{"i":[[-58.242,135.122],[-109.997,-11.476],[0,0]],"o":[[25,-58],[113.747,11.867],[0,0]],"v":[[95,56],[209.997,-128.524],[261,144]],"c":false}],"e":[{"i":[[-19.414,45.041],[-62.35,-12.578],[-16.222,-23.945]],"o":[[11.785,-72.253],[87.466,32.993],[30.606,47.27]],"v":[[156.215,-94.747],[225.35,-195.422],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":48.048,"s":[{"i":[[-19.414,45.041],[-62.35,-12.578],[-16.222,-23.945]],"o":[[11.785,-72.253],[87.466,32.993],[30.606,47.27]],"v":[[156.215,-94.747],[225.35,-195.422],[261,144]],"c":false}],"e":[{"i":[[0,0],[-63.35,-42.078],[-16.222,-23.945]],"o":[[0,0],[68.058,37.708],[30.606,47.27]],"v":[[161.715,-174.747],[260.35,-234.922],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":49.049,"s":[{"i":[[0,0],[-63.35,-42.078],[-16.222,-23.945]],"o":[[0,0],[68.058,37.708],[30.606,47.27]],"v":[[161.715,-174.747],[260.35,-234.922],[261,144]],"c":false}],"e":[{"i":[[-19.414,45.041],[-15.35,-48.578],[-16.222,-23.945]],"o":[[47.785,-55.253],[19.448,61.549],[30.606,47.27]],"v":[[163.215,-255.747],[295.35,-226.422],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":50.05,"s":[{"i":[[-19.414,45.041],[-15.35,-48.578],[-16.222,-23.945]],"o":[[47.785,-55.253],[19.448,61.549],[30.606,47.27]],"v":[[163.215,-255.747],[295.35,-226.422],[261,144]],"c":false}],"e":[{"i":[[0,0],[48.063,-75.399],[-16.181,-61.782]],"o":[[0,0],[-55.924,87.73],[0,0]],"v":[[201.995,-337.25],[261.924,-145.73],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":51.051,"s":[{"i":[[0,0],[48.063,-75.399],[-16.181,-61.782]],"o":[[0,0],[-55.924,87.73],[0,0]],"v":[[201.995,-337.25],[261.924,-145.73],[261,144]],"c":false}],"e":[{"i":[[0,0],[25.07,-76.834],[-16.181,-61.782]],"o":[[0,0],[-29.695,91.056],[0,0]],"v":[[262.495,-339.75],[237.924,-129.73],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":52.052,"s":[{"i":[[0,0],[25.07,-76.834],[-16.181,-61.782]],"o":[[0,0],[-29.695,91.056],[0,0]],"v":[[262.495,-339.75],[237.924,-129.73],[261,144]],"c":false}],"e":[{"i":[[0,0],[2.076,-78.27],[-16.181,-61.782]],"o":[[0,0],[-3.467,94.383],[0,0]],"v":[[331.995,-309.25],[213.924,-128.73],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":53.053,"s":[{"i":[[0,0],[2.076,-78.27],[-16.181,-61.782]],"o":[[0,0],[-3.467,94.383],[0,0]],"v":[[331.995,-309.25],[213.924,-128.73],[261,144]],"c":false}],"e":[{"i":[[0,0],[2.076,-78.27],[-16.181,-61.782]],"o":[[0,0],[-3.467,94.383],[0,0]],"v":[[371.495,-284.75],[217.924,-132.23],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":54.054,"s":[{"i":[[0,0],[2.076,-78.27],[-16.181,-61.782]],"o":[[0,0],[-3.467,94.383],[0,0]],"v":[[371.495,-284.75],[217.924,-132.23],[261,144]],"c":false}],"e":[{"i":[[0,0],[0,-112.27],[-16.181,-61.782]],"o":[[0,0],[-3.467,94.382],[0,0]],"v":[[395.995,-254.25],[228.924,-130.73],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":55.055,"s":[{"i":[[0,0],[0,-112.27],[-16.181,-61.782]],"o":[[0,0],[-3.467,94.382],[0,0]],"v":[[395.995,-254.25],[228.924,-130.73],[261,144]],"c":false}],"e":[{"i":[[0,0],[0,-112.27],[-16.181,-61.782]],"o":[[0,0],[-3.467,94.382],[0,0]],"v":[[407.502,-239.456],[219.061,-134.017],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":69.069,"s":[{"i":[[0,0],[0,-112.27],[-16.181,-61.782]],"o":[[0,0],[-3.467,94.382],[0,0]],"v":[[407.502,-239.456],[219.061,-134.017],[261,144]],"c":false}],"e":[{"i":[[0,0],[30.019,-141.415],[-16.181,-61.782]],"o":[[0,0],[-30.019,141.415],[0,0]],"v":[[422.296,-193.428],[222.348,-132.373],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":71.071,"s":[{"i":[[0,0],[30.019,-141.415],[-16.181,-61.782]],"o":[[0,0],[-30.019,141.415],[0,0]],"v":[[422.296,-193.428],[222.348,-132.373],[261,144]],"c":false}],"e":[{"i":[[0,0],[-32.611,-39.166],[-42.089,-15.667]],"o":[[-66,58],[41.234,49.522],[0,0]],"v":[[114,-144],[87.497,51.476],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":73.073,"s":[{"i":[[0,0],[-32.611,-39.166],[-42.089,-15.667]],"o":[[-66,58],[41.234,49.522],[0,0]],"v":[[114,-144],[87.497,51.476],[261,144]],"c":false}],"e":[{"i":[[-13,-44],[-165.271,-51.701],[-66,8]],"o":[[13,44],[72.003,22.524],[167.916,-20.353]],"v":[[-150,-19],[16.997,141.476],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":74.95,"s":[{"i":[[-13,-44],[-165.271,-51.701],[-66,8]],"o":[[13,44],[72.003,22.524],[167.916,-20.353]],"v":[[-150,-19],[16.997,141.476],[261,144]],"c":false}],"e":[{"i":[[0,0],[-124.003,0.476],[-66,8]],"o":[[0,0],[124.003,-0.476],[167.916,-20.353]],"v":[[-254,144],[-7.003,178.476],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":75.888,"s":[{"i":[[0,0],[-124.003,0.476],[-66,8]],"o":[[0,0],[124.003,-0.476],[167.916,-20.353]],"v":[[-254,144],[-7.003,178.476],[261,144]],"c":false}],"e":[{"i":[[0,0],[-124.003,0.476],[-66,8]],"o":[[0,0],[124.003,-0.476],[167.916,-20.353]],"v":[[-254,144],[1.997,220.476],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":78.704,"s":[{"i":[[0,0],[-124.003,0.476],[-66,8]],"o":[[0,0],[124.003,-0.476],[167.916,-20.353]],"v":[[-254,144],[1.997,220.476],[261,144]],"c":false}],"e":[{"i":[[0,0],[-124.003,0.476],[-66,8]],"o":[[0,0],[124.003,-0.476],[167.916,-20.353]],"v":[[-254,144],[6.997,159.476],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":81.519,"s":[{"i":[[0,0],[-124.003,0.476],[-66,8]],"o":[[0,0],[124.003,-0.476],[167.916,-20.353]],"v":[[-254,144],[6.997,159.476],[261,144]],"c":false}],"e":[{"i":[[0,0],[-98.003,-3.524],[0,0]],"o":[[0,0],[98.003,3.524],[0,0]],"v":[[-256,145],[12.997,209.051],[261,144]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":84.334,"s":[{"i":[[0,0],[-98.003,-3.524],[0,0]],"o":[[0,0],[98.003,3.524],[0,0]],"v":[[-256,145],[12.997,209.051],[261,144]],"c":false}],"e":[{"i":[[0,0],[-98.003,-3.524],[0,0]],"o":[[0,0],[98.003,3.524],[0,0]],"v":[[-256,145],[12.997,202.476],[261,144]],"c":false}]},{"t":88.0880880880881}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":0,"k":2,"ix":1},"e":{"a":0,"k":95,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.952941176471,0.541176470588,0.470588235294,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":25,"ix":5},"lc":3,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":5,"mn":"ADBE Vector Group","hd":false}],"ip":-26.026026026026,"op":637.637637637638,"st":37.037037037037,"bm":0}]},{"id":"comp_3","layers":[{"ddd":0,"ind":1,"ty":0,"nm":"Person","refId":"comp_4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1052,212,0],"ix":2},"a":{"a":0,"k":[62,101,0],"ix":1},"s":{"a":0,"k":[130,130,100],"ix":6}},"ao":0,"ef":[{"ty":21,"nm":"Fill","np":9,"mn":"ADBE Fill","ix":1,"en":1,"ef":[{"ty":10,"nm":"Fill Mask","mn":"ADBE Fill-0001","ix":1,"v":{"a":0,"k":0,"ix":1}},{"ty":7,"nm":"All Masks","mn":"ADBE Fill-0007","ix":2,"v":{"a":0,"k":0,"ix":2}},{"ty":2,"nm":"Color","mn":"ADBE Fill-0002","ix":3,"v":{"a":0,"k":[0,0,0.027450980619,1],"ix":3,"x":"var $bm_rt;\nvar rayColorPalette, rayColorSwatch;\ntry {\n rayColorPalette = 'Ray - palette 01';\n rayColorSwatch = Math.floor(mul(value[2], 255));\n $bm_rt = comp(rayColorPalette).layer(1)(4)(rayColorSwatch)(1);\n} catch (e) {\n $bm_rt = value;\n}"}},{"ty":7,"nm":"Invert","mn":"ADBE Fill-0006","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":0,"nm":"Horizontal Feather","mn":"ADBE Fill-0003","ix":5,"v":{"a":0,"k":0,"ix":5}},{"ty":0,"nm":"Vertical Feather","mn":"ADBE Fill-0004","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Opacity","mn":"ADBE Fill-0005","ix":7,"v":{"a":0,"k":1,"ix":7}}]},{"ty":5,"nm":"Wiggle - position","np":4,"mn":"ADBE CM WigglePosition","ix":2,"en":1,"ef":[{"ty":0,"nm":"Wiggle Speed (wigs/sec)","mn":"ADBE CM WigglePosition-0001","ix":1,"v":{"a":0,"k":1,"ix":1}},{"ty":0,"nm":"Wiggle Amount (pixels)","mn":"ADBE CM WigglePosition-0002","ix":2,"v":{"a":0,"k":3,"ix":2}}]},{"ty":5,"nm":"(Transform)","np":15,"mn":"ADBE Geometry2","ix":3,"en":1,"ef":[{"ty":3,"nm":"Anchor Point","mn":"ADBE Geometry2-0001","ix":1,"v":{"a":0,"k":[0,0],"ix":1}},{"ty":3,"nm":"Position","mn":"ADBE Geometry2-0002","ix":2,"v":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\n$bm_rt = wiggle(effect('Wiggle - position')('Wiggle Speed (wigs/sec)'), effect('Wiggle - position')('Wiggle Amount (pixels)'));"}},{"ty":7,"nm":"Uniform Scale","mn":"ADBE Geometry2-0011","ix":3,"v":{"a":0,"k":1,"ix":3}},{"ty":0,"nm":"Scale Height","mn":"ADBE Geometry2-0003","ix":4,"v":{"a":0,"k":100,"ix":4}},{"ty":0,"nm":"Scale Width","mn":"ADBE Geometry2-0004","ix":5,"v":{"a":0,"k":100,"ix":5}},{"ty":0,"nm":"Skew","mn":"ADBE Geometry2-0005","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Skew Axis","mn":"ADBE Geometry2-0006","ix":7,"v":{"a":0,"k":0,"ix":7}},{"ty":0,"nm":"Rotation","mn":"ADBE Geometry2-0007","ix":8,"v":{"a":0,"k":0,"ix":8}},{"ty":0,"nm":"Opacity","mn":"ADBE Geometry2-0008","ix":9,"v":{"a":0,"k":100,"ix":9}},{"ty":7,"nm":"Use Composition’s Shutter Angle","mn":"ADBE Geometry2-0009","ix":10,"v":{"a":0,"k":1,"ix":10}},{"ty":0,"nm":"Shutter Angle","mn":"ADBE Geometry2-0010","ix":11,"v":{"a":0,"k":0,"ix":11}},{"ty":7,"nm":"Sampling","mn":"ADBE Geometry2-0012","ix":12,"v":{"a":0,"k":1,"ix":12}},{"ty":7,"nm":"GPU Rendering","mn":"ADBE Force CPU GPU","ix":13,"v":{"a":0,"k":1,"ix":13}}]}],"w":124,"h":202,"ip":-7.00700700700701,"op":593.593593593594,"st":-7.00700700700701,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"Person","refId":"comp_4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[850,212,0],"ix":2},"a":{"a":0,"k":[62,101,0],"ix":1},"s":{"a":0,"k":[130,130,100],"ix":6}},"ao":0,"ef":[{"ty":21,"nm":"Fill","np":9,"mn":"ADBE Fill","ix":1,"en":1,"ef":[{"ty":10,"nm":"Fill Mask","mn":"ADBE Fill-0001","ix":1,"v":{"a":0,"k":0,"ix":1}},{"ty":7,"nm":"All Masks","mn":"ADBE Fill-0007","ix":2,"v":{"a":0,"k":0,"ix":2}},{"ty":2,"nm":"Color","mn":"ADBE Fill-0002","ix":3,"v":{"a":0,"k":[0,0,0.027450980619,1],"ix":3,"x":"var $bm_rt;\nvar rayColorPalette, rayColorSwatch;\ntry {\n rayColorPalette = 'Ray - palette 01';\n rayColorSwatch = Math.floor(mul(value[2], 255));\n $bm_rt = comp(rayColorPalette).layer(1)(4)(rayColorSwatch)(1);\n} catch (e) {\n $bm_rt = value;\n}"}},{"ty":7,"nm":"Invert","mn":"ADBE Fill-0006","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":0,"nm":"Horizontal Feather","mn":"ADBE Fill-0003","ix":5,"v":{"a":0,"k":0,"ix":5}},{"ty":0,"nm":"Vertical Feather","mn":"ADBE Fill-0004","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Opacity","mn":"ADBE Fill-0005","ix":7,"v":{"a":0,"k":1,"ix":7}}]},{"ty":5,"nm":"Wiggle - position","np":4,"mn":"ADBE CM WigglePosition","ix":2,"en":1,"ef":[{"ty":0,"nm":"Wiggle Speed (wigs/sec)","mn":"ADBE CM WigglePosition-0001","ix":1,"v":{"a":0,"k":1,"ix":1}},{"ty":0,"nm":"Wiggle Amount (pixels)","mn":"ADBE CM WigglePosition-0002","ix":2,"v":{"a":0,"k":3,"ix":2}}]},{"ty":5,"nm":"(Transform)","np":15,"mn":"ADBE Geometry2","ix":3,"en":1,"ef":[{"ty":3,"nm":"Anchor Point","mn":"ADBE Geometry2-0001","ix":1,"v":{"a":0,"k":[0,0],"ix":1}},{"ty":3,"nm":"Position","mn":"ADBE Geometry2-0002","ix":2,"v":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\n$bm_rt = wiggle(effect('Wiggle - position')('Wiggle Speed (wigs/sec)'), effect('Wiggle - position')('Wiggle Amount (pixels)'));"}},{"ty":7,"nm":"Uniform Scale","mn":"ADBE Geometry2-0011","ix":3,"v":{"a":0,"k":1,"ix":3}},{"ty":0,"nm":"Scale Height","mn":"ADBE Geometry2-0003","ix":4,"v":{"a":0,"k":100,"ix":4}},{"ty":0,"nm":"Scale Width","mn":"ADBE Geometry2-0004","ix":5,"v":{"a":0,"k":100,"ix":5}},{"ty":0,"nm":"Skew","mn":"ADBE Geometry2-0005","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Skew Axis","mn":"ADBE Geometry2-0006","ix":7,"v":{"a":0,"k":0,"ix":7}},{"ty":0,"nm":"Rotation","mn":"ADBE Geometry2-0007","ix":8,"v":{"a":0,"k":0,"ix":8}},{"ty":0,"nm":"Opacity","mn":"ADBE Geometry2-0008","ix":9,"v":{"a":0,"k":100,"ix":9}},{"ty":7,"nm":"Use Composition’s Shutter Angle","mn":"ADBE Geometry2-0009","ix":10,"v":{"a":0,"k":1,"ix":10}},{"ty":0,"nm":"Shutter Angle","mn":"ADBE Geometry2-0010","ix":11,"v":{"a":0,"k":0,"ix":11}},{"ty":7,"nm":"Sampling","mn":"ADBE Geometry2-0012","ix":12,"v":{"a":0,"k":1,"ix":12}},{"ty":7,"nm":"GPU Rendering","mn":"ADBE Force CPU GPU","ix":13,"v":{"a":0,"k":1,"ix":13}}]}],"w":124,"h":202,"ip":-7.00700700700701,"op":593.593593593594,"st":-7.00700700700701,"bm":0},{"ddd":0,"ind":3,"ty":0,"nm":"Person","refId":"comp_4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[958,212,0],"ix":2},"a":{"a":0,"k":[62,101,0],"ix":1},"s":{"a":0,"k":[130,130,100],"ix":6}},"ao":0,"ef":[{"ty":21,"nm":"Fill","np":9,"mn":"ADBE Fill","ix":1,"en":1,"ef":[{"ty":10,"nm":"Fill Mask","mn":"ADBE Fill-0001","ix":1,"v":{"a":0,"k":0,"ix":1}},{"ty":7,"nm":"All Masks","mn":"ADBE Fill-0007","ix":2,"v":{"a":0,"k":0,"ix":2}},{"ty":2,"nm":"Color","mn":"ADBE Fill-0002","ix":3,"v":{"a":0,"k":[0,0,0.027450980619,1],"ix":3,"x":"var $bm_rt;\nvar rayColorPalette, rayColorSwatch;\ntry {\n rayColorPalette = 'Ray - palette 01';\n rayColorSwatch = Math.floor(mul(value[2], 255));\n $bm_rt = comp(rayColorPalette).layer(1)(4)(rayColorSwatch)(1);\n} catch (e) {\n $bm_rt = value;\n}"}},{"ty":7,"nm":"Invert","mn":"ADBE Fill-0006","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":0,"nm":"Horizontal Feather","mn":"ADBE Fill-0003","ix":5,"v":{"a":0,"k":0,"ix":5}},{"ty":0,"nm":"Vertical Feather","mn":"ADBE Fill-0004","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Opacity","mn":"ADBE Fill-0005","ix":7,"v":{"a":0,"k":1,"ix":7}}]},{"ty":5,"nm":"Wiggle - position","np":4,"mn":"ADBE CM WigglePosition","ix":2,"en":1,"ef":[{"ty":0,"nm":"Wiggle Speed (wigs/sec)","mn":"ADBE CM WigglePosition-0001","ix":1,"v":{"a":0,"k":1,"ix":1}},{"ty":0,"nm":"Wiggle Amount (pixels)","mn":"ADBE CM WigglePosition-0002","ix":2,"v":{"a":0,"k":3,"ix":2}}]},{"ty":5,"nm":"(Transform)","np":15,"mn":"ADBE Geometry2","ix":3,"en":1,"ef":[{"ty":3,"nm":"Anchor Point","mn":"ADBE Geometry2-0001","ix":1,"v":{"a":0,"k":[0,0],"ix":1}},{"ty":3,"nm":"Position","mn":"ADBE Geometry2-0002","ix":2,"v":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\n$bm_rt = wiggle(effect('Wiggle - position')('Wiggle Speed (wigs/sec)'), effect('Wiggle - position')('Wiggle Amount (pixels)'));"}},{"ty":7,"nm":"Uniform Scale","mn":"ADBE Geometry2-0011","ix":3,"v":{"a":0,"k":1,"ix":3}},{"ty":0,"nm":"Scale","mn":"ADBE Geometry2-0003","ix":4,"v":{"a":0,"k":100,"ix":4}},{"ty":0,"nm":" ","mn":"ADBE Geometry2-0004","ix":5,"v":{"a":0,"k":100,"ix":5}},{"ty":0,"nm":"Skew","mn":"ADBE Geometry2-0005","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Skew Axis","mn":"ADBE Geometry2-0006","ix":7,"v":{"a":0,"k":0,"ix":7}},{"ty":0,"nm":"Rotation","mn":"ADBE Geometry2-0007","ix":8,"v":{"a":0,"k":0,"ix":8}},{"ty":0,"nm":"Opacity","mn":"ADBE Geometry2-0008","ix":9,"v":{"a":0,"k":100,"ix":9}},{"ty":7,"nm":"Use Composition’s Shutter Angle","mn":"ADBE Geometry2-0009","ix":10,"v":{"a":0,"k":1,"ix":10}},{"ty":0,"nm":"Shutter Angle","mn":"ADBE Geometry2-0010","ix":11,"v":{"a":0,"k":0,"ix":11}},{"ty":7,"nm":"Sampling","mn":"ADBE Geometry2-0012","ix":12,"v":{"a":0,"k":1,"ix":12}},{"ty":7,"nm":"GPU Rendering","mn":"ADBE Force CPU GPU","ix":13,"v":{"a":0,"k":1,"ix":13}}]}],"w":124,"h":202,"ip":-7.00700700700701,"op":593.593593593594,"st":-7.00700700700701,"bm":0},{"ddd":0,"ind":4,"ty":0,"nm":"Person","refId":"comp_4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[756,212,0],"ix":2},"a":{"a":0,"k":[62,101,0],"ix":1},"s":{"a":0,"k":[130,130,100],"ix":6}},"ao":0,"ef":[{"ty":21,"nm":"Fill","np":9,"mn":"ADBE Fill","ix":1,"en":1,"ef":[{"ty":10,"nm":"Fill Mask","mn":"ADBE Fill-0001","ix":1,"v":{"a":0,"k":0,"ix":1}},{"ty":7,"nm":"All Masks","mn":"ADBE Fill-0007","ix":2,"v":{"a":0,"k":0,"ix":2}},{"ty":2,"nm":"Color","mn":"ADBE Fill-0002","ix":3,"v":{"a":0,"k":[0,0,0.027450980619,1],"ix":3,"x":"var $bm_rt;\nvar rayColorPalette, rayColorSwatch;\ntry {\n rayColorPalette = 'Ray - palette 01';\n rayColorSwatch = Math.floor(mul(value[2], 255));\n $bm_rt = comp(rayColorPalette).layer(1)(4)(rayColorSwatch)(1);\n} catch (e) {\n $bm_rt = value;\n}"}},{"ty":7,"nm":"Invert","mn":"ADBE Fill-0006","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":0,"nm":"Horizontal Feather","mn":"ADBE Fill-0003","ix":5,"v":{"a":0,"k":0,"ix":5}},{"ty":0,"nm":"Vertical Feather","mn":"ADBE Fill-0004","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Opacity","mn":"ADBE Fill-0005","ix":7,"v":{"a":0,"k":1,"ix":7}}]},{"ty":5,"nm":"Wiggle - position","np":4,"mn":"ADBE CM WigglePosition","ix":2,"en":1,"ef":[{"ty":0,"nm":"Wiggle Speed (wigs/sec)","mn":"ADBE CM WigglePosition-0001","ix":1,"v":{"a":0,"k":1,"ix":1}},{"ty":0,"nm":"Wiggle Amount (pixels)","mn":"ADBE CM WigglePosition-0002","ix":2,"v":{"a":0,"k":3,"ix":2}}]},{"ty":5,"nm":"(Transform)","np":15,"mn":"ADBE Geometry2","ix":3,"en":1,"ef":[{"ty":3,"nm":"Anchor Point","mn":"ADBE Geometry2-0001","ix":1,"v":{"a":0,"k":[0,0],"ix":1}},{"ty":3,"nm":"Position","mn":"ADBE Geometry2-0002","ix":2,"v":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\n$bm_rt = wiggle(effect('Wiggle - position')('Wiggle Speed (wigs/sec)'), effect('Wiggle - position')('Wiggle Amount (pixels)'));"}},{"ty":7,"nm":"Uniform Scale","mn":"ADBE Geometry2-0011","ix":3,"v":{"a":0,"k":1,"ix":3}},{"ty":0,"nm":"Scale Height","mn":"ADBE Geometry2-0003","ix":4,"v":{"a":0,"k":100,"ix":4}},{"ty":0,"nm":"Scale Width","mn":"ADBE Geometry2-0004","ix":5,"v":{"a":0,"k":100,"ix":5}},{"ty":0,"nm":"Skew","mn":"ADBE Geometry2-0005","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Skew Axis","mn":"ADBE Geometry2-0006","ix":7,"v":{"a":0,"k":0,"ix":7}},{"ty":0,"nm":"Rotation","mn":"ADBE Geometry2-0007","ix":8,"v":{"a":0,"k":0,"ix":8}},{"ty":0,"nm":"Opacity","mn":"ADBE Geometry2-0008","ix":9,"v":{"a":0,"k":100,"ix":9}},{"ty":7,"nm":"Use Composition’s Shutter Angle","mn":"ADBE Geometry2-0009","ix":10,"v":{"a":0,"k":1,"ix":10}},{"ty":0,"nm":"Shutter Angle","mn":"ADBE Geometry2-0010","ix":11,"v":{"a":0,"k":0,"ix":11}},{"ty":7,"nm":"Sampling","mn":"ADBE Geometry2-0012","ix":12,"v":{"a":0,"k":1,"ix":12}},{"ty":7,"nm":"GPU Rendering","mn":"ADBE Force CPU GPU","ix":13,"v":{"a":0,"k":1,"ix":13}}]}],"w":124,"h":202,"ip":-7.00700700700701,"op":593.593593593594,"st":-7.00700700700701,"bm":0},{"ddd":0,"ind":5,"ty":0,"nm":"Person","refId":"comp_4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[668,212,0],"ix":2},"a":{"a":0,"k":[62,101,0],"ix":1},"s":{"a":0,"k":[130,130,100],"ix":6}},"ao":0,"ef":[{"ty":21,"nm":"Fill","np":9,"mn":"ADBE Fill","ix":1,"en":1,"ef":[{"ty":10,"nm":"Fill Mask","mn":"ADBE Fill-0001","ix":1,"v":{"a":0,"k":0,"ix":1}},{"ty":7,"nm":"All Masks","mn":"ADBE Fill-0007","ix":2,"v":{"a":0,"k":0,"ix":2}},{"ty":2,"nm":"Color","mn":"ADBE Fill-0002","ix":3,"v":{"a":0,"k":[0,0,0.027450980619,1],"ix":3,"x":"var $bm_rt;\nvar rayColorPalette, rayColorSwatch;\ntry {\n rayColorPalette = 'Ray - palette 01';\n rayColorSwatch = Math.floor(mul(value[2], 255));\n $bm_rt = comp(rayColorPalette).layer(1)(4)(rayColorSwatch)(1);\n} catch (e) {\n $bm_rt = value;\n}"}},{"ty":7,"nm":"Invert","mn":"ADBE Fill-0006","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":0,"nm":"Horizontal Feather","mn":"ADBE Fill-0003","ix":5,"v":{"a":0,"k":0,"ix":5}},{"ty":0,"nm":"Vertical Feather","mn":"ADBE Fill-0004","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Opacity","mn":"ADBE Fill-0005","ix":7,"v":{"a":0,"k":1,"ix":7}}]},{"ty":5,"nm":"Wiggle - position","np":4,"mn":"ADBE CM WigglePosition","ix":2,"en":1,"ef":[{"ty":0,"nm":"Wiggle Speed (wigs/sec)","mn":"ADBE CM WigglePosition-0001","ix":1,"v":{"a":0,"k":1,"ix":1}},{"ty":0,"nm":"Wiggle Amount (pixels)","mn":"ADBE CM WigglePosition-0002","ix":2,"v":{"a":0,"k":3,"ix":2}}]},{"ty":5,"nm":"(Transform)","np":15,"mn":"ADBE Geometry2","ix":3,"en":1,"ef":[{"ty":3,"nm":"Anchor Point","mn":"ADBE Geometry2-0001","ix":1,"v":{"a":0,"k":[0,0],"ix":1}},{"ty":3,"nm":"Position","mn":"ADBE Geometry2-0002","ix":2,"v":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\n$bm_rt = wiggle(effect('Wiggle - position')('Wiggle Speed (wigs/sec)'), effect('Wiggle - position')('Wiggle Amount (pixels)'));"}},{"ty":7,"nm":"Uniform Scale","mn":"ADBE Geometry2-0011","ix":3,"v":{"a":0,"k":1,"ix":3}},{"ty":0,"nm":"Scale Height","mn":"ADBE Geometry2-0003","ix":4,"v":{"a":0,"k":100,"ix":4}},{"ty":0,"nm":"Scale Width","mn":"ADBE Geometry2-0004","ix":5,"v":{"a":0,"k":100,"ix":5}},{"ty":0,"nm":"Skew","mn":"ADBE Geometry2-0005","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Skew Axis","mn":"ADBE Geometry2-0006","ix":7,"v":{"a":0,"k":0,"ix":7}},{"ty":0,"nm":"Rotation","mn":"ADBE Geometry2-0007","ix":8,"v":{"a":0,"k":0,"ix":8}},{"ty":0,"nm":"Opacity","mn":"ADBE Geometry2-0008","ix":9,"v":{"a":0,"k":100,"ix":9}},{"ty":7,"nm":"Use Composition’s Shutter Angle","mn":"ADBE Geometry2-0009","ix":10,"v":{"a":0,"k":1,"ix":10}},{"ty":0,"nm":"Shutter Angle","mn":"ADBE Geometry2-0010","ix":11,"v":{"a":0,"k":0,"ix":11}},{"ty":7,"nm":"Sampling","mn":"ADBE Geometry2-0012","ix":12,"v":{"a":0,"k":1,"ix":12}},{"ty":7,"nm":"GPU Rendering","mn":"ADBE Force CPU GPU","ix":13,"v":{"a":0,"k":1,"ix":13}}]}],"w":124,"h":202,"ip":-7.00700700700701,"op":593.593593593594,"st":-7.00700700700701,"bm":0},{"ddd":0,"ind":6,"ty":0,"nm":"Person","refId":"comp_4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[466,212,0],"ix":2},"a":{"a":0,"k":[62,101,0],"ix":1},"s":{"a":0,"k":[130,130,100],"ix":6}},"ao":0,"ef":[{"ty":21,"nm":"Fill","np":9,"mn":"ADBE Fill","ix":1,"en":1,"ef":[{"ty":10,"nm":"Fill Mask","mn":"ADBE Fill-0001","ix":1,"v":{"a":0,"k":0,"ix":1}},{"ty":7,"nm":"All Masks","mn":"ADBE Fill-0007","ix":2,"v":{"a":0,"k":0,"ix":2}},{"ty":2,"nm":"Color","mn":"ADBE Fill-0002","ix":3,"v":{"a":0,"k":[0,0,0.027450980619,1],"ix":3,"x":"var $bm_rt;\nvar rayColorPalette, rayColorSwatch;\ntry {\n rayColorPalette = 'Ray - palette 01';\n rayColorSwatch = Math.floor(mul(value[2], 255));\n $bm_rt = comp(rayColorPalette).layer(1)(4)(rayColorSwatch)(1);\n} catch (e) {\n $bm_rt = value;\n}"}},{"ty":7,"nm":"Invert","mn":"ADBE Fill-0006","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":0,"nm":"Horizontal Feather","mn":"ADBE Fill-0003","ix":5,"v":{"a":0,"k":0,"ix":5}},{"ty":0,"nm":"Vertical Feather","mn":"ADBE Fill-0004","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Opacity","mn":"ADBE Fill-0005","ix":7,"v":{"a":0,"k":1,"ix":7}}]},{"ty":5,"nm":"Wiggle - position","np":4,"mn":"ADBE CM WigglePosition","ix":2,"en":1,"ef":[{"ty":0,"nm":"Wiggle Speed (wigs/sec)","mn":"ADBE CM WigglePosition-0001","ix":1,"v":{"a":0,"k":1,"ix":1}},{"ty":0,"nm":"Wiggle Amount (pixels)","mn":"ADBE CM WigglePosition-0002","ix":2,"v":{"a":0,"k":3,"ix":2}}]},{"ty":5,"nm":"(Transform)","np":15,"mn":"ADBE Geometry2","ix":3,"en":1,"ef":[{"ty":3,"nm":"Anchor Point","mn":"ADBE Geometry2-0001","ix":1,"v":{"a":0,"k":[0,0],"ix":1}},{"ty":3,"nm":"Position","mn":"ADBE Geometry2-0002","ix":2,"v":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\n$bm_rt = wiggle(effect('Wiggle - position')('Wiggle Speed (wigs/sec)'), effect('Wiggle - position')('Wiggle Amount (pixels)'));"}},{"ty":7,"nm":"Uniform Scale","mn":"ADBE Geometry2-0011","ix":3,"v":{"a":0,"k":1,"ix":3}},{"ty":0,"nm":"Scale Height","mn":"ADBE Geometry2-0003","ix":4,"v":{"a":0,"k":100,"ix":4}},{"ty":0,"nm":"Scale Width","mn":"ADBE Geometry2-0004","ix":5,"v":{"a":0,"k":100,"ix":5}},{"ty":0,"nm":"Skew","mn":"ADBE Geometry2-0005","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Skew Axis","mn":"ADBE Geometry2-0006","ix":7,"v":{"a":0,"k":0,"ix":7}},{"ty":0,"nm":"Rotation","mn":"ADBE Geometry2-0007","ix":8,"v":{"a":0,"k":0,"ix":8}},{"ty":0,"nm":"Opacity","mn":"ADBE Geometry2-0008","ix":9,"v":{"a":0,"k":100,"ix":9}},{"ty":7,"nm":"Use Composition’s Shutter Angle","mn":"ADBE Geometry2-0009","ix":10,"v":{"a":0,"k":1,"ix":10}},{"ty":0,"nm":"Shutter Angle","mn":"ADBE Geometry2-0010","ix":11,"v":{"a":0,"k":0,"ix":11}},{"ty":7,"nm":"Sampling","mn":"ADBE Geometry2-0012","ix":12,"v":{"a":0,"k":1,"ix":12}},{"ty":7,"nm":"GPU Rendering","mn":"ADBE Force CPU GPU","ix":13,"v":{"a":0,"k":1,"ix":13}}]}],"w":124,"h":202,"ip":-7.00700700700701,"op":593.593593593594,"st":-7.00700700700701,"bm":0},{"ddd":0,"ind":7,"ty":0,"nm":"Person","refId":"comp_4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[574,212,0],"ix":2},"a":{"a":0,"k":[62,101,0],"ix":1},"s":{"a":0,"k":[130,130,100],"ix":6}},"ao":0,"ef":[{"ty":21,"nm":"Fill","np":9,"mn":"ADBE Fill","ix":1,"en":1,"ef":[{"ty":10,"nm":"Fill Mask","mn":"ADBE Fill-0001","ix":1,"v":{"a":0,"k":0,"ix":1}},{"ty":7,"nm":"All Masks","mn":"ADBE Fill-0007","ix":2,"v":{"a":0,"k":0,"ix":2}},{"ty":2,"nm":"Color","mn":"ADBE Fill-0002","ix":3,"v":{"a":0,"k":[0,0,0.027450980619,1],"ix":3,"x":"var $bm_rt;\nvar rayColorPalette, rayColorSwatch;\ntry {\n rayColorPalette = 'Ray - palette 01';\n rayColorSwatch = Math.floor(mul(value[2], 255));\n $bm_rt = comp(rayColorPalette).layer(1)(4)(rayColorSwatch)(1);\n} catch (e) {\n $bm_rt = value;\n}"}},{"ty":7,"nm":"Invert","mn":"ADBE Fill-0006","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":0,"nm":"Horizontal Feather","mn":"ADBE Fill-0003","ix":5,"v":{"a":0,"k":0,"ix":5}},{"ty":0,"nm":"Vertical Feather","mn":"ADBE Fill-0004","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Opacity","mn":"ADBE Fill-0005","ix":7,"v":{"a":0,"k":1,"ix":7}}]},{"ty":5,"nm":"Wiggle - position","np":4,"mn":"ADBE CM WigglePosition","ix":2,"en":1,"ef":[{"ty":0,"nm":"Wiggle Speed (wigs/sec)","mn":"ADBE CM WigglePosition-0001","ix":1,"v":{"a":0,"k":1,"ix":1}},{"ty":0,"nm":"Wiggle Amount (pixels)","mn":"ADBE CM WigglePosition-0002","ix":2,"v":{"a":0,"k":3,"ix":2}}]},{"ty":5,"nm":"(Transform)","np":15,"mn":"ADBE Geometry2","ix":3,"en":1,"ef":[{"ty":3,"nm":"Anchor Point","mn":"ADBE Geometry2-0001","ix":1,"v":{"a":0,"k":[0,0],"ix":1}},{"ty":3,"nm":"Position","mn":"ADBE Geometry2-0002","ix":2,"v":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\n$bm_rt = wiggle(effect('Wiggle - position')('Wiggle Speed (wigs/sec)'), effect('Wiggle - position')('Wiggle Amount (pixels)'));"}},{"ty":7,"nm":"Uniform Scale","mn":"ADBE Geometry2-0011","ix":3,"v":{"a":0,"k":1,"ix":3}},{"ty":0,"nm":"Scale Height","mn":"ADBE Geometry2-0003","ix":4,"v":{"a":0,"k":100,"ix":4}},{"ty":0,"nm":"Scale Width","mn":"ADBE Geometry2-0004","ix":5,"v":{"a":0,"k":100,"ix":5}},{"ty":0,"nm":"Skew","mn":"ADBE Geometry2-0005","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Skew Axis","mn":"ADBE Geometry2-0006","ix":7,"v":{"a":0,"k":0,"ix":7}},{"ty":0,"nm":"Rotation","mn":"ADBE Geometry2-0007","ix":8,"v":{"a":0,"k":0,"ix":8}},{"ty":0,"nm":"Opacity","mn":"ADBE Geometry2-0008","ix":9,"v":{"a":0,"k":100,"ix":9}},{"ty":7,"nm":"Use Composition’s Shutter Angle","mn":"ADBE Geometry2-0009","ix":10,"v":{"a":0,"k":1,"ix":10}},{"ty":0,"nm":"Shutter Angle","mn":"ADBE Geometry2-0010","ix":11,"v":{"a":0,"k":0,"ix":11}},{"ty":7,"nm":"Sampling","mn":"ADBE Geometry2-0012","ix":12,"v":{"a":0,"k":1,"ix":12}},{"ty":7,"nm":"GPU Rendering","mn":"ADBE Force CPU GPU","ix":13,"v":{"a":0,"k":1,"ix":13}}]}],"w":124,"h":202,"ip":-7.00700700700701,"op":593.593593593594,"st":-7.00700700700701,"bm":0},{"ddd":0,"ind":8,"ty":0,"nm":"Person","refId":"comp_4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[372,212,0],"ix":2},"a":{"a":0,"k":[62,101,0],"ix":1},"s":{"a":0,"k":[130,130,100],"ix":6}},"ao":0,"ef":[{"ty":21,"nm":"Fill","np":9,"mn":"ADBE Fill","ix":1,"en":1,"ef":[{"ty":10,"nm":"Fill Mask","mn":"ADBE Fill-0001","ix":1,"v":{"a":0,"k":0,"ix":1}},{"ty":7,"nm":"All Masks","mn":"ADBE Fill-0007","ix":2,"v":{"a":0,"k":0,"ix":2}},{"ty":2,"nm":"Color","mn":"ADBE Fill-0002","ix":3,"v":{"a":0,"k":[0,0,0.027450980619,1],"ix":3,"x":"var $bm_rt;\nvar rayColorPalette, rayColorSwatch;\ntry {\n rayColorPalette = 'Ray - palette 01';\n rayColorSwatch = Math.floor(mul(value[2], 255));\n $bm_rt = comp(rayColorPalette).layer(1)(4)(rayColorSwatch)(1);\n} catch (e) {\n $bm_rt = value;\n}"}},{"ty":7,"nm":"Invert","mn":"ADBE Fill-0006","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":0,"nm":"Horizontal Feather","mn":"ADBE Fill-0003","ix":5,"v":{"a":0,"k":0,"ix":5}},{"ty":0,"nm":"Vertical Feather","mn":"ADBE Fill-0004","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Opacity","mn":"ADBE Fill-0005","ix":7,"v":{"a":0,"k":1,"ix":7}}]},{"ty":5,"nm":"Wiggle - position","np":4,"mn":"ADBE CM WigglePosition","ix":2,"en":1,"ef":[{"ty":0,"nm":"Wiggle Speed (wigs/sec)","mn":"ADBE CM WigglePosition-0001","ix":1,"v":{"a":0,"k":1,"ix":1}},{"ty":0,"nm":"Wiggle Amount (pixels)","mn":"ADBE CM WigglePosition-0002","ix":2,"v":{"a":0,"k":3,"ix":2}}]},{"ty":5,"nm":"(Transform)","np":15,"mn":"ADBE Geometry2","ix":3,"en":1,"ef":[{"ty":3,"nm":"Anchor Point","mn":"ADBE Geometry2-0001","ix":1,"v":{"a":0,"k":[0,0],"ix":1}},{"ty":3,"nm":"Position","mn":"ADBE Geometry2-0002","ix":2,"v":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\n$bm_rt = wiggle(effect('Wiggle - position')('Wiggle Speed (wigs/sec)'), effect('Wiggle - position')('Wiggle Amount (pixels)'));"}},{"ty":7,"nm":"Uniform Scale","mn":"ADBE Geometry2-0011","ix":3,"v":{"a":0,"k":1,"ix":3}},{"ty":0,"nm":"Scale Height","mn":"ADBE Geometry2-0003","ix":4,"v":{"a":0,"k":100,"ix":4}},{"ty":0,"nm":"Scale Width","mn":"ADBE Geometry2-0004","ix":5,"v":{"a":0,"k":100,"ix":5}},{"ty":0,"nm":"Skew","mn":"ADBE Geometry2-0005","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Skew Axis","mn":"ADBE Geometry2-0006","ix":7,"v":{"a":0,"k":0,"ix":7}},{"ty":0,"nm":"Rotation","mn":"ADBE Geometry2-0007","ix":8,"v":{"a":0,"k":0,"ix":8}},{"ty":0,"nm":"Opacity","mn":"ADBE Geometry2-0008","ix":9,"v":{"a":0,"k":100,"ix":9}},{"ty":7,"nm":"Use Composition’s Shutter Angle","mn":"ADBE Geometry2-0009","ix":10,"v":{"a":0,"k":1,"ix":10}},{"ty":0,"nm":"Shutter Angle","mn":"ADBE Geometry2-0010","ix":11,"v":{"a":0,"k":0,"ix":11}},{"ty":7,"nm":"Sampling","mn":"ADBE Geometry2-0012","ix":12,"v":{"a":0,"k":1,"ix":12}},{"ty":7,"nm":"GPU Rendering","mn":"ADBE Force CPU GPU","ix":13,"v":{"a":0,"k":1,"ix":13}}]}],"w":124,"h":202,"ip":-7.00700700700701,"op":593.593593593594,"st":-7.00700700700701,"bm":0}]},{"id":"comp_4","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"body 8","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[60.83,132,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[31,31,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-59,0],[0,-59],[0,0]],"o":[[0,0],[0,-59],[59,0],[0,0],[0,0]],"v":[[-107,166.5],[-107,-59.5],[0,-166.5],[107,-59.5],[107,166.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0.023529412225,1],"ix":3,"x":"var $bm_rt;\nvar rayColorPalette, rayColorSwatch;\ntry {\n rayColorPalette = 'Ray - palette 01';\n rayColorSwatch = Math.floor(mul(value[2], 255));\n $bm_rt = comp(rayColorPalette).layer(1)(4)(rayColorSwatch)(1);\n} catch (e) {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0.023529412225,1],"ix":4,"x":"var $bm_rt;\nvar rayColorPalette, rayColorSwatch;\ntry {\n rayColorPalette = 'Ray - palette 01';\n rayColorSwatch = Math.floor(mul(value[2], 255));\n $bm_rt = comp(rayColorPalette).layer(1)(4)(rayColorSwatch)(1);\n} catch (e) {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":-8.00800800800801,"op":592.592592592593,"st":-8.00800800800801,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Head 8","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[60,45.305,0],"ix":2},"a":{"a":0,"k":[-156.695,39.305,0],"ix":1},"s":{"a":0,"k":[68,68,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[105.391,105.391],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0.023529412225,1],"ix":3,"x":"var $bm_rt;\nvar rayColorPalette, rayColorSwatch;\ntry {\n rayColorPalette = 'Ray - palette 01';\n rayColorSwatch = Math.floor(mul(value[2], 255));\n $bm_rt = comp(rayColorPalette).layer(1)(4)(rayColorSwatch)(1);\n} catch (e) {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0.023529412225,1],"ix":4,"x":"var $bm_rt;\nvar rayColorPalette, rayColorSwatch;\ntry {\n rayColorPalette = 'Ray - palette 01';\n rayColorSwatch = Math.floor(mul(value[2], 255));\n $bm_rt = comp(rayColorPalette).layer(1)(4)(rayColorSwatch)(1);\n} catch (e) {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-156.695,39.305],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":-3.003003003003,"op":597.597597597598,"st":-3.003003003003,"bm":0}]},{"id":"comp_5","layers":[{"ddd":0,"ind":3,"ty":0,"nm":"Person","refId":"comp_4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[-15],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":4.505,"s":[0],"e":[8]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":9.009,"s":[8],"e":[-11]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":13.514,"s":[-11],"e":[13]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":18.018,"s":[13],"e":[13]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":24.024,"s":[13],"e":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":30.03,"s":[0],"e":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":42.042,"s":[0],"e":[-6]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":55.055,"s":[-6],"e":[-17.016]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":60.06,"s":[-17.016],"e":[17]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":64.064,"s":[17],"e":[-13]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":69.069,"s":[-13],"e":[23]},{"t":75.0750750750751}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[-52.424,794.634,0],"e":[94.576,820.634,0],"to":[62.4243774414062,-102.634155273438,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":4.505,"s":[94.576,820.634,0],"e":[271.576,820.634,0],"to":[0,0,0],"ti":[-93.5756225585938,-156.634155273438,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":9.009,"s":[271.576,820.634,0],"e":[448.576,806.634,0],"to":[2.57562255859375,-2.3658447265625,0],"ti":[-99.5756225585938,-121.634155273438,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":13.514,"s":[448.576,806.634,0],"e":[530.576,821.634,0],"to":[45.5756225585938,-49.3658447265625,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":18.018,"s":[530.576,821.634,0],"e":[603.576,821.634,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.578,"y":0.578},"o":{"x":0.167,"y":0.167},"n":"0p578_0p578_0p167_0p167","t":27.027,"s":[603.576,821.634,0],"e":[603.576,821.634,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.578,"y":1},"o":{"x":0.344,"y":0},"n":"0p578_1_0p344_0","t":42.042,"s":[603.576,821.634,0],"e":[603.576,812.634,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.344,"y":0},"n":"0p833_0p833_0p344_0","t":55.055,"s":[603.576,812.634,0],"e":[797.576,798.634,0],"to":[0,0,0],"ti":[-84,-62.1666679382324,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":60.06,"s":[797.576,798.634,0],"e":[951.576,823.634,0],"to":[23,-36.8333320617676,0],"ti":[-27.4243774414062,-58.3658447265625,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":64.064,"s":[951.576,823.634,0],"e":[1157.576,803.634,0],"to":[61.6717796325684,-103.519493103027,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":69.069,"s":[1157.576,803.634,0],"e":[1378.576,825.634,0],"to":[0,0,0],"ti":[-82.5756225585938,-100.634155273438,0]},{"t":75.0750750750751}],"ix":2},"a":{"a":0,"k":[94.308,184.077,0],"ix":1},"s":{"a":0,"k":[130,130,100],"ix":6}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"n","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[-17.31,-0.493],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[17.31,0.493],[0,0],[0,0]],"v":[[128.48,-7.642],[-6.054,-7.642],[-6.054,79.804],[41.173,86.727],[62.708,80.403],[81.173,87.112],[128.48,79.804]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"ef":[{"ty":21,"nm":"Fill","np":9,"mn":"ADBE Fill","ix":1,"en":1,"ef":[{"ty":10,"nm":"Fill Mask","mn":"ADBE Fill-0001","ix":1,"v":{"a":0,"k":0,"ix":1}},{"ty":7,"nm":"All Masks","mn":"ADBE Fill-0007","ix":2,"v":{"a":0,"k":0,"ix":2}},{"ty":2,"nm":"Color","mn":"ADBE Fill-0002","ix":3,"v":{"a":0,"k":[0.203921571374,0.701960802078,0.89411765337,1],"ix":3,"x":"var $bm_rt;\nvar rayColorPalette, rayColorSwatch;\ntry {\n rayColorPalette = 'Ray - palette 01';\n rayColorSwatch = Math.floor(mul(value[2], 255));\n $bm_rt = comp(rayColorPalette).layer(1)(4)(rayColorSwatch)(1);\n} catch (e) {\n $bm_rt = value;\n}"}},{"ty":7,"nm":"Invert","mn":"ADBE Fill-0006","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":0,"nm":"Horizontal Feather","mn":"ADBE Fill-0003","ix":5,"v":{"a":0,"k":0,"ix":5}},{"ty":0,"nm":"Vertical Feather","mn":"ADBE Fill-0004","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Opacity","mn":"ADBE Fill-0005","ix":7,"v":{"a":0,"k":1,"ix":7}}]}],"w":124,"h":202,"ip":-7.00700700700701,"op":593.593593593594,"st":-7.00700700700701,"bm":0}]},{"id":"comp_6","layers":[{"ddd":0,"ind":2,"ty":0,"nm":"ball top","refId":"comp_7","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[123,36,0],"ix":2},"a":{"a":0,"k":[55.5,55.5,0],"ix":1},"s":{"a":0,"k":[53,53,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Change to Color 3","np":13,"mn":"ADBE Change To Color","ix":1,"en":1,"ef":[{"ty":2,"nm":"From","mn":"ADBE Change To Color-0001","ix":1,"v":{"a":0,"k":[0.917647063732,0.921568632126,0.937254905701,1],"ix":1}},{"ty":2,"nm":"To","mn":"ADBE Change To Color-0002","ix":2,"v":{"a":0,"k":[0.792156875134,0.800000011921,0.807843148708,1],"ix":2}},{"ty":7,"nm":"Change","mn":"ADBE Change To Color-0003","ix":3,"v":{"a":0,"k":4,"ix":3}},{"ty":7,"nm":"Change By","mn":"ADBE Change To Color-0004","ix":4,"v":{"a":0,"k":1,"ix":4}},{"ty":6,"nm":"Tolerance","mn":"ADBE Change To Color-0010","ix":5,"v":0},{"ty":0,"nm":"Hue","mn":"ADBE Change To Color-0005","ix":6,"v":{"a":0,"k":0.03,"ix":6}},{"ty":0,"nm":"Lightness","mn":"ADBE Change To Color-0006","ix":7,"v":{"a":0,"k":1,"ix":7}},{"ty":0,"nm":"Saturation","mn":"ADBE Change To Color-0007","ix":8,"v":{"a":0,"k":1,"ix":8}},{"ty":6,"nm":"Saturation","mn":"ADBE Change To Color-0011","ix":9,"v":0},{"ty":0,"nm":"Softness","mn":"ADBE Change To Color-0008","ix":10,"v":{"a":0,"k":0.5,"ix":10}},{"ty":7,"nm":"View Correction Matte","mn":"ADBE Change To Color-0009","ix":11,"v":{"a":0,"k":0,"ix":11}}]},{"ty":5,"nm":"Change to Color 2","np":13,"mn":"ADBE Change To Color","ix":2,"en":1,"ef":[{"ty":2,"nm":"From","mn":"ADBE Change To Color-0001","ix":1,"v":{"a":0,"k":[0.819607853889,0.831372559071,0.858823537827,1],"ix":1}},{"ty":2,"nm":"To","mn":"ADBE Change To Color-0002","ix":2,"v":{"a":0,"k":[0.615686297417,0.623529434204,0.631372570992,1],"ix":2}},{"ty":7,"nm":"Change","mn":"ADBE Change To Color-0003","ix":3,"v":{"a":0,"k":4,"ix":3}},{"ty":7,"nm":"Change By","mn":"ADBE Change To Color-0004","ix":4,"v":{"a":0,"k":1,"ix":4}},{"ty":6,"nm":"Tolerance","mn":"ADBE Change To Color-0010","ix":5,"v":0},{"ty":0,"nm":"Hue","mn":"ADBE Change To Color-0005","ix":6,"v":{"a":0,"k":0.03,"ix":6}},{"ty":0,"nm":"Lightness","mn":"ADBE Change To Color-0006","ix":7,"v":{"a":0,"k":1,"ix":7}},{"ty":0,"nm":"Saturation","mn":"ADBE Change To Color-0007","ix":8,"v":{"a":0,"k":1,"ix":8}},{"ty":6,"nm":"Saturation","mn":"ADBE Change To Color-0011","ix":9,"v":0},{"ty":0,"nm":"Softness","mn":"ADBE Change To Color-0008","ix":10,"v":{"a":0,"k":0.5,"ix":10}},{"ty":7,"nm":"View Correction Matte","mn":"ADBE Change To Color-0009","ix":11,"v":{"a":0,"k":0,"ix":11}}]}],"sy":[{"ty":0,"nm":"Stroke","c":{"a":0,"k":[0.615686297417,0.623529434204,0.631372570992,1],"ix":2},"s":{"a":0,"k":1,"ix":3}}],"w":111,"h":111,"ip":0,"op":600.600600600601,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[123.676,138.221,0],"ix":2},"a":{"a":0,"k":[-349.324,174.221,0],"ix":1},"s":{"a":0,"k":[157.387,91,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[9.352,225.559],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0.027450980619,1],"ix":3,"x":"var $bm_rt;\nvar rayColorPalette, rayColorSwatch;\ntry {\n rayColorPalette = 'Ray - palette 01';\n rayColorSwatch = Math.floor(mul(value[2], 255));\n $bm_rt = comp(rayColorPalette).layer(1)(4)(rayColorSwatch)(1);\n} catch (e) {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.792156862745,0.8,0.807843137255,1],"ix":4,"x":"var $bm_rt;\nvar rayColorPalette, rayColorSwatch;\ntry {\n rayColorPalette = 'Ray - palette 01';\n rayColorSwatch = Math.floor(mul(value[2], 255));\n $bm_rt = comp(rayColorPalette).layer(1)(4)(rayColorSwatch)(1);\n} catch (e) {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-349.324,174.221],"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":"Rectangle 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600.600600600601,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Shape Layer 3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[476,-48,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[54.023,17.809],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":20,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.61568627451,0.623529411765,0.63137254902,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.792156862745,0.8,0.807843137255,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-352.988,139.096],"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":"Rectangle 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600.600600600601,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Shape Layer 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[122.001,225.774,0],"ix":2},"a":{"a":0,"k":[0.001,0.957,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-2.597,0],[0,0],[2.123,1.482],[0,0],[10.938,-7.532],[0,0]],"o":[[0,0],[2.589,0],[0,0],[-10.891,-7.6],[0,0],[-2.139,1.473]],"v":[[-42.541,15.183],[42.544,15.183],[44.058,10.367],[18.4,-7.538],[-17.892,-7.651],[-44.042,10.358]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.61568627451,0.623529411765,0.63137254902,1],"ix":3,"x":"var $bm_rt;\nvar rayColorPalette, rayColorSwatch;\ntry {\n rayColorPalette = 'Ray - palette 01';\n rayColorSwatch = Math.floor(mul(value[2], 255));\n $bm_rt = comp(rayColorPalette).layer(1)(4)(rayColorSwatch)(1);\n} catch (e) {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.792156862745,0.8,0.807843137255,1],"ix":4,"x":"var $bm_rt;\nvar rayColorPalette, rayColorSwatch;\ntry {\n rayColorPalette = 'Ray - palette 01';\n rayColorSwatch = Math.floor(mul(value[2], 255));\n $bm_rt = comp(rayColorPalette).layer(1)(4)(rayColorSwatch)(1);\n} catch (e) {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600.600600600601,"st":0,"bm":0}]},{"id":"comp_7","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 5","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[55.697,55.697,0],"ix":2},"a":{"a":0,"k":[-325.303,-176.303,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[107.395,107.395],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0.027450980619,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0.027450980619,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-325.303,-176.303],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600.600600600601,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 3","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[375,232,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[171.367,158.457],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0.023529412225,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.917647058824,0.921568627451,0.937254901961,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-349.512,-215.295],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600.600600600601,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[55.697,55.697,0],"ix":2},"a":{"a":0,"k":[-325.303,-176.303,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[107.395,107.395],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0.027450980619,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.819607843137,0.83137254902,0.858823529412,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-325.303,-176.303],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600.600600600601,"st":0,"bm":0}]},{"id":"comp_8","layers":[{"ddd":0,"ind":1,"ty":0,"nm":"party thing","refId":"comp_9","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[869,465,0],"ix":2},"a":{"a":0,"k":[942,467,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":1920,"h":1080,"ip":0,"op":600.600600600601,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Spotlight 2","sr":1,"ks":{"o":{"a":0,"k":50,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.4],"y":[0]},"n":["0p4_1_0p4_0"],"t":-17.017,"s":[0],"e":[-39]},{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.4],"y":[0]},"n":["0p4_1_0p4_0"],"t":17.017,"s":[-39],"e":[-11]},{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.4],"y":[0]},"n":["0p4_1_0p4_0"],"t":53.053,"s":[-11],"e":[-39]},{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.4],"y":[0]},"n":["0p4_1_0p4_0"],"t":87.087,"s":[-39],"e":[-11]},{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.4],"y":[0]},"n":["0p4_1_0p4_0"],"t":123.123,"s":[-11],"e":[-39]},{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.4],"y":[0]},"n":["0p4_1_0p4_0"],"t":152.152,"s":[-39],"e":[-11]},{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.4],"y":[0]},"n":["0p4_1_0p4_0"],"t":188.188,"s":[-11],"e":[-39]},{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.4],"y":[0]},"n":["0p4_1_0p4_0"],"t":222.222,"s":[-39],"e":[-11]},{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.4],"y":[0]},"n":["0p4_1_0p4_0"],"t":258.258,"s":[-11],"e":[-39]},{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.4],"y":[0]},"n":["0p4_1_0p4_0"],"t":292.292,"s":[-39],"e":[-11]},{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.4],"y":[0]},"n":["0p4_1_0p4_0"],"t":328.328,"s":[-11],"e":[-39]},{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.4],"y":[0]},"n":["0p4_1_0p4_0"],"t":357.357,"s":[-39],"e":[-11]},{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.4],"y":[0]},"n":["0p4_1_0p4_0"],"t":393.393,"s":[-11],"e":[-39]},{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.4],"y":[0]},"n":["0p4_1_0p4_0"],"t":427.427,"s":[-39],"e":[-11]},{"t":463.463463463463}],"ix":10},"p":{"a":0,"k":[1108,378,0],"ix":2},"a":{"a":0,"k":[-158,-162,0],"ix":1},"s":{"a":0,"k":[-100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-166,-182],[-140,416],[296,268]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.639215686275,0.862745098039,0.952941176471,1],"ix":4,"x":"var $bm_rt;\nvar rayColorPalette, rayColorSwatch;\ntry {\n rayColorPalette = 'Ray - palette 01';\n rayColorSwatch = Math.floor(mul(value[2], 255));\n $bm_rt = comp(rayColorPalette).layer(1)(4)(rayColorSwatch)(1);\n} catch (e) {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":-17.017017017017,"op":583.583583583584,"st":-17.017017017017,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[960,508,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[575.859,143.445],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.203921568627,0.701960784314,0.894117647059,1],"ix":4,"x":"var $bm_rt;\nvar rayColorPalette, rayColorSwatch;\ntry {\n rayColorPalette = 'Ray - palette 01';\n rayColorSwatch = Math.floor(mul(value[2], 255));\n $bm_rt = comp(rayColorPalette).layer(1)(4)(rayColorSwatch)(1);\n} catch (e) {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[25.93,266.277],"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":"Rectangle 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600.600600600601,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"body 13","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[813.83,684,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[31,31,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Wiggle - position","np":4,"mn":"ADBE CM WigglePosition","ix":1,"en":1,"ef":[{"ty":0,"nm":"Wiggle Speed (wigs/sec)","mn":"ADBE CM WigglePosition-0001","ix":1,"v":{"a":0,"k":2,"ix":1}},{"ty":0,"nm":"Wiggle Amount (pixels)","mn":"ADBE CM WigglePosition-0002","ix":2,"v":{"a":0,"k":15,"ix":2}}]},{"ty":5,"nm":"(Transform)","np":15,"mn":"ADBE Geometry2","ix":2,"en":1,"ef":[{"ty":3,"nm":"Anchor Point","mn":"ADBE Geometry2-0001","ix":1,"v":{"a":0,"k":[0,0],"ix":1}},{"ty":3,"nm":"Position","mn":"ADBE Geometry2-0002","ix":2,"v":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\n$bm_rt = wiggle(effect('Wiggle - position')('Wiggle Speed (wigs/sec)'), effect('Wiggle - position')('Wiggle Amount (pixels)'));"}},{"ty":7,"nm":"Uniform Scale","mn":"ADBE Geometry2-0011","ix":3,"v":{"a":0,"k":1,"ix":3}},{"ty":0,"nm":"Scale Height","mn":"ADBE Geometry2-0003","ix":4,"v":{"a":0,"k":100,"ix":4}},{"ty":0,"nm":"Scale Width","mn":"ADBE Geometry2-0004","ix":5,"v":{"a":0,"k":100,"ix":5}},{"ty":0,"nm":"Skew","mn":"ADBE Geometry2-0005","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Skew Axis","mn":"ADBE Geometry2-0006","ix":7,"v":{"a":0,"k":0,"ix":7}},{"ty":0,"nm":"Rotation","mn":"ADBE Geometry2-0007","ix":8,"v":{"a":0,"k":0,"ix":8}},{"ty":0,"nm":"Opacity","mn":"ADBE Geometry2-0008","ix":9,"v":{"a":0,"k":100,"ix":9}},{"ty":7,"nm":"Use Composition’s Shutter Angle","mn":"ADBE Geometry2-0009","ix":10,"v":{"a":0,"k":1,"ix":10}},{"ty":0,"nm":"Shutter Angle","mn":"ADBE Geometry2-0010","ix":11,"v":{"a":0,"k":0,"ix":11}},{"ty":7,"nm":"Sampling","mn":"ADBE Geometry2-0012","ix":12,"v":{"a":0,"k":1,"ix":12}},{"ty":7,"nm":"GPU Rendering","mn":"ADBE Force CPU GPU","ix":13,"v":{"a":0,"k":1,"ix":13}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-59,0],[0,-59],[0,0]],"o":[[0,0],[0,-59],[59,0],[0,0],[0,0]],"v":[[-107,166.5],[-107,-59.5],[0,-166.5],[107,-59.5],[107,166.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.203921568627,0.701960784314,0.894117647059,1],"ix":4,"x":"var $bm_rt;\nvar rayColorPalette, rayColorSwatch;\ntry {\n rayColorPalette = 'Ray - palette 01';\n rayColorSwatch = Math.floor(mul(value[2], 255));\n $bm_rt = comp(rayColorPalette).layer(1)(4)(rayColorSwatch)(1);\n} catch (e) {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600.600600600601,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"body 8","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1066.83,674,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[31,31,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Wiggle - position","np":4,"mn":"ADBE CM WigglePosition","ix":1,"en":1,"ef":[{"ty":0,"nm":"Wiggle Speed (wigs/sec)","mn":"ADBE CM WigglePosition-0001","ix":1,"v":{"a":0,"k":2,"ix":1}},{"ty":0,"nm":"Wiggle Amount (pixels)","mn":"ADBE CM WigglePosition-0002","ix":2,"v":{"a":0,"k":15,"ix":2}}]},{"ty":5,"nm":"(Transform)","np":15,"mn":"ADBE Geometry2","ix":2,"en":1,"ef":[{"ty":3,"nm":"Anchor Point","mn":"ADBE Geometry2-0001","ix":1,"v":{"a":0,"k":[0,0],"ix":1}},{"ty":3,"nm":"Position","mn":"ADBE Geometry2-0002","ix":2,"v":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\n$bm_rt = wiggle(effect('Wiggle - position')('Wiggle Speed (wigs/sec)'), effect('Wiggle - position')('Wiggle Amount (pixels)'));"}},{"ty":7,"nm":"Uniform Scale","mn":"ADBE Geometry2-0011","ix":3,"v":{"a":0,"k":1,"ix":3}},{"ty":0,"nm":"Scale Height","mn":"ADBE Geometry2-0003","ix":4,"v":{"a":0,"k":100,"ix":4}},{"ty":0,"nm":"Scale Width","mn":"ADBE Geometry2-0004","ix":5,"v":{"a":0,"k":100,"ix":5}},{"ty":0,"nm":"Skew","mn":"ADBE Geometry2-0005","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Skew Axis","mn":"ADBE Geometry2-0006","ix":7,"v":{"a":0,"k":0,"ix":7}},{"ty":0,"nm":"Rotation","mn":"ADBE Geometry2-0007","ix":8,"v":{"a":0,"k":0,"ix":8}},{"ty":0,"nm":"Opacity","mn":"ADBE Geometry2-0008","ix":9,"v":{"a":0,"k":100,"ix":9}},{"ty":7,"nm":"Use Composition’s Shutter Angle","mn":"ADBE Geometry2-0009","ix":10,"v":{"a":0,"k":1,"ix":10}},{"ty":0,"nm":"Shutter Angle","mn":"ADBE Geometry2-0010","ix":11,"v":{"a":0,"k":0,"ix":11}},{"ty":7,"nm":"Sampling","mn":"ADBE Geometry2-0012","ix":12,"v":{"a":0,"k":1,"ix":12}},{"ty":7,"nm":"GPU Rendering","mn":"ADBE Force CPU GPU","ix":13,"v":{"a":0,"k":1,"ix":13}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-59,0],[0,-59],[0,0]],"o":[[0,0],[0,-59],[59,0],[0,0],[0,0]],"v":[[-107,166.5],[-107,-59.5],[0,-166.5],[107,-59.5],[107,166.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.203921568627,0.701960784314,0.894117647059,1],"ix":4,"x":"var $bm_rt;\nvar rayColorPalette, rayColorSwatch;\ntry {\n rayColorPalette = 'Ray - palette 01';\n rayColorSwatch = Math.floor(mul(value[2], 255));\n $bm_rt = comp(rayColorPalette).layer(1)(4)(rayColorSwatch)(1);\n} catch (e) {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600.600600600601,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"body 7","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[942.83,670,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[31,31,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Wiggle - position","np":4,"mn":"ADBE CM WigglePosition","ix":1,"en":1,"ef":[{"ty":0,"nm":"Wiggle Speed (wigs/sec)","mn":"ADBE CM WigglePosition-0001","ix":1,"v":{"a":0,"k":2,"ix":1}},{"ty":0,"nm":"Wiggle Amount (pixels)","mn":"ADBE CM WigglePosition-0002","ix":2,"v":{"a":0,"k":15,"ix":2}}]},{"ty":5,"nm":"(Transform)","np":15,"mn":"ADBE Geometry2","ix":2,"en":1,"ef":[{"ty":3,"nm":"Anchor Point","mn":"ADBE Geometry2-0001","ix":1,"v":{"a":0,"k":[0,0],"ix":1}},{"ty":3,"nm":"Position","mn":"ADBE Geometry2-0002","ix":2,"v":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\n$bm_rt = wiggle(effect('Wiggle - position')('Wiggle Speed (wigs/sec)'), effect('Wiggle - position')('Wiggle Amount (pixels)'));"}},{"ty":7,"nm":"Uniform Scale","mn":"ADBE Geometry2-0011","ix":3,"v":{"a":0,"k":1,"ix":3}},{"ty":0,"nm":"Scale Height","mn":"ADBE Geometry2-0003","ix":4,"v":{"a":0,"k":100,"ix":4}},{"ty":0,"nm":"Scale Width","mn":"ADBE Geometry2-0004","ix":5,"v":{"a":0,"k":100,"ix":5}},{"ty":0,"nm":"Skew","mn":"ADBE Geometry2-0005","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Skew Axis","mn":"ADBE Geometry2-0006","ix":7,"v":{"a":0,"k":0,"ix":7}},{"ty":0,"nm":"Rotation","mn":"ADBE Geometry2-0007","ix":8,"v":{"a":0,"k":0,"ix":8}},{"ty":0,"nm":"Opacity","mn":"ADBE Geometry2-0008","ix":9,"v":{"a":0,"k":100,"ix":9}},{"ty":7,"nm":"Use Composition’s Shutter Angle","mn":"ADBE Geometry2-0009","ix":10,"v":{"a":0,"k":1,"ix":10}},{"ty":0,"nm":"Shutter Angle","mn":"ADBE Geometry2-0010","ix":11,"v":{"a":0,"k":0,"ix":11}},{"ty":7,"nm":"Sampling","mn":"ADBE Geometry2-0012","ix":12,"v":{"a":0,"k":1,"ix":12}},{"ty":7,"nm":"GPU Rendering","mn":"ADBE Force CPU GPU","ix":13,"v":{"a":0,"k":1,"ix":13}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-59,0],[0,-59],[0,0]],"o":[[0,0],[0,-59],[59,0],[0,0],[0,0]],"v":[[-107,166.5],[-107,-59.5],[0,-166.5],[107,-59.5],[107,166.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.203921568627,0.701960784314,0.894117647059,1],"ix":4,"x":"var $bm_rt;\nvar rayColorPalette, rayColorSwatch;\ntry {\n rayColorPalette = 'Ray - palette 01';\n rayColorSwatch = Math.floor(mul(value[2], 255));\n $bm_rt = comp(rayColorPalette).layer(1)(4)(rayColorSwatch)(1);\n} catch (e) {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600.600600600601,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"body 6","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[910.83,698,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[31,31,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Wiggle - position","np":4,"mn":"ADBE CM WigglePosition","ix":1,"en":1,"ef":[{"ty":0,"nm":"Wiggle Speed (wigs/sec)","mn":"ADBE CM WigglePosition-0001","ix":1,"v":{"a":0,"k":2,"ix":1}},{"ty":0,"nm":"Wiggle Amount (pixels)","mn":"ADBE CM WigglePosition-0002","ix":2,"v":{"a":0,"k":15,"ix":2}}]},{"ty":5,"nm":"(Transform)","np":15,"mn":"ADBE Geometry2","ix":2,"en":1,"ef":[{"ty":3,"nm":"Anchor Point","mn":"ADBE Geometry2-0001","ix":1,"v":{"a":0,"k":[0,0],"ix":1}},{"ty":3,"nm":"Position","mn":"ADBE Geometry2-0002","ix":2,"v":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\n$bm_rt = wiggle(effect('Wiggle - position')('Wiggle Speed (wigs/sec)'), effect('Wiggle - position')('Wiggle Amount (pixels)'));"}},{"ty":7,"nm":"Uniform Scale","mn":"ADBE Geometry2-0011","ix":3,"v":{"a":0,"k":1,"ix":3}},{"ty":0,"nm":"Scale Height","mn":"ADBE Geometry2-0003","ix":4,"v":{"a":0,"k":100,"ix":4}},{"ty":0,"nm":"Scale Width","mn":"ADBE Geometry2-0004","ix":5,"v":{"a":0,"k":100,"ix":5}},{"ty":0,"nm":"Skew","mn":"ADBE Geometry2-0005","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Skew Axis","mn":"ADBE Geometry2-0006","ix":7,"v":{"a":0,"k":0,"ix":7}},{"ty":0,"nm":"Rotation","mn":"ADBE Geometry2-0007","ix":8,"v":{"a":0,"k":0,"ix":8}},{"ty":0,"nm":"Opacity","mn":"ADBE Geometry2-0008","ix":9,"v":{"a":0,"k":100,"ix":9}},{"ty":7,"nm":"Use Composition’s Shutter Angle","mn":"ADBE Geometry2-0009","ix":10,"v":{"a":0,"k":1,"ix":10}},{"ty":0,"nm":"Shutter Angle","mn":"ADBE Geometry2-0010","ix":11,"v":{"a":0,"k":0,"ix":11}},{"ty":7,"nm":"Sampling","mn":"ADBE Geometry2-0012","ix":12,"v":{"a":0,"k":1,"ix":12}},{"ty":7,"nm":"GPU Rendering","mn":"ADBE Force CPU GPU","ix":13,"v":{"a":0,"k":1,"ix":13}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-59,0],[0,-59],[0,0]],"o":[[0,0],[0,-59],[59,0],[0,0],[0,0]],"v":[[-107,166.5],[-107,-59.5],[0,-166.5],[107,-59.5],[107,166.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.203921568627,0.701960784314,0.894117647059,1],"ix":4,"x":"var $bm_rt;\nvar rayColorPalette, rayColorSwatch;\ntry {\n rayColorPalette = 'Ray - palette 01';\n rayColorSwatch = Math.floor(mul(value[2], 255));\n $bm_rt = comp(rayColorPalette).layer(1)(4)(rayColorSwatch)(1);\n} catch (e) {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600.600600600601,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"body 5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1002.83,730,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[31,31,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Wiggle - position","np":4,"mn":"ADBE CM WigglePosition","ix":1,"en":1,"ef":[{"ty":0,"nm":"Wiggle Speed (wigs/sec)","mn":"ADBE CM WigglePosition-0001","ix":1,"v":{"a":0,"k":2,"ix":1}},{"ty":0,"nm":"Wiggle Amount (pixels)","mn":"ADBE CM WigglePosition-0002","ix":2,"v":{"a":0,"k":15,"ix":2}}]},{"ty":5,"nm":"(Transform)","np":15,"mn":"ADBE Geometry2","ix":2,"en":1,"ef":[{"ty":3,"nm":"Anchor Point","mn":"ADBE Geometry2-0001","ix":1,"v":{"a":0,"k":[0,0],"ix":1}},{"ty":3,"nm":"Position","mn":"ADBE Geometry2-0002","ix":2,"v":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\n$bm_rt = wiggle(effect('Wiggle - position')('Wiggle Speed (wigs/sec)'), effect('Wiggle - position')('Wiggle Amount (pixels)'));"}},{"ty":7,"nm":"Uniform Scale","mn":"ADBE Geometry2-0011","ix":3,"v":{"a":0,"k":1,"ix":3}},{"ty":0,"nm":"Scale Height","mn":"ADBE Geometry2-0003","ix":4,"v":{"a":0,"k":100,"ix":4}},{"ty":0,"nm":"Scale Width","mn":"ADBE Geometry2-0004","ix":5,"v":{"a":0,"k":100,"ix":5}},{"ty":0,"nm":"Skew","mn":"ADBE Geometry2-0005","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Skew Axis","mn":"ADBE Geometry2-0006","ix":7,"v":{"a":0,"k":0,"ix":7}},{"ty":0,"nm":"Rotation","mn":"ADBE Geometry2-0007","ix":8,"v":{"a":0,"k":0,"ix":8}},{"ty":0,"nm":"Opacity","mn":"ADBE Geometry2-0008","ix":9,"v":{"a":0,"k":100,"ix":9}},{"ty":7,"nm":"Use Composition’s Shutter Angle","mn":"ADBE Geometry2-0009","ix":10,"v":{"a":0,"k":1,"ix":10}},{"ty":0,"nm":"Shutter Angle","mn":"ADBE Geometry2-0010","ix":11,"v":{"a":0,"k":0,"ix":11}},{"ty":7,"nm":"Sampling","mn":"ADBE Geometry2-0012","ix":12,"v":{"a":0,"k":1,"ix":12}},{"ty":7,"nm":"GPU Rendering","mn":"ADBE Force CPU GPU","ix":13,"v":{"a":0,"k":1,"ix":13}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-59,0],[0,-59],[0,0]],"o":[[0,0],[0,-59],[59,0],[0,0],[0,0]],"v":[[-107,166.5],[-107,-59.5],[0,-166.5],[107,-59.5],[107,166.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.203921568627,0.701960784314,0.894117647059,1],"ix":4,"x":"var $bm_rt;\nvar rayColorPalette, rayColorSwatch;\ntry {\n rayColorPalette = 'Ray - palette 01';\n rayColorSwatch = Math.floor(mul(value[2], 255));\n $bm_rt = comp(rayColorPalette).layer(1)(4)(rayColorSwatch)(1);\n} catch (e) {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600.600600600601,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"body 4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1066.83,690,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[31,31,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Wiggle - position","np":4,"mn":"ADBE CM WigglePosition","ix":1,"en":1,"ef":[{"ty":0,"nm":"Wiggle Speed (wigs/sec)","mn":"ADBE CM WigglePosition-0001","ix":1,"v":{"a":0,"k":2,"ix":1}},{"ty":0,"nm":"Wiggle Amount (pixels)","mn":"ADBE CM WigglePosition-0002","ix":2,"v":{"a":0,"k":15,"ix":2}}]},{"ty":5,"nm":"(Transform)","np":15,"mn":"ADBE Geometry2","ix":2,"en":1,"ef":[{"ty":3,"nm":"Anchor Point","mn":"ADBE Geometry2-0001","ix":1,"v":{"a":0,"k":[0,0],"ix":1}},{"ty":3,"nm":"Position","mn":"ADBE Geometry2-0002","ix":2,"v":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\n$bm_rt = wiggle(effect('Wiggle - position')('Wiggle Speed (wigs/sec)'), effect('Wiggle - position')('Wiggle Amount (pixels)'));"}},{"ty":7,"nm":"Uniform Scale","mn":"ADBE Geometry2-0011","ix":3,"v":{"a":0,"k":1,"ix":3}},{"ty":0,"nm":"Scale Height","mn":"ADBE Geometry2-0003","ix":4,"v":{"a":0,"k":100,"ix":4}},{"ty":0,"nm":"Scale Width","mn":"ADBE Geometry2-0004","ix":5,"v":{"a":0,"k":100,"ix":5}},{"ty":0,"nm":"Skew","mn":"ADBE Geometry2-0005","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Skew Axis","mn":"ADBE Geometry2-0006","ix":7,"v":{"a":0,"k":0,"ix":7}},{"ty":0,"nm":"Rotation","mn":"ADBE Geometry2-0007","ix":8,"v":{"a":0,"k":0,"ix":8}},{"ty":0,"nm":"Opacity","mn":"ADBE Geometry2-0008","ix":9,"v":{"a":0,"k":100,"ix":9}},{"ty":7,"nm":"Use Composition’s Shutter Angle","mn":"ADBE Geometry2-0009","ix":10,"v":{"a":0,"k":1,"ix":10}},{"ty":0,"nm":"Shutter Angle","mn":"ADBE Geometry2-0010","ix":11,"v":{"a":0,"k":0,"ix":11}},{"ty":7,"nm":"Sampling","mn":"ADBE Geometry2-0012","ix":12,"v":{"a":0,"k":1,"ix":12}},{"ty":7,"nm":"GPU Rendering","mn":"ADBE Force CPU GPU","ix":13,"v":{"a":0,"k":1,"ix":13}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-59,0],[0,-59],[0,0]],"o":[[0,0],[0,-59],[59,0],[0,0],[0,0]],"v":[[-107,166.5],[-107,-59.5],[0,-166.5],[107,-59.5],[107,166.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.203921568627,0.701960784314,0.894117647059,1],"ix":4,"x":"var $bm_rt;\nvar rayColorPalette, rayColorSwatch;\ntry {\n rayColorPalette = 'Ray - palette 01';\n rayColorSwatch = Math.floor(mul(value[2], 255));\n $bm_rt = comp(rayColorPalette).layer(1)(4)(rayColorSwatch)(1);\n} catch (e) {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600.600600600601,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"body 3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[947.17,716,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[31,31,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Wiggle - position","np":4,"mn":"ADBE CM WigglePosition","ix":1,"en":1,"ef":[{"ty":0,"nm":"Wiggle Speed (wigs/sec)","mn":"ADBE CM WigglePosition-0001","ix":1,"v":{"a":0,"k":2,"ix":1}},{"ty":0,"nm":"Wiggle Amount (pixels)","mn":"ADBE CM WigglePosition-0002","ix":2,"v":{"a":0,"k":15,"ix":2}}]},{"ty":5,"nm":"(Transform)","np":15,"mn":"ADBE Geometry2","ix":2,"en":1,"ef":[{"ty":3,"nm":"Anchor Point","mn":"ADBE Geometry2-0001","ix":1,"v":{"a":0,"k":[0,0],"ix":1}},{"ty":3,"nm":"Position","mn":"ADBE Geometry2-0002","ix":2,"v":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\n$bm_rt = wiggle(effect('Wiggle - position')('Wiggle Speed (wigs/sec)'), effect('Wiggle - position')('Wiggle Amount (pixels)'));"}},{"ty":7,"nm":"Uniform Scale","mn":"ADBE Geometry2-0011","ix":3,"v":{"a":0,"k":1,"ix":3}},{"ty":0,"nm":"Scale Height","mn":"ADBE Geometry2-0003","ix":4,"v":{"a":0,"k":100,"ix":4}},{"ty":0,"nm":"Scale Width","mn":"ADBE Geometry2-0004","ix":5,"v":{"a":0,"k":100,"ix":5}},{"ty":0,"nm":"Skew","mn":"ADBE Geometry2-0005","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Skew Axis","mn":"ADBE Geometry2-0006","ix":7,"v":{"a":0,"k":0,"ix":7}},{"ty":0,"nm":"Rotation","mn":"ADBE Geometry2-0007","ix":8,"v":{"a":0,"k":0,"ix":8}},{"ty":0,"nm":"Opacity","mn":"ADBE Geometry2-0008","ix":9,"v":{"a":0,"k":100,"ix":9}},{"ty":7,"nm":"Use Composition’s Shutter Angle","mn":"ADBE Geometry2-0009","ix":10,"v":{"a":0,"k":1,"ix":10}},{"ty":0,"nm":"Shutter Angle","mn":"ADBE Geometry2-0010","ix":11,"v":{"a":0,"k":0,"ix":11}},{"ty":7,"nm":"Sampling","mn":"ADBE Geometry2-0012","ix":12,"v":{"a":0,"k":1,"ix":12}},{"ty":7,"nm":"GPU Rendering","mn":"ADBE Force CPU GPU","ix":13,"v":{"a":0,"k":1,"ix":13}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-59,0],[0,-59],[0,0]],"o":[[0,0],[0,-59],[59,0],[0,0],[0,0]],"v":[[-107,166.5],[-107,-59.5],[0,-166.5],[107,-59.5],[107,166.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.203921568627,0.701960784314,0.894117647059,1],"ix":4,"x":"var $bm_rt;\nvar rayColorPalette, rayColorSwatch;\ntry {\n rayColorPalette = 'Ray - palette 01';\n rayColorSwatch = Math.floor(mul(value[2], 255));\n $bm_rt = comp(rayColorPalette).layer(1)(4)(rayColorSwatch)(1);\n} catch (e) {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600.600600600601,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"body 10","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1092,724,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[31,31,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Wiggle - position","np":4,"mn":"ADBE CM WigglePosition","ix":1,"en":1,"ef":[{"ty":0,"nm":"Wiggle Speed (wigs/sec)","mn":"ADBE CM WigglePosition-0001","ix":1,"v":{"a":0,"k":2,"ix":1}},{"ty":0,"nm":"Wiggle Amount (pixels)","mn":"ADBE CM WigglePosition-0002","ix":2,"v":{"a":0,"k":15,"ix":2}}]},{"ty":5,"nm":"(Transform)","np":15,"mn":"ADBE Geometry2","ix":2,"en":1,"ef":[{"ty":3,"nm":"Anchor Point","mn":"ADBE Geometry2-0001","ix":1,"v":{"a":0,"k":[0,0],"ix":1}},{"ty":3,"nm":"Position","mn":"ADBE Geometry2-0002","ix":2,"v":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\n$bm_rt = wiggle(effect('Wiggle - position')('Wiggle Speed (wigs/sec)'), effect('Wiggle - position')('Wiggle Amount (pixels)'));"}},{"ty":7,"nm":"Uniform Scale","mn":"ADBE Geometry2-0011","ix":3,"v":{"a":0,"k":1,"ix":3}},{"ty":0,"nm":"Scale Height","mn":"ADBE Geometry2-0003","ix":4,"v":{"a":0,"k":100,"ix":4}},{"ty":0,"nm":"Scale Width","mn":"ADBE Geometry2-0004","ix":5,"v":{"a":0,"k":100,"ix":5}},{"ty":0,"nm":"Skew","mn":"ADBE Geometry2-0005","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Skew Axis","mn":"ADBE Geometry2-0006","ix":7,"v":{"a":0,"k":0,"ix":7}},{"ty":0,"nm":"Rotation","mn":"ADBE Geometry2-0007","ix":8,"v":{"a":0,"k":0,"ix":8}},{"ty":0,"nm":"Opacity","mn":"ADBE Geometry2-0008","ix":9,"v":{"a":0,"k":100,"ix":9}},{"ty":7,"nm":"Use Composition’s Shutter Angle","mn":"ADBE Geometry2-0009","ix":10,"v":{"a":0,"k":1,"ix":10}},{"ty":0,"nm":"Shutter Angle","mn":"ADBE Geometry2-0010","ix":11,"v":{"a":0,"k":0,"ix":11}},{"ty":7,"nm":"Sampling","mn":"ADBE Geometry2-0012","ix":12,"v":{"a":0,"k":1,"ix":12}},{"ty":7,"nm":"GPU Rendering","mn":"ADBE Force CPU GPU","ix":13,"v":{"a":0,"k":1,"ix":13}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-59,0],[0,-59],[0,0]],"o":[[0,0],[0,-59],[59,0],[0,0],[0,0]],"v":[[-107,166.5],[-107,-59.5],[0,-166.5],[107,-59.5],[107,166.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.203921568627,0.701960784314,0.894117647059,1],"ix":4,"x":"var $bm_rt;\nvar rayColorPalette, rayColorSwatch;\ntry {\n rayColorPalette = 'Ray - palette 01';\n rayColorSwatch = Math.floor(mul(value[2], 255));\n $bm_rt = comp(rayColorPalette).layer(1)(4)(rayColorSwatch)(1);\n} catch (e) {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600.600600600601,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"body 9","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[875.17,690,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[31,31,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Wiggle - position","np":4,"mn":"ADBE CM WigglePosition","ix":1,"en":1,"ef":[{"ty":0,"nm":"Wiggle Speed (wigs/sec)","mn":"ADBE CM WigglePosition-0001","ix":1,"v":{"a":0,"k":2,"ix":1}},{"ty":0,"nm":"Wiggle Amount (pixels)","mn":"ADBE CM WigglePosition-0002","ix":2,"v":{"a":0,"k":15,"ix":2}}]},{"ty":5,"nm":"(Transform)","np":15,"mn":"ADBE Geometry2","ix":2,"en":1,"ef":[{"ty":3,"nm":"Anchor Point","mn":"ADBE Geometry2-0001","ix":1,"v":{"a":0,"k":[0,0],"ix":1}},{"ty":3,"nm":"Position","mn":"ADBE Geometry2-0002","ix":2,"v":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\n$bm_rt = wiggle(effect('Wiggle - position')('Wiggle Speed (wigs/sec)'), effect('Wiggle - position')('Wiggle Amount (pixels)'));"}},{"ty":7,"nm":"Uniform Scale","mn":"ADBE Geometry2-0011","ix":3,"v":{"a":0,"k":1,"ix":3}},{"ty":0,"nm":"Scale Height","mn":"ADBE Geometry2-0003","ix":4,"v":{"a":0,"k":100,"ix":4}},{"ty":0,"nm":"Scale Width","mn":"ADBE Geometry2-0004","ix":5,"v":{"a":0,"k":100,"ix":5}},{"ty":0,"nm":"Skew","mn":"ADBE Geometry2-0005","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Skew Axis","mn":"ADBE Geometry2-0006","ix":7,"v":{"a":0,"k":0,"ix":7}},{"ty":0,"nm":"Rotation","mn":"ADBE Geometry2-0007","ix":8,"v":{"a":0,"k":0,"ix":8}},{"ty":0,"nm":"Opacity","mn":"ADBE Geometry2-0008","ix":9,"v":{"a":0,"k":100,"ix":9}},{"ty":7,"nm":"Use Composition’s Shutter Angle","mn":"ADBE Geometry2-0009","ix":10,"v":{"a":0,"k":1,"ix":10}},{"ty":0,"nm":"Shutter Angle","mn":"ADBE Geometry2-0010","ix":11,"v":{"a":0,"k":0,"ix":11}},{"ty":7,"nm":"Sampling","mn":"ADBE Geometry2-0012","ix":12,"v":{"a":0,"k":1,"ix":12}},{"ty":7,"nm":"GPU Rendering","mn":"ADBE Force CPU GPU","ix":13,"v":{"a":0,"k":1,"ix":13}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-59,0],[0,-59],[0,0]],"o":[[0,0],[0,-59],[59,0],[0,0],[0,0]],"v":[[-107,166.5],[-107,-59.5],[0,-166.5],[107,-59.5],[107,166.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.203921568627,0.701960784314,0.894117647059,1],"ix":4,"x":"var $bm_rt;\nvar rayColorPalette, rayColorSwatch;\ntry {\n rayColorPalette = 'Ray - palette 01';\n rayColorSwatch = Math.floor(mul(value[2], 255));\n $bm_rt = comp(rayColorPalette).layer(1)(4)(rayColorSwatch)(1);\n} catch (e) {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600.600600600601,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"body 11","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[985.17,664,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[31,31,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Wiggle - position","np":4,"mn":"ADBE CM WigglePosition","ix":1,"en":1,"ef":[{"ty":0,"nm":"Wiggle Speed (wigs/sec)","mn":"ADBE CM WigglePosition-0001","ix":1,"v":{"a":0,"k":2,"ix":1}},{"ty":0,"nm":"Wiggle Amount (pixels)","mn":"ADBE CM WigglePosition-0002","ix":2,"v":{"a":0,"k":15,"ix":2}}]},{"ty":5,"nm":"(Transform)","np":15,"mn":"ADBE Geometry2","ix":2,"en":1,"ef":[{"ty":3,"nm":"Anchor Point","mn":"ADBE Geometry2-0001","ix":1,"v":{"a":0,"k":[0,0],"ix":1}},{"ty":3,"nm":"Position","mn":"ADBE Geometry2-0002","ix":2,"v":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\n$bm_rt = wiggle(effect('Wiggle - position')('Wiggle Speed (wigs/sec)'), effect('Wiggle - position')('Wiggle Amount (pixels)'));"}},{"ty":7,"nm":"Uniform Scale","mn":"ADBE Geometry2-0011","ix":3,"v":{"a":0,"k":1,"ix":3}},{"ty":0,"nm":"Scale Height","mn":"ADBE Geometry2-0003","ix":4,"v":{"a":0,"k":100,"ix":4}},{"ty":0,"nm":"Scale Width","mn":"ADBE Geometry2-0004","ix":5,"v":{"a":0,"k":100,"ix":5}},{"ty":0,"nm":"Skew","mn":"ADBE Geometry2-0005","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Skew Axis","mn":"ADBE Geometry2-0006","ix":7,"v":{"a":0,"k":0,"ix":7}},{"ty":0,"nm":"Rotation","mn":"ADBE Geometry2-0007","ix":8,"v":{"a":0,"k":0,"ix":8}},{"ty":0,"nm":"Opacity","mn":"ADBE Geometry2-0008","ix":9,"v":{"a":0,"k":100,"ix":9}},{"ty":7,"nm":"Use Composition’s Shutter Angle","mn":"ADBE Geometry2-0009","ix":10,"v":{"a":0,"k":1,"ix":10}},{"ty":0,"nm":"Shutter Angle","mn":"ADBE Geometry2-0010","ix":11,"v":{"a":0,"k":0,"ix":11}},{"ty":7,"nm":"Sampling","mn":"ADBE Geometry2-0012","ix":12,"v":{"a":0,"k":1,"ix":12}},{"ty":7,"nm":"GPU Rendering","mn":"ADBE Force CPU GPU","ix":13,"v":{"a":0,"k":1,"ix":13}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-59,0],[0,-59],[0,0]],"o":[[0,0],[0,-59],[59,0],[0,0],[0,0]],"v":[[-107,166.5],[-107,-59.5],[0,-166.5],[107,-59.5],[107,166.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.203921568627,0.701960784314,0.894117647059,1],"ix":4,"x":"var $bm_rt;\nvar rayColorPalette, rayColorSwatch;\ntry {\n rayColorPalette = 'Ray - palette 01';\n rayColorSwatch = Math.floor(mul(value[2], 255));\n $bm_rt = comp(rayColorPalette).layer(1)(4)(rayColorSwatch)(1);\n} catch (e) {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600.600600600601,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"body","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[908,686,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[31,31,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Wiggle - position","np":4,"mn":"ADBE CM WigglePosition","ix":1,"en":1,"ef":[{"ty":0,"nm":"Wiggle Speed (wigs/sec)","mn":"ADBE CM WigglePosition-0001","ix":1,"v":{"a":0,"k":2,"ix":1}},{"ty":0,"nm":"Wiggle Amount (pixels)","mn":"ADBE CM WigglePosition-0002","ix":2,"v":{"a":0,"k":15,"ix":2}}]},{"ty":5,"nm":"(Transform)","np":15,"mn":"ADBE Geometry2","ix":2,"en":1,"ef":[{"ty":3,"nm":"Anchor Point","mn":"ADBE Geometry2-0001","ix":1,"v":{"a":0,"k":[0,0],"ix":1}},{"ty":3,"nm":"Position","mn":"ADBE Geometry2-0002","ix":2,"v":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\n$bm_rt = wiggle(effect('Wiggle - position')('Wiggle Speed (wigs/sec)'), effect('Wiggle - position')('Wiggle Amount (pixels)'));"}},{"ty":7,"nm":"Uniform Scale","mn":"ADBE Geometry2-0011","ix":3,"v":{"a":0,"k":1,"ix":3}},{"ty":0,"nm":"Scale Height","mn":"ADBE Geometry2-0003","ix":4,"v":{"a":0,"k":100,"ix":4}},{"ty":0,"nm":"Scale Width","mn":"ADBE Geometry2-0004","ix":5,"v":{"a":0,"k":100,"ix":5}},{"ty":0,"nm":"Skew","mn":"ADBE Geometry2-0005","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Skew Axis","mn":"ADBE Geometry2-0006","ix":7,"v":{"a":0,"k":0,"ix":7}},{"ty":0,"nm":"Rotation","mn":"ADBE Geometry2-0007","ix":8,"v":{"a":0,"k":0,"ix":8}},{"ty":0,"nm":"Opacity","mn":"ADBE Geometry2-0008","ix":9,"v":{"a":0,"k":100,"ix":9}},{"ty":7,"nm":"Use Composition’s Shutter Angle","mn":"ADBE Geometry2-0009","ix":10,"v":{"a":0,"k":1,"ix":10}},{"ty":0,"nm":"Shutter Angle","mn":"ADBE Geometry2-0010","ix":11,"v":{"a":0,"k":0,"ix":11}},{"ty":7,"nm":"Sampling","mn":"ADBE Geometry2-0012","ix":12,"v":{"a":0,"k":1,"ix":12}},{"ty":7,"nm":"GPU Rendering","mn":"ADBE Force CPU GPU","ix":13,"v":{"a":0,"k":1,"ix":13}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-59,0],[0,-59],[0,0]],"o":[[0,0],[0,-59],[59,0],[0,0],[0,0]],"v":[[-107,166.5],[-107,-59.5],[0,-166.5],[107,-59.5],[107,166.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.203921568627,0.701960784314,0.894117647059,1],"ix":4,"x":"var $bm_rt;\nvar rayColorPalette, rayColorSwatch;\ntry {\n rayColorPalette = 'Ray - palette 01';\n rayColorSwatch = Math.floor(mul(value[2], 255));\n $bm_rt = comp(rayColorPalette).layer(1)(4)(rayColorSwatch)(1);\n} catch (e) {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600.600600600601,"st":0,"bm":0},{"ddd":0,"ind":15,"ty":0,"nm":"party thing","refId":"comp_9","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[994.5,416.5,0],"ix":2},"a":{"a":0,"k":[942,467,0],"ix":1},"s":{"a":0,"k":[103,103,100],"ix":6}},"ao":0,"w":1920,"h":1080,"ip":0,"op":600.600600600601,"st":0,"bm":0},{"ddd":0,"ind":16,"ty":0,"nm":"party thing","refId":"comp_9","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1053,525.5,0],"ix":2},"a":{"a":0,"k":[942,467,0],"ix":1},"s":{"a":0,"k":[47,47,100],"ix":6}},"ao":0,"w":1920,"h":1080,"ip":0,"op":600.600600600601,"st":0,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":"Head 8","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1100,657.305,0],"ix":2},"a":{"a":0,"k":[-156.695,39.305,0],"ix":1},"s":{"a":0,"k":[68,68,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Wiggle - position","np":4,"mn":"ADBE CM WigglePosition","ix":1,"en":1,"ef":[{"ty":0,"nm":"Wiggle Speed (wigs/sec)","mn":"ADBE CM WigglePosition-0001","ix":1,"v":{"a":0,"k":2,"ix":1}},{"ty":0,"nm":"Wiggle Amount (pixels)","mn":"ADBE CM WigglePosition-0002","ix":2,"v":{"a":0,"k":15,"ix":2}}]},{"ty":5,"nm":"(Transform)","np":15,"mn":"ADBE Geometry2","ix":2,"en":1,"ef":[{"ty":3,"nm":"Anchor Point","mn":"ADBE Geometry2-0001","ix":1,"v":{"a":0,"k":[0,0],"ix":1}},{"ty":3,"nm":"Position","mn":"ADBE Geometry2-0002","ix":2,"v":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\n$bm_rt = wiggle(effect('Wiggle - position')('Wiggle Speed (wigs/sec)'), effect('Wiggle - position')('Wiggle Amount (pixels)'));"}},{"ty":7,"nm":"Uniform Scale","mn":"ADBE Geometry2-0011","ix":3,"v":{"a":0,"k":1,"ix":3}},{"ty":0,"nm":"Scale Height","mn":"ADBE Geometry2-0003","ix":4,"v":{"a":0,"k":100,"ix":4}},{"ty":0,"nm":"Scale Width","mn":"ADBE Geometry2-0004","ix":5,"v":{"a":0,"k":100,"ix":5}},{"ty":0,"nm":"Skew","mn":"ADBE Geometry2-0005","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Skew Axis","mn":"ADBE Geometry2-0006","ix":7,"v":{"a":0,"k":0,"ix":7}},{"ty":0,"nm":"Rotation","mn":"ADBE Geometry2-0007","ix":8,"v":{"a":0,"k":0,"ix":8}},{"ty":0,"nm":"Opacity","mn":"ADBE Geometry2-0008","ix":9,"v":{"a":0,"k":100,"ix":9}},{"ty":7,"nm":"Use Composition’s Shutter Angle","mn":"ADBE Geometry2-0009","ix":10,"v":{"a":0,"k":1,"ix":10}},{"ty":0,"nm":"Shutter Angle","mn":"ADBE Geometry2-0010","ix":11,"v":{"a":0,"k":0,"ix":11}},{"ty":7,"nm":"Sampling","mn":"ADBE Geometry2-0012","ix":12,"v":{"a":0,"k":1,"ix":12}},{"ty":7,"nm":"GPU Rendering","mn":"ADBE Force CPU GPU","ix":13,"v":{"a":0,"k":1,"ix":13}}]}],"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[105.391,105.391],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.203921568627,0.701960784314,0.894117647059,1],"ix":4,"x":"var $bm_rt;\nvar rayColorPalette, rayColorSwatch;\ntry {\n rayColorPalette = 'Ray - palette 01';\n rayColorSwatch = Math.floor(mul(value[2], 255));\n $bm_rt = comp(rayColorPalette).layer(1)(4)(rayColorSwatch)(1);\n} catch (e) {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-156.695,39.305],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600.600600600601,"st":0,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":"Head 12","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[815.305,609.305,0],"ix":2},"a":{"a":0,"k":[-156.695,39.305,0],"ix":1},"s":{"a":0,"k":[68,68,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Wiggle - position","np":4,"mn":"ADBE CM WigglePosition","ix":1,"en":1,"ef":[{"ty":0,"nm":"Wiggle Speed (wigs/sec)","mn":"ADBE CM WigglePosition-0001","ix":1,"v":{"a":0,"k":2,"ix":1}},{"ty":0,"nm":"Wiggle Amount (pixels)","mn":"ADBE CM WigglePosition-0002","ix":2,"v":{"a":0,"k":15,"ix":2}}]},{"ty":5,"nm":"(Transform)","np":15,"mn":"ADBE Geometry2","ix":2,"en":1,"ef":[{"ty":3,"nm":"Anchor Point","mn":"ADBE Geometry2-0001","ix":1,"v":{"a":0,"k":[0,0],"ix":1}},{"ty":3,"nm":"Position","mn":"ADBE Geometry2-0002","ix":2,"v":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\n$bm_rt = wiggle(effect('Wiggle - position')('Wiggle Speed (wigs/sec)'), effect('Wiggle - position')('Wiggle Amount (pixels)'));"}},{"ty":7,"nm":"Uniform Scale","mn":"ADBE Geometry2-0011","ix":3,"v":{"a":0,"k":1,"ix":3}},{"ty":0,"nm":"Scale Height","mn":"ADBE Geometry2-0003","ix":4,"v":{"a":0,"k":100,"ix":4}},{"ty":0,"nm":"Scale Width","mn":"ADBE Geometry2-0004","ix":5,"v":{"a":0,"k":100,"ix":5}},{"ty":0,"nm":"Skew","mn":"ADBE Geometry2-0005","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Skew Axis","mn":"ADBE Geometry2-0006","ix":7,"v":{"a":0,"k":0,"ix":7}},{"ty":0,"nm":"Rotation","mn":"ADBE Geometry2-0007","ix":8,"v":{"a":0,"k":0,"ix":8}},{"ty":0,"nm":"Opacity","mn":"ADBE Geometry2-0008","ix":9,"v":{"a":0,"k":100,"ix":9}},{"ty":7,"nm":"Use Composition’s Shutter Angle","mn":"ADBE Geometry2-0009","ix":10,"v":{"a":0,"k":1,"ix":10}},{"ty":0,"nm":"Shutter Angle","mn":"ADBE Geometry2-0010","ix":11,"v":{"a":0,"k":0,"ix":11}},{"ty":7,"nm":"Sampling","mn":"ADBE Geometry2-0012","ix":12,"v":{"a":0,"k":1,"ix":12}},{"ty":7,"nm":"GPU Rendering","mn":"ADBE Force CPU GPU","ix":13,"v":{"a":0,"k":1,"ix":13}}]}],"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[105.391,105.391],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.203921568627,0.701960784314,0.894117647059,1],"ix":4,"x":"var $bm_rt;\nvar rayColorPalette, rayColorSwatch;\ntry {\n rayColorPalette = 'Ray - palette 01';\n rayColorSwatch = Math.floor(mul(value[2], 255));\n $bm_rt = comp(rayColorPalette).layer(1)(4)(rayColorSwatch)(1);\n} catch (e) {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-156.695,39.305],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600.600600600601,"st":0,"bm":0},{"ddd":0,"ind":19,"ty":4,"nm":"Head 10","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[874.305,608.305,0],"ix":2},"a":{"a":0,"k":[-156.695,39.305,0],"ix":1},"s":{"a":0,"k":[68,68,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Wiggle - position","np":4,"mn":"ADBE CM WigglePosition","ix":1,"en":1,"ef":[{"ty":0,"nm":"Wiggle Speed (wigs/sec)","mn":"ADBE CM WigglePosition-0001","ix":1,"v":{"a":0,"k":2,"ix":1}},{"ty":0,"nm":"Wiggle Amount (pixels)","mn":"ADBE CM WigglePosition-0002","ix":2,"v":{"a":0,"k":15,"ix":2}}]},{"ty":5,"nm":"(Transform)","np":15,"mn":"ADBE Geometry2","ix":2,"en":1,"ef":[{"ty":3,"nm":"Anchor Point","mn":"ADBE Geometry2-0001","ix":1,"v":{"a":0,"k":[0,0],"ix":1}},{"ty":3,"nm":"Position","mn":"ADBE Geometry2-0002","ix":2,"v":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\n$bm_rt = wiggle(effect('Wiggle - position')('Wiggle Speed (wigs/sec)'), effect('Wiggle - position')('Wiggle Amount (pixels)'));"}},{"ty":7,"nm":"Uniform Scale","mn":"ADBE Geometry2-0011","ix":3,"v":{"a":0,"k":1,"ix":3}},{"ty":0,"nm":"Scale Height","mn":"ADBE Geometry2-0003","ix":4,"v":{"a":0,"k":100,"ix":4}},{"ty":0,"nm":"Scale Width","mn":"ADBE Geometry2-0004","ix":5,"v":{"a":0,"k":100,"ix":5}},{"ty":0,"nm":"Skew","mn":"ADBE Geometry2-0005","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Skew Axis","mn":"ADBE Geometry2-0006","ix":7,"v":{"a":0,"k":0,"ix":7}},{"ty":0,"nm":"Rotation","mn":"ADBE Geometry2-0007","ix":8,"v":{"a":0,"k":0,"ix":8}},{"ty":0,"nm":"Opacity","mn":"ADBE Geometry2-0008","ix":9,"v":{"a":0,"k":100,"ix":9}},{"ty":7,"nm":"Use Composition’s Shutter Angle","mn":"ADBE Geometry2-0009","ix":10,"v":{"a":0,"k":1,"ix":10}},{"ty":0,"nm":"Shutter Angle","mn":"ADBE Geometry2-0010","ix":11,"v":{"a":0,"k":0,"ix":11}},{"ty":7,"nm":"Sampling","mn":"ADBE Geometry2-0012","ix":12,"v":{"a":0,"k":1,"ix":12}},{"ty":7,"nm":"GPU Rendering","mn":"ADBE Force CPU GPU","ix":13,"v":{"a":0,"k":1,"ix":13}}]}],"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[105.391,105.391],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.203921568627,0.701960784314,0.894117647059,1],"ix":4,"x":"var $bm_rt;\nvar rayColorPalette, rayColorSwatch;\ntry {\n rayColorPalette = 'Ray - palette 01';\n rayColorSwatch = Math.floor(mul(value[2], 255));\n $bm_rt = comp(rayColorPalette).layer(1)(4)(rayColorSwatch)(1);\n} catch (e) {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-156.695,39.305],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600.600600600601,"st":0,"bm":0},{"ddd":0,"ind":20,"ty":4,"nm":"Head 7","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1013.305,659.305,0],"ix":2},"a":{"a":0,"k":[-156.695,39.305,0],"ix":1},"s":{"a":0,"k":[68,68,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Wiggle - position","np":4,"mn":"ADBE CM WigglePosition","ix":1,"en":1,"ef":[{"ty":0,"nm":"Wiggle Speed (wigs/sec)","mn":"ADBE CM WigglePosition-0001","ix":1,"v":{"a":0,"k":2,"ix":1}},{"ty":0,"nm":"Wiggle Amount (pixels)","mn":"ADBE CM WigglePosition-0002","ix":2,"v":{"a":0,"k":15,"ix":2}}]},{"ty":5,"nm":"(Transform)","np":15,"mn":"ADBE Geometry2","ix":2,"en":1,"ef":[{"ty":3,"nm":"Anchor Point","mn":"ADBE Geometry2-0001","ix":1,"v":{"a":0,"k":[0,0],"ix":1}},{"ty":3,"nm":"Position","mn":"ADBE Geometry2-0002","ix":2,"v":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\n$bm_rt = wiggle(effect('Wiggle - position')('Wiggle Speed (wigs/sec)'), effect('Wiggle - position')('Wiggle Amount (pixels)'));"}},{"ty":7,"nm":"Uniform Scale","mn":"ADBE Geometry2-0011","ix":3,"v":{"a":0,"k":1,"ix":3}},{"ty":0,"nm":"Scale Height","mn":"ADBE Geometry2-0003","ix":4,"v":{"a":0,"k":100,"ix":4}},{"ty":0,"nm":"Scale Width","mn":"ADBE Geometry2-0004","ix":5,"v":{"a":0,"k":100,"ix":5}},{"ty":0,"nm":"Skew","mn":"ADBE Geometry2-0005","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Skew Axis","mn":"ADBE Geometry2-0006","ix":7,"v":{"a":0,"k":0,"ix":7}},{"ty":0,"nm":"Rotation","mn":"ADBE Geometry2-0007","ix":8,"v":{"a":0,"k":0,"ix":8}},{"ty":0,"nm":"Opacity","mn":"ADBE Geometry2-0008","ix":9,"v":{"a":0,"k":100,"ix":9}},{"ty":7,"nm":"Use Composition’s Shutter Angle","mn":"ADBE Geometry2-0009","ix":10,"v":{"a":0,"k":1,"ix":10}},{"ty":0,"nm":"Shutter Angle","mn":"ADBE Geometry2-0010","ix":11,"v":{"a":0,"k":0,"ix":11}},{"ty":7,"nm":"Sampling","mn":"ADBE Geometry2-0012","ix":12,"v":{"a":0,"k":1,"ix":12}},{"ty":7,"nm":"GPU Rendering","mn":"ADBE Force CPU GPU","ix":13,"v":{"a":0,"k":1,"ix":13}}]}],"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[105.391,105.391],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.203921568627,0.701960784314,0.894117647059,1],"ix":4,"x":"var $bm_rt;\nvar rayColorPalette, rayColorSwatch;\ntry {\n rayColorPalette = 'Ray - palette 01';\n rayColorSwatch = Math.floor(mul(value[2], 255));\n $bm_rt = comp(rayColorPalette).layer(1)(4)(rayColorSwatch)(1);\n} catch (e) {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-156.695,39.305],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600.600600600601,"st":0,"bm":0},{"ddd":0,"ind":21,"ty":4,"nm":"Head 9","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[961.305,661.305,0],"ix":2},"a":{"a":0,"k":[-156.695,39.305,0],"ix":1},"s":{"a":0,"k":[68,68,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Wiggle - position","np":4,"mn":"ADBE CM WigglePosition","ix":1,"en":1,"ef":[{"ty":0,"nm":"Wiggle Speed (wigs/sec)","mn":"ADBE CM WigglePosition-0001","ix":1,"v":{"a":0,"k":2,"ix":1}},{"ty":0,"nm":"Wiggle Amount (pixels)","mn":"ADBE CM WigglePosition-0002","ix":2,"v":{"a":0,"k":15,"ix":2}}]},{"ty":5,"nm":"(Transform)","np":15,"mn":"ADBE Geometry2","ix":2,"en":1,"ef":[{"ty":3,"nm":"Anchor Point","mn":"ADBE Geometry2-0001","ix":1,"v":{"a":0,"k":[0,0],"ix":1}},{"ty":3,"nm":"Position","mn":"ADBE Geometry2-0002","ix":2,"v":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\n$bm_rt = wiggle(effect('Wiggle - position')('Wiggle Speed (wigs/sec)'), effect('Wiggle - position')('Wiggle Amount (pixels)'));"}},{"ty":7,"nm":"Uniform Scale","mn":"ADBE Geometry2-0011","ix":3,"v":{"a":0,"k":1,"ix":3}},{"ty":0,"nm":"Scale Height","mn":"ADBE Geometry2-0003","ix":4,"v":{"a":0,"k":100,"ix":4}},{"ty":0,"nm":"Scale Width","mn":"ADBE Geometry2-0004","ix":5,"v":{"a":0,"k":100,"ix":5}},{"ty":0,"nm":"Skew","mn":"ADBE Geometry2-0005","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Skew Axis","mn":"ADBE Geometry2-0006","ix":7,"v":{"a":0,"k":0,"ix":7}},{"ty":0,"nm":"Rotation","mn":"ADBE Geometry2-0007","ix":8,"v":{"a":0,"k":0,"ix":8}},{"ty":0,"nm":"Opacity","mn":"ADBE Geometry2-0008","ix":9,"v":{"a":0,"k":100,"ix":9}},{"ty":7,"nm":"Use Composition’s Shutter Angle","mn":"ADBE Geometry2-0009","ix":10,"v":{"a":0,"k":1,"ix":10}},{"ty":0,"nm":"Shutter Angle","mn":"ADBE Geometry2-0010","ix":11,"v":{"a":0,"k":0,"ix":11}},{"ty":7,"nm":"Sampling","mn":"ADBE Geometry2-0012","ix":12,"v":{"a":0,"k":1,"ix":12}},{"ty":7,"nm":"GPU Rendering","mn":"ADBE Force CPU GPU","ix":13,"v":{"a":0,"k":1,"ix":13}}]}],"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[105.391,105.391],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.203921568627,0.701960784314,0.894117647059,1],"ix":4,"x":"var $bm_rt;\nvar rayColorPalette, rayColorSwatch;\ntry {\n rayColorPalette = 'Ray - palette 01';\n rayColorSwatch = Math.floor(mul(value[2], 255));\n $bm_rt = comp(rayColorPalette).layer(1)(4)(rayColorSwatch)(1);\n} catch (e) {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-156.695,39.305],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600.600600600601,"st":0,"bm":0},{"ddd":0,"ind":22,"ty":4,"nm":"Head 6","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[885.305,661.305,0],"ix":2},"a":{"a":0,"k":[-156.695,39.305,0],"ix":1},"s":{"a":0,"k":[68,68,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Wiggle - position","np":4,"mn":"ADBE CM WigglePosition","ix":1,"en":1,"ef":[{"ty":0,"nm":"Wiggle Speed (wigs/sec)","mn":"ADBE CM WigglePosition-0001","ix":1,"v":{"a":0,"k":2,"ix":1}},{"ty":0,"nm":"Wiggle Amount (pixels)","mn":"ADBE CM WigglePosition-0002","ix":2,"v":{"a":0,"k":15,"ix":2}}]},{"ty":5,"nm":"(Transform)","np":15,"mn":"ADBE Geometry2","ix":2,"en":1,"ef":[{"ty":3,"nm":"Anchor Point","mn":"ADBE Geometry2-0001","ix":1,"v":{"a":0,"k":[0,0],"ix":1}},{"ty":3,"nm":"Position","mn":"ADBE Geometry2-0002","ix":2,"v":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\n$bm_rt = wiggle(effect('Wiggle - position')('Wiggle Speed (wigs/sec)'), effect('Wiggle - position')('Wiggle Amount (pixels)'));"}},{"ty":7,"nm":"Uniform Scale","mn":"ADBE Geometry2-0011","ix":3,"v":{"a":0,"k":1,"ix":3}},{"ty":0,"nm":"Scale Height","mn":"ADBE Geometry2-0003","ix":4,"v":{"a":0,"k":100,"ix":4}},{"ty":0,"nm":"Scale Width","mn":"ADBE Geometry2-0004","ix":5,"v":{"a":0,"k":100,"ix":5}},{"ty":0,"nm":"Skew","mn":"ADBE Geometry2-0005","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Skew Axis","mn":"ADBE Geometry2-0006","ix":7,"v":{"a":0,"k":0,"ix":7}},{"ty":0,"nm":"Rotation","mn":"ADBE Geometry2-0007","ix":8,"v":{"a":0,"k":0,"ix":8}},{"ty":0,"nm":"Opacity","mn":"ADBE Geometry2-0008","ix":9,"v":{"a":0,"k":100,"ix":9}},{"ty":7,"nm":"Use Composition’s Shutter Angle","mn":"ADBE Geometry2-0009","ix":10,"v":{"a":0,"k":1,"ix":10}},{"ty":0,"nm":"Shutter Angle","mn":"ADBE Geometry2-0010","ix":11,"v":{"a":0,"k":0,"ix":11}},{"ty":7,"nm":"Sampling","mn":"ADBE Geometry2-0012","ix":12,"v":{"a":0,"k":1,"ix":12}},{"ty":7,"nm":"GPU Rendering","mn":"ADBE Force CPU GPU","ix":13,"v":{"a":0,"k":1,"ix":13}}]}],"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[105.391,105.391],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.203921568627,0.701960784314,0.894117647059,1],"ix":4,"x":"var $bm_rt;\nvar rayColorPalette, rayColorSwatch;\ntry {\n rayColorPalette = 'Ray - palette 01';\n rayColorSwatch = Math.floor(mul(value[2], 255));\n $bm_rt = comp(rayColorPalette).layer(1)(4)(rayColorSwatch)(1);\n} catch (e) {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-156.695,39.305],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600.600600600601,"st":0,"bm":0},{"ddd":0,"ind":24,"ty":4,"nm":"Spotlight","sr":1,"ks":{"o":{"a":0,"k":55,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.4],"y":[0]},"n":["0p4_1_0p4_0"],"t":0,"s":[0],"e":[41]},{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.4],"y":[0]},"n":["0p4_1_0p4_0"],"t":34.034,"s":[41],"e":[0]},{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.4],"y":[0]},"n":["0p4_1_0p4_0"],"t":70.07,"s":[0],"e":[41]},{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.4],"y":[0]},"n":["0p4_1_0p4_0"],"t":104.104,"s":[41],"e":[0]},{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.4],"y":[0]},"n":["0p4_1_0p4_0"],"t":140.14,"s":[0],"e":[41]},{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.4],"y":[0]},"n":["0p4_1_0p4_0"],"t":174.174,"s":[41],"e":[0]},{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.4],"y":[0]},"n":["0p4_1_0p4_0"],"t":210.21,"s":[0],"e":[41]},{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.4],"y":[0]},"n":["0p4_1_0p4_0"],"t":244.244,"s":[41],"e":[0]},{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.4],"y":[0]},"n":["0p4_1_0p4_0"],"t":280.28,"s":[0],"e":[41]},{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.4],"y":[0]},"n":["0p4_1_0p4_0"],"t":314.314,"s":[41],"e":[0]},{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.4],"y":[0]},"n":["0p4_1_0p4_0"],"t":350.35,"s":[0],"e":[41]},{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.4],"y":[0]},"n":["0p4_1_0p4_0"],"t":384.384,"s":[41],"e":[0]},{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.4],"y":[0]},"n":["0p4_1_0p4_0"],"t":420.42,"s":[0],"e":[41]},{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.4],"y":[0]},"n":["0p4_1_0p4_0"],"t":454.454,"s":[41],"e":[0]},{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.4],"y":[0]},"n":["0p4_1_0p4_0"],"t":490.49,"s":[0],"e":[41]},{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.4],"y":[0]},"n":["0p4_1_0p4_0"],"t":524.525,"s":[41],"e":[0]},{"t":560.560560560561}],"ix":10},"p":{"a":0,"k":[802,378,0],"ix":2},"a":{"a":0,"k":[-158,-162,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-166,-182],[-140,416],[296,268]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.811764705882,0.929411764706,0.98431372549,1],"ix":4,"x":"var $bm_rt;\nvar rayColorPalette, rayColorSwatch;\ntry {\n rayColorPalette = 'Ray - palette 01';\n rayColorSwatch = Math.floor(mul(value[2], 255));\n $bm_rt = comp(rayColorPalette).layer(1)(4)(rayColorSwatch)(1);\n} catch (e) {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600.600600600601,"st":0,"bm":0},{"ddd":0,"ind":25,"ty":4,"nm":"Head 11","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[804.305,610.305,0],"ix":2},"a":{"a":0,"k":[-156.695,39.305,0],"ix":1},"s":{"a":0,"k":[68,68,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Wiggle - position","np":4,"mn":"ADBE CM WigglePosition","ix":1,"en":1,"ef":[{"ty":0,"nm":"Wiggle Speed (wigs/sec)","mn":"ADBE CM WigglePosition-0001","ix":1,"v":{"a":0,"k":2,"ix":1}},{"ty":0,"nm":"Wiggle Amount (pixels)","mn":"ADBE CM WigglePosition-0002","ix":2,"v":{"a":0,"k":15,"ix":2}}]},{"ty":5,"nm":"(Transform)","np":15,"mn":"ADBE Geometry2","ix":2,"en":1,"ef":[{"ty":3,"nm":"Anchor Point","mn":"ADBE Geometry2-0001","ix":1,"v":{"a":0,"k":[0,0],"ix":1}},{"ty":3,"nm":"Position","mn":"ADBE Geometry2-0002","ix":2,"v":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\n$bm_rt = wiggle(effect('Wiggle - position')('Wiggle Speed (wigs/sec)'), effect('Wiggle - position')('Wiggle Amount (pixels)'));"}},{"ty":7,"nm":"Uniform Scale","mn":"ADBE Geometry2-0011","ix":3,"v":{"a":0,"k":1,"ix":3}},{"ty":0,"nm":"Scale Height","mn":"ADBE Geometry2-0003","ix":4,"v":{"a":0,"k":100,"ix":4}},{"ty":0,"nm":"Scale Width","mn":"ADBE Geometry2-0004","ix":5,"v":{"a":0,"k":100,"ix":5}},{"ty":0,"nm":"Skew","mn":"ADBE Geometry2-0005","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Skew Axis","mn":"ADBE Geometry2-0006","ix":7,"v":{"a":0,"k":0,"ix":7}},{"ty":0,"nm":"Rotation","mn":"ADBE Geometry2-0007","ix":8,"v":{"a":0,"k":0,"ix":8}},{"ty":0,"nm":"Opacity","mn":"ADBE Geometry2-0008","ix":9,"v":{"a":0,"k":100,"ix":9}},{"ty":7,"nm":"Use Composition’s Shutter Angle","mn":"ADBE Geometry2-0009","ix":10,"v":{"a":0,"k":1,"ix":10}},{"ty":0,"nm":"Shutter Angle","mn":"ADBE Geometry2-0010","ix":11,"v":{"a":0,"k":0,"ix":11}},{"ty":7,"nm":"Sampling","mn":"ADBE Geometry2-0012","ix":12,"v":{"a":0,"k":1,"ix":12}},{"ty":7,"nm":"GPU Rendering","mn":"ADBE Force CPU GPU","ix":13,"v":{"a":0,"k":1,"ix":13}}]}],"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[105.391,105.391],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.203921568627,0.701960784314,0.894117647059,1],"ix":4,"x":"var $bm_rt;\nvar rayColorPalette, rayColorSwatch;\ntry {\n rayColorPalette = 'Ray - palette 01';\n rayColorSwatch = Math.floor(mul(value[2], 255));\n $bm_rt = comp(rayColorPalette).layer(1)(4)(rayColorSwatch)(1);\n} catch (e) {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-156.695,39.305],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600.600600600601,"st":0,"bm":0},{"ddd":0,"ind":26,"ty":4,"nm":"body 12","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[804.17,686,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[31,31,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Wiggle - position","np":4,"mn":"ADBE CM WigglePosition","ix":1,"en":1,"ef":[{"ty":0,"nm":"Wiggle Speed (wigs/sec)","mn":"ADBE CM WigglePosition-0001","ix":1,"v":{"a":0,"k":2,"ix":1}},{"ty":0,"nm":"Wiggle Amount (pixels)","mn":"ADBE CM WigglePosition-0002","ix":2,"v":{"a":0,"k":15,"ix":2}}]},{"ty":5,"nm":"(Transform)","np":15,"mn":"ADBE Geometry2","ix":2,"en":1,"ef":[{"ty":3,"nm":"Anchor Point","mn":"ADBE Geometry2-0001","ix":1,"v":{"a":0,"k":[0,0],"ix":1}},{"ty":3,"nm":"Position","mn":"ADBE Geometry2-0002","ix":2,"v":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\n$bm_rt = wiggle(effect('Wiggle - position')('Wiggle Speed (wigs/sec)'), effect('Wiggle - position')('Wiggle Amount (pixels)'));"}},{"ty":7,"nm":"Uniform Scale","mn":"ADBE Geometry2-0011","ix":3,"v":{"a":0,"k":1,"ix":3}},{"ty":0,"nm":"Scale Height","mn":"ADBE Geometry2-0003","ix":4,"v":{"a":0,"k":100,"ix":4}},{"ty":0,"nm":"Scale Width","mn":"ADBE Geometry2-0004","ix":5,"v":{"a":0,"k":100,"ix":5}},{"ty":0,"nm":"Skew","mn":"ADBE Geometry2-0005","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Skew Axis","mn":"ADBE Geometry2-0006","ix":7,"v":{"a":0,"k":0,"ix":7}},{"ty":0,"nm":"Rotation","mn":"ADBE Geometry2-0007","ix":8,"v":{"a":0,"k":0,"ix":8}},{"ty":0,"nm":"Opacity","mn":"ADBE Geometry2-0008","ix":9,"v":{"a":0,"k":100,"ix":9}},{"ty":7,"nm":"Use Composition’s Shutter Angle","mn":"ADBE Geometry2-0009","ix":10,"v":{"a":0,"k":1,"ix":10}},{"ty":0,"nm":"Shutter Angle","mn":"ADBE Geometry2-0010","ix":11,"v":{"a":0,"k":0,"ix":11}},{"ty":7,"nm":"Sampling","mn":"ADBE Geometry2-0012","ix":12,"v":{"a":0,"k":1,"ix":12}},{"ty":7,"nm":"GPU Rendering","mn":"ADBE Force CPU GPU","ix":13,"v":{"a":0,"k":1,"ix":13}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-59,0],[0,-59],[0,0]],"o":[[0,0],[0,-59],[59,0],[0,0],[0,0]],"v":[[-107,166.5],[-107,-59.5],[0,-166.5],[107,-59.5],[107,166.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.203921568627,0.701960784314,0.894117647059,1],"ix":4,"x":"var $bm_rt;\nvar rayColorPalette, rayColorSwatch;\ntry {\n rayColorPalette = 'Ray - palette 01';\n rayColorSwatch = Math.floor(mul(value[2], 255));\n $bm_rt = comp(rayColorPalette).layer(1)(4)(rayColorSwatch)(1);\n} catch (e) {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600.600600600601,"st":0,"bm":0},{"ddd":0,"ind":27,"ty":4,"nm":"body 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[861.17,686,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[31,31,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Wiggle - position","np":4,"mn":"ADBE CM WigglePosition","ix":1,"en":1,"ef":[{"ty":0,"nm":"Wiggle Speed (wigs/sec)","mn":"ADBE CM WigglePosition-0001","ix":1,"v":{"a":0,"k":2,"ix":1}},{"ty":0,"nm":"Wiggle Amount (pixels)","mn":"ADBE CM WigglePosition-0002","ix":2,"v":{"a":0,"k":15,"ix":2}}]},{"ty":5,"nm":"(Transform)","np":15,"mn":"ADBE Geometry2","ix":2,"en":1,"ef":[{"ty":3,"nm":"Anchor Point","mn":"ADBE Geometry2-0001","ix":1,"v":{"a":0,"k":[0,0],"ix":1}},{"ty":3,"nm":"Position","mn":"ADBE Geometry2-0002","ix":2,"v":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\n$bm_rt = wiggle(effect('Wiggle - position')('Wiggle Speed (wigs/sec)'), effect('Wiggle - position')('Wiggle Amount (pixels)'));"}},{"ty":7,"nm":"Uniform Scale","mn":"ADBE Geometry2-0011","ix":3,"v":{"a":0,"k":1,"ix":3}},{"ty":0,"nm":"Scale Height","mn":"ADBE Geometry2-0003","ix":4,"v":{"a":0,"k":100,"ix":4}},{"ty":0,"nm":"Scale Width","mn":"ADBE Geometry2-0004","ix":5,"v":{"a":0,"k":100,"ix":5}},{"ty":0,"nm":"Skew","mn":"ADBE Geometry2-0005","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Skew Axis","mn":"ADBE Geometry2-0006","ix":7,"v":{"a":0,"k":0,"ix":7}},{"ty":0,"nm":"Rotation","mn":"ADBE Geometry2-0007","ix":8,"v":{"a":0,"k":0,"ix":8}},{"ty":0,"nm":"Opacity","mn":"ADBE Geometry2-0008","ix":9,"v":{"a":0,"k":100,"ix":9}},{"ty":7,"nm":"Use Composition’s Shutter Angle","mn":"ADBE Geometry2-0009","ix":10,"v":{"a":0,"k":1,"ix":10}},{"ty":0,"nm":"Shutter Angle","mn":"ADBE Geometry2-0010","ix":11,"v":{"a":0,"k":0,"ix":11}},{"ty":7,"nm":"Sampling","mn":"ADBE Geometry2-0012","ix":12,"v":{"a":0,"k":1,"ix":12}},{"ty":7,"nm":"GPU Rendering","mn":"ADBE Force CPU GPU","ix":13,"v":{"a":0,"k":1,"ix":13}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-59,0],[0,-59],[0,0]],"o":[[0,0],[0,-59],[59,0],[0,0],[0,0]],"v":[[-107,166.5],[-107,-59.5],[0,-166.5],[107,-59.5],[107,166.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.203921568627,0.701960784314,0.894117647059,1],"ix":4,"x":"var $bm_rt;\nvar rayColorPalette, rayColorSwatch;\ntry {\n rayColorPalette = 'Ray - palette 01';\n rayColorSwatch = Math.floor(mul(value[2], 255));\n $bm_rt = comp(rayColorPalette).layer(1)(4)(rayColorSwatch)(1);\n} catch (e) {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600.600600600601,"st":0,"bm":0},{"ddd":0,"ind":28,"ty":4,"nm":"Head 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1061.305,609.305,0],"ix":2},"a":{"a":0,"k":[-156.695,39.305,0],"ix":1},"s":{"a":0,"k":[68,68,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Wiggle - position","np":4,"mn":"ADBE CM WigglePosition","ix":1,"en":1,"ef":[{"ty":0,"nm":"Wiggle Speed (wigs/sec)","mn":"ADBE CM WigglePosition-0001","ix":1,"v":{"a":0,"k":2,"ix":1}},{"ty":0,"nm":"Wiggle Amount (pixels)","mn":"ADBE CM WigglePosition-0002","ix":2,"v":{"a":0,"k":15,"ix":2}}]},{"ty":5,"nm":"(Transform)","np":15,"mn":"ADBE Geometry2","ix":2,"en":1,"ef":[{"ty":3,"nm":"Anchor Point","mn":"ADBE Geometry2-0001","ix":1,"v":{"a":0,"k":[0,0],"ix":1}},{"ty":3,"nm":"Position","mn":"ADBE Geometry2-0002","ix":2,"v":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\n$bm_rt = wiggle(effect('Wiggle - position')('Wiggle Speed (wigs/sec)'), effect('Wiggle - position')('Wiggle Amount (pixels)'));"}},{"ty":7,"nm":"Uniform Scale","mn":"ADBE Geometry2-0011","ix":3,"v":{"a":0,"k":1,"ix":3}},{"ty":0,"nm":"Scale Height","mn":"ADBE Geometry2-0003","ix":4,"v":{"a":0,"k":100,"ix":4}},{"ty":0,"nm":"Scale Width","mn":"ADBE Geometry2-0004","ix":5,"v":{"a":0,"k":100,"ix":5}},{"ty":0,"nm":"Skew","mn":"ADBE Geometry2-0005","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Skew Axis","mn":"ADBE Geometry2-0006","ix":7,"v":{"a":0,"k":0,"ix":7}},{"ty":0,"nm":"Rotation","mn":"ADBE Geometry2-0007","ix":8,"v":{"a":0,"k":0,"ix":8}},{"ty":0,"nm":"Opacity","mn":"ADBE Geometry2-0008","ix":9,"v":{"a":0,"k":100,"ix":9}},{"ty":7,"nm":"Use Composition’s Shutter Angle","mn":"ADBE Geometry2-0009","ix":10,"v":{"a":0,"k":1,"ix":10}},{"ty":0,"nm":"Shutter Angle","mn":"ADBE Geometry2-0010","ix":11,"v":{"a":0,"k":0,"ix":11}},{"ty":7,"nm":"Sampling","mn":"ADBE Geometry2-0012","ix":12,"v":{"a":0,"k":1,"ix":12}},{"ty":7,"nm":"GPU Rendering","mn":"ADBE Force CPU GPU","ix":13,"v":{"a":0,"k":1,"ix":13}}]}],"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[105.391,105.391],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.203921568627,0.701960784314,0.894117647059,1],"ix":4,"x":"var $bm_rt;\nvar rayColorPalette, rayColorSwatch;\ntry {\n rayColorPalette = 'Ray - palette 01';\n rayColorSwatch = Math.floor(mul(value[2], 255));\n $bm_rt = comp(rayColorPalette).layer(1)(4)(rayColorSwatch)(1);\n} catch (e) {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-156.695,39.305],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600.600600600601,"st":0,"bm":0},{"ddd":0,"ind":29,"ty":4,"nm":"Head 4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[991.305,609.305,0],"ix":2},"a":{"a":0,"k":[-156.695,39.305,0],"ix":1},"s":{"a":0,"k":[68,68,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Wiggle - position","np":4,"mn":"ADBE CM WigglePosition","ix":1,"en":1,"ef":[{"ty":0,"nm":"Wiggle Speed (wigs/sec)","mn":"ADBE CM WigglePosition-0001","ix":1,"v":{"a":0,"k":2,"ix":1}},{"ty":0,"nm":"Wiggle Amount (pixels)","mn":"ADBE CM WigglePosition-0002","ix":2,"v":{"a":0,"k":15,"ix":2}}]},{"ty":5,"nm":"(Transform)","np":15,"mn":"ADBE Geometry2","ix":2,"en":1,"ef":[{"ty":3,"nm":"Anchor Point","mn":"ADBE Geometry2-0001","ix":1,"v":{"a":0,"k":[0,0],"ix":1}},{"ty":3,"nm":"Position","mn":"ADBE Geometry2-0002","ix":2,"v":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\n$bm_rt = wiggle(effect('Wiggle - position')('Wiggle Speed (wigs/sec)'), effect('Wiggle - position')('Wiggle Amount (pixels)'));"}},{"ty":7,"nm":"Uniform Scale","mn":"ADBE Geometry2-0011","ix":3,"v":{"a":0,"k":1,"ix":3}},{"ty":0,"nm":"Scale Height","mn":"ADBE Geometry2-0003","ix":4,"v":{"a":0,"k":100,"ix":4}},{"ty":0,"nm":"Scale Width","mn":"ADBE Geometry2-0004","ix":5,"v":{"a":0,"k":100,"ix":5}},{"ty":0,"nm":"Skew","mn":"ADBE Geometry2-0005","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Skew Axis","mn":"ADBE Geometry2-0006","ix":7,"v":{"a":0,"k":0,"ix":7}},{"ty":0,"nm":"Rotation","mn":"ADBE Geometry2-0007","ix":8,"v":{"a":0,"k":0,"ix":8}},{"ty":0,"nm":"Opacity","mn":"ADBE Geometry2-0008","ix":9,"v":{"a":0,"k":100,"ix":9}},{"ty":7,"nm":"Use Composition’s Shutter Angle","mn":"ADBE Geometry2-0009","ix":10,"v":{"a":0,"k":1,"ix":10}},{"ty":0,"nm":"Shutter Angle","mn":"ADBE Geometry2-0010","ix":11,"v":{"a":0,"k":0,"ix":11}},{"ty":7,"nm":"Sampling","mn":"ADBE Geometry2-0012","ix":12,"v":{"a":0,"k":1,"ix":12}},{"ty":7,"nm":"GPU Rendering","mn":"ADBE Force CPU GPU","ix":13,"v":{"a":0,"k":1,"ix":13}}]}],"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[105.391,105.391],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.203921568627,0.701960784314,0.894117647059,1],"ix":4,"x":"var $bm_rt;\nvar rayColorPalette, rayColorSwatch;\ntry {\n rayColorPalette = 'Ray - palette 01';\n rayColorSwatch = Math.floor(mul(value[2], 255));\n $bm_rt = comp(rayColorPalette).layer(1)(4)(rayColorSwatch)(1);\n} catch (e) {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-156.695,39.305],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600.600600600601,"st":0,"bm":0},{"ddd":0,"ind":30,"ty":4,"nm":"Head 3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[919.305,609.305,0],"ix":2},"a":{"a":0,"k":[-156.695,39.305,0],"ix":1},"s":{"a":0,"k":[68,68,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Wiggle - position","np":4,"mn":"ADBE CM WigglePosition","ix":1,"en":1,"ef":[{"ty":0,"nm":"Wiggle Speed (wigs/sec)","mn":"ADBE CM WigglePosition-0001","ix":1,"v":{"a":0,"k":2,"ix":1}},{"ty":0,"nm":"Wiggle Amount (pixels)","mn":"ADBE CM WigglePosition-0002","ix":2,"v":{"a":0,"k":15,"ix":2}}]},{"ty":5,"nm":"(Transform)","np":15,"mn":"ADBE Geometry2","ix":2,"en":1,"ef":[{"ty":3,"nm":"Anchor Point","mn":"ADBE Geometry2-0001","ix":1,"v":{"a":0,"k":[0,0],"ix":1}},{"ty":3,"nm":"Position","mn":"ADBE Geometry2-0002","ix":2,"v":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\n$bm_rt = wiggle(effect('Wiggle - position')('Wiggle Speed (wigs/sec)'), effect('Wiggle - position')('Wiggle Amount (pixels)'));"}},{"ty":7,"nm":"Uniform Scale","mn":"ADBE Geometry2-0011","ix":3,"v":{"a":0,"k":1,"ix":3}},{"ty":0,"nm":"Scale Height","mn":"ADBE Geometry2-0003","ix":4,"v":{"a":0,"k":100,"ix":4}},{"ty":0,"nm":"Scale Width","mn":"ADBE Geometry2-0004","ix":5,"v":{"a":0,"k":100,"ix":5}},{"ty":0,"nm":"Skew","mn":"ADBE Geometry2-0005","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Skew Axis","mn":"ADBE Geometry2-0006","ix":7,"v":{"a":0,"k":0,"ix":7}},{"ty":0,"nm":"Rotation","mn":"ADBE Geometry2-0007","ix":8,"v":{"a":0,"k":0,"ix":8}},{"ty":0,"nm":"Opacity","mn":"ADBE Geometry2-0008","ix":9,"v":{"a":0,"k":100,"ix":9}},{"ty":7,"nm":"Use Composition’s Shutter Angle","mn":"ADBE Geometry2-0009","ix":10,"v":{"a":0,"k":1,"ix":10}},{"ty":0,"nm":"Shutter Angle","mn":"ADBE Geometry2-0010","ix":11,"v":{"a":0,"k":0,"ix":11}},{"ty":7,"nm":"Sampling","mn":"ADBE Geometry2-0012","ix":12,"v":{"a":0,"k":1,"ix":12}},{"ty":7,"nm":"GPU Rendering","mn":"ADBE Force CPU GPU","ix":13,"v":{"a":0,"k":1,"ix":13}}]}],"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[105.391,105.391],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.203921568627,0.701960784314,0.894117647059,1],"ix":4,"x":"var $bm_rt;\nvar rayColorPalette, rayColorSwatch;\ntry {\n rayColorPalette = 'Ray - palette 01';\n rayColorSwatch = Math.floor(mul(value[2], 255));\n $bm_rt = comp(rayColorPalette).layer(1)(4)(rayColorSwatch)(1);\n} catch (e) {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-156.695,39.305],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600.600600600601,"st":0,"bm":0},{"ddd":0,"ind":31,"ty":4,"nm":"Head","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[853.305,609.305,0],"ix":2},"a":{"a":0,"k":[-156.695,39.305,0],"ix":1},"s":{"a":0,"k":[68,68,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Wiggle - position","np":4,"mn":"ADBE CM WigglePosition","ix":1,"en":1,"ef":[{"ty":0,"nm":"Wiggle Speed (wigs/sec)","mn":"ADBE CM WigglePosition-0001","ix":1,"v":{"a":0,"k":2,"ix":1}},{"ty":0,"nm":"Wiggle Amount (pixels)","mn":"ADBE CM WigglePosition-0002","ix":2,"v":{"a":0,"k":15,"ix":2}}]},{"ty":5,"nm":"(Transform)","np":15,"mn":"ADBE Geometry2","ix":2,"en":1,"ef":[{"ty":3,"nm":"Anchor Point","mn":"ADBE Geometry2-0001","ix":1,"v":{"a":0,"k":[0,0],"ix":1}},{"ty":3,"nm":"Position","mn":"ADBE Geometry2-0002","ix":2,"v":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\n$bm_rt = wiggle(effect('Wiggle - position')('Wiggle Speed (wigs/sec)'), effect('Wiggle - position')('Wiggle Amount (pixels)'));"}},{"ty":7,"nm":"Uniform Scale","mn":"ADBE Geometry2-0011","ix":3,"v":{"a":0,"k":1,"ix":3}},{"ty":0,"nm":"Scale Height","mn":"ADBE Geometry2-0003","ix":4,"v":{"a":0,"k":100,"ix":4}},{"ty":0,"nm":"Scale Width","mn":"ADBE Geometry2-0004","ix":5,"v":{"a":0,"k":100,"ix":5}},{"ty":0,"nm":"Skew","mn":"ADBE Geometry2-0005","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Skew Axis","mn":"ADBE Geometry2-0006","ix":7,"v":{"a":0,"k":0,"ix":7}},{"ty":0,"nm":"Rotation","mn":"ADBE Geometry2-0007","ix":8,"v":{"a":0,"k":0,"ix":8}},{"ty":0,"nm":"Opacity","mn":"ADBE Geometry2-0008","ix":9,"v":{"a":0,"k":100,"ix":9}},{"ty":7,"nm":"Use Composition’s Shutter Angle","mn":"ADBE Geometry2-0009","ix":10,"v":{"a":0,"k":1,"ix":10}},{"ty":0,"nm":"Shutter Angle","mn":"ADBE Geometry2-0010","ix":11,"v":{"a":0,"k":0,"ix":11}},{"ty":7,"nm":"Sampling","mn":"ADBE Geometry2-0012","ix":12,"v":{"a":0,"k":1,"ix":12}},{"ty":7,"nm":"GPU Rendering","mn":"ADBE Force CPU GPU","ix":13,"v":{"a":0,"k":1,"ix":13}}]}],"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[105.391,105.391],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.203921568627,0.701960784314,0.894117647059,1],"ix":4,"x":"var $bm_rt;\nvar rayColorPalette, rayColorSwatch;\ntry {\n rayColorPalette = 'Ray - palette 01';\n rayColorSwatch = Math.floor(mul(value[2], 255));\n $bm_rt = comp(rayColorPalette).layer(1)(4)(rayColorSwatch)(1);\n} catch (e) {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-156.695,39.305],"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":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600.600600600601,"st":0,"bm":0},{"ddd":0,"ind":32,"ty":4,"nm":"background","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[960,540,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Gradient Ramp","np":11,"mn":"ADBE Ramp","ix":1,"en":1,"ef":[{"ty":3,"nm":"Start of Ramp","mn":"ADBE Ramp-0001","ix":1,"v":{"a":0,"k":[952,297],"ix":1}},{"ty":2,"nm":"Start Color","mn":"ADBE Ramp-0002","ix":2,"v":{"a":0,"k":[0.811764717102,0.929411768913,0.984313726425,1],"ix":2}},{"ty":3,"nm":"End of Ramp","mn":"ADBE Ramp-0003","ix":3,"v":{"a":0,"k":[953,632],"ix":3}},{"ty":2,"nm":"End Color","mn":"ADBE Ramp-0004","ix":4,"v":{"a":0,"k":[0.423529416323,0.780392169952,0.917647063732,1],"ix":4}},{"ty":7,"nm":"Ramp Shape","mn":"ADBE Ramp-0005","ix":5,"v":{"a":0,"k":1,"ix":5}},{"ty":0,"nm":"Ramp Scatter","mn":"ADBE Ramp-0006","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Blend With Original","mn":"ADBE Ramp-0007","ix":7,"v":{"a":0,"k":0,"ix":7}},{"ty":6,"nm":"","mn":"ADBE Ramp-0008","ix":8,"v":0},{"ty":7,"nm":"GPU Rendering","mn":"ADBE Force CPU GPU","ix":9,"v":{"a":0,"k":1,"ix":9}}]}],"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[1920,1080],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.407843137255,0.780392156863,0.925490196078,1],"ix":4,"x":"var $bm_rt;\nvar rayColorPalette, rayColorSwatch;\ntry {\n rayColorPalette = 'Ray - palette 01';\n rayColorSwatch = Math.floor(mul(value[2], 255));\n $bm_rt = comp(rayColorPalette).layer(1)(4)(rayColorSwatch)(1);\n} catch (e) {\n $bm_rt = value;\n}"},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Rectangle 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":-2.002002002002,"op":598.598598598599,"st":-2.002002002002,"bm":0}]},{"id":"comp_9","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 2","sr":1,"ks":{"o":{"a":0,"k":61,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[16],"e":[1816]},{"t":463.463463463463}],"ix":10},"p":{"a":0,"k":[944,466,0],"ix":2},"a":{"a":0,"k":[-16,-74,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.4,0.4,0.4],"y":[1,1,1]},"o":{"x":[0.6,0.6,0.6],"y":[0,0,0]},"n":["0p4_1_0p6_0","0p4_1_0p6_0","0p4_1_0p6_0"],"t":0,"s":[47,47,100],"e":[131,131,100]},{"i":{"x":[0.4,0.4,0.4],"y":[1,1,1]},"o":{"x":[0.6,0.6,0.6],"y":[0,0,0]},"n":["0p4_1_0p6_0","0p4_1_0p6_0","0p4_1_0p6_0"],"t":6.006,"s":[131,131,100],"e":[47,47,100]},{"i":{"x":[0.4,0.4,0.4],"y":[1,1,1]},"o":{"x":[0.6,0.6,0.6],"y":[0,0,0]},"n":["0p4_1_0p6_0","0p4_1_0p6_0","0p4_1_0p6_0"],"t":15.015,"s":[47,47,100],"e":[131,131,100]},{"i":{"x":[0.4,0.4,0.4],"y":[1,1,1]},"o":{"x":[0.6,0.6,0.6],"y":[0,0,0]},"n":["0p4_1_0p6_0","0p4_1_0p6_0","0p4_1_0p6_0"],"t":21.021,"s":[131,131,100],"e":[47,47,100]},{"i":{"x":[0.4,0.4,0.4],"y":[1,1,1]},"o":{"x":[0.6,0.6,0.6],"y":[0,0,0]},"n":["0p4_1_0p6_0","0p4_1_0p6_0","0p4_1_0p6_0"],"t":30.03,"s":[47,47,100],"e":[131,131,100]},{"i":{"x":[0.4,0.4,0.4],"y":[1,1,1]},"o":{"x":[0.6,0.6,0.6],"y":[0,0,0]},"n":["0p4_1_0p6_0","0p4_1_0p6_0","0p4_1_0p6_0"],"t":36.036,"s":[131,131,100],"e":[47,47,100]},{"i":{"x":[0.4,0.4,0.4],"y":[1,1,1]},"o":{"x":[0.6,0.6,0.6],"y":[0,0,0]},"n":["0p4_1_0p6_0","0p4_1_0p6_0","0p4_1_0p6_0"],"t":45.045,"s":[47,47,100],"e":[131,131,100]},{"i":{"x":[0.4,0.4,0.4],"y":[1,1,1]},"o":{"x":[0.6,0.6,0.6],"y":[0,0,0]},"n":["0p4_1_0p6_0","0p4_1_0p6_0","0p4_1_0p6_0"],"t":51.051,"s":[131,131,100],"e":[47,47,100]},{"i":{"x":[0.4,0.4,0.4],"y":[1,1,1]},"o":{"x":[0.6,0.6,0.6],"y":[0,0,0]},"n":["0p4_1_0p6_0","0p4_1_0p6_0","0p4_1_0p6_0"],"t":60.06,"s":[47,47,100],"e":[131,131,100]},{"i":{"x":[0.4,0.4,0.4],"y":[1,1,1]},"o":{"x":[0.6,0.6,0.6],"y":[0,0,0]},"n":["0p4_1_0p6_0","0p4_1_0p6_0","0p4_1_0p6_0"],"t":66.066,"s":[131,131,100],"e":[47,47,100]},{"i":{"x":[0.4,0.4,0.4],"y":[1,1,1]},"o":{"x":[0.6,0.6,0.6],"y":[0,0,0]},"n":["0p4_1_0p6_0","0p4_1_0p6_0","0p4_1_0p6_0"],"t":75.075,"s":[47,47,100],"e":[131,131,100]},{"i":{"x":[0.4,0.4,0.4],"y":[1,1,1]},"o":{"x":[0.6,0.6,0.6],"y":[0,0,0]},"n":["0p4_1_0p6_0","0p4_1_0p6_0","0p4_1_0p6_0"],"t":81.081,"s":[131,131,100],"e":[47,47,100]},{"i":{"x":[0.4,0.4,0.4],"y":[1,1,1]},"o":{"x":[0.6,0.6,0.6],"y":[0,0,0]},"n":["0p4_1_0p6_0","0p4_1_0p6_0","0p4_1_0p6_0"],"t":90.09,"s":[47,47,100],"e":[131,131,100]},{"i":{"x":[0.4,0.4,0.4],"y":[1,1,1]},"o":{"x":[0.6,0.6,0.6],"y":[0,0,0]},"n":["0p4_1_0p6_0","0p4_1_0p6_0","0p4_1_0p6_0"],"t":96.096,"s":[131,131,100],"e":[47,47,100]},{"i":{"x":[0.4,0.4,0.4],"y":[1,1,1]},"o":{"x":[0.6,0.6,0.6],"y":[0,0,0]},"n":["0p4_1_0p6_0","0p4_1_0p6_0","0p4_1_0p6_0"],"t":105.105,"s":[47,47,100],"e":[131,131,100]},{"i":{"x":[0.4,0.4,0.4],"y":[1,1,1]},"o":{"x":[0.6,0.6,0.6],"y":[0,0,0]},"n":["0p4_1_0p6_0","0p4_1_0p6_0","0p4_1_0p6_0"],"t":111.111,"s":[131,131,100],"e":[47,47,100]},{"i":{"x":[0.4,0.4,0.4],"y":[1,1,1]},"o":{"x":[0.6,0.6,0.6],"y":[0,0,0]},"n":["0p4_1_0p6_0","0p4_1_0p6_0","0p4_1_0p6_0"],"t":120.12,"s":[47,47,100],"e":[131,131,100]},{"i":{"x":[0.4,0.4,0.4],"y":[1,1,1]},"o":{"x":[0.6,0.6,0.6],"y":[0,0,0]},"n":["0p4_1_0p6_0","0p4_1_0p6_0","0p4_1_0p6_0"],"t":126.126,"s":[131,131,100],"e":[47,47,100]},{"i":{"x":[0.4,0.4,0.4],"y":[1,1,1]},"o":{"x":[0.6,0.6,0.6],"y":[0,0,0]},"n":["0p4_1_0p6_0","0p4_1_0p6_0","0p4_1_0p6_0"],"t":135.135,"s":[47,47,100],"e":[131,131,100]},{"i":{"x":[0.4,0.4,0.4],"y":[1,1,1]},"o":{"x":[0.6,0.6,0.6],"y":[0,0,0]},"n":["0p4_1_0p6_0","0p4_1_0p6_0","0p4_1_0p6_0"],"t":141.141,"s":[131,131,100],"e":[47,47,100]},{"i":{"x":[0.4,0.4,0.4],"y":[1,1,1]},"o":{"x":[0.6,0.6,0.6],"y":[0,0,0]},"n":["0p4_1_0p6_0","0p4_1_0p6_0","0p4_1_0p6_0"],"t":150.15,"s":[47,47,100],"e":[131,131,100]},{"i":{"x":[0.4,0.4,0.4],"y":[1,1,1]},"o":{"x":[0.6,0.6,0.6],"y":[0,0,0]},"n":["0p4_1_0p6_0","0p4_1_0p6_0","0p4_1_0p6_0"],"t":156.156,"s":[131,131,100],"e":[47,47,100]},{"i":{"x":[0.4,0.4,0.4],"y":[1,1,1]},"o":{"x":[0.6,0.6,0.6],"y":[0,0,0]},"n":["0p4_1_0p6_0","0p4_1_0p6_0","0p4_1_0p6_0"],"t":165.165,"s":[47,47,100],"e":[131,131,100]},{"i":{"x":[0.4,0.4,0.4],"y":[1,1,1]},"o":{"x":[0.6,0.6,0.6],"y":[0,0,0]},"n":["0p4_1_0p6_0","0p4_1_0p6_0","0p4_1_0p6_0"],"t":171.171,"s":[131,131,100],"e":[47,47,100]},{"i":{"x":[0.4,0.4,0.4],"y":[1,1,1]},"o":{"x":[0.6,0.6,0.6],"y":[0,0,0]},"n":["0p4_1_0p6_0","0p4_1_0p6_0","0p4_1_0p6_0"],"t":180.18,"s":[47,47,100],"e":[131,131,100]},{"i":{"x":[0.4,0.4,0.4],"y":[1,1,1]},"o":{"x":[0.6,0.6,0.6],"y":[0,0,0]},"n":["0p4_1_0p6_0","0p4_1_0p6_0","0p4_1_0p6_0"],"t":186.186,"s":[131,131,100],"e":[47,47,100]},{"i":{"x":[0.4,0.4,0.4],"y":[1,1,1]},"o":{"x":[0.6,0.6,0.6],"y":[0,0,0]},"n":["0p4_1_0p6_0","0p4_1_0p6_0","0p4_1_0p6_0"],"t":195.195,"s":[47,47,100],"e":[131,131,100]},{"i":{"x":[0.4,0.4,0.4],"y":[1,1,1]},"o":{"x":[0.6,0.6,0.6],"y":[0,0,0]},"n":["0p4_1_0p6_0","0p4_1_0p6_0","0p4_1_0p6_0"],"t":201.201,"s":[131,131,100],"e":[47,47,100]},{"i":{"x":[0.4,0.4,0.4],"y":[1,1,1]},"o":{"x":[0.6,0.6,0.6],"y":[0,0,0]},"n":["0p4_1_0p6_0","0p4_1_0p6_0","0p4_1_0p6_0"],"t":210.21,"s":[47,47,100],"e":[131,131,100]},{"i":{"x":[0.4,0.4,0.4],"y":[1,1,1]},"o":{"x":[0.6,0.6,0.6],"y":[0,0,0]},"n":["0p4_1_0p6_0","0p4_1_0p6_0","0p4_1_0p6_0"],"t":216.216,"s":[131,131,100],"e":[47,47,100]},{"i":{"x":[0.4,0.4,0.4],"y":[1,1,1]},"o":{"x":[0.6,0.6,0.6],"y":[0,0,0]},"n":["0p4_1_0p6_0","0p4_1_0p6_0","0p4_1_0p6_0"],"t":225.225,"s":[47,47,100],"e":[131,131,100]},{"i":{"x":[0.4,0.4,0.4],"y":[1,1,1]},"o":{"x":[0.6,0.6,0.6],"y":[0,0,0]},"n":["0p4_1_0p6_0","0p4_1_0p6_0","0p4_1_0p6_0"],"t":231.231,"s":[131,131,100],"e":[47,47,100]},{"i":{"x":[0.4,0.4,0.4],"y":[1,1,1]},"o":{"x":[0.6,0.6,0.6],"y":[0,0,0]},"n":["0p4_1_0p6_0","0p4_1_0p6_0","0p4_1_0p6_0"],"t":240.24,"s":[47,47,100],"e":[131,131,100]},{"i":{"x":[0.4,0.4,0.4],"y":[1,1,1]},"o":{"x":[0.6,0.6,0.6],"y":[0,0,0]},"n":["0p4_1_0p6_0","0p4_1_0p6_0","0p4_1_0p6_0"],"t":246.246,"s":[131,131,100],"e":[47,47,100]},{"i":{"x":[0.4,0.4,0.4],"y":[1,1,1]},"o":{"x":[0.6,0.6,0.6],"y":[0,0,0]},"n":["0p4_1_0p6_0","0p4_1_0p6_0","0p4_1_0p6_0"],"t":255.255,"s":[47,47,100],"e":[131,131,100]},{"i":{"x":[0.4,0.4,0.4],"y":[1,1,1]},"o":{"x":[0.6,0.6,0.6],"y":[0,0,0]},"n":["0p4_1_0p6_0","0p4_1_0p6_0","0p4_1_0p6_0"],"t":261.261,"s":[131,131,100],"e":[47,47,100]},{"i":{"x":[0.4,0.4,0.4],"y":[1,1,1]},"o":{"x":[0.6,0.6,0.6],"y":[0,0,0]},"n":["0p4_1_0p6_0","0p4_1_0p6_0","0p4_1_0p6_0"],"t":270.27,"s":[47,47,100],"e":[131,131,100]},{"i":{"x":[0.4,0.4,0.4],"y":[1,1,1]},"o":{"x":[0.6,0.6,0.6],"y":[0,0,0]},"n":["0p4_1_0p6_0","0p4_1_0p6_0","0p4_1_0p6_0"],"t":276.276,"s":[131,131,100],"e":[47,47,100]},{"i":{"x":[0.4,0.4,0.4],"y":[1,1,1]},"o":{"x":[0.6,0.6,0.6],"y":[0,0,0]},"n":["0p4_1_0p6_0","0p4_1_0p6_0","0p4_1_0p6_0"],"t":285.285,"s":[47,47,100],"e":[131,131,100]},{"i":{"x":[0.4,0.4,0.4],"y":[1,1,1]},"o":{"x":[0.6,0.6,0.6],"y":[0,0,0]},"n":["0p4_1_0p6_0","0p4_1_0p6_0","0p4_1_0p6_0"],"t":291.291,"s":[131,131,100],"e":[47,47,100]},{"i":{"x":[0.4,0.4,0.4],"y":[1,1,1]},"o":{"x":[0.6,0.6,0.6],"y":[0,0,0]},"n":["0p4_1_0p6_0","0p4_1_0p6_0","0p4_1_0p6_0"],"t":300.3,"s":[47,47,100],"e":[131,131,100]},{"i":{"x":[0.4,0.4,0.4],"y":[1,1,1]},"o":{"x":[0.6,0.6,0.6],"y":[0,0,0]},"n":["0p4_1_0p6_0","0p4_1_0p6_0","0p4_1_0p6_0"],"t":306.306,"s":[131,131,100],"e":[47,47,100]},{"i":{"x":[0.4,0.4,0.4],"y":[1,1,1]},"o":{"x":[0.6,0.6,0.6],"y":[0,0,0]},"n":["0p4_1_0p6_0","0p4_1_0p6_0","0p4_1_0p6_0"],"t":315.315,"s":[47,47,100],"e":[131,131,100]},{"i":{"x":[0.4,0.4,0.4],"y":[1,1,1]},"o":{"x":[0.6,0.6,0.6],"y":[0,0,0]},"n":["0p4_1_0p6_0","0p4_1_0p6_0","0p4_1_0p6_0"],"t":321.321,"s":[131,131,100],"e":[47,47,100]},{"i":{"x":[0.4,0.4,0.4],"y":[1,1,1]},"o":{"x":[0.6,0.6,0.6],"y":[0,0,0]},"n":["0p4_1_0p6_0","0p4_1_0p6_0","0p4_1_0p6_0"],"t":330.33,"s":[47,47,100],"e":[131,131,100]},{"i":{"x":[0.4,0.4,0.4],"y":[1,1,1]},"o":{"x":[0.6,0.6,0.6],"y":[0,0,0]},"n":["0p4_1_0p6_0","0p4_1_0p6_0","0p4_1_0p6_0"],"t":336.336,"s":[131,131,100],"e":[47,47,100]},{"i":{"x":[0.4,0.4,0.4],"y":[1,1,1]},"o":{"x":[0.6,0.6,0.6],"y":[0,0,0]},"n":["0p4_1_0p6_0","0p4_1_0p6_0","0p4_1_0p6_0"],"t":345.345,"s":[47,47,100],"e":[131,131,100]},{"i":{"x":[0.4,0.4,0.4],"y":[1,1,1]},"o":{"x":[0.6,0.6,0.6],"y":[0,0,0]},"n":["0p4_1_0p6_0","0p4_1_0p6_0","0p4_1_0p6_0"],"t":351.351,"s":[131,131,100],"e":[47,47,100]},{"t":360.36036036036}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-28.016,-70.555],[-4.603,-77.788]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.901960784314,0.952941176471,0.98431372549,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":14,"ix":5},"lc":2,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 2","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-20,-86],[-13.032,-63.785]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.901960784314,0.952941176471,0.98431372549,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":14,"ix":5},"lc":2,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"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":"Shape 1","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600.600600600601,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"Members First","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[531,420,0],"ix":2},"a":{"a":0,"k":[960,540,0],"ix":1},"s":{"a":0,"k":[64,64,100],"ix":6}},"ao":0,"w":1920,"h":1080,"ip":0,"op":600.600600600601,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/example/uxsampletest.cpp b/submodules/RLottie/Sources/rlottie/example/uxsampletest.cpp deleted file mode 100644 index 6fcbae8913..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/uxsampletest.cpp +++ /dev/null @@ -1,134 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include"evasapp.h" -#include "lottieview.h" -#include -#include -#include - -class UxSampleTest -{ -public: - UxSampleTest(EvasApp *app, bool renderMode) { - mApp = app; - mRenderMode = renderMode; - mResourceList = EvasApp::jsonFiles(std::string(DEMO_DIR) + "UXSample_1920x1080/"); - mRepeatMode = LottieView::RepeatMode::Restart; - } - - void showPrev() { - if (mResourceList.empty()) return; - mCurIndex--; - if (mCurIndex < 0) - mCurIndex = mResourceList.size() - 1; - show(); - } - - void showNext() { - if (mResourceList.empty()) return; - - mCurIndex++; - if (mCurIndex >= int(mResourceList.size())) - mCurIndex = 0; - show(); - } - - void resize() { - if (mView) { - mView->setSize(mApp->width(), mApp->height()); - } - } - -private: - void show() { - mView = std::make_unique(mApp->evas(), Strategy::renderCAsync); - mView->setFilePath(mResourceList[mCurIndex].c_str()); - mView->setPos(0, 0); - mView->setSize(mApp->width(), mApp->height()); - mView->show(); - mView->play(); - mView->loop(true); - mView->setRepeatMode(mRepeatMode); - } - -public: - EvasApp *mApp; - bool mRenderMode = false; - int mCurIndex = -1; - std::vector mResourceList; - std::unique_ptr mView; - LottieView::RepeatMode mRepeatMode; -}; - -static void -onExitCb(void *data, void */*extra*/) -{ - UxSampleTest *view = (UxSampleTest *)data; - delete view; -} - -static void -onKeyCb(void *data, void *extra) -{ - UxSampleTest *view = (UxSampleTest *)data; - char *keyname = (char *)extra; - - if (!strcmp(keyname, "Right") || !strcmp(keyname, "n")) { - view->showNext(); - } else if (!strcmp(keyname, "Left") || !strcmp(keyname, "p")) { - view->showPrev(); - } else if (!strcmp(keyname,"r")) { - if (view->mRepeatMode == LottieView::RepeatMode::Restart) { - view->mRepeatMode = LottieView::RepeatMode::Reverse; - } else - view->mRepeatMode = LottieView::RepeatMode::Restart; - if (view->mView) - view->mView->setRepeatMode(view->mRepeatMode); - } -} - -static void -onResizeCb(void *data, void */*extra*/) -{ - UxSampleTest *view = (UxSampleTest *)data; - view->resize(); -} - -int -main(int argc, char **argv) -{ - EvasApp *app = new EvasApp(800, 800); - app->setup(); - - bool renderMode = true; - if (argc > 1) { - if (!strcmp(argv[1],"--disable-render")) - renderMode = false; - } - UxSampleTest *view = new UxSampleTest(app, renderMode); - view->showNext(); - - app->addExitCb(onExitCb, view); - app->addKeyCb(onKeyCb, view); - app->addResizeCb(onResizeCb, view); - - app->run(); - delete app; - return 0; -} diff --git a/submodules/RLottie/Sources/rlottie/example/vectortest.cpp b/submodules/RLottie/Sources/rlottie/example/vectortest.cpp deleted file mode 100644 index 8038b585a3..0000000000 --- a/submodules/RLottie/Sources/rlottie/example/vectortest.cpp +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include - -#include "vinterpolator.h" - -int main() -{ - VInterpolator ip({0.667, 1}, {0.333 , 0}); - for (float i = 0.0 ; i < 1.0 ; i+=0.05) { - std::cout< -#include -#include - -#ifdef _WIN32 -#ifdef LOT_BUILD -#ifdef DLL_EXPORT -#define LOT_EXPORT __declspec(dllexport) -#else -#define LOT_EXPORT -#endif -#else -#define LOT_EXPORT __declspec(dllimport) -#endif -#else -#ifdef __GNUC__ -#if __GNUC__ >= 4 -#define LOT_EXPORT __attribute__((visibility("default"))) -#else -#define LOT_EXPORT -#endif -#else -#define LOT_EXPORT -#endif -#endif - -class AnimationImpl; -struct LOTNode; -struct LOTLayerNode; - -namespace rlottie { - -struct Color { - Color() = default; - Color(float r, float g , float b):_r(r), _g(g), _b(b){} - float r() const {return _r;} - float g() const {return _g;} - float b() const {return _b;} -private: - float _r{0}; - float _g{0}; - float _b{0}; -}; - -struct Size { - Size() = default; - Size(float w, float h):_w(w), _h(h){} - float w() const {return _w;} - float h() const {return _h;} -private: - float _w{0}; - float _h{0}; -}; - -struct Point { - Point() = default; - Point(float x, float y):_x(x), _y(y){} - float x() const {return _x;} - float y() const {return _y;} -private: - float _x{0}; - float _y{0}; -}; - -struct FrameInfo { - explicit FrameInfo(uint32_t frame): _frameNo(frame){} - uint32_t curFrame() const {return _frameNo;} -private: - uint32_t _frameNo; -}; - -enum class Property { - FillColor, /*!< Color property of Fill object , value type is rlottie::Color */ - FillOpacity, /*!< Opacity property of Fill object , value type is float [ 0 .. 100] */ - StrokeColor, /*!< Color property of Stroke object , value type is rlottie::Color */ - StrokeOpacity, /*!< Opacity property of Stroke object , value type is float [ 0 .. 100] */ - StrokeWidth, /*!< stroke with property of Stroke object , value type is float */ - TrAnchor, /*!< Transform Anchor property of Layer and Group object , value type is rlottie::Point */ - TrPosition, /*!< Transform Position property of Layer and Group object , value type is rlottie::Point */ - TrScale, /*!< Transform Scale property of Layer and Group object , value type is rlottie::Size. range[0 ..100] */ - TrRotation, /*!< Transform Scale property of Layer and Group object , value type is float. range[0 .. 360] in degrees*/ - TrOpacity /*!< Transform Opacity property of Layer and Group object , value type is float [ 0 .. 100] */ -}; - -struct Color_Type{}; -struct Point_Type{}; -struct Size_Type{}; -struct Float_Type{}; -template struct MapType; - -class LOT_EXPORT Surface { -public: - /** - * @brief Surface object constructor. - * - * @param[in] buffer surface buffer. - * @param[in] width surface width. - * @param[in] height surface height. - * @param[in] bytesPerLine number of bytes in a surface scanline. - * - * @note Default surface format is ARGB32_Premultiplied. - * - * @internal - */ - Surface(uint32_t *buffer, size_t width, size_t height, size_t bytesPerLine); - - /** - * @brief Sets the Draw Area available on the Surface. - * - * Lottie will use the draw region size to generate frame image - * and will update only the draw rgion of the surface. - * - * @param[in] x region area x position. - * @param[in] y region area y position. - * @param[in] width region area width. - * @param[in] height region area height. - * - * @note Default surface format is ARGB32_Premultiplied. - * @note Default draw region area is [ 0 , 0, surface width , surface height] - * - * @internal - */ - void setDrawRegion(size_t x, size_t y, size_t width, size_t height); - - /** - * @brief Returns width of the surface. - * - * @return surface width - * - * @internal - * - */ - size_t width() const {return mWidth;} - - /** - * @brief Returns height of the surface. - * - * @return surface height - * - * @internal - */ - size_t height() const {return mHeight;} - - /** - * @brief Returns number of bytes in the surface scanline. - * - * @return number of bytes in scanline. - * - * @internal - */ - size_t bytesPerLine() const {return mBytesPerLine;} - - /** - * @brief Returns buffer attached tp the surface. - * - * @return buffer attaced to the Surface. - * - * @internal - */ - uint32_t *buffer() const {return mBuffer;} - - /** - * @brief Returns drawable area width of the surface. - * - * @return drawable area width - * - * @note Default value is width() of the surface - * - * @internal - * - */ - size_t drawRegionWidth() const {return mDrawArea.w;} - - /** - * @brief Returns drawable area height of the surface. - * - * @return drawable area height - * - * @note Default value is height() of the surface - * - * @internal - */ - size_t drawRegionHeight() const {return mDrawArea.h;} - - /** - * @brief Returns drawable area's x position of the surface. - * - * @return drawable area's x potition. - * - * @note Default value is 0 - * - * @internal - */ - size_t drawRegionPosX() const {return mDrawArea.x;} - - /** - * @brief Returns drawable area's y position of the surface. - * - * @return drawable area's y potition. - * - * @note Default value is 0 - * - * @internal - */ - size_t drawRegionPosY() const {return mDrawArea.y;} - - /** - * @brief Default constructor. - */ - Surface() = default; -private: - uint32_t *mBuffer{nullptr}; - size_t mWidth{0}; - size_t mHeight{0}; - size_t mBytesPerLine{0}; - struct { - size_t x{0}; - size_t y{0}; - size_t w{0}; - size_t h{0}; - }mDrawArea; -}; - -using LayerInfoList = std::vector>; - -class LOT_EXPORT Animation { -public: - - /** - * @brief Constructs an animation object from file path. - * - * @param[in] path Lottie resource file path - * - * @return Animation object that can render the contents of the - * Lottie resource represented by file path. - * - * @internal - */ - static std::unique_ptr - loadFromFile(const std::string &path); - - /** - * @brief Constructs an animation object from JSON string data. - * - * @param[in] jsonData The JSON string data. - * @param[in] key the string that will be used to cache the JSON string data. - * @param[in] resourcePath the path will be used to search for external resource. - * - * @return Animation object that can render the contents of the - * Lottie resource represented by JSON string data. - * - * @internal - */ - static std::unique_ptr - loadFromData(std::string jsonData, const std::string &key, const std::string &resourcePath=""); - - /** - * @brief Returns default framerate of the Lottie resource. - * - * @return framerate of the Lottie resource - * - * @internal - * - */ - double frameRate() const; - - /** - * @brief Returns total number of frames present in the Lottie resource. - * - * @return frame count of the Lottie resource. - * - * @note frame number starts with 0. - * - * @internal - */ - size_t totalFrame() const; - - /** - * @brief Returns default viewport size of the Lottie resource. - * - * @param[out] width default width of the viewport. - * @param[out] height default height of the viewport. - * - * @internal - * - */ - void size(size_t &width, size_t &height) const; - - /** - * @brief Returns total animation duration of Lottie resource in second. - * it uses totalFrame() and frameRate() to calculate the duration. - * duration = totalFrame() / frameRate(). - * - * @return total animation duration in second. - * @retval 0 if the Lottie resource has no animation. - * - * @see totalFrame() - * @see frameRate() - * - * @internal - */ - double duration() const; - - /** - * @brief Returns frame number for a given position. - * this function helps to map the position value retuned - * by the animator to a frame number in side the Lottie resource. - * frame_number = lerp(start_frame, endframe, pos); - * - * @param[in] pos normalized position value [0 ... 1] - * - * @return frame numer maps to the position value [startFrame .... endFrame] - * - * @internal - */ - size_t frameAtPos(double pos); - - /** - * @brief Renders the content to surface Asynchronously. - * it gives a future in return to get the result of the - * rendering at a future point. - * To get best performance user has to start rendering as soon as - * it finds that content at {frameNo} has to be rendered and get the - * result from the future at the last moment when the surface is needed - * to draw into the screen. - * - * - * @param[in] frameNo Content corresponds to the @p frameNo needs to be drawn - * @param[in] surface Surface in which content will be drawn - * - * @return future that will hold the result when rendering finished. - * - * for Synchronus rendering @see renderSync - * - * @see Surface - * @internal - */ - std::future render(size_t frameNo, Surface surface); - - /** - * @brief Renders the content to surface synchronously. - * for performance use the async rendering @see render - * - * @param[in] frameNo Content corresponds to the @p frameNo needs to be drawn - * @param[in] surface Surface in which content will be drawn - * - * @internal - */ - void renderSync(size_t frameNo, Surface surface); - - /** - * @brief Returns root layer of the composition updated with - * content of the Lottie resource at frame number @p frameNo. - * - * @param[in] frameNo Content corresponds to the @p frameNo needs to be extracted. - * @param[in] width content viewbox width - * @param[in] height content viewbox height - * - * @return Root layer node. - * - * @internal - */ - const LOTLayerNode * renderTree(size_t frameNo, size_t width, size_t height) const; - - /** - * @brief Returns Layer information{name, inFrame, outFrame} of all the child layers of the composition. - * - * - * @return List of Layer Information of the Composition. - * - * @see LayerInfoList - * @internal - */ - const LayerInfoList& layers() const; - - /** - * @brief Sets property value for the specified {@link KeyPath}. This {@link KeyPath} can resolve - * to multiple contents. In that case, the callback's value will apply to all of them. - * - * Keypath should conatin object names separated by (.) and can handle globe(**) or wildchar(*). - * - * @usage - * To change fillcolor property of fill1 object in the layer1->group1->fill1 hirarchy to RED color - * - * player->setValue("layer1.group1.fill1", rlottie::Color(1, 0, 0); - * - * if all the color property inside group1 needs to be changed to GREEN color - * - * player->setValue("**.group1.**", rlottie::Color(0, 1, 0); - * - * @internal - */ - template - void setValue(const std::string &keypath, AnyValue value) - { - setValue(MapType>{}, prop, keypath, value); - } - - /** - * @brief default destructor - * - * @internal - */ - ~Animation(); - - bool isTgs() const; - -private: - void setValue(Color_Type, Property, const std::string &, Color); - void setValue(Float_Type, Property, const std::string &, float); - void setValue(Size_Type, Property, const std::string &, Size); - void setValue(Point_Type, Property, const std::string &, Point); - - void setValue(Color_Type, Property, const std::string &, std::function &&); - void setValue(Float_Type, Property, const std::string &, std::function &&); - void setValue(Size_Type, Property, const std::string &, std::function &&); - void setValue(Point_Type, Property, const std::string &, std::function &&); - /** - * @brief default constructor - * - * @internal - */ - Animation(); - - std::unique_ptr d; -}; - -//Map Property to Value type -template<> struct MapType>: Color_Type{}; -template<> struct MapType>: Color_Type{}; -template<> struct MapType>: Float_Type{}; -template<> struct MapType>: Float_Type{}; -template<> struct MapType>: Float_Type{}; -template<> struct MapType>: Float_Type{}; -template<> struct MapType>: Float_Type{}; -template<> struct MapType>: Point_Type{}; -template<> struct MapType>: Point_Type{}; -template<> struct MapType>: Size_Type{}; - - -} // namespace lotplayer - -#endif // _RLOTTIE_H_ diff --git a/submodules/RLottie/Sources/rlottie/inc/rlottie_capi.h b/submodules/RLottie/Sources/rlottie/inc/rlottie_capi.h deleted file mode 100644 index a5cb70ad50..0000000000 --- a/submodules/RLottie/Sources/rlottie/inc/rlottie_capi.h +++ /dev/null @@ -1,241 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef _RLOTTIE_CAPI_H_ -#define _RLOTTIE_CAPI_H_ - -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct Lottie_Animation_S Lottie_Animation; - -/** - * @brief Constructs an animation object from file path. - * - * @param[in] path Lottie resource file path - * - * @return Animation object that can build the contents of the - * Lottie resource represented by file path. - * - * @see lottie_animation_destroy() - * - * @ingroup Lottie_Animation - * @internal - */ -LOT_EXPORT Lottie_Animation *lottie_animation_from_file(const char *path); - -/** - * @brief Constructs an animation object from JSON string data. - * - * @param[in] data The JSON string data. - * @param[in] key the string that will be used to cache the JSON string data. - * @param[in] resource_path the path that will be used to load external resource needed by the JSON data. - * - * @return Animation object that can build the contents of the - * Lottie resource represented by JSON string data. - * - * @ingroup Lottie_Animation - * @internal - */ -LOT_EXPORT Lottie_Animation *lottie_animation_from_data(const char *data, const char *key, const char *resource_path); - -/** - * @brief Free given Animation object resource. - * - * @param[in] animation Animation object to free. - * - * @see lottie_animation_from_file() - * @see lottie_animation_from_data() - * - * @ingroup Lottie_Animation - * @internal - */ -LOT_EXPORT void lottie_animation_destroy(Lottie_Animation *animation); - -/** - * @brief Returns default viewport size of the Lottie resource. - * - * @param[in] animation Animation object. - * @param[out] w default width of the viewport. - * @param[out] h default height of the viewport. - * - * @ingroup Lottie_Animation - * @internal - */ -LOT_EXPORT void lottie_animation_get_size(const Lottie_Animation *animation, size_t *width, size_t *height); - -/** - * @brief Returns total animation duration of Lottie resource in second. - * it uses totalFrame() and frameRate() to calculate the duration. - * duration = totalFrame() / frameRate(). - * - * @param[in] animation Animation object. - * - * @return total animation duration in second. - * @c 0 if the Lottie resource has no animation. - * - * @see lottie_animation_get_totalframe() - * @see lottie_animation_get_framerate() - * - * @ingroup Lottie_Animation - * @internal - */ -LOT_EXPORT double lottie_animation_get_duration(const Lottie_Animation *animation); - -/** - * @brief Returns total number of frames present in the Lottie resource. - * - * @param[in] animation Animation object. - * - * @return frame count of the Lottie resource.* - * - * @note frame number starts with 0. - * - * @see lottie_animation_get_duration() - * @see lottie_animation_get_framerate() - * - * @ingroup Lottie_Animation - * @internal - */ -LOT_EXPORT size_t lottie_animation_get_totalframe(const Lottie_Animation *animation); - -/** - * @brief Returns default framerate of the Lottie resource. - * - * @param[in] animation Animation object. - * - * @return framerate of the Lottie resource - * - * @ingroup Lottie_Animation - * @internal - * - */ -LOT_EXPORT double lottie_animation_get_framerate(const Lottie_Animation *animation); - -/** - * @brief Get the render tree which contains the snapshot of the animation object - * at frame = @c frame_num, the content of the animation in that frame number. - * - * @param[in] animation Animation object. - * @param[in] frame_num Content corresponds to the @p frame_num needs to be drawn - * @param[in] width requested snapshot viewport width. - * @param[in] height requested snapshot viewport height. - * - * @return Animation snapshot tree. - * - * @note: User has to traverse the tree for rendering. - * - * @see LOTLayerNode - * @see LOTNode - * - * @ingroup Lottie_Animation - * @internal - */ -LOT_EXPORT const LOTLayerNode * lottie_animation_render_tree(Lottie_Animation *animation, - size_t frame_num, - size_t width, size_t height); - -/** - * @brief Maps position to frame number and returns it. - * - * @param[in] animation Animation object. - * @param[in] pos position in the range [ 0.0 .. 1.0 ]. - * - * @return mapped frame numbe in the range [ start_frame .. end_frame ]. - * @c 0 if the Lottie resource has no animation. - * - * - * @ingroup Lottie_Animation - * @internal - */ -LOT_EXPORT size_t lottie_animation_get_frame_at_pos(const Lottie_Animation *animation, float pos); - -/** - * @brief Request to render the content of the frame @p frame_num to buffer @p buffer. - * - * @param[in] animation Animation object. - * @param[in] frame_num the frame number needs to be rendered. - * @param[in] buffer surface buffer use for rendering. - * @param[in] width width of the surface - * @param[in] height height of the surface - * @param[in] bytes_per_line stride of the surface in bytes. - * - * - * @ingroup Lottie_Animation - * @internal - */ -LOT_EXPORT void -lottie_animation_render(Lottie_Animation *animation, - size_t frame_num, - uint32_t *buffer, - size_t width, - size_t height, - size_t bytes_per_line); - -/** - * @brief Request to render the content of the frame @p frame_num to buffer @p buffer asynchronously. - * - * @param[in] animation Animation object. - * @param[in] frame_num the frame number needs to be rendered. - * @param[in] buffer surface buffer use for rendering. - * @param[in] width width of the surface - * @param[in] height height of the surface - * @param[in] bytes_per_line stride of the surface in bytes. - * - * @note user must call lottie_animation_render_flush() to make sure render is finished. - * - * @ingroup Lottie_Animation - * @internal - */ -LOT_EXPORT void -lottie_animation_render_async(Lottie_Animation *animation, - size_t frame_num, - uint32_t *buffer, - size_t width, - size_t height, - size_t bytes_per_line); - -/** - * @brief Request to finish the current async renderer job for this animation object. - * If render is finished then this call returns immidiately. - * If not, it waits till render job finish and then return. - * - * @param[in] animation Animation object. - * - * @warning User must call lottie_animation_render_async() and lottie_animation_render_flush() - * in pair to get the benefit of async rendering. - * - * @return the pixel buffer it finished rendering. - * - * @ingroup Lottie_Animation - * @internal - */ -LOT_EXPORT uint32_t * -lottie_animation_render_flush(Lottie_Animation *animation); - -#ifdef __cplusplus -} -#endif - -#endif //_RLOTTIE_CAPI_H_ - diff --git a/submodules/RLottie/Sources/rlottie/inc/rlottiecommon.h b/submodules/RLottie/Sources/rlottie/inc/rlottiecommon.h deleted file mode 100644 index b3ac0229e6..0000000000 --- a/submodules/RLottie/Sources/rlottie/inc/rlottiecommon.h +++ /dev/null @@ -1,237 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef _RLOTTIE_COMMON_H_ -#define _RLOTTIE_COMMON_H_ - -#ifdef _WIN32 -#ifdef LOT_BUILD -#ifdef DLL_EXPORT -#define LOT_EXPORT __declspec(dllexport) -#else -#define LOT_EXPORT -#endif -#else -#define LOT_EXPORT __declspec(dllimport) -#endif -#else -#ifdef __GNUC__ -#if __GNUC__ >= 4 -#define LOT_EXPORT __attribute__((visibility("default"))) -#else -#define LOT_EXPORT -#endif -#else -#define LOT_EXPORT -#endif -#endif - - -/** - * @defgroup Lottie_Animation Lottie_Animation - * - * Lottie Animation is a modern style vector based animation design. Its animation - * resource(within json format) could be generated by Adobe After Effect using - * bodymovin plugin. You can find a good examples in Lottie Community which - * shares many free resources(see: www.lottiefiles.com). - * - * This Lottie_Animation is a common engine to manipulate, control Lottie - * Animation from the Lottie resource - json file. It provides a scene-graph - * node tree per frames by user demand as well as rasterized frame images. - * - */ - -/** - * @ingroup Lottie_Animation - */ - - -/** - * @brief Enumeration for Lottie Player error code. - */ -typedef enum -{ - //TODO: Coding convention?? - LOT_ANIMATION_ERROR_NONE = 0, - LOT_ANIMATION_ERROR_NOT_PERMITTED, - LOT_ANIMATION_ERROR_OUT_OF_MEMORY, - LOT_ANIMATION_ERROR_INVALID_PARAMETER, - LOT_ANIMATION_ERROR_RESULT_OUT_OF_RANGE, - LOT_ANIMATION_ERROR_ALREADY_IN_PROGRESS, - LOT_ANIMATION_ERROR_UNKNOWN -} LOTErrorType; - -typedef enum -{ - BrushSolid = 0, - BrushGradient -} LOTBrushType; - -typedef enum -{ - FillEvenOdd = 0, - FillWinding -} LOTFillRule; - -typedef enum -{ - JoinMiter = 0, - JoinBevel, - JoinRound -} LOTJoinStyle; - -typedef enum -{ - CapFlat = 0, - CapSquare, - CapRound -} LOTCapStyle; - -typedef enum -{ - GradientLinear = 0, - GradientRadial -} LOTGradientType; - -typedef struct LOTGradientStop -{ - float pos; - unsigned char r, g, b, a; -} LOTGradientStop; - -typedef enum -{ - MaskAdd = 0, - MaskSubstract, - MaskIntersect, - MaskDifference -} LOTMaskType; - -typedef struct LOTMask { - struct { - const float *ptPtr; - int ptCount; - const char* elmPtr; - int elmCount; - } mPath; - LOTMaskType mMode; - int mAlpha; -}LOTMask; - -typedef enum -{ - MatteNone = 0, - MatteAlpha, - MatteAlphaInv, - MatteLuma, - MatteLumaInv -} LOTMatteType; - -typedef struct LOTNode { - -#define ChangeFlagNone 0x0000 -#define ChangeFlagPath 0x0001 -#define ChangeFlagPaint 0x0010 -#define ChangeFlagAll (ChangeFlagPath & ChangeFlagPaint) - - struct { - const float *ptPtr; - int ptCount; - const char* elmPtr; - int elmCount; - } mPath; - - struct { - unsigned char r, g, b, a; - } mColor; - - struct { - unsigned char enable; - int width; - LOTCapStyle cap; - LOTJoinStyle join; - int meterLimit; - float* dashArray; - int dashArraySize; - } mStroke; - - struct { - LOTGradientType type; - LOTGradientStop *stopPtr; - unsigned int stopCount; - struct { - float x, y; - } start, end, center, focal; - float cradius; - float fradius; - } mGradient; - - struct { - unsigned char* data; - int width; - int height; - struct { - float m11; float m12; float m13; - float m21; float m22; float m23; - float m31; float m32; float m33; - } mMatrix; - } mImageInfo; - - int mFlag; - LOTBrushType mBrushType; - LOTFillRule mFillRule; -} LOTNode; - - - -typedef struct LOTLayerNode { - - struct { - LOTMask *ptr; - unsigned int size; - } mMaskList; - - struct { - const float *ptPtr; - int ptCount; - const char* elmPtr; - int elmCount; - } mClipPath; - - struct { - struct LOTLayerNode **ptr; - unsigned int size; - } mLayerList; - - struct { - LOTNode **ptr; - unsigned int size; - } mNodeList; - - LOTMatteType mMatte; - int mVisible; - int mAlpha; - const char *name; - -} LOTLayerNode; - -/** - * @} - */ - -#endif // _RLOTTIE_COMMON_H_ diff --git a/submodules/RLottie/Sources/rlottie/licenses/COPYING.FTL b/submodules/RLottie/Sources/rlottie/licenses/COPYING.FTL deleted file mode 100644 index 5f673ffad1..0000000000 --- a/submodules/RLottie/Sources/rlottie/licenses/COPYING.FTL +++ /dev/null @@ -1,166 +0,0 @@ - The FreeType Project LICENSE - ---------------------------- - - 2006-Jan-27 - - Copyright 1996-2002, 2006 by - David Turner, Robert Wilhelm, and Werner Lemberg - - - -Introduction -============ - - The FreeType Project is distributed in several archive packages; - some of them may contain, in addition to the FreeType font engine, - various tools and contributions which rely on, or relate to, the - FreeType Project. - - This license applies to all files found in such packages, and - which do not fall under their own explicit license. The license - affects thus the FreeType font engine, the test programs, - documentation and makefiles, at the very least. - - This license was inspired by the BSD, Artistic, and IJG - (Independent JPEG Group) licenses, which all encourage inclusion - and use of free software in commercial and freeware products - alike. As a consequence, its main points are that: - - o We don't promise that this software works. However, we will be - interested in any kind of bug reports. (`as is' distribution) - - o You can use this software for whatever you want, in parts or - full form, without having to pay us. (`royalty-free' usage) - - o You may not pretend that you wrote this software. If you use - it, or only parts of it, in a program, you must acknowledge - somewhere in your documentation that you have used the - FreeType code. (`credits') - - We specifically permit and encourage the inclusion of this - software, with or without modifications, in commercial products. - We disclaim all warranties covering The FreeType Project and - assume no liability related to The FreeType Project. - - - Finally, many people asked us for a preferred form for a - credit/disclaimer to use in compliance with this license. We thus - encourage you to use the following text: - - """ - Portions of this software are copyright � The FreeType - Project (www.freetype.org). All rights reserved. - """ - - Please replace with the value from the FreeType version you - actually use. - - -Legal Terms -=========== - -0. Definitions --------------- - - Throughout this license, the terms `package', `FreeType Project', - and `FreeType archive' refer to the set of files originally - distributed by the authors (David Turner, Robert Wilhelm, and - Werner Lemberg) as the `FreeType Project', be they named as alpha, - beta or final release. - - `You' refers to the licensee, or person using the project, where - `using' is a generic term including compiling the project's source - code as well as linking it to form a `program' or `executable'. - This program is referred to as `a program using the FreeType - engine'. - - This license applies to all files distributed in the original - FreeType Project, including all source code, binaries and - documentation, unless otherwise stated in the file in its - original, unmodified form as distributed in the original archive. - If you are unsure whether or not a particular file is covered by - this license, you must contact us to verify this. - - The FreeType Project is copyright (C) 1996-2000 by David Turner, - Robert Wilhelm, and Werner Lemberg. All rights reserved except as - specified below. - -1. No Warranty --------------- - - THE FREETYPE PROJECT IS PROVIDED `AS IS' WITHOUT WARRANTY OF ANY - KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - PURPOSE. IN NO EVENT WILL ANY OF THE AUTHORS OR COPYRIGHT HOLDERS - BE LIABLE FOR ANY DAMAGES CAUSED BY THE USE OR THE INABILITY TO - USE, OF THE FREETYPE PROJECT. - -2. Redistribution ------------------ - - This license grants a worldwide, royalty-free, perpetual and - irrevocable right and license to use, execute, perform, compile, - display, copy, create derivative works of, distribute and - sublicense the FreeType Project (in both source and object code - forms) and derivative works thereof for any purpose; and to - authorize others to exercise some or all of the rights granted - herein, subject to the following conditions: - - o Redistribution of source code must retain this license file - (`FTL.TXT') unaltered; any additions, deletions or changes to - the original files must be clearly indicated in accompanying - documentation. The copyright notices of the unaltered, - original files must be preserved in all copies of source - files. - - o Redistribution in binary form must provide a disclaimer that - states that the software is based in part of the work of the - FreeType Team, in the distribution documentation. We also - encourage you to put an URL to the FreeType web page in your - documentation, though this isn't mandatory. - - These conditions apply to any software derived from or based on - the FreeType Project, not just the unmodified files. If you use - our work, you must acknowledge us. However, no fee need be paid - to us. - -3. Advertising --------------- - - Neither the FreeType authors and contributors nor you shall use - the name of the other for commercial, advertising, or promotional - purposes without specific prior written permission. - - We suggest, but do not require, that you use one or more of the - following phrases to refer to this software in your documentation - or advertising materials: `FreeType Project', `FreeType Engine', - `FreeType library', or `FreeType Distribution'. - - As you have not signed this license, you are not required to - accept it. However, as the FreeType Project is copyrighted - material, only this license, or another one contracted with the - authors, grants you the right to use, distribute, and modify it. - Therefore, by using, distributing, or modifying the FreeType - Project, you indicate that you understand and accept all the terms - of this license. - -4. Contacts ------------ - - There are two mailing lists related to FreeType: - - o freetype@nongnu.org - - Discusses general use and applications of FreeType, as well as - future and wanted additions to the library and distribution. - If you are looking for support, start in this list if you - haven't found anything to help you in the documentation. - - o freetype-devel@nongnu.org - - Discusses bugs, as well as engine internals, design issues, - specific licenses, porting, etc. - - Our home page can be found at - - http://www.freetype.org diff --git a/submodules/RLottie/Sources/rlottie/licenses/COPYING.LGPL b/submodules/RLottie/Sources/rlottie/licenses/COPYING.LGPL deleted file mode 100644 index 5ab7695ab8..0000000000 --- a/submodules/RLottie/Sources/rlottie/licenses/COPYING.LGPL +++ /dev/null @@ -1,504 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! - - diff --git a/submodules/RLottie/Sources/rlottie/licenses/COPYING.PIX b/submodules/RLottie/Sources/rlottie/licenses/COPYING.PIX deleted file mode 100644 index 5826f3c735..0000000000 --- a/submodules/RLottie/Sources/rlottie/licenses/COPYING.PIX +++ /dev/null @@ -1,42 +0,0 @@ -The following is the MIT license, agreed upon by most contributors. -Copyright holders of new code should use this license statement where -possible. They may also add themselves to the list below. - -/* - * Copyright 1987, 1988, 1989, 1998 The Open Group - * Copyright 1987, 1988, 1989 Digital Equipment Corporation - * Copyright 1999, 2004, 2008 Keith Packard - * Copyright 2000 SuSE, Inc. - * Copyright 2000 Keith Packard, member of The XFree86 Project, Inc. - * Copyright 2004, 2005, 2007, 2008, 2009, 2010 Red Hat, Inc. - * Copyright 2004 Nicholas Miell - * Copyright 2005 Lars Knoll & Zack Rusin, Trolltech - * Copyright 2005 Trolltech AS - * Copyright 2007 Luca Barbato - * Copyright 2008 Aaron Plattner, NVIDIA Corporation - * Copyright 2008 Rodrigo Kumpera - * Copyright 2008 André Tupinambá - * Copyright 2008 Mozilla Corporation - * Copyright 2008 Frederic Plourde - * Copyright 2009, Oracle and/or its affiliates. All rights reserved. - * Copyright 2009, 2010 Nokia Corporation - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the - * Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - */ diff --git a/submodules/RLottie/Sources/rlottie/licenses/COPYING.RPD b/submodules/RLottie/Sources/rlottie/licenses/COPYING.RPD deleted file mode 100644 index 7ccc161c84..0000000000 --- a/submodules/RLottie/Sources/rlottie/licenses/COPYING.RPD +++ /dev/null @@ -1,57 +0,0 @@ -Tencent is pleased to support the open source community by making RapidJSON available. - -Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. - -If you have downloaded a copy of the RapidJSON binary from Tencent, please note that the RapidJSON binary is licensed under the MIT License. -If you have downloaded a copy of the RapidJSON source code from Tencent, please note that RapidJSON source code is licensed under the MIT License, except for the third-party components listed below which are subject to different license terms. Your integration of RapidJSON into your own projects may require compliance with the MIT License, as well as the other licenses applicable to the third-party components included within RapidJSON. To avoid the problematic JSON license in your own projects, it's sufficient to exclude the bin/jsonchecker/ directory, as it's the only code under the JSON license. -A copy of the MIT License is included in this file. - -Other dependencies and licenses: - -Open Source Software Licensed Under the BSD License: --------------------------------------------------------------------- - -The msinttypes r29 -Copyright (c) 2006-2013 Alexander Chemeris -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -* Neither the name of copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -Open Source Software Licensed Under the JSON License: --------------------------------------------------------------------- - -json.org -Copyright (c) 2002 JSON.org -All Rights Reserved. - -JSON_checker -Copyright (c) 2002 JSON.org -All Rights Reserved. - - -Terms of the JSON License: ---------------------------------------------------- - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -The Software shall be used for Good, not Evil. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -Terms of the MIT License: --------------------------------------------------------------------- - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/submodules/RLottie/Sources/rlottie/licenses/COPYING.STB b/submodules/RLottie/Sources/rlottie/licenses/COPYING.STB deleted file mode 100644 index 1da71ca8db..0000000000 --- a/submodules/RLottie/Sources/rlottie/licenses/COPYING.STB +++ /dev/null @@ -1,17 +0,0 @@ - MIT License -Copyright (c) 2017 Sean Barrett -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/submodules/RLottie/Sources/rlottie/meson.build b/submodules/RLottie/Sources/rlottie/meson.build deleted file mode 100644 index 62055d9896..0000000000 --- a/submodules/RLottie/Sources/rlottie/meson.build +++ /dev/null @@ -1,41 +0,0 @@ -project('rlottie library', - 'cpp', - license : 'Apache') - -rlottie_lib_version = '0.0.1' - -add_global_arguments('-DDEMO_DIR="@0@/example/resource/"'.format(meson.current_source_dir()), language : 'cpp') - -compiler_flags = ['-std=c++14', '-Os', '-Wall', '-Werror', '-Wextra', '-fno-exceptions', '-fno-rtti', - '-fno-unwind-tables' , '-fno-asynchronous-unwind-tables', - '-Wnon-virtual-dtor', '-Woverloaded-virtual', '-Wno-unused-parameter', '-fvisibility=hidden'] - - -if (build_machine.system() == 'linux') - compiler_flags += ['-pthread'] - add_global_link_arguments('-pthread', language: 'cpp') -endif - -add_global_arguments(compiler_flags, language: 'cpp') - -inc = include_directories('inc') - -subdir('inc') -subdir('src') - -if get_option('example') == true - subdir('example') -endif - -if get_option('test') == true - subdir('test') -endif - -pkg_mod = import('pkgconfig') - -pkg_mod.generate( libraries : rlottie_lib, - version : rlottie_lib_version, - name : 'librlottie', - filebase : 'rlottie', - description : 'A Library for rendering lottie files.' - ) diff --git a/submodules/RLottie/Sources/rlottie/meson_options.txt b/submodules/RLottie/Sources/rlottie/meson_options.txt deleted file mode 100644 index 8da05f09a7..0000000000 --- a/submodules/RLottie/Sources/rlottie/meson_options.txt +++ /dev/null @@ -1,15 +0,0 @@ -option('test', - type: 'boolean', - value: false, - description: 'Enable building unit tests') - -option('example', - type: 'boolean', - value: true, - description: 'Enable building examples') - -option('text', - type: 'boolean', - value: false, - description: 'Enable text module') - diff --git a/submodules/RLottie/Sources/rlottie/packaging/rlottie.manifest b/submodules/RLottie/Sources/rlottie/packaging/rlottie.manifest deleted file mode 100644 index 017d22d3af..0000000000 --- a/submodules/RLottie/Sources/rlottie/packaging/rlottie.manifest +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/submodules/RLottie/Sources/rlottie/packaging/rlottie.spec b/submodules/RLottie/Sources/rlottie/packaging/rlottie.spec deleted file mode 100644 index b9e3cc0dc0..0000000000 --- a/submodules/RLottie/Sources/rlottie/packaging/rlottie.spec +++ /dev/null @@ -1,69 +0,0 @@ -Name: lottie-player -Summary: rlottie Library -Version: 0.0.1 -Release: 1 -Group: UI Framework/Services -License: LGPL-v2.1 -URL: http://www.tizen.org/ -Source0: %{name}-%{version}.tar.gz -BuildRequires: cmake -Requires(post): /sbin/ldconfig -Requires(postun): /sbin/ldconfig - -%description -rlottie library - - -%package devel -Summary: rlottie library (devel) -Group: Development/Libraries -Requires: %{name} = %{version}-%{release} - - -%description devel -rlottie library (devel) - - -%prep -%setup -q - - -%build -export CFLAGS+=" -fvisibility=hidden -fPIC -Wall -O2" -export LDFLAGS+=" " - -%ifarch %{arm} -export CXXFLAGS+=" -D_ARCH_ARM_ -mfpu=neon" -%endif - - -%ifarch %{arm} -cmake . -DCMAKE_INSTALL_PREFIX=/usr \ - -DLIB_INSTALL_DIR:PATH=%{_libdir} \ - -DARCH="arm" -%else -cmake . -DCMAKE_INSTALL_PREFIX=/usr \ - -DLIB_INSTALL_DIR:PATH=%{_libdir} -%endif - - -make %{?jobs:-j%jobs} - -%install -%make_install - -%files -%defattr(-,root,root,-) -%{_libdir}/librlottie.so.* -%{_libdir}/librlottie-image-loader.so* -%manifest packaging/rlottie.manifest -%license COPYING licenses/COPYING* - -%files devel -%defattr(-,root,root,-) -%{_includedir}/*.h -%{_libdir}/librlottie.so -%{_libdir}/librlottie-image-loader.so - -%{_libdir}/cmake/rlottie/*.cmake -%{_libdir}/pkgconfig/rlottie.pc diff --git a/submodules/RLottie/Sources/rlottie/rlottie.pc.in b/submodules/RLottie/Sources/rlottie/rlottie.pc.in deleted file mode 100644 index 3cee683ac7..0000000000 --- a/submodules/RLottie/Sources/rlottie/rlottie.pc.in +++ /dev/null @@ -1,6 +0,0 @@ -Name: rlottie -Description: A rlottie library -Version: @player_version@ -Requires: -Libs: -L@LIBDIR@ -lrlottie -Cflags: -I@INCDIR@ diff --git a/submodules/RLottie/Sources/rlottie/src/CMakeLists.txt b/submodules/RLottie/Sources/rlottie/src/CMakeLists.txt deleted file mode 100644 index 8bdefec0f1..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/CMakeLists.txt +++ /dev/null @@ -1,6 +0,0 @@ - -add_subdirectory(vector) - -add_subdirectory(lottie) - -add_subdirectory(binding) diff --git a/submodules/RLottie/Sources/rlottie/src/binding/CMakeLists.txt b/submodules/RLottie/Sources/rlottie/src/binding/CMakeLists.txt deleted file mode 100644 index 20bc4cc4b0..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/binding/CMakeLists.txt +++ /dev/null @@ -1 +0,0 @@ -add_subdirectory(c) diff --git a/submodules/RLottie/Sources/rlottie/src/binding/c/CMakeLists.txt b/submodules/RLottie/Sources/rlottie/src/binding/c/CMakeLists.txt deleted file mode 100644 index 30a049ad29..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/binding/c/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -target_sources(rlottie - PRIVATE - "${CMAKE_CURRENT_LIST_DIR}/lottieanimation_capi.cpp" - ) - -target_include_directories(rlottie - PRIVATE - "${CMAKE_CURRENT_LIST_DIR}" - ) diff --git a/submodules/RLottie/Sources/rlottie/src/binding/c/lottieanimation_capi.cpp b/submodules/RLottie/Sources/rlottie/src/binding/c/lottieanimation_capi.cpp deleted file mode 100644 index d40df28b1a..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/binding/c/lottieanimation_capi.cpp +++ /dev/null @@ -1,151 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "rlottie.h" -#include "vdebug.h" - -using namespace rlottie; - -extern "C" { - -struct Lottie_Animation_S -{ - std::unique_ptr mAnimation; - std::future mRenderTask; - uint32_t *mBufferRef; -}; - -LOT_EXPORT Lottie_Animation_S *lottie_animation_from_file(const char *path) -{ - if (auto animation = Animation::loadFromFile(path) ) { - Lottie_Animation_S *handle = new Lottie_Animation_S(); - handle->mAnimation = std::move(animation); - return handle; - } else { - return nullptr; - } -} - -LOT_EXPORT Lottie_Animation_S *lottie_animation_from_data(const char *data, const char *key, const char *resourcePath) -{ - if (auto animation = Animation::loadFromData(data, key, resourcePath) ) { - Lottie_Animation_S *handle = new Lottie_Animation_S(); - handle->mAnimation = std::move(animation); - return handle; - } else { - return nullptr; - } -} - -LOT_EXPORT void lottie_animation_destroy(Lottie_Animation_S *animation) -{ - if (animation) { - if (animation->mRenderTask.valid()) { - animation->mRenderTask.get(); - } - animation->mAnimation = nullptr; - delete animation; - } -} - -LOT_EXPORT void lottie_animation_get_size(const Lottie_Animation_S *animation, size_t *width, size_t *height) -{ - if (!animation) return; - - animation->mAnimation->size(*width, *height); -} - -LOT_EXPORT double lottie_animation_get_duration(const Lottie_Animation_S *animation) -{ - if (!animation) return 0; - - return animation->mAnimation->duration(); -} - -LOT_EXPORT size_t lottie_animation_get_totalframe(const Lottie_Animation_S *animation) -{ - if (!animation) return 0; - - return animation->mAnimation->totalFrame(); -} - - -LOT_EXPORT double lottie_animation_get_framerate(const Lottie_Animation_S *animation) -{ - if (!animation) return 0; - - return animation->mAnimation->frameRate(); -} - -LOT_EXPORT const LOTLayerNode * lottie_animation_render_tree(Lottie_Animation_S *animation, size_t frame_num, size_t width, size_t height) -{ - if (!animation) return nullptr; - - return animation->mAnimation->renderTree(frame_num, width, height); -} - -LOT_EXPORT size_t -lottie_animation_get_frame_at_pos(const Lottie_Animation_S *animation, float pos) -{ - if (!animation) return 0; - - return animation->mAnimation->frameAtPos(pos); -} - -LOT_EXPORT void -lottie_animation_render(Lottie_Animation_S *animation, - size_t frame_number, - uint32_t *buffer, - size_t width, - size_t height, - size_t bytes_per_line) -{ - if (!animation) return; - - rlottie::Surface surface(buffer, width, height, bytes_per_line); - animation->mAnimation->renderSync(frame_number, surface); -} - -LOT_EXPORT void -lottie_animation_render_async(Lottie_Animation_S *animation, - size_t frame_number, - uint32_t *buffer, - size_t width, - size_t height, - size_t bytes_per_line) -{ - if (!animation) return; - - rlottie::Surface surface(buffer, width, height, bytes_per_line); - animation->mRenderTask = animation->mAnimation->render(frame_number, surface); - animation->mBufferRef = buffer; -} - -LOT_EXPORT uint32_t * -lottie_animation_render_flush(Lottie_Animation_S *animation) -{ - if (!animation) return nullptr; - - if (animation->mRenderTask.valid()) { - animation->mRenderTask.get(); - } - - return animation->mBufferRef; -} - -} diff --git a/submodules/RLottie/Sources/rlottie/src/binding/c/meson.build b/submodules/RLottie/Sources/rlottie/src/binding/c/meson.build deleted file mode 100644 index 182aba59c7..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/binding/c/meson.build +++ /dev/null @@ -1,6 +0,0 @@ -source_file = files('lottieanimation_capi.cpp') - -binding_c_dep = declare_dependency( - include_directories : include_directories('.'), - sources : source_file - ) diff --git a/submodules/RLottie/Sources/rlottie/src/binding/meson.build b/submodules/RLottie/Sources/rlottie/src/binding/meson.build deleted file mode 100644 index 4be25091fe..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/binding/meson.build +++ /dev/null @@ -1,2 +0,0 @@ -subdir('c') -binding_dep = binding_c_dep diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/CMakeLists.txt b/submodules/RLottie/Sources/rlottie/src/lottie/CMakeLists.txt deleted file mode 100644 index 89a2b6836d..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/CMakeLists.txt +++ /dev/null @@ -1,16 +0,0 @@ - -target_sources(rlottie - PRIVATE - "${CMAKE_CURRENT_LIST_DIR}/lottieitem.cpp" - "${CMAKE_CURRENT_LIST_DIR}/lottieloader.cpp" - "${CMAKE_CURRENT_LIST_DIR}/lottiemodel.cpp" - "${CMAKE_CURRENT_LIST_DIR}/lottieproxymodel.cpp" - "${CMAKE_CURRENT_LIST_DIR}/lottieparser.cpp" - "${CMAKE_CURRENT_LIST_DIR}/lottieanimation.cpp" - "${CMAKE_CURRENT_LIST_DIR}/lottiekeypath.cpp" - ) - -target_include_directories(rlottie - PRIVATE - "${CMAKE_CURRENT_LIST_DIR}" - ) diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/lottieanimation.cpp b/submodules/RLottie/Sources/rlottie/src/lottie/lottieanimation.cpp deleted file mode 100644 index 91514858e7..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/lottieanimation.cpp +++ /dev/null @@ -1,417 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ -#include "config.h" -#include "lottieitem.h" -#include "lottieloader.h" -#include "lottiemodel.h" -#include "rlottie.h" - -#include - -using namespace rlottie; - -struct RenderTask { - RenderTask() { receiver = sender.get_future(); } - std::promise sender; - std::future receiver; - AnimationImpl * playerImpl{nullptr}; - size_t frameNo{0}; - Surface surface; -}; -using SharedRenderTask = std::shared_ptr; - -class AnimationImpl { -public: - void init(const std::shared_ptr &model); - bool update(size_t frameNo, const VSize &size); - VSize size() const { return mCompItem->size(); } - double duration() const { return mModel->duration(); } - double frameRate() const { return mModel->frameRate(); } - size_t totalFrame() const { return mModel->totalFrame(); } - size_t frameAtPos(double pos) const { return mModel->frameAtPos(pos); } - Surface render(size_t frameNo, const Surface &surface); - std::future renderAsync(size_t frameNo, Surface &&surface); - const LOTLayerNode * renderTree(size_t frameNo, const VSize &size); - bool isTgs() const { return mModel->isTgs(); } - - const LayerInfoList &layerInfoList() const - { - return mModel->layerInfoList(); - } - void setValue(const std::string &keypath, LOTVariant &&value); - void removeFilter(const std::string &keypath, Property prop); - -private: - std::string mFilePath; - std::shared_ptr mModel; - std::unique_ptr mCompItem; - SharedRenderTask mTask; - std::atomic mRenderInProgress; -}; - -void AnimationImpl::setValue(const std::string &keypath, LOTVariant &&value) -{ - if (keypath.empty()) return; - mCompItem->setValue(keypath, value); -} - -const LOTLayerNode *AnimationImpl::renderTree(size_t frameNo, const VSize &size) -{ - if (update(frameNo, size)) { - mCompItem->buildRenderTree(); - } - return mCompItem->renderTree(); -} - -bool AnimationImpl::update(size_t frameNo, const VSize &size) -{ - frameNo += mModel->startFrame(); - - if (frameNo > mModel->endFrame()) frameNo = mModel->endFrame(); - - if (frameNo < mModel->startFrame()) frameNo = mModel->startFrame(); - - mCompItem->resize(size); - return mCompItem->update(frameNo); -} - -Surface AnimationImpl::render(size_t frameNo, const Surface &surface) -{ - bool renderInProgress = mRenderInProgress.load(); - if (renderInProgress) { - vCritical << "Already Rendering Scheduled for this Animation"; - return surface; - } - - mRenderInProgress.store(true); - update(frameNo, - VSize(surface.drawRegionWidth(), surface.drawRegionHeight())); - mCompItem->render(surface); - mRenderInProgress.store(false); - - return surface; -} - -void AnimationImpl::init(const std::shared_ptr &model) -{ - mModel = model; - mCompItem = std::make_unique(mModel.get()); - mRenderInProgress = false; -} - -#ifdef LOTTIE_THREAD_SUPPORT - -#include -#include "vtaskqueue.h" - -/* - * Implement a task stealing schduler to perform render task - * As each player draws into its own buffer we can delegate this - * task to a slave thread. The scheduler creates a threadpool depending - * on the number of cores available in the system and does a simple fair - * scheduling by assigning the task in a round-robin fashion. Each thread - * in the threadpool has its own queue. once it finishes all the task on its - * own queue it goes through rest of the queue and looks for task if it founds - * one it steals the task from it and executes. if it couldn't find one then it - * just waits for new task on its own queue. - */ -class RenderTaskScheduler { - const unsigned _count{std::thread::hardware_concurrency()}; - std::vector _threads; - std::vector> _q{_count}; - std::atomic _index{0}; - - void run(unsigned i) - { - while (true) { - bool success = false; - SharedRenderTask task; - for (unsigned n = 0; n != _count * 32; ++n) { - if (_q[(i + n) % _count].try_pop(task)) { - success = true; - break; - } - } - if (!success && !_q[i].pop(task)) break; - - auto result = - task->playerImpl->render(task->frameNo, task->surface); - task->sender.set_value(result); - } - } - - RenderTaskScheduler() - { - for (unsigned n = 0; n != _count; ++n) { - _threads.emplace_back([&, n] { run(n); }); - } - } - -public: - static RenderTaskScheduler &instance() - { - static RenderTaskScheduler singleton; - return singleton; - } - - ~RenderTaskScheduler() - { - for (auto &e : _q) e.done(); - - for (auto &e : _threads) e.join(); - } - - std::future process(SharedRenderTask task) - { - auto receiver = std::move(task->receiver); - auto i = _index++; - - for (unsigned n = 0; n != _count; ++n) { - if (_q[(i + n) % _count].try_push(std::move(task))) return receiver; - } - - if (_count > 0) { - _q[i % _count].push(std::move(task)); - } - - return receiver; - } -}; - -#else -class RenderTaskScheduler { -public: - static RenderTaskScheduler &instance() - { - static RenderTaskScheduler singleton; - return singleton; - } - - std::future process(SharedRenderTask task) - { - auto result = task->playerImpl->render(task->frameNo, task->surface); - task->sender.set_value(result); - return std::move(task->receiver); - } -}; -#endif - -std::future AnimationImpl::renderAsync(size_t frameNo, - Surface &&surface) -{ - if (!mTask) { - mTask = std::make_shared(); - } else { - mTask->sender = std::promise(); - mTask->receiver = mTask->sender.get_future(); - } - mTask->playerImpl = this; - mTask->frameNo = frameNo; - mTask->surface = std::move(surface); - - return RenderTaskScheduler::instance().process(mTask); -} - -/** - * \breif Brief abput the Api. - * Description about the setFilePath Api - * @param path add the details - */ -std::unique_ptr Animation::loadFromData( - std::string jsonData, const std::string &key, - const std::string &resourcePath) -{ - if (jsonData.empty()) { - vWarning << "jason data is empty"; - return nullptr; - } - - LottieLoader loader; - if (loader.loadFromData(std::move(jsonData), key, - (resourcePath.empty() ? " " : resourcePath))) { - auto animation = std::unique_ptr(new Animation); - animation->d->init(loader.model()); - return animation; - } - return nullptr; -} - -std::unique_ptr Animation::loadFromFile(const std::string &path) -{ - if (path.empty()) { - vWarning << "File path is empty"; - return nullptr; - } - - LottieLoader loader; - if (loader.load(path)) { - auto animation = std::unique_ptr(new Animation); - animation->d->init(loader.model()); - return animation; - } - return nullptr; -} - -bool Animation::isTgs() const -{ - return d->isTgs(); -} - -void Animation::size(size_t &width, size_t &height) const -{ - VSize sz = d->size(); - - width = sz.width(); - height = sz.height(); -} - -double Animation::duration() const -{ - return d->duration(); -} - -double Animation::frameRate() const -{ - return d->frameRate(); -} - -size_t Animation::totalFrame() const -{ - return d->totalFrame(); -} - -size_t Animation::frameAtPos(double pos) -{ - return d->frameAtPos(pos); -} - -const LOTLayerNode *Animation::renderTree(size_t frameNo, size_t width, - size_t height) const -{ - return d->renderTree(frameNo, VSize(width, height)); -} - -std::future Animation::render(size_t frameNo, Surface surface) -{ - return d->renderAsync(frameNo, std::move(surface)); -} - -void Animation::renderSync(size_t frameNo, Surface surface) -{ - d->render(frameNo, surface); -} - -const LayerInfoList &Animation::layers() const -{ - return d->layerInfoList(); -} - -void Animation::setValue(Color_Type, Property prop, const std::string &keypath, - Color value) -{ - d->setValue(keypath, - LOTVariant(prop, [value](const FrameInfo &) { return value; })); -} - -void Animation::setValue(Float_Type, Property prop, const std::string &keypath, - float value) -{ - d->setValue(keypath, - LOTVariant(prop, [value](const FrameInfo &) { return value; })); -} - -void Animation::setValue(Size_Type, Property prop, const std::string &keypath, - Size value) -{ - d->setValue(keypath, - LOTVariant(prop, [value](const FrameInfo &) { return value; })); -} - -void Animation::setValue(Point_Type, Property prop, const std::string &keypath, - Point value) -{ - d->setValue(keypath, - LOTVariant(prop, [value](const FrameInfo &) { return value; })); -} - -void Animation::setValue(Color_Type, Property prop, const std::string &keypath, - std::function &&value) -{ - d->setValue(keypath, LOTVariant(prop, value)); -} - -void Animation::setValue(Float_Type, Property prop, const std::string &keypath, - std::function &&value) -{ - d->setValue(keypath, LOTVariant(prop, value)); -} - -void Animation::setValue(Size_Type, Property prop, const std::string &keypath, - std::function &&value) -{ - d->setValue(keypath, LOTVariant(prop, value)); -} - -void Animation::setValue(Point_Type, Property prop, const std::string &keypath, - std::function &&value) -{ - d->setValue(keypath, LOTVariant(prop, value)); -} - -Animation::Animation() : d(std::make_unique()) {} - -/* - * this is only to supress build fail - * because unique_ptr expects the destructor in the same translation unit. - */ -Animation::~Animation() {} - -Surface::Surface(uint32_t *buffer, size_t width, size_t height, - size_t bytesPerLine) - : mBuffer(buffer), - mWidth(width), - mHeight(height), - mBytesPerLine(bytesPerLine) -{ - mDrawArea.w = mWidth; - mDrawArea.h = mHeight; -} - -void Surface::setDrawRegion(size_t x, size_t y, size_t width, size_t height) -{ - if ((x + width > mWidth) || (y + height > mHeight)) return; - - mDrawArea.x = x; - mDrawArea.y = y; - mDrawArea.w = width; - mDrawArea.h = height; -} - -#ifdef LOTTIE_LOGGING_SUPPORT -void initLogging() -{ -#if defined(__ARM_NEON__) - set_log_level(LogLevel::OFF); -#else - initialize(GuaranteedLogger(), "/tmp/", "rlottie", 1); - set_log_level(LogLevel::INFO); -#endif -} - -V_CONSTRUCTOR_FUNCTION(initLogging) -#endif diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/lottieitem.cpp b/submodules/RLottie/Sources/rlottie/src/lottie/lottieitem.cpp deleted file mode 100644 index 8dcdebe274..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/lottieitem.cpp +++ /dev/null @@ -1,1731 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "lottieitem.h" -#include -#include -#include -#include "lottiekeypath.h" -#include "vbitmap.h" -#include "vdasher.h" -#include "vpainter.h" -#include "vraster.h" - -/* Lottie Layer Rules - * 1. time stretch is pre calculated and applied to all the properties of the - * lottilayer model and all its children - * 2. The frame property could be reversed using,time-reverse layer property in - * AE. which means (start frame > endFrame) 3. - */ - -static bool transformProp(rlottie::Property prop) -{ - switch (prop) { - case rlottie::Property::TrAnchor: - case rlottie::Property::TrScale: - case rlottie::Property::TrOpacity: - case rlottie::Property::TrPosition: - case rlottie::Property::TrRotation: - return true; - default: - return false; - } -} -static bool fillProp(rlottie::Property prop) -{ - switch (prop) { - case rlottie::Property::FillColor: - case rlottie::Property::FillOpacity: - return true; - default: - return false; - } -} - -static bool strokeProp(rlottie::Property prop) -{ - switch (prop) { - case rlottie::Property::StrokeColor: - case rlottie::Property::StrokeOpacity: - case rlottie::Property::StrokeWidth: - return true; - default: - return false; - } -} - -LOTCompItem::LOTCompItem(LOTModel *model) - : mUpdateViewBox(false), mCurFrameNo(-1) -{ - mCompData = model->mRoot.get(); - mRootLayer = createLayerItem(mCompData->mRootLayer.get()); - mRootLayer->setComplexContent(false); - mViewSize = mCompData->size(); -} - -void LOTCompItem::setValue(const std::string &keypath, LOTVariant &value) -{ - LOTKeyPath key(keypath); - mRootLayer->resolveKeyPath(key, 0, value); -} - -std::unique_ptr LOTCompItem::createLayerItem( - LOTLayerData *layerData) -{ - switch (layerData->mLayerType) { - case LayerType::Precomp: { - return std::make_unique(layerData); - } - case LayerType::Solid: { - return std::make_unique(layerData); - } - case LayerType::Shape: { - return std::make_unique(layerData); - } - case LayerType::Null: { - return std::make_unique(layerData); - } - case LayerType::Image: { - return std::make_unique(layerData); - } - default: - return nullptr; - break; - } -} - -void LOTCompItem::resize(const VSize &size) -{ - if (mViewSize == size) return; - mViewSize = size; - mUpdateViewBox = true; -} - -VSize LOTCompItem::size() const -{ - return mViewSize; -} - -bool LOTCompItem::update(int frameNo) -{ - // check if cached frame is same as requested frame. - if (!mUpdateViewBox && (mCurFrameNo == frameNo)) return false; - - /* - * if viewbox dosen't scale exactly to the viewport - * we scale the viewbox keeping AspectRatioPreserved and then align the - * viewbox to the viewport using AlignCenter rule. - */ - VSize viewPort = mViewSize; - VSize viewBox = mCompData->size(); - - float sx = float(viewPort.width()) / viewBox.width(); - float sy = float(viewPort.height()) / viewBox.height(); - float scale = fmin(sx, sy); - float tx = (viewPort.width() - viewBox.width() * scale) * 0.5; - float ty = (viewPort.height() - viewBox.height() * scale) * 0.5; - - VMatrix m; - m.translate(tx, ty).scale(scale, scale); - mRootLayer->update(frameNo, m, 1.0); - - mCurFrameNo = frameNo; - mUpdateViewBox = false; - return true; -} - -void LOTCompItem::buildRenderTree() -{ - mRootLayer->buildLayerNode(); -} - -const LOTLayerNode *LOTCompItem::renderTree() const -{ - return mRootLayer->layerNode(); -} - -bool LOTCompItem::render(const rlottie::Surface &surface) -{ - VBitmap bitmap(reinterpret_cast(surface.buffer()), surface.width(), - surface.height(), surface.bytesPerLine(), - VBitmap::Format::ARGB32_Premultiplied); - - /* schedule all preprocess task for this frame at once. - */ - mDrawableList.clear(); - mRootLayer->renderList(mDrawableList); - VRect clip(0, 0, surface.drawRegionWidth(), surface.drawRegionHeight()); - for (auto &e : mDrawableList) { - e->preprocess(clip); - } - - VPainter painter(&bitmap); - // set sub surface area for drawing. - painter.setDrawRegion( - VRect(surface.drawRegionPosX(), surface.drawRegionPosY(), - surface.drawRegionWidth(), surface.drawRegionHeight())); - mRootLayer->render(&painter, {}, {}); - - return true; -} - -void LOTMaskItem::update(int frameNo, const VMatrix & parentMatrix, - float /*parentAlpha*/, const DirtyFlag &flag) -{ - if (flag.testFlag(DirtyFlagBit::None) && mData->isStatic()) return; - - if (mData->mShape.isStatic()) { - if (mLocalPath.empty()) { - mData->mShape.value(frameNo).toPath(mLocalPath); - } - } else { - mData->mShape.value(frameNo).toPath(mLocalPath); - } - /* mask item dosen't inherit opacity */ - mCombinedAlpha = mData->opacity(frameNo); - - mFinalPath.clone(mLocalPath); - mFinalPath.transform(parentMatrix); - - mRasterizer.rasterize(mFinalPath); - mRasterRequest = true; -} - -VRle LOTMaskItem::rle() -{ - if (mRasterRequest) { - mRasterRequest = false; - if (!vCompare(mCombinedAlpha, 1.0f)) - mRasterizer.rle() *= (mCombinedAlpha * 255); - if (mData->mInv) mRasterizer.rle().invert(); - } - return mRasterizer.rle(); -} - -void LOTLayerItem::buildLayerNode() -{ - if (!mLayerCNode) { - mLayerCNode = std::make_unique(); - mLayerCNode->mMaskList.ptr = nullptr; - mLayerCNode->mMaskList.size = 0; - mLayerCNode->mLayerList.ptr = nullptr; - mLayerCNode->mLayerList.size = 0; - mLayerCNode->mNodeList.ptr = nullptr; - mLayerCNode->mNodeList.size = 0; - mLayerCNode->mMatte = MatteNone; - mLayerCNode->mVisible = 0; - mLayerCNode->mAlpha = 255; - mLayerCNode->mClipPath.ptPtr = nullptr; - mLayerCNode->mClipPath.elmPtr = nullptr; - mLayerCNode->mClipPath.ptCount = 0; - mLayerCNode->mClipPath.elmCount = 0; - mLayerCNode->name = name().c_str(); - } - if (complexContent()) mLayerCNode->mAlpha = combinedAlpha() * 255; - mLayerCNode->mVisible = visible(); - // update matte - if (hasMatte()) { - switch (mLayerData->mMatteType) { - case MatteType::Alpha: - mLayerCNode->mMatte = MatteAlpha; - break; - case MatteType::AlphaInv: - mLayerCNode->mMatte = MatteAlphaInv; - break; - case MatteType::Luma: - mLayerCNode->mMatte = MatteLuma; - break; - case MatteType::LumaInv: - mLayerCNode->mMatte = MatteLumaInv; - break; - default: - mLayerCNode->mMatte = MatteNone; - break; - } - } - if (mLayerMask) { - mMasksCNode.clear(); - mMasksCNode.resize(mLayerMask->mMasks.size()); - size_t i = 0; - for (const auto &mask : mLayerMask->mMasks) { - LOTMask * cNode = &mMasksCNode[i++]; - const std::vector &elm = mask.mFinalPath.elements(); - const std::vector & pts = mask.mFinalPath.points(); - const float *ptPtr = reinterpret_cast(pts.data()); - const char * elmPtr = reinterpret_cast(elm.data()); - cNode->mPath.ptPtr = ptPtr; - cNode->mPath.ptCount = pts.size(); - cNode->mPath.elmPtr = elmPtr; - cNode->mPath.elmCount = elm.size(); - cNode->mAlpha = mask.mCombinedAlpha * 255; - switch (mask.maskMode()) { - case LOTMaskData::Mode::Add: - cNode->mMode = MaskAdd; - break; - case LOTMaskData::Mode::Substarct: - cNode->mMode = MaskSubstract; - break; - case LOTMaskData::Mode::Intersect: - cNode->mMode = MaskIntersect; - break; - case LOTMaskData::Mode::Difference: - cNode->mMode = MaskDifference; - break; - default: - cNode->mMode = MaskAdd; - break; - } - } - mLayerCNode->mMaskList.ptr = mMasksCNode.data(); - mLayerCNode->mMaskList.size = mMasksCNode.size(); - } -} - -void LOTLayerItem::render(VPainter *painter, const VRle &inheritMask, - const VRle &matteRle) -{ - mDrawableList.clear(); - renderList(mDrawableList); - - VRle mask; - if (mLayerMask) { - mask = mLayerMask->maskRle(painter->clipBoundingRect()); - if (!inheritMask.empty()) mask = mask & inheritMask; - // if resulting mask is empty then return. - if (mask.empty()) return; - } else { - mask = inheritMask; - } - - for (auto &i : mDrawableList) { - painter->setBrush(i->mBrush); - VRle rle = i->rle(); - if (matteRle.empty()) { - if (mask.empty()) { - // no mask no matte - painter->drawRle(VPoint(), rle); - } else { - // only mask - painter->drawRle(rle, mask); - } - - } else { - if (!mask.empty()) rle = rle & mask; - - if (rle.empty()) continue; - if (matteType() == MatteType::AlphaInv) { - rle = rle - matteRle; - painter->drawRle(VPoint(), rle); - } else { - // render with matteRle as clip. - painter->drawRle(rle, matteRle); - } - } - } -} - -LOTLayerMaskItem::LOTLayerMaskItem(LOTLayerData *layerData) -{ - mMasks.reserve(layerData->mMasks.size()); - - for (auto &i : layerData->mMasks) { - mMasks.emplace_back(i.get()); - mStatic &= i->isStatic(); - } -} - -void LOTLayerMaskItem::update(int frameNo, const VMatrix &parentMatrix, - float parentAlpha, const DirtyFlag &flag) -{ - if (flag.testFlag(DirtyFlagBit::None) && isStatic()) return; - - for (auto &i : mMasks) { - i.update(frameNo, parentMatrix, parentAlpha, flag); - } - mDirty = true; -} - -VRle LOTLayerMaskItem::maskRle(const VRect &clipRect) -{ - if (!mDirty) return mRle; - - VRle rle; - for (auto &i : mMasks) { - switch (i.maskMode()) { - case LOTMaskData::Mode::Add: { - rle = rle + i.rle(); - break; - } - case LOTMaskData::Mode::Substarct: { - if (rle.empty() && !clipRect.empty()) rle = VRle::toRle(clipRect); - rle = rle - i.rle(); - break; - } - case LOTMaskData::Mode::Intersect: { - if (rle.empty() && !clipRect.empty()) rle = VRle::toRle(clipRect); - rle = rle & i.rle(); - break; - } - case LOTMaskData::Mode::Difference: { - rle = rle ^ i.rle(); - break; - } - default: - break; - } - } - - if (!rle.empty() && !rle.unique()) { - mRle.clone(rle); - } else { - mRle = rle; - } - mDirty = false; - return mRle; -} - -LOTLayerItem::LOTLayerItem(LOTLayerData *layerData) : mLayerData(layerData) -{ - if (mLayerData->mHasMask) - mLayerMask = std::make_unique(mLayerData); -} - -bool LOTLayerItem::resolveKeyPath(LOTKeyPath &keyPath, uint depth, - LOTVariant &value) -{ - if (!keyPath.matches(name(), depth)) { - return false; - } - - if (!keyPath.skip(name())) { - if (keyPath.fullyResolvesTo(name(), depth) && - transformProp(value.property())) { - //@TODO handle propery update. - } - } - return true; -} - -bool LOTShapeLayerItem::resolveKeyPath(LOTKeyPath &keyPath, uint depth, - LOTVariant &value) -{ - if (LOTLayerItem::resolveKeyPath(keyPath, depth, value)) { - if (keyPath.propagate(name(), depth)) { - uint newDepth = keyPath.nextDepth(name(), depth); - mRoot->resolveKeyPath(keyPath, newDepth, value); - } - return true; - } - return false; -} - -bool LOTCompLayerItem::resolveKeyPath(LOTKeyPath &keyPath, uint depth, - LOTVariant &value) -{ - if (LOTLayerItem::resolveKeyPath(keyPath, depth, value)) { - if (keyPath.propagate(name(), depth)) { - uint newDepth = keyPath.nextDepth(name(), depth); - for (const auto &layer : mLayers) { - layer->resolveKeyPath(keyPath, newDepth, value); - } - } - return true; - } - return false; -} - -void LOTLayerItem::update(int frameNumber, const VMatrix &parentMatrix, - float parentAlpha) -{ - mFrameNo = frameNumber; - // 1. check if the layer is part of the current frame - if (!visible()) return; - - float alpha = parentAlpha * opacity(frameNo()); - if (vIsZero(alpha)) { - mCombinedAlpha = 0; - return; - } - - // 2. calculate the parent matrix and alpha - VMatrix m = matrix(frameNo()); - m *= parentMatrix; - - // 3. update the dirty flag based on the change - if (!mCombinedMatrix.fuzzyCompare(m)) { - mDirtyFlag |= DirtyFlagBit::Matrix; - } - if (!vCompare(mCombinedAlpha, alpha)) { - mDirtyFlag |= DirtyFlagBit::Alpha; - } - mCombinedMatrix = m; - mCombinedAlpha = alpha; - - // 4. update the mask - if (mLayerMask) { - mLayerMask->update(frameNo(), m, alpha, mDirtyFlag); - } - - // 5. if no parent property change and layer is static then nothing to do. - if (!mLayerData->precompLayer() && flag().testFlag(DirtyFlagBit::None) && - isStatic()) - return; - - // 6. update the content of the layer - updateContent(); - - // 7. reset the dirty flag - mDirtyFlag = DirtyFlagBit::None; -} - -VMatrix LOTLayerItem::matrix(int frameNo) const -{ - return mParentLayer - ? (mLayerData->matrix(frameNo) * mParentLayer->matrix(frameNo)) - : mLayerData->matrix(frameNo); -} - -bool LOTLayerItem::visible() const -{ - if (frameNo() >= mLayerData->inFrame() && - frameNo() < mLayerData->outFrame()) - return true; - else - return false; -} - -LOTCompLayerItem::LOTCompLayerItem(LOTLayerData *layerModel) - : LOTLayerItem(layerModel) -{ - // 1. create layer item - for (auto &i : mLayerData->mChildren) { - LOTLayerData *layerModel = static_cast(i.get()); - auto layerItem = LOTCompItem::createLayerItem(layerModel); - if (layerItem) mLayers.push_back(std::move(layerItem)); - } - - // 2. update parent layer - for (const auto &layer : mLayers) { - int id = layer->parentId(); - if (id >= 0) { - auto search = - std::find_if(mLayers.begin(), mLayers.end(), - [id](const auto &val) { return val->id() == id; }); - if (search != mLayers.end()) layer->setParentLayer((*search).get()); - } - } - - // 3. keep the layer in back-to-front order. - // as lottie model keeps the data in front-toback-order. - std::reverse(mLayers.begin(), mLayers.end()); - - // 4. check if its a nested composition - if (!layerModel->layerSize().empty()) { - mClipper = std::make_unique(layerModel->layerSize()); - } - - if (mLayers.size() > 1) setComplexContent(true); -} - -void LOTCompLayerItem::buildLayerNode() -{ - LOTLayerItem::buildLayerNode(); - if (mClipper) { - const std::vector &elm = mClipper->mPath.elements(); - const std::vector & pts = mClipper->mPath.points(); - const float *ptPtr = reinterpret_cast(pts.data()); - const char * elmPtr = reinterpret_cast(elm.data()); - layerNode()->mClipPath.ptPtr = ptPtr; - layerNode()->mClipPath.elmPtr = elmPtr; - layerNode()->mClipPath.ptCount = 2 * pts.size(); - layerNode()->mClipPath.elmCount = elm.size(); - } - if (mLayers.size() != mLayersCNode.size()) { - for (const auto &layer : mLayers) { - layer->buildLayerNode(); - mLayersCNode.push_back(layer->layerNode()); - } - layerNode()->mLayerList.ptr = mLayersCNode.data(); - layerNode()->mLayerList.size = mLayersCNode.size(); - } else { - for (const auto &layer : mLayers) { - layer->buildLayerNode(); - } - } -} - -void LOTCompLayerItem::render(VPainter *painter, const VRle &inheritMask, - const VRle &matteRle) -{ - if (vIsZero(combinedAlpha())) return; - - if (vCompare(combinedAlpha(), 1.0)) { - renderHelper(painter, inheritMask, matteRle); - } else { - if (complexContent()) { - VSize size = painter->clipBoundingRect().size(); - VPainter srcPainter; - VBitmap srcBitmap(size.width(), size.height(), - VBitmap::Format::ARGB32_Premultiplied); - srcPainter.begin(&srcBitmap); - renderHelper(&srcPainter, inheritMask, matteRle); - srcPainter.end(); - painter->drawBitmap(VPoint(), srcBitmap, combinedAlpha() * 255); - } else { - renderHelper(painter, inheritMask, matteRle); - } - } -} - -void LOTCompLayerItem::renderHelper(VPainter *painter, const VRle &inheritMask, - const VRle &matteRle) -{ - VRle mask; - if (mLayerMask) { - mask = mLayerMask->maskRle(painter->clipBoundingRect()); - if (!inheritMask.empty()) mask = mask & inheritMask; - // if resulting mask is empty then return. - if (mask.empty()) return; - } else { - mask = inheritMask; - } - - if (mClipper) { - if (mask.empty()) { - mask = mClipper->rle(); - } else { - mask = mClipper->rle() & mask; - } - } - - LOTLayerItem *matte = nullptr; - for (const auto &layer : mLayers) { - if (layer->hasMatte()) { - matte = layer.get(); - } else { - if (layer->visible()) { - if (matte) { - if (matte->visible()) - renderMatteLayer(painter, mask, matteRle, matte, - layer.get()); - } else { - layer->render(painter, mask, matteRle); - } - } - matte = nullptr; - } - } -} - -void LOTCompLayerItem::renderMatteLayer(VPainter *painter, const VRle &mask, - const VRle & matteRle, - LOTLayerItem *layer, LOTLayerItem *src) -{ - VSize size = painter->clipBoundingRect().size(); - // Decide if we can use fast matte. - // 1. draw src layer to matte buffer - VPainter srcPainter; - src->bitmap().reset(size.width(), size.height(), - VBitmap::Format::ARGB32_Premultiplied); - srcPainter.begin(&src->bitmap()); - src->render(&srcPainter, mask, matteRle); - srcPainter.end(); - - // 2. draw layer to layer buffer - VPainter layerPainter; - layer->bitmap().reset(size.width(), size.height(), - VBitmap::Format::ARGB32_Premultiplied); - layerPainter.begin(&layer->bitmap()); - layer->render(&layerPainter, mask, matteRle); - - // 2.1update composition mode - switch (layer->matteType()) { - case MatteType::Alpha: - case MatteType::Luma: { - layerPainter.setCompositionMode( - VPainter::CompositionMode::CompModeDestIn); - break; - } - case MatteType::AlphaInv: - case MatteType::LumaInv: { - layerPainter.setCompositionMode( - VPainter::CompositionMode::CompModeDestOut); - break; - } - default: - break; - } - - // 2.2 update srcBuffer if the matte is luma type - if (layer->matteType() == MatteType::Luma || - layer->matteType() == MatteType::LumaInv) { - src->bitmap().updateLuma(); - } - - // 2.3 draw src buffer as mask - layerPainter.drawBitmap(VPoint(), src->bitmap()); - layerPainter.end(); - // 3. draw the result buffer into painter - painter->drawBitmap(VPoint(), layer->bitmap()); -} - -void LOTClipperItem::update(const VMatrix &matrix) -{ - mPath.reset(); - mPath.addRect(VRectF(0, 0, mSize.width(), mSize.height())); - mPath.transform(matrix); - mRasterizer.rasterize(mPath); -} - -VRle LOTClipperItem::rle() -{ - return mRasterizer.rle(); -} - -void LOTCompLayerItem::updateContent() -{ - if (mClipper && flag().testFlag(DirtyFlagBit::Matrix)) { - mClipper->update(combinedMatrix()); - } - int mappedFrame = mLayerData->timeRemap(frameNo()); - float alpha = combinedAlpha(); - if (complexContent()) alpha = 1; - for (const auto &layer : mLayers) { - layer->update(mappedFrame, combinedMatrix(), alpha); - } -} - -void LOTCompLayerItem::renderList(std::vector &list) -{ - if (!visible() || vIsZero(combinedAlpha())) return; - - LOTLayerItem *matte = nullptr; - for (const auto &layer : mLayers) { - if (layer->hasMatte()) { - matte = layer.get(); - } else { - if (layer->visible()) { - if (matte) { - if (matte->visible()) { - layer->renderList(list); - matte->renderList(list); - } - } else { - layer->renderList(list); - } - } - matte = nullptr; - } - } -} - -LOTSolidLayerItem::LOTSolidLayerItem(LOTLayerData *layerData) - : LOTLayerItem(layerData) -{ -} - -void LOTSolidLayerItem::updateContent() -{ - if (flag() & DirtyFlagBit::Matrix) { - VPath path; - path.addRect( - VRectF(0, 0, mLayerData->solidWidth(), mLayerData->solidHeight())); - path.transform(combinedMatrix()); - mRenderNode.mFlag |= VDrawable::DirtyState::Path; - mRenderNode.mPath = path; - } - if (flag() & DirtyFlagBit::Alpha) { - LottieColor color = mLayerData->solidColor(); - VBrush brush(color.toColor(combinedAlpha())); - mRenderNode.setBrush(brush); - mRenderNode.mFlag |= VDrawable::DirtyState::Brush; - } -} - -void LOTSolidLayerItem::buildLayerNode() -{ - LOTLayerItem::buildLayerNode(); - - mDrawableList.clear(); - renderList(mDrawableList); - - mCNodeList.clear(); - for (auto &i : mDrawableList) { - LOTDrawable *lotDrawable = static_cast(i); - lotDrawable->sync(); - mCNodeList.push_back(lotDrawable->mCNode.get()); - } - layerNode()->mNodeList.ptr = mCNodeList.data(); - layerNode()->mNodeList.size = mCNodeList.size(); -} - -void LOTSolidLayerItem::renderList(std::vector &list) -{ - if (!visible() || vIsZero(combinedAlpha())) return; - - list.push_back(&mRenderNode); -} - -LOTImageLayerItem::LOTImageLayerItem(LOTLayerData *layerData) - : LOTLayerItem(layerData) -{ - VBrush brush(mLayerData->mAsset->bitmap()); - mRenderNode.setBrush(brush); -} - -void LOTImageLayerItem::updateContent() -{ - if (flag() & DirtyFlagBit::Matrix) { - VPath path; - path.addRect(VRectF(0, 0, mLayerData->mAsset->mWidth, - mLayerData->mAsset->mHeight)); - path.transform(combinedMatrix()); - mRenderNode.mFlag |= VDrawable::DirtyState::Path; - mRenderNode.mPath = path; - mRenderNode.mBrush.setMatrix(combinedMatrix()); - } - - if (flag() & DirtyFlagBit::Alpha) { - //@TODO handle alpha with the image. - } -} - -void LOTImageLayerItem::renderList(std::vector &list) -{ - if (!visible() || vIsZero(combinedAlpha())) return; - - list.push_back(&mRenderNode); -} - -void LOTImageLayerItem::buildLayerNode() -{ - LOTLayerItem::buildLayerNode(); - - mDrawableList.clear(); - renderList(mDrawableList); - - mCNodeList.clear(); - for (auto &i : mDrawableList) { - LOTDrawable *lotDrawable = static_cast(i); - lotDrawable->sync(); - - lotDrawable->mCNode->mImageInfo.data = - lotDrawable->mBrush.mTexture.data(); - lotDrawable->mCNode->mImageInfo.width = - lotDrawable->mBrush.mTexture.width(); - lotDrawable->mCNode->mImageInfo.height = - lotDrawable->mBrush.mTexture.height(); - - lotDrawable->mCNode->mImageInfo.mMatrix.m11 = combinedMatrix().m_11(); - lotDrawable->mCNode->mImageInfo.mMatrix.m12 = combinedMatrix().m_12(); - lotDrawable->mCNode->mImageInfo.mMatrix.m13 = combinedMatrix().m_13(); - - lotDrawable->mCNode->mImageInfo.mMatrix.m21 = combinedMatrix().m_21(); - lotDrawable->mCNode->mImageInfo.mMatrix.m22 = combinedMatrix().m_22(); - lotDrawable->mCNode->mImageInfo.mMatrix.m23 = combinedMatrix().m_23(); - - lotDrawable->mCNode->mImageInfo.mMatrix.m31 = combinedMatrix().m_tx(); - lotDrawable->mCNode->mImageInfo.mMatrix.m32 = combinedMatrix().m_ty(); - lotDrawable->mCNode->mImageInfo.mMatrix.m33 = combinedMatrix().m_13(); - - mCNodeList.push_back(lotDrawable->mCNode.get()); - } - layerNode()->mNodeList.ptr = mCNodeList.data(); - layerNode()->mNodeList.size = mCNodeList.size(); -} - -LOTNullLayerItem::LOTNullLayerItem(LOTLayerData *layerData) - : LOTLayerItem(layerData) -{ -} -void LOTNullLayerItem::updateContent() {} - -LOTShapeLayerItem::LOTShapeLayerItem(LOTLayerData *layerData) - : LOTLayerItem(layerData), - mRoot(std::make_unique(nullptr)) -{ - mRoot->addChildren(layerData); - - std::vector list; - mRoot->processPaintItems(list); - - if (layerData->hasPathOperator()) { - list.clear(); - mRoot->processTrimItems(list); - } -} - -std::unique_ptr LOTShapeLayerItem::createContentItem( - LOTData *contentData) -{ - switch (contentData->type()) { - case LOTData::Type::ShapeGroup: { - return std::make_unique( - static_cast(contentData)); - } - case LOTData::Type::Rect: { - return std::make_unique( - static_cast(contentData)); - } - case LOTData::Type::Ellipse: { - return std::make_unique( - static_cast(contentData)); - } - case LOTData::Type::Shape: { - return std::make_unique( - static_cast(contentData)); - } - case LOTData::Type::Polystar: { - return std::make_unique( - static_cast(contentData)); - } - case LOTData::Type::Fill: { - return std::make_unique( - static_cast(contentData)); - } - case LOTData::Type::GFill: { - return std::make_unique( - static_cast(contentData)); - } - case LOTData::Type::Stroke: { - return std::make_unique( - static_cast(contentData)); - } - case LOTData::Type::GStroke: { - return std::make_unique( - static_cast(contentData)); - } - case LOTData::Type::Repeater: { - return std::make_unique( - static_cast(contentData)); - } - case LOTData::Type::Trim: { - return std::make_unique( - static_cast(contentData)); - } - default: - return nullptr; - break; - } -} - -void LOTShapeLayerItem::updateContent() -{ - mRoot->update(frameNo(), combinedMatrix(), combinedAlpha(), flag()); - - if (mLayerData->hasPathOperator()) { - mRoot->applyTrim(); - } -} - -void LOTShapeLayerItem::buildLayerNode() -{ - LOTLayerItem::buildLayerNode(); - - mDrawableList.clear(); - renderList(mDrawableList); - - mCNodeList.clear(); - for (auto &i : mDrawableList) { - LOTDrawable *lotDrawable = static_cast(i); - lotDrawable->sync(); - mCNodeList.push_back(lotDrawable->mCNode.get()); - } - layerNode()->mNodeList.ptr = mCNodeList.data(); - layerNode()->mNodeList.size = mCNodeList.size(); -} - -void LOTShapeLayerItem::renderList(std::vector &list) -{ - if (!visible() || vIsZero(combinedAlpha())) return; - mRoot->renderList(list); -} - -bool LOTContentGroupItem::resolveKeyPath(LOTKeyPath &keyPath, uint depth, - LOTVariant &value) -{ - if (!keyPath.matches(name(), depth)) { - return false; - } - - if (!keyPath.skip(name())) { - if (keyPath.fullyResolvesTo(name(), depth) && - transformProp(value.property())) { - //@TODO handle property update - } - } - - if (keyPath.propagate(name(), depth)) { - uint newDepth = keyPath.nextDepth(name(), depth); - for (auto &child : mContents) { - child->resolveKeyPath(keyPath, newDepth, value); - } - } - return true; -} - -bool LOTFillItem::resolveKeyPath(LOTKeyPath &keyPath, uint depth, - LOTVariant &value) -{ - if (!keyPath.matches(mModel.name(), depth)) { - return false; - } - - if (keyPath.fullyResolvesTo(mModel.name(), depth) && - fillProp(value.property())) { - mModel.filter().addValue(value); - return true; - } - return false; -} - -bool LOTStrokeItem::resolveKeyPath(LOTKeyPath &keyPath, uint depth, - LOTVariant &value) -{ - if (!keyPath.matches(mModel.name(), depth)) { - return false; - } - - if (keyPath.fullyResolvesTo(mModel.name(), depth) && - strokeProp(value.property())) { - mModel.filter().addValue(value); - return true; - } - return false; -} - -LOTContentGroupItem::LOTContentGroupItem(LOTGroupData *data) - : LOTContentItem(ContentType::Group), mData(data) -{ - addChildren(mData); -} - -void LOTContentGroupItem::addChildren(LOTGroupData *data) -{ - if (!data) return; - - for (auto &i : data->mChildren) { - auto content = LOTShapeLayerItem::createContentItem(i.get()); - if (content) { - content->setParent(this); - mContents.push_back(std::move(content)); - } - } - - // keep the content in back-to-front order. - std::reverse(mContents.begin(), mContents.end()); -} - -void LOTContentGroupItem::update(int frameNo, const VMatrix &parentMatrix, - float parentAlpha, const DirtyFlag &flag) -{ - VMatrix m = parentMatrix; - float alpha = parentAlpha; - DirtyFlag newFlag = flag; - - if (mData && mData->mTransform) { - // update the matrix and the flag - if ((flag & DirtyFlagBit::Matrix) || !mData->mTransform->isStatic()) { - newFlag |= DirtyFlagBit::Matrix; - } - m = mData->mTransform->matrix(frameNo); - m *= parentMatrix; - alpha *= mData->mTransform->opacity(frameNo); - - if (!vCompare(alpha, parentAlpha)) { - newFlag |= DirtyFlagBit::Alpha; - } - } - - mMatrix = m; - - for (const auto &content : mContents) { - content->update(frameNo, m, alpha, newFlag); - } -} - -void LOTContentGroupItem::applyTrim() -{ - for (auto i = mContents.rbegin(); i != mContents.rend(); ++i) { - auto content = (*i).get(); - switch (content->type()) { - case ContentType::Trim: { - static_cast(content)->update(); - break; - } - case ContentType::Group: { - static_cast(content)->applyTrim(); - break; - } - default: - break; - } - } -} - -void LOTContentGroupItem::renderList(std::vector &list) -{ - for (const auto &content : mContents) { - content->renderList(list); - } -} - -void LOTContentGroupItem::processPaintItems( - std::vector &list) -{ - int curOpCount = list.size(); - for (auto i = mContents.rbegin(); i != mContents.rend(); ++i) { - auto content = (*i).get(); - switch (content->type()) { - case ContentType::Path: { - list.push_back(static_cast(content)); - break; - } - case ContentType::Paint: { - static_cast(content)->addPathItems(list, - curOpCount); - break; - } - case ContentType::Group: { - static_cast(content)->processPaintItems( - list); - break; - } - default: - break; - } - } -} - -void LOTContentGroupItem::processTrimItems(std::vector &list) -{ - int curOpCount = list.size(); - for (auto i = mContents.rbegin(); i != mContents.rend(); ++i) { - auto content = (*i).get(); - - switch (content->type()) { - case ContentType::Path: { - list.push_back(static_cast(content)); - break; - } - case ContentType::Trim: { - static_cast(content)->addPathItems(list, curOpCount); - break; - } - case ContentType::Group: { - static_cast(content)->processTrimItems(list); - break; - } - default: - break; - } - } -} - -/* - * LOTPathDataItem uses 3 path objects for path object reuse. - * mLocalPath - keeps track of the local path of the item before - * applying path operation and transformation. - * mTemp - keeps a referece to the mLocalPath and can be updated by the - * path operation objects(trim, merge path), - * mFinalPath - it takes a deep copy of the intermediate path(mTemp) each time - * when the path is dirty(so if path changes every frame we don't realloc just - * copy to the final path). NOTE: As path objects are COW objects we have to be - * carefull about the refcount so that we don't generate deep copy while - * modifying the path objects. - */ -void LOTPathDataItem::update(int frameNo, const VMatrix &, float, - const DirtyFlag &flag) -{ - mPathChanged = false; - - // 1. update the local path if needed - if (hasChanged(frameNo)) { - // loose the reference to mLocalPath if any - // from the last frame update. - mTemp = VPath(); - - updatePath(mLocalPath, frameNo); - mPathChanged = true; - mNeedUpdate = true; - } - // 2. keep a reference path in temp in case there is some - // path operation like trim which will update the path. - // we don't want to update the local path. - mTemp = mLocalPath; - - // 3. compute the final path with parentMatrix - if ((flag & DirtyFlagBit::Matrix) || mPathChanged) { - mPathChanged = true; - } -} - -const VPath &LOTPathDataItem::finalPath() -{ - if (mPathChanged || mNeedUpdate) { - mFinalPath.clone(mTemp); - mFinalPath.transform( - static_cast(parent())->matrix()); - mNeedUpdate = false; - } - return mFinalPath; -} -LOTRectItem::LOTRectItem(LOTRectData *data) - : LOTPathDataItem(data->isStatic()), mData(data) -{ -} - -void LOTRectItem::updatePath(VPath &path, int frameNo) -{ - VPointF pos = mData->mPos.value(frameNo); - VPointF size = mData->mSize.value(frameNo); - float roundness = mData->mRound.value(frameNo); - VRectF r(pos.x() - size.x() / 2, pos.y() - size.y() / 2, size.x(), - size.y()); - - path.reset(); - path.addRoundRect(r, roundness, mData->direction()); -} - -LOTEllipseItem::LOTEllipseItem(LOTEllipseData *data) - : LOTPathDataItem(data->isStatic()), mData(data) -{ -} - -void LOTEllipseItem::updatePath(VPath &path, int frameNo) -{ - VPointF pos = mData->mPos.value(frameNo); - VPointF size = mData->mSize.value(frameNo); - VRectF r(pos.x() - size.x() / 2, pos.y() - size.y() / 2, size.x(), - size.y()); - - path.reset(); - path.addOval(r, mData->direction()); -} - -LOTShapeItem::LOTShapeItem(LOTShapeData *data) - : LOTPathDataItem(data->isStatic()), mData(data) -{ -} - -void LOTShapeItem::updatePath(VPath &path, int frameNo) -{ - mData->mShape.value(frameNo).toPath(path); -} - -LOTPolystarItem::LOTPolystarItem(LOTPolystarData *data) - : LOTPathDataItem(data->isStatic()), mData(data) -{ -} - -void LOTPolystarItem::updatePath(VPath &path, int frameNo) -{ - VPointF pos = mData->mPos.value(frameNo); - float points = mData->mPointCount.value(frameNo); - float innerRadius = mData->mInnerRadius.value(frameNo); - float outerRadius = mData->mOuterRadius.value(frameNo); - float innerRoundness = mData->mInnerRoundness.value(frameNo); - float outerRoundness = mData->mOuterRoundness.value(frameNo); - float rotation = mData->mRotation.value(frameNo); - - path.reset(); - VMatrix m; - - if (mData->mType == LOTPolystarData::PolyType::Star) { - path.addPolystar(points, innerRadius, outerRadius, innerRoundness, - outerRoundness, 0.0, 0.0, 0.0, mData->direction()); - } else { - path.addPolygon(points, outerRadius, outerRoundness, 0.0, 0.0, 0.0, - mData->direction()); - } - - m.translate(pos.x(), pos.y()).rotate(rotation); - m.rotate(rotation); - path.transform(m); -} - -/* - * PaintData Node handling - * - */ -LOTPaintDataItem::LOTPaintDataItem(bool staticContent) - : LOTContentItem(ContentType::Paint), mStaticContent(staticContent) -{ -} - -void LOTPaintDataItem::update(int frameNo, const VMatrix & /*parentMatrix*/, - float parentAlpha, const DirtyFlag &flag) -{ - mRenderNodeUpdate = true; - mParentAlpha = parentAlpha; - mFlag = flag; - mFrameNo = frameNo; - - updateContent(frameNo); -} - -void LOTPaintDataItem::updateRenderNode() -{ - bool dirty = false; - for (auto &i : mPathItems) { - if (i->dirty()) { - dirty = true; - break; - } - } - - if (dirty) { - mPath.reset(); - - for (auto &i : mPathItems) { - mPath.addPath(i->finalPath()); - } - mDrawable.setPath(mPath); - } else { - if (mDrawable.mFlag & VDrawable::DirtyState::Path) - mDrawable.mPath = mPath; - } -} - -void LOTPaintDataItem::renderList(std::vector &list) -{ - if (mRenderNodeUpdate) { - updateRenderNode(); - LOTPaintDataItem::updateRenderNode(); - mRenderNodeUpdate = false; - } - list.push_back(&mDrawable); -} - -void LOTPaintDataItem::addPathItems(std::vector &list, - int startOffset) -{ - std::copy(list.begin() + startOffset, list.end(), - back_inserter(mPathItems)); -} - -LOTFillItem::LOTFillItem(LOTFillData *data) - : LOTPaintDataItem(data->isStatic()), mModel(data) -{ -} - -void LOTFillItem::updateContent(int frameNo) -{ - mColor = mModel.color(frameNo).toColor(mModel.opacity(frameNo)); -} - -void LOTFillItem::updateRenderNode() -{ - VColor color = mColor; - - color.setAlpha(color.a * parentAlpha()); - VBrush brush(color); - mDrawable.setBrush(brush); - mDrawable.setFillRule(mModel.fillRule()); -} - -LOTGFillItem::LOTGFillItem(LOTGFillData *data) - : LOTPaintDataItem(data->isStatic()), mData(data) -{ -} - -void LOTGFillItem::updateContent(int frameNo) -{ - mAlpha = mData->opacity(frameNo); - mData->update(mGradient, frameNo); - mGradient->mMatrix = static_cast(parent())->matrix(); - mFillRule = mData->fillRule(); -} - -void LOTGFillItem::updateRenderNode() -{ - mGradient->setAlpha(mAlpha * parentAlpha()); - mDrawable.setBrush(VBrush(mGradient.get())); - mDrawable.setFillRule(mFillRule); -} - -LOTStrokeItem::LOTStrokeItem(LOTStrokeData *data) - : LOTPaintDataItem(data->isStatic()), mModel(data) -{ - mDashArraySize = 0; -} - -void LOTStrokeItem::updateContent(int frameNo) -{ - mColor = mModel.color(frameNo).toColor(mModel.opacity(frameNo)); - mWidth = mModel.strokeWidth(frameNo); - if (mModel.hasDashInfo()) { - mDashArraySize = mModel.getDashInfo(frameNo, mDashArray); - } -} - -static float getScale(const VMatrix &matrix) -{ - constexpr float SQRT_2 = 1.41421; - VPointF p1(0, 0); - VPointF p2(SQRT_2, SQRT_2); - p1 = matrix.map(p1); - p2 = matrix.map(p2); - VPointF final = p2 - p1; - - return std::sqrt(final.x() * final.x() + final.y() * final.y()) / 2.0; -} - -void LOTStrokeItem::updateRenderNode() -{ - VColor color = mColor; - - color.setAlpha(color.a * parentAlpha()); - VBrush brush(color); - mDrawable.setBrush(brush); - float scale = - getScale(static_cast(parent())->matrix()); - mDrawable.setStrokeInfo(mModel.capStyle(), mModel.joinStyle(), - mModel.meterLimit(), mWidth * scale); - if (mDashArraySize) { - for (int i = 0; i < mDashArraySize; i++) mDashArray[i] *= scale; - - /* AE draw the dash even if dash value is 0 */ - if (vCompare(mDashArray[0], 0.0f)) mDashArray[0] = 0.1; - - mDrawable.setDashInfo(mDashArray, mDashArraySize); - } -} - -LOTGStrokeItem::LOTGStrokeItem(LOTGStrokeData *data) - : LOTPaintDataItem(data->isStatic()), mData(data) -{ - mDashArraySize = 0; -} - -void LOTGStrokeItem::updateContent(int frameNo) -{ - mAlpha = mData->opacity(frameNo); - mData->update(mGradient, frameNo); - mGradient->mMatrix = static_cast(parent())->matrix(); - mCap = mData->capStyle(); - mJoin = mData->joinStyle(); - mMiterLimit = mData->meterLimit(); - mWidth = mData->width(frameNo); - if (mData->hasDashInfo()) { - mDashArraySize = mData->getDashInfo(frameNo, mDashArray); - } -} - -void LOTGStrokeItem::updateRenderNode() -{ - float scale = getScale(mGradient->mMatrix); - mGradient->setAlpha(mAlpha * parentAlpha()); - mDrawable.setBrush(VBrush(mGradient.get())); - mDrawable.setStrokeInfo(mCap, mJoin, mMiterLimit, mWidth * scale); - if (mDashArraySize) { - for (int i = 0; i < mDashArraySize; i++) mDashArray[i] *= scale; - mDrawable.setDashInfo(mDashArray, mDashArraySize); - } -} - -LOTTrimItem::LOTTrimItem(LOTTrimData *data) - : LOTContentItem(ContentType::Trim), mData(data) -{ -} - -void LOTTrimItem::update(int frameNo, const VMatrix & /*parentMatrix*/, - float /*parentAlpha*/, const DirtyFlag & /*flag*/) -{ - mDirty = false; - - if (mCache.mFrameNo == frameNo) return; - - LOTTrimData::Segment segment = mData->segment(frameNo); - - if (!(vCompare(mCache.mSegment.start, segment.start) && - vCompare(mCache.mSegment.end, segment.end))) { - mDirty = true; - mCache.mSegment = segment; - } - mCache.mFrameNo = frameNo; -} - -void LOTTrimItem::update() -{ - // when both path and trim are not dirty - if (!(mDirty || pathDirty())) return; - - if (vCompare(mCache.mSegment.start, mCache.mSegment.end)) { - for (auto &i : mPathItems) { - i->updatePath(VPath()); - } - return; - } - - if (vCompare(std::fabs(mCache.mSegment.start - mCache.mSegment.end), 1)) { - for (auto &i : mPathItems) { - i->updatePath(i->localPath()); - } - return; - } - - if (mData->type() == LOTTrimData::TrimType::Simultaneously) { - for (auto &i : mPathItems) { - VPathMesure pm; - pm.setStart(mCache.mSegment.start); - pm.setEnd(mCache.mSegment.end); - i->updatePath(pm.trim(i->localPath())); - } - } else { // LOTTrimData::TrimType::Individually - float totalLength = 0.0; - for (auto &i : mPathItems) { - totalLength += i->localPath().length(); - } - float start = totalLength * mCache.mSegment.start; - float end = totalLength * mCache.mSegment.end; - - if (start < end) { - float curLen = 0.0; - for (auto &i : mPathItems) { - if (curLen > end) { - // update with empty path. - i->updatePath(VPath()); - continue; - } - float len = i->localPath().length(); - - if (curLen < start && curLen + len < start) { - curLen += len; - // update with empty path. - i->updatePath(VPath()); - continue; - } else if (start <= curLen && end >= curLen + len) { - // inside segment - curLen += len; - continue; - } else { - float local_start = start > curLen ? start - curLen : 0; - local_start /= len; - float local_end = curLen + len < end ? len : end - curLen; - local_end /= len; - VPathMesure pm; - pm.setStart(local_start); - pm.setEnd(local_end); - VPath p = pm.trim(i->localPath()); - i->updatePath(p); - curLen += len; - } - } - } - } -} - -void LOTTrimItem::addPathItems(std::vector &list, - int startOffset) -{ - std::copy(list.begin() + startOffset, list.end(), - back_inserter(mPathItems)); -} - -LOTRepeaterItem::LOTRepeaterItem(LOTRepeaterData *data) : mRepeaterData(data) -{ - assert(mRepeaterData->content()); - - mCopies = mRepeaterData->maxCopies(); - - for (int i = 0; i < mCopies; i++) { - auto content = - std::make_unique(mRepeaterData->content()); - content->setParent(this); - mContents.push_back(std::move(content)); - } -} - -void LOTRepeaterItem::update(int frameNo, const VMatrix &parentMatrix, - float parentAlpha, const DirtyFlag &flag) -{ - DirtyFlag newFlag = flag; - - float copies = mRepeaterData->copies(frameNo); - int visibleCopies = int(copies); - - if (visibleCopies == 0) { - mHidden = true; - return; - } else { - mHidden = false; - } - - if (!mRepeaterData->isStatic()) newFlag |= DirtyFlagBit::Matrix; - - float offset = mRepeaterData->offset(frameNo); - float startOpacity = mRepeaterData->mTransform.startOpacity(frameNo); - float endOpacity = mRepeaterData->mTransform.endOpacity(frameNo); - - newFlag |= DirtyFlagBit::Alpha; - - for (int i = 0; i < mCopies; ++i) { - float newAlpha = - parentAlpha * lerp(startOpacity, endOpacity, i / copies); - - // hide rest of the copies , @TODO find a better solution. - if (i >= visibleCopies) newAlpha = 0; - - VMatrix result = mRepeaterData->mTransform.matrix(frameNo, i + offset) * - parentMatrix; - mContents[i]->update(frameNo, result, newAlpha, newFlag); - } -} - -void LOTRepeaterItem::renderList(std::vector &list) -{ - if (mHidden) return; - return LOTContentGroupItem::renderList(list); -} - -static void updateGStops(LOTNode *n, const VGradient *grad) -{ - if (grad->mStops.size() != n->mGradient.stopCount) { - if (n->mGradient.stopCount) free(n->mGradient.stopPtr); - n->mGradient.stopCount = grad->mStops.size(); - n->mGradient.stopPtr = (LOTGradientStop *)malloc( - n->mGradient.stopCount * sizeof(LOTGradientStop)); - } - - LOTGradientStop *ptr = n->mGradient.stopPtr; - for (const auto &i : grad->mStops) { - ptr->pos = i.first; - ptr->a = i.second.alpha() * grad->alpha(); - ptr->r = i.second.red(); - ptr->g = i.second.green(); - ptr->b = i.second.blue(); - ptr++; - } -} - -void LOTDrawable::sync() -{ - if (!mCNode) { - mCNode = std::make_unique(); - mCNode->mGradient.stopPtr = nullptr; - mCNode->mGradient.stopCount = 0; - } - - mCNode->mFlag = ChangeFlagNone; - if (mFlag & DirtyState::None) return; - - if (mFlag & DirtyState::Path) { - if (mStroke.mDash.size()) { - VDasher dasher(mStroke.mDash.data(), mStroke.mDash.size()); - mPath = dasher.dashed(mPath); - } - const std::vector &elm = mPath.elements(); - const std::vector & pts = mPath.points(); - const float *ptPtr = reinterpret_cast(pts.data()); - const char * elmPtr = reinterpret_cast(elm.data()); - mCNode->mPath.elmPtr = elmPtr; - mCNode->mPath.elmCount = elm.size(); - mCNode->mPath.ptPtr = ptPtr; - mCNode->mPath.ptCount = 2 * pts.size(); - mCNode->mFlag |= ChangeFlagPath; - } - - if (mStroke.enable) { - mCNode->mStroke.width = mStroke.width; - mCNode->mStroke.meterLimit = mStroke.meterLimit; - mCNode->mStroke.enable = 1; - - switch (mStroke.cap) { - case CapStyle::Flat: - mCNode->mStroke.cap = LOTCapStyle::CapFlat; - break; - case CapStyle::Square: - mCNode->mStroke.cap = LOTCapStyle::CapSquare; - break; - case CapStyle::Round: - mCNode->mStroke.cap = LOTCapStyle::CapRound; - break; - } - - switch (mStroke.join) { - case JoinStyle::Miter: - mCNode->mStroke.join = LOTJoinStyle::JoinMiter; - break; - case JoinStyle::Bevel: - mCNode->mStroke.join = LOTJoinStyle::JoinBevel; - break; - case JoinStyle::Round: - mCNode->mStroke.join = LOTJoinStyle::JoinRound; - break; - default: - mCNode->mStroke.join = LOTJoinStyle::JoinMiter; - break; - } - } else { - mCNode->mStroke.enable = 0; - } - - switch (mFillRule) { - case FillRule::EvenOdd: - mCNode->mFillRule = LOTFillRule::FillEvenOdd; - break; - default: - mCNode->mFillRule = LOTFillRule::FillWinding; - break; - } - - switch (mBrush.type()) { - case VBrush::Type::Solid: - mCNode->mBrushType = LOTBrushType::BrushSolid; - mCNode->mColor.r = mBrush.mColor.r; - mCNode->mColor.g = mBrush.mColor.g; - mCNode->mColor.b = mBrush.mColor.b; - mCNode->mColor.a = mBrush.mColor.a; - break; - case VBrush::Type::LinearGradient: { - mCNode->mBrushType = LOTBrushType::BrushGradient; - mCNode->mGradient.type = LOTGradientType::GradientLinear; - VPointF s = mBrush.mGradient->mMatrix.map( - {mBrush.mGradient->linear.x1, mBrush.mGradient->linear.y1}); - VPointF e = mBrush.mGradient->mMatrix.map( - {mBrush.mGradient->linear.x2, mBrush.mGradient->linear.y2}); - mCNode->mGradient.start.x = s.x(); - mCNode->mGradient.start.y = s.y(); - mCNode->mGradient.end.x = e.x(); - mCNode->mGradient.end.y = e.y(); - updateGStops(mCNode.get(), mBrush.mGradient); - break; - } - case VBrush::Type::RadialGradient: { - mCNode->mBrushType = LOTBrushType::BrushGradient; - mCNode->mGradient.type = LOTGradientType::GradientRadial; - VPointF c = mBrush.mGradient->mMatrix.map( - {mBrush.mGradient->radial.cx, mBrush.mGradient->radial.cy}); - VPointF f = mBrush.mGradient->mMatrix.map( - {mBrush.mGradient->radial.fx, mBrush.mGradient->radial.fy}); - mCNode->mGradient.center.x = c.x(); - mCNode->mGradient.center.y = c.y(); - mCNode->mGradient.focal.x = f.x(); - mCNode->mGradient.focal.y = f.y(); - - float scale = getScale(mBrush.mGradient->mMatrix); - mCNode->mGradient.cradius = mBrush.mGradient->radial.cradius * scale; - mCNode->mGradient.fradius = mBrush.mGradient->radial.fradius * scale; - updateGStops(mCNode.get(), mBrush.mGradient); - break; - } - default: - break; - } -} diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/lottieitem.h b/submodules/RLottie/Sources/rlottie/src/lottie/lottieitem.h deleted file mode 100644 index 407994dee9..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/lottieitem.h +++ /dev/null @@ -1,525 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef LOTTIEITEM_H -#define LOTTIEITEM_H - -#include -#include - -#include"lottieproxymodel.h" -#include"vmatrix.h" -#include"vpath.h" -#include"vpoint.h" -#include"vpathmesure.h" -#include"rlottiecommon.h" -#include"rlottie.h" -#include"vpainter.h" -#include"vdrawable.h" -#include"lottiekeypath.h" - -V_USE_NAMESPACE - -enum class DirtyFlagBit : uchar -{ - None = 0x00, - Matrix = 0x01, - Alpha = 0x02, - All = (Matrix | Alpha) -}; - -class LOTLayerItem; -class LOTMaskItem; -class VDrawable; - -class LOTDrawable : public VDrawable -{ -public: - void sync(); -public: - std::unique_ptr mCNode{nullptr}; - - ~LOTDrawable() { - if (mCNode && mCNode->mGradient.stopPtr) - free(mCNode->mGradient.stopPtr); - } -}; - -class LOTCompItem -{ -public: - explicit LOTCompItem(LOTModel *model); - static std::unique_ptr createLayerItem(LOTLayerData *layerData); - bool update(int frameNo); - void resize(const VSize &size); - VSize size() const; - void buildRenderTree(); - const LOTLayerNode * renderTree()const; - bool render(const rlottie::Surface &surface); - void setValue(const std::string &keypath, LOTVariant &value); -private: - VMatrix mScaleMatrix; - VSize mViewSize; - LOTCompositionData *mCompData; - std::unique_ptr mRootLayer; - bool mUpdateViewBox; - int mCurFrameNo; - std::vector mRenderList; - std::vector mDrawableList; -}; - -class LOTLayerMaskItem; - -class LOTClipperItem -{ -public: - explicit LOTClipperItem(VSize size): mSize(size){} - void update(const VMatrix &matrix); - VRle rle(); -public: - VSize mSize; - VPath mPath; - VRasterizer mRasterizer; -}; - -typedef vFlag DirtyFlag; - -class LOTLayerItem -{ -public: - virtual ~LOTLayerItem() = default; - LOTLayerItem& operator=(LOTLayerItem&&) noexcept = delete; - LOTLayerItem(LOTLayerData *layerData); - int id() const {return mLayerData->id();} - int parentId() const {return mLayerData->parentId();} - void setParentLayer(LOTLayerItem *parent){mParentLayer = parent;} - void setComplexContent(bool value) { mComplexContent = value;} - bool complexContent() const {return mComplexContent;} - virtual void update(int frameNo, const VMatrix &parentMatrix, float parentAlpha); - VMatrix matrix(int frameNo) const; - virtual void renderList(std::vector &){} - virtual void render(VPainter *painter, const VRle &mask, const VRle &matteRle); - bool hasMatte() { if (mLayerData->mMatteType == MatteType::None) return false; return true; } - MatteType matteType() const { return mLayerData->mMatteType;} - bool visible() const; - virtual void buildLayerNode(); - LOTLayerNode * layerNode() const {return mLayerCNode.get();} - const std::string & name() const {return mLayerData->name();} - virtual bool resolveKeyPath(LOTKeyPath &keyPath, uint depth, LOTVariant &value); - VBitmap& bitmap() {return mRenderBuffer;} -protected: - virtual void updateContent() = 0; - inline VMatrix combinedMatrix() const {return mCombinedMatrix;} - inline int frameNo() const {return mFrameNo;} - inline float combinedAlpha() const {return mCombinedAlpha;} - inline bool isStatic() const {return mLayerData->isStatic();} - float opacity(int frameNo) const {return mLayerData->opacity(frameNo);} - inline DirtyFlag flag() const {return mDirtyFlag;} -protected: - std::vector mMasksCNode; - std::unique_ptr mLayerCNode; - std::vector mDrawableList; - std::unique_ptr mLayerMask; - LOTLayerData *mLayerData{nullptr}; - LOTLayerItem *mParentLayer{nullptr}; - VMatrix mCombinedMatrix; - VBitmap mRenderBuffer; - float mCombinedAlpha{0.0}; - int mFrameNo{-1}; - DirtyFlag mDirtyFlag{DirtyFlagBit::All}; - bool mComplexContent{false}; -}; - -class LOTCompLayerItem: public LOTLayerItem -{ -public: - explicit LOTCompLayerItem(LOTLayerData *layerData); - void renderList(std::vector &list)final; - void render(VPainter *painter, const VRle &mask, const VRle &matteRle) final; - void buildLayerNode() final; - bool resolveKeyPath(LOTKeyPath &keyPath, uint depth, LOTVariant &value) override; -protected: - void updateContent() final; -private: - void renderHelper(VPainter *painter, const VRle &mask, const VRle &matteRle); - void renderMatteLayer(VPainter *painter, const VRle &inheritMask, const VRle &matteRle, - LOTLayerItem *layer, LOTLayerItem *src); -private: - std::vector mLayersCNode; - std::vector> mLayers; - std::unique_ptr mClipper; -}; - -class LOTSolidLayerItem: public LOTLayerItem -{ -public: - explicit LOTSolidLayerItem(LOTLayerData *layerData); - void buildLayerNode() final; -protected: - void updateContent() final; - void renderList(std::vector &list) final; -private: - std::vector mCNodeList; - LOTDrawable mRenderNode; -}; - -class LOTContentItem; -class LOTContentGroupItem; -class LOTShapeLayerItem: public LOTLayerItem -{ -public: - explicit LOTShapeLayerItem(LOTLayerData *layerData); - static std::unique_ptr createContentItem(LOTData *contentData); - void renderList(std::vector &list)final; - void buildLayerNode() final; - bool resolveKeyPath(LOTKeyPath &keyPath, uint depth, LOTVariant &value) override; -protected: - void updateContent() final; - std::vector mCNodeList; - std::unique_ptr mRoot; -}; - -class LOTNullLayerItem: public LOTLayerItem -{ -public: - explicit LOTNullLayerItem(LOTLayerData *layerData); -protected: - void updateContent() final; -}; - -class LOTImageLayerItem: public LOTLayerItem -{ -public: - explicit LOTImageLayerItem(LOTLayerData *layerData); - void buildLayerNode() final; -protected: - void updateContent() final; - void renderList(std::vector &list) final; -private: - std::vector mCNodeList; - LOTDrawable mRenderNode; -}; - -class LOTMaskItem -{ -public: - explicit LOTMaskItem(LOTMaskData *data): mData(data){} - void update(int frameNo, const VMatrix &parentMatrix, float parentAlpha, const DirtyFlag &flag); - LOTMaskData::Mode maskMode() const { return mData->mMode;} - VRle rle(); -public: - LOTMaskData *mData; - float mCombinedAlpha{0}; - VMatrix mCombinedMatrix; - VPath mLocalPath; - VPath mFinalPath; - VRasterizer mRasterizer; - bool mRasterRequest{false}; -}; - -/* - * Handels mask property of a layer item - */ -class LOTLayerMaskItem -{ -public: - explicit LOTLayerMaskItem(LOTLayerData *layerData); - void update(int frameNo, const VMatrix &parentMatrix, float parentAlpha, const DirtyFlag &flag); - bool isStatic() const {return mStatic;} - VRle maskRle(const VRect &clipRect); -public: - std::vector mMasks; - VRle mRle; - bool mStatic{true}; - bool mDirty{true}; -}; - -class LOTPathDataItem; -class LOTPaintDataItem; -class LOTTrimItem; - -enum class ContentType -{ - Unknown, - Group, - Path, - Paint, - Trim -}; - -class LOTContentItem -{ -public: - virtual ~LOTContentItem() = default; - LOTContentItem& operator=(LOTContentItem&&) noexcept = delete; - LOTContentItem(ContentType type=ContentType::Unknown):mType(type) {} - virtual void update(int frameNo, const VMatrix &parentMatrix, float parentAlpha, const DirtyFlag &flag) = 0; - virtual void renderList(std::vector &){} - void setParent(LOTContentItem *parent) {mParent = parent;} - LOTContentItem *parent() const {return mParent;} - virtual bool resolveKeyPath(LOTKeyPath &, uint, LOTVariant &) {return false;} - ContentType type() const {return mType;} -private: - ContentType mType{ContentType::Unknown}; - LOTContentItem *mParent{nullptr}; -}; - -class LOTContentGroupItem: public LOTContentItem -{ -public: - explicit LOTContentGroupItem(LOTGroupData *data=nullptr); - void addChildren(LOTGroupData *data); - void update(int frameNo, const VMatrix &parentMatrix, float parentAlpha, const DirtyFlag &flag) override; - void applyTrim(); - void processTrimItems(std::vector &list); - void processPaintItems(std::vector &list); - void renderList(std::vector &list) override; - const VMatrix & matrix() const { return mMatrix;} - const std::string & name() const - { - static const std::string TAG = "__"; - return mData ? mData->name() : TAG; - } - bool resolveKeyPath(LOTKeyPath &keyPath, uint depth, LOTVariant &value) override; -protected: - LOTGroupData *mData{nullptr}; - std::vector> mContents; - VMatrix mMatrix; -}; - -class LOTPathDataItem : public LOTContentItem -{ -public: - LOTPathDataItem(bool staticPath): LOTContentItem(ContentType::Path), mStaticPath(staticPath){} - void update(int frameNo, const VMatrix &parentMatrix, float parentAlpha, const DirtyFlag &flag) final; - bool dirty() const {return mPathChanged;} - const VPath &localPath() const {return mTemp;} - const VPath &finalPath(); - void updatePath(const VPath &path) {mTemp = path; mPathChanged = true; mNeedUpdate = true;} - bool staticPath() const { return mStaticPath; } -protected: - virtual void updatePath(VPath& path, int frameNo) = 0; - virtual bool hasChanged(int prevFrame, int curFrame) = 0; -private: - bool hasChanged(int frameNo) { - int prevFrame = mFrameNo; - mFrameNo = frameNo; - if (prevFrame == -1) return true; - if (mStaticPath || - (prevFrame == frameNo)) return false; - return hasChanged(prevFrame, frameNo); - } - VPath mLocalPath; - VPath mTemp; - VPath mFinalPath; - int mFrameNo{-1}; - bool mPathChanged{true}; - bool mNeedUpdate{true}; - bool mStaticPath; -}; - -class LOTRectItem: public LOTPathDataItem -{ -public: - explicit LOTRectItem(LOTRectData *data); -protected: - void updatePath(VPath& path, int frameNo) final; - LOTRectData *mData; - - bool hasChanged(int prevFrame, int curFrame) final { - return (mData->mPos.changed(prevFrame, curFrame) || - mData->mSize.changed(prevFrame, curFrame) || - mData->mRound.changed(prevFrame, curFrame)) ? true : false; - } -}; - -class LOTEllipseItem: public LOTPathDataItem -{ -public: - explicit LOTEllipseItem(LOTEllipseData *data); -private: - void updatePath(VPath& path, int frameNo) final; - LOTEllipseData *mData; - bool hasChanged(int prevFrame, int curFrame) final { - return (mData->mPos.changed(prevFrame, curFrame) || - mData->mSize.changed(prevFrame, curFrame)) ? true : false; - } -}; - -class LOTShapeItem: public LOTPathDataItem -{ -public: - explicit LOTShapeItem(LOTShapeData *data); -private: - void updatePath(VPath& path, int frameNo) final; - LOTShapeData *mData; - bool hasChanged(int prevFrame, int curFrame) final { - return mData->mShape.changed(prevFrame, curFrame); - } -}; - -class LOTPolystarItem: public LOTPathDataItem -{ -public: - explicit LOTPolystarItem(LOTPolystarData *data); -private: - void updatePath(VPath& path, int frameNo) final; - LOTPolystarData *mData; - - bool hasChanged(int prevFrame, int curFrame) final { - return (mData->mPos.changed(prevFrame, curFrame) || - mData->mPointCount.changed(prevFrame, curFrame) || - mData->mInnerRadius.changed(prevFrame, curFrame) || - mData->mOuterRadius.changed(prevFrame, curFrame) || - mData->mInnerRoundness.changed(prevFrame, curFrame) || - mData->mOuterRoundness.changed(prevFrame, curFrame) || - mData->mRotation.changed(prevFrame, curFrame)) ? true : false; - } -}; - - - -class LOTPaintDataItem : public LOTContentItem -{ -public: - LOTPaintDataItem(bool staticContent); - void addPathItems(std::vector &list, int startOffset); - void update(int frameNo, const VMatrix &parentMatrix, float parentAlpha, const DirtyFlag &flag) override; - void renderList(std::vector &list) final; -protected: - virtual void updateContent(int frameNo) = 0; - virtual void updateRenderNode(); - inline float parentAlpha() const {return mParentAlpha;} -protected: - std::vector mPathItems; - LOTDrawable mDrawable; - VPath mPath; - float mParentAlpha{1.0f}; - int mFrameNo{-1}; - DirtyFlag mFlag; - bool mStaticContent; - bool mRenderNodeUpdate{true}; -}; - -class LOTFillItem : public LOTPaintDataItem -{ -public: - explicit LOTFillItem(LOTFillData *data); -protected: - void updateContent(int frameNo) final; - void updateRenderNode() final; - bool resolveKeyPath(LOTKeyPath &keyPath, uint depth, LOTVariant &value) final; -private: - LOTProxyModel mModel; - VColor mColor; -}; - -class LOTGFillItem : public LOTPaintDataItem -{ -public: - explicit LOTGFillItem(LOTGFillData *data); -protected: - void updateContent(int frameNo) final; - void updateRenderNode() final; -private: - LOTGFillData *mData; - std::unique_ptr mGradient; - float mAlpha{1.0}; - FillRule mFillRule{FillRule::Winding}; -}; - -class LOTStrokeItem : public LOTPaintDataItem -{ -public: - explicit LOTStrokeItem(LOTStrokeData *data); -protected: - void updateContent(int frameNo) final; - void updateRenderNode() final; - bool resolveKeyPath(LOTKeyPath &keyPath, uint depth, LOTVariant &value) final; -private: - LOTProxyModel mModel; - VColor mColor; - float mWidth{0}; - float mDashArray[6]; - int mDashArraySize{0}; -}; - -class LOTGStrokeItem : public LOTPaintDataItem -{ -public: - explicit LOTGStrokeItem(LOTGStrokeData *data); -protected: - void updateContent(int frameNo) final; - void updateRenderNode() final; -private: - LOTGStrokeData *mData; - std::unique_ptr mGradient; - CapStyle mCap{CapStyle::Flat}; - JoinStyle mJoin{JoinStyle::Miter}; - float mMiterLimit{0}; - VColor mColor; - float mAlpha{1.0}; - float mWidth{0}; - float mDashArray[6]; - int mDashArraySize{0}; -}; - - -// Trim Item - -class LOTTrimItem : public LOTContentItem -{ -public: - LOTTrimItem(LOTTrimData *data); - void update(int frameNo, const VMatrix &parentMatrix, float parentAlpha, const DirtyFlag &flag) final; - void update(); - void addPathItems(std::vector &list, int startOffset); -private: - bool pathDirty() const { - for (auto &i : mPathItems) { - if (i->dirty()) - return true; - } - return false; - } - struct Cache { - int mFrameNo{-1}; - LOTTrimData::Segment mSegment{}; - }; - Cache mCache; - std::vector mPathItems; - LOTTrimData *mData; - bool mDirty{true}; -}; - -class LOTRepeaterItem : public LOTContentGroupItem -{ -public: - explicit LOTRepeaterItem(LOTRepeaterData *data); - void update(int frameNo, const VMatrix &parentMatrix, float parentAlpha, const DirtyFlag &flag) final; - void renderList(std::vector &list) final; -private: - LOTRepeaterData *mRepeaterData; - bool mHidden{false}; - int mCopies{0}; -}; - - -#endif // LOTTIEITEM_H - - diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/lottiekeypath.cpp b/submodules/RLottie/Sources/rlottie/src/lottie/lottiekeypath.cpp deleted file mode 100644 index e8b6c6aefc..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/lottiekeypath.cpp +++ /dev/null @@ -1,86 +0,0 @@ -#include "lottiekeypath.h" - -#include - -LOTKeyPath::LOTKeyPath(const std::string &keyPath) -{ - std::stringstream ss(keyPath); - std::string item; - - while (getline(ss, item, '.')) { - mKeys.push_back(item); - } -} - -bool LOTKeyPath::matches(const std::string &key, uint depth) -{ - if (skip(key)) { - // This is an object we programatically create. - return true; - } - if (depth > size()) { - return false; - } - if ((mKeys[depth] == key) || (mKeys[depth] == "*") || - (mKeys[depth] == "**")) { - return true; - } - return false; -} - -uint LOTKeyPath::nextDepth(const std::string key, uint depth) -{ - if (skip(key)) { - // If it's a container then we added programatically and it isn't a part - // of the keypath. - return depth; - } - if (mKeys[depth] != "**") { - // If it's not a globstar then it is part of the keypath. - return depth + 1; - } - if (depth == size()) { - // The last key is a globstar. - return depth; - } - if (mKeys[depth + 1] == key) { - // We are a globstar and the next key is our current key so consume - // both. - return depth + 2; - } - return depth; -} - -bool LOTKeyPath::fullyResolvesTo(const std::string key, uint depth) -{ - if (depth > mKeys.size()) { - return false; - } - - bool isLastDepth = (depth == size()); - - if (!isGlobstar(depth)) { - bool matches = (mKeys[depth] == key) || isGlob(depth); - return (isLastDepth || (depth == size() - 1 && endsWithGlobstar())) && - matches; - } - - bool isGlobstarButNextKeyMatches = !isLastDepth && mKeys[depth + 1] == key; - if (isGlobstarButNextKeyMatches) { - return depth == size() - 1 || - (depth == size() - 2 && endsWithGlobstar()); - } - - if (isLastDepth) { - return true; - } - - if (depth + 1 < size()) { - // We are a globstar but there is more than 1 key after the globstar we - // we can't fully match. - return false; - } - // Return whether the next key (which we now know is the last one) is the - // same as the current key. - return mKeys[depth + 1] == key; -} diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/lottiekeypath.h b/submodules/RLottie/Sources/rlottie/src/lottie/lottiekeypath.h deleted file mode 100644 index 527788f73c..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/lottiekeypath.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef LOTTIEKEYPATH_H -#define LOTTIEKEYPATH_H - -#include "vglobal.h" -#include -#include - -class LOTKeyPath{ -public: - LOTKeyPath(const std::string &keyPath); - bool matches(const std::string &key, uint depth); - uint nextDepth(const std::string key, uint depth); - bool fullyResolvesTo(const std::string key, uint depth); - - bool propagate(const std::string key, uint depth) { - return skip(key) ? true : (depth < size()) || (mKeys[depth] == "**"); - } - bool skip(const std::string &key) const { return key == "__";} -private: - bool isGlobstar(uint depth) const {return mKeys[depth] == "**";} - bool isGlob(uint depth) const {return mKeys[depth] == "*";} - bool endsWithGlobstar() const { return mKeys.back() == "**"; } - uint size() const {return mKeys.size() - 1;} -private: - std::vector mKeys; -}; - -#endif //LOTTIEKEYPATH_H diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/lottieloader.cpp b/submodules/RLottie/Sources/rlottie/src/lottie/lottieloader.cpp deleted file mode 100644 index d9383f6dd4..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/lottieloader.cpp +++ /dev/null @@ -1,127 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "lottieloader.h" -#include "lottieparser.h" - -#include -#include -#include -using namespace std; - -#ifdef LOTTIE_CACHE_SUPPORT - -class LottieFileCache { -public: - static LottieFileCache &instance() - { - static LottieFileCache CACHE; - return CACHE; - } - std::shared_ptr find(const std::string &key) - { - auto search = mHash.find(key); - if (search != mHash.end()) { - return search->second; - } else { - return nullptr; - } - } - void add(const std::string &key, std::shared_ptr value) - { - mHash[key] = std::move(value); - } - -private: - LottieFileCache() = default; - - std::unordered_map> mHash; -}; - -#else - -class LottieFileCache { -public: - static LottieFileCache &instance() - { - static LottieFileCache CACHE; - return CACHE; - } - std::shared_ptr find(const std::string &) { return nullptr; } - void add(const std::string &, std::shared_ptr) {} -}; - -#endif - -static std::string dirname(const std::string &path) -{ - const char *ptr = strrchr(path.c_str(), '/'); - int len = int(ptr + 1 - path.c_str()); // +1 to include '/' - return std::string(path, 0, len); -} - -bool LottieLoader::load(const std::string &path) -{ - mModel = LottieFileCache::instance().find(path); - if (mModel) return true; - - std::ifstream f; - f.open(path); - - if (!f.is_open()) { - vCritical << "failed to open file = " << path.c_str(); - return false; - } else { - std::stringstream buf; - buf << f.rdbuf(); - - LottieParser parser(const_cast(buf.str().data()), - dirname(path).c_str()); - mModel = parser.model(); - - if (!mModel) return false; - - LottieFileCache::instance().add(path, mModel); - - f.close(); - } - - return true; -} - -bool LottieLoader::loadFromData(std::string &&jsonData, const std::string &key, - const std::string &resourcePath) -{ - mModel = LottieFileCache::instance().find(key); - if (mModel) return true; - - LottieParser parser(const_cast(jsonData.c_str()), - resourcePath.c_str()); - mModel = parser.model(); - - if (!mModel) return false; - - LottieFileCache::instance().add(key, mModel); - - return true; -} - -std::shared_ptr LottieLoader::model() -{ - return mModel; -} diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/lottieloader.h b/submodules/RLottie/Sources/rlottie/src/lottie/lottieloader.h deleted file mode 100644 index d7228bbce1..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/lottieloader.h +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef LOTTIELOADER_H -#define LOTTIELOADER_H - -#include -#include - -class LOTModel; -class LottieLoader -{ -public: - bool load(const std::string &filePath); - bool loadFromData(std::string &&jsonData, const std::string &key, const std::string &resourcePath); - std::shared_ptr model(); -private: - std::shared_ptr mModel; -}; - -#endif // LOTTIELOADER_H - - diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/lottiemodel.cpp b/submodules/RLottie/Sources/rlottie/src/lottie/lottiemodel.cpp deleted file mode 100644 index e51941cadb..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/lottiemodel.cpp +++ /dev/null @@ -1,324 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "lottiemodel.h" -#include -#include -#include -#include "vimageloader.h" -#include "vline.h" - -/* - * We process the iterator objects in the children list - * by iterating from back to front. when we find a repeater object - * we remove the objects from satrt till repeater object and then place - * under a new shape group object which we add it as children to the repeater - * object. - * Then we visit the childrens of the newly created shape group object to - * process the remaining repeater object(when children list contains more than - * one repeater). - * - */ -class LottieRepeaterProcesser { -public: - void visitChildren(LOTGroupData *obj) - { - for (auto i = obj->mChildren.rbegin(); i != obj->mChildren.rend(); - ++i) { - auto child = (*i).get(); - if (child->type() == LOTData::Type::Repeater) { - LOTRepeaterData *repeater = - static_cast(child); - // check if this repeater is already processed - // can happen if the layer is an asset and referenced by - // multiple layer. - if (repeater->content()) continue; - - repeater->setContent(std::make_shared()); - LOTShapeGroupData *content = repeater->content(); - // 1. increment the reverse iterator to point to the - // object before the repeater - ++i; - // 2. move all the children till repater to the group - std::move(obj->mChildren.begin(), i.base(), - back_inserter(content->mChildren)); - // 3. erase the objects from the original children list - obj->mChildren.erase(obj->mChildren.begin(), i.base()); - - // 5. visit newly created group to process remaining repeater - // object. - visitChildren(content); - // 6. exit the loop as the current iterators are invalid - break; - } else { - visit(child); - } - } - } - - void visit(LOTData *obj) - { - switch (obj->mType) { - case LOTData::Type::Repeater: - case LOTData::Type::ShapeGroup: - case LOTData::Type::Layer: { - visitChildren(static_cast(obj)); - break; - } - default: - break; - } - } -}; - -void LOTCompositionData::processRepeaterObjects() -{ - LottieRepeaterProcesser visitor; - visitor.visit(mRootLayer.get()); -} - -VMatrix LOTRepeaterTransform::matrix(int frameNo, float multiplier) const -{ - VPointF scale = mScale.value(frameNo) / 100.f; - scale.setX(std::pow(scale.x(), multiplier)); - scale.setY(std::pow(scale.y(), multiplier)); - VMatrix m; - m.translate(mPosition.value(frameNo) * multiplier) - .translate(mAnchor.value(frameNo)) - .scale(scale) - .rotate(mRotation.value(frameNo) * multiplier) - .translate(-mAnchor.value(frameNo)); - - return m; -} - -VMatrix TransformData::matrix(int frameNo, bool autoOrient) const -{ - VMatrix m; - VPointF position; - if (mSeparate) { - position.setX(mX.value(frameNo)); - position.setY(mY.value(frameNo)); - } else { - position = mPosition.value(frameNo); - } - - float angle = autoOrient ? mPosition.angle(frameNo) : 0; - if (m3D) { - m.translate(position) - .rotate(m3D->mRz.value(frameNo) + angle) - .rotate(m3D->mRy.value(frameNo), VMatrix::Axis::Y) - .rotate(m3D->mRx.value(frameNo), VMatrix::Axis::X) - .scale(mScale.value(frameNo) / 100.f) - .translate(-mAnchor.value(frameNo)); - } else { - m.translate(position) - .rotate(mRotation.value(frameNo) + angle) - .scale(mScale.value(frameNo) / 100.f) - .translate(-mAnchor.value(frameNo)); - } - return m; -} - -int LOTStrokeData::getDashInfo(int frameNo, float *array) const -{ - if (!mDash.mDashCount) return 0; - // odd case - if (mDash.mDashCount % 2) { - for (int i = 0; i < mDash.mDashCount; i++) { - array[i] = mDash.mDashArray[i].value(frameNo); - } - return mDash.mDashCount; - } else { // even case when last gap info is not provided. - int i; - for (i = 0; i < mDash.mDashCount - 1; i++) { - array[i] = mDash.mDashArray[i].value(frameNo); - } - array[i] = array[i - 1]; - array[i + 1] = mDash.mDashArray[i].value(frameNo); - return mDash.mDashCount + 1; - } -} - -int LOTGStrokeData::getDashInfo(int frameNo, float *array) const -{ - if (!mDash.mDashCount) return 0; - // odd case - if (mDash.mDashCount % 2) { - for (int i = 0; i < mDash.mDashCount; i++) { - array[i] = mDash.mDashArray[i].value(frameNo); - } - return mDash.mDashCount; - } else { // even case when last gap info is not provided. - int i; - for (i = 0; i < mDash.mDashCount - 1; i++) { - array[i] = mDash.mDashArray[i].value(frameNo); - } - array[i] = array[i - 1]; - array[i + 1] = mDash.mDashArray[i].value(frameNo); - return mDash.mDashCount + 1; - } -} - -/** - * Both the color stops and opacity stops are in the same array. - * There are {@link #colorPoints} colors sequentially as: - * [ - * ..., - * position, - * red, - * green, - * blue, - * ... - * ] - * - * The remainder of the array is the opacity stops sequentially as: - * [ - * ..., - * position, - * opacity, - * ... - * ] - */ -void LOTGradient::populate(VGradientStops &stops, int frameNo) -{ - LottieGradient gradData = mGradient.value(frameNo); - int size = gradData.mGradient.size(); - float * ptr = gradData.mGradient.data(); - int colorPoints = mColorPoints; - if (colorPoints == -1) { // for legacy bodymovin (ref: lottie-android) - colorPoints = size / 4; - } - int opacityArraySize = size - colorPoints * 4; - float *opacityPtr = ptr + (colorPoints * 4); - stops.clear(); - int j = 0; - for (int i = 0; i < colorPoints; i++) { - float colorStop = ptr[0]; - LottieColor color = LottieColor(ptr[1], ptr[2], ptr[3]); - if (opacityArraySize) { - if (j == opacityArraySize) { - // already reached the end - float stop1 = opacityPtr[j - 4]; - float op1 = opacityPtr[j - 3]; - float stop2 = opacityPtr[j - 2]; - float op2 = opacityPtr[j - 1]; - if (colorStop > stop2) { - stops.push_back( - std::make_pair(colorStop, color.toColor(op2))); - } else { - float progress = (colorStop - stop1) / (stop2 - stop1); - float opacity = op1 + progress * (op2 - op1); - stops.push_back( - std::make_pair(colorStop, color.toColor(opacity))); - } - continue; - } - for (; j < opacityArraySize; j += 2) { - float opacityStop = opacityPtr[j]; - if (opacityStop < colorStop) { - // add a color using opacity stop - stops.push_back(std::make_pair( - opacityStop, color.toColor(opacityPtr[j + 1]))); - continue; - } - // add a color using color stop - if (j == 0) { - stops.push_back(std::make_pair( - colorStop, color.toColor(opacityPtr[j + 1]))); - } else { - float progress = (colorStop - opacityPtr[j - 2]) / - (opacityPtr[j] - opacityPtr[j - 2]); - float opacity = - opacityPtr[j - 1] + - progress * (opacityPtr[j + 1] - opacityPtr[j - 1]); - stops.push_back( - std::make_pair(colorStop, color.toColor(opacity))); - } - j += 2; - break; - } - } else { - stops.push_back(std::make_pair(colorStop, color.toColor())); - } - ptr += 4; - } -} - -void LOTGradient::update(std::unique_ptr &grad, int frameNo) -{ - bool init = false; - if (!grad) { - if (mGradientType == 1) - grad = std::make_unique(0, 0, 0, 0); - else - grad = std::make_unique(0, 0, 0, 0, 0, 0); - grad->mSpread = VGradient::Spread::Pad; - init = true; - } - - if (!mGradient.isStatic() || init) { - populate(grad->mStops, frameNo); - } - - if (mGradientType == 1) { // linear gradient - VPointF start = mStartPoint.value(frameNo); - VPointF end = mEndPoint.value(frameNo); - grad->linear.x1 = start.x(); - grad->linear.y1 = start.y(); - grad->linear.x2 = end.x(); - grad->linear.y2 = end.y(); - } else { // radial gradient - VPointF start = mStartPoint.value(frameNo); - VPointF end = mEndPoint.value(frameNo); - grad->radial.cx = start.x(); - grad->radial.cy = start.y(); - grad->radial.cradius = - VLine::length(start.x(), start.y(), end.x(), end.y()); - /* - * Focal point is the point lives in highlight length distance from - * center along the line (start, end) and rotated by highlight angle. - * below calculation first finds the quadrant(angle) on which the point - * lives by applying inverse slope formula then adds the rotation angle - * to find the final angle. then point is retrived using circle equation - * of center, angle and distance. - */ - float progress = mHighlightLength.value(frameNo) / 100.0f; - if (vCompare(progress, 1.0f)) progress = 0.99f; - float startAngle = VLine(start, end).angle(); - float highlightAngle = mHighlightAngle.value(frameNo); - float angle = ((startAngle + highlightAngle) * M_PI) / 180.0f; - grad->radial.fx = - grad->radial.cx + std::cos(angle) * progress * grad->radial.cradius; - grad->radial.fy = - grad->radial.cy + std::sin(angle) * progress * grad->radial.cradius; - // Lottie dosen't have any focal radius concept. - grad->radial.fradius = 0; - } -} - -void LOTAsset::loadImageData(std::string data) -{ - if (!data.empty()) - mBitmap = VImageLoader::instance().load(data.c_str(), data.length()); -} - -void LOTAsset::loadImagePath(std::string path) -{ - if (!path.empty()) mBitmap = VImageLoader::instance().load(path.c_str()); -} diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/lottiemodel.h b/submodules/RLottie/Sources/rlottie/src/lottie/lottiemodel.h deleted file mode 100644 index 2353cb7a05..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/lottiemodel.h +++ /dev/null @@ -1,972 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef LOTModel_H -#define LOTModel_H - -#include -#include -#include -#include -#include"vpoint.h" -#include"vrect.h" -#include"vinterpolator.h" -#include"vmatrix.h" -#include"vbezier.h" -#include"vbrush.h" -#include"vpath.h" - -V_USE_NAMESPACE - -class LOTCompositionData; -class LOTLayerData; -class LOTTransformData; -class LOTShapeGroupData; -class LOTShapeData; -class LOTRectData; -class LOTEllipseData; -class LOTTrimData; -class LOTRepeaterData; -class LOTFillData; -class LOTStrokeData; -class LOTGroupData; -class LOTGFillData; -class LOTGStrokeData; -class LottieShapeData; -class LOTPolystarData; -class LOTMaskData; - -enum class MatteType -{ - None = 0, - Alpha = 1, - AlphaInv, - Luma, - LumaInv -}; - -enum class LayerType { - Precomp = 0, - Solid = 1, - Image = 2, - Null = 3, - Shape = 4, - Text = 5 -}; - -class LottieColor -{ -public: - LottieColor() = default; - LottieColor(float red, float green , float blue):r(red), g(green),b(blue){} - VColor toColor(float a=1){ return VColor((255 * r), (255 * g), (255 * b), (255 * a));} - friend inline LottieColor operator+(const LottieColor &c1, const LottieColor &c2); - friend inline LottieColor operator-(const LottieColor &c1, const LottieColor &c2); -public: - float r{1}; - float g{1}; - float b{1}; -}; - -inline LottieColor operator-(const LottieColor &c1, const LottieColor &c2) -{ - return LottieColor(c1.r - c2.r, c1.g - c2.g, c1.b - c2.b); -} -inline LottieColor operator+(const LottieColor &c1, const LottieColor &c2) -{ - return LottieColor(c1.r + c2.r, c1.g + c2.g, c1.b + c2.b); -} - -inline const LottieColor operator*(const LottieColor &c, float m) -{ return LottieColor(c.r*m, c.g*m, c.b*m); } - -inline const LottieColor operator*(float m, const LottieColor &c) -{ return LottieColor(c.r*m, c.g*m, c.b*m); } - -class LottieShapeData -{ -public: - void reserve(int size) { - mPoints.reserve(mPoints.size() + size); - } - void toPath(VPath& path) { - path.reset(); - - if (mPoints.empty()) return; - - int size = mPoints.size(); - const VPointF *points = mPoints.data(); - /* reserve exact memory requirement at once - * ptSize = size + 1(size + close) - * elmSize = size/3 cubic + 1 move + 1 close - */ - path.reserve(size + 1 , size/3 + 2); - path.moveTo(points[0]); - for (int i = 1 ; i < size; i+=3) { - path.cubicTo(points[i], points[i+1], points[i+2]); - } - if (mClosed) - path.close(); - } -public: - std::vector mPoints; - bool mClosed = false; /* "c" */ -}; - - - -template -inline T lerp(const T& start, const T& end, float t) -{ - return start + t * (end - start); -} - -inline LottieShapeData lerp(const LottieShapeData& start, const LottieShapeData& end, float t) -{ - // Usal case both start and end path has same size - // In case its different then truncate the larger path and do the interpolation. - LottieShapeData result; - auto size = std::min(start.mPoints.size(), end.mPoints.size()); - result.reserve(size); - for (unsigned int i = 0 ; i < size; i++) { - result.mPoints.push_back(start.mPoints[i] + t * (end.mPoints[i] - start.mPoints[i])); - } - return result; -} - -template -struct LOTKeyFrameValue -{ - T mStartValue; - T mEndValue; - T value(float t) const { - return lerp(mStartValue, mEndValue, t); - } - float angle(float ) const { return 0;} -}; - -template <> -struct LOTKeyFrameValue -{ - VPointF mStartValue; - VPointF mEndValue; - VPointF mInTangent; - VPointF mOutTangent; - bool mPathKeyFrame = false; - - VPointF value(float t) const { - if (mPathKeyFrame) { - /* - * position along the path calcualated - * using bezier at progress length (t * bezlen) - */ - VBezier b = VBezier::fromPoints(mStartValue, mStartValue + mOutTangent, - mEndValue + mInTangent, mEndValue); - return b.pointAt(b.tAtLength(t * b.length())); - - } else { - return lerp(mStartValue, mEndValue, t); - } - } - - float angle(float t) const { - if (mPathKeyFrame) { - VBezier b = VBezier::fromPoints(mStartValue, mStartValue + mOutTangent, - mEndValue + mInTangent, mEndValue); - return b.angleAt(b.tAtLength(t * b.length())); - } - return 0; - } -}; - - -template -class LOTKeyFrame -{ -public: - float progress(int frameNo) const { - return mInterpolator ? mInterpolator->value((frameNo - mStartFrame) / (mEndFrame - mStartFrame)) : 0; - } - T value(int frameNo) const { - return mValue.value(progress(frameNo)); - } - float angle(int frameNo) const { - return mValue.angle(progress(frameNo)); - } - -public: - float mStartFrame{0}; - float mEndFrame{0}; - std::shared_ptr mInterpolator; - LOTKeyFrameValue mValue; -}; - -template -class LOTAnimInfo -{ -public: - T value(int frameNo) const { - if (mKeyFrames.front().mStartFrame >= frameNo) - return mKeyFrames.front().mValue.mStartValue; - if(mKeyFrames.back().mEndFrame <= frameNo) - return mKeyFrames.back().mValue.mEndValue; - - for(const auto &keyFrame : mKeyFrames) { - if (frameNo >= keyFrame.mStartFrame && frameNo < keyFrame.mEndFrame) - return keyFrame.value(frameNo); - } - return T(); - } - - float angle(int frameNo) const { - if ((mKeyFrames.front().mStartFrame >= frameNo) || - (mKeyFrames.back().mEndFrame <= frameNo) ) - return 0; - - for(const auto &keyFrame : mKeyFrames) { - if (frameNo >= keyFrame.mStartFrame && frameNo < keyFrame.mEndFrame) - return keyFrame.angle(frameNo); - } - return 0; - } - - bool changed(int prevFrame, int curFrame) const { - int first = mKeyFrames.front().mStartFrame; - int last = mKeyFrames.back().mEndFrame; - - if ((first > prevFrame && first > curFrame) || - (last < prevFrame && last < curFrame)) { - return false; - } - - return true; - } - -public: - std::vector> mKeyFrames; -}; - -template -class LOTAnimatable -{ -public: - LOTAnimatable() { construct(impl.mValue, {}); } - explicit LOTAnimatable(T value) { construct(impl.mValue, std::move(value)); } - - const LOTAnimInfo& animation() const {return *(impl.mAnimInfo.get());} - const T& value() const {return impl.mValue;} - - LOTAnimInfo& animation() - { - if (mStatic) { - destroy(); - construct(impl.mAnimInfo, std::make_unique>()); - mStatic = false; - } - return *(impl.mAnimInfo.get()); - } - - T& value() - { - assert(mStatic); - return impl.mValue; - } - - // delete special member functions - LOTAnimatable(const LOTAnimatable &) = delete; - LOTAnimatable(LOTAnimatable &&) = delete; - LOTAnimatable& operator=(const LOTAnimatable&) = delete; - LOTAnimatable& operator=(LOTAnimatable&&) = delete; - - ~LOTAnimatable() {destroy();} - - bool isStatic() const {return mStatic;} - - T value(int frameNo) const { - return isStatic() ? value() : animation().value(frameNo); - } - - float angle(int frameNo) const { - return isStatic() ? 0 : animation().angle(frameNo); - } - - bool changed(int prevFrame, int curFrame) const { - return isStatic() ? false : animation().changed(prevFrame, curFrame); - } -private: - template - void construct(Tp& member, Tp&& val) - { - new (&member) Tp(std::move(val)); - } - - void destroy() { - if (mStatic) { - impl.mValue.~T(); - } else { - using std::unique_ptr; - impl.mAnimInfo.~unique_ptr>(); - } - } - union details { - std::unique_ptr> mAnimInfo; - T mValue; - details(){} - ~details(){} - }impl; - bool mStatic{true}; -}; - -enum class LottieBlendMode -{ - Normal = 0, - Multiply = 1, - Screen = 2, - OverLay = 3 -}; - -class LOTDataVisitor; -class LOTData -{ -public: - enum class Type :short { - Composition = 1, - Layer, - ShapeGroup, - Transform, - Fill, - Stroke, - GFill, - GStroke, - Rect, - Ellipse, - Shape, - Polystar, - Trim, - Repeater - }; - explicit LOTData(LOTData::Type type): mType(type){} - inline LOTData::Type type() const {return mType;} - bool isStatic() const{return mStatic;} - void setStatic(bool value) {mStatic = value;} - bool hidden() const {return mHidden;} - const std::string& name() const{ return mName;} -public: - std::string mName; - bool mStatic{true}; - bool mHidden{false}; - LOTData::Type mType; -}; - -class LOTGroupData: public LOTData -{ -public: - explicit LOTGroupData(LOTData::Type type):LOTData(type){} -public: - std::vector> mChildren; - std::shared_ptr mTransform; -}; - -class LOTShapeGroupData : public LOTGroupData -{ -public: - LOTShapeGroupData():LOTGroupData(LOTData::Type::ShapeGroup){} -}; - -class LOTLayerData; -struct LOTAsset -{ - enum class Type : unsigned char{ - Precomp, - Image, - Char - }; - bool isStatic() const {return mStatic;} - void setStatic(bool value) {mStatic = value;} - VBitmap bitmap() const {return mBitmap;} - void loadImageData(std::string data); - void loadImagePath(std::string Path); - Type mAssetType{Type::Precomp}; - bool mStatic{true}; - std::string mRefId; // ref id - std::vector> mLayers; - // image asset data - int mWidth{0}; - int mHeight{0}; - VBitmap mBitmap; -}; - -struct LOT3DData -{ - LOTAnimatable mRx{0}; - LOTAnimatable mRy{0}; - LOTAnimatable mRz{0}; -}; - -struct TransformData -{ - VMatrix matrix(int frameNo, bool autoOrient = false) const; - float opacity(int frameNo) const { return mOpacity.value(frameNo)/100.0f; } - bool isStatic() const { return mStatic;} - std::unique_ptr m3D; - LOTAnimatable mRotation{0}; /* "r" */ - LOTAnimatable mScale{{100, 100}}; /* "s" */ - LOTAnimatable mPosition; /* "p" */ - LOTAnimatable mX{0}; - LOTAnimatable mY{0}; - LOTAnimatable mAnchor; /* "a" */ - LOTAnimatable mOpacity{100}; /* "o" */ - bool mSeparate{false}; - bool mStatic{false}; -}; - -class LOTTransformData : public LOTData -{ -public: - LOTTransformData():LOTData(LOTData::Type::Transform){} - void set(std::unique_ptr data) - { - setStatic(data->isStatic()); - if (isStatic()) { - new (&impl.mStaticData) static_data(data->matrix(0), data->opacity(0)); - } else { - new (&impl.mData) std::unique_ptr(std::move(data)); - } - } - VMatrix matrix(int frameNo, bool autoOrient = false) const - { - if (isStatic()) return impl.mStaticData.mMatrix; - return impl.mData->matrix(frameNo, autoOrient); - } - float opacity(int frameNo) const - { - if (isStatic()) return impl.mStaticData.mOpacity; - return impl.mData->opacity(frameNo); - } - - LOTTransformData& operator=(LOTTransformData&&) = delete; - ~LOTTransformData() {destroy();} - -private: - void destroy() { - if (isStatic()) { - impl.mStaticData.~static_data(); - } else { - using std::unique_ptr; - impl.mData.~unique_ptr(); - } - } - struct static_data { - static_data(VMatrix &&m, float opacity): - mOpacity(opacity), mMatrix(std::move(m)){} - float mOpacity; - VMatrix mMatrix; - }; - union details { - std::unique_ptr mData; - static_data mStaticData; - details(){} - ~details(){} - }impl; -}; - -class LOTLayerData : public LOTGroupData -{ -public: - LOTLayerData():LOTGroupData(LOTData::Type::Layer){} - bool hasPathOperator() const noexcept {return mHasPathOperator;} - bool hasGradient() const noexcept {return mHasGradient;} - bool hasMask() const noexcept {return mHasMask;} - bool hasRepeater() const noexcept {return mHasRepeater;} - int id() const noexcept{ return mId;} - int parentId() const noexcept{ return mParentId;} - int inFrame() const noexcept{return mInFrame;} - int outFrame() const noexcept{return mOutFrame;} - int startFrame() const noexcept{return mStartFrame;} - int solidWidth() const noexcept{return mSolidLayer.mWidth;} - int solidHeight() const noexcept{return mSolidLayer.mHeight;} - LottieColor solidColor() const noexcept{return mSolidLayer.mColor;} - bool autoOrient() const noexcept{return mAutoOrient;} - int timeRemap(int frameNo) const; - VSize layerSize() const {return mLayerSize;} - bool precompLayer() const {return mLayerType == LayerType::Precomp;} - VMatrix matrix(int frameNo) const - { - return mTransform ? mTransform->matrix(frameNo, autoOrient()) : VMatrix{}; - } - float opacity(int frameNo) const - { - return mTransform ? mTransform->opacity(frameNo) : 1.0f; - } -public: - struct SolidLayer { - int mWidth{0}; - int mHeight{0}; - LottieColor mColor; - }; - - MatteType mMatteType{MatteType::None}; - LayerType mLayerType{LayerType::Null}; //lottie layer type (solid/shape/precomp) - int mParentId{-1}; // Lottie the id of the parent in the composition - int mId{-1}; // Lottie the group id used for parenting. - long mInFrame{0}; - long mOutFrame{0}; - long mStartFrame{0}; - VSize mLayerSize; - LottieBlendMode mBlendMode{LottieBlendMode::Normal}; - float mTimeStreatch{1.0f}; - std::string mPreCompRefId; - LOTAnimatable mTimeRemap; /* "tm" */ - SolidLayer mSolidLayer; - bool mHasPathOperator{false}; - bool mHasMask{false}; - bool mHasRepeater{false}; - bool mHasGradient{false}; - bool mAutoOrient{false}; - std::vector> mMasks; - LOTCompositionData *mCompRef{nullptr}; - std::shared_ptr mAsset; -}; - -using LayerInfo = std::tuple; - -class LOTCompositionData : public LOTData -{ -public: - LOTCompositionData():LOTData(LOTData::Type::Composition){} - const std::vector &layerInfoList() const { return mLayerInfoList;} - double duration() const { - return frameDuration() / frameRate(); // in second - } - size_t frameAtPos(double pos) const { - if (pos < 0) pos = 0; - if (pos > 1) pos = 1; - return pos * frameDuration(); - } - long frameAtTime(double timeInSec) const { - return frameAtPos(timeInSec / duration()); - } - size_t totalFrame() const {return mEndFrame - mStartFrame;} - long frameDuration() const {return mEndFrame - mStartFrame -1;} - float frameRate() const {return mFrameRate;} - long startFrame() const {return mStartFrame;} - long endFrame() const {return mEndFrame;} - VSize size() const {return mSize;} - void processRepeaterObjects(); -public: - int mTgs; - std::string mVersion; - VSize mSize; - long mStartFrame{0}; - long mEndFrame{0}; - float mFrameRate{60}; - LottieBlendMode mBlendMode{LottieBlendMode::Normal}; - std::shared_ptr mRootLayer; - std::unordered_map> mAssets; - - std::vector mLayerInfoList; - -}; - -/** - * TimeRemap has the value in time domain(in sec) - * To get the proper mapping first we get the mapped time at the current frame Number - * then we need to convert mapped time to frame number using the composition time line - * Ex: at frame 10 the mappend time is 0.5(500 ms) which will be convert to frame number - * 30 if the frame rate is 60. or will result to frame number 15 if the frame rate is 30. - */ -inline int LOTLayerData::timeRemap(int frameNo) const -{ - /* - * only consider startFrame() when there is no timeRemap. - * when a layer has timeremap bodymovin updates the startFrame() - * of all child layer so we don't have to take care of it. - */ - frameNo = mTimeRemap.isStatic() ? frameNo - startFrame(): - mCompRef->frameAtTime(mTimeRemap.value(frameNo)); - /* Apply time streatch if it has any. - * Time streatch is just a factor by which the animation will speedup or slow - * down with respect to the overal animation. - * Time streach factor is already applied to the layers inFrame and outFrame. - * @TODO need to find out if timestreatch also affects the in and out frame of the - * child layers or not. */ - return frameNo / mTimeStreatch; -} - -class LOTFillData : public LOTData -{ -public: - LOTFillData():LOTData(LOTData::Type::Fill){} - LottieColor color(int frameNo) const {return mColor.value(frameNo);} - float opacity(int frameNo) const {return mOpacity.value(frameNo)/100.0;} - FillRule fillRule() const {return mFillRule;} -public: - FillRule mFillRule{FillRule::Winding}; /* "r" */ - LOTAnimatable mColor; /* "c" */ - LOTAnimatable mOpacity{100}; /* "o" */ - bool mEnabled{true}; /* "fillEnabled" */ -}; - -struct LOTDashProperty -{ - LOTAnimatable mDashArray[5]; /* "d" "g" "o"*/ - int mDashCount{0}; - bool mStatic{true}; -}; - -class LOTStrokeData : public LOTData -{ -public: - LOTStrokeData():LOTData(LOTData::Type::Stroke){} - LottieColor color(int frameNo) const {return mColor.value(frameNo);} - float opacity(int frameNo) const {return mOpacity.value(frameNo)/100.0;} - float strokeWidth(int frameNo) const {return mWidth.value(frameNo);} - CapStyle capStyle() const {return mCapStyle;} - JoinStyle joinStyle() const {return mJoinStyle;} - float meterLimit() const{return mMeterLimit;} - bool hasDashInfo() const { return !(mDash.mDashCount == 0);} - int getDashInfo(int frameNo, float *array) const; -public: - LOTAnimatable mColor; /* "c" */ - LOTAnimatable mOpacity{100}; /* "o" */ - LOTAnimatable mWidth{0}; /* "w" */ - CapStyle mCapStyle{CapStyle::Flat}; /* "lc" */ - JoinStyle mJoinStyle{JoinStyle::Miter}; /* "lj" */ - float mMeterLimit{0}; /* "ml" */ - LOTDashProperty mDash; - bool mEnabled{true}; /* "fillEnabled" */ -}; - -class LottieGradient -{ -public: - friend inline LottieGradient operator+(const LottieGradient &g1, const LottieGradient &g2); - friend inline LottieGradient operator-(const LottieGradient &g1, const LottieGradient &g2); - friend inline LottieGradient operator*(float m, const LottieGradient &g); -public: - std::vector mGradient; -}; - -inline LottieGradient operator+(const LottieGradient &g1, const LottieGradient &g2) -{ - if (g1.mGradient.size() != g2.mGradient.size()) - return g1; - - LottieGradient newG; - newG.mGradient = g1.mGradient; - - auto g2It = g2.mGradient.begin(); - for(auto &i : newG.mGradient) { - i = i + *g2It; - g2It++; - } - - return newG; -} - -inline LottieGradient operator-(const LottieGradient &g1, const LottieGradient &g2) -{ - if (g1.mGradient.size() != g2.mGradient.size()) - return g1; - LottieGradient newG; - newG.mGradient = g1.mGradient; - - auto g2It = g2.mGradient.begin(); - for(auto &i : newG.mGradient) { - i = i - *g2It; - g2It++; - } - - return newG; -} - -inline LottieGradient operator*(float m, const LottieGradient &g) -{ - LottieGradient newG; - newG.mGradient = g.mGradient; - - for(auto &i : newG.mGradient) { - i = i * m; - } - return newG; -} - - - -class LOTGradient : public LOTData -{ -public: - explicit LOTGradient(LOTData::Type type):LOTData(type){} - inline float opacity(int frameNo) const {return mOpacity.value(frameNo)/100.0;} - void update(std::unique_ptr &grad, int frameNo); - -private: - void populate(VGradientStops &stops, int frameNo); -public: - int mGradientType{1}; /* "t" Linear=1 , Radial = 2*/ - LOTAnimatable mStartPoint; /* "s" */ - LOTAnimatable mEndPoint; /* "e" */ - LOTAnimatable mHighlightLength{0}; /* "h" */ - LOTAnimatable mHighlightAngle{0}; /* "a" */ - LOTAnimatable mOpacity{0}; /* "o" */ - LOTAnimatable mGradient; /* "g" */ - int mColorPoints{-1}; - bool mEnabled{true}; /* "fillEnabled" */ -}; - -class LOTGFillData : public LOTGradient -{ -public: - LOTGFillData():LOTGradient(LOTData::Type::GFill){} - FillRule fillRule() const {return mFillRule;} -public: - FillRule mFillRule{FillRule::Winding}; /* "r" */ -}; - -class LOTGStrokeData : public LOTGradient -{ -public: - LOTGStrokeData():LOTGradient(LOTData::Type::GStroke){} - float width(int frameNo) const {return mWidth.value(frameNo);} - CapStyle capStyle() const {return mCapStyle;} - JoinStyle joinStyle() const {return mJoinStyle;} - float meterLimit() const{return mMeterLimit;} - bool hasDashInfo() const { return !(mDash.mDashCount == 0);} - int getDashInfo(int frameNo, float *array) const; -public: - LOTAnimatable mWidth; /* "w" */ - CapStyle mCapStyle{CapStyle::Flat}; /* "lc" */ - JoinStyle mJoinStyle{JoinStyle::Miter}; /* "lj" */ - float mMeterLimit{0}; /* "ml" */ - LOTDashProperty mDash; -}; - -class LOTPath : public LOTData -{ -public: - explicit LOTPath(LOTData::Type type):LOTData(type){} - VPath::Direction direction() { if (mDirection == 3) return VPath::Direction::CCW; - else return VPath::Direction::CW;} -public: - int mDirection{1}; -}; - -class LOTShapeData : public LOTPath -{ -public: - LOTShapeData():LOTPath(LOTData::Type::Shape){} - void process(); -public: - LOTAnimatable mShape; -}; - -class LOTMaskData -{ -public: - enum class Mode { - None, - Add, - Substarct, - Intersect, - Difference - }; - float opacity(int frameNo) const {return mOpacity.value(frameNo)/100.0;} - bool isStatic() const {return mIsStatic;} -public: - LOTAnimatable mShape; - LOTAnimatable mOpacity; - bool mInv{false}; - bool mIsStatic{true}; - LOTMaskData::Mode mMode; -}; - -class LOTRectData : public LOTPath -{ -public: - LOTRectData():LOTPath(LOTData::Type::Rect){} -public: - LOTAnimatable mPos; - LOTAnimatable mSize; - LOTAnimatable mRound{0}; -}; - -class LOTEllipseData : public LOTPath -{ -public: - LOTEllipseData():LOTPath(LOTData::Type::Ellipse){} -public: - LOTAnimatable mPos; - LOTAnimatable mSize; -}; - -class LOTPolystarData : public LOTPath -{ -public: - enum class PolyType { - Star = 1, - Polygon = 2 - }; - LOTPolystarData():LOTPath(LOTData::Type::Polystar){} -public: - LOTPolystarData::PolyType mType{PolyType::Polygon}; - LOTAnimatable mPos; - LOTAnimatable mPointCount{0}; - LOTAnimatable mInnerRadius{0}; - LOTAnimatable mOuterRadius{0}; - LOTAnimatable mInnerRoundness{0}; - LOTAnimatable mOuterRoundness{0}; - LOTAnimatable mRotation{0}; -}; - -class LOTTrimData : public LOTData -{ -public: - struct Segment { - float start{0}; - float end{0}; - Segment() {} - Segment(float s, float e):start(s), end(e) {} - }; - enum class TrimType { - Simultaneously, - Individually - }; - LOTTrimData():LOTData(LOTData::Type::Trim){} - /* - * if start > end vector trims the path as a loop ( 2 segment) - * if start < end vector trims the path without loop ( 1 segment). - * if no offset then there is no loop. - */ - Segment segment(int frameNo) const { - float start = mStart.value(frameNo)/100.0f; - float end = mEnd.value(frameNo)/100.0f; - float offset = fmod(mOffset.value(frameNo), 360.0f)/ 360.0f; - - float diff = fabs(start - end); - if (vCompare(diff, 0.0f)) return Segment(0, 0); - if (vCompare(diff, 1.0f)) return Segment(0, 1); - - if (offset > 0) { - start += offset; - end += offset; - if (start <= 1 && end <=1) { - return noloop(start, end); - } else if (start > 1 && end > 1) { - return noloop(start - 1, end - 1); - } else { - if (start > 1) return loop(start - 1 , end); - else return loop(start , end - 1); - } - } else { - start += offset; - end += offset; - if (start >= 0 && end >= 0) { - return noloop(start, end); - } else if (start < 0 && end < 0) { - return noloop(1 + start, 1 + end); - } else { - if (start < 0) return loop(1 + start, end); - else return loop(start , 1 + end); - } - } - } - LOTTrimData::TrimType type() const {return mTrimType;} -private: - Segment noloop(float start, float end) const{ - assert(start >= 0); - assert(end >= 0); - Segment s; - s.start = std::min(start, end); - s.end = std::max(start, end); - return s; - } - Segment loop(float start, float end) const{ - assert(start >= 0); - assert(end >= 0); - Segment s; - s.start = std::max(start, end); - s.end = std::min(start, end); - return s; - } -public: - LOTAnimatable mStart{0}; - LOTAnimatable mEnd{0}; - LOTAnimatable mOffset{0}; - LOTTrimData::TrimType mTrimType{TrimType::Simultaneously}; -}; - -class LOTRepeaterTransform -{ -public: - VMatrix matrix(int frameNo, float multiplier) const; - float startOpacity(int frameNo) const { return mStartOpacity.value(frameNo)/100;} - float endOpacity(int frameNo) const { return mEndOpacity.value(frameNo)/100;} - bool isStatic() const - { - return mRotation.isStatic() && - mScale.isStatic() && - mPosition.isStatic() && - mAnchor.isStatic() && - mStartOpacity.isStatic() && - mEndOpacity.isStatic(); - } -public: - LOTAnimatable mRotation{0}; /* "r" */ - LOTAnimatable mScale{{100, 100}}; /* "s" */ - LOTAnimatable mPosition; /* "p" */ - LOTAnimatable mAnchor; /* "a" */ - LOTAnimatable mStartOpacity{100}; /* "so" */ - LOTAnimatable mEndOpacity{100}; /* "eo" */ -}; - -class LOTRepeaterData : public LOTData -{ -public: - LOTRepeaterData():LOTData(LOTData::Type::Repeater){} - LOTShapeGroupData *content() const { return mContent ? mContent.get() : nullptr; } - void setContent(std::shared_ptr content) {mContent = std::move(content);} - int maxCopies() const { return int(mMaxCopies);} - float copies(int frameNo) const {return mCopies.value(frameNo);} - float offset(int frameNo) const {return mOffset.value(frameNo);} -public: - std::shared_ptr mContent{nullptr}; - LOTRepeaterTransform mTransform; - LOTAnimatable mCopies{0}; - LOTAnimatable mOffset{0}; - float mMaxCopies{0.0}; -}; - -class LOTModel -{ -public: - bool isTgs() const {return mRoot->mTgs == 1;} - bool isStatic() const {return mRoot->isStatic();} - double duration() const {return mRoot->duration();} - size_t totalFrame() const {return mRoot->totalFrame();} - size_t frameDuration() const {return mRoot->frameDuration();} - size_t frameRate() const {return mRoot->frameRate();} - size_t startFrame() const {return mRoot->startFrame();} - size_t endFrame() const {return mRoot->endFrame();} - size_t frameAtPos(double pos) const {return mRoot->frameAtPos(pos);} - const std::vector &layerInfoList() const { return mRoot->layerInfoList();} -public: - std::shared_ptr mRoot; -}; - -#endif // LOTModel_H diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/lottieparser.cpp b/submodules/RLottie/Sources/rlottie/src/lottie/lottieparser.cpp deleted file mode 100644 index 9def4aa8a0..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/lottieparser.cpp +++ /dev/null @@ -1,2265 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "lottieparser.h" - -//#define DEBUG_PARSER - -//#define DEBUG_PRINT_TREE - -// This parser implements JSON token-by-token parsing with an API that is -// more direct; we don't have to create handler object and -// callbacks. Instead, we retrieve values from the JSON stream by calling -// GetInt(), GetDouble(), GetString() and GetBool(), traverse into structures -// by calling EnterObject() and EnterArray(), and skip over unwanted data by -// calling SkipValue(). As we know the lottie file structure this way will be -// the efficient way of parsing the file. -// -// If you aren't sure of what's next in the JSON data, you can use PeekType() -// and PeekValue() to look ahead to the next object before reading it. -// -// If you call the wrong retrieval method--e.g. GetInt when the next JSON token -// is not an int, EnterObject or EnterArray when there isn't actually an object -// or array to read--the stream parsing will end immediately and no more data -// will be delivered. -// -// After calling EnterObject, you retrieve keys via NextObjectKey() and values -// via the normal getters. When NextObjectKey() returns null, you have exited -// the object, or you can call SkipObject() to skip to the end of the object -// immediately. If you fetch the entire object (i.e. NextObjectKey() returned -// null), you should not call SkipObject(). -// -// After calling EnterArray(), you must alternate between calling -// NextArrayValue() to see if the array has more data, and then retrieving -// values via the normal getters. You can call SkipArray() to skip to the end of -// the array immediately. If you fetch the entire array (i.e. NextArrayValue() -// returned null), you should not call SkipArray(). -// -// This parser uses in-situ strings, so the JSON buffer will be altered during -// the parse. - -#include - -#include "lottiemodel.h" -#include "rapidjson/document.h" - -RAPIDJSON_DIAG_PUSH -#ifdef __GNUC__ -RAPIDJSON_DIAG_OFF(effc++) -#endif - -using namespace rapidjson; - -class LookaheadParserHandler { -public: - bool Null() - { - st_ = kHasNull; - v_.SetNull(); - return true; - } - bool Bool(bool b) - { - st_ = kHasBool; - v_.SetBool(b); - return true; - } - bool Int(int i) - { - st_ = kHasNumber; - v_.SetInt(i); - return true; - } - bool Uint(unsigned u) - { - st_ = kHasNumber; - v_.SetUint(u); - return true; - } - bool Int64(int64_t i) - { - st_ = kHasNumber; - v_.SetInt64(i); - return true; - } - bool Uint64(uint64_t u) - { - st_ = kHasNumber; - v_.SetUint64(u); - return true; - } - bool Double(double d) - { - st_ = kHasNumber; - v_.SetDouble(d); - return true; - } - bool RawNumber(const char *, SizeType, bool) { return false; } - bool String(const char *str, SizeType length, bool) - { - st_ = kHasString; - v_.SetString(str, length); - return true; - } - bool StartObject() - { - st_ = kEnteringObject; - return true; - } - bool Key(const char *str, SizeType length, bool) - { - st_ = kHasKey; - v_.SetString(str, length); - return true; - } - bool EndObject(SizeType) - { - st_ = kExitingObject; - return true; - } - bool StartArray() - { - st_ = kEnteringArray; - return true; - } - bool EndArray(SizeType) - { - st_ = kExitingArray; - return true; - } - -protected: - explicit LookaheadParserHandler(char *str); - void ParseNext(); - -protected: - enum LookaheadParsingState { - kInit, - kError, - kHasNull, - kHasBool, - kHasNumber, - kHasString, - kHasKey, - kEnteringObject, - kExitingObject, - kEnteringArray, - kExitingArray - }; - - Value v_; - LookaheadParsingState st_; - Reader r_; - InsituStringStream ss_; - - static const int parseFlags = kParseDefaultFlags | kParseInsituFlag; -}; - -class LottieParserImpl : protected LookaheadParserHandler { -public: - LottieParserImpl(char *str, const char *dir_path) - : LookaheadParserHandler(str), mDirPath(dir_path) - { - } - -public: - bool EnterObject(); - bool EnterArray(); - const char *NextObjectKey(); - bool NextArrayValue(); - int GetInt(); - double GetDouble(); - const char *GetString(); - bool GetBool(); - void GetNull(); - - void SkipObject(); - void SkipArray(); - void SkipValue(); - Value *PeekValue(); - int PeekType(); // returns a rapidjson::Type, or -1 for no value (at end of - // object/array) - - bool IsValid() { return st_ != kError; } - - void Skip(const char *key); - LottieBlendMode getBlendMode(); - CapStyle getLineCap(); - JoinStyle getLineJoin(); - FillRule getFillRule(); - LOTTrimData::TrimType getTrimType(); - MatteType getMatteType(); - LayerType getLayerType(); - - std::shared_ptr composition() const - { - return mComposition; - } - void parseComposition(); - void parseAssets(LOTCompositionData *comp); - std::shared_ptr parseAsset(); - void parseLayers(LOTCompositionData *comp); - std::shared_ptr parseLayer(bool record = false); - void parseMaskProperty(LOTLayerData *layer); - void parseShapesAttr(LOTLayerData *layer); - void parseObject(LOTGroupData *parent); - std::shared_ptr parseMaskObject(); - std::shared_ptr parseObjectTypeAttr(); - std::shared_ptr parseGroupObject(); - std::shared_ptr parseRectObject(); - std::shared_ptr parseEllipseObject(); - std::shared_ptr parseShapeObject(); - std::shared_ptr parsePolystarObject(); - - std::shared_ptr parseTransformObject(bool ddd = false); - std::shared_ptr parseFillObject(); - std::shared_ptr parseGFillObject(); - std::shared_ptr parseStrokeObject(); - std::shared_ptr parseGStrokeObject(); - std::shared_ptr parseTrimObject(); - std::shared_ptr parseReapeaterObject(); - - void parseGradientProperty(LOTGradient *gradient, const char *key); - - VPointF parseInperpolatorPoint(); - - void getValue(VPointF &val); - void getValue(float &val); - void getValue(LottieColor &val); - void getValue(int &val); - void getValue(LottieShapeData &shape); - void getValue(LottieGradient &gradient); - void getValue(std::vector &v); - void getValue(LOTRepeaterTransform &); - - template - bool parseKeyFrameValue(const char *key, LOTKeyFrameValue &value); - template - void parseKeyFrame(LOTAnimInfo &obj); - template - void parseProperty(LOTAnimatable &obj); - template - void parsePropertyHelper(LOTAnimatable &obj); - - void parseShapeKeyFrame(LOTAnimInfo &obj); - void parseShapeProperty(LOTAnimatable &obj); - void parseDashProperty(LOTDashProperty &dash); - - std::shared_ptr interpolator(VPointF, VPointF, std::string); - - LottieColor toColor(const char *str); - - void resolveLayerRefs(); - -protected: - std::unordered_map> - mInterpolatorCache; - std::shared_ptr mComposition; - LOTCompositionData * compRef{nullptr}; - LOTLayerData * curLayerRef{nullptr}; - std::vector> mLayersToUpdate; - std::string mDirPath; - std::vector mLayerInfoList; - void SkipOut(int depth); -}; - -LookaheadParserHandler::LookaheadParserHandler(char *str) - : v_(), st_(kInit), r_(), ss_(str) -{ - r_.IterativeParseInit(); - ParseNext(); -} - -void LookaheadParserHandler::ParseNext() -{ - if (r_.HasParseError()) { - st_ = kError; - return; - } - - if (!r_.IterativeParseNext(ss_, *this)) { - vCritical << "Lottie file parsing error"; - RAPIDJSON_ASSERT(0); - } -} - -bool LottieParserImpl::EnterObject() -{ - if (st_ != kEnteringObject) { - st_ = kError; - RAPIDJSON_ASSERT(false); - return false; - } - - ParseNext(); - return true; -} - -bool LottieParserImpl::EnterArray() -{ - if (st_ != kEnteringArray) { - st_ = kError; - RAPIDJSON_ASSERT(false); - return false; - } - - ParseNext(); - return true; -} - -const char *LottieParserImpl::NextObjectKey() -{ - if (st_ == kHasKey) { - const char *result = v_.GetString(); - ParseNext(); - return result; - } - - /* SPECIAL CASE - * The parser works with a prdefined rule that it will be only - * while (NextObjectKey()) for each object but in case of our nested group - * object we can call multiple time NextObjectKey() while exiting the object - * so ignore those and don't put parser in the error state. - * */ - if (st_ == kExitingArray || st_ == kEnteringObject) { - // #ifdef DEBUG_PARSER - // vDebug<<"Object: Exiting nested loop"; - // #endif - return 0; - } - - if (st_ != kExitingObject) { - RAPIDJSON_ASSERT(false); - st_ = kError; - return 0; - } - - ParseNext(); - return 0; -} - -bool LottieParserImpl::NextArrayValue() -{ - if (st_ == kExitingArray) { - ParseNext(); - return false; - } - - /* SPECIAL CASE - * same as NextObjectKey() - */ - if (st_ == kExitingObject) { - // #ifdef DEBUG_PARSER - // vDebug<<"Array: Exiting nested loop"; - // #endif - return 0; - } - - if (st_ == kError || st_ == kHasKey) { - RAPIDJSON_ASSERT(false); - st_ = kError; - return false; - } - - return true; -} - -int LottieParserImpl::GetInt() -{ - if (st_ != kHasNumber || !v_.IsInt()) { - st_ = kError; - RAPIDJSON_ASSERT(false); - return 0; - } - - int result = v_.GetInt(); - ParseNext(); - return result; -} - -double LottieParserImpl::GetDouble() -{ - if (st_ != kHasNumber) { - st_ = kError; - RAPIDJSON_ASSERT(false); - return 0.; - } - - double result = v_.GetDouble(); - ParseNext(); - return result; -} - -bool LottieParserImpl::GetBool() -{ - if (st_ != kHasBool) { - st_ = kError; - RAPIDJSON_ASSERT(false); - return false; - } - - bool result = v_.GetBool(); - ParseNext(); - return result; -} - -void LottieParserImpl::GetNull() -{ - if (st_ != kHasNull) { - st_ = kError; - return; - } - - ParseNext(); -} - -const char *LottieParserImpl::GetString() -{ - if (st_ != kHasString) { - st_ = kError; - RAPIDJSON_ASSERT(false); - return 0; - } - - const char *result = v_.GetString(); - ParseNext(); - return result; -} - -void LottieParserImpl::SkipOut(int depth) -{ - do { - if (st_ == kEnteringArray || st_ == kEnteringObject) { - ++depth; - } else if (st_ == kExitingArray || st_ == kExitingObject) { - --depth; - } else if (st_ == kError) { - RAPIDJSON_ASSERT(false); - return; - } - - ParseNext(); - } while (depth > 0); -} - -void LottieParserImpl::SkipValue() -{ - SkipOut(0); -} - -void LottieParserImpl::SkipArray() -{ - SkipOut(1); -} - -void LottieParserImpl::SkipObject() -{ - SkipOut(1); -} - -Value *LottieParserImpl::PeekValue() -{ - if (st_ >= kHasNull && st_ <= kHasKey) { - return &v_; - } - - return 0; -} - -int LottieParserImpl::PeekType() -{ - if (st_ >= kHasNull && st_ <= kHasKey) { - return v_.GetType(); - } - - if (st_ == kEnteringArray) { - return kArrayType; - } - - if (st_ == kEnteringObject) { - return kObjectType; - } - - return -1; -} - -void LottieParserImpl::Skip(const char * /*key*/) -{ - if (PeekType() == kArrayType) { - EnterArray(); - SkipArray(); - } else if (PeekType() == kObjectType) { - EnterObject(); - SkipObject(); - } else { - SkipValue(); - } -} - -LottieBlendMode LottieParserImpl::getBlendMode() -{ - RAPIDJSON_ASSERT(PeekType() == kNumberType); - LottieBlendMode mode = LottieBlendMode::Normal; - - switch (GetInt()) { - case 1: - mode = LottieBlendMode::Multiply; - break; - case 2: - mode = LottieBlendMode::Screen; - break; - case 3: - mode = LottieBlendMode::OverLay; - break; - default: - break; - } - return mode; -} - -void LottieParserImpl::resolveLayerRefs() -{ - for (const auto &i : mLayersToUpdate) { - LOTLayerData *layer = i.get(); - auto search = compRef->mAssets.find(layer->mPreCompRefId); - if (search != compRef->mAssets.end()) { - if (layer->mLayerType == LayerType::Image) { - layer->mAsset = search->second; - } else if (layer->mLayerType == LayerType::Precomp) { - layer->mChildren = search->second->mLayers; - layer->setStatic(layer->isStatic() && - search->second->isStatic()); - } - } - } -} - -void LottieParserImpl::parseComposition() -{ - RAPIDJSON_ASSERT(PeekType() == kObjectType); - EnterObject(); - std::shared_ptr sharedComposition = - std::make_shared(); - LOTCompositionData *comp = sharedComposition.get(); - compRef = comp; - while (const char *key = NextObjectKey()) { - if (0 == strcmp(key, "tgs")) { - RAPIDJSON_ASSERT(PeekType() == kNumberType); - comp->mTgs = GetInt(); - }else if (0 == strcmp(key, "v")) { - RAPIDJSON_ASSERT(PeekType() == kStringType); - comp->mVersion = std::string(GetString()); - } else if (0 == strcmp(key, "w")) { - RAPIDJSON_ASSERT(PeekType() == kNumberType); - comp->mSize.setWidth(GetInt()); - } else if (0 == strcmp(key, "h")) { - RAPIDJSON_ASSERT(PeekType() == kNumberType); - comp->mSize.setHeight(GetInt()); - } else if (0 == strcmp(key, "ip")) { - RAPIDJSON_ASSERT(PeekType() == kNumberType); - comp->mStartFrame = GetDouble(); - } else if (0 == strcmp(key, "op")) { - RAPIDJSON_ASSERT(PeekType() == kNumberType); - comp->mEndFrame = GetDouble(); - } else if (0 == strcmp(key, "fr")) { - RAPIDJSON_ASSERT(PeekType() == kNumberType); - comp->mFrameRate = GetDouble(); - } else if (0 == strcmp(key, "assets")) { - parseAssets(comp); - } else if (0 == strcmp(key, "layers")) { - parseLayers(comp); - } else { -#ifdef DEBUG_PARSER - vWarning << "Composition Attribute Skipped : " << key; -#endif - Skip(key); - } - } - - if (comp->mVersion.empty()) { - // don't have a valid bodymovin header - return; - } - - resolveLayerRefs(); - comp->setStatic(comp->mRootLayer->isStatic()); - comp->mRootLayer->mInFrame = comp->mStartFrame; - comp->mRootLayer->mOutFrame = comp->mEndFrame; - - comp->mLayerInfoList = std::move(mLayerInfoList); - - mComposition = sharedComposition; -} - -void LottieParserImpl::parseAssets(LOTCompositionData *composition) -{ - RAPIDJSON_ASSERT(PeekType() == kArrayType); - EnterArray(); - while (NextArrayValue()) { - std::shared_ptr asset = parseAsset(); - composition->mAssets[asset->mRefId] = asset; - } - // update the precomp layers with the actual layer object -} - -static constexpr const unsigned char B64index[256] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 62, 63, 62, 62, 63, 52, 53, 54, 55, 56, 57, - 58, 59, 60, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 0, 0, 0, 0, 63, 0, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51}; - -std::string b64decode(const void *data, const size_t len) -{ - unsigned char *p = (unsigned char *)data; - int pad = len > 0 && (len % 4 || p[len - 1] == '='); - const size_t L = ((len + 3) / 4 - pad) * 4; - std::string str(L / 4 * 3 + pad, '\0'); - - for (size_t i = 0, j = 0; i < L; i += 4) { - int n = B64index[p[i]] << 18 | B64index[p[i + 1]] << 12 | - B64index[p[i + 2]] << 6 | B64index[p[i + 3]]; - str[j++] = n >> 16; - str[j++] = n >> 8 & 0xFF; - str[j++] = n & 0xFF; - } - if (pad) { - int n = B64index[p[L]] << 18 | B64index[p[L + 1]] << 12; - str[str.size() - 1] = n >> 16; - - if (len > L + 2 && p[L + 2] != '=') { - n |= B64index[p[L + 2]] << 6; - str.push_back(n >> 8 & 0xFF); - } - } - return str; -} - -static std::string convertFromBase64(const std::string &str) -{ - // usual header look like "data:image/png;base64," - // so need to skip till ','. - int startIndex = str.find(",", 0); - startIndex += 1; // skip "," - int length = str.length() - startIndex; - - const char *b64Data = str.c_str() + startIndex; - - return b64decode(b64Data, length); -} - -/* - * https://github.com/airbnb/lottie-web/blob/master/docs/json/layers/shape.json - * - */ -std::shared_ptr LottieParserImpl::parseAsset() -{ - RAPIDJSON_ASSERT(PeekType() == kObjectType); - std::shared_ptr sharedAsset = std::make_shared(); - LOTAsset * asset = sharedAsset.get(); - std::string filename; - std::string relativePath; - bool embededResource = false; - EnterObject(); - while (const char *key = NextObjectKey()) { - if (0 == strcmp(key, "w")) { - RAPIDJSON_ASSERT(PeekType() == kNumberType); - asset->mWidth = GetInt(); - } else if (0 == strcmp(key, "h")) { - RAPIDJSON_ASSERT(PeekType() == kNumberType); - asset->mHeight = GetInt(); - } else if (0 == strcmp(key, "p")) { /* image name */ - asset->mAssetType = LOTAsset::Type::Image; - RAPIDJSON_ASSERT(PeekType() == kStringType); - filename = std::string(GetString()); - } else if (0 == strcmp(key, "u")) { /* relative image path */ - RAPIDJSON_ASSERT(PeekType() == kStringType); - relativePath = std::string(GetString()); - } else if (0 == strcmp(key, "e")) { /* relative image path */ - embededResource = GetInt(); - } else if (0 == strcmp(key, "id")) { /* reference id*/ - if (PeekType() == kStringType) { - asset->mRefId = std::string(GetString()); - } else { - RAPIDJSON_ASSERT(PeekType() == kNumberType); - asset->mRefId = std::to_string(GetInt()); - } - } else if (0 == strcmp(key, "layers")) { - asset->mAssetType = LOTAsset::Type::Precomp; - RAPIDJSON_ASSERT(PeekType() == kArrayType); - EnterArray(); - bool staticFlag = true; - while (NextArrayValue()) { - std::shared_ptr layer = parseLayer(); - if (layer) { - staticFlag = staticFlag && layer->isStatic(); - asset->mLayers.push_back(layer); - } - } - asset->setStatic(staticFlag); - } else { -#ifdef DEBUG_PARSER - vWarning << "Asset Attribute Skipped : " << key; -#endif - Skip(key); - } - } - - if (asset->mAssetType == LOTAsset::Type::Image) { - if (embededResource) { - // embeder resource should start with "data:" - if (filename.compare(0, 5, "data:") == 0) { - asset->loadImageData(convertFromBase64(filename)); - } - } else { - asset->loadImagePath(mDirPath + relativePath + filename); - } - } - - return sharedAsset; -} - -void LottieParserImpl::parseLayers(LOTCompositionData *comp) -{ - comp->mRootLayer = std::make_shared(); - comp->mRootLayer->mLayerType = LayerType::Precomp; - comp->mRootLayer->mName = std::string("__"); - bool staticFlag = true; - RAPIDJSON_ASSERT(PeekType() == kArrayType); - EnterArray(); - while (NextArrayValue()) { - std::shared_ptr layer = parseLayer(true); - if (layer) { - staticFlag = staticFlag && layer->isStatic(); - comp->mRootLayer->mChildren.push_back(layer); - } - } - comp->mRootLayer->setStatic(staticFlag); -} - -LottieColor LottieParserImpl::toColor(const char *str) -{ - LottieColor color; - int len = strlen(str); - - // some resource has empty color string - // return a default color for those cases. - if (!len) return color; - - RAPIDJSON_ASSERT(len == 7); - RAPIDJSON_ASSERT(str[0] == '#'); - - char tmp[3] = {'\0', '\0', '\0'}; - tmp[0] = str[1]; - tmp[1] = str[2]; - color.r = std::strtol(tmp, NULL, 16) / 255.0; - - tmp[0] = str[3]; - tmp[1] = str[4]; - color.g = std::strtol(tmp, NULL, 16) / 255.0; - - tmp[0] = str[5]; - tmp[1] = str[6]; - color.b = std::strtol(tmp, NULL, 16) / 255.0; - - return color; -} - -MatteType LottieParserImpl::getMatteType() -{ - RAPIDJSON_ASSERT(PeekType() == kNumberType); - switch (GetInt()) { - case 1: - return MatteType::Alpha; - break; - case 2: - return MatteType::AlphaInv; - break; - case 3: - return MatteType::Luma; - break; - case 4: - return MatteType::LumaInv; - break; - default: - return MatteType::None; - break; - } -} - -LayerType LottieParserImpl::getLayerType() -{ - RAPIDJSON_ASSERT(PeekType() == kNumberType); - switch (GetInt()) { - case 0: - return LayerType::Precomp; - break; - case 1: - return LayerType::Solid; - break; - case 2: - return LayerType::Image; - break; - case 3: - return LayerType::Null; - break; - case 4: - return LayerType::Shape; - break; - case 5: - return LayerType::Text; - break; - default: - return LayerType::Null; - break; - } -} - -/* - * https://github.com/airbnb/lottie-web/blob/master/docs/json/layers/shape.json - * - */ -std::shared_ptr LottieParserImpl::parseLayer(bool record) -{ - RAPIDJSON_ASSERT(PeekType() == kObjectType); - std::shared_ptr sharedLayer = - std::make_shared(); - LOTLayerData *layer = sharedLayer.get(); - curLayerRef = layer; - bool ddd = true; - EnterObject(); - while (const char *key = NextObjectKey()) { - if (0 == strcmp(key, "ty")) { /* Type of layer*/ - layer->mLayerType = getLayerType(); - } else if (0 == strcmp(key, "nm")) { /*Layer name*/ - RAPIDJSON_ASSERT(PeekType() == kStringType); - layer->mName = GetString(); - } else if (0 == strcmp(key, "ind")) { /*Layer index in AE. Used for - parenting and expressions.*/ - RAPIDJSON_ASSERT(PeekType() == kNumberType); - layer->mId = GetInt(); - } else if (0 == strcmp(key, "ddd")) { /*3d layer */ - RAPIDJSON_ASSERT(PeekType() == kNumberType); - ddd = GetInt(); - } else if (0 == - strcmp(key, - "parent")) { /*Layer Parent. Uses "ind" of parent.*/ - RAPIDJSON_ASSERT(PeekType() == kNumberType); - layer->mParentId = GetInt(); - } else if (0 == strcmp(key, "refId")) { /*preComp Layer reference id*/ - RAPIDJSON_ASSERT(PeekType() == kStringType); - layer->mPreCompRefId = std::string(GetString()); - layer->mHasGradient = true; - mLayersToUpdate.push_back(sharedLayer); - } else if (0 == strcmp(key, "sr")) { // "Layer Time Stretching" - RAPIDJSON_ASSERT(PeekType() == kNumberType); - layer->mTimeStreatch = GetDouble(); - } else if (0 == strcmp(key, "tm")) { // time remapping - parseProperty(layer->mTimeRemap); - } else if (0 == strcmp(key, "ip")) { - RAPIDJSON_ASSERT(PeekType() == kNumberType); - layer->mInFrame = std::round(GetDouble()); - } else if (0 == strcmp(key, "op")) { - RAPIDJSON_ASSERT(PeekType() == kNumberType); - layer->mOutFrame = std::round(GetDouble()); - } else if (0 == strcmp(key, "st")) { - RAPIDJSON_ASSERT(PeekType() == kNumberType); - layer->mStartFrame = GetDouble(); - } else if (0 == strcmp(key, "bm")) { - layer->mBlendMode = getBlendMode(); - } else if (0 == strcmp(key, "ks")) { - RAPIDJSON_ASSERT(PeekType() == kObjectType); - EnterObject(); - layer->mTransform = parseTransformObject(ddd); - } else if (0 == strcmp(key, "shapes")) { - parseShapesAttr(layer); - } else if (0 == strcmp(key, "w")) { - layer->mLayerSize.setWidth(GetInt()); - } else if (0 == strcmp(key, "h")) { - layer->mLayerSize.setHeight(GetInt()); - } else if (0 == strcmp(key, "sw")) { - layer->mSolidLayer.mWidth = GetInt(); - } else if (0 == strcmp(key, "sh")) { - layer->mSolidLayer.mHeight = GetInt(); - } else if (0 == strcmp(key, "sc")) { - layer->mSolidLayer.mColor = toColor(GetString()); - } else if (0 == strcmp(key, "tt")) { - layer->mMatteType = getMatteType(); - } else if (0 == strcmp(key, "hasMask")) { - layer->mHasMask = GetBool(); - } else if (0 == strcmp(key, "masksProperties")) { - parseMaskProperty(layer); - } else if (0 == strcmp(key, "ao")) { - layer->mAutoOrient = GetInt(); - } else if (0 == strcmp(key, "hd")) { - layer->mHidden = GetBool(); - } else { -#ifdef DEBUG_PARSER - vWarning << "Layer Attribute Skipped : " << key; -#endif - Skip(key); - } - } - - if (!layer->mTransform) { - // not a valid layer - return nullptr; - } - - layer->mCompRef = compRef; - - if (layer->hidden()) { - // if layer is hidden, only data that is usefull is its - // transform matrix(when it is a parent of some other layer) - // so force it to be a Null Layer and release all resource. - layer->setStatic(layer->mTransform->isStatic()); - layer->mLayerType = LayerType::Null; - layer->mChildren = {}; - return sharedLayer; - } - - // update the static property of layer - bool staticFlag = true; - for (const auto &child : layer->mChildren) { - staticFlag &= child.get()->isStatic(); - } - - for (const auto &mask : layer->mMasks) { - staticFlag &= mask->isStatic(); - } - - layer->setStatic(staticFlag && layer->mTransform->isStatic()); - - if (record) { - mLayerInfoList.push_back( - LayerInfo(layer->mName, layer->mInFrame, layer->mOutFrame)); - } - return sharedLayer; -} - -void LottieParserImpl::parseMaskProperty(LOTLayerData *layer) -{ - RAPIDJSON_ASSERT(PeekType() == kArrayType); - EnterArray(); - while (NextArrayValue()) { - layer->mMasks.push_back(parseMaskObject()); - } -} - -std::shared_ptr LottieParserImpl::parseMaskObject() -{ - std::shared_ptr sharedMask = std::make_shared(); - LOTMaskData * obj = sharedMask.get(); - - RAPIDJSON_ASSERT(PeekType() == kObjectType); - EnterObject(); - while (const char *key = NextObjectKey()) { - if (0 == strcmp(key, "inv")) { - obj->mInv = GetBool(); - } else if (0 == strcmp(key, "mode")) { - const char *str = GetString(); - switch (str[0]) { - case 'n': - obj->mMode = LOTMaskData::Mode::None; - break; - case 'a': - obj->mMode = LOTMaskData::Mode::Add; - break; - case 's': - obj->mMode = LOTMaskData::Mode::Substarct; - break; - case 'i': - obj->mMode = LOTMaskData::Mode::Intersect; - break; - case 'f': - obj->mMode = LOTMaskData::Mode::Difference; - break; - default: - obj->mMode = LOTMaskData::Mode::None; - break; - } - } else if (0 == strcmp(key, "pt")) { - parseShapeProperty(obj->mShape); - } else if (0 == strcmp(key, "o")) { - parseProperty(obj->mOpacity); - } else { - Skip(key); - } - } - obj->mIsStatic = obj->mShape.isStatic() && obj->mOpacity.isStatic(); - return sharedMask; -} - -void LottieParserImpl::parseShapesAttr(LOTLayerData *layer) -{ - RAPIDJSON_ASSERT(PeekType() == kArrayType); - EnterArray(); - while (NextArrayValue()) { - parseObject(layer); - } -} - -std::shared_ptr LottieParserImpl::parseObjectTypeAttr() -{ - RAPIDJSON_ASSERT(PeekType() == kStringType); - const char *type = GetString(); - if (0 == strcmp(type, "gr")) { - return parseGroupObject(); - } else if (0 == strcmp(type, "rc")) { - return parseRectObject(); - } else if (0 == strcmp(type, "el")) { - return parseEllipseObject(); - } else if (0 == strcmp(type, "tr")) { - return parseTransformObject(); - } else if (0 == strcmp(type, "fl")) { - return parseFillObject(); - } else if (0 == strcmp(type, "st")) { - return parseStrokeObject(); - } else if (0 == strcmp(type, "gf")) { - curLayerRef->mHasGradient = true; - return parseGFillObject(); - } else if (0 == strcmp(type, "gs")) { - curLayerRef->mHasGradient = true; - return parseGStrokeObject(); - } else if (0 == strcmp(type, "sh")) { - return parseShapeObject(); - } else if (0 == strcmp(type, "sr")) { - return parsePolystarObject(); - } else if (0 == strcmp(type, "tm")) { - curLayerRef->mHasPathOperator = true; - return parseTrimObject(); - } else if (0 == strcmp(type, "rp")) { - curLayerRef->mHasRepeater = true; - return parseReapeaterObject(); - } else if (0 == strcmp(type, "mm")) { - vWarning << "Merge Path is not supported yet"; - return nullptr; - } else { -#ifdef DEBUG_PARSER - vDebug << "The Object Type not yet handled = " << type; -#endif - return nullptr; - } -} - -void LottieParserImpl::parseObject(LOTGroupData *parent) -{ - RAPIDJSON_ASSERT(PeekType() == kObjectType); - EnterObject(); - while (const char *key = NextObjectKey()) { - if (0 == strcmp(key, "ty")) { - auto child = parseObjectTypeAttr(); - if (child && !child->hidden()) parent->mChildren.push_back(child); - } else { - Skip(key); - } - } -} - -std::shared_ptr LottieParserImpl::parseGroupObject() -{ - std::shared_ptr sharedGroup = - std::make_shared(); - - LOTShapeGroupData *group = sharedGroup.get(); - while (const char *key = NextObjectKey()) { - if (0 == strcmp(key, "nm")) { - group->mName = GetString(); - } else if (0 == strcmp(key, "it")) { - RAPIDJSON_ASSERT(PeekType() == kArrayType); - EnterArray(); - while (NextArrayValue()) { - RAPIDJSON_ASSERT(PeekType() == kObjectType); - parseObject(group); - } - if (group->mChildren.back()->mType == LOTData::Type::Transform) { - group->mTransform = std::static_pointer_cast( - group->mChildren.back()); - group->mChildren.pop_back(); - } - } else { - Skip(key); - } - } - bool staticFlag = true; - for (const auto &child : group->mChildren) { - staticFlag &= child.get()->isStatic(); - } - - group->setStatic(staticFlag && group->mTransform->isStatic()); - - return sharedGroup; -} - -/* - * https://github.com/airbnb/lottie-web/blob/master/docs/json/shapes/rect.json - */ -std::shared_ptr LottieParserImpl::parseRectObject() -{ - std::shared_ptr sharedRect = std::make_shared(); - LOTRectData * obj = sharedRect.get(); - - while (const char *key = NextObjectKey()) { - if (0 == strcmp(key, "nm")) { - obj->mName = GetString(); - } else if (0 == strcmp(key, "p")) { - parseProperty(obj->mPos); - } else if (0 == strcmp(key, "s")) { - parseProperty(obj->mSize); - } else if (0 == strcmp(key, "r")) { - parseProperty(obj->mRound); - } else if (0 == strcmp(key, "d")) { - obj->mDirection = GetInt(); - } else if (0 == strcmp(key, "hd")) { - obj->mHidden = GetBool(); - } else { - Skip(key); - } - } - obj->setStatic(obj->mPos.isStatic() && obj->mSize.isStatic() && - obj->mRound.isStatic()); - return sharedRect; -} - -/* - * https://github.com/airbnb/lottie-web/blob/master/docs/json/shapes/ellipse.json - */ -std::shared_ptr LottieParserImpl::parseEllipseObject() -{ - std::shared_ptr sharedEllipse = - std::make_shared(); - LOTEllipseData *obj = sharedEllipse.get(); - - while (const char *key = NextObjectKey()) { - if (0 == strcmp(key, "nm")) { - obj->mName = GetString(); - } else if (0 == strcmp(key, "p")) { - parseProperty(obj->mPos); - } else if (0 == strcmp(key, "s")) { - parseProperty(obj->mSize); - } else if (0 == strcmp(key, "d")) { - obj->mDirection = GetInt(); - } else if (0 == strcmp(key, "hd")) { - obj->mHidden = GetBool(); - } else { - Skip(key); - } - } - obj->setStatic(obj->mPos.isStatic() && obj->mSize.isStatic()); - return sharedEllipse; -} - -/* - * https://github.com/airbnb/lottie-web/blob/master/docs/json/shapes/shape.json - */ -std::shared_ptr LottieParserImpl::parseShapeObject() -{ - std::shared_ptr sharedShape = - std::make_shared(); - LOTShapeData *obj = sharedShape.get(); - - while (const char *key = NextObjectKey()) { - if (0 == strcmp(key, "nm")) { - obj->mName = GetString(); - } else if (0 == strcmp(key, "ks")) { - parseShapeProperty(obj->mShape); - } else if (0 == strcmp(key, "d")) { - obj->mDirection = GetInt(); - } else if (0 == strcmp(key, "hd")) { - obj->mHidden = GetBool(); - } else { -#ifdef DEBUG_PARSER - vDebug << "Shape property ignored :" << key; -#endif - Skip(key); - } - } - obj->setStatic(obj->mShape.isStatic()); - - return sharedShape; -} - -/* - * https://github.com/airbnb/lottie-web/blob/master/docs/json/shapes/star.json - */ -std::shared_ptr LottieParserImpl::parsePolystarObject() -{ - std::shared_ptr sharedPolystar = - std::make_shared(); - LOTPolystarData *obj = sharedPolystar.get(); - - while (const char *key = NextObjectKey()) { - if (0 == strcmp(key, "nm")) { - obj->mName = GetString(); - } else if (0 == strcmp(key, "p")) { - parseProperty(obj->mPos); - } else if (0 == strcmp(key, "pt")) { - parseProperty(obj->mPointCount); - } else if (0 == strcmp(key, "ir")) { - parseProperty(obj->mInnerRadius); - } else if (0 == strcmp(key, "is")) { - parseProperty(obj->mInnerRoundness); - } else if (0 == strcmp(key, "or")) { - parseProperty(obj->mOuterRadius); - } else if (0 == strcmp(key, "os")) { - parseProperty(obj->mOuterRoundness); - } else if (0 == strcmp(key, "r")) { - parseProperty(obj->mRotation); - } else if (0 == strcmp(key, "sy")) { - int starType = GetInt(); - if (starType == 1) obj->mType = LOTPolystarData::PolyType::Star; - if (starType == 2) obj->mType = LOTPolystarData::PolyType::Polygon; - } else if (0 == strcmp(key, "d")) { - obj->mDirection = GetInt(); - } else if (0 == strcmp(key, "hd")) { - obj->mHidden = GetBool(); - } else { -#ifdef DEBUG_PARSER - vDebug << "Polystar property ignored :" << key; -#endif - Skip(key); - } - } - obj->setStatic( - obj->mPos.isStatic() && obj->mPointCount.isStatic() && - obj->mInnerRadius.isStatic() && obj->mInnerRoundness.isStatic() && - obj->mOuterRadius.isStatic() && obj->mOuterRoundness.isStatic() && - obj->mRotation.isStatic()); - - return sharedPolystar; -} - -LOTTrimData::TrimType LottieParserImpl::getTrimType() -{ - RAPIDJSON_ASSERT(PeekType() == kNumberType); - switch (GetInt()) { - case 1: - return LOTTrimData::TrimType::Simultaneously; - break; - case 2: - return LOTTrimData::TrimType::Individually; - break; - default: - RAPIDJSON_ASSERT(0); - return LOTTrimData::TrimType::Individually; - break; - } -} - -/* - * https://github.com/airbnb/lottie-web/blob/master/docs/json/shapes/trim.json - */ -std::shared_ptr LottieParserImpl::parseTrimObject() -{ - std::shared_ptr sharedTrim = std::make_shared(); - LOTTrimData * obj = sharedTrim.get(); - - while (const char *key = NextObjectKey()) { - if (0 == strcmp(key, "nm")) { - obj->mName = GetString(); - } else if (0 == strcmp(key, "s")) { - parseProperty(obj->mStart); - } else if (0 == strcmp(key, "e")) { - parseProperty(obj->mEnd); - } else if (0 == strcmp(key, "o")) { - parseProperty(obj->mOffset); - } else if (0 == strcmp(key, "m")) { - obj->mTrimType = getTrimType(); - } else if (0 == strcmp(key, "hd")) { - obj->mHidden = GetBool(); - } else { -#ifdef DEBUG_PARSER - vDebug << "Trim property ignored :" << key; -#endif - Skip(key); - } - } - obj->setStatic(obj->mStart.isStatic() && obj->mEnd.isStatic() && - obj->mOffset.isStatic()); - return sharedTrim; -} - -void LottieParserImpl::getValue(LOTRepeaterTransform &obj) -{ - EnterObject(); - - while (const char *key = NextObjectKey()) { - if (0 == strcmp(key, "a")) { - parseProperty(obj.mAnchor); - } else if (0 == strcmp(key, "p")) { - parseProperty(obj.mPosition); - } else if (0 == strcmp(key, "r")) { - parseProperty(obj.mRotation); - } else if (0 == strcmp(key, "s")) { - parseProperty(obj.mScale); - } else if (0 == strcmp(key, "so")) { - parseProperty(obj.mStartOpacity); - } else if (0 == strcmp(key, "eo")) { - parseProperty(obj.mEndOpacity); - } else { - Skip(key); - } - } -} - -std::shared_ptr LottieParserImpl::parseReapeaterObject() -{ - std::shared_ptr sharedRepeater = - std::make_shared(); - LOTRepeaterData *obj = sharedRepeater.get(); - - while (const char *key = NextObjectKey()) { - if (0 == strcmp(key, "nm")) { - obj->mName = GetString(); - } else if (0 == strcmp(key, "c")) { - parseProperty(obj->mCopies); - float maxCopy = 0.0; - if (!obj->mCopies.isStatic()) { - for (auto &keyFrame : obj->mCopies.animation().mKeyFrames) { - if (maxCopy < keyFrame.mValue.mStartValue) - maxCopy = keyFrame.mValue.mStartValue; - if (maxCopy < keyFrame.mValue.mEndValue) - maxCopy = keyFrame.mValue.mEndValue; - } - } else { - maxCopy = obj->mCopies.value(); - } - obj->mMaxCopies = maxCopy; - } else if (0 == strcmp(key, "o")) { - parseProperty(obj->mOffset); - } else if (0 == strcmp(key, "tr")) { - getValue(obj->mTransform); - } else if (0 == strcmp(key, "hd")) { - obj->mHidden = GetBool(); - } else { -#ifdef DEBUG_PARSER - vDebug << "Repeater property ignored :" << key; -#endif - Skip(key); - } - } - obj->setStatic(obj->mCopies.isStatic() && obj->mOffset.isStatic() && - obj->mTransform.isStatic()); - - return sharedRepeater; -} - -/* - * https://github.com/airbnb/lottie-web/blob/master/docs/json/shapes/transform.json - */ -std::shared_ptr LottieParserImpl::parseTransformObject( - bool ddd) -{ - std::shared_ptr sharedTransform = - std::make_shared(); - - auto obj = std::make_unique(); - if (ddd) obj->m3D = std::make_unique(); - - while (const char *key = NextObjectKey()) { - if (0 == strcmp(key, "nm")) { - sharedTransform->mName = GetString(); - } else if (0 == strcmp(key, "a")) { - parseProperty(obj->mAnchor); - } else if (0 == strcmp(key, "p")) { - EnterObject(); - while (const char *key = NextObjectKey()) { - if (0 == strcmp(key, "k")) { - parsePropertyHelper(obj->mPosition); - } else if (0 == strcmp(key, "s")) { - obj->mSeparate = GetBool(); - } else if (obj->mSeparate && (0 == strcmp(key, "x"))) { - parseProperty(obj->mX); - } else if (obj->mSeparate && (0 == strcmp(key, "y"))) { - parseProperty(obj->mY); - } else { - Skip(key); - } - } - } else if (0 == strcmp(key, "r")) { - parseProperty(obj->mRotation); - } else if (0 == strcmp(key, "s")) { - parseProperty(obj->mScale); - } else if (0 == strcmp(key, "o")) { - parseProperty(obj->mOpacity); - } else if (0 == strcmp(key, "hd")) { - sharedTransform->mHidden = GetBool(); - } else if (0 == strcmp(key, "rx")) { - parseProperty(obj->m3D->mRx); - } else if (0 == strcmp(key, "ry")) { - parseProperty(obj->m3D->mRy); - } else if (0 == strcmp(key, "rz")) { - parseProperty(obj->m3D->mRz); - } else { - Skip(key); - } - } - obj->mStatic = obj->mAnchor.isStatic() && obj->mPosition.isStatic() && - obj->mRotation.isStatic() && obj->mScale.isStatic() && - obj->mX.isStatic() && obj->mY.isStatic() && - obj->mOpacity.isStatic(); - if (obj->m3D) { - obj->mStatic = obj->mStatic && obj->m3D->mRx.isStatic() && - obj->m3D->mRy.isStatic() && obj->m3D->mRz.isStatic(); - } - - sharedTransform->set(std::move(obj)); - - return sharedTransform; -} - -/* - * https://github.com/airbnb/lottie-web/blob/master/docs/json/shapes/fill.json - */ -std::shared_ptr LottieParserImpl::parseFillObject() -{ - std::shared_ptr sharedFill = std::make_shared(); - LOTFillData * obj = sharedFill.get(); - - while (const char *key = NextObjectKey()) { - if (0 == strcmp(key, "nm")) { - obj->mName = GetString(); - } else if (0 == strcmp(key, "c")) { - parseProperty(obj->mColor); - } else if (0 == strcmp(key, "o")) { - parseProperty(obj->mOpacity); - } else if (0 == strcmp(key, "fillEnabled")) { - obj->mEnabled = GetBool(); - } else if (0 == strcmp(key, "r")) { - obj->mFillRule = getFillRule(); - } else if (0 == strcmp(key, "hd")) { - obj->mHidden = GetBool(); - } else { -#ifdef DEBUG_PARSER - vWarning << "Fill property skipped = " << key; -#endif - Skip(key); - } - } - obj->setStatic(obj->mColor.isStatic() && obj->mOpacity.isStatic()); - - return sharedFill; -} - -/* - * https://github.com/airbnb/lottie-web/blob/master/docs/json/helpers/lineCap.json - */ -CapStyle LottieParserImpl::getLineCap() -{ - RAPIDJSON_ASSERT(PeekType() == kNumberType); - switch (GetInt()) { - case 1: - return CapStyle::Flat; - break; - case 2: - return CapStyle::Round; - break; - default: - return CapStyle::Square; - break; - } -} - -FillRule LottieParserImpl::getFillRule() -{ - RAPIDJSON_ASSERT(PeekType() == kNumberType); - switch (GetInt()) { - case 1: - return FillRule::Winding; - break; - case 2: - return FillRule::EvenOdd; - break; - default: - return FillRule::Winding; - break; - } -} - -/* - * https://github.com/airbnb/lottie-web/blob/master/docs/json/helpers/lineJoin.json - */ -JoinStyle LottieParserImpl::getLineJoin() -{ - RAPIDJSON_ASSERT(PeekType() == kNumberType); - switch (GetInt()) { - case 1: - return JoinStyle::Miter; - break; - case 2: - return JoinStyle::Round; - break; - default: - return JoinStyle::Bevel; - break; - } -} - -/* - * https://github.com/airbnb/lottie-web/blob/master/docs/json/shapes/stroke.json - */ -std::shared_ptr LottieParserImpl::parseStrokeObject() -{ - std::shared_ptr sharedStroke = - std::make_shared(); - LOTStrokeData *obj = sharedStroke.get(); - - while (const char *key = NextObjectKey()) { - if (0 == strcmp(key, "nm")) { - obj->mName = GetString(); - } else if (0 == strcmp(key, "c")) { - parseProperty(obj->mColor); - } else if (0 == strcmp(key, "o")) { - parseProperty(obj->mOpacity); - } else if (0 == strcmp(key, "w")) { - parseProperty(obj->mWidth); - } else if (0 == strcmp(key, "fillEnabled")) { - obj->mEnabled = GetBool(); - } else if (0 == strcmp(key, "lc")) { - obj->mCapStyle = getLineCap(); - } else if (0 == strcmp(key, "lj")) { - obj->mJoinStyle = getLineJoin(); - } else if (0 == strcmp(key, "ml")) { - RAPIDJSON_ASSERT(PeekType() == kNumberType); - obj->mMeterLimit = GetDouble(); - } else if (0 == strcmp(key, "d")) { - parseDashProperty(obj->mDash); - } else if (0 == strcmp(key, "hd")) { - obj->mHidden = GetBool(); - } else { -#ifdef DEBUG_PARSER - vWarning << "Stroke property skipped = " << key; -#endif - Skip(key); - } - } - obj->setStatic(obj->mColor.isStatic() && obj->mOpacity.isStatic() && - obj->mWidth.isStatic() && obj->mDash.mStatic); - return sharedStroke; -} - -void LottieParserImpl::parseGradientProperty(LOTGradient *obj, const char *key) -{ - if (0 == strcmp(key, "t")) { - RAPIDJSON_ASSERT(PeekType() == kNumberType); - obj->mGradientType = GetInt(); - } else if (0 == strcmp(key, "o")) { - parseProperty(obj->mOpacity); - } else if (0 == strcmp(key, "s")) { - parseProperty(obj->mStartPoint); - } else if (0 == strcmp(key, "e")) { - parseProperty(obj->mEndPoint); - } else if (0 == strcmp(key, "h")) { - parseProperty(obj->mHighlightLength); - } else if (0 == strcmp(key, "a")) { - parseProperty(obj->mHighlightAngle); - } else if (0 == strcmp(key, "g")) { - EnterObject(); - while (const char *key = NextObjectKey()) { - if (0 == strcmp(key, "k")) { - parseProperty(obj->mGradient); - } else if (0 == strcmp(key, "p")) { - obj->mColorPoints = GetInt(); - } else { - Skip(nullptr); - } - } - } else if (0 == strcmp(key, "hd")) { - obj->mHidden = GetBool(); - } else { -#ifdef DEBUG_PARSER - vWarning << "Gradient property skipped = " << key; -#endif - Skip(key); - } - obj->setStatic( - obj->mOpacity.isStatic() && obj->mStartPoint.isStatic() && - obj->mEndPoint.isStatic() && obj->mHighlightAngle.isStatic() && - obj->mHighlightLength.isStatic() && obj->mGradient.isStatic()); -} - -/* - * https://github.com/airbnb/lottie-web/blob/master/docs/json/shapes/gfill.json - */ -std::shared_ptr LottieParserImpl::parseGFillObject() -{ - std::shared_ptr sharedGFill = - std::make_shared(); - LOTGFillData *obj = sharedGFill.get(); - - while (const char *key = NextObjectKey()) { - if (0 == strcmp(key, "nm")) { - obj->mName = GetString(); - } else if (0 == strcmp(key, "r")) { - obj->mFillRule = getFillRule(); - } else { - parseGradientProperty(obj, key); - } - } - return sharedGFill; -} - -void LottieParserImpl::parseDashProperty(LOTDashProperty &dash) -{ - dash.mDashCount = 0; - dash.mStatic = true; - RAPIDJSON_ASSERT(PeekType() == kArrayType); - EnterArray(); - while (NextArrayValue()) { - RAPIDJSON_ASSERT(PeekType() == kObjectType); - EnterObject(); - while (const char *key = NextObjectKey()) { - if (0 == strcmp(key, "v")) { - parseProperty(dash.mDashArray[dash.mDashCount++]); - } else { - Skip(key); - } - } - } - - // update the staic proprty - for (int i = 0; i < dash.mDashCount; i++) { - if (!dash.mDashArray[i].isStatic()) { - dash.mStatic = false; - break; - } - } -} - -/* - * https://github.com/airbnb/lottie-web/blob/master/docs/json/shapes/gstroke.json - */ -std::shared_ptr LottieParserImpl::parseGStrokeObject() -{ - std::shared_ptr sharedGStroke = - std::make_shared(); - LOTGStrokeData *obj = sharedGStroke.get(); - - while (const char *key = NextObjectKey()) { - if (0 == strcmp(key, "nm")) { - obj->mName = GetString(); - } else if (0 == strcmp(key, "w")) { - parseProperty(obj->mWidth); - } else if (0 == strcmp(key, "lc")) { - obj->mCapStyle = getLineCap(); - } else if (0 == strcmp(key, "lj")) { - obj->mJoinStyle = getLineJoin(); - } else if (0 == strcmp(key, "ml")) { - RAPIDJSON_ASSERT(PeekType() == kNumberType); - obj->mMeterLimit = GetDouble(); - } else if (0 == strcmp(key, "d")) { - parseDashProperty(obj->mDash); - } else { - parseGradientProperty(obj, key); - } - } - - obj->setStatic(obj->isStatic() && obj->mWidth.isStatic() && - obj->mDash.mStatic); - return sharedGStroke; -} - -void LottieParserImpl::getValue(std::vector &v) -{ - RAPIDJSON_ASSERT(PeekType() == kArrayType); - EnterArray(); - while (NextArrayValue()) { - RAPIDJSON_ASSERT(PeekType() == kArrayType); - EnterArray(); - VPointF pt; - getValue(pt); - v.push_back(pt); - } -} - -void LottieParserImpl::getValue(VPointF &pt) -{ - float val[4]; - int i = 0; - - if (PeekType() == kArrayType) EnterArray(); - - while (NextArrayValue()) { - val[i++] = GetDouble(); - } - pt.setX(val[0]); - pt.setY(val[1]); -} - -void LottieParserImpl::getValue(float &val) -{ - if (PeekType() == kArrayType) { - EnterArray(); - if (NextArrayValue()) val = GetDouble(); - // discard rest - while (NextArrayValue()) { - GetDouble(); - } - } else if (PeekType() == kNumberType) { - val = GetDouble(); - } else { - RAPIDJSON_ASSERT(0); - } -} - -void LottieParserImpl::getValue(LottieColor &color) -{ - float val[4]; - int i = 0; - if (PeekType() == kArrayType) EnterArray(); - - while (NextArrayValue()) { - val[i++] = GetDouble(); - } - color.r = val[0]; - color.g = val[1]; - color.b = val[2]; -} - -void LottieParserImpl::getValue(LottieGradient &grad) -{ - if (PeekType() == kArrayType) EnterArray(); - - while (NextArrayValue()) { - grad.mGradient.push_back(GetDouble()); - } -} - -void LottieParserImpl::getValue(int &val) -{ - if (PeekType() == kArrayType) { - EnterArray(); - while (NextArrayValue()) { - val = GetInt(); - } - } else if (PeekType() == kNumberType) { - val = GetInt(); - } else { - RAPIDJSON_ASSERT(0); - } -} - -void LottieParserImpl::getValue(LottieShapeData &obj) -{ - std::vector inPoint; /* "i" */ - std::vector outPoint; /* "o" */ - std::vector vertices; /* "v" */ - std::vector points; - bool closed = false; - - /* - * The shape object could be wrapped by a array - * if its part of the keyframe object - */ - bool arrayWrapper = (PeekType() == kArrayType); - if (arrayWrapper) EnterArray(); - - RAPIDJSON_ASSERT(PeekType() == kObjectType); - EnterObject(); - while (const char *key = NextObjectKey()) { - if (0 == strcmp(key, "i")) { - getValue(inPoint); - } else if (0 == strcmp(key, "o")) { - getValue(outPoint); - } else if (0 == strcmp(key, "v")) { - getValue(vertices); - } else if (0 == strcmp(key, "c")) { - closed = GetBool(); - } else { - RAPIDJSON_ASSERT(0); - Skip(nullptr); - } - } - // exit properly from the array - if (arrayWrapper) NextArrayValue(); - - // shape data could be empty. - if (inPoint.empty() || outPoint.empty() || vertices.empty()) return; - - /* - * Convert the AE shape format to - * list of bazier curves - * The final structure will be Move +size*Cubic + Cubic (if the path is - * closed one) - */ - if (inPoint.size() != outPoint.size() || - inPoint.size() != vertices.size()) { - vCritical << "The Shape data are corrupted"; - points = std::vector(); - } else { - int size = vertices.size(); - points.reserve(3 * size + 4); - points.push_back(vertices[0]); - for (int i = 1; i < size; i++) { - points.push_back(vertices[i - 1] + - outPoint[i - 1]); // CP1 = start + outTangent - points.push_back(vertices[i] + - inPoint[i]); // CP2 = end + inTangent - points.push_back(vertices[i]); // end point - } - - if (closed) { - points.push_back(vertices[size - 1] + - outPoint[size - 1]); // CP1 = start + outTangent - points.push_back(vertices[0] + - inPoint[0]); // CP2 = end + inTangent - points.push_back(vertices[0]); // end point - } - } - obj.mPoints = std::move(points); - obj.mClosed = closed; -} - -VPointF LottieParserImpl::parseInperpolatorPoint() -{ - VPointF cp; - RAPIDJSON_ASSERT(PeekType() == kObjectType); - EnterObject(); - while (const char *key = NextObjectKey()) { - if (0 == strcmp(key, "x")) { - getValue(cp.rx()); - } - if (0 == strcmp(key, "y")) { - getValue(cp.ry()); - } - } - return cp; -} - -template -bool LottieParserImpl::parseKeyFrameValue(const char *, LOTKeyFrameValue &) -{ - return false; -} - -template <> -bool LottieParserImpl::parseKeyFrameValue(const char * key, - LOTKeyFrameValue &value) -{ - if (0 == strcmp(key, "ti")) { - value.mPathKeyFrame = true; - getValue(value.mInTangent); - } else if (0 == strcmp(key, "to")) { - value.mPathKeyFrame = true; - getValue(value.mOutTangent); - } else { - return false; - } - return true; -} - -std::shared_ptr LottieParserImpl::interpolator( - VPointF inTangent, VPointF outTangent, std::string key) -{ - if (key.empty()) { - std::array temp; - snprintf(temp.data(), temp.size(), "%.2f_%.2f_%.2f_%.2f", inTangent.x(), - inTangent.y(), outTangent.x(), outTangent.y()); - key = temp.data(); - } - - auto search = mInterpolatorCache.find(key); - if (search != mInterpolatorCache.end()) { - return search->second; - } else { - auto obj = std::make_shared( - VInterpolator(outTangent, inTangent)); - mInterpolatorCache[std::move(key)] = obj; - return obj; - } -} - -/* - * https://github.com/airbnb/lottie-web/blob/master/docs/json/properties/multiDimensionalKeyframed.json - */ -template -void LottieParserImpl::parseKeyFrame(LOTAnimInfo &obj) -{ - struct ParsedField { - std::string interpolatorKey; - bool interpolator{false}; - bool value{false}; - bool hold{false}; - bool noEndValue{true}; - }; - - EnterObject(); - ParsedField parsed; - LOTKeyFrame keyframe; - VPointF inTangent; - VPointF outTangent; - - while (const char *key = NextObjectKey()) { - if (0 == strcmp(key, "i")) { - parsed.interpolator = true; - inTangent = parseInperpolatorPoint(); - } else if (0 == strcmp(key, "o")) { - outTangent = parseInperpolatorPoint(); - } else if (0 == strcmp(key, "t")) { - keyframe.mStartFrame = GetDouble(); - } else if (0 == strcmp(key, "s")) { - parsed.value = true; - getValue(keyframe.mValue.mStartValue); - continue; - } else if (0 == strcmp(key, "e")) { - parsed.noEndValue = false; - getValue(keyframe.mValue.mEndValue); - continue; - } else if (0 == strcmp(key, "n")) { - if (PeekType() == kStringType) { - parsed.interpolatorKey = GetString(); - } else { - RAPIDJSON_ASSERT(PeekType() == kArrayType); - EnterArray(); - while (NextArrayValue()) { - RAPIDJSON_ASSERT(PeekType() == kStringType); - if (parsed.interpolatorKey.empty()) { - parsed.interpolatorKey = GetString(); - } else { - // skip rest of the string - GetString(); - } - } - } - continue; - } else if (parseKeyFrameValue(key, keyframe.mValue)) { - continue; - } else if (0 == strcmp(key, "h")) { - parsed.hold = GetInt(); - continue; - } else { -#ifdef DEBUG_PARSER - vDebug << "key frame property skipped = " << key; -#endif - Skip(key); - } - } - - if (!obj.mKeyFrames.empty()) { - // update the endFrame value of current keyframe - obj.mKeyFrames.back().mEndFrame = keyframe.mStartFrame; - // if no end value provided, copy start value to previous frame - if (parsed.value && parsed.noEndValue) { - obj.mKeyFrames.back().mValue.mEndValue = - keyframe.mValue.mStartValue; - } - } - - if (parsed.hold) { - keyframe.mValue.mEndValue = keyframe.mValue.mStartValue; - keyframe.mEndFrame = keyframe.mStartFrame; - obj.mKeyFrames.push_back(keyframe); - } else if (parsed.interpolator) { - keyframe.mInterpolator = interpolator( - inTangent, outTangent, std::move(parsed.interpolatorKey)); - obj.mKeyFrames.push_back(keyframe); - } else { - // its the last frame discard. - } -} - -/* - * https://github.com/airbnb/lottie-web/blob/master/docs/json/properties/shapeKeyframed.json - */ - -/* - * https://github.com/airbnb/lottie-web/blob/master/docs/json/properties/shape.json - */ -void LottieParserImpl::parseShapeProperty(LOTAnimatable &obj) -{ - EnterObject(); - while (const char *key = NextObjectKey()) { - if (0 == strcmp(key, "k")) { - if (PeekType() == kArrayType) { - EnterArray(); - while (NextArrayValue()) { - RAPIDJSON_ASSERT(PeekType() == kObjectType); - parseKeyFrame(obj.animation()); - } - } else { - getValue(obj.value()); - } - } else { -#ifdef DEBUG_PARSER - vDebug << "shape property ignored = " << key; -#endif - Skip(nullptr); - } - } -} - -template -void LottieParserImpl::parsePropertyHelper(LOTAnimatable &obj) -{ - if (PeekType() == kNumberType) { - /*single value property with no animation*/ - getValue(obj.value()); - } else { - RAPIDJSON_ASSERT(PeekType() == kArrayType); - EnterArray(); - while (NextArrayValue()) { - /* property with keyframe info*/ - if (PeekType() == kObjectType) { - parseKeyFrame(obj.animation()); - } else { - /* Read before modifying. - * as there is no way of knowing if the - * value of the array is either array of numbers - * or array of object without entering the array - * thats why this hack is there - */ - RAPIDJSON_ASSERT(PeekType() == kNumberType); - /*multi value property with no animation*/ - getValue(obj.value()); - /*break here as we already reached end of array*/ - break; - } - } - } -} - -/* - * https://github.com/airbnb/lottie-web/tree/master/docs/json/properties - */ -template -void LottieParserImpl::parseProperty(LOTAnimatable &obj) -{ - EnterObject(); - while (const char *key = NextObjectKey()) { - if (0 == strcmp(key, "k")) { - parsePropertyHelper(obj); - } else { - Skip(key); - } - } -} - -#ifdef DEBUG_PRINT_TREE - -class LOTDataInspector { -public: - void visit(LOTCompositionData *obj, std::string level) - { - vDebug << " { " << level << "Composition:: a: " << !obj->isStatic() - << ", v: " << obj->mVersion << ", stFm: " << obj->startFrame() - << ", endFm: " << obj->endFrame() - << ", W: " << obj->size().width() - << ", H: " << obj->size().height() << "\n"; - level.append("\t"); - visit(obj->mRootLayer.get(), level); - level.erase(level.end() - 1, level.end()); - vDebug << " } " << level << "Composition End\n"; - } - void visit(LOTLayerData *obj, std::string level) - { - vDebug << level << "{ " << layerType(obj->mLayerType) - << ", name: " << obj->name() << ", id:" << obj->mId - << " Pid:" << obj->mParentId << ", a:" << !obj->isStatic() - << ", " << matteType(obj->mMatteType) - << ", mask:" << obj->hasMask() << ", inFm:" << obj->mInFrame - << ", outFm:" << obj->mOutFrame << ", stFm:" << obj->mStartFrame - << ", ts:" << obj->mTimeStreatch << ", ao:" << obj->autoOrient() - << ", ddd:" << (obj->mTransform ? obj->mTransform->ddd() : false) - << ", W:" << obj->layerSize().width() - << ", H:" << obj->layerSize().height(); - - if (obj->mLayerType == LayerType::Image) - vDebug << level << "\t{ " - << "ImageInfo:" - << " W :" << obj->mAsset->mWidth - << ", H :" << obj->mAsset->mHeight << " }" - << "\n"; - else { - vDebug << level; - } - visitChildren(static_cast(obj), level); - vDebug << level << "} " << layerType(obj->mLayerType).c_str() - << ", id: " << obj->mId << "\n"; - } - void visitChildren(LOTGroupData *obj, std::string level) - { - level.append("\t"); - for (const auto &child : obj->mChildren) visit(child.get(), level); - if (obj->mTransform) visit(obj->mTransform.get(), level); - } - - void visit(LOTData *obj, std::string level) - { - switch (obj->mType) { - case LOTData::Type::Repeater: { - auto r = static_cast(obj); - vDebug << level << "{ Repeater: name: " << obj->name() - << " , a:" << !obj->isStatic() - << ", copies:" << r->maxCopies() - << ", offset:" << r->offset(0); - visitChildren(r->mContent.get(), level); - vDebug << level << "} Repeater"; - break; - } - case LOTData::Type::ShapeGroup: { - vDebug << level << "{ ShapeGroup: name: " << obj->name() - << " , a:" << !obj->isStatic(); - visitChildren(static_cast(obj), level); - vDebug << level << "} ShapeGroup"; - break; - } - case LOTData::Type::Layer: { - visit(static_cast(obj), level); - break; - } - case LOTData::Type::Trim: { - vDebug << level << "{ Trim: name: " << obj->name() - << " , a:" << !obj->isStatic() << " }"; - break; - } - case LOTData::Type::Rect: { - vDebug << level << "{ Rect: name: " << obj->name() - << " , a:" << !obj->isStatic() << " }"; - break; - } - case LOTData::Type::Ellipse: { - vDebug << level << "{ Ellipse: name: " << obj->name() - << " , a:" << !obj->isStatic() << " }"; - break; - } - case LOTData::Type::Shape: { - vDebug << level << "{ Shape: name: " << obj->name() - << " , a:" << !obj->isStatic() << " }"; - break; - } - case LOTData::Type::Polystar: { - vDebug << level << "{ Polystar: name: " << obj->name() - << " , a:" << !obj->isStatic() << " }"; - break; - } - case LOTData::Type::Transform: { - vDebug << level << "{ Transform: name: " << obj->name() - << " , a: " << !obj->isStatic() << " }"; - break; - } - case LOTData::Type::Stroke: { - vDebug << level << "{ Stroke: name: " << obj->name() - << " , a:" << !obj->isStatic() << " }"; - break; - } - case LOTData::Type::GStroke: { - vDebug << level << "{ GStroke: name: " << obj->name() - << " , a:" << !obj->isStatic() << " }"; - break; - } - case LOTData::Type::Fill: { - vDebug << level << "{ Fill: name: " << obj->name() - << " , a:" << !obj->isStatic() << " }"; - break; - } - case LOTData::Type::GFill: { - auto f = static_cast(obj); - vDebug << level << "{ GFill: name: " << obj->name() - << " , a:" << !f->isStatic() << ", ty:" << f->mGradientType - << ", s:" << f->mStartPoint.value(0) - << ", e:" << f->mEndPoint.value(0) << " }"; - break; - } - default: - break; - } - } - - std::string matteType(MatteType type) - { - switch (type) { - case MatteType::None: - return "Matte::None"; - break; - case MatteType::Alpha: - return "Matte::Alpha"; - break; - case MatteType::AlphaInv: - return "Matte::AlphaInv"; - break; - case MatteType::Luma: - return "Matte::Luma"; - break; - case MatteType::LumaInv: - return "Matte::LumaInv"; - break; - default: - return "Matte::Unknown"; - break; - } - } - std::string layerType(LayerType type) - { - switch (type) { - case LayerType::Precomp: - return "Layer::Precomp"; - break; - case LayerType::Null: - return "Layer::Null"; - break; - case LayerType::Shape: - return "Layer::Shape"; - break; - case LayerType::Solid: - return "Layer::Solid"; - break; - case LayerType::Image: - return "Layer::Image"; - break; - case LayerType::Text: - return "Layer::Text"; - break; - default: - return "Layer::Unknown"; - break; - } - } -}; - -#endif - -LottieParser::~LottieParser() -{ - delete d; -} - -LottieParser::LottieParser(char *str, const char *dir_path) - : d(new LottieParserImpl(str, dir_path)) -{ - d->parseComposition(); -} - -std::shared_ptr LottieParser::model() -{ - if (!d->composition()) return nullptr; - - std::shared_ptr model = std::make_shared(); - model->mRoot = d->composition(); - model->mRoot->processRepeaterObjects(); - -#ifdef DEBUG_PRINT_TREE - LOTDataInspector inspector; - inspector.visit(model->mRoot.get(), ""); -#endif - - return model; -} - -RAPIDJSON_DIAG_POP diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/lottieparser.h b/submodules/RLottie/Sources/rlottie/src/lottie/lottieparser.h deleted file mode 100644 index 21e5ae8a43..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/lottieparser.h +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef LOTTIEPARSER_H -#define LOTTIEPARSER_H - -#include "lottiemodel.h" - -class LottieParserImpl; -class LottieParser { -public: - ~LottieParser(); - LottieParser(char* str, const char *dir_path); - std::shared_ptr model(); -private: - LottieParserImpl *d; -}; - -#endif // LOTTIEPARSER_H diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/lottieproxymodel.cpp b/submodules/RLottie/Sources/rlottie/src/lottie/lottieproxymodel.cpp deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/lottieproxymodel.h b/submodules/RLottie/Sources/rlottie/src/lottie/lottieproxymodel.h deleted file mode 100644 index 8b5ad17594..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/lottieproxymodel.h +++ /dev/null @@ -1,335 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef LOTTIEPROXYMODEL_H -#define LOTTIEPROXYMODEL_H - -#include -#include -#include -#include "lottiemodel.h" -#include "rlottie.h" - -// Naive way to implement std::variant -// refactor it when we move to c++17 -// users should make sure proper combination -// of id and value are passed while creating the object. -class LOTVariant -{ -public: - using ValueFunc = std::function; - using ColorFunc = std::function; - using PointFunc = std::function; - using SizeFunc = std::function; - - LOTVariant(rlottie::Property prop, const ValueFunc &v):mPropery(prop), mTag(Value) - { - construct(impl.valueFunc, v); - } - - LOTVariant(rlottie::Property prop, ValueFunc &&v):mPropery(prop), mTag(Value) - { - moveConstruct(impl.valueFunc, std::move(v)); - } - - LOTVariant(rlottie::Property prop, const ColorFunc &v):mPropery(prop), mTag(Color) - { - construct(impl.colorFunc, v); - } - - LOTVariant(rlottie::Property prop, ColorFunc &&v):mPropery(prop), mTag(Color) - { - moveConstruct(impl.colorFunc, std::move(v)); - } - - LOTVariant(rlottie::Property prop, const PointFunc &v):mPropery(prop), mTag(Point) - { - construct(impl.pointFunc, v); - } - - LOTVariant(rlottie::Property prop, PointFunc &&v):mPropery(prop), mTag(Point) - { - moveConstruct(impl.pointFunc, std::move(v)); - } - - LOTVariant(rlottie::Property prop, const SizeFunc &v):mPropery(prop), mTag(Size) - { - construct(impl.sizeFunc, v); - } - - LOTVariant(rlottie::Property prop, SizeFunc &&v):mPropery(prop), mTag(Size) - { - moveConstruct(impl.sizeFunc, std::move(v)); - } - - rlottie::Property property() const { return mPropery; } - - const ColorFunc& color() const - { - assert(mTag == Color); - return impl.colorFunc; - } - - const ValueFunc& value() const - { - assert(mTag == Value); - return impl.valueFunc; - } - - const PointFunc& point() const - { - assert(mTag == Point); - return impl.pointFunc; - } - - const SizeFunc& size() const - { - assert(mTag == Size); - return impl.sizeFunc; - } - - LOTVariant() = default; - ~LOTVariant() noexcept {Destroy();} - LOTVariant(const LOTVariant& other) { Copy(other);} - LOTVariant(LOTVariant&& other) noexcept { Move(std::move(other));} - LOTVariant& operator=(LOTVariant&& other) { Destroy(); Move(std::move(other)); return *this;} - LOTVariant& operator=(const LOTVariant& other) { Destroy(); Copy(other); return *this;} -private: - template - void construct(T& member, const T& val) - { - new (&member) T(val); - } - - template - void moveConstruct(T& member, T&& val) - { - new (&member) T(std::move(val)); - } - - void Move(LOTVariant&& other) - { - switch (other.mTag) { - case Type::Value: - moveConstruct(impl.valueFunc, std::move(other.impl.valueFunc)); - break; - case Type::Color: - moveConstruct(impl.colorFunc, std::move(other.impl.colorFunc)); - break; - case Type::Point: - moveConstruct(impl.pointFunc, std::move(other.impl.pointFunc)); - break; - case Type::Size: - moveConstruct(impl.sizeFunc, std::move(other.impl.sizeFunc)); - break; - default: - break; - } - mTag = other.mTag; - mPropery = other.mPropery; - other.mTag = MonoState; - } - - void Copy(const LOTVariant& other) - { - switch (other.mTag) { - case Type::Value: - construct(impl.valueFunc, other.impl.valueFunc); - break; - case Type::Color: - construct(impl.colorFunc, other.impl.colorFunc); - break; - case Type::Point: - construct(impl.pointFunc, other.impl.pointFunc); - break; - case Type::Size: - construct(impl.sizeFunc, other.impl.sizeFunc); - break; - default: - break; - } - mTag = other.mTag; - mPropery = other.mPropery; - } - - void Destroy() - { - switch(mTag) { - case MonoState: { - break; - } - case Value: { - impl.valueFunc.~ValueFunc(); - break; - } - case Color: { - impl.colorFunc.~ColorFunc(); - break; - } - case Point: { - impl.pointFunc.~PointFunc(); - break; - } - case Size: { - impl.sizeFunc.~SizeFunc(); - break; - } - } - } - - enum Type {MonoState, Value, Color, Point , Size}; - rlottie::Property mPropery; - Type mTag{MonoState}; - union details{ - ColorFunc colorFunc; - ValueFunc valueFunc; - PointFunc pointFunc; - SizeFunc sizeFunc; - details(){} - ~details(){} - }impl; -}; - -class LOTFilter -{ -public: - void addValue(LOTVariant &value) - { - uint index = static_cast(value.property()); - if (mBitset.test(index)) { - std::replace_if(mFilters.begin(), - mFilters.end(), - [&value](const LOTVariant &e) {return e.property() == value.property();}, - value); - } else { - mBitset.set(index); - mFilters.push_back(value); - } - } - - void removeValue(LOTVariant &value) - { - uint index = static_cast(value.property()); - if (mBitset.test(index)) { - mBitset.reset(index); - mFilters.erase(std::remove_if(mFilters.begin(), - mFilters.end(), - [&value](const LOTVariant &e) {return e.property() == value.property();}), - mFilters.end()); - } - } - bool hasFilter(rlottie::Property prop) const - { - return mBitset.test(static_cast(prop)); - } - LottieColor color(rlottie::Property prop, int frame) const - { - rlottie::FrameInfo info(frame); - rlottie::Color col = data(prop).color()(info); - return LottieColor(col.r(), col.g(), col.b()); - } - float opacity(rlottie::Property prop, int frame) const - { - rlottie::FrameInfo info(frame); - float val = data(prop).value()(info); - return val/100; - } - float value(rlottie::Property prop, int frame) const - { - rlottie::FrameInfo info(frame); - return data(prop).value()(info); - } -private: - const LOTVariant& data(rlottie::Property prop) const - { - auto result = std::find_if(mFilters.begin(), - mFilters.end(), - [prop](const LOTVariant &e){return e.property() == prop;}); - return *result; - } - std::bitset<32> mBitset{0}; - std::vector mFilters; -}; - -template -class LOTProxyModel -{ -public: - LOTProxyModel(T *model): _modelData(model) {} - LOTFilter& filter() {return mFilter;} - const std::string & name() const {return _modelData->name();} - LottieColor color(int frame) const - { - if (mFilter.hasFilter(rlottie::Property::StrokeColor)) { - return mFilter.color(rlottie::Property::StrokeColor, frame); - } - return _modelData->color(frame); - } - float opacity(int frame) const - { - if (mFilter.hasFilter(rlottie::Property::StrokeOpacity)) { - return mFilter.opacity(rlottie::Property::StrokeOpacity, frame); - } - return _modelData->opacity(frame); - } - float strokeWidth(int frame) const - { - if (mFilter.hasFilter(rlottie::Property::StrokeWidth)) { - return mFilter.value(rlottie::Property::StrokeWidth, frame); - } - return _modelData->strokeWidth(frame); - } - float meterLimit() const {return _modelData->meterLimit();} - CapStyle capStyle() const {return _modelData->capStyle();} - JoinStyle joinStyle() const {return _modelData->joinStyle();} - bool hasDashInfo() const { return _modelData->hasDashInfo();} - int getDashInfo(int frameNo, float *array) const {return _modelData->getDashInfo(frameNo, array);} - -private: - T *_modelData; - LOTFilter mFilter; -}; - -template <> -class LOTProxyModel -{ -public: - LOTProxyModel(LOTFillData *model): _modelData(model) {} - LOTFilter& filter() {return mFilter;} - const std::string & name() const {return _modelData->name();} - LottieColor color(int frame) const - { - if (mFilter.hasFilter(rlottie::Property::FillColor)) { - return mFilter.color(rlottie::Property::FillColor, frame); - } - return _modelData->color(frame); - } - float opacity(int frame) const - { - if (mFilter.hasFilter(rlottie::Property::FillOpacity)) { - return mFilter.opacity(rlottie::Property::FillOpacity, frame); - } - return _modelData->opacity(frame); - } - FillRule fillRule() const {return _modelData->fillRule();} -private: - LOTFillData *_modelData; - LOTFilter mFilter; -}; - -#endif // LOTTIEITEM_H diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/meson.build b/submodules/RLottie/Sources/rlottie/src/lottie/meson.build deleted file mode 100644 index a6d1856ba7..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/meson.build +++ /dev/null @@ -1,14 +0,0 @@ - -source_file = files('lottieparser.cpp') -source_file += files('lottieloader.cpp') -source_file += files('lottiemodel.cpp') -source_file += files('lottieproxymodel.cpp') -source_file += files('lottieanimation.cpp') -source_file += files('lottieitem.cpp') -source_file += files('lottiekeypath.cpp') - - -lottie_dep = declare_dependency( - include_directories : include_directories('.'), - sources : source_file - ) diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/allocators.h b/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/allocators.h deleted file mode 100644 index cc67c89713..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/allocators.h +++ /dev/null @@ -1,284 +0,0 @@ -// Tencent is pleased to support the open source community by making RapidJSON available. -// -// Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. -// -// Licensed under the MIT License (the "License"); you may not use this file except -// in compliance with the License. You may obtain a copy of the License at -// -// http://opensource.org/licenses/MIT -// -// Unless required by applicable law or agreed to in writing, software distributed -// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -// CONDITIONS OF ANY KIND, either express or implied. See the License for the -// specific language governing permissions and limitations under the License. - -#ifndef RAPIDJSON_ALLOCATORS_H_ -#define RAPIDJSON_ALLOCATORS_H_ - -#include "rapidjson.h" - -RAPIDJSON_NAMESPACE_BEGIN - -/////////////////////////////////////////////////////////////////////////////// -// Allocator - -/*! \class rapidjson::Allocator - \brief Concept for allocating, resizing and freeing memory block. - - Note that Malloc() and Realloc() are non-static but Free() is static. - - So if an allocator need to support Free(), it needs to put its pointer in - the header of memory block. - -\code -concept Allocator { - static const bool kNeedFree; //!< Whether this allocator needs to call Free(). - - // Allocate a memory block. - // \param size of the memory block in bytes. - // \returns pointer to the memory block. - void* Malloc(size_t size); - - // Resize a memory block. - // \param originalPtr The pointer to current memory block. Null pointer is permitted. - // \param originalSize The current size in bytes. (Design issue: since some allocator may not book-keep this, explicitly pass to it can save memory.) - // \param newSize the new size in bytes. - void* Realloc(void* originalPtr, size_t originalSize, size_t newSize); - - // Free a memory block. - // \param pointer to the memory block. Null pointer is permitted. - static void Free(void *ptr); -}; -\endcode -*/ - - -/*! \def RAPIDJSON_ALLOCATOR_DEFAULT_CHUNK_CAPACITY - \ingroup RAPIDJSON_CONFIG - \brief User-defined kDefaultChunkCapacity definition. - - User can define this as any \c size that is a power of 2. -*/ - -#ifndef RAPIDJSON_ALLOCATOR_DEFAULT_CHUNK_CAPACITY -#define RAPIDJSON_ALLOCATOR_DEFAULT_CHUNK_CAPACITY (64 * 1024) -#endif - - -/////////////////////////////////////////////////////////////////////////////// -// CrtAllocator - -//! C-runtime library allocator. -/*! This class is just wrapper for standard C library memory routines. - \note implements Allocator concept -*/ -class CrtAllocator { -public: - static const bool kNeedFree = true; - void* Malloc(size_t size) { - if (size) // behavior of malloc(0) is implementation defined. - return std::malloc(size); - else - return NULL; // standardize to returning NULL. - } - void* Realloc(void* originalPtr, size_t originalSize, size_t newSize) { - (void)originalSize; - if (newSize == 0) { - std::free(originalPtr); - return NULL; - } - return std::realloc(originalPtr, newSize); - } - static void Free(void *ptr) { std::free(ptr); } -}; - -/////////////////////////////////////////////////////////////////////////////// -// MemoryPoolAllocator - -//! Default memory allocator used by the parser and DOM. -/*! This allocator allocate memory blocks from pre-allocated memory chunks. - - It does not free memory blocks. And Realloc() only allocate new memory. - - The memory chunks are allocated by BaseAllocator, which is CrtAllocator by default. - - User may also supply a buffer as the first chunk. - - If the user-buffer is full then additional chunks are allocated by BaseAllocator. - - The user-buffer is not deallocated by this allocator. - - \tparam BaseAllocator the allocator type for allocating memory chunks. Default is CrtAllocator. - \note implements Allocator concept -*/ -template -class MemoryPoolAllocator { -public: - static const bool kNeedFree = false; //!< Tell users that no need to call Free() with this allocator. (concept Allocator) - - //! Constructor with chunkSize. - /*! \param chunkSize The size of memory chunk. The default is kDefaultChunkSize. - \param baseAllocator The allocator for allocating memory chunks. - */ - MemoryPoolAllocator(size_t chunkSize = kDefaultChunkCapacity, BaseAllocator* baseAllocator = 0) : - chunkHead_(0), chunk_capacity_(chunkSize), userBuffer_(0), baseAllocator_(baseAllocator), ownBaseAllocator_(0) - { - } - - //! Constructor with user-supplied buffer. - /*! The user buffer will be used firstly. When it is full, memory pool allocates new chunk with chunk size. - - The user buffer will not be deallocated when this allocator is destructed. - - \param buffer User supplied buffer. - \param size Size of the buffer in bytes. It must at least larger than sizeof(ChunkHeader). - \param chunkSize The size of memory chunk. The default is kDefaultChunkSize. - \param baseAllocator The allocator for allocating memory chunks. - */ - MemoryPoolAllocator(void *buffer, size_t size, size_t chunkSize = kDefaultChunkCapacity, BaseAllocator* baseAllocator = 0) : - chunkHead_(0), chunk_capacity_(chunkSize), userBuffer_(buffer), baseAllocator_(baseAllocator), ownBaseAllocator_(0) - { - RAPIDJSON_ASSERT(buffer != 0); - RAPIDJSON_ASSERT(size > sizeof(ChunkHeader)); - chunkHead_ = reinterpret_cast(buffer); - chunkHead_->capacity = size - sizeof(ChunkHeader); - chunkHead_->size = 0; - chunkHead_->next = 0; - } - - //! Destructor. - /*! This deallocates all memory chunks, excluding the user-supplied buffer. - */ - ~MemoryPoolAllocator() { - Clear(); - RAPIDJSON_DELETE(ownBaseAllocator_); - } - - //! Deallocates all memory chunks, excluding the user-supplied buffer. - void Clear() { - while (chunkHead_ && chunkHead_ != userBuffer_) { - ChunkHeader* next = chunkHead_->next; - baseAllocator_->Free(chunkHead_); - chunkHead_ = next; - } - if (chunkHead_ && chunkHead_ == userBuffer_) - chunkHead_->size = 0; // Clear user buffer - } - - //! Computes the total capacity of allocated memory chunks. - /*! \return total capacity in bytes. - */ - size_t Capacity() const { - size_t capacity = 0; - for (ChunkHeader* c = chunkHead_; c != 0; c = c->next) - capacity += c->capacity; - return capacity; - } - - //! Computes the memory blocks allocated. - /*! \return total used bytes. - */ - size_t Size() const { - size_t size = 0; - for (ChunkHeader* c = chunkHead_; c != 0; c = c->next) - size += c->size; - return size; - } - - //! Allocates a memory block. (concept Allocator) - void* Malloc(size_t size) { - if (!size) - return NULL; - - size = RAPIDJSON_ALIGN(size); - if (chunkHead_ == 0 || chunkHead_->size + size > chunkHead_->capacity) - if (!AddChunk(chunk_capacity_ > size ? chunk_capacity_ : size)) - return NULL; - - void *buffer = reinterpret_cast(chunkHead_) + RAPIDJSON_ALIGN(sizeof(ChunkHeader)) + chunkHead_->size; - chunkHead_->size += size; - return buffer; - } - - //! Resizes a memory block (concept Allocator) - void* Realloc(void* originalPtr, size_t originalSize, size_t newSize) { - if (originalPtr == 0) - return Malloc(newSize); - - if (newSize == 0) - return NULL; - - originalSize = RAPIDJSON_ALIGN(originalSize); - newSize = RAPIDJSON_ALIGN(newSize); - - // Do not shrink if new size is smaller than original - if (originalSize >= newSize) - return originalPtr; - - // Simply expand it if it is the last allocation and there is sufficient space - if (originalPtr == reinterpret_cast(chunkHead_) + RAPIDJSON_ALIGN(sizeof(ChunkHeader)) + chunkHead_->size - originalSize) { - size_t increment = static_cast(newSize - originalSize); - if (chunkHead_->size + increment <= chunkHead_->capacity) { - chunkHead_->size += increment; - return originalPtr; - } - } - - // Realloc process: allocate and copy memory, do not free original buffer. - if (void* newBuffer = Malloc(newSize)) { - if (originalSize) - std::memcpy(newBuffer, originalPtr, originalSize); - return newBuffer; - } - else - return NULL; - } - - //! Frees a memory block (concept Allocator) - static void Free(void *ptr) { (void)ptr; } // Do nothing - -private: - //! Copy constructor is not permitted. - MemoryPoolAllocator(const MemoryPoolAllocator& rhs) /* = delete */; - //! Copy assignment operator is not permitted. - MemoryPoolAllocator& operator=(const MemoryPoolAllocator& rhs) /* = delete */; - - //! Creates a new chunk. - /*! \param capacity Capacity of the chunk in bytes. - \return true if success. - */ - bool AddChunk(size_t capacity) { - if (!baseAllocator_) - ownBaseAllocator_ = baseAllocator_ = RAPIDJSON_NEW(BaseAllocator)(); - if (ChunkHeader* chunk = reinterpret_cast(baseAllocator_->Malloc(RAPIDJSON_ALIGN(sizeof(ChunkHeader)) + capacity))) { - chunk->capacity = capacity; - chunk->size = 0; - chunk->next = chunkHead_; - chunkHead_ = chunk; - return true; - } - else - return false; - } - - static const int kDefaultChunkCapacity = RAPIDJSON_ALLOCATOR_DEFAULT_CHUNK_CAPACITY; //!< Default chunk capacity. - - //! Chunk header for perpending to each chunk. - /*! Chunks are stored as a singly linked list. - */ - struct ChunkHeader { - size_t capacity; //!< Capacity of the chunk in bytes (excluding the header itself). - size_t size; //!< Current size of allocated memory in bytes. - ChunkHeader *next; //!< Next chunk in the linked list. - }; - - ChunkHeader *chunkHead_; //!< Head of the chunk linked-list. Only the head chunk serves allocation. - size_t chunk_capacity_; //!< The minimum capacity of chunk when they are allocated. - void *userBuffer_; //!< User supplied buffer. - BaseAllocator* baseAllocator_; //!< base allocator for allocating memory chunks. - BaseAllocator* ownBaseAllocator_; //!< base allocator created by this object. -}; - -RAPIDJSON_NAMESPACE_END - -#endif // RAPIDJSON_ENCODINGS_H_ diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/cursorstreamwrapper.h b/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/cursorstreamwrapper.h deleted file mode 100644 index 52c11a7c01..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/cursorstreamwrapper.h +++ /dev/null @@ -1,78 +0,0 @@ -// Tencent is pleased to support the open source community by making RapidJSON available. -// -// Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. -// -// Licensed under the MIT License (the "License"); you may not use this file except -// in compliance with the License. You may obtain a copy of the License at -// -// http://opensource.org/licenses/MIT -// -// Unless required by applicable law or agreed to in writing, software distributed -// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -// CONDITIONS OF ANY KIND, either express or implied. See the License for the -// specific language governing permissions and limitations under the License. - -#ifndef RAPIDJSON_CURSORSTREAMWRAPPER_H_ -#define RAPIDJSON_CURSORSTREAMWRAPPER_H_ - -#include "stream.h" - -#if defined(__GNUC__) -RAPIDJSON_DIAG_PUSH -RAPIDJSON_DIAG_OFF(effc++) -#endif - -#if defined(_MSC_VER) && _MSC_VER <= 1800 -RAPIDJSON_DIAG_PUSH -RAPIDJSON_DIAG_OFF(4702) // unreachable code -RAPIDJSON_DIAG_OFF(4512) // assignment operator could not be generated -#endif - -RAPIDJSON_NAMESPACE_BEGIN - - -//! Cursor stream wrapper for counting line and column number if error exists. -/*! - \tparam InputStream Any stream that implements Stream Concept -*/ -template > -class CursorStreamWrapper : public GenericStreamWrapper { -public: - typedef typename Encoding::Ch Ch; - - CursorStreamWrapper(InputStream& is): - GenericStreamWrapper(is), line_(1), col_(0) {} - - // counting line and column number - Ch Take() { - Ch ch = this->is_.Take(); - if(ch == '\n') { - line_ ++; - col_ = 0; - } else { - col_ ++; - } - return ch; - } - - //! Get the error line number, if error exists. - size_t GetLine() const { return line_; } - //! Get the error column number, if error exists. - size_t GetColumn() const { return col_; } - -private: - size_t line_; //!< Current Line - size_t col_; //!< Current Column -}; - -#if defined(_MSC_VER) && _MSC_VER <= 1800 -RAPIDJSON_DIAG_POP -#endif - -#if defined(__GNUC__) -RAPIDJSON_DIAG_POP -#endif - -RAPIDJSON_NAMESPACE_END - -#endif // RAPIDJSON_CURSORSTREAMWRAPPER_H_ diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/document.h b/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/document.h deleted file mode 100644 index d1b90eb0b4..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/document.h +++ /dev/null @@ -1,2652 +0,0 @@ -// Tencent is pleased to support the open source community by making RapidJSON available. -// -// Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. -// -// Licensed under the MIT License (the "License"); you may not use this file except -// in compliance with the License. You may obtain a copy of the License at -// -// http://opensource.org/licenses/MIT -// -// Unless required by applicable law or agreed to in writing, software distributed -// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -// CONDITIONS OF ANY KIND, either express or implied. See the License for the -// specific language governing permissions and limitations under the License. - -#ifndef RAPIDJSON_DOCUMENT_H_ -#define RAPIDJSON_DOCUMENT_H_ - -/*! \file document.h */ - -#include "reader.h" -#include "internal/meta.h" -#include "internal/strfunc.h" -#include "memorystream.h" -#include "encodedstream.h" -#include // placement new -#include - -RAPIDJSON_DIAG_PUSH -#ifdef __clang__ -RAPIDJSON_DIAG_OFF(padded) -RAPIDJSON_DIAG_OFF(switch-enum) -RAPIDJSON_DIAG_OFF(c++98-compat) -#elif defined(_MSC_VER) -RAPIDJSON_DIAG_OFF(4127) // conditional expression is constant -RAPIDJSON_DIAG_OFF(4244) // conversion from kXxxFlags to 'uint16_t', possible loss of data -#endif - -#ifdef __GNUC__ -RAPIDJSON_DIAG_OFF(effc++) -#endif // __GNUC__ - -#ifndef RAPIDJSON_NOMEMBERITERATORCLASS -#include // std::random_access_iterator_tag -#endif - -#if RAPIDJSON_HAS_CXX11_RVALUE_REFS -#include // std::move -#endif - -RAPIDJSON_NAMESPACE_BEGIN - -// Forward declaration. -template -class GenericValue; - -template -class GenericDocument; - -//! Name-value pair in a JSON object value. -/*! - This class was internal to GenericValue. It used to be a inner struct. - But a compiler (IBM XL C/C++ for AIX) have reported to have problem with that so it moved as a namespace scope struct. - https://code.google.com/p/rapidjson/issues/detail?id=64 -*/ -template -struct GenericMember { - GenericValue name; //!< name of member (must be a string) - GenericValue value; //!< value of member. - - // swap() for std::sort() and other potential use in STL. - friend inline void swap(GenericMember& a, GenericMember& b) RAPIDJSON_NOEXCEPT { - a.name.Swap(b.name); - a.value.Swap(b.value); - } -}; - -/////////////////////////////////////////////////////////////////////////////// -// GenericMemberIterator - -#ifndef RAPIDJSON_NOMEMBERITERATORCLASS - -//! (Constant) member iterator for a JSON object value -/*! - \tparam Const Is this a constant iterator? - \tparam Encoding Encoding of the value. (Even non-string values need to have the same encoding in a document) - \tparam Allocator Allocator type for allocating memory of object, array and string. - - This class implements a Random Access Iterator for GenericMember elements - of a GenericValue, see ISO/IEC 14882:2003(E) C++ standard, 24.1 [lib.iterator.requirements]. - - \note This iterator implementation is mainly intended to avoid implicit - conversions from iterator values to \c NULL, - e.g. from GenericValue::FindMember. - - \note Define \c RAPIDJSON_NOMEMBERITERATORCLASS to fall back to a - pointer-based implementation, if your platform doesn't provide - the C++ header. - - \see GenericMember, GenericValue::MemberIterator, GenericValue::ConstMemberIterator - */ -template -class GenericMemberIterator { - - friend class GenericValue; - template friend class GenericMemberIterator; - - typedef GenericMember PlainType; - typedef typename internal::MaybeAddConst::Type ValueType; - -public: - //! Iterator type itself - typedef GenericMemberIterator Iterator; - //! Constant iterator type - typedef GenericMemberIterator ConstIterator; - //! Non-constant iterator type - typedef GenericMemberIterator NonConstIterator; - - /** \name std::iterator_traits support */ - //@{ - typedef ValueType value_type; - typedef ValueType * pointer; - typedef ValueType & reference; - typedef std::ptrdiff_t difference_type; - typedef std::random_access_iterator_tag iterator_category; - //@} - - //! Pointer to (const) GenericMember - typedef pointer Pointer; - //! Reference to (const) GenericMember - typedef reference Reference; - //! Signed integer type (e.g. \c ptrdiff_t) - typedef difference_type DifferenceType; - - //! Default constructor (singular value) - /*! Creates an iterator pointing to no element. - \note All operations, except for comparisons, are undefined on such values. - */ - GenericMemberIterator() : ptr_() {} - - //! Iterator conversions to more const - /*! - \param it (Non-const) iterator to copy from - - Allows the creation of an iterator from another GenericMemberIterator - that is "less const". Especially, creating a non-constant iterator - from a constant iterator are disabled: - \li const -> non-const (not ok) - \li const -> const (ok) - \li non-const -> const (ok) - \li non-const -> non-const (ok) - - \note If the \c Const template parameter is already \c false, this - constructor effectively defines a regular copy-constructor. - Otherwise, the copy constructor is implicitly defined. - */ - GenericMemberIterator(const NonConstIterator & it) : ptr_(it.ptr_) {} - Iterator& operator=(const NonConstIterator & it) { ptr_ = it.ptr_; return *this; } - - //! @name stepping - //@{ - Iterator& operator++(){ ++ptr_; return *this; } - Iterator& operator--(){ --ptr_; return *this; } - Iterator operator++(int){ Iterator old(*this); ++ptr_; return old; } - Iterator operator--(int){ Iterator old(*this); --ptr_; return old; } - //@} - - //! @name increment/decrement - //@{ - Iterator operator+(DifferenceType n) const { return Iterator(ptr_+n); } - Iterator operator-(DifferenceType n) const { return Iterator(ptr_-n); } - - Iterator& operator+=(DifferenceType n) { ptr_+=n; return *this; } - Iterator& operator-=(DifferenceType n) { ptr_-=n; return *this; } - //@} - - //! @name relations - //@{ - bool operator==(ConstIterator that) const { return ptr_ == that.ptr_; } - bool operator!=(ConstIterator that) const { return ptr_ != that.ptr_; } - bool operator<=(ConstIterator that) const { return ptr_ <= that.ptr_; } - bool operator>=(ConstIterator that) const { return ptr_ >= that.ptr_; } - bool operator< (ConstIterator that) const { return ptr_ < that.ptr_; } - bool operator> (ConstIterator that) const { return ptr_ > that.ptr_; } - //@} - - //! @name dereference - //@{ - Reference operator*() const { return *ptr_; } - Pointer operator->() const { return ptr_; } - Reference operator[](DifferenceType n) const { return ptr_[n]; } - //@} - - //! Distance - DifferenceType operator-(ConstIterator that) const { return ptr_-that.ptr_; } - -private: - //! Internal constructor from plain pointer - explicit GenericMemberIterator(Pointer p) : ptr_(p) {} - - Pointer ptr_; //!< raw pointer -}; - -#else // RAPIDJSON_NOMEMBERITERATORCLASS - -// class-based member iterator implementation disabled, use plain pointers - -template -struct GenericMemberIterator; - -//! non-const GenericMemberIterator -template -struct GenericMemberIterator { - //! use plain pointer as iterator type - typedef GenericMember* Iterator; -}; -//! const GenericMemberIterator -template -struct GenericMemberIterator { - //! use plain const pointer as iterator type - typedef const GenericMember* Iterator; -}; - -#endif // RAPIDJSON_NOMEMBERITERATORCLASS - -/////////////////////////////////////////////////////////////////////////////// -// GenericStringRef - -//! Reference to a constant string (not taking a copy) -/*! - \tparam CharType character type of the string - - This helper class is used to automatically infer constant string - references for string literals, especially from \c const \b (!) - character arrays. - - The main use is for creating JSON string values without copying the - source string via an \ref Allocator. This requires that the referenced - string pointers have a sufficient lifetime, which exceeds the lifetime - of the associated GenericValue. - - \b Example - \code - Value v("foo"); // ok, no need to copy & calculate length - const char foo[] = "foo"; - v.SetString(foo); // ok - - const char* bar = foo; - // Value x(bar); // not ok, can't rely on bar's lifetime - Value x(StringRef(bar)); // lifetime explicitly guaranteed by user - Value y(StringRef(bar, 3)); // ok, explicitly pass length - \endcode - - \see StringRef, GenericValue::SetString -*/ -template -struct GenericStringRef { - typedef CharType Ch; //!< character type of the string - - //! Create string reference from \c const character array -#ifndef __clang__ // -Wdocumentation - /*! - This constructor implicitly creates a constant string reference from - a \c const character array. It has better performance than - \ref StringRef(const CharType*) by inferring the string \ref length - from the array length, and also supports strings containing null - characters. - - \tparam N length of the string, automatically inferred - - \param str Constant character array, lifetime assumed to be longer - than the use of the string in e.g. a GenericValue - - \post \ref s == str - - \note Constant complexity. - \note There is a hidden, private overload to disallow references to - non-const character arrays to be created via this constructor. - By this, e.g. function-scope arrays used to be filled via - \c snprintf are excluded from consideration. - In such cases, the referenced string should be \b copied to the - GenericValue instead. - */ -#endif - template - GenericStringRef(const CharType (&str)[N]) RAPIDJSON_NOEXCEPT - : s(str), length(N-1) {} - - //! Explicitly create string reference from \c const character pointer -#ifndef __clang__ // -Wdocumentation - /*! - This constructor can be used to \b explicitly create a reference to - a constant string pointer. - - \see StringRef(const CharType*) - - \param str Constant character pointer, lifetime assumed to be longer - than the use of the string in e.g. a GenericValue - - \post \ref s == str - - \note There is a hidden, private overload to disallow references to - non-const character arrays to be created via this constructor. - By this, e.g. function-scope arrays used to be filled via - \c snprintf are excluded from consideration. - In such cases, the referenced string should be \b copied to the - GenericValue instead. - */ -#endif - explicit GenericStringRef(const CharType* str) - : s(str), length(NotNullStrLen(str)) {} - - //! Create constant string reference from pointer and length -#ifndef __clang__ // -Wdocumentation - /*! \param str constant string, lifetime assumed to be longer than the use of the string in e.g. a GenericValue - \param len length of the string, excluding the trailing NULL terminator - - \post \ref s == str && \ref length == len - \note Constant complexity. - */ -#endif - GenericStringRef(const CharType* str, SizeType len) - : s(RAPIDJSON_LIKELY(str) ? str : emptyString), length(len) { RAPIDJSON_ASSERT(str != 0 || len == 0u); } - - GenericStringRef(const GenericStringRef& rhs) : s(rhs.s), length(rhs.length) {} - - //! implicit conversion to plain CharType pointer - operator const Ch *() const { return s; } - - const Ch* const s; //!< plain CharType pointer - const SizeType length; //!< length of the string (excluding the trailing NULL terminator) - -private: - SizeType NotNullStrLen(const CharType* str) { - RAPIDJSON_ASSERT(str != 0); - return internal::StrLen(str); - } - - /// Empty string - used when passing in a NULL pointer - static const Ch emptyString[]; - - //! Disallow construction from non-const array - template - GenericStringRef(CharType (&str)[N]) /* = delete */; - //! Copy assignment operator not permitted - immutable type - GenericStringRef& operator=(const GenericStringRef& rhs) /* = delete */; -}; - -template -const CharType GenericStringRef::emptyString[] = { CharType() }; - -//! Mark a character pointer as constant string -/*! Mark a plain character pointer as a "string literal". This function - can be used to avoid copying a character string to be referenced as a - value in a JSON GenericValue object, if the string's lifetime is known - to be valid long enough. - \tparam CharType Character type of the string - \param str Constant string, lifetime assumed to be longer than the use of the string in e.g. a GenericValue - \return GenericStringRef string reference object - \relatesalso GenericStringRef - - \see GenericValue::GenericValue(StringRefType), GenericValue::operator=(StringRefType), GenericValue::SetString(StringRefType), GenericValue::PushBack(StringRefType, Allocator&), GenericValue::AddMember -*/ -template -inline GenericStringRef StringRef(const CharType* str) { - return GenericStringRef(str); -} - -//! Mark a character pointer as constant string -/*! Mark a plain character pointer as a "string literal". This function - can be used to avoid copying a character string to be referenced as a - value in a JSON GenericValue object, if the string's lifetime is known - to be valid long enough. - - This version has better performance with supplied length, and also - supports string containing null characters. - - \tparam CharType character type of the string - \param str Constant string, lifetime assumed to be longer than the use of the string in e.g. a GenericValue - \param length The length of source string. - \return GenericStringRef string reference object - \relatesalso GenericStringRef -*/ -template -inline GenericStringRef StringRef(const CharType* str, size_t length) { - return GenericStringRef(str, SizeType(length)); -} - -#if RAPIDJSON_HAS_STDSTRING -//! Mark a string object as constant string -/*! Mark a string object (e.g. \c std::string) as a "string literal". - This function can be used to avoid copying a string to be referenced as a - value in a JSON GenericValue object, if the string's lifetime is known - to be valid long enough. - - \tparam CharType character type of the string - \param str Constant string, lifetime assumed to be longer than the use of the string in e.g. a GenericValue - \return GenericStringRef string reference object - \relatesalso GenericStringRef - \note Requires the definition of the preprocessor symbol \ref RAPIDJSON_HAS_STDSTRING. -*/ -template -inline GenericStringRef StringRef(const std::basic_string& str) { - return GenericStringRef(str.data(), SizeType(str.size())); -} -#endif - -/////////////////////////////////////////////////////////////////////////////// -// GenericValue type traits -namespace internal { - -template -struct IsGenericValueImpl : FalseType {}; - -// select candidates according to nested encoding and allocator types -template struct IsGenericValueImpl::Type, typename Void::Type> - : IsBaseOf, T>::Type {}; - -// helper to match arbitrary GenericValue instantiations, including derived classes -template struct IsGenericValue : IsGenericValueImpl::Type {}; - -} // namespace internal - -/////////////////////////////////////////////////////////////////////////////// -// TypeHelper - -namespace internal { - -template -struct TypeHelper {}; - -template -struct TypeHelper { - static bool Is(const ValueType& v) { return v.IsBool(); } - static bool Get(const ValueType& v) { return v.GetBool(); } - static ValueType& Set(ValueType& v, bool data) { return v.SetBool(data); } - static ValueType& Set(ValueType& v, bool data, typename ValueType::AllocatorType&) { return v.SetBool(data); } -}; - -template -struct TypeHelper { - static bool Is(const ValueType& v) { return v.IsInt(); } - static int Get(const ValueType& v) { return v.GetInt(); } - static ValueType& Set(ValueType& v, int data) { return v.SetInt(data); } - static ValueType& Set(ValueType& v, int data, typename ValueType::AllocatorType&) { return v.SetInt(data); } -}; - -template -struct TypeHelper { - static bool Is(const ValueType& v) { return v.IsUint(); } - static unsigned Get(const ValueType& v) { return v.GetUint(); } - static ValueType& Set(ValueType& v, unsigned data) { return v.SetUint(data); } - static ValueType& Set(ValueType& v, unsigned data, typename ValueType::AllocatorType&) { return v.SetUint(data); } -}; - -#ifdef _MSC_VER -RAPIDJSON_STATIC_ASSERT(sizeof(long) == sizeof(int)); -template -struct TypeHelper { - static bool Is(const ValueType& v) { return v.IsInt(); } - static long Get(const ValueType& v) { return v.GetInt(); } - static ValueType& Set(ValueType& v, long data) { return v.SetInt(data); } - static ValueType& Set(ValueType& v, long data, typename ValueType::AllocatorType&) { return v.SetInt(data); } -}; - -RAPIDJSON_STATIC_ASSERT(sizeof(unsigned long) == sizeof(unsigned)); -template -struct TypeHelper { - static bool Is(const ValueType& v) { return v.IsUint(); } - static unsigned long Get(const ValueType& v) { return v.GetUint(); } - static ValueType& Set(ValueType& v, unsigned long data) { return v.SetUint(data); } - static ValueType& Set(ValueType& v, unsigned long data, typename ValueType::AllocatorType&) { return v.SetUint(data); } -}; -#endif - -template -struct TypeHelper { - static bool Is(const ValueType& v) { return v.IsInt64(); } - static int64_t Get(const ValueType& v) { return v.GetInt64(); } - static ValueType& Set(ValueType& v, int64_t data) { return v.SetInt64(data); } - static ValueType& Set(ValueType& v, int64_t data, typename ValueType::AllocatorType&) { return v.SetInt64(data); } -}; - -template -struct TypeHelper { - static bool Is(const ValueType& v) { return v.IsUint64(); } - static uint64_t Get(const ValueType& v) { return v.GetUint64(); } - static ValueType& Set(ValueType& v, uint64_t data) { return v.SetUint64(data); } - static ValueType& Set(ValueType& v, uint64_t data, typename ValueType::AllocatorType&) { return v.SetUint64(data); } -}; - -template -struct TypeHelper { - static bool Is(const ValueType& v) { return v.IsDouble(); } - static double Get(const ValueType& v) { return v.GetDouble(); } - static ValueType& Set(ValueType& v, double data) { return v.SetDouble(data); } - static ValueType& Set(ValueType& v, double data, typename ValueType::AllocatorType&) { return v.SetDouble(data); } -}; - -template -struct TypeHelper { - static bool Is(const ValueType& v) { return v.IsFloat(); } - static float Get(const ValueType& v) { return v.GetFloat(); } - static ValueType& Set(ValueType& v, float data) { return v.SetFloat(data); } - static ValueType& Set(ValueType& v, float data, typename ValueType::AllocatorType&) { return v.SetFloat(data); } -}; - -template -struct TypeHelper { - typedef const typename ValueType::Ch* StringType; - static bool Is(const ValueType& v) { return v.IsString(); } - static StringType Get(const ValueType& v) { return v.GetString(); } - static ValueType& Set(ValueType& v, const StringType data) { return v.SetString(typename ValueType::StringRefType(data)); } - static ValueType& Set(ValueType& v, const StringType data, typename ValueType::AllocatorType& a) { return v.SetString(data, a); } -}; - -#if RAPIDJSON_HAS_STDSTRING -template -struct TypeHelper > { - typedef std::basic_string StringType; - static bool Is(const ValueType& v) { return v.IsString(); } - static StringType Get(const ValueType& v) { return StringType(v.GetString(), v.GetStringLength()); } - static ValueType& Set(ValueType& v, const StringType& data, typename ValueType::AllocatorType& a) { return v.SetString(data, a); } -}; -#endif - -template -struct TypeHelper { - typedef typename ValueType::Array ArrayType; - static bool Is(const ValueType& v) { return v.IsArray(); } - static ArrayType Get(ValueType& v) { return v.GetArray(); } - static ValueType& Set(ValueType& v, ArrayType data) { return v = data; } - static ValueType& Set(ValueType& v, ArrayType data, typename ValueType::AllocatorType&) { return v = data; } -}; - -template -struct TypeHelper { - typedef typename ValueType::ConstArray ArrayType; - static bool Is(const ValueType& v) { return v.IsArray(); } - static ArrayType Get(const ValueType& v) { return v.GetArray(); } -}; - -template -struct TypeHelper { - typedef typename ValueType::Object ObjectType; - static bool Is(const ValueType& v) { return v.IsObject(); } - static ObjectType Get(ValueType& v) { return v.GetObject(); } - static ValueType& Set(ValueType& v, ObjectType data) { return v = data; } - static ValueType& Set(ValueType& v, ObjectType data, typename ValueType::AllocatorType&) { return v = data; } -}; - -template -struct TypeHelper { - typedef typename ValueType::ConstObject ObjectType; - static bool Is(const ValueType& v) { return v.IsObject(); } - static ObjectType Get(const ValueType& v) { return v.GetObject(); } -}; - -} // namespace internal - -// Forward declarations -template class GenericArray; -template class GenericObject; - -/////////////////////////////////////////////////////////////////////////////// -// GenericValue - -//! Represents a JSON value. Use Value for UTF8 encoding and default allocator. -/*! - A JSON value can be one of 7 types. This class is a variant type supporting - these types. - - Use the Value if UTF8 and default allocator - - \tparam Encoding Encoding of the value. (Even non-string values need to have the same encoding in a document) - \tparam Allocator Allocator type for allocating memory of object, array and string. -*/ -template > -class GenericValue { -public: - //! Name-value pair in an object. - typedef GenericMember Member; - typedef Encoding EncodingType; //!< Encoding type from template parameter. - typedef Allocator AllocatorType; //!< Allocator type from template parameter. - typedef typename Encoding::Ch Ch; //!< Character type derived from Encoding. - typedef GenericStringRef StringRefType; //!< Reference to a constant string - typedef typename GenericMemberIterator::Iterator MemberIterator; //!< Member iterator for iterating in object. - typedef typename GenericMemberIterator::Iterator ConstMemberIterator; //!< Constant member iterator for iterating in object. - typedef GenericValue* ValueIterator; //!< Value iterator for iterating in array. - typedef const GenericValue* ConstValueIterator; //!< Constant value iterator for iterating in array. - typedef GenericValue ValueType; //!< Value type of itself. - typedef GenericArray Array; - typedef GenericArray ConstArray; - typedef GenericObject Object; - typedef GenericObject ConstObject; - - //!@name Constructors and destructor. - //@{ - - //! Default constructor creates a null value. - GenericValue() RAPIDJSON_NOEXCEPT : data_() { data_.f.flags = kNullFlag; } - -#if RAPIDJSON_HAS_CXX11_RVALUE_REFS - //! Move constructor in C++11 - GenericValue(GenericValue&& rhs) RAPIDJSON_NOEXCEPT : data_(rhs.data_) { - rhs.data_.f.flags = kNullFlag; // give up contents - } -#endif - -private: - //! Copy constructor is not permitted. - GenericValue(const GenericValue& rhs); - -#if RAPIDJSON_HAS_CXX11_RVALUE_REFS - //! Moving from a GenericDocument is not permitted. - template - GenericValue(GenericDocument&& rhs); - - //! Move assignment from a GenericDocument is not permitted. - template - GenericValue& operator=(GenericDocument&& rhs); -#endif - -public: - - //! Constructor with JSON value type. - /*! This creates a Value of specified type with default content. - \param type Type of the value. - \note Default content for number is zero. - */ - explicit GenericValue(Type type) RAPIDJSON_NOEXCEPT : data_() { - static const uint16_t defaultFlags[] = { - kNullFlag, kFalseFlag, kTrueFlag, kObjectFlag, kArrayFlag, kShortStringFlag, - kNumberAnyFlag - }; - RAPIDJSON_NOEXCEPT_ASSERT(type >= kNullType && type <= kNumberType); - data_.f.flags = defaultFlags[type]; - - // Use ShortString to store empty string. - if (type == kStringType) - data_.ss.SetLength(0); - } - - //! Explicit copy constructor (with allocator) - /*! Creates a copy of a Value by using the given Allocator - \tparam SourceAllocator allocator of \c rhs - \param rhs Value to copy from (read-only) - \param allocator Allocator for allocating copied elements and buffers. Commonly use GenericDocument::GetAllocator(). - \param copyConstStrings Force copying of constant strings (e.g. referencing an in-situ buffer) - \see CopyFrom() - */ - template - GenericValue(const GenericValue& rhs, Allocator& allocator, bool copyConstStrings = false) { - switch (rhs.GetType()) { - case kObjectType: { - SizeType count = rhs.data_.o.size; - Member* lm = reinterpret_cast(allocator.Malloc(count * sizeof(Member))); - const typename GenericValue::Member* rm = rhs.GetMembersPointer(); - for (SizeType i = 0; i < count; i++) { - new (&lm[i].name) GenericValue(rm[i].name, allocator, copyConstStrings); - new (&lm[i].value) GenericValue(rm[i].value, allocator, copyConstStrings); - } - data_.f.flags = kObjectFlag; - data_.o.size = data_.o.capacity = count; - SetMembersPointer(lm); - } - break; - case kArrayType: { - SizeType count = rhs.data_.a.size; - GenericValue* le = reinterpret_cast(allocator.Malloc(count * sizeof(GenericValue))); - const GenericValue* re = rhs.GetElementsPointer(); - for (SizeType i = 0; i < count; i++) - new (&le[i]) GenericValue(re[i], allocator, copyConstStrings); - data_.f.flags = kArrayFlag; - data_.a.size = data_.a.capacity = count; - SetElementsPointer(le); - } - break; - case kStringType: - if (rhs.data_.f.flags == kConstStringFlag && !copyConstStrings) { - data_.f.flags = rhs.data_.f.flags; - data_ = *reinterpret_cast(&rhs.data_); - } - else - SetStringRaw(StringRef(rhs.GetString(), rhs.GetStringLength()), allocator); - break; - default: - data_.f.flags = rhs.data_.f.flags; - data_ = *reinterpret_cast(&rhs.data_); - break; - } - } - - //! Constructor for boolean value. - /*! \param b Boolean value - \note This constructor is limited to \em real boolean values and rejects - implicitly converted types like arbitrary pointers. Use an explicit cast - to \c bool, if you want to construct a boolean JSON value in such cases. - */ -#ifndef RAPIDJSON_DOXYGEN_RUNNING // hide SFINAE from Doxygen - template - explicit GenericValue(T b, RAPIDJSON_ENABLEIF((internal::IsSame))) RAPIDJSON_NOEXCEPT // See #472 -#else - explicit GenericValue(bool b) RAPIDJSON_NOEXCEPT -#endif - : data_() { - // safe-guard against failing SFINAE - RAPIDJSON_STATIC_ASSERT((internal::IsSame::Value)); - data_.f.flags = b ? kTrueFlag : kFalseFlag; - } - - //! Constructor for int value. - explicit GenericValue(int i) RAPIDJSON_NOEXCEPT : data_() { - data_.n.i64 = i; - data_.f.flags = (i >= 0) ? (kNumberIntFlag | kUintFlag | kUint64Flag) : kNumberIntFlag; - } - - //! Constructor for unsigned value. - explicit GenericValue(unsigned u) RAPIDJSON_NOEXCEPT : data_() { - data_.n.u64 = u; - data_.f.flags = (u & 0x80000000) ? kNumberUintFlag : (kNumberUintFlag | kIntFlag | kInt64Flag); - } - - //! Constructor for int64_t value. - explicit GenericValue(int64_t i64) RAPIDJSON_NOEXCEPT : data_() { - data_.n.i64 = i64; - data_.f.flags = kNumberInt64Flag; - if (i64 >= 0) { - data_.f.flags |= kNumberUint64Flag; - if (!(static_cast(i64) & RAPIDJSON_UINT64_C2(0xFFFFFFFF, 0x00000000))) - data_.f.flags |= kUintFlag; - if (!(static_cast(i64) & RAPIDJSON_UINT64_C2(0xFFFFFFFF, 0x80000000))) - data_.f.flags |= kIntFlag; - } - else if (i64 >= static_cast(RAPIDJSON_UINT64_C2(0xFFFFFFFF, 0x80000000))) - data_.f.flags |= kIntFlag; - } - - //! Constructor for uint64_t value. - explicit GenericValue(uint64_t u64) RAPIDJSON_NOEXCEPT : data_() { - data_.n.u64 = u64; - data_.f.flags = kNumberUint64Flag; - if (!(u64 & RAPIDJSON_UINT64_C2(0x80000000, 0x00000000))) - data_.f.flags |= kInt64Flag; - if (!(u64 & RAPIDJSON_UINT64_C2(0xFFFFFFFF, 0x00000000))) - data_.f.flags |= kUintFlag; - if (!(u64 & RAPIDJSON_UINT64_C2(0xFFFFFFFF, 0x80000000))) - data_.f.flags |= kIntFlag; - } - - //! Constructor for double value. - explicit GenericValue(double d) RAPIDJSON_NOEXCEPT : data_() { data_.n.d = d; data_.f.flags = kNumberDoubleFlag; } - - //! Constructor for float value. - explicit GenericValue(float f) RAPIDJSON_NOEXCEPT : data_() { data_.n.d = static_cast(f); data_.f.flags = kNumberDoubleFlag; } - - //! Constructor for constant string (i.e. do not make a copy of string) - GenericValue(const Ch* s, SizeType length) RAPIDJSON_NOEXCEPT : data_() { SetStringRaw(StringRef(s, length)); } - - //! Constructor for constant string (i.e. do not make a copy of string) - explicit GenericValue(StringRefType s) RAPIDJSON_NOEXCEPT : data_() { SetStringRaw(s); } - - //! Constructor for copy-string (i.e. do make a copy of string) - GenericValue(const Ch* s, SizeType length, Allocator& allocator) : data_() { SetStringRaw(StringRef(s, length), allocator); } - - //! Constructor for copy-string (i.e. do make a copy of string) - GenericValue(const Ch*s, Allocator& allocator) : data_() { SetStringRaw(StringRef(s), allocator); } - -#if RAPIDJSON_HAS_STDSTRING - //! Constructor for copy-string from a string object (i.e. do make a copy of string) - /*! \note Requires the definition of the preprocessor symbol \ref RAPIDJSON_HAS_STDSTRING. - */ - GenericValue(const std::basic_string& s, Allocator& allocator) : data_() { SetStringRaw(StringRef(s), allocator); } -#endif - - //! Constructor for Array. - /*! - \param a An array obtained by \c GetArray(). - \note \c Array is always pass-by-value. - \note the source array is moved into this value and the sourec array becomes empty. - */ - GenericValue(Array a) RAPIDJSON_NOEXCEPT : data_(a.value_.data_) { - a.value_.data_ = Data(); - a.value_.data_.f.flags = kArrayFlag; - } - - //! Constructor for Object. - /*! - \param o An object obtained by \c GetObject(). - \note \c Object is always pass-by-value. - \note the source object is moved into this value and the sourec object becomes empty. - */ - GenericValue(Object o) RAPIDJSON_NOEXCEPT : data_(o.value_.data_) { - o.value_.data_ = Data(); - o.value_.data_.f.flags = kObjectFlag; - } - - //! Destructor. - /*! Need to destruct elements of array, members of object, or copy-string. - */ - ~GenericValue() { - if (Allocator::kNeedFree) { // Shortcut by Allocator's trait - switch(data_.f.flags) { - case kArrayFlag: - { - GenericValue* e = GetElementsPointer(); - for (GenericValue* v = e; v != e + data_.a.size; ++v) - v->~GenericValue(); - Allocator::Free(e); - } - break; - - case kObjectFlag: - for (MemberIterator m = MemberBegin(); m != MemberEnd(); ++m) - m->~Member(); - Allocator::Free(GetMembersPointer()); - break; - - case kCopyStringFlag: - Allocator::Free(const_cast(GetStringPointer())); - break; - - default: - break; // Do nothing for other types. - } - } - } - - //@} - - //!@name Assignment operators - //@{ - - //! Assignment with move semantics. - /*! \param rhs Source of the assignment. It will become a null value after assignment. - */ - GenericValue& operator=(GenericValue& rhs) RAPIDJSON_NOEXCEPT { - if (RAPIDJSON_LIKELY(this != &rhs)) { - this->~GenericValue(); - RawAssign(rhs); - } - return *this; - } - -#if RAPIDJSON_HAS_CXX11_RVALUE_REFS - //! Move assignment in C++11 - GenericValue& operator=(GenericValue&& rhs) RAPIDJSON_NOEXCEPT { - return *this = rhs.Move(); - } -#endif - - //! Assignment of constant string reference (no copy) - /*! \param str Constant string reference to be assigned - \note This overload is needed to avoid clashes with the generic primitive type assignment overload below. - \see GenericStringRef, operator=(T) - */ - GenericValue& operator=(StringRefType str) RAPIDJSON_NOEXCEPT { - GenericValue s(str); - return *this = s; - } - - //! Assignment with primitive types. - /*! \tparam T Either \ref Type, \c int, \c unsigned, \c int64_t, \c uint64_t - \param value The value to be assigned. - - \note The source type \c T explicitly disallows all pointer types, - especially (\c const) \ref Ch*. This helps avoiding implicitly - referencing character strings with insufficient lifetime, use - \ref SetString(const Ch*, Allocator&) (for copying) or - \ref StringRef() (to explicitly mark the pointer as constant) instead. - All other pointer types would implicitly convert to \c bool, - use \ref SetBool() instead. - */ - template - RAPIDJSON_DISABLEIF_RETURN((internal::IsPointer), (GenericValue&)) - operator=(T value) { - GenericValue v(value); - return *this = v; - } - - //! Deep-copy assignment from Value - /*! Assigns a \b copy of the Value to the current Value object - \tparam SourceAllocator Allocator type of \c rhs - \param rhs Value to copy from (read-only) - \param allocator Allocator to use for copying - \param copyConstStrings Force copying of constant strings (e.g. referencing an in-situ buffer) - */ - template - GenericValue& CopyFrom(const GenericValue& rhs, Allocator& allocator, bool copyConstStrings = false) { - RAPIDJSON_ASSERT(static_cast(this) != static_cast(&rhs)); - this->~GenericValue(); - new (this) GenericValue(rhs, allocator, copyConstStrings); - return *this; - } - - //! Exchange the contents of this value with those of other. - /*! - \param other Another value. - \note Constant complexity. - */ - GenericValue& Swap(GenericValue& other) RAPIDJSON_NOEXCEPT { - GenericValue temp; - temp.RawAssign(*this); - RawAssign(other); - other.RawAssign(temp); - return *this; - } - - //! free-standing swap function helper - /*! - Helper function to enable support for common swap implementation pattern based on \c std::swap: - \code - void swap(MyClass& a, MyClass& b) { - using std::swap; - swap(a.value, b.value); - // ... - } - \endcode - \see Swap() - */ - friend inline void swap(GenericValue& a, GenericValue& b) RAPIDJSON_NOEXCEPT { a.Swap(b); } - - //! Prepare Value for move semantics - /*! \return *this */ - GenericValue& Move() RAPIDJSON_NOEXCEPT { return *this; } - //@} - - //!@name Equal-to and not-equal-to operators - //@{ - //! Equal-to operator - /*! - \note If an object contains duplicated named member, comparing equality with any object is always \c false. - \note Complexity is quadratic in Object's member number and linear for the rest (number of all values in the subtree and total lengths of all strings). - */ - template - bool operator==(const GenericValue& rhs) const { - typedef GenericValue RhsType; - if (GetType() != rhs.GetType()) - return false; - - switch (GetType()) { - case kObjectType: // Warning: O(n^2) inner-loop - if (data_.o.size != rhs.data_.o.size) - return false; - for (ConstMemberIterator lhsMemberItr = MemberBegin(); lhsMemberItr != MemberEnd(); ++lhsMemberItr) { - typename RhsType::ConstMemberIterator rhsMemberItr = rhs.FindMember(lhsMemberItr->name); - if (rhsMemberItr == rhs.MemberEnd() || lhsMemberItr->value != rhsMemberItr->value) - return false; - } - return true; - - case kArrayType: - if (data_.a.size != rhs.data_.a.size) - return false; - for (SizeType i = 0; i < data_.a.size; i++) - if ((*this)[i] != rhs[i]) - return false; - return true; - - case kStringType: - return StringEqual(rhs); - - case kNumberType: - if (IsDouble() || rhs.IsDouble()) { - double a = GetDouble(); // May convert from integer to double. - double b = rhs.GetDouble(); // Ditto - return a >= b && a <= b; // Prevent -Wfloat-equal - } - else - return data_.n.u64 == rhs.data_.n.u64; - - default: - return true; - } - } - - //! Equal-to operator with const C-string pointer - bool operator==(const Ch* rhs) const { return *this == GenericValue(StringRef(rhs)); } - -#if RAPIDJSON_HAS_STDSTRING - //! Equal-to operator with string object - /*! \note Requires the definition of the preprocessor symbol \ref RAPIDJSON_HAS_STDSTRING. - */ - bool operator==(const std::basic_string& rhs) const { return *this == GenericValue(StringRef(rhs)); } -#endif - - //! Equal-to operator with primitive types - /*! \tparam T Either \ref Type, \c int, \c unsigned, \c int64_t, \c uint64_t, \c double, \c true, \c false - */ - template RAPIDJSON_DISABLEIF_RETURN((internal::OrExpr,internal::IsGenericValue >), (bool)) operator==(const T& rhs) const { return *this == GenericValue(rhs); } - - //! Not-equal-to operator - /*! \return !(*this == rhs) - */ - template - bool operator!=(const GenericValue& rhs) const { return !(*this == rhs); } - - //! Not-equal-to operator with const C-string pointer - bool operator!=(const Ch* rhs) const { return !(*this == rhs); } - - //! Not-equal-to operator with arbitrary types - /*! \return !(*this == rhs) - */ - template RAPIDJSON_DISABLEIF_RETURN((internal::IsGenericValue), (bool)) operator!=(const T& rhs) const { return !(*this == rhs); } - - //! Equal-to operator with arbitrary types (symmetric version) - /*! \return (rhs == lhs) - */ - template friend RAPIDJSON_DISABLEIF_RETURN((internal::IsGenericValue), (bool)) operator==(const T& lhs, const GenericValue& rhs) { return rhs == lhs; } - - //! Not-Equal-to operator with arbitrary types (symmetric version) - /*! \return !(rhs == lhs) - */ - template friend RAPIDJSON_DISABLEIF_RETURN((internal::IsGenericValue), (bool)) operator!=(const T& lhs, const GenericValue& rhs) { return !(rhs == lhs); } - //@} - - //!@name Type - //@{ - - Type GetType() const { return static_cast(data_.f.flags & kTypeMask); } - bool IsNull() const { return data_.f.flags == kNullFlag; } - bool IsFalse() const { return data_.f.flags == kFalseFlag; } - bool IsTrue() const { return data_.f.flags == kTrueFlag; } - bool IsBool() const { return (data_.f.flags & kBoolFlag) != 0; } - bool IsObject() const { return data_.f.flags == kObjectFlag; } - bool IsArray() const { return data_.f.flags == kArrayFlag; } - bool IsNumber() const { return (data_.f.flags & kNumberFlag) != 0; } - bool IsInt() const { return (data_.f.flags & kIntFlag) != 0; } - bool IsUint() const { return (data_.f.flags & kUintFlag) != 0; } - bool IsInt64() const { return (data_.f.flags & kInt64Flag) != 0; } - bool IsUint64() const { return (data_.f.flags & kUint64Flag) != 0; } - bool IsDouble() const { return (data_.f.flags & kDoubleFlag) != 0; } - bool IsString() const { return (data_.f.flags & kStringFlag) != 0; } - - // Checks whether a number can be losslessly converted to a double. - bool IsLosslessDouble() const { - if (!IsNumber()) return false; - if (IsUint64()) { - uint64_t u = GetUint64(); - volatile double d = static_cast(u); - return (d >= 0.0) - && (d < static_cast((std::numeric_limits::max)())) - && (u == static_cast(d)); - } - if (IsInt64()) { - int64_t i = GetInt64(); - volatile double d = static_cast(i); - return (d >= static_cast((std::numeric_limits::min)())) - && (d < static_cast((std::numeric_limits::max)())) - && (i == static_cast(d)); - } - return true; // double, int, uint are always lossless - } - - // Checks whether a number is a float (possible lossy). - bool IsFloat() const { - if ((data_.f.flags & kDoubleFlag) == 0) - return false; - double d = GetDouble(); - return d >= -3.4028234e38 && d <= 3.4028234e38; - } - // Checks whether a number can be losslessly converted to a float. - bool IsLosslessFloat() const { - if (!IsNumber()) return false; - double a = GetDouble(); - if (a < static_cast(-(std::numeric_limits::max)()) - || a > static_cast((std::numeric_limits::max)())) - return false; - double b = static_cast(static_cast(a)); - return a >= b && a <= b; // Prevent -Wfloat-equal - } - - //@} - - //!@name Null - //@{ - - GenericValue& SetNull() { this->~GenericValue(); new (this) GenericValue(); return *this; } - - //@} - - //!@name Bool - //@{ - - bool GetBool() const { RAPIDJSON_ASSERT(IsBool()); return data_.f.flags == kTrueFlag; } - //!< Set boolean value - /*! \post IsBool() == true */ - GenericValue& SetBool(bool b) { this->~GenericValue(); new (this) GenericValue(b); return *this; } - - //@} - - //!@name Object - //@{ - - //! Set this value as an empty object. - /*! \post IsObject() == true */ - GenericValue& SetObject() { this->~GenericValue(); new (this) GenericValue(kObjectType); return *this; } - - //! Get the number of members in the object. - SizeType MemberCount() const { RAPIDJSON_ASSERT(IsObject()); return data_.o.size; } - - //! Get the capacity of object. - SizeType MemberCapacity() const { RAPIDJSON_ASSERT(IsObject()); return data_.o.capacity; } - - //! Check whether the object is empty. - bool ObjectEmpty() const { RAPIDJSON_ASSERT(IsObject()); return data_.o.size == 0; } - - //! Get a value from an object associated with the name. - /*! \pre IsObject() == true - \tparam T Either \c Ch or \c const \c Ch (template used for disambiguation with \ref operator[](SizeType)) - \note In version 0.1x, if the member is not found, this function returns a null value. This makes issue 7. - Since 0.2, if the name is not correct, it will assert. - If user is unsure whether a member exists, user should use HasMember() first. - A better approach is to use FindMember(). - \note Linear time complexity. - */ - template - RAPIDJSON_DISABLEIF_RETURN((internal::NotExpr::Type, Ch> >),(GenericValue&)) operator[](T* name) { - GenericValue n(StringRef(name)); - return (*this)[n]; - } - template - RAPIDJSON_DISABLEIF_RETURN((internal::NotExpr::Type, Ch> >),(const GenericValue&)) operator[](T* name) const { return const_cast(*this)[name]; } - - //! Get a value from an object associated with the name. - /*! \pre IsObject() == true - \tparam SourceAllocator Allocator of the \c name value - - \note Compared to \ref operator[](T*), this version is faster because it does not need a StrLen(). - And it can also handle strings with embedded null characters. - - \note Linear time complexity. - */ - template - GenericValue& operator[](const GenericValue& name) { - MemberIterator member = FindMember(name); - if (member != MemberEnd()) - return member->value; - else { - RAPIDJSON_ASSERT(false); // see above note - - // This will generate -Wexit-time-destructors in clang - // static GenericValue NullValue; - // return NullValue; - - // Use static buffer and placement-new to prevent destruction - static char buffer[sizeof(GenericValue)]; - return *new (buffer) GenericValue(); - } - } - template - const GenericValue& operator[](const GenericValue& name) const { return const_cast(*this)[name]; } - -#if RAPIDJSON_HAS_STDSTRING - //! Get a value from an object associated with name (string object). - GenericValue& operator[](const std::basic_string& name) { return (*this)[GenericValue(StringRef(name))]; } - const GenericValue& operator[](const std::basic_string& name) const { return (*this)[GenericValue(StringRef(name))]; } -#endif - - //! Const member iterator - /*! \pre IsObject() == true */ - ConstMemberIterator MemberBegin() const { RAPIDJSON_ASSERT(IsObject()); return ConstMemberIterator(GetMembersPointer()); } - //! Const \em past-the-end member iterator - /*! \pre IsObject() == true */ - ConstMemberIterator MemberEnd() const { RAPIDJSON_ASSERT(IsObject()); return ConstMemberIterator(GetMembersPointer() + data_.o.size); } - //! Member iterator - /*! \pre IsObject() == true */ - MemberIterator MemberBegin() { RAPIDJSON_ASSERT(IsObject()); return MemberIterator(GetMembersPointer()); } - //! \em Past-the-end member iterator - /*! \pre IsObject() == true */ - MemberIterator MemberEnd() { RAPIDJSON_ASSERT(IsObject()); return MemberIterator(GetMembersPointer() + data_.o.size); } - - //! Request the object to have enough capacity to store members. - /*! \param newCapacity The capacity that the object at least need to have. - \param allocator Allocator for reallocating memory. It must be the same one as used before. Commonly use GenericDocument::GetAllocator(). - \return The value itself for fluent API. - \note Linear time complexity. - */ - GenericValue& MemberReserve(SizeType newCapacity, Allocator &allocator) { - RAPIDJSON_ASSERT(IsObject()); - if (newCapacity > data_.o.capacity) { - SetMembersPointer(reinterpret_cast(allocator.Realloc(GetMembersPointer(), data_.o.capacity * sizeof(Member), newCapacity * sizeof(Member)))); - data_.o.capacity = newCapacity; - } - return *this; - } - - //! Check whether a member exists in the object. - /*! - \param name Member name to be searched. - \pre IsObject() == true - \return Whether a member with that name exists. - \note It is better to use FindMember() directly if you need the obtain the value as well. - \note Linear time complexity. - */ - bool HasMember(const Ch* name) const { return FindMember(name) != MemberEnd(); } - -#if RAPIDJSON_HAS_STDSTRING - //! Check whether a member exists in the object with string object. - /*! - \param name Member name to be searched. - \pre IsObject() == true - \return Whether a member with that name exists. - \note It is better to use FindMember() directly if you need the obtain the value as well. - \note Linear time complexity. - */ - bool HasMember(const std::basic_string& name) const { return FindMember(name) != MemberEnd(); } -#endif - - //! Check whether a member exists in the object with GenericValue name. - /*! - This version is faster because it does not need a StrLen(). It can also handle string with null character. - \param name Member name to be searched. - \pre IsObject() == true - \return Whether a member with that name exists. - \note It is better to use FindMember() directly if you need the obtain the value as well. - \note Linear time complexity. - */ - template - bool HasMember(const GenericValue& name) const { return FindMember(name) != MemberEnd(); } - - //! Find member by name. - /*! - \param name Member name to be searched. - \pre IsObject() == true - \return Iterator to member, if it exists. - Otherwise returns \ref MemberEnd(). - - \note Earlier versions of Rapidjson returned a \c NULL pointer, in case - the requested member doesn't exist. For consistency with e.g. - \c std::map, this has been changed to MemberEnd() now. - \note Linear time complexity. - */ - MemberIterator FindMember(const Ch* name) { - GenericValue n(StringRef(name)); - return FindMember(n); - } - - ConstMemberIterator FindMember(const Ch* name) const { return const_cast(*this).FindMember(name); } - - //! Find member by name. - /*! - This version is faster because it does not need a StrLen(). It can also handle string with null character. - \param name Member name to be searched. - \pre IsObject() == true - \return Iterator to member, if it exists. - Otherwise returns \ref MemberEnd(). - - \note Earlier versions of Rapidjson returned a \c NULL pointer, in case - the requested member doesn't exist. For consistency with e.g. - \c std::map, this has been changed to MemberEnd() now. - \note Linear time complexity. - */ - template - MemberIterator FindMember(const GenericValue& name) { - RAPIDJSON_ASSERT(IsObject()); - RAPIDJSON_ASSERT(name.IsString()); - MemberIterator member = MemberBegin(); - for ( ; member != MemberEnd(); ++member) - if (name.StringEqual(member->name)) - break; - return member; - } - template ConstMemberIterator FindMember(const GenericValue& name) const { return const_cast(*this).FindMember(name); } - -#if RAPIDJSON_HAS_STDSTRING - //! Find member by string object name. - /*! - \param name Member name to be searched. - \pre IsObject() == true - \return Iterator to member, if it exists. - Otherwise returns \ref MemberEnd(). - */ - MemberIterator FindMember(const std::basic_string& name) { return FindMember(GenericValue(StringRef(name))); } - ConstMemberIterator FindMember(const std::basic_string& name) const { return FindMember(GenericValue(StringRef(name))); } -#endif - - //! Add a member (name-value pair) to the object. - /*! \param name A string value as name of member. - \param value Value of any type. - \param allocator Allocator for reallocating memory. It must be the same one as used before. Commonly use GenericDocument::GetAllocator(). - \return The value itself for fluent API. - \note The ownership of \c name and \c value will be transferred to this object on success. - \pre IsObject() && name.IsString() - \post name.IsNull() && value.IsNull() - \note Amortized Constant time complexity. - */ - GenericValue& AddMember(GenericValue& name, GenericValue& value, Allocator& allocator) { - RAPIDJSON_ASSERT(IsObject()); - RAPIDJSON_ASSERT(name.IsString()); - - ObjectData& o = data_.o; - if (o.size >= o.capacity) - MemberReserve(o.capacity == 0 ? kDefaultObjectCapacity : (o.capacity + (o.capacity + 1) / 2), allocator); - Member* members = GetMembersPointer(); - members[o.size].name.RawAssign(name); - members[o.size].value.RawAssign(value); - o.size++; - return *this; - } - - //! Add a constant string value as member (name-value pair) to the object. - /*! \param name A string value as name of member. - \param value constant string reference as value of member. - \param allocator Allocator for reallocating memory. It must be the same one as used before. Commonly use GenericDocument::GetAllocator(). - \return The value itself for fluent API. - \pre IsObject() - \note This overload is needed to avoid clashes with the generic primitive type AddMember(GenericValue&,T,Allocator&) overload below. - \note Amortized Constant time complexity. - */ - GenericValue& AddMember(GenericValue& name, StringRefType value, Allocator& allocator) { - GenericValue v(value); - return AddMember(name, v, allocator); - } - -#if RAPIDJSON_HAS_STDSTRING - //! Add a string object as member (name-value pair) to the object. - /*! \param name A string value as name of member. - \param value constant string reference as value of member. - \param allocator Allocator for reallocating memory. It must be the same one as used before. Commonly use GenericDocument::GetAllocator(). - \return The value itself for fluent API. - \pre IsObject() - \note This overload is needed to avoid clashes with the generic primitive type AddMember(GenericValue&,T,Allocator&) overload below. - \note Amortized Constant time complexity. - */ - GenericValue& AddMember(GenericValue& name, std::basic_string& value, Allocator& allocator) { - GenericValue v(value, allocator); - return AddMember(name, v, allocator); - } -#endif - - //! Add any primitive value as member (name-value pair) to the object. - /*! \tparam T Either \ref Type, \c int, \c unsigned, \c int64_t, \c uint64_t - \param name A string value as name of member. - \param value Value of primitive type \c T as value of member - \param allocator Allocator for reallocating memory. Commonly use GenericDocument::GetAllocator(). - \return The value itself for fluent API. - \pre IsObject() - - \note The source type \c T explicitly disallows all pointer types, - especially (\c const) \ref Ch*. This helps avoiding implicitly - referencing character strings with insufficient lifetime, use - \ref AddMember(StringRefType, GenericValue&, Allocator&) or \ref - AddMember(StringRefType, StringRefType, Allocator&). - All other pointer types would implicitly convert to \c bool, - use an explicit cast instead, if needed. - \note Amortized Constant time complexity. - */ - template - RAPIDJSON_DISABLEIF_RETURN((internal::OrExpr, internal::IsGenericValue >), (GenericValue&)) - AddMember(GenericValue& name, T value, Allocator& allocator) { - GenericValue v(value); - return AddMember(name, v, allocator); - } - -#if RAPIDJSON_HAS_CXX11_RVALUE_REFS - GenericValue& AddMember(GenericValue&& name, GenericValue&& value, Allocator& allocator) { - return AddMember(name, value, allocator); - } - GenericValue& AddMember(GenericValue&& name, GenericValue& value, Allocator& allocator) { - return AddMember(name, value, allocator); - } - GenericValue& AddMember(GenericValue& name, GenericValue&& value, Allocator& allocator) { - return AddMember(name, value, allocator); - } - GenericValue& AddMember(StringRefType name, GenericValue&& value, Allocator& allocator) { - GenericValue n(name); - return AddMember(n, value, allocator); - } -#endif // RAPIDJSON_HAS_CXX11_RVALUE_REFS - - - //! Add a member (name-value pair) to the object. - /*! \param name A constant string reference as name of member. - \param value Value of any type. - \param allocator Allocator for reallocating memory. It must be the same one as used before. Commonly use GenericDocument::GetAllocator(). - \return The value itself for fluent API. - \note The ownership of \c value will be transferred to this object on success. - \pre IsObject() - \post value.IsNull() - \note Amortized Constant time complexity. - */ - GenericValue& AddMember(StringRefType name, GenericValue& value, Allocator& allocator) { - GenericValue n(name); - return AddMember(n, value, allocator); - } - - //! Add a constant string value as member (name-value pair) to the object. - /*! \param name A constant string reference as name of member. - \param value constant string reference as value of member. - \param allocator Allocator for reallocating memory. It must be the same one as used before. Commonly use GenericDocument::GetAllocator(). - \return The value itself for fluent API. - \pre IsObject() - \note This overload is needed to avoid clashes with the generic primitive type AddMember(StringRefType,T,Allocator&) overload below. - \note Amortized Constant time complexity. - */ - GenericValue& AddMember(StringRefType name, StringRefType value, Allocator& allocator) { - GenericValue v(value); - return AddMember(name, v, allocator); - } - - //! Add any primitive value as member (name-value pair) to the object. - /*! \tparam T Either \ref Type, \c int, \c unsigned, \c int64_t, \c uint64_t - \param name A constant string reference as name of member. - \param value Value of primitive type \c T as value of member - \param allocator Allocator for reallocating memory. Commonly use GenericDocument::GetAllocator(). - \return The value itself for fluent API. - \pre IsObject() - - \note The source type \c T explicitly disallows all pointer types, - especially (\c const) \ref Ch*. This helps avoiding implicitly - referencing character strings with insufficient lifetime, use - \ref AddMember(StringRefType, GenericValue&, Allocator&) or \ref - AddMember(StringRefType, StringRefType, Allocator&). - All other pointer types would implicitly convert to \c bool, - use an explicit cast instead, if needed. - \note Amortized Constant time complexity. - */ - template - RAPIDJSON_DISABLEIF_RETURN((internal::OrExpr, internal::IsGenericValue >), (GenericValue&)) - AddMember(StringRefType name, T value, Allocator& allocator) { - GenericValue n(name); - return AddMember(n, value, allocator); - } - - //! Remove all members in the object. - /*! This function do not deallocate memory in the object, i.e. the capacity is unchanged. - \note Linear time complexity. - */ - void RemoveAllMembers() { - RAPIDJSON_ASSERT(IsObject()); - for (MemberIterator m = MemberBegin(); m != MemberEnd(); ++m) - m->~Member(); - data_.o.size = 0; - } - - //! Remove a member in object by its name. - /*! \param name Name of member to be removed. - \return Whether the member existed. - \note This function may reorder the object members. Use \ref - EraseMember(ConstMemberIterator) if you need to preserve the - relative order of the remaining members. - \note Linear time complexity. - */ - bool RemoveMember(const Ch* name) { - GenericValue n(StringRef(name)); - return RemoveMember(n); - } - -#if RAPIDJSON_HAS_STDSTRING - bool RemoveMember(const std::basic_string& name) { return RemoveMember(GenericValue(StringRef(name))); } -#endif - - template - bool RemoveMember(const GenericValue& name) { - MemberIterator m = FindMember(name); - if (m != MemberEnd()) { - RemoveMember(m); - return true; - } - else - return false; - } - - //! Remove a member in object by iterator. - /*! \param m member iterator (obtained by FindMember() or MemberBegin()). - \return the new iterator after removal. - \note This function may reorder the object members. Use \ref - EraseMember(ConstMemberIterator) if you need to preserve the - relative order of the remaining members. - \note Constant time complexity. - */ - MemberIterator RemoveMember(MemberIterator m) { - RAPIDJSON_ASSERT(IsObject()); - RAPIDJSON_ASSERT(data_.o.size > 0); - RAPIDJSON_ASSERT(GetMembersPointer() != 0); - RAPIDJSON_ASSERT(m >= MemberBegin() && m < MemberEnd()); - - MemberIterator last(GetMembersPointer() + (data_.o.size - 1)); - if (data_.o.size > 1 && m != last) - *m = *last; // Move the last one to this place - else - m->~Member(); // Only one left, just destroy - --data_.o.size; - return m; - } - - //! Remove a member from an object by iterator. - /*! \param pos iterator to the member to remove - \pre IsObject() == true && \ref MemberBegin() <= \c pos < \ref MemberEnd() - \return Iterator following the removed element. - If the iterator \c pos refers to the last element, the \ref MemberEnd() iterator is returned. - \note This function preserves the relative order of the remaining object - members. If you do not need this, use the more efficient \ref RemoveMember(MemberIterator). - \note Linear time complexity. - */ - MemberIterator EraseMember(ConstMemberIterator pos) { - return EraseMember(pos, pos +1); - } - - //! Remove members in the range [first, last) from an object. - /*! \param first iterator to the first member to remove - \param last iterator following the last member to remove - \pre IsObject() == true && \ref MemberBegin() <= \c first <= \c last <= \ref MemberEnd() - \return Iterator following the last removed element. - \note This function preserves the relative order of the remaining object - members. - \note Linear time complexity. - */ - MemberIterator EraseMember(ConstMemberIterator first, ConstMemberIterator last) { - RAPIDJSON_ASSERT(IsObject()); - RAPIDJSON_ASSERT(data_.o.size > 0); - RAPIDJSON_ASSERT(GetMembersPointer() != 0); - RAPIDJSON_ASSERT(first >= MemberBegin()); - RAPIDJSON_ASSERT(first <= last); - RAPIDJSON_ASSERT(last <= MemberEnd()); - - MemberIterator pos = MemberBegin() + (first - MemberBegin()); - for (MemberIterator itr = pos; itr != last; ++itr) - itr->~Member(); - std::memmove(static_cast(&*pos), &*last, static_cast(MemberEnd() - last) * sizeof(Member)); - data_.o.size -= static_cast(last - first); - return pos; - } - - //! Erase a member in object by its name. - /*! \param name Name of member to be removed. - \return Whether the member existed. - \note Linear time complexity. - */ - bool EraseMember(const Ch* name) { - GenericValue n(StringRef(name)); - return EraseMember(n); - } - -#if RAPIDJSON_HAS_STDSTRING - bool EraseMember(const std::basic_string& name) { return EraseMember(GenericValue(StringRef(name))); } -#endif - - template - bool EraseMember(const GenericValue& name) { - MemberIterator m = FindMember(name); - if (m != MemberEnd()) { - EraseMember(m); - return true; - } - else - return false; - } - - Object GetObject() { RAPIDJSON_ASSERT(IsObject()); return Object(*this); } - ConstObject GetObject() const { RAPIDJSON_ASSERT(IsObject()); return ConstObject(*this); } - - //@} - - //!@name Array - //@{ - - //! Set this value as an empty array. - /*! \post IsArray == true */ - GenericValue& SetArray() { this->~GenericValue(); new (this) GenericValue(kArrayType); return *this; } - - //! Get the number of elements in array. - SizeType Size() const { RAPIDJSON_ASSERT(IsArray()); return data_.a.size; } - - //! Get the capacity of array. - SizeType Capacity() const { RAPIDJSON_ASSERT(IsArray()); return data_.a.capacity; } - - //! Check whether the array is empty. - bool Empty() const { RAPIDJSON_ASSERT(IsArray()); return data_.a.size == 0; } - - //! Remove all elements in the array. - /*! This function do not deallocate memory in the array, i.e. the capacity is unchanged. - \note Linear time complexity. - */ - void Clear() { - RAPIDJSON_ASSERT(IsArray()); - GenericValue* e = GetElementsPointer(); - for (GenericValue* v = e; v != e + data_.a.size; ++v) - v->~GenericValue(); - data_.a.size = 0; - } - - //! Get an element from array by index. - /*! \pre IsArray() == true - \param index Zero-based index of element. - \see operator[](T*) - */ - GenericValue& operator[](SizeType index) { - RAPIDJSON_ASSERT(IsArray()); - RAPIDJSON_ASSERT(index < data_.a.size); - return GetElementsPointer()[index]; - } - const GenericValue& operator[](SizeType index) const { return const_cast(*this)[index]; } - - //! Element iterator - /*! \pre IsArray() == true */ - ValueIterator Begin() { RAPIDJSON_ASSERT(IsArray()); return GetElementsPointer(); } - //! \em Past-the-end element iterator - /*! \pre IsArray() == true */ - ValueIterator End() { RAPIDJSON_ASSERT(IsArray()); return GetElementsPointer() + data_.a.size; } - //! Constant element iterator - /*! \pre IsArray() == true */ - ConstValueIterator Begin() const { return const_cast(*this).Begin(); } - //! Constant \em past-the-end element iterator - /*! \pre IsArray() == true */ - ConstValueIterator End() const { return const_cast(*this).End(); } - - //! Request the array to have enough capacity to store elements. - /*! \param newCapacity The capacity that the array at least need to have. - \param allocator Allocator for reallocating memory. It must be the same one as used before. Commonly use GenericDocument::GetAllocator(). - \return The value itself for fluent API. - \note Linear time complexity. - */ - GenericValue& Reserve(SizeType newCapacity, Allocator &allocator) { - RAPIDJSON_ASSERT(IsArray()); - if (newCapacity > data_.a.capacity) { - SetElementsPointer(reinterpret_cast(allocator.Realloc(GetElementsPointer(), data_.a.capacity * sizeof(GenericValue), newCapacity * sizeof(GenericValue)))); - data_.a.capacity = newCapacity; - } - return *this; - } - - //! Append a GenericValue at the end of the array. - /*! \param value Value to be appended. - \param allocator Allocator for reallocating memory. It must be the same one as used before. Commonly use GenericDocument::GetAllocator(). - \pre IsArray() == true - \post value.IsNull() == true - \return The value itself for fluent API. - \note The ownership of \c value will be transferred to this array on success. - \note If the number of elements to be appended is known, calls Reserve() once first may be more efficient. - \note Amortized constant time complexity. - */ - GenericValue& PushBack(GenericValue& value, Allocator& allocator) { - RAPIDJSON_ASSERT(IsArray()); - if (data_.a.size >= data_.a.capacity) - Reserve(data_.a.capacity == 0 ? kDefaultArrayCapacity : (data_.a.capacity + (data_.a.capacity + 1) / 2), allocator); - GetElementsPointer()[data_.a.size++].RawAssign(value); - return *this; - } - -#if RAPIDJSON_HAS_CXX11_RVALUE_REFS - GenericValue& PushBack(GenericValue&& value, Allocator& allocator) { - return PushBack(value, allocator); - } -#endif // RAPIDJSON_HAS_CXX11_RVALUE_REFS - - //! Append a constant string reference at the end of the array. - /*! \param value Constant string reference to be appended. - \param allocator Allocator for reallocating memory. It must be the same one used previously. Commonly use GenericDocument::GetAllocator(). - \pre IsArray() == true - \return The value itself for fluent API. - \note If the number of elements to be appended is known, calls Reserve() once first may be more efficient. - \note Amortized constant time complexity. - \see GenericStringRef - */ - GenericValue& PushBack(StringRefType value, Allocator& allocator) { - return (*this).template PushBack(value, allocator); - } - - //! Append a primitive value at the end of the array. - /*! \tparam T Either \ref Type, \c int, \c unsigned, \c int64_t, \c uint64_t - \param value Value of primitive type T to be appended. - \param allocator Allocator for reallocating memory. It must be the same one as used before. Commonly use GenericDocument::GetAllocator(). - \pre IsArray() == true - \return The value itself for fluent API. - \note If the number of elements to be appended is known, calls Reserve() once first may be more efficient. - - \note The source type \c T explicitly disallows all pointer types, - especially (\c const) \ref Ch*. This helps avoiding implicitly - referencing character strings with insufficient lifetime, use - \ref PushBack(GenericValue&, Allocator&) or \ref - PushBack(StringRefType, Allocator&). - All other pointer types would implicitly convert to \c bool, - use an explicit cast instead, if needed. - \note Amortized constant time complexity. - */ - template - RAPIDJSON_DISABLEIF_RETURN((internal::OrExpr, internal::IsGenericValue >), (GenericValue&)) - PushBack(T value, Allocator& allocator) { - GenericValue v(value); - return PushBack(v, allocator); - } - - //! Remove the last element in the array. - /*! - \note Constant time complexity. - */ - GenericValue& PopBack() { - RAPIDJSON_ASSERT(IsArray()); - RAPIDJSON_ASSERT(!Empty()); - GetElementsPointer()[--data_.a.size].~GenericValue(); - return *this; - } - - //! Remove an element of array by iterator. - /*! - \param pos iterator to the element to remove - \pre IsArray() == true && \ref Begin() <= \c pos < \ref End() - \return Iterator following the removed element. If the iterator pos refers to the last element, the End() iterator is returned. - \note Linear time complexity. - */ - ValueIterator Erase(ConstValueIterator pos) { - return Erase(pos, pos + 1); - } - - //! Remove elements in the range [first, last) of the array. - /*! - \param first iterator to the first element to remove - \param last iterator following the last element to remove - \pre IsArray() == true && \ref Begin() <= \c first <= \c last <= \ref End() - \return Iterator following the last removed element. - \note Linear time complexity. - */ - ValueIterator Erase(ConstValueIterator first, ConstValueIterator last) { - RAPIDJSON_ASSERT(IsArray()); - RAPIDJSON_ASSERT(data_.a.size > 0); - RAPIDJSON_ASSERT(GetElementsPointer() != 0); - RAPIDJSON_ASSERT(first >= Begin()); - RAPIDJSON_ASSERT(first <= last); - RAPIDJSON_ASSERT(last <= End()); - ValueIterator pos = Begin() + (first - Begin()); - for (ValueIterator itr = pos; itr != last; ++itr) - itr->~GenericValue(); - std::memmove(static_cast(pos), last, static_cast(End() - last) * sizeof(GenericValue)); - data_.a.size -= static_cast(last - first); - return pos; - } - - Array GetArray() { RAPIDJSON_ASSERT(IsArray()); return Array(*this); } - ConstArray GetArray() const { RAPIDJSON_ASSERT(IsArray()); return ConstArray(*this); } - - //@} - - //!@name Number - //@{ - - int GetInt() const { RAPIDJSON_ASSERT(data_.f.flags & kIntFlag); return data_.n.i.i; } - unsigned GetUint() const { RAPIDJSON_ASSERT(data_.f.flags & kUintFlag); return data_.n.u.u; } - int64_t GetInt64() const { RAPIDJSON_ASSERT(data_.f.flags & kInt64Flag); return data_.n.i64; } - uint64_t GetUint64() const { RAPIDJSON_ASSERT(data_.f.flags & kUint64Flag); return data_.n.u64; } - - //! Get the value as double type. - /*! \note If the value is 64-bit integer type, it may lose precision. Use \c IsLosslessDouble() to check whether the converison is lossless. - */ - double GetDouble() const { - RAPIDJSON_ASSERT(IsNumber()); - if ((data_.f.flags & kDoubleFlag) != 0) return data_.n.d; // exact type, no conversion. - if ((data_.f.flags & kIntFlag) != 0) return data_.n.i.i; // int -> double - if ((data_.f.flags & kUintFlag) != 0) return data_.n.u.u; // unsigned -> double - if ((data_.f.flags & kInt64Flag) != 0) return static_cast(data_.n.i64); // int64_t -> double (may lose precision) - RAPIDJSON_ASSERT((data_.f.flags & kUint64Flag) != 0); return static_cast(data_.n.u64); // uint64_t -> double (may lose precision) - } - - //! Get the value as float type. - /*! \note If the value is 64-bit integer type, it may lose precision. Use \c IsLosslessFloat() to check whether the converison is lossless. - */ - float GetFloat() const { - return static_cast(GetDouble()); - } - - GenericValue& SetInt(int i) { this->~GenericValue(); new (this) GenericValue(i); return *this; } - GenericValue& SetUint(unsigned u) { this->~GenericValue(); new (this) GenericValue(u); return *this; } - GenericValue& SetInt64(int64_t i64) { this->~GenericValue(); new (this) GenericValue(i64); return *this; } - GenericValue& SetUint64(uint64_t u64) { this->~GenericValue(); new (this) GenericValue(u64); return *this; } - GenericValue& SetDouble(double d) { this->~GenericValue(); new (this) GenericValue(d); return *this; } - GenericValue& SetFloat(float f) { this->~GenericValue(); new (this) GenericValue(static_cast(f)); return *this; } - - //@} - - //!@name String - //@{ - - const Ch* GetString() const { RAPIDJSON_ASSERT(IsString()); return (data_.f.flags & kInlineStrFlag) ? data_.ss.str : GetStringPointer(); } - - //! Get the length of string. - /*! Since rapidjson permits "\\u0000" in the json string, strlen(v.GetString()) may not equal to v.GetStringLength(). - */ - SizeType GetStringLength() const { RAPIDJSON_ASSERT(IsString()); return ((data_.f.flags & kInlineStrFlag) ? (data_.ss.GetLength()) : data_.s.length); } - - //! Set this value as a string without copying source string. - /*! This version has better performance with supplied length, and also support string containing null character. - \param s source string pointer. - \param length The length of source string, excluding the trailing null terminator. - \return The value itself for fluent API. - \post IsString() == true && GetString() == s && GetStringLength() == length - \see SetString(StringRefType) - */ - GenericValue& SetString(const Ch* s, SizeType length) { return SetString(StringRef(s, length)); } - - //! Set this value as a string without copying source string. - /*! \param s source string reference - \return The value itself for fluent API. - \post IsString() == true && GetString() == s && GetStringLength() == s.length - */ - GenericValue& SetString(StringRefType s) { this->~GenericValue(); SetStringRaw(s); return *this; } - - //! Set this value as a string by copying from source string. - /*! This version has better performance with supplied length, and also support string containing null character. - \param s source string. - \param length The length of source string, excluding the trailing null terminator. - \param allocator Allocator for allocating copied buffer. Commonly use GenericDocument::GetAllocator(). - \return The value itself for fluent API. - \post IsString() == true && GetString() != s && strcmp(GetString(),s) == 0 && GetStringLength() == length - */ - GenericValue& SetString(const Ch* s, SizeType length, Allocator& allocator) { return SetString(StringRef(s, length), allocator); } - - //! Set this value as a string by copying from source string. - /*! \param s source string. - \param allocator Allocator for allocating copied buffer. Commonly use GenericDocument::GetAllocator(). - \return The value itself for fluent API. - \post IsString() == true && GetString() != s && strcmp(GetString(),s) == 0 && GetStringLength() == length - */ - GenericValue& SetString(const Ch* s, Allocator& allocator) { return SetString(StringRef(s), allocator); } - - //! Set this value as a string by copying from source string. - /*! \param s source string reference - \param allocator Allocator for allocating copied buffer. Commonly use GenericDocument::GetAllocator(). - \return The value itself for fluent API. - \post IsString() == true && GetString() != s.s && strcmp(GetString(),s) == 0 && GetStringLength() == length - */ - GenericValue& SetString(StringRefType s, Allocator& allocator) { this->~GenericValue(); SetStringRaw(s, allocator); return *this; } - -#if RAPIDJSON_HAS_STDSTRING - //! Set this value as a string by copying from source string. - /*! \param s source string. - \param allocator Allocator for allocating copied buffer. Commonly use GenericDocument::GetAllocator(). - \return The value itself for fluent API. - \post IsString() == true && GetString() != s.data() && strcmp(GetString(),s.data() == 0 && GetStringLength() == s.size() - \note Requires the definition of the preprocessor symbol \ref RAPIDJSON_HAS_STDSTRING. - */ - GenericValue& SetString(const std::basic_string& s, Allocator& allocator) { return SetString(StringRef(s), allocator); } -#endif - - //@} - - //!@name Array - //@{ - - //! Templated version for checking whether this value is type T. - /*! - \tparam T Either \c bool, \c int, \c unsigned, \c int64_t, \c uint64_t, \c double, \c float, \c const \c char*, \c std::basic_string - */ - template - bool Is() const { return internal::TypeHelper::Is(*this); } - - template - T Get() const { return internal::TypeHelper::Get(*this); } - - template - T Get() { return internal::TypeHelper::Get(*this); } - - template - ValueType& Set(const T& data) { return internal::TypeHelper::Set(*this, data); } - - template - ValueType& Set(const T& data, AllocatorType& allocator) { return internal::TypeHelper::Set(*this, data, allocator); } - - //@} - - //! Generate events of this value to a Handler. - /*! This function adopts the GoF visitor pattern. - Typical usage is to output this JSON value as JSON text via Writer, which is a Handler. - It can also be used to deep clone this value via GenericDocument, which is also a Handler. - \tparam Handler type of handler. - \param handler An object implementing concept Handler. - */ - template - bool Accept(Handler& handler) const { - switch(GetType()) { - case kNullType: return handler.Null(); - case kFalseType: return handler.Bool(false); - case kTrueType: return handler.Bool(true); - - case kObjectType: - if (RAPIDJSON_UNLIKELY(!handler.StartObject())) - return false; - for (ConstMemberIterator m = MemberBegin(); m != MemberEnd(); ++m) { - RAPIDJSON_ASSERT(m->name.IsString()); // User may change the type of name by MemberIterator. - if (RAPIDJSON_UNLIKELY(!handler.Key(m->name.GetString(), m->name.GetStringLength(), (m->name.data_.f.flags & kCopyFlag) != 0))) - return false; - if (RAPIDJSON_UNLIKELY(!m->value.Accept(handler))) - return false; - } - return handler.EndObject(data_.o.size); - - case kArrayType: - if (RAPIDJSON_UNLIKELY(!handler.StartArray())) - return false; - for (const GenericValue* v = Begin(); v != End(); ++v) - if (RAPIDJSON_UNLIKELY(!v->Accept(handler))) - return false; - return handler.EndArray(data_.a.size); - - case kStringType: - return handler.String(GetString(), GetStringLength(), (data_.f.flags & kCopyFlag) != 0); - - default: - RAPIDJSON_ASSERT(GetType() == kNumberType); - if (IsDouble()) return handler.Double(data_.n.d); - else if (IsInt()) return handler.Int(data_.n.i.i); - else if (IsUint()) return handler.Uint(data_.n.u.u); - else if (IsInt64()) return handler.Int64(data_.n.i64); - else return handler.Uint64(data_.n.u64); - } - } - -private: - template friend class GenericValue; - template friend class GenericDocument; - - enum { - kBoolFlag = 0x0008, - kNumberFlag = 0x0010, - kIntFlag = 0x0020, - kUintFlag = 0x0040, - kInt64Flag = 0x0080, - kUint64Flag = 0x0100, - kDoubleFlag = 0x0200, - kStringFlag = 0x0400, - kCopyFlag = 0x0800, - kInlineStrFlag = 0x1000, - - // Initial flags of different types. - kNullFlag = kNullType, - kTrueFlag = kTrueType | kBoolFlag, - kFalseFlag = kFalseType | kBoolFlag, - kNumberIntFlag = kNumberType | kNumberFlag | kIntFlag | kInt64Flag, - kNumberUintFlag = kNumberType | kNumberFlag | kUintFlag | kUint64Flag | kInt64Flag, - kNumberInt64Flag = kNumberType | kNumberFlag | kInt64Flag, - kNumberUint64Flag = kNumberType | kNumberFlag | kUint64Flag, - kNumberDoubleFlag = kNumberType | kNumberFlag | kDoubleFlag, - kNumberAnyFlag = kNumberType | kNumberFlag | kIntFlag | kInt64Flag | kUintFlag | kUint64Flag | kDoubleFlag, - kConstStringFlag = kStringType | kStringFlag, - kCopyStringFlag = kStringType | kStringFlag | kCopyFlag, - kShortStringFlag = kStringType | kStringFlag | kCopyFlag | kInlineStrFlag, - kObjectFlag = kObjectType, - kArrayFlag = kArrayType, - - kTypeMask = 0x07 - }; - - static const SizeType kDefaultArrayCapacity = 16; - static const SizeType kDefaultObjectCapacity = 16; - - struct Flag { -#if RAPIDJSON_48BITPOINTER_OPTIMIZATION - char payload[sizeof(SizeType) * 2 + 6]; // 2 x SizeType + lower 48-bit pointer -#elif RAPIDJSON_64BIT - char payload[sizeof(SizeType) * 2 + sizeof(void*) + 6]; // 6 padding bytes -#else - char payload[sizeof(SizeType) * 2 + sizeof(void*) + 2]; // 2 padding bytes -#endif - uint16_t flags; - }; - - struct String { - SizeType length; - SizeType hashcode; //!< reserved - const Ch* str; - }; // 12 bytes in 32-bit mode, 16 bytes in 64-bit mode - - // implementation detail: ShortString can represent zero-terminated strings up to MaxSize chars - // (excluding the terminating zero) and store a value to determine the length of the contained - // string in the last character str[LenPos] by storing "MaxSize - length" there. If the string - // to store has the maximal length of MaxSize then str[LenPos] will be 0 and therefore act as - // the string terminator as well. For getting the string length back from that value just use - // "MaxSize - str[LenPos]". - // This allows to store 13-chars strings in 32-bit mode, 21-chars strings in 64-bit mode, - // 13-chars strings for RAPIDJSON_48BITPOINTER_OPTIMIZATION=1 inline (for `UTF8`-encoded strings). - struct ShortString { - enum { MaxChars = sizeof(static_cast(0)->payload) / sizeof(Ch), MaxSize = MaxChars - 1, LenPos = MaxSize }; - Ch str[MaxChars]; - - inline static bool Usable(SizeType len) { return (MaxSize >= len); } - inline void SetLength(SizeType len) { str[LenPos] = static_cast(MaxSize - len); } - inline SizeType GetLength() const { return static_cast(MaxSize - str[LenPos]); } - }; // at most as many bytes as "String" above => 12 bytes in 32-bit mode, 16 bytes in 64-bit mode - - // By using proper binary layout, retrieval of different integer types do not need conversions. - union Number { -#if RAPIDJSON_ENDIAN == RAPIDJSON_LITTLEENDIAN - struct I { - int i; - char padding[4]; - }i; - struct U { - unsigned u; - char padding2[4]; - }u; -#else - struct I { - char padding[4]; - int i; - }i; - struct U { - char padding2[4]; - unsigned u; - }u; -#endif - int64_t i64; - uint64_t u64; - double d; - }; // 8 bytes - - struct ObjectData { - SizeType size; - SizeType capacity; - Member* members; - }; // 12 bytes in 32-bit mode, 16 bytes in 64-bit mode - - struct ArrayData { - SizeType size; - SizeType capacity; - GenericValue* elements; - }; // 12 bytes in 32-bit mode, 16 bytes in 64-bit mode - - union Data { - String s; - ShortString ss; - Number n; - ObjectData o; - ArrayData a; - Flag f; - }; // 16 bytes in 32-bit mode, 24 bytes in 64-bit mode, 16 bytes in 64-bit with RAPIDJSON_48BITPOINTER_OPTIMIZATION - - RAPIDJSON_FORCEINLINE const Ch* GetStringPointer() const { return RAPIDJSON_GETPOINTER(Ch, data_.s.str); } - RAPIDJSON_FORCEINLINE const Ch* SetStringPointer(const Ch* str) { return RAPIDJSON_SETPOINTER(Ch, data_.s.str, str); } - RAPIDJSON_FORCEINLINE GenericValue* GetElementsPointer() const { return RAPIDJSON_GETPOINTER(GenericValue, data_.a.elements); } - RAPIDJSON_FORCEINLINE GenericValue* SetElementsPointer(GenericValue* elements) { return RAPIDJSON_SETPOINTER(GenericValue, data_.a.elements, elements); } - RAPIDJSON_FORCEINLINE Member* GetMembersPointer() const { return RAPIDJSON_GETPOINTER(Member, data_.o.members); } - RAPIDJSON_FORCEINLINE Member* SetMembersPointer(Member* members) { return RAPIDJSON_SETPOINTER(Member, data_.o.members, members); } - - // Initialize this value as array with initial data, without calling destructor. - void SetArrayRaw(GenericValue* values, SizeType count, Allocator& allocator) { - data_.f.flags = kArrayFlag; - if (count) { - GenericValue* e = static_cast(allocator.Malloc(count * sizeof(GenericValue))); - SetElementsPointer(e); - std::memcpy(static_cast(e), values, count * sizeof(GenericValue)); - } - else - SetElementsPointer(0); - data_.a.size = data_.a.capacity = count; - } - - //! Initialize this value as object with initial data, without calling destructor. - void SetObjectRaw(Member* members, SizeType count, Allocator& allocator) { - data_.f.flags = kObjectFlag; - if (count) { - Member* m = static_cast(allocator.Malloc(count * sizeof(Member))); - SetMembersPointer(m); - std::memcpy(static_cast(m), members, count * sizeof(Member)); - } - else - SetMembersPointer(0); - data_.o.size = data_.o.capacity = count; - } - - //! Initialize this value as constant string, without calling destructor. - void SetStringRaw(StringRefType s) RAPIDJSON_NOEXCEPT { - data_.f.flags = kConstStringFlag; - SetStringPointer(s); - data_.s.length = s.length; - } - - //! Initialize this value as copy string with initial data, without calling destructor. - void SetStringRaw(StringRefType s, Allocator& allocator) { - Ch* str = 0; - if (ShortString::Usable(s.length)) { - data_.f.flags = kShortStringFlag; - data_.ss.SetLength(s.length); - str = data_.ss.str; - } else { - data_.f.flags = kCopyStringFlag; - data_.s.length = s.length; - str = static_cast(allocator.Malloc((s.length + 1) * sizeof(Ch))); - SetStringPointer(str); - } - std::memcpy(str, s, s.length * sizeof(Ch)); - str[s.length] = '\0'; - } - - //! Assignment without calling destructor - void RawAssign(GenericValue& rhs) RAPIDJSON_NOEXCEPT { - data_ = rhs.data_; - // data_.f.flags = rhs.data_.f.flags; - rhs.data_.f.flags = kNullFlag; - } - - template - bool StringEqual(const GenericValue& rhs) const { - RAPIDJSON_ASSERT(IsString()); - RAPIDJSON_ASSERT(rhs.IsString()); - - const SizeType len1 = GetStringLength(); - const SizeType len2 = rhs.GetStringLength(); - if(len1 != len2) { return false; } - - const Ch* const str1 = GetString(); - const Ch* const str2 = rhs.GetString(); - if(str1 == str2) { return true; } // fast path for constant string - - return (std::memcmp(str1, str2, sizeof(Ch) * len1) == 0); - } - - Data data_; -}; - -//! GenericValue with UTF8 encoding -typedef GenericValue > Value; - -/////////////////////////////////////////////////////////////////////////////// -// GenericDocument - -//! A document for parsing JSON text as DOM. -/*! - \note implements Handler concept - \tparam Encoding Encoding for both parsing and string storage. - \tparam Allocator Allocator for allocating memory for the DOM - \tparam StackAllocator Allocator for allocating memory for stack during parsing. - \warning Although GenericDocument inherits from GenericValue, the API does \b not provide any virtual functions, especially no virtual destructor. To avoid memory leaks, do not \c delete a GenericDocument object via a pointer to a GenericValue. -*/ -template , typename StackAllocator = CrtAllocator> -class GenericDocument : public GenericValue { -public: - typedef typename Encoding::Ch Ch; //!< Character type derived from Encoding. - typedef GenericValue ValueType; //!< Value type of the document. - typedef Allocator AllocatorType; //!< Allocator type from template parameter. - - //! Constructor - /*! Creates an empty document of specified type. - \param type Mandatory type of object to create. - \param allocator Optional allocator for allocating memory. - \param stackCapacity Optional initial capacity of stack in bytes. - \param stackAllocator Optional allocator for allocating memory for stack. - */ - explicit GenericDocument(Type type, Allocator* allocator = 0, size_t stackCapacity = kDefaultStackCapacity, StackAllocator* stackAllocator = 0) : - GenericValue(type), allocator_(allocator), ownAllocator_(0), stack_(stackAllocator, stackCapacity), parseResult_() - { - if (!allocator_) - ownAllocator_ = allocator_ = RAPIDJSON_NEW(Allocator)(); - } - - //! Constructor - /*! Creates an empty document which type is Null. - \param allocator Optional allocator for allocating memory. - \param stackCapacity Optional initial capacity of stack in bytes. - \param stackAllocator Optional allocator for allocating memory for stack. - */ - GenericDocument(Allocator* allocator = 0, size_t stackCapacity = kDefaultStackCapacity, StackAllocator* stackAllocator = 0) : - allocator_(allocator), ownAllocator_(0), stack_(stackAllocator, stackCapacity), parseResult_() - { - if (!allocator_) - ownAllocator_ = allocator_ = RAPIDJSON_NEW(Allocator)(); - } - -#if RAPIDJSON_HAS_CXX11_RVALUE_REFS - //! Move constructor in C++11 - GenericDocument(GenericDocument&& rhs) RAPIDJSON_NOEXCEPT - : ValueType(std::forward(rhs)), // explicit cast to avoid prohibited move from Document - allocator_(rhs.allocator_), - ownAllocator_(rhs.ownAllocator_), - stack_(std::move(rhs.stack_)), - parseResult_(rhs.parseResult_) - { - rhs.allocator_ = 0; - rhs.ownAllocator_ = 0; - rhs.parseResult_ = ParseResult(); - } -#endif - - ~GenericDocument() { - Destroy(); - } - -#if RAPIDJSON_HAS_CXX11_RVALUE_REFS - //! Move assignment in C++11 - GenericDocument& operator=(GenericDocument&& rhs) RAPIDJSON_NOEXCEPT - { - // The cast to ValueType is necessary here, because otherwise it would - // attempt to call GenericValue's templated assignment operator. - ValueType::operator=(std::forward(rhs)); - - // Calling the destructor here would prematurely call stack_'s destructor - Destroy(); - - allocator_ = rhs.allocator_; - ownAllocator_ = rhs.ownAllocator_; - stack_ = std::move(rhs.stack_); - parseResult_ = rhs.parseResult_; - - rhs.allocator_ = 0; - rhs.ownAllocator_ = 0; - rhs.parseResult_ = ParseResult(); - - return *this; - } -#endif - - //! Exchange the contents of this document with those of another. - /*! - \param rhs Another document. - \note Constant complexity. - \see GenericValue::Swap - */ - GenericDocument& Swap(GenericDocument& rhs) RAPIDJSON_NOEXCEPT { - ValueType::Swap(rhs); - stack_.Swap(rhs.stack_); - internal::Swap(allocator_, rhs.allocator_); - internal::Swap(ownAllocator_, rhs.ownAllocator_); - internal::Swap(parseResult_, rhs.parseResult_); - return *this; - } - - // Allow Swap with ValueType. - // Refer to Effective C++ 3rd Edition/Item 33: Avoid hiding inherited names. - using ValueType::Swap; - - //! free-standing swap function helper - /*! - Helper function to enable support for common swap implementation pattern based on \c std::swap: - \code - void swap(MyClass& a, MyClass& b) { - using std::swap; - swap(a.doc, b.doc); - // ... - } - \endcode - \see Swap() - */ - friend inline void swap(GenericDocument& a, GenericDocument& b) RAPIDJSON_NOEXCEPT { a.Swap(b); } - - //! Populate this document by a generator which produces SAX events. - /*! \tparam Generator A functor with bool f(Handler) prototype. - \param g Generator functor which sends SAX events to the parameter. - \return The document itself for fluent API. - */ - template - GenericDocument& Populate(Generator& g) { - ClearStackOnExit scope(*this); - if (g(*this)) { - RAPIDJSON_ASSERT(stack_.GetSize() == sizeof(ValueType)); // Got one and only one root object - ValueType::operator=(*stack_.template Pop(1));// Move value from stack to document - } - return *this; - } - - //!@name Parse from stream - //!@{ - - //! Parse JSON text from an input stream (with Encoding conversion) - /*! \tparam parseFlags Combination of \ref ParseFlag. - \tparam SourceEncoding Encoding of input stream - \tparam InputStream Type of input stream, implementing Stream concept - \param is Input stream to be parsed. - \return The document itself for fluent API. - */ - template - GenericDocument& ParseStream(InputStream& is) { - GenericReader reader( - stack_.HasAllocator() ? &stack_.GetAllocator() : 0); - ClearStackOnExit scope(*this); - parseResult_ = reader.template Parse(is, *this); - if (parseResult_) { - RAPIDJSON_ASSERT(stack_.GetSize() == sizeof(ValueType)); // Got one and only one root object - ValueType::operator=(*stack_.template Pop(1));// Move value from stack to document - } - return *this; - } - - //! Parse JSON text from an input stream - /*! \tparam parseFlags Combination of \ref ParseFlag. - \tparam InputStream Type of input stream, implementing Stream concept - \param is Input stream to be parsed. - \return The document itself for fluent API. - */ - template - GenericDocument& ParseStream(InputStream& is) { - return ParseStream(is); - } - - //! Parse JSON text from an input stream (with \ref kParseDefaultFlags) - /*! \tparam InputStream Type of input stream, implementing Stream concept - \param is Input stream to be parsed. - \return The document itself for fluent API. - */ - template - GenericDocument& ParseStream(InputStream& is) { - return ParseStream(is); - } - //!@} - - //!@name Parse in-place from mutable string - //!@{ - - //! Parse JSON text from a mutable string - /*! \tparam parseFlags Combination of \ref ParseFlag. - \param str Mutable zero-terminated string to be parsed. - \return The document itself for fluent API. - */ - template - GenericDocument& ParseInsitu(Ch* str) { - GenericInsituStringStream s(str); - return ParseStream(s); - } - - //! Parse JSON text from a mutable string (with \ref kParseDefaultFlags) - /*! \param str Mutable zero-terminated string to be parsed. - \return The document itself for fluent API. - */ - GenericDocument& ParseInsitu(Ch* str) { - return ParseInsitu(str); - } - //!@} - - //!@name Parse from read-only string - //!@{ - - //! Parse JSON text from a read-only string (with Encoding conversion) - /*! \tparam parseFlags Combination of \ref ParseFlag (must not contain \ref kParseInsituFlag). - \tparam SourceEncoding Transcoding from input Encoding - \param str Read-only zero-terminated string to be parsed. - */ - template - GenericDocument& Parse(const typename SourceEncoding::Ch* str) { - RAPIDJSON_ASSERT(!(parseFlags & kParseInsituFlag)); - GenericStringStream s(str); - return ParseStream(s); - } - - //! Parse JSON text from a read-only string - /*! \tparam parseFlags Combination of \ref ParseFlag (must not contain \ref kParseInsituFlag). - \param str Read-only zero-terminated string to be parsed. - */ - template - GenericDocument& Parse(const Ch* str) { - return Parse(str); - } - - //! Parse JSON text from a read-only string (with \ref kParseDefaultFlags) - /*! \param str Read-only zero-terminated string to be parsed. - */ - GenericDocument& Parse(const Ch* str) { - return Parse(str); - } - - template - GenericDocument& Parse(const typename SourceEncoding::Ch* str, size_t length) { - RAPIDJSON_ASSERT(!(parseFlags & kParseInsituFlag)); - MemoryStream ms(reinterpret_cast(str), length * sizeof(typename SourceEncoding::Ch)); - EncodedInputStream is(ms); - ParseStream(is); - return *this; - } - - template - GenericDocument& Parse(const Ch* str, size_t length) { - return Parse(str, length); - } - - GenericDocument& Parse(const Ch* str, size_t length) { - return Parse(str, length); - } - -#if RAPIDJSON_HAS_STDSTRING - template - GenericDocument& Parse(const std::basic_string& str) { - // c_str() is constant complexity according to standard. Should be faster than Parse(const char*, size_t) - return Parse(str.c_str()); - } - - template - GenericDocument& Parse(const std::basic_string& str) { - return Parse(str.c_str()); - } - - GenericDocument& Parse(const std::basic_string& str) { - return Parse(str); - } -#endif // RAPIDJSON_HAS_STDSTRING - - //!@} - - //!@name Handling parse errors - //!@{ - - //! Whether a parse error has occurred in the last parsing. - bool HasParseError() const { return parseResult_.IsError(); } - - //! Get the \ref ParseErrorCode of last parsing. - ParseErrorCode GetParseError() const { return parseResult_.Code(); } - - //! Get the position of last parsing error in input, 0 otherwise. - size_t GetErrorOffset() const { return parseResult_.Offset(); } - - //! Implicit conversion to get the last parse result -#ifndef __clang // -Wdocumentation - /*! \return \ref ParseResult of the last parse operation - - \code - Document doc; - ParseResult ok = doc.Parse(json); - if (!ok) - printf( "JSON parse error: %s (%u)\n", GetParseError_En(ok.Code()), ok.Offset()); - \endcode - */ -#endif - operator ParseResult() const { return parseResult_; } - //!@} - - //! Get the allocator of this document. - Allocator& GetAllocator() { - RAPIDJSON_ASSERT(allocator_); - return *allocator_; - } - - //! Get the capacity of stack in bytes. - size_t GetStackCapacity() const { return stack_.GetCapacity(); } - -private: - // clear stack on any exit from ParseStream, e.g. due to exception - struct ClearStackOnExit { - explicit ClearStackOnExit(GenericDocument& d) : d_(d) {} - ~ClearStackOnExit() { d_.ClearStack(); } - private: - ClearStackOnExit(const ClearStackOnExit&); - ClearStackOnExit& operator=(const ClearStackOnExit&); - GenericDocument& d_; - }; - - // callers of the following private Handler functions - // template friend class GenericReader; // for parsing - template friend class GenericValue; // for deep copying - -public: - // Implementation of Handler - bool Null() { new (stack_.template Push()) ValueType(); return true; } - bool Bool(bool b) { new (stack_.template Push()) ValueType(b); return true; } - bool Int(int i) { new (stack_.template Push()) ValueType(i); return true; } - bool Uint(unsigned i) { new (stack_.template Push()) ValueType(i); return true; } - bool Int64(int64_t i) { new (stack_.template Push()) ValueType(i); return true; } - bool Uint64(uint64_t i) { new (stack_.template Push()) ValueType(i); return true; } - bool Double(double d) { new (stack_.template Push()) ValueType(d); return true; } - - bool RawNumber(const Ch* str, SizeType length, bool copy) { - if (copy) - new (stack_.template Push()) ValueType(str, length, GetAllocator()); - else - new (stack_.template Push()) ValueType(str, length); - return true; - } - - bool String(const Ch* str, SizeType length, bool copy) { - if (copy) - new (stack_.template Push()) ValueType(str, length, GetAllocator()); - else - new (stack_.template Push()) ValueType(str, length); - return true; - } - - bool StartObject() { new (stack_.template Push()) ValueType(kObjectType); return true; } - - bool Key(const Ch* str, SizeType length, bool copy) { return String(str, length, copy); } - - bool EndObject(SizeType memberCount) { - typename ValueType::Member* members = stack_.template Pop(memberCount); - stack_.template Top()->SetObjectRaw(members, memberCount, GetAllocator()); - return true; - } - - bool StartArray() { new (stack_.template Push()) ValueType(kArrayType); return true; } - - bool EndArray(SizeType elementCount) { - ValueType* elements = stack_.template Pop(elementCount); - stack_.template Top()->SetArrayRaw(elements, elementCount, GetAllocator()); - return true; - } - -private: - //! Prohibit copying - GenericDocument(const GenericDocument&); - //! Prohibit assignment - GenericDocument& operator=(const GenericDocument&); - - void ClearStack() { - if (Allocator::kNeedFree) - while (stack_.GetSize() > 0) // Here assumes all elements in stack array are GenericValue (Member is actually 2 GenericValue objects) - (stack_.template Pop(1))->~ValueType(); - else - stack_.Clear(); - stack_.ShrinkToFit(); - } - - void Destroy() { - RAPIDJSON_DELETE(ownAllocator_); - } - - static const size_t kDefaultStackCapacity = 1024; - Allocator* allocator_; - Allocator* ownAllocator_; - internal::Stack stack_; - ParseResult parseResult_; -}; - -//! GenericDocument with UTF8 encoding -typedef GenericDocument > Document; - -//! Helper class for accessing Value of array type. -/*! - Instance of this helper class is obtained by \c GenericValue::GetArray(). - In addition to all APIs for array type, it provides range-based for loop if \c RAPIDJSON_HAS_CXX11_RANGE_FOR=1. -*/ -template -class GenericArray { -public: - typedef GenericArray ConstArray; - typedef GenericArray Array; - typedef ValueT PlainType; - typedef typename internal::MaybeAddConst::Type ValueType; - typedef ValueType* ValueIterator; // This may be const or non-const iterator - typedef const ValueT* ConstValueIterator; - typedef typename ValueType::AllocatorType AllocatorType; - typedef typename ValueType::StringRefType StringRefType; - - template - friend class GenericValue; - - GenericArray(const GenericArray& rhs) : value_(rhs.value_) {} - GenericArray& operator=(const GenericArray& rhs) { value_ = rhs.value_; return *this; } - ~GenericArray() {} - - SizeType Size() const { return value_.Size(); } - SizeType Capacity() const { return value_.Capacity(); } - bool Empty() const { return value_.Empty(); } - void Clear() const { value_.Clear(); } - ValueType& operator[](SizeType index) const { return value_[index]; } - ValueIterator Begin() const { return value_.Begin(); } - ValueIterator End() const { return value_.End(); } - GenericArray Reserve(SizeType newCapacity, AllocatorType &allocator) const { value_.Reserve(newCapacity, allocator); return *this; } - GenericArray PushBack(ValueType& value, AllocatorType& allocator) const { value_.PushBack(value, allocator); return *this; } -#if RAPIDJSON_HAS_CXX11_RVALUE_REFS - GenericArray PushBack(ValueType&& value, AllocatorType& allocator) const { value_.PushBack(value, allocator); return *this; } -#endif // RAPIDJSON_HAS_CXX11_RVALUE_REFS - GenericArray PushBack(StringRefType value, AllocatorType& allocator) const { value_.PushBack(value, allocator); return *this; } - template RAPIDJSON_DISABLEIF_RETURN((internal::OrExpr, internal::IsGenericValue >), (const GenericArray&)) PushBack(T value, AllocatorType& allocator) const { value_.PushBack(value, allocator); return *this; } - GenericArray PopBack() const { value_.PopBack(); return *this; } - ValueIterator Erase(ConstValueIterator pos) const { return value_.Erase(pos); } - ValueIterator Erase(ConstValueIterator first, ConstValueIterator last) const { return value_.Erase(first, last); } - -#if RAPIDJSON_HAS_CXX11_RANGE_FOR - ValueIterator begin() const { return value_.Begin(); } - ValueIterator end() const { return value_.End(); } -#endif - -private: - GenericArray(); - GenericArray(ValueType& value) : value_(value) {} - ValueType& value_; -}; - -//! Helper class for accessing Value of object type. -/*! - Instance of this helper class is obtained by \c GenericValue::GetObject(). - In addition to all APIs for array type, it provides range-based for loop if \c RAPIDJSON_HAS_CXX11_RANGE_FOR=1. -*/ -template -class GenericObject { -public: - typedef GenericObject ConstObject; - typedef GenericObject Object; - typedef ValueT PlainType; - typedef typename internal::MaybeAddConst::Type ValueType; - typedef GenericMemberIterator MemberIterator; // This may be const or non-const iterator - typedef GenericMemberIterator ConstMemberIterator; - typedef typename ValueType::AllocatorType AllocatorType; - typedef typename ValueType::StringRefType StringRefType; - typedef typename ValueType::EncodingType EncodingType; - typedef typename ValueType::Ch Ch; - - template - friend class GenericValue; - - GenericObject(const GenericObject& rhs) : value_(rhs.value_) {} - GenericObject& operator=(const GenericObject& rhs) { value_ = rhs.value_; return *this; } - ~GenericObject() {} - - SizeType MemberCount() const { return value_.MemberCount(); } - SizeType MemberCapacity() const { return value_.MemberCapacity(); } - bool ObjectEmpty() const { return value_.ObjectEmpty(); } - template ValueType& operator[](T* name) const { return value_[name]; } - template ValueType& operator[](const GenericValue& name) const { return value_[name]; } -#if RAPIDJSON_HAS_STDSTRING - ValueType& operator[](const std::basic_string& name) const { return value_[name]; } -#endif - MemberIterator MemberBegin() const { return value_.MemberBegin(); } - MemberIterator MemberEnd() const { return value_.MemberEnd(); } - GenericObject MemberReserve(SizeType newCapacity, AllocatorType &allocator) const { value_.MemberReserve(newCapacity, allocator); return *this; } - bool HasMember(const Ch* name) const { return value_.HasMember(name); } -#if RAPIDJSON_HAS_STDSTRING - bool HasMember(const std::basic_string& name) const { return value_.HasMember(name); } -#endif - template bool HasMember(const GenericValue& name) const { return value_.HasMember(name); } - MemberIterator FindMember(const Ch* name) const { return value_.FindMember(name); } - template MemberIterator FindMember(const GenericValue& name) const { return value_.FindMember(name); } -#if RAPIDJSON_HAS_STDSTRING - MemberIterator FindMember(const std::basic_string& name) const { return value_.FindMember(name); } -#endif - GenericObject AddMember(ValueType& name, ValueType& value, AllocatorType& allocator) const { value_.AddMember(name, value, allocator); return *this; } - GenericObject AddMember(ValueType& name, StringRefType value, AllocatorType& allocator) const { value_.AddMember(name, value, allocator); return *this; } -#if RAPIDJSON_HAS_STDSTRING - GenericObject AddMember(ValueType& name, std::basic_string& value, AllocatorType& allocator) const { value_.AddMember(name, value, allocator); return *this; } -#endif - template RAPIDJSON_DISABLEIF_RETURN((internal::OrExpr, internal::IsGenericValue >), (ValueType&)) AddMember(ValueType& name, T value, AllocatorType& allocator) const { value_.AddMember(name, value, allocator); return *this; } -#if RAPIDJSON_HAS_CXX11_RVALUE_REFS - GenericObject AddMember(ValueType&& name, ValueType&& value, AllocatorType& allocator) const { value_.AddMember(name, value, allocator); return *this; } - GenericObject AddMember(ValueType&& name, ValueType& value, AllocatorType& allocator) const { value_.AddMember(name, value, allocator); return *this; } - GenericObject AddMember(ValueType& name, ValueType&& value, AllocatorType& allocator) const { value_.AddMember(name, value, allocator); return *this; } - GenericObject AddMember(StringRefType name, ValueType&& value, AllocatorType& allocator) const { value_.AddMember(name, value, allocator); return *this; } -#endif // RAPIDJSON_HAS_CXX11_RVALUE_REFS - GenericObject AddMember(StringRefType name, ValueType& value, AllocatorType& allocator) const { value_.AddMember(name, value, allocator); return *this; } - GenericObject AddMember(StringRefType name, StringRefType value, AllocatorType& allocator) const { value_.AddMember(name, value, allocator); return *this; } - template RAPIDJSON_DISABLEIF_RETURN((internal::OrExpr, internal::IsGenericValue >), (GenericObject)) AddMember(StringRefType name, T value, AllocatorType& allocator) const { value_.AddMember(name, value, allocator); return *this; } - void RemoveAllMembers() { value_.RemoveAllMembers(); } - bool RemoveMember(const Ch* name) const { return value_.RemoveMember(name); } -#if RAPIDJSON_HAS_STDSTRING - bool RemoveMember(const std::basic_string& name) const { return value_.RemoveMember(name); } -#endif - template bool RemoveMember(const GenericValue& name) const { return value_.RemoveMember(name); } - MemberIterator RemoveMember(MemberIterator m) const { return value_.RemoveMember(m); } - MemberIterator EraseMember(ConstMemberIterator pos) const { return value_.EraseMember(pos); } - MemberIterator EraseMember(ConstMemberIterator first, ConstMemberIterator last) const { return value_.EraseMember(first, last); } - bool EraseMember(const Ch* name) const { return value_.EraseMember(name); } -#if RAPIDJSON_HAS_STDSTRING - bool EraseMember(const std::basic_string& name) const { return EraseMember(ValueType(StringRef(name))); } -#endif - template bool EraseMember(const GenericValue& name) const { return value_.EraseMember(name); } - -#if RAPIDJSON_HAS_CXX11_RANGE_FOR - MemberIterator begin() const { return value_.MemberBegin(); } - MemberIterator end() const { return value_.MemberEnd(); } -#endif - -private: - GenericObject(); - GenericObject(ValueType& value) : value_(value) {} - ValueType& value_; -}; - -RAPIDJSON_NAMESPACE_END -RAPIDJSON_DIAG_POP - -#endif // RAPIDJSON_DOCUMENT_H_ diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/encodedstream.h b/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/encodedstream.h deleted file mode 100644 index 223601c059..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/encodedstream.h +++ /dev/null @@ -1,299 +0,0 @@ -// Tencent is pleased to support the open source community by making RapidJSON available. -// -// Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. -// -// Licensed under the MIT License (the "License"); you may not use this file except -// in compliance with the License. You may obtain a copy of the License at -// -// http://opensource.org/licenses/MIT -// -// Unless required by applicable law or agreed to in writing, software distributed -// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -// CONDITIONS OF ANY KIND, either express or implied. See the License for the -// specific language governing permissions and limitations under the License. - -#ifndef RAPIDJSON_ENCODEDSTREAM_H_ -#define RAPIDJSON_ENCODEDSTREAM_H_ - -#include "stream.h" -#include "memorystream.h" - -#ifdef __GNUC__ -RAPIDJSON_DIAG_PUSH -RAPIDJSON_DIAG_OFF(effc++) -#endif - -#ifdef __clang__ -RAPIDJSON_DIAG_PUSH -RAPIDJSON_DIAG_OFF(padded) -#endif - -RAPIDJSON_NAMESPACE_BEGIN - -//! Input byte stream wrapper with a statically bound encoding. -/*! - \tparam Encoding The interpretation of encoding of the stream. Either UTF8, UTF16LE, UTF16BE, UTF32LE, UTF32BE. - \tparam InputByteStream Type of input byte stream. For example, FileReadStream. -*/ -template -class EncodedInputStream { - RAPIDJSON_STATIC_ASSERT(sizeof(typename InputByteStream::Ch) == 1); -public: - typedef typename Encoding::Ch Ch; - - EncodedInputStream(InputByteStream& is) : is_(is) { - current_ = Encoding::TakeBOM(is_); - } - - Ch Peek() const { return current_; } - Ch Take() { Ch c = current_; current_ = Encoding::Take(is_); return c; } - size_t Tell() const { return is_.Tell(); } - - // Not implemented - void Put(Ch) { RAPIDJSON_ASSERT(false); } - void Flush() { RAPIDJSON_ASSERT(false); } - Ch* PutBegin() { RAPIDJSON_ASSERT(false); return 0; } - size_t PutEnd(Ch*) { RAPIDJSON_ASSERT(false); return 0; } - -private: - EncodedInputStream(const EncodedInputStream&); - EncodedInputStream& operator=(const EncodedInputStream&); - - InputByteStream& is_; - Ch current_; -}; - -//! Specialized for UTF8 MemoryStream. -template <> -class EncodedInputStream, MemoryStream> { -public: - typedef UTF8<>::Ch Ch; - - EncodedInputStream(MemoryStream& is) : is_(is) { - if (static_cast(is_.Peek()) == 0xEFu) is_.Take(); - if (static_cast(is_.Peek()) == 0xBBu) is_.Take(); - if (static_cast(is_.Peek()) == 0xBFu) is_.Take(); - } - Ch Peek() const { return is_.Peek(); } - Ch Take() { return is_.Take(); } - size_t Tell() const { return is_.Tell(); } - - // Not implemented - void Put(Ch) {} - void Flush() {} - Ch* PutBegin() { return 0; } - size_t PutEnd(Ch*) { return 0; } - - MemoryStream& is_; - -private: - EncodedInputStream(const EncodedInputStream&); - EncodedInputStream& operator=(const EncodedInputStream&); -}; - -//! Output byte stream wrapper with statically bound encoding. -/*! - \tparam Encoding The interpretation of encoding of the stream. Either UTF8, UTF16LE, UTF16BE, UTF32LE, UTF32BE. - \tparam OutputByteStream Type of input byte stream. For example, FileWriteStream. -*/ -template -class EncodedOutputStream { - RAPIDJSON_STATIC_ASSERT(sizeof(typename OutputByteStream::Ch) == 1); -public: - typedef typename Encoding::Ch Ch; - - EncodedOutputStream(OutputByteStream& os, bool putBOM = true) : os_(os) { - if (putBOM) - Encoding::PutBOM(os_); - } - - void Put(Ch c) { Encoding::Put(os_, c); } - void Flush() { os_.Flush(); } - - // Not implemented - Ch Peek() const { RAPIDJSON_ASSERT(false); return 0;} - Ch Take() { RAPIDJSON_ASSERT(false); return 0;} - size_t Tell() const { RAPIDJSON_ASSERT(false); return 0; } - Ch* PutBegin() { RAPIDJSON_ASSERT(false); return 0; } - size_t PutEnd(Ch*) { RAPIDJSON_ASSERT(false); return 0; } - -private: - EncodedOutputStream(const EncodedOutputStream&); - EncodedOutputStream& operator=(const EncodedOutputStream&); - - OutputByteStream& os_; -}; - -#define RAPIDJSON_ENCODINGS_FUNC(x) UTF8::x, UTF16LE::x, UTF16BE::x, UTF32LE::x, UTF32BE::x - -//! Input stream wrapper with dynamically bound encoding and automatic encoding detection. -/*! - \tparam CharType Type of character for reading. - \tparam InputByteStream type of input byte stream to be wrapped. -*/ -template -class AutoUTFInputStream { - RAPIDJSON_STATIC_ASSERT(sizeof(typename InputByteStream::Ch) == 1); -public: - typedef CharType Ch; - - //! Constructor. - /*! - \param is input stream to be wrapped. - \param type UTF encoding type if it is not detected from the stream. - */ - AutoUTFInputStream(InputByteStream& is, UTFType type = kUTF8) : is_(&is), type_(type), hasBOM_(false) { - RAPIDJSON_ASSERT(type >= kUTF8 && type <= kUTF32BE); - DetectType(); - static const TakeFunc f[] = { RAPIDJSON_ENCODINGS_FUNC(Take) }; - takeFunc_ = f[type_]; - current_ = takeFunc_(*is_); - } - - UTFType GetType() const { return type_; } - bool HasBOM() const { return hasBOM_; } - - Ch Peek() const { return current_; } - Ch Take() { Ch c = current_; current_ = takeFunc_(*is_); return c; } - size_t Tell() const { return is_->Tell(); } - - // Not implemented - void Put(Ch) { RAPIDJSON_ASSERT(false); } - void Flush() { RAPIDJSON_ASSERT(false); } - Ch* PutBegin() { RAPIDJSON_ASSERT(false); return 0; } - size_t PutEnd(Ch*) { RAPIDJSON_ASSERT(false); return 0; } - -private: - AutoUTFInputStream(const AutoUTFInputStream&); - AutoUTFInputStream& operator=(const AutoUTFInputStream&); - - // Detect encoding type with BOM or RFC 4627 - void DetectType() { - // BOM (Byte Order Mark): - // 00 00 FE FF UTF-32BE - // FF FE 00 00 UTF-32LE - // FE FF UTF-16BE - // FF FE UTF-16LE - // EF BB BF UTF-8 - - const unsigned char* c = reinterpret_cast(is_->Peek4()); - if (!c) - return; - - unsigned bom = static_cast(c[0] | (c[1] << 8) | (c[2] << 16) | (c[3] << 24)); - hasBOM_ = false; - if (bom == 0xFFFE0000) { type_ = kUTF32BE; hasBOM_ = true; is_->Take(); is_->Take(); is_->Take(); is_->Take(); } - else if (bom == 0x0000FEFF) { type_ = kUTF32LE; hasBOM_ = true; is_->Take(); is_->Take(); is_->Take(); is_->Take(); } - else if ((bom & 0xFFFF) == 0xFFFE) { type_ = kUTF16BE; hasBOM_ = true; is_->Take(); is_->Take(); } - else if ((bom & 0xFFFF) == 0xFEFF) { type_ = kUTF16LE; hasBOM_ = true; is_->Take(); is_->Take(); } - else if ((bom & 0xFFFFFF) == 0xBFBBEF) { type_ = kUTF8; hasBOM_ = true; is_->Take(); is_->Take(); is_->Take(); } - - // RFC 4627: Section 3 - // "Since the first two characters of a JSON text will always be ASCII - // characters [RFC0020], it is possible to determine whether an octet - // stream is UTF-8, UTF-16 (BE or LE), or UTF-32 (BE or LE) by looking - // at the pattern of nulls in the first four octets." - // 00 00 00 xx UTF-32BE - // 00 xx 00 xx UTF-16BE - // xx 00 00 00 UTF-32LE - // xx 00 xx 00 UTF-16LE - // xx xx xx xx UTF-8 - - if (!hasBOM_) { - int pattern = (c[0] ? 1 : 0) | (c[1] ? 2 : 0) | (c[2] ? 4 : 0) | (c[3] ? 8 : 0); - switch (pattern) { - case 0x08: type_ = kUTF32BE; break; - case 0x0A: type_ = kUTF16BE; break; - case 0x01: type_ = kUTF32LE; break; - case 0x05: type_ = kUTF16LE; break; - case 0x0F: type_ = kUTF8; break; - default: break; // Use type defined by user. - } - } - - // Runtime check whether the size of character type is sufficient. It only perform checks with assertion. - if (type_ == kUTF16LE || type_ == kUTF16BE) RAPIDJSON_ASSERT(sizeof(Ch) >= 2); - if (type_ == kUTF32LE || type_ == kUTF32BE) RAPIDJSON_ASSERT(sizeof(Ch) >= 4); - } - - typedef Ch (*TakeFunc)(InputByteStream& is); - InputByteStream* is_; - UTFType type_; - Ch current_; - TakeFunc takeFunc_; - bool hasBOM_; -}; - -//! Output stream wrapper with dynamically bound encoding and automatic encoding detection. -/*! - \tparam CharType Type of character for writing. - \tparam OutputByteStream type of output byte stream to be wrapped. -*/ -template -class AutoUTFOutputStream { - RAPIDJSON_STATIC_ASSERT(sizeof(typename OutputByteStream::Ch) == 1); -public: - typedef CharType Ch; - - //! Constructor. - /*! - \param os output stream to be wrapped. - \param type UTF encoding type. - \param putBOM Whether to write BOM at the beginning of the stream. - */ - AutoUTFOutputStream(OutputByteStream& os, UTFType type, bool putBOM) : os_(&os), type_(type) { - RAPIDJSON_ASSERT(type >= kUTF8 && type <= kUTF32BE); - - // Runtime check whether the size of character type is sufficient. It only perform checks with assertion. - if (type_ == kUTF16LE || type_ == kUTF16BE) RAPIDJSON_ASSERT(sizeof(Ch) >= 2); - if (type_ == kUTF32LE || type_ == kUTF32BE) RAPIDJSON_ASSERT(sizeof(Ch) >= 4); - - static const PutFunc f[] = { RAPIDJSON_ENCODINGS_FUNC(Put) }; - putFunc_ = f[type_]; - - if (putBOM) - PutBOM(); - } - - UTFType GetType() const { return type_; } - - void Put(Ch c) { putFunc_(*os_, c); } - void Flush() { os_->Flush(); } - - // Not implemented - Ch Peek() const { RAPIDJSON_ASSERT(false); return 0;} - Ch Take() { RAPIDJSON_ASSERT(false); return 0;} - size_t Tell() const { RAPIDJSON_ASSERT(false); return 0; } - Ch* PutBegin() { RAPIDJSON_ASSERT(false); return 0; } - size_t PutEnd(Ch*) { RAPIDJSON_ASSERT(false); return 0; } - -private: - AutoUTFOutputStream(const AutoUTFOutputStream&); - AutoUTFOutputStream& operator=(const AutoUTFOutputStream&); - - void PutBOM() { - typedef void (*PutBOMFunc)(OutputByteStream&); - static const PutBOMFunc f[] = { RAPIDJSON_ENCODINGS_FUNC(PutBOM) }; - f[type_](*os_); - } - - typedef void (*PutFunc)(OutputByteStream&, Ch); - - OutputByteStream* os_; - UTFType type_; - PutFunc putFunc_; -}; - -#undef RAPIDJSON_ENCODINGS_FUNC - -RAPIDJSON_NAMESPACE_END - -#ifdef __clang__ -RAPIDJSON_DIAG_POP -#endif - -#ifdef __GNUC__ -RAPIDJSON_DIAG_POP -#endif - -#endif // RAPIDJSON_FILESTREAM_H_ diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/encodings.h b/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/encodings.h deleted file mode 100644 index 0b24467950..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/encodings.h +++ /dev/null @@ -1,716 +0,0 @@ -// Tencent is pleased to support the open source community by making RapidJSON available. -// -// Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. -// -// Licensed under the MIT License (the "License"); you may not use this file except -// in compliance with the License. You may obtain a copy of the License at -// -// http://opensource.org/licenses/MIT -// -// Unless required by applicable law or agreed to in writing, software distributed -// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -// CONDITIONS OF ANY KIND, either express or implied. See the License for the -// specific language governing permissions and limitations under the License. - -#ifndef RAPIDJSON_ENCODINGS_H_ -#define RAPIDJSON_ENCODINGS_H_ - -#include "rapidjson.h" - -#if defined(_MSC_VER) && !defined(__clang__) -RAPIDJSON_DIAG_PUSH -RAPIDJSON_DIAG_OFF(4244) // conversion from 'type1' to 'type2', possible loss of data -RAPIDJSON_DIAG_OFF(4702) // unreachable code -#elif defined(__GNUC__) -RAPIDJSON_DIAG_PUSH -RAPIDJSON_DIAG_OFF(effc++) -RAPIDJSON_DIAG_OFF(overflow) -#endif - -RAPIDJSON_NAMESPACE_BEGIN - -/////////////////////////////////////////////////////////////////////////////// -// Encoding - -/*! \class rapidjson::Encoding - \brief Concept for encoding of Unicode characters. - -\code -concept Encoding { - typename Ch; //! Type of character. A "character" is actually a code unit in unicode's definition. - - enum { supportUnicode = 1 }; // or 0 if not supporting unicode - - //! \brief Encode a Unicode codepoint to an output stream. - //! \param os Output stream. - //! \param codepoint An unicode codepoint, ranging from 0x0 to 0x10FFFF inclusively. - template - static void Encode(OutputStream& os, unsigned codepoint); - - //! \brief Decode a Unicode codepoint from an input stream. - //! \param is Input stream. - //! \param codepoint Output of the unicode codepoint. - //! \return true if a valid codepoint can be decoded from the stream. - template - static bool Decode(InputStream& is, unsigned* codepoint); - - //! \brief Validate one Unicode codepoint from an encoded stream. - //! \param is Input stream to obtain codepoint. - //! \param os Output for copying one codepoint. - //! \return true if it is valid. - //! \note This function just validating and copying the codepoint without actually decode it. - template - static bool Validate(InputStream& is, OutputStream& os); - - // The following functions are deal with byte streams. - - //! Take a character from input byte stream, skip BOM if exist. - template - static CharType TakeBOM(InputByteStream& is); - - //! Take a character from input byte stream. - template - static Ch Take(InputByteStream& is); - - //! Put BOM to output byte stream. - template - static void PutBOM(OutputByteStream& os); - - //! Put a character to output byte stream. - template - static void Put(OutputByteStream& os, Ch c); -}; -\endcode -*/ - -/////////////////////////////////////////////////////////////////////////////// -// UTF8 - -//! UTF-8 encoding. -/*! http://en.wikipedia.org/wiki/UTF-8 - http://tools.ietf.org/html/rfc3629 - \tparam CharType Code unit for storing 8-bit UTF-8 data. Default is char. - \note implements Encoding concept -*/ -template -struct UTF8 { - typedef CharType Ch; - - enum { supportUnicode = 1 }; - - template - static void Encode(OutputStream& os, unsigned codepoint) { - if (codepoint <= 0x7F) - os.Put(static_cast(codepoint & 0xFF)); - else if (codepoint <= 0x7FF) { - os.Put(static_cast(0xC0 | ((codepoint >> 6) & 0xFF))); - os.Put(static_cast(0x80 | ((codepoint & 0x3F)))); - } - else if (codepoint <= 0xFFFF) { - os.Put(static_cast(0xE0 | ((codepoint >> 12) & 0xFF))); - os.Put(static_cast(0x80 | ((codepoint >> 6) & 0x3F))); - os.Put(static_cast(0x80 | (codepoint & 0x3F))); - } - else { - RAPIDJSON_ASSERT(codepoint <= 0x10FFFF); - os.Put(static_cast(0xF0 | ((codepoint >> 18) & 0xFF))); - os.Put(static_cast(0x80 | ((codepoint >> 12) & 0x3F))); - os.Put(static_cast(0x80 | ((codepoint >> 6) & 0x3F))); - os.Put(static_cast(0x80 | (codepoint & 0x3F))); - } - } - - template - static void EncodeUnsafe(OutputStream& os, unsigned codepoint) { - if (codepoint <= 0x7F) - PutUnsafe(os, static_cast(codepoint & 0xFF)); - else if (codepoint <= 0x7FF) { - PutUnsafe(os, static_cast(0xC0 | ((codepoint >> 6) & 0xFF))); - PutUnsafe(os, static_cast(0x80 | ((codepoint & 0x3F)))); - } - else if (codepoint <= 0xFFFF) { - PutUnsafe(os, static_cast(0xE0 | ((codepoint >> 12) & 0xFF))); - PutUnsafe(os, static_cast(0x80 | ((codepoint >> 6) & 0x3F))); - PutUnsafe(os, static_cast(0x80 | (codepoint & 0x3F))); - } - else { - RAPIDJSON_ASSERT(codepoint <= 0x10FFFF); - PutUnsafe(os, static_cast(0xF0 | ((codepoint >> 18) & 0xFF))); - PutUnsafe(os, static_cast(0x80 | ((codepoint >> 12) & 0x3F))); - PutUnsafe(os, static_cast(0x80 | ((codepoint >> 6) & 0x3F))); - PutUnsafe(os, static_cast(0x80 | (codepoint & 0x3F))); - } - } - - template - static bool Decode(InputStream& is, unsigned* codepoint) { -#define RAPIDJSON_COPY() c = is.Take(); *codepoint = (*codepoint << 6) | (static_cast(c) & 0x3Fu) -#define RAPIDJSON_TRANS(mask) result &= ((GetRange(static_cast(c)) & mask) != 0) -#define RAPIDJSON_TAIL() RAPIDJSON_COPY(); RAPIDJSON_TRANS(0x70) - typename InputStream::Ch c = is.Take(); - if (!(c & 0x80)) { - *codepoint = static_cast(c); - return true; - } - - unsigned char type = GetRange(static_cast(c)); - if (type >= 32) { - *codepoint = 0; - } else { - *codepoint = (0xFFu >> type) & static_cast(c); - } - bool result = true; - switch (type) { - case 2: RAPIDJSON_TAIL(); return result; - case 3: RAPIDJSON_TAIL(); RAPIDJSON_TAIL(); return result; - case 4: RAPIDJSON_COPY(); RAPIDJSON_TRANS(0x50); RAPIDJSON_TAIL(); return result; - case 5: RAPIDJSON_COPY(); RAPIDJSON_TRANS(0x10); RAPIDJSON_TAIL(); RAPIDJSON_TAIL(); return result; - case 6: RAPIDJSON_TAIL(); RAPIDJSON_TAIL(); RAPIDJSON_TAIL(); return result; - case 10: RAPIDJSON_COPY(); RAPIDJSON_TRANS(0x20); RAPIDJSON_TAIL(); return result; - case 11: RAPIDJSON_COPY(); RAPIDJSON_TRANS(0x60); RAPIDJSON_TAIL(); RAPIDJSON_TAIL(); return result; - default: return false; - } -#undef RAPIDJSON_COPY -#undef RAPIDJSON_TRANS -#undef RAPIDJSON_TAIL - } - - template - static bool Validate(InputStream& is, OutputStream& os) { -#define RAPIDJSON_COPY() os.Put(c = is.Take()) -#define RAPIDJSON_TRANS(mask) result &= ((GetRange(static_cast(c)) & mask) != 0) -#define RAPIDJSON_TAIL() RAPIDJSON_COPY(); RAPIDJSON_TRANS(0x70) - Ch c; - RAPIDJSON_COPY(); - if (!(c & 0x80)) - return true; - - bool result = true; - switch (GetRange(static_cast(c))) { - case 2: RAPIDJSON_TAIL(); return result; - case 3: RAPIDJSON_TAIL(); RAPIDJSON_TAIL(); return result; - case 4: RAPIDJSON_COPY(); RAPIDJSON_TRANS(0x50); RAPIDJSON_TAIL(); return result; - case 5: RAPIDJSON_COPY(); RAPIDJSON_TRANS(0x10); RAPIDJSON_TAIL(); RAPIDJSON_TAIL(); return result; - case 6: RAPIDJSON_TAIL(); RAPIDJSON_TAIL(); RAPIDJSON_TAIL(); return result; - case 10: RAPIDJSON_COPY(); RAPIDJSON_TRANS(0x20); RAPIDJSON_TAIL(); return result; - case 11: RAPIDJSON_COPY(); RAPIDJSON_TRANS(0x60); RAPIDJSON_TAIL(); RAPIDJSON_TAIL(); return result; - default: return false; - } -#undef RAPIDJSON_COPY -#undef RAPIDJSON_TRANS -#undef RAPIDJSON_TAIL - } - - static unsigned char GetRange(unsigned char c) { - // Referring to DFA of http://bjoern.hoehrmann.de/utf-8/decoder/dfa/ - // With new mapping 1 -> 0x10, 7 -> 0x20, 9 -> 0x40, such that AND operation can test multiple types. - static const unsigned char type[] = { - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10, - 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 8,8,2,2,2,2,2,2,2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, - 10,3,3,3,3,3,3,3,3,3,3,3,3,4,3,3, 11,6,6,6,5,8,8,8,8,8,8,8,8,8,8,8, - }; - return type[c]; - } - - template - static CharType TakeBOM(InputByteStream& is) { - RAPIDJSON_STATIC_ASSERT(sizeof(typename InputByteStream::Ch) == 1); - typename InputByteStream::Ch c = Take(is); - if (static_cast(c) != 0xEFu) return c; - c = is.Take(); - if (static_cast(c) != 0xBBu) return c; - c = is.Take(); - if (static_cast(c) != 0xBFu) return c; - c = is.Take(); - return c; - } - - template - static Ch Take(InputByteStream& is) { - RAPIDJSON_STATIC_ASSERT(sizeof(typename InputByteStream::Ch) == 1); - return static_cast(is.Take()); - } - - template - static void PutBOM(OutputByteStream& os) { - RAPIDJSON_STATIC_ASSERT(sizeof(typename OutputByteStream::Ch) == 1); - os.Put(static_cast(0xEFu)); - os.Put(static_cast(0xBBu)); - os.Put(static_cast(0xBFu)); - } - - template - static void Put(OutputByteStream& os, Ch c) { - RAPIDJSON_STATIC_ASSERT(sizeof(typename OutputByteStream::Ch) == 1); - os.Put(static_cast(c)); - } -}; - -/////////////////////////////////////////////////////////////////////////////// -// UTF16 - -//! UTF-16 encoding. -/*! http://en.wikipedia.org/wiki/UTF-16 - http://tools.ietf.org/html/rfc2781 - \tparam CharType Type for storing 16-bit UTF-16 data. Default is wchar_t. C++11 may use char16_t instead. - \note implements Encoding concept - - \note For in-memory access, no need to concern endianness. The code units and code points are represented by CPU's endianness. - For streaming, use UTF16LE and UTF16BE, which handle endianness. -*/ -template -struct UTF16 { - typedef CharType Ch; - RAPIDJSON_STATIC_ASSERT(sizeof(Ch) >= 2); - - enum { supportUnicode = 1 }; - - template - static void Encode(OutputStream& os, unsigned codepoint) { - RAPIDJSON_STATIC_ASSERT(sizeof(typename OutputStream::Ch) >= 2); - if (codepoint <= 0xFFFF) { - RAPIDJSON_ASSERT(codepoint < 0xD800 || codepoint > 0xDFFF); // Code point itself cannot be surrogate pair - os.Put(static_cast(codepoint)); - } - else { - RAPIDJSON_ASSERT(codepoint <= 0x10FFFF); - unsigned v = codepoint - 0x10000; - os.Put(static_cast((v >> 10) | 0xD800)); - os.Put(static_cast((v & 0x3FF) | 0xDC00)); - } - } - - - template - static void EncodeUnsafe(OutputStream& os, unsigned codepoint) { - RAPIDJSON_STATIC_ASSERT(sizeof(typename OutputStream::Ch) >= 2); - if (codepoint <= 0xFFFF) { - RAPIDJSON_ASSERT(codepoint < 0xD800 || codepoint > 0xDFFF); // Code point itself cannot be surrogate pair - PutUnsafe(os, static_cast(codepoint)); - } - else { - RAPIDJSON_ASSERT(codepoint <= 0x10FFFF); - unsigned v = codepoint - 0x10000; - PutUnsafe(os, static_cast((v >> 10) | 0xD800)); - PutUnsafe(os, static_cast((v & 0x3FF) | 0xDC00)); - } - } - - template - static bool Decode(InputStream& is, unsigned* codepoint) { - RAPIDJSON_STATIC_ASSERT(sizeof(typename InputStream::Ch) >= 2); - typename InputStream::Ch c = is.Take(); - if (c < 0xD800 || c > 0xDFFF) { - *codepoint = static_cast(c); - return true; - } - else if (c <= 0xDBFF) { - *codepoint = (static_cast(c) & 0x3FF) << 10; - c = is.Take(); - *codepoint |= (static_cast(c) & 0x3FF); - *codepoint += 0x10000; - return c >= 0xDC00 && c <= 0xDFFF; - } - return false; - } - - template - static bool Validate(InputStream& is, OutputStream& os) { - RAPIDJSON_STATIC_ASSERT(sizeof(typename InputStream::Ch) >= 2); - RAPIDJSON_STATIC_ASSERT(sizeof(typename OutputStream::Ch) >= 2); - typename InputStream::Ch c; - os.Put(static_cast(c = is.Take())); - if (c < 0xD800 || c > 0xDFFF) - return true; - else if (c <= 0xDBFF) { - os.Put(c = is.Take()); - return c >= 0xDC00 && c <= 0xDFFF; - } - return false; - } -}; - -//! UTF-16 little endian encoding. -template -struct UTF16LE : UTF16 { - template - static CharType TakeBOM(InputByteStream& is) { - RAPIDJSON_STATIC_ASSERT(sizeof(typename InputByteStream::Ch) == 1); - CharType c = Take(is); - return static_cast(c) == 0xFEFFu ? Take(is) : c; - } - - template - static CharType Take(InputByteStream& is) { - RAPIDJSON_STATIC_ASSERT(sizeof(typename InputByteStream::Ch) == 1); - unsigned c = static_cast(is.Take()); - c |= static_cast(static_cast(is.Take())) << 8; - return static_cast(c); - } - - template - static void PutBOM(OutputByteStream& os) { - RAPIDJSON_STATIC_ASSERT(sizeof(typename OutputByteStream::Ch) == 1); - os.Put(static_cast(0xFFu)); - os.Put(static_cast(0xFEu)); - } - - template - static void Put(OutputByteStream& os, CharType c) { - RAPIDJSON_STATIC_ASSERT(sizeof(typename OutputByteStream::Ch) == 1); - os.Put(static_cast(static_cast(c) & 0xFFu)); - os.Put(static_cast((static_cast(c) >> 8) & 0xFFu)); - } -}; - -//! UTF-16 big endian encoding. -template -struct UTF16BE : UTF16 { - template - static CharType TakeBOM(InputByteStream& is) { - RAPIDJSON_STATIC_ASSERT(sizeof(typename InputByteStream::Ch) == 1); - CharType c = Take(is); - return static_cast(c) == 0xFEFFu ? Take(is) : c; - } - - template - static CharType Take(InputByteStream& is) { - RAPIDJSON_STATIC_ASSERT(sizeof(typename InputByteStream::Ch) == 1); - unsigned c = static_cast(static_cast(is.Take())) << 8; - c |= static_cast(static_cast(is.Take())); - return static_cast(c); - } - - template - static void PutBOM(OutputByteStream& os) { - RAPIDJSON_STATIC_ASSERT(sizeof(typename OutputByteStream::Ch) == 1); - os.Put(static_cast(0xFEu)); - os.Put(static_cast(0xFFu)); - } - - template - static void Put(OutputByteStream& os, CharType c) { - RAPIDJSON_STATIC_ASSERT(sizeof(typename OutputByteStream::Ch) == 1); - os.Put(static_cast((static_cast(c) >> 8) & 0xFFu)); - os.Put(static_cast(static_cast(c) & 0xFFu)); - } -}; - -/////////////////////////////////////////////////////////////////////////////// -// UTF32 - -//! UTF-32 encoding. -/*! http://en.wikipedia.org/wiki/UTF-32 - \tparam CharType Type for storing 32-bit UTF-32 data. Default is unsigned. C++11 may use char32_t instead. - \note implements Encoding concept - - \note For in-memory access, no need to concern endianness. The code units and code points are represented by CPU's endianness. - For streaming, use UTF32LE and UTF32BE, which handle endianness. -*/ -template -struct UTF32 { - typedef CharType Ch; - RAPIDJSON_STATIC_ASSERT(sizeof(Ch) >= 4); - - enum { supportUnicode = 1 }; - - template - static void Encode(OutputStream& os, unsigned codepoint) { - RAPIDJSON_STATIC_ASSERT(sizeof(typename OutputStream::Ch) >= 4); - RAPIDJSON_ASSERT(codepoint <= 0x10FFFF); - os.Put(codepoint); - } - - template - static void EncodeUnsafe(OutputStream& os, unsigned codepoint) { - RAPIDJSON_STATIC_ASSERT(sizeof(typename OutputStream::Ch) >= 4); - RAPIDJSON_ASSERT(codepoint <= 0x10FFFF); - PutUnsafe(os, codepoint); - } - - template - static bool Decode(InputStream& is, unsigned* codepoint) { - RAPIDJSON_STATIC_ASSERT(sizeof(typename InputStream::Ch) >= 4); - Ch c = is.Take(); - *codepoint = c; - return c <= 0x10FFFF; - } - - template - static bool Validate(InputStream& is, OutputStream& os) { - RAPIDJSON_STATIC_ASSERT(sizeof(typename InputStream::Ch) >= 4); - Ch c; - os.Put(c = is.Take()); - return c <= 0x10FFFF; - } -}; - -//! UTF-32 little endian enocoding. -template -struct UTF32LE : UTF32 { - template - static CharType TakeBOM(InputByteStream& is) { - RAPIDJSON_STATIC_ASSERT(sizeof(typename InputByteStream::Ch) == 1); - CharType c = Take(is); - return static_cast(c) == 0x0000FEFFu ? Take(is) : c; - } - - template - static CharType Take(InputByteStream& is) { - RAPIDJSON_STATIC_ASSERT(sizeof(typename InputByteStream::Ch) == 1); - unsigned c = static_cast(is.Take()); - c |= static_cast(static_cast(is.Take())) << 8; - c |= static_cast(static_cast(is.Take())) << 16; - c |= static_cast(static_cast(is.Take())) << 24; - return static_cast(c); - } - - template - static void PutBOM(OutputByteStream& os) { - RAPIDJSON_STATIC_ASSERT(sizeof(typename OutputByteStream::Ch) == 1); - os.Put(static_cast(0xFFu)); - os.Put(static_cast(0xFEu)); - os.Put(static_cast(0x00u)); - os.Put(static_cast(0x00u)); - } - - template - static void Put(OutputByteStream& os, CharType c) { - RAPIDJSON_STATIC_ASSERT(sizeof(typename OutputByteStream::Ch) == 1); - os.Put(static_cast(c & 0xFFu)); - os.Put(static_cast((c >> 8) & 0xFFu)); - os.Put(static_cast((c >> 16) & 0xFFu)); - os.Put(static_cast((c >> 24) & 0xFFu)); - } -}; - -//! UTF-32 big endian encoding. -template -struct UTF32BE : UTF32 { - template - static CharType TakeBOM(InputByteStream& is) { - RAPIDJSON_STATIC_ASSERT(sizeof(typename InputByteStream::Ch) == 1); - CharType c = Take(is); - return static_cast(c) == 0x0000FEFFu ? Take(is) : c; - } - - template - static CharType Take(InputByteStream& is) { - RAPIDJSON_STATIC_ASSERT(sizeof(typename InputByteStream::Ch) == 1); - unsigned c = static_cast(static_cast(is.Take())) << 24; - c |= static_cast(static_cast(is.Take())) << 16; - c |= static_cast(static_cast(is.Take())) << 8; - c |= static_cast(static_cast(is.Take())); - return static_cast(c); - } - - template - static void PutBOM(OutputByteStream& os) { - RAPIDJSON_STATIC_ASSERT(sizeof(typename OutputByteStream::Ch) == 1); - os.Put(static_cast(0x00u)); - os.Put(static_cast(0x00u)); - os.Put(static_cast(0xFEu)); - os.Put(static_cast(0xFFu)); - } - - template - static void Put(OutputByteStream& os, CharType c) { - RAPIDJSON_STATIC_ASSERT(sizeof(typename OutputByteStream::Ch) == 1); - os.Put(static_cast((c >> 24) & 0xFFu)); - os.Put(static_cast((c >> 16) & 0xFFu)); - os.Put(static_cast((c >> 8) & 0xFFu)); - os.Put(static_cast(c & 0xFFu)); - } -}; - -/////////////////////////////////////////////////////////////////////////////// -// ASCII - -//! ASCII encoding. -/*! http://en.wikipedia.org/wiki/ASCII - \tparam CharType Code unit for storing 7-bit ASCII data. Default is char. - \note implements Encoding concept -*/ -template -struct ASCII { - typedef CharType Ch; - - enum { supportUnicode = 0 }; - - template - static void Encode(OutputStream& os, unsigned codepoint) { - RAPIDJSON_ASSERT(codepoint <= 0x7F); - os.Put(static_cast(codepoint & 0xFF)); - } - - template - static void EncodeUnsafe(OutputStream& os, unsigned codepoint) { - RAPIDJSON_ASSERT(codepoint <= 0x7F); - PutUnsafe(os, static_cast(codepoint & 0xFF)); - } - - template - static bool Decode(InputStream& is, unsigned* codepoint) { - uint8_t c = static_cast(is.Take()); - *codepoint = c; - return c <= 0X7F; - } - - template - static bool Validate(InputStream& is, OutputStream& os) { - uint8_t c = static_cast(is.Take()); - os.Put(static_cast(c)); - return c <= 0x7F; - } - - template - static CharType TakeBOM(InputByteStream& is) { - RAPIDJSON_STATIC_ASSERT(sizeof(typename InputByteStream::Ch) == 1); - uint8_t c = static_cast(Take(is)); - return static_cast(c); - } - - template - static Ch Take(InputByteStream& is) { - RAPIDJSON_STATIC_ASSERT(sizeof(typename InputByteStream::Ch) == 1); - return static_cast(is.Take()); - } - - template - static void PutBOM(OutputByteStream& os) { - RAPIDJSON_STATIC_ASSERT(sizeof(typename OutputByteStream::Ch) == 1); - (void)os; - } - - template - static void Put(OutputByteStream& os, Ch c) { - RAPIDJSON_STATIC_ASSERT(sizeof(typename OutputByteStream::Ch) == 1); - os.Put(static_cast(c)); - } -}; - -/////////////////////////////////////////////////////////////////////////////// -// AutoUTF - -//! Runtime-specified UTF encoding type of a stream. -enum UTFType { - kUTF8 = 0, //!< UTF-8. - kUTF16LE = 1, //!< UTF-16 little endian. - kUTF16BE = 2, //!< UTF-16 big endian. - kUTF32LE = 3, //!< UTF-32 little endian. - kUTF32BE = 4 //!< UTF-32 big endian. -}; - -//! Dynamically select encoding according to stream's runtime-specified UTF encoding type. -/*! \note This class can be used with AutoUTFInputtStream and AutoUTFOutputStream, which provides GetType(). -*/ -template -struct AutoUTF { - typedef CharType Ch; - - enum { supportUnicode = 1 }; - -#define RAPIDJSON_ENCODINGS_FUNC(x) UTF8::x, UTF16LE::x, UTF16BE::x, UTF32LE::x, UTF32BE::x - - template - static RAPIDJSON_FORCEINLINE void Encode(OutputStream& os, unsigned codepoint) { - typedef void (*EncodeFunc)(OutputStream&, unsigned); - static const EncodeFunc f[] = { RAPIDJSON_ENCODINGS_FUNC(Encode) }; - (*f[os.GetType()])(os, codepoint); - } - - template - static RAPIDJSON_FORCEINLINE void EncodeUnsafe(OutputStream& os, unsigned codepoint) { - typedef void (*EncodeFunc)(OutputStream&, unsigned); - static const EncodeFunc f[] = { RAPIDJSON_ENCODINGS_FUNC(EncodeUnsafe) }; - (*f[os.GetType()])(os, codepoint); - } - - template - static RAPIDJSON_FORCEINLINE bool Decode(InputStream& is, unsigned* codepoint) { - typedef bool (*DecodeFunc)(InputStream&, unsigned*); - static const DecodeFunc f[] = { RAPIDJSON_ENCODINGS_FUNC(Decode) }; - return (*f[is.GetType()])(is, codepoint); - } - - template - static RAPIDJSON_FORCEINLINE bool Validate(InputStream& is, OutputStream& os) { - typedef bool (*ValidateFunc)(InputStream&, OutputStream&); - static const ValidateFunc f[] = { RAPIDJSON_ENCODINGS_FUNC(Validate) }; - return (*f[is.GetType()])(is, os); - } - -#undef RAPIDJSON_ENCODINGS_FUNC -}; - -/////////////////////////////////////////////////////////////////////////////// -// Transcoder - -//! Encoding conversion. -template -struct Transcoder { - //! Take one Unicode codepoint from source encoding, convert it to target encoding and put it to the output stream. - template - static RAPIDJSON_FORCEINLINE bool Transcode(InputStream& is, OutputStream& os) { - unsigned codepoint; - if (!SourceEncoding::Decode(is, &codepoint)) - return false; - TargetEncoding::Encode(os, codepoint); - return true; - } - - template - static RAPIDJSON_FORCEINLINE bool TranscodeUnsafe(InputStream& is, OutputStream& os) { - unsigned codepoint; - if (!SourceEncoding::Decode(is, &codepoint)) - return false; - TargetEncoding::EncodeUnsafe(os, codepoint); - return true; - } - - //! Validate one Unicode codepoint from an encoded stream. - template - static RAPIDJSON_FORCEINLINE bool Validate(InputStream& is, OutputStream& os) { - return Transcode(is, os); // Since source/target encoding is different, must transcode. - } -}; - -// Forward declaration. -template -inline void PutUnsafe(Stream& stream, typename Stream::Ch c); - -//! Specialization of Transcoder with same source and target encoding. -template -struct Transcoder { - template - static RAPIDJSON_FORCEINLINE bool Transcode(InputStream& is, OutputStream& os) { - os.Put(is.Take()); // Just copy one code unit. This semantic is different from primary template class. - return true; - } - - template - static RAPIDJSON_FORCEINLINE bool TranscodeUnsafe(InputStream& is, OutputStream& os) { - PutUnsafe(os, is.Take()); // Just copy one code unit. This semantic is different from primary template class. - return true; - } - - template - static RAPIDJSON_FORCEINLINE bool Validate(InputStream& is, OutputStream& os) { - return Encoding::Validate(is, os); // source/target encoding are the same - } -}; - -RAPIDJSON_NAMESPACE_END - -#if defined(__GNUC__) || (defined(_MSC_VER) && !defined(__clang__)) -RAPIDJSON_DIAG_POP -#endif - -#endif // RAPIDJSON_ENCODINGS_H_ diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/error/en.h b/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/error/en.h deleted file mode 100644 index 2db838bff2..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/error/en.h +++ /dev/null @@ -1,74 +0,0 @@ -// Tencent is pleased to support the open source community by making RapidJSON available. -// -// Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. -// -// Licensed under the MIT License (the "License"); you may not use this file except -// in compliance with the License. You may obtain a copy of the License at -// -// http://opensource.org/licenses/MIT -// -// Unless required by applicable law or agreed to in writing, software distributed -// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -// CONDITIONS OF ANY KIND, either express or implied. See the License for the -// specific language governing permissions and limitations under the License. - -#ifndef RAPIDJSON_ERROR_EN_H_ -#define RAPIDJSON_ERROR_EN_H_ - -#include "error.h" - -#ifdef __clang__ -RAPIDJSON_DIAG_PUSH -RAPIDJSON_DIAG_OFF(switch-enum) -RAPIDJSON_DIAG_OFF(covered-switch-default) -#endif - -RAPIDJSON_NAMESPACE_BEGIN - -//! Maps error code of parsing into error message. -/*! - \ingroup RAPIDJSON_ERRORS - \param parseErrorCode Error code obtained in parsing. - \return the error message. - \note User can make a copy of this function for localization. - Using switch-case is safer for future modification of error codes. -*/ -inline const RAPIDJSON_ERROR_CHARTYPE* GetParseError_En(ParseErrorCode parseErrorCode) { - switch (parseErrorCode) { - case kParseErrorNone: return RAPIDJSON_ERROR_STRING("No error."); - - case kParseErrorDocumentEmpty: return RAPIDJSON_ERROR_STRING("The document is empty."); - case kParseErrorDocumentRootNotSingular: return RAPIDJSON_ERROR_STRING("The document root must not be followed by other values."); - - case kParseErrorValueInvalid: return RAPIDJSON_ERROR_STRING("Invalid value."); - - case kParseErrorObjectMissName: return RAPIDJSON_ERROR_STRING("Missing a name for object member."); - case kParseErrorObjectMissColon: return RAPIDJSON_ERROR_STRING("Missing a colon after a name of object member."); - case kParseErrorObjectMissCommaOrCurlyBracket: return RAPIDJSON_ERROR_STRING("Missing a comma or '}' after an object member."); - - case kParseErrorArrayMissCommaOrSquareBracket: return RAPIDJSON_ERROR_STRING("Missing a comma or ']' after an array element."); - - case kParseErrorStringUnicodeEscapeInvalidHex: return RAPIDJSON_ERROR_STRING("Incorrect hex digit after \\u escape in string."); - case kParseErrorStringUnicodeSurrogateInvalid: return RAPIDJSON_ERROR_STRING("The surrogate pair in string is invalid."); - case kParseErrorStringEscapeInvalid: return RAPIDJSON_ERROR_STRING("Invalid escape character in string."); - case kParseErrorStringMissQuotationMark: return RAPIDJSON_ERROR_STRING("Missing a closing quotation mark in string."); - case kParseErrorStringInvalidEncoding: return RAPIDJSON_ERROR_STRING("Invalid encoding in string."); - - case kParseErrorNumberTooBig: return RAPIDJSON_ERROR_STRING("Number too big to be stored in double."); - case kParseErrorNumberMissFraction: return RAPIDJSON_ERROR_STRING("Miss fraction part in number."); - case kParseErrorNumberMissExponent: return RAPIDJSON_ERROR_STRING("Miss exponent in number."); - - case kParseErrorTermination: return RAPIDJSON_ERROR_STRING("Terminate parsing due to Handler error."); - case kParseErrorUnspecificSyntaxError: return RAPIDJSON_ERROR_STRING("Unspecific syntax error."); - - default: return RAPIDJSON_ERROR_STRING("Unknown error."); - } -} - -RAPIDJSON_NAMESPACE_END - -#ifdef __clang__ -RAPIDJSON_DIAG_POP -#endif - -#endif // RAPIDJSON_ERROR_EN_H_ diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/error/error.h b/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/error/error.h deleted file mode 100644 index 9311d2f03b..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/error/error.h +++ /dev/null @@ -1,161 +0,0 @@ -// Tencent is pleased to support the open source community by making RapidJSON available. -// -// Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. -// -// Licensed under the MIT License (the "License"); you may not use this file except -// in compliance with the License. You may obtain a copy of the License at -// -// http://opensource.org/licenses/MIT -// -// Unless required by applicable law or agreed to in writing, software distributed -// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -// CONDITIONS OF ANY KIND, either express or implied. See the License for the -// specific language governing permissions and limitations under the License. - -#ifndef RAPIDJSON_ERROR_ERROR_H_ -#define RAPIDJSON_ERROR_ERROR_H_ - -#include "../rapidjson.h" - -#ifdef __clang__ -RAPIDJSON_DIAG_PUSH -RAPIDJSON_DIAG_OFF(padded) -#endif - -/*! \file error.h */ - -/*! \defgroup RAPIDJSON_ERRORS RapidJSON error handling */ - -/////////////////////////////////////////////////////////////////////////////// -// RAPIDJSON_ERROR_CHARTYPE - -//! Character type of error messages. -/*! \ingroup RAPIDJSON_ERRORS - The default character type is \c char. - On Windows, user can define this macro as \c TCHAR for supporting both - unicode/non-unicode settings. -*/ -#ifndef RAPIDJSON_ERROR_CHARTYPE -#define RAPIDJSON_ERROR_CHARTYPE char -#endif - -/////////////////////////////////////////////////////////////////////////////// -// RAPIDJSON_ERROR_STRING - -//! Macro for converting string literial to \ref RAPIDJSON_ERROR_CHARTYPE[]. -/*! \ingroup RAPIDJSON_ERRORS - By default this conversion macro does nothing. - On Windows, user can define this macro as \c _T(x) for supporting both - unicode/non-unicode settings. -*/ -#ifndef RAPIDJSON_ERROR_STRING -#define RAPIDJSON_ERROR_STRING(x) x -#endif - -RAPIDJSON_NAMESPACE_BEGIN - -/////////////////////////////////////////////////////////////////////////////// -// ParseErrorCode - -//! Error code of parsing. -/*! \ingroup RAPIDJSON_ERRORS - \see GenericReader::Parse, GenericReader::GetParseErrorCode -*/ -enum ParseErrorCode { - kParseErrorNone = 0, //!< No error. - - kParseErrorDocumentEmpty, //!< The document is empty. - kParseErrorDocumentRootNotSingular, //!< The document root must not follow by other values. - - kParseErrorValueInvalid, //!< Invalid value. - - kParseErrorObjectMissName, //!< Missing a name for object member. - kParseErrorObjectMissColon, //!< Missing a colon after a name of object member. - kParseErrorObjectMissCommaOrCurlyBracket, //!< Missing a comma or '}' after an object member. - - kParseErrorArrayMissCommaOrSquareBracket, //!< Missing a comma or ']' after an array element. - - kParseErrorStringUnicodeEscapeInvalidHex, //!< Incorrect hex digit after \\u escape in string. - kParseErrorStringUnicodeSurrogateInvalid, //!< The surrogate pair in string is invalid. - kParseErrorStringEscapeInvalid, //!< Invalid escape character in string. - kParseErrorStringMissQuotationMark, //!< Missing a closing quotation mark in string. - kParseErrorStringInvalidEncoding, //!< Invalid encoding in string. - - kParseErrorNumberTooBig, //!< Number too big to be stored in double. - kParseErrorNumberMissFraction, //!< Miss fraction part in number. - kParseErrorNumberMissExponent, //!< Miss exponent in number. - - kParseErrorTermination, //!< Parsing was terminated. - kParseErrorUnspecificSyntaxError //!< Unspecific syntax error. -}; - -//! Result of parsing (wraps ParseErrorCode) -/*! - \ingroup RAPIDJSON_ERRORS - \code - Document doc; - ParseResult ok = doc.Parse("[42]"); - if (!ok) { - fprintf(stderr, "JSON parse error: %s (%u)", - GetParseError_En(ok.Code()), ok.Offset()); - exit(EXIT_FAILURE); - } - \endcode - \see GenericReader::Parse, GenericDocument::Parse -*/ -struct ParseResult { - //!! Unspecified boolean type - typedef bool (ParseResult::*BooleanType)() const; -public: - //! Default constructor, no error. - ParseResult() : code_(kParseErrorNone), offset_(0) {} - //! Constructor to set an error. - ParseResult(ParseErrorCode code, size_t offset) : code_(code), offset_(offset) {} - - //! Get the error code. - ParseErrorCode Code() const { return code_; } - //! Get the error offset, if \ref IsError(), 0 otherwise. - size_t Offset() const { return offset_; } - - //! Explicit conversion to \c bool, returns \c true, iff !\ref IsError(). - operator BooleanType() const { return !IsError() ? &ParseResult::IsError : NULL; } - //! Whether the result is an error. - bool IsError() const { return code_ != kParseErrorNone; } - - bool operator==(const ParseResult& that) const { return code_ == that.code_; } - bool operator==(ParseErrorCode code) const { return code_ == code; } - friend bool operator==(ParseErrorCode code, const ParseResult & err) { return code == err.code_; } - - bool operator!=(const ParseResult& that) const { return !(*this == that); } - bool operator!=(ParseErrorCode code) const { return !(*this == code); } - friend bool operator!=(ParseErrorCode code, const ParseResult & err) { return err != code; } - - //! Reset error code. - void Clear() { Set(kParseErrorNone); } - //! Update error code and offset. - void Set(ParseErrorCode code, size_t offset = 0) { code_ = code; offset_ = offset; } - -private: - ParseErrorCode code_; - size_t offset_; -}; - -//! Function pointer type of GetParseError(). -/*! \ingroup RAPIDJSON_ERRORS - - This is the prototype for \c GetParseError_X(), where \c X is a locale. - User can dynamically change locale in runtime, e.g.: -\code - GetParseErrorFunc GetParseError = GetParseError_En; // or whatever - const RAPIDJSON_ERROR_CHARTYPE* s = GetParseError(document.GetParseErrorCode()); -\endcode -*/ -typedef const RAPIDJSON_ERROR_CHARTYPE* (*GetParseErrorFunc)(ParseErrorCode); - -RAPIDJSON_NAMESPACE_END - -#ifdef __clang__ -RAPIDJSON_DIAG_POP -#endif - -#endif // RAPIDJSON_ERROR_ERROR_H_ diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/filereadstream.h b/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/filereadstream.h deleted file mode 100644 index 6b343707ad..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/filereadstream.h +++ /dev/null @@ -1,99 +0,0 @@ -// Tencent is pleased to support the open source community by making RapidJSON available. -// -// Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. -// -// Licensed under the MIT License (the "License"); you may not use this file except -// in compliance with the License. You may obtain a copy of the License at -// -// http://opensource.org/licenses/MIT -// -// Unless required by applicable law or agreed to in writing, software distributed -// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -// CONDITIONS OF ANY KIND, either express or implied. See the License for the -// specific language governing permissions and limitations under the License. - -#ifndef RAPIDJSON_FILEREADSTREAM_H_ -#define RAPIDJSON_FILEREADSTREAM_H_ - -#include "stream.h" -#include - -#ifdef __clang__ -RAPIDJSON_DIAG_PUSH -RAPIDJSON_DIAG_OFF(padded) -RAPIDJSON_DIAG_OFF(unreachable-code) -RAPIDJSON_DIAG_OFF(missing-noreturn) -#endif - -RAPIDJSON_NAMESPACE_BEGIN - -//! File byte stream for input using fread(). -/*! - \note implements Stream concept -*/ -class FileReadStream { -public: - typedef char Ch; //!< Character type (byte). - - //! Constructor. - /*! - \param fp File pointer opened for read. - \param buffer user-supplied buffer. - \param bufferSize size of buffer in bytes. Must >=4 bytes. - */ - FileReadStream(std::FILE* fp, char* buffer, size_t bufferSize) : fp_(fp), buffer_(buffer), bufferSize_(bufferSize), bufferLast_(0), current_(buffer_), readCount_(0), count_(0), eof_(false) { - RAPIDJSON_ASSERT(fp_ != 0); - RAPIDJSON_ASSERT(bufferSize >= 4); - Read(); - } - - Ch Peek() const { return *current_; } - Ch Take() { Ch c = *current_; Read(); return c; } - size_t Tell() const { return count_ + static_cast(current_ - buffer_); } - - // Not implemented - void Put(Ch) { RAPIDJSON_ASSERT(false); } - void Flush() { RAPIDJSON_ASSERT(false); } - Ch* PutBegin() { RAPIDJSON_ASSERT(false); return 0; } - size_t PutEnd(Ch*) { RAPIDJSON_ASSERT(false); return 0; } - - // For encoding detection only. - const Ch* Peek4() const { - return (current_ + 4 - !eof_ <= bufferLast_) ? current_ : 0; - } - -private: - void Read() { - if (current_ < bufferLast_) - ++current_; - else if (!eof_) { - count_ += readCount_; - readCount_ = std::fread(buffer_, 1, bufferSize_, fp_); - bufferLast_ = buffer_ + readCount_ - 1; - current_ = buffer_; - - if (readCount_ < bufferSize_) { - buffer_[readCount_] = '\0'; - ++bufferLast_; - eof_ = true; - } - } - } - - std::FILE* fp_; - Ch *buffer_; - size_t bufferSize_; - Ch *bufferLast_; - Ch *current_; - size_t readCount_; - size_t count_; //!< Number of characters read - bool eof_; -}; - -RAPIDJSON_NAMESPACE_END - -#ifdef __clang__ -RAPIDJSON_DIAG_POP -#endif - -#endif // RAPIDJSON_FILESTREAM_H_ diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/filewritestream.h b/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/filewritestream.h deleted file mode 100644 index 8b48fee197..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/filewritestream.h +++ /dev/null @@ -1,104 +0,0 @@ -// Tencent is pleased to support the open source community by making RapidJSON available. -// -// Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. -// -// Licensed under the MIT License (the "License"); you may not use this file except -// in compliance with the License. You may obtain a copy of the License at -// -// http://opensource.org/licenses/MIT -// -// Unless required by applicable law or agreed to in writing, software distributed -// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -// CONDITIONS OF ANY KIND, either express or implied. See the License for the -// specific language governing permissions and limitations under the License. - -#ifndef RAPIDJSON_FILEWRITESTREAM_H_ -#define RAPIDJSON_FILEWRITESTREAM_H_ - -#include "stream.h" -#include - -#ifdef __clang__ -RAPIDJSON_DIAG_PUSH -RAPIDJSON_DIAG_OFF(unreachable-code) -#endif - -RAPIDJSON_NAMESPACE_BEGIN - -//! Wrapper of C file stream for output using fwrite(). -/*! - \note implements Stream concept -*/ -class FileWriteStream { -public: - typedef char Ch; //!< Character type. Only support char. - - FileWriteStream(std::FILE* fp, char* buffer, size_t bufferSize) : fp_(fp), buffer_(buffer), bufferEnd_(buffer + bufferSize), current_(buffer_) { - RAPIDJSON_ASSERT(fp_ != 0); - } - - void Put(char c) { - if (current_ >= bufferEnd_) - Flush(); - - *current_++ = c; - } - - void PutN(char c, size_t n) { - size_t avail = static_cast(bufferEnd_ - current_); - while (n > avail) { - std::memset(current_, c, avail); - current_ += avail; - Flush(); - n -= avail; - avail = static_cast(bufferEnd_ - current_); - } - - if (n > 0) { - std::memset(current_, c, n); - current_ += n; - } - } - - void Flush() { - if (current_ != buffer_) { - size_t result = std::fwrite(buffer_, 1, static_cast(current_ - buffer_), fp_); - if (result < static_cast(current_ - buffer_)) { - // failure deliberately ignored at this time - // added to avoid warn_unused_result build errors - } - current_ = buffer_; - } - } - - // Not implemented - char Peek() const { RAPIDJSON_ASSERT(false); return 0; } - char Take() { RAPIDJSON_ASSERT(false); return 0; } - size_t Tell() const { RAPIDJSON_ASSERT(false); return 0; } - char* PutBegin() { RAPIDJSON_ASSERT(false); return 0; } - size_t PutEnd(char*) { RAPIDJSON_ASSERT(false); return 0; } - -private: - // Prohibit copy constructor & assignment operator. - FileWriteStream(const FileWriteStream&); - FileWriteStream& operator=(const FileWriteStream&); - - std::FILE* fp_; - char *buffer_; - char *bufferEnd_; - char *current_; -}; - -//! Implement specialized version of PutN() with memset() for better performance. -template<> -inline void PutN(FileWriteStream& stream, char c, size_t n) { - stream.PutN(c, n); -} - -RAPIDJSON_NAMESPACE_END - -#ifdef __clang__ -RAPIDJSON_DIAG_POP -#endif - -#endif // RAPIDJSON_FILESTREAM_H_ diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/fwd.h b/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/fwd.h deleted file mode 100644 index e8104e841b..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/fwd.h +++ /dev/null @@ -1,151 +0,0 @@ -// Tencent is pleased to support the open source community by making RapidJSON available. -// -// Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. -// -// Licensed under the MIT License (the "License"); you may not use this file except -// in compliance with the License. You may obtain a copy of the License at -// -// http://opensource.org/licenses/MIT -// -// Unless required by applicable law or agreed to in writing, software distributed -// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -// CONDITIONS OF ANY KIND, either express or implied. See the License for the -// specific language governing permissions and limitations under the License. - -#ifndef RAPIDJSON_FWD_H_ -#define RAPIDJSON_FWD_H_ - -#include "rapidjson.h" - -RAPIDJSON_NAMESPACE_BEGIN - -// encodings.h - -template struct UTF8; -template struct UTF16; -template struct UTF16BE; -template struct UTF16LE; -template struct UTF32; -template struct UTF32BE; -template struct UTF32LE; -template struct ASCII; -template struct AutoUTF; - -template -struct Transcoder; - -// allocators.h - -class CrtAllocator; - -template -class MemoryPoolAllocator; - -// stream.h - -template -struct GenericStringStream; - -typedef GenericStringStream > StringStream; - -template -struct GenericInsituStringStream; - -typedef GenericInsituStringStream > InsituStringStream; - -// stringbuffer.h - -template -class GenericStringBuffer; - -typedef GenericStringBuffer, CrtAllocator> StringBuffer; - -// filereadstream.h - -class FileReadStream; - -// filewritestream.h - -class FileWriteStream; - -// memorybuffer.h - -template -struct GenericMemoryBuffer; - -typedef GenericMemoryBuffer MemoryBuffer; - -// memorystream.h - -struct MemoryStream; - -// reader.h - -template -struct BaseReaderHandler; - -template -class GenericReader; - -typedef GenericReader, UTF8, CrtAllocator> Reader; - -// writer.h - -template -class Writer; - -// prettywriter.h - -template -class PrettyWriter; - -// document.h - -template -struct GenericMember; - -template -class GenericMemberIterator; - -template -struct GenericStringRef; - -template -class GenericValue; - -typedef GenericValue, MemoryPoolAllocator > Value; - -template -class GenericDocument; - -typedef GenericDocument, MemoryPoolAllocator, CrtAllocator> Document; - -// pointer.h - -template -class GenericPointer; - -typedef GenericPointer Pointer; - -// schema.h - -template -class IGenericRemoteSchemaDocumentProvider; - -template -class GenericSchemaDocument; - -typedef GenericSchemaDocument SchemaDocument; -typedef IGenericRemoteSchemaDocumentProvider IRemoteSchemaDocumentProvider; - -template < - typename SchemaDocumentType, - typename OutputHandler, - typename StateAllocator> -class GenericSchemaValidator; - -typedef GenericSchemaValidator, void>, CrtAllocator> SchemaValidator; - -RAPIDJSON_NAMESPACE_END - -#endif // RAPIDJSON_RAPIDJSONFWD_H_ diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/internal/biginteger.h b/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/internal/biginteger.h deleted file mode 100644 index a31c8a88d6..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/internal/biginteger.h +++ /dev/null @@ -1,290 +0,0 @@ -// Tencent is pleased to support the open source community by making RapidJSON available. -// -// Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. -// -// Licensed under the MIT License (the "License"); you may not use this file except -// in compliance with the License. You may obtain a copy of the License at -// -// http://opensource.org/licenses/MIT -// -// Unless required by applicable law or agreed to in writing, software distributed -// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -// CONDITIONS OF ANY KIND, either express or implied. See the License for the -// specific language governing permissions and limitations under the License. - -#ifndef RAPIDJSON_BIGINTEGER_H_ -#define RAPIDJSON_BIGINTEGER_H_ - -#include "../rapidjson.h" - -#if defined(_MSC_VER) && !__INTEL_COMPILER && defined(_M_AMD64) -#include // for _umul128 -#pragma intrinsic(_umul128) -#endif - -RAPIDJSON_NAMESPACE_BEGIN -namespace internal { - -class BigInteger { -public: - typedef uint64_t Type; - - BigInteger(const BigInteger& rhs) : count_(rhs.count_) { - std::memcpy(digits_, rhs.digits_, count_ * sizeof(Type)); - } - - explicit BigInteger(uint64_t u) : count_(1) { - digits_[0] = u; - } - - BigInteger(const char* decimals, size_t length) : count_(1) { - RAPIDJSON_ASSERT(length > 0); - digits_[0] = 0; - size_t i = 0; - const size_t kMaxDigitPerIteration = 19; // 2^64 = 18446744073709551616 > 10^19 - while (length >= kMaxDigitPerIteration) { - AppendDecimal64(decimals + i, decimals + i + kMaxDigitPerIteration); - length -= kMaxDigitPerIteration; - i += kMaxDigitPerIteration; - } - - if (length > 0) - AppendDecimal64(decimals + i, decimals + i + length); - } - - BigInteger& operator=(const BigInteger &rhs) - { - if (this != &rhs) { - count_ = rhs.count_; - std::memcpy(digits_, rhs.digits_, count_ * sizeof(Type)); - } - return *this; - } - - BigInteger& operator=(uint64_t u) { - digits_[0] = u; - count_ = 1; - return *this; - } - - BigInteger& operator+=(uint64_t u) { - Type backup = digits_[0]; - digits_[0] += u; - for (size_t i = 0; i < count_ - 1; i++) { - if (digits_[i] >= backup) - return *this; // no carry - backup = digits_[i + 1]; - digits_[i + 1] += 1; - } - - // Last carry - if (digits_[count_ - 1] < backup) - PushBack(1); - - return *this; - } - - BigInteger& operator*=(uint64_t u) { - if (u == 0) return *this = 0; - if (u == 1) return *this; - if (*this == 1) return *this = u; - - uint64_t k = 0; - for (size_t i = 0; i < count_; i++) { - uint64_t hi; - digits_[i] = MulAdd64(digits_[i], u, k, &hi); - k = hi; - } - - if (k > 0) - PushBack(k); - - return *this; - } - - BigInteger& operator*=(uint32_t u) { - if (u == 0) return *this = 0; - if (u == 1) return *this; - if (*this == 1) return *this = u; - - uint64_t k = 0; - for (size_t i = 0; i < count_; i++) { - const uint64_t c = digits_[i] >> 32; - const uint64_t d = digits_[i] & 0xFFFFFFFF; - const uint64_t uc = u * c; - const uint64_t ud = u * d; - const uint64_t p0 = ud + k; - const uint64_t p1 = uc + (p0 >> 32); - digits_[i] = (p0 & 0xFFFFFFFF) | (p1 << 32); - k = p1 >> 32; - } - - if (k > 0) - PushBack(k); - - return *this; - } - - BigInteger& operator<<=(size_t shift) { - if (IsZero() || shift == 0) return *this; - - size_t offset = shift / kTypeBit; - size_t interShift = shift % kTypeBit; - RAPIDJSON_ASSERT(count_ + offset <= kCapacity); - - if (interShift == 0) { - std::memmove(digits_ + offset, digits_, count_ * sizeof(Type)); - count_ += offset; - } - else { - digits_[count_] = 0; - for (size_t i = count_; i > 0; i--) - digits_[i + offset] = (digits_[i] << interShift) | (digits_[i - 1] >> (kTypeBit - interShift)); - digits_[offset] = digits_[0] << interShift; - count_ += offset; - if (digits_[count_]) - count_++; - } - - std::memset(digits_, 0, offset * sizeof(Type)); - - return *this; - } - - bool operator==(const BigInteger& rhs) const { - return count_ == rhs.count_ && std::memcmp(digits_, rhs.digits_, count_ * sizeof(Type)) == 0; - } - - bool operator==(const Type rhs) const { - return count_ == 1 && digits_[0] == rhs; - } - - BigInteger& MultiplyPow5(unsigned exp) { - static const uint32_t kPow5[12] = { - 5, - 5 * 5, - 5 * 5 * 5, - 5 * 5 * 5 * 5, - 5 * 5 * 5 * 5 * 5, - 5 * 5 * 5 * 5 * 5 * 5, - 5 * 5 * 5 * 5 * 5 * 5 * 5, - 5 * 5 * 5 * 5 * 5 * 5 * 5 * 5, - 5 * 5 * 5 * 5 * 5 * 5 * 5 * 5 * 5, - 5 * 5 * 5 * 5 * 5 * 5 * 5 * 5 * 5 * 5, - 5 * 5 * 5 * 5 * 5 * 5 * 5 * 5 * 5 * 5 * 5, - 5 * 5 * 5 * 5 * 5 * 5 * 5 * 5 * 5 * 5 * 5 * 5 - }; - if (exp == 0) return *this; - for (; exp >= 27; exp -= 27) *this *= RAPIDJSON_UINT64_C2(0X6765C793, 0XFA10079D); // 5^27 - for (; exp >= 13; exp -= 13) *this *= static_cast(1220703125u); // 5^13 - if (exp > 0) *this *= kPow5[exp - 1]; - return *this; - } - - // Compute absolute difference of this and rhs. - // Assume this != rhs - bool Difference(const BigInteger& rhs, BigInteger* out) const { - int cmp = Compare(rhs); - RAPIDJSON_ASSERT(cmp != 0); - const BigInteger *a, *b; // Makes a > b - bool ret; - if (cmp < 0) { a = &rhs; b = this; ret = true; } - else { a = this; b = &rhs; ret = false; } - - Type borrow = 0; - for (size_t i = 0; i < a->count_; i++) { - Type d = a->digits_[i] - borrow; - if (i < b->count_) - d -= b->digits_[i]; - borrow = (d > a->digits_[i]) ? 1 : 0; - out->digits_[i] = d; - if (d != 0) - out->count_ = i + 1; - } - - return ret; - } - - int Compare(const BigInteger& rhs) const { - if (count_ != rhs.count_) - return count_ < rhs.count_ ? -1 : 1; - - for (size_t i = count_; i-- > 0;) - if (digits_[i] != rhs.digits_[i]) - return digits_[i] < rhs.digits_[i] ? -1 : 1; - - return 0; - } - - size_t GetCount() const { return count_; } - Type GetDigit(size_t index) const { RAPIDJSON_ASSERT(index < count_); return digits_[index]; } - bool IsZero() const { return count_ == 1 && digits_[0] == 0; } - -private: - void AppendDecimal64(const char* begin, const char* end) { - uint64_t u = ParseUint64(begin, end); - if (IsZero()) - *this = u; - else { - unsigned exp = static_cast(end - begin); - (MultiplyPow5(exp) <<= exp) += u; // *this = *this * 10^exp + u - } - } - - void PushBack(Type digit) { - RAPIDJSON_ASSERT(count_ < kCapacity); - digits_[count_++] = digit; - } - - static uint64_t ParseUint64(const char* begin, const char* end) { - uint64_t r = 0; - for (const char* p = begin; p != end; ++p) { - RAPIDJSON_ASSERT(*p >= '0' && *p <= '9'); - r = r * 10u + static_cast(*p - '0'); - } - return r; - } - - // Assume a * b + k < 2^128 - static uint64_t MulAdd64(uint64_t a, uint64_t b, uint64_t k, uint64_t* outHigh) { -#if defined(_MSC_VER) && defined(_M_AMD64) - uint64_t low = _umul128(a, b, outHigh) + k; - if (low < k) - (*outHigh)++; - return low; -#elif (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) && defined(__x86_64__) - __extension__ typedef unsigned __int128 uint128; - uint128 p = static_cast(a) * static_cast(b); - p += k; - *outHigh = static_cast(p >> 64); - return static_cast(p); -#else - const uint64_t a0 = a & 0xFFFFFFFF, a1 = a >> 32, b0 = b & 0xFFFFFFFF, b1 = b >> 32; - uint64_t x0 = a0 * b0, x1 = a0 * b1, x2 = a1 * b0, x3 = a1 * b1; - x1 += (x0 >> 32); // can't give carry - x1 += x2; - if (x1 < x2) - x3 += (static_cast(1) << 32); - uint64_t lo = (x1 << 32) + (x0 & 0xFFFFFFFF); - uint64_t hi = x3 + (x1 >> 32); - - lo += k; - if (lo < k) - hi++; - *outHigh = hi; - return lo; -#endif - } - - static const size_t kBitCount = 3328; // 64bit * 54 > 10^1000 - static const size_t kCapacity = kBitCount / sizeof(Type); - static const size_t kTypeBit = sizeof(Type) * 8; - - Type digits_[kCapacity]; - size_t count_; -}; - -} // namespace internal -RAPIDJSON_NAMESPACE_END - -#endif // RAPIDJSON_BIGINTEGER_H_ diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/internal/diyfp.h b/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/internal/diyfp.h deleted file mode 100644 index b6c2cf5618..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/internal/diyfp.h +++ /dev/null @@ -1,271 +0,0 @@ -// Tencent is pleased to support the open source community by making RapidJSON available. -// -// Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. -// -// Licensed under the MIT License (the "License"); you may not use this file except -// in compliance with the License. You may obtain a copy of the License at -// -// http://opensource.org/licenses/MIT -// -// Unless required by applicable law or agreed to in writing, software distributed -// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -// CONDITIONS OF ANY KIND, either express or implied. See the License for the -// specific language governing permissions and limitations under the License. - -// This is a C++ header-only implementation of Grisu2 algorithm from the publication: -// Loitsch, Florian. "Printing floating-point numbers quickly and accurately with -// integers." ACM Sigplan Notices 45.6 (2010): 233-243. - -#ifndef RAPIDJSON_DIYFP_H_ -#define RAPIDJSON_DIYFP_H_ - -#include "../rapidjson.h" -#include - -#if defined(_MSC_VER) && defined(_M_AMD64) && !defined(__INTEL_COMPILER) -#include -#pragma intrinsic(_BitScanReverse64) -#pragma intrinsic(_umul128) -#endif - -RAPIDJSON_NAMESPACE_BEGIN -namespace internal { - -#ifdef __GNUC__ -RAPIDJSON_DIAG_PUSH -RAPIDJSON_DIAG_OFF(effc++) -#endif - -#ifdef __clang__ -RAPIDJSON_DIAG_PUSH -RAPIDJSON_DIAG_OFF(padded) -#endif - -struct DiyFp { - DiyFp() : f(), e() {} - - DiyFp(uint64_t fp, int exp) : f(fp), e(exp) {} - - explicit DiyFp(double d) { - union { - double d; - uint64_t u64; - } u = { d }; - - int biased_e = static_cast((u.u64 & kDpExponentMask) >> kDpSignificandSize); - uint64_t significand = (u.u64 & kDpSignificandMask); - if (biased_e != 0) { - f = significand + kDpHiddenBit; - e = biased_e - kDpExponentBias; - } - else { - f = significand; - e = kDpMinExponent + 1; - } - } - - DiyFp operator-(const DiyFp& rhs) const { - return DiyFp(f - rhs.f, e); - } - - DiyFp operator*(const DiyFp& rhs) const { -#if defined(_MSC_VER) && defined(_M_AMD64) - uint64_t h; - uint64_t l = _umul128(f, rhs.f, &h); - if (l & (uint64_t(1) << 63)) // rounding - h++; - return DiyFp(h, e + rhs.e + 64); -#elif (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) && defined(__x86_64__) - __extension__ typedef unsigned __int128 uint128; - uint128 p = static_cast(f) * static_cast(rhs.f); - uint64_t h = static_cast(p >> 64); - uint64_t l = static_cast(p); - if (l & (uint64_t(1) << 63)) // rounding - h++; - return DiyFp(h, e + rhs.e + 64); -#else - const uint64_t M32 = 0xFFFFFFFF; - const uint64_t a = f >> 32; - const uint64_t b = f & M32; - const uint64_t c = rhs.f >> 32; - const uint64_t d = rhs.f & M32; - const uint64_t ac = a * c; - const uint64_t bc = b * c; - const uint64_t ad = a * d; - const uint64_t bd = b * d; - uint64_t tmp = (bd >> 32) + (ad & M32) + (bc & M32); - tmp += 1U << 31; /// mult_round - return DiyFp(ac + (ad >> 32) + (bc >> 32) + (tmp >> 32), e + rhs.e + 64); -#endif - } - - DiyFp Normalize() const { - RAPIDJSON_ASSERT(f != 0); // https://stackoverflow.com/a/26809183/291737 -#if defined(_MSC_VER) && defined(_M_AMD64) - unsigned long index; - _BitScanReverse64(&index, f); - return DiyFp(f << (63 - index), e - (63 - index)); -#elif defined(__GNUC__) && __GNUC__ >= 4 - int s = __builtin_clzll(f); - return DiyFp(f << s, e - s); -#else - DiyFp res = *this; - while (!(res.f & (static_cast(1) << 63))) { - res.f <<= 1; - res.e--; - } - return res; -#endif - } - - DiyFp NormalizeBoundary() const { - DiyFp res = *this; - while (!(res.f & (kDpHiddenBit << 1))) { - res.f <<= 1; - res.e--; - } - res.f <<= (kDiySignificandSize - kDpSignificandSize - 2); - res.e = res.e - (kDiySignificandSize - kDpSignificandSize - 2); - return res; - } - - void NormalizedBoundaries(DiyFp* minus, DiyFp* plus) const { - DiyFp pl = DiyFp((f << 1) + 1, e - 1).NormalizeBoundary(); - DiyFp mi = (f == kDpHiddenBit) ? DiyFp((f << 2) - 1, e - 2) : DiyFp((f << 1) - 1, e - 1); - mi.f <<= mi.e - pl.e; - mi.e = pl.e; - *plus = pl; - *minus = mi; - } - - double ToDouble() const { - union { - double d; - uint64_t u64; - }u; - RAPIDJSON_ASSERT(f <= kDpHiddenBit + kDpSignificandMask); - if (e < kDpDenormalExponent) { - // Underflow. - return 0.0; - } - if (e >= kDpMaxExponent) { - // Overflow. - return std::numeric_limits::infinity(); - } - const uint64_t be = (e == kDpDenormalExponent && (f & kDpHiddenBit) == 0) ? 0 : - static_cast(e + kDpExponentBias); - u.u64 = (f & kDpSignificandMask) | (be << kDpSignificandSize); - return u.d; - } - - static const int kDiySignificandSize = 64; - static const int kDpSignificandSize = 52; - static const int kDpExponentBias = 0x3FF + kDpSignificandSize; - static const int kDpMaxExponent = 0x7FF - kDpExponentBias; - static const int kDpMinExponent = -kDpExponentBias; - static const int kDpDenormalExponent = -kDpExponentBias + 1; - static const uint64_t kDpExponentMask = RAPIDJSON_UINT64_C2(0x7FF00000, 0x00000000); - static const uint64_t kDpSignificandMask = RAPIDJSON_UINT64_C2(0x000FFFFF, 0xFFFFFFFF); - static const uint64_t kDpHiddenBit = RAPIDJSON_UINT64_C2(0x00100000, 0x00000000); - - uint64_t f; - int e; -}; - -inline DiyFp GetCachedPowerByIndex(size_t index) { - // 10^-348, 10^-340, ..., 10^340 - static const uint64_t kCachedPowers_F[] = { - RAPIDJSON_UINT64_C2(0xfa8fd5a0, 0x081c0288), RAPIDJSON_UINT64_C2(0xbaaee17f, 0xa23ebf76), - RAPIDJSON_UINT64_C2(0x8b16fb20, 0x3055ac76), RAPIDJSON_UINT64_C2(0xcf42894a, 0x5dce35ea), - RAPIDJSON_UINT64_C2(0x9a6bb0aa, 0x55653b2d), RAPIDJSON_UINT64_C2(0xe61acf03, 0x3d1a45df), - RAPIDJSON_UINT64_C2(0xab70fe17, 0xc79ac6ca), RAPIDJSON_UINT64_C2(0xff77b1fc, 0xbebcdc4f), - RAPIDJSON_UINT64_C2(0xbe5691ef, 0x416bd60c), RAPIDJSON_UINT64_C2(0x8dd01fad, 0x907ffc3c), - RAPIDJSON_UINT64_C2(0xd3515c28, 0x31559a83), RAPIDJSON_UINT64_C2(0x9d71ac8f, 0xada6c9b5), - RAPIDJSON_UINT64_C2(0xea9c2277, 0x23ee8bcb), RAPIDJSON_UINT64_C2(0xaecc4991, 0x4078536d), - RAPIDJSON_UINT64_C2(0x823c1279, 0x5db6ce57), RAPIDJSON_UINT64_C2(0xc2109436, 0x4dfb5637), - RAPIDJSON_UINT64_C2(0x9096ea6f, 0x3848984f), RAPIDJSON_UINT64_C2(0xd77485cb, 0x25823ac7), - RAPIDJSON_UINT64_C2(0xa086cfcd, 0x97bf97f4), RAPIDJSON_UINT64_C2(0xef340a98, 0x172aace5), - RAPIDJSON_UINT64_C2(0xb23867fb, 0x2a35b28e), RAPIDJSON_UINT64_C2(0x84c8d4df, 0xd2c63f3b), - RAPIDJSON_UINT64_C2(0xc5dd4427, 0x1ad3cdba), RAPIDJSON_UINT64_C2(0x936b9fce, 0xbb25c996), - RAPIDJSON_UINT64_C2(0xdbac6c24, 0x7d62a584), RAPIDJSON_UINT64_C2(0xa3ab6658, 0x0d5fdaf6), - RAPIDJSON_UINT64_C2(0xf3e2f893, 0xdec3f126), RAPIDJSON_UINT64_C2(0xb5b5ada8, 0xaaff80b8), - RAPIDJSON_UINT64_C2(0x87625f05, 0x6c7c4a8b), RAPIDJSON_UINT64_C2(0xc9bcff60, 0x34c13053), - RAPIDJSON_UINT64_C2(0x964e858c, 0x91ba2655), RAPIDJSON_UINT64_C2(0xdff97724, 0x70297ebd), - RAPIDJSON_UINT64_C2(0xa6dfbd9f, 0xb8e5b88f), RAPIDJSON_UINT64_C2(0xf8a95fcf, 0x88747d94), - RAPIDJSON_UINT64_C2(0xb9447093, 0x8fa89bcf), RAPIDJSON_UINT64_C2(0x8a08f0f8, 0xbf0f156b), - RAPIDJSON_UINT64_C2(0xcdb02555, 0x653131b6), RAPIDJSON_UINT64_C2(0x993fe2c6, 0xd07b7fac), - RAPIDJSON_UINT64_C2(0xe45c10c4, 0x2a2b3b06), RAPIDJSON_UINT64_C2(0xaa242499, 0x697392d3), - RAPIDJSON_UINT64_C2(0xfd87b5f2, 0x8300ca0e), RAPIDJSON_UINT64_C2(0xbce50864, 0x92111aeb), - RAPIDJSON_UINT64_C2(0x8cbccc09, 0x6f5088cc), RAPIDJSON_UINT64_C2(0xd1b71758, 0xe219652c), - RAPIDJSON_UINT64_C2(0x9c400000, 0x00000000), RAPIDJSON_UINT64_C2(0xe8d4a510, 0x00000000), - RAPIDJSON_UINT64_C2(0xad78ebc5, 0xac620000), RAPIDJSON_UINT64_C2(0x813f3978, 0xf8940984), - RAPIDJSON_UINT64_C2(0xc097ce7b, 0xc90715b3), RAPIDJSON_UINT64_C2(0x8f7e32ce, 0x7bea5c70), - RAPIDJSON_UINT64_C2(0xd5d238a4, 0xabe98068), RAPIDJSON_UINT64_C2(0x9f4f2726, 0x179a2245), - RAPIDJSON_UINT64_C2(0xed63a231, 0xd4c4fb27), RAPIDJSON_UINT64_C2(0xb0de6538, 0x8cc8ada8), - RAPIDJSON_UINT64_C2(0x83c7088e, 0x1aab65db), RAPIDJSON_UINT64_C2(0xc45d1df9, 0x42711d9a), - RAPIDJSON_UINT64_C2(0x924d692c, 0xa61be758), RAPIDJSON_UINT64_C2(0xda01ee64, 0x1a708dea), - RAPIDJSON_UINT64_C2(0xa26da399, 0x9aef774a), RAPIDJSON_UINT64_C2(0xf209787b, 0xb47d6b85), - RAPIDJSON_UINT64_C2(0xb454e4a1, 0x79dd1877), RAPIDJSON_UINT64_C2(0x865b8692, 0x5b9bc5c2), - RAPIDJSON_UINT64_C2(0xc83553c5, 0xc8965d3d), RAPIDJSON_UINT64_C2(0x952ab45c, 0xfa97a0b3), - RAPIDJSON_UINT64_C2(0xde469fbd, 0x99a05fe3), RAPIDJSON_UINT64_C2(0xa59bc234, 0xdb398c25), - RAPIDJSON_UINT64_C2(0xf6c69a72, 0xa3989f5c), RAPIDJSON_UINT64_C2(0xb7dcbf53, 0x54e9bece), - RAPIDJSON_UINT64_C2(0x88fcf317, 0xf22241e2), RAPIDJSON_UINT64_C2(0xcc20ce9b, 0xd35c78a5), - RAPIDJSON_UINT64_C2(0x98165af3, 0x7b2153df), RAPIDJSON_UINT64_C2(0xe2a0b5dc, 0x971f303a), - RAPIDJSON_UINT64_C2(0xa8d9d153, 0x5ce3b396), RAPIDJSON_UINT64_C2(0xfb9b7cd9, 0xa4a7443c), - RAPIDJSON_UINT64_C2(0xbb764c4c, 0xa7a44410), RAPIDJSON_UINT64_C2(0x8bab8eef, 0xb6409c1a), - RAPIDJSON_UINT64_C2(0xd01fef10, 0xa657842c), RAPIDJSON_UINT64_C2(0x9b10a4e5, 0xe9913129), - RAPIDJSON_UINT64_C2(0xe7109bfb, 0xa19c0c9d), RAPIDJSON_UINT64_C2(0xac2820d9, 0x623bf429), - RAPIDJSON_UINT64_C2(0x80444b5e, 0x7aa7cf85), RAPIDJSON_UINT64_C2(0xbf21e440, 0x03acdd2d), - RAPIDJSON_UINT64_C2(0x8e679c2f, 0x5e44ff8f), RAPIDJSON_UINT64_C2(0xd433179d, 0x9c8cb841), - RAPIDJSON_UINT64_C2(0x9e19db92, 0xb4e31ba9), RAPIDJSON_UINT64_C2(0xeb96bf6e, 0xbadf77d9), - RAPIDJSON_UINT64_C2(0xaf87023b, 0x9bf0ee6b) - }; - static const int16_t kCachedPowers_E[] = { - -1220, -1193, -1166, -1140, -1113, -1087, -1060, -1034, -1007, -980, - -954, -927, -901, -874, -847, -821, -794, -768, -741, -715, - -688, -661, -635, -608, -582, -555, -529, -502, -475, -449, - -422, -396, -369, -343, -316, -289, -263, -236, -210, -183, - -157, -130, -103, -77, -50, -24, 3, 30, 56, 83, - 109, 136, 162, 189, 216, 242, 269, 295, 322, 348, - 375, 402, 428, 455, 481, 508, 534, 561, 588, 614, - 641, 667, 694, 720, 747, 774, 800, 827, 853, 880, - 907, 933, 960, 986, 1013, 1039, 1066 - }; - RAPIDJSON_ASSERT(index < 87); - return DiyFp(kCachedPowers_F[index], kCachedPowers_E[index]); -} - -inline DiyFp GetCachedPower(int e, int* K) { - - //int k = static_cast(ceil((-61 - e) * 0.30102999566398114)) + 374; - double dk = (-61 - e) * 0.30102999566398114 + 347; // dk must be positive, so can do ceiling in positive - int k = static_cast(dk); - if (dk - k > 0.0) - k++; - - unsigned index = static_cast((k >> 3) + 1); - *K = -(-348 + static_cast(index << 3)); // decimal exponent no need lookup table - - return GetCachedPowerByIndex(index); -} - -inline DiyFp GetCachedPower10(int exp, int *outExp) { - RAPIDJSON_ASSERT(exp >= -348); - unsigned index = static_cast(exp + 348) / 8u; - *outExp = -348 + static_cast(index) * 8; - return GetCachedPowerByIndex(index); -} - -#ifdef __GNUC__ -RAPIDJSON_DIAG_POP -#endif - -#ifdef __clang__ -RAPIDJSON_DIAG_POP -RAPIDJSON_DIAG_OFF(padded) -#endif - -} // namespace internal -RAPIDJSON_NAMESPACE_END - -#endif // RAPIDJSON_DIYFP_H_ diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/internal/dtoa.h b/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/internal/dtoa.h deleted file mode 100644 index bf2e9b2e59..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/internal/dtoa.h +++ /dev/null @@ -1,245 +0,0 @@ -// Tencent is pleased to support the open source community by making RapidJSON available. -// -// Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. -// -// Licensed under the MIT License (the "License"); you may not use this file except -// in compliance with the License. You may obtain a copy of the License at -// -// http://opensource.org/licenses/MIT -// -// Unless required by applicable law or agreed to in writing, software distributed -// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -// CONDITIONS OF ANY KIND, either express or implied. See the License for the -// specific language governing permissions and limitations under the License. - -// This is a C++ header-only implementation of Grisu2 algorithm from the publication: -// Loitsch, Florian. "Printing floating-point numbers quickly and accurately with -// integers." ACM Sigplan Notices 45.6 (2010): 233-243. - -#ifndef RAPIDJSON_DTOA_ -#define RAPIDJSON_DTOA_ - -#include "itoa.h" // GetDigitsLut() -#include "diyfp.h" -#include "ieee754.h" - -RAPIDJSON_NAMESPACE_BEGIN -namespace internal { - -#ifdef __GNUC__ -RAPIDJSON_DIAG_PUSH -RAPIDJSON_DIAG_OFF(effc++) -RAPIDJSON_DIAG_OFF(array-bounds) // some gcc versions generate wrong warnings https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59124 -#endif - -inline void GrisuRound(char* buffer, int len, uint64_t delta, uint64_t rest, uint64_t ten_kappa, uint64_t wp_w) { - while (rest < wp_w && delta - rest >= ten_kappa && - (rest + ten_kappa < wp_w || /// closer - wp_w - rest > rest + ten_kappa - wp_w)) { - buffer[len - 1]--; - rest += ten_kappa; - } -} - -inline int CountDecimalDigit32(uint32_t n) { - // Simple pure C++ implementation was faster than __builtin_clz version in this situation. - if (n < 10) return 1; - if (n < 100) return 2; - if (n < 1000) return 3; - if (n < 10000) return 4; - if (n < 100000) return 5; - if (n < 1000000) return 6; - if (n < 10000000) return 7; - if (n < 100000000) return 8; - // Will not reach 10 digits in DigitGen() - //if (n < 1000000000) return 9; - //return 10; - return 9; -} - -inline void DigitGen(const DiyFp& W, const DiyFp& Mp, uint64_t delta, char* buffer, int* len, int* K) { - static const uint32_t kPow10[] = { 1, 10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000, 1000000000 }; - const DiyFp one(uint64_t(1) << -Mp.e, Mp.e); - const DiyFp wp_w = Mp - W; - uint32_t p1 = static_cast(Mp.f >> -one.e); - uint64_t p2 = Mp.f & (one.f - 1); - int kappa = CountDecimalDigit32(p1); // kappa in [0, 9] - *len = 0; - - while (kappa > 0) { - uint32_t d = 0; - switch (kappa) { - case 9: d = p1 / 100000000; p1 %= 100000000; break; - case 8: d = p1 / 10000000; p1 %= 10000000; break; - case 7: d = p1 / 1000000; p1 %= 1000000; break; - case 6: d = p1 / 100000; p1 %= 100000; break; - case 5: d = p1 / 10000; p1 %= 10000; break; - case 4: d = p1 / 1000; p1 %= 1000; break; - case 3: d = p1 / 100; p1 %= 100; break; - case 2: d = p1 / 10; p1 %= 10; break; - case 1: d = p1; p1 = 0; break; - default:; - } - if (d || *len) - buffer[(*len)++] = static_cast('0' + static_cast(d)); - kappa--; - uint64_t tmp = (static_cast(p1) << -one.e) + p2; - if (tmp <= delta) { - *K += kappa; - GrisuRound(buffer, *len, delta, tmp, static_cast(kPow10[kappa]) << -one.e, wp_w.f); - return; - } - } - - // kappa = 0 - for (;;) { - p2 *= 10; - delta *= 10; - char d = static_cast(p2 >> -one.e); - if (d || *len) - buffer[(*len)++] = static_cast('0' + d); - p2 &= one.f - 1; - kappa--; - if (p2 < delta) { - *K += kappa; - int index = -kappa; - GrisuRound(buffer, *len, delta, p2, one.f, wp_w.f * (index < 9 ? kPow10[index] : 0)); - return; - } - } -} - -inline void Grisu2(double value, char* buffer, int* length, int* K) { - const DiyFp v(value); - DiyFp w_m, w_p; - v.NormalizedBoundaries(&w_m, &w_p); - - const DiyFp c_mk = GetCachedPower(w_p.e, K); - const DiyFp W = v.Normalize() * c_mk; - DiyFp Wp = w_p * c_mk; - DiyFp Wm = w_m * c_mk; - Wm.f++; - Wp.f--; - DigitGen(W, Wp, Wp.f - Wm.f, buffer, length, K); -} - -inline char* WriteExponent(int K, char* buffer) { - if (K < 0) { - *buffer++ = '-'; - K = -K; - } - - if (K >= 100) { - *buffer++ = static_cast('0' + static_cast(K / 100)); - K %= 100; - const char* d = GetDigitsLut() + K * 2; - *buffer++ = d[0]; - *buffer++ = d[1]; - } - else if (K >= 10) { - const char* d = GetDigitsLut() + K * 2; - *buffer++ = d[0]; - *buffer++ = d[1]; - } - else - *buffer++ = static_cast('0' + static_cast(K)); - - return buffer; -} - -inline char* Prettify(char* buffer, int length, int k, int maxDecimalPlaces) { - const int kk = length + k; // 10^(kk-1) <= v < 10^kk - - if (0 <= k && kk <= 21) { - // 1234e7 -> 12340000000 - for (int i = length; i < kk; i++) - buffer[i] = '0'; - buffer[kk] = '.'; - buffer[kk + 1] = '0'; - return &buffer[kk + 2]; - } - else if (0 < kk && kk <= 21) { - // 1234e-2 -> 12.34 - std::memmove(&buffer[kk + 1], &buffer[kk], static_cast(length - kk)); - buffer[kk] = '.'; - if (0 > k + maxDecimalPlaces) { - // When maxDecimalPlaces = 2, 1.2345 -> 1.23, 1.102 -> 1.1 - // Remove extra trailing zeros (at least one) after truncation. - for (int i = kk + maxDecimalPlaces; i > kk + 1; i--) - if (buffer[i] != '0') - return &buffer[i + 1]; - return &buffer[kk + 2]; // Reserve one zero - } - else - return &buffer[length + 1]; - } - else if (-6 < kk && kk <= 0) { - // 1234e-6 -> 0.001234 - const int offset = 2 - kk; - std::memmove(&buffer[offset], &buffer[0], static_cast(length)); - buffer[0] = '0'; - buffer[1] = '.'; - for (int i = 2; i < offset; i++) - buffer[i] = '0'; - if (length - kk > maxDecimalPlaces) { - // When maxDecimalPlaces = 2, 0.123 -> 0.12, 0.102 -> 0.1 - // Remove extra trailing zeros (at least one) after truncation. - for (int i = maxDecimalPlaces + 1; i > 2; i--) - if (buffer[i] != '0') - return &buffer[i + 1]; - return &buffer[3]; // Reserve one zero - } - else - return &buffer[length + offset]; - } - else if (kk < -maxDecimalPlaces) { - // Truncate to zero - buffer[0] = '0'; - buffer[1] = '.'; - buffer[2] = '0'; - return &buffer[3]; - } - else if (length == 1) { - // 1e30 - buffer[1] = 'e'; - return WriteExponent(kk - 1, &buffer[2]); - } - else { - // 1234e30 -> 1.234e33 - std::memmove(&buffer[2], &buffer[1], static_cast(length - 1)); - buffer[1] = '.'; - buffer[length + 1] = 'e'; - return WriteExponent(kk - 1, &buffer[0 + length + 2]); - } -} - -inline char* dtoa(double value, char* buffer, int maxDecimalPlaces = 324) { - RAPIDJSON_ASSERT(maxDecimalPlaces >= 1); - Double d(value); - if (d.IsZero()) { - if (d.Sign()) - *buffer++ = '-'; // -0.0, Issue #289 - buffer[0] = '0'; - buffer[1] = '.'; - buffer[2] = '0'; - return &buffer[3]; - } - else { - if (value < 0) { - *buffer++ = '-'; - value = -value; - } - int length, K; - Grisu2(value, buffer, &length, &K); - return Prettify(buffer, length, K, maxDecimalPlaces); - } -} - -#ifdef __GNUC__ -RAPIDJSON_DIAG_POP -#endif - -} // namespace internal -RAPIDJSON_NAMESPACE_END - -#endif // RAPIDJSON_DTOA_ diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/internal/ieee754.h b/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/internal/ieee754.h deleted file mode 100644 index c2684ba2a3..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/internal/ieee754.h +++ /dev/null @@ -1,78 +0,0 @@ -// Tencent is pleased to support the open source community by making RapidJSON available. -// -// Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. -// -// Licensed under the MIT License (the "License"); you may not use this file except -// in compliance with the License. You may obtain a copy of the License at -// -// http://opensource.org/licenses/MIT -// -// Unless required by applicable law or agreed to in writing, software distributed -// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -// CONDITIONS OF ANY KIND, either express or implied. See the License for the -// specific language governing permissions and limitations under the License. - -#ifndef RAPIDJSON_IEEE754_ -#define RAPIDJSON_IEEE754_ - -#include "../rapidjson.h" - -RAPIDJSON_NAMESPACE_BEGIN -namespace internal { - -class Double { -public: - Double() {} - Double(double d) : d_(d) {} - Double(uint64_t u) : u_(u) {} - - double Value() const { return d_; } - uint64_t Uint64Value() const { return u_; } - - double NextPositiveDouble() const { - RAPIDJSON_ASSERT(!Sign()); - return Double(u_ + 1).Value(); - } - - bool Sign() const { return (u_ & kSignMask) != 0; } - uint64_t Significand() const { return u_ & kSignificandMask; } - int Exponent() const { return static_cast(((u_ & kExponentMask) >> kSignificandSize) - kExponentBias); } - - bool IsNan() const { return (u_ & kExponentMask) == kExponentMask && Significand() != 0; } - bool IsInf() const { return (u_ & kExponentMask) == kExponentMask && Significand() == 0; } - bool IsNanOrInf() const { return (u_ & kExponentMask) == kExponentMask; } - bool IsNormal() const { return (u_ & kExponentMask) != 0 || Significand() == 0; } - bool IsZero() const { return (u_ & (kExponentMask | kSignificandMask)) == 0; } - - uint64_t IntegerSignificand() const { return IsNormal() ? Significand() | kHiddenBit : Significand(); } - int IntegerExponent() const { return (IsNormal() ? Exponent() : kDenormalExponent) - kSignificandSize; } - uint64_t ToBias() const { return (u_ & kSignMask) ? ~u_ + 1 : u_ | kSignMask; } - - static int EffectiveSignificandSize(int order) { - if (order >= -1021) - return 53; - else if (order <= -1074) - return 0; - else - return order + 1074; - } - -private: - static const int kSignificandSize = 52; - static const int kExponentBias = 0x3FF; - static const int kDenormalExponent = 1 - kExponentBias; - static const uint64_t kSignMask = RAPIDJSON_UINT64_C2(0x80000000, 0x00000000); - static const uint64_t kExponentMask = RAPIDJSON_UINT64_C2(0x7FF00000, 0x00000000); - static const uint64_t kSignificandMask = RAPIDJSON_UINT64_C2(0x000FFFFF, 0xFFFFFFFF); - static const uint64_t kHiddenBit = RAPIDJSON_UINT64_C2(0x00100000, 0x00000000); - - union { - double d_; - uint64_t u_; - }; -}; - -} // namespace internal -RAPIDJSON_NAMESPACE_END - -#endif // RAPIDJSON_IEEE754_ diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/internal/itoa.h b/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/internal/itoa.h deleted file mode 100644 index 9b1c45cc1b..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/internal/itoa.h +++ /dev/null @@ -1,308 +0,0 @@ -// Tencent is pleased to support the open source community by making RapidJSON available. -// -// Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. -// -// Licensed under the MIT License (the "License"); you may not use this file except -// in compliance with the License. You may obtain a copy of the License at -// -// http://opensource.org/licenses/MIT -// -// Unless required by applicable law or agreed to in writing, software distributed -// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -// CONDITIONS OF ANY KIND, either express or implied. See the License for the -// specific language governing permissions and limitations under the License. - -#ifndef RAPIDJSON_ITOA_ -#define RAPIDJSON_ITOA_ - -#include "../rapidjson.h" - -RAPIDJSON_NAMESPACE_BEGIN -namespace internal { - -inline const char* GetDigitsLut() { - static const char cDigitsLut[200] = { - '0','0','0','1','0','2','0','3','0','4','0','5','0','6','0','7','0','8','0','9', - '1','0','1','1','1','2','1','3','1','4','1','5','1','6','1','7','1','8','1','9', - '2','0','2','1','2','2','2','3','2','4','2','5','2','6','2','7','2','8','2','9', - '3','0','3','1','3','2','3','3','3','4','3','5','3','6','3','7','3','8','3','9', - '4','0','4','1','4','2','4','3','4','4','4','5','4','6','4','7','4','8','4','9', - '5','0','5','1','5','2','5','3','5','4','5','5','5','6','5','7','5','8','5','9', - '6','0','6','1','6','2','6','3','6','4','6','5','6','6','6','7','6','8','6','9', - '7','0','7','1','7','2','7','3','7','4','7','5','7','6','7','7','7','8','7','9', - '8','0','8','1','8','2','8','3','8','4','8','5','8','6','8','7','8','8','8','9', - '9','0','9','1','9','2','9','3','9','4','9','5','9','6','9','7','9','8','9','9' - }; - return cDigitsLut; -} - -inline char* u32toa(uint32_t value, char* buffer) { - RAPIDJSON_ASSERT(buffer != 0); - - const char* cDigitsLut = GetDigitsLut(); - - if (value < 10000) { - const uint32_t d1 = (value / 100) << 1; - const uint32_t d2 = (value % 100) << 1; - - if (value >= 1000) - *buffer++ = cDigitsLut[d1]; - if (value >= 100) - *buffer++ = cDigitsLut[d1 + 1]; - if (value >= 10) - *buffer++ = cDigitsLut[d2]; - *buffer++ = cDigitsLut[d2 + 1]; - } - else if (value < 100000000) { - // value = bbbbcccc - const uint32_t b = value / 10000; - const uint32_t c = value % 10000; - - const uint32_t d1 = (b / 100) << 1; - const uint32_t d2 = (b % 100) << 1; - - const uint32_t d3 = (c / 100) << 1; - const uint32_t d4 = (c % 100) << 1; - - if (value >= 10000000) - *buffer++ = cDigitsLut[d1]; - if (value >= 1000000) - *buffer++ = cDigitsLut[d1 + 1]; - if (value >= 100000) - *buffer++ = cDigitsLut[d2]; - *buffer++ = cDigitsLut[d2 + 1]; - - *buffer++ = cDigitsLut[d3]; - *buffer++ = cDigitsLut[d3 + 1]; - *buffer++ = cDigitsLut[d4]; - *buffer++ = cDigitsLut[d4 + 1]; - } - else { - // value = aabbbbcccc in decimal - - const uint32_t a = value / 100000000; // 1 to 42 - value %= 100000000; - - if (a >= 10) { - const unsigned i = a << 1; - *buffer++ = cDigitsLut[i]; - *buffer++ = cDigitsLut[i + 1]; - } - else - *buffer++ = static_cast('0' + static_cast(a)); - - const uint32_t b = value / 10000; // 0 to 9999 - const uint32_t c = value % 10000; // 0 to 9999 - - const uint32_t d1 = (b / 100) << 1; - const uint32_t d2 = (b % 100) << 1; - - const uint32_t d3 = (c / 100) << 1; - const uint32_t d4 = (c % 100) << 1; - - *buffer++ = cDigitsLut[d1]; - *buffer++ = cDigitsLut[d1 + 1]; - *buffer++ = cDigitsLut[d2]; - *buffer++ = cDigitsLut[d2 + 1]; - *buffer++ = cDigitsLut[d3]; - *buffer++ = cDigitsLut[d3 + 1]; - *buffer++ = cDigitsLut[d4]; - *buffer++ = cDigitsLut[d4 + 1]; - } - return buffer; -} - -inline char* i32toa(int32_t value, char* buffer) { - RAPIDJSON_ASSERT(buffer != 0); - uint32_t u = static_cast(value); - if (value < 0) { - *buffer++ = '-'; - u = ~u + 1; - } - - return u32toa(u, buffer); -} - -inline char* u64toa(uint64_t value, char* buffer) { - RAPIDJSON_ASSERT(buffer != 0); - const char* cDigitsLut = GetDigitsLut(); - const uint64_t kTen8 = 100000000; - const uint64_t kTen9 = kTen8 * 10; - const uint64_t kTen10 = kTen8 * 100; - const uint64_t kTen11 = kTen8 * 1000; - const uint64_t kTen12 = kTen8 * 10000; - const uint64_t kTen13 = kTen8 * 100000; - const uint64_t kTen14 = kTen8 * 1000000; - const uint64_t kTen15 = kTen8 * 10000000; - const uint64_t kTen16 = kTen8 * kTen8; - - if (value < kTen8) { - uint32_t v = static_cast(value); - if (v < 10000) { - const uint32_t d1 = (v / 100) << 1; - const uint32_t d2 = (v % 100) << 1; - - if (v >= 1000) - *buffer++ = cDigitsLut[d1]; - if (v >= 100) - *buffer++ = cDigitsLut[d1 + 1]; - if (v >= 10) - *buffer++ = cDigitsLut[d2]; - *buffer++ = cDigitsLut[d2 + 1]; - } - else { - // value = bbbbcccc - const uint32_t b = v / 10000; - const uint32_t c = v % 10000; - - const uint32_t d1 = (b / 100) << 1; - const uint32_t d2 = (b % 100) << 1; - - const uint32_t d3 = (c / 100) << 1; - const uint32_t d4 = (c % 100) << 1; - - if (value >= 10000000) - *buffer++ = cDigitsLut[d1]; - if (value >= 1000000) - *buffer++ = cDigitsLut[d1 + 1]; - if (value >= 100000) - *buffer++ = cDigitsLut[d2]; - *buffer++ = cDigitsLut[d2 + 1]; - - *buffer++ = cDigitsLut[d3]; - *buffer++ = cDigitsLut[d3 + 1]; - *buffer++ = cDigitsLut[d4]; - *buffer++ = cDigitsLut[d4 + 1]; - } - } - else if (value < kTen16) { - const uint32_t v0 = static_cast(value / kTen8); - const uint32_t v1 = static_cast(value % kTen8); - - const uint32_t b0 = v0 / 10000; - const uint32_t c0 = v0 % 10000; - - const uint32_t d1 = (b0 / 100) << 1; - const uint32_t d2 = (b0 % 100) << 1; - - const uint32_t d3 = (c0 / 100) << 1; - const uint32_t d4 = (c0 % 100) << 1; - - const uint32_t b1 = v1 / 10000; - const uint32_t c1 = v1 % 10000; - - const uint32_t d5 = (b1 / 100) << 1; - const uint32_t d6 = (b1 % 100) << 1; - - const uint32_t d7 = (c1 / 100) << 1; - const uint32_t d8 = (c1 % 100) << 1; - - if (value >= kTen15) - *buffer++ = cDigitsLut[d1]; - if (value >= kTen14) - *buffer++ = cDigitsLut[d1 + 1]; - if (value >= kTen13) - *buffer++ = cDigitsLut[d2]; - if (value >= kTen12) - *buffer++ = cDigitsLut[d2 + 1]; - if (value >= kTen11) - *buffer++ = cDigitsLut[d3]; - if (value >= kTen10) - *buffer++ = cDigitsLut[d3 + 1]; - if (value >= kTen9) - *buffer++ = cDigitsLut[d4]; - - *buffer++ = cDigitsLut[d4 + 1]; - *buffer++ = cDigitsLut[d5]; - *buffer++ = cDigitsLut[d5 + 1]; - *buffer++ = cDigitsLut[d6]; - *buffer++ = cDigitsLut[d6 + 1]; - *buffer++ = cDigitsLut[d7]; - *buffer++ = cDigitsLut[d7 + 1]; - *buffer++ = cDigitsLut[d8]; - *buffer++ = cDigitsLut[d8 + 1]; - } - else { - const uint32_t a = static_cast(value / kTen16); // 1 to 1844 - value %= kTen16; - - if (a < 10) - *buffer++ = static_cast('0' + static_cast(a)); - else if (a < 100) { - const uint32_t i = a << 1; - *buffer++ = cDigitsLut[i]; - *buffer++ = cDigitsLut[i + 1]; - } - else if (a < 1000) { - *buffer++ = static_cast('0' + static_cast(a / 100)); - - const uint32_t i = (a % 100) << 1; - *buffer++ = cDigitsLut[i]; - *buffer++ = cDigitsLut[i + 1]; - } - else { - const uint32_t i = (a / 100) << 1; - const uint32_t j = (a % 100) << 1; - *buffer++ = cDigitsLut[i]; - *buffer++ = cDigitsLut[i + 1]; - *buffer++ = cDigitsLut[j]; - *buffer++ = cDigitsLut[j + 1]; - } - - const uint32_t v0 = static_cast(value / kTen8); - const uint32_t v1 = static_cast(value % kTen8); - - const uint32_t b0 = v0 / 10000; - const uint32_t c0 = v0 % 10000; - - const uint32_t d1 = (b0 / 100) << 1; - const uint32_t d2 = (b0 % 100) << 1; - - const uint32_t d3 = (c0 / 100) << 1; - const uint32_t d4 = (c0 % 100) << 1; - - const uint32_t b1 = v1 / 10000; - const uint32_t c1 = v1 % 10000; - - const uint32_t d5 = (b1 / 100) << 1; - const uint32_t d6 = (b1 % 100) << 1; - - const uint32_t d7 = (c1 / 100) << 1; - const uint32_t d8 = (c1 % 100) << 1; - - *buffer++ = cDigitsLut[d1]; - *buffer++ = cDigitsLut[d1 + 1]; - *buffer++ = cDigitsLut[d2]; - *buffer++ = cDigitsLut[d2 + 1]; - *buffer++ = cDigitsLut[d3]; - *buffer++ = cDigitsLut[d3 + 1]; - *buffer++ = cDigitsLut[d4]; - *buffer++ = cDigitsLut[d4 + 1]; - *buffer++ = cDigitsLut[d5]; - *buffer++ = cDigitsLut[d5 + 1]; - *buffer++ = cDigitsLut[d6]; - *buffer++ = cDigitsLut[d6 + 1]; - *buffer++ = cDigitsLut[d7]; - *buffer++ = cDigitsLut[d7 + 1]; - *buffer++ = cDigitsLut[d8]; - *buffer++ = cDigitsLut[d8 + 1]; - } - - return buffer; -} - -inline char* i64toa(int64_t value, char* buffer) { - RAPIDJSON_ASSERT(buffer != 0); - uint64_t u = static_cast(value); - if (value < 0) { - *buffer++ = '-'; - u = ~u + 1; - } - - return u64toa(u, buffer); -} - -} // namespace internal -RAPIDJSON_NAMESPACE_END - -#endif // RAPIDJSON_ITOA_ diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/internal/meta.h b/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/internal/meta.h deleted file mode 100644 index d401edf851..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/internal/meta.h +++ /dev/null @@ -1,186 +0,0 @@ -// Tencent is pleased to support the open source community by making RapidJSON available. -// -// Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. -// -// Licensed under the MIT License (the "License"); you may not use this file except -// in compliance with the License. You may obtain a copy of the License at -// -// http://opensource.org/licenses/MIT -// -// Unless required by applicable law or agreed to in writing, software distributed -// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -// CONDITIONS OF ANY KIND, either express or implied. See the License for the -// specific language governing permissions and limitations under the License. - -#ifndef RAPIDJSON_INTERNAL_META_H_ -#define RAPIDJSON_INTERNAL_META_H_ - -#include "../rapidjson.h" - -#ifdef __GNUC__ -RAPIDJSON_DIAG_PUSH -RAPIDJSON_DIAG_OFF(effc++) -#endif - -#if defined(_MSC_VER) && !defined(__clang__) -RAPIDJSON_DIAG_PUSH -RAPIDJSON_DIAG_OFF(6334) -#endif - -#if RAPIDJSON_HAS_CXX11_TYPETRAITS -#include -#endif - -//@cond RAPIDJSON_INTERNAL -RAPIDJSON_NAMESPACE_BEGIN -namespace internal { - -// Helper to wrap/convert arbitrary types to void, useful for arbitrary type matching -template struct Void { typedef void Type; }; - -/////////////////////////////////////////////////////////////////////////////// -// BoolType, TrueType, FalseType -// -template struct BoolType { - static const bool Value = Cond; - typedef BoolType Type; -}; -typedef BoolType TrueType; -typedef BoolType FalseType; - - -/////////////////////////////////////////////////////////////////////////////// -// SelectIf, BoolExpr, NotExpr, AndExpr, OrExpr -// - -template struct SelectIfImpl { template struct Apply { typedef T1 Type; }; }; -template <> struct SelectIfImpl { template struct Apply { typedef T2 Type; }; }; -template struct SelectIfCond : SelectIfImpl::template Apply {}; -template struct SelectIf : SelectIfCond {}; - -template struct AndExprCond : FalseType {}; -template <> struct AndExprCond : TrueType {}; -template struct OrExprCond : TrueType {}; -template <> struct OrExprCond : FalseType {}; - -template struct BoolExpr : SelectIf::Type {}; -template struct NotExpr : SelectIf::Type {}; -template struct AndExpr : AndExprCond::Type {}; -template struct OrExpr : OrExprCond::Type {}; - - -/////////////////////////////////////////////////////////////////////////////// -// AddConst, MaybeAddConst, RemoveConst -template struct AddConst { typedef const T Type; }; -template struct MaybeAddConst : SelectIfCond {}; -template struct RemoveConst { typedef T Type; }; -template struct RemoveConst { typedef T Type; }; - - -/////////////////////////////////////////////////////////////////////////////// -// IsSame, IsConst, IsMoreConst, IsPointer -// -template struct IsSame : FalseType {}; -template struct IsSame : TrueType {}; - -template struct IsConst : FalseType {}; -template struct IsConst : TrueType {}; - -template -struct IsMoreConst - : AndExpr::Type, typename RemoveConst::Type>, - BoolType::Value >= IsConst::Value> >::Type {}; - -template struct IsPointer : FalseType {}; -template struct IsPointer : TrueType {}; - -/////////////////////////////////////////////////////////////////////////////// -// IsBaseOf -// -#if RAPIDJSON_HAS_CXX11_TYPETRAITS - -template struct IsBaseOf - : BoolType< ::std::is_base_of::value> {}; - -#else // simplified version adopted from Boost - -template struct IsBaseOfImpl { - RAPIDJSON_STATIC_ASSERT(sizeof(B) != 0); - RAPIDJSON_STATIC_ASSERT(sizeof(D) != 0); - - typedef char (&Yes)[1]; - typedef char (&No) [2]; - - template - static Yes Check(const D*, T); - static No Check(const B*, int); - - struct Host { - operator const B*() const; - operator const D*(); - }; - - enum { Value = (sizeof(Check(Host(), 0)) == sizeof(Yes)) }; -}; - -template struct IsBaseOf - : OrExpr, BoolExpr > >::Type {}; - -#endif // RAPIDJSON_HAS_CXX11_TYPETRAITS - - -////////////////////////////////////////////////////////////////////////// -// EnableIf / DisableIf -// -template struct EnableIfCond { typedef T Type; }; -template struct EnableIfCond { /* empty */ }; - -template struct DisableIfCond { typedef T Type; }; -template struct DisableIfCond { /* empty */ }; - -template -struct EnableIf : EnableIfCond {}; - -template -struct DisableIf : DisableIfCond {}; - -// SFINAE helpers -struct SfinaeTag {}; -template struct RemoveSfinaeTag; -template struct RemoveSfinaeTag { typedef T Type; }; - -#define RAPIDJSON_REMOVEFPTR_(type) \ - typename ::RAPIDJSON_NAMESPACE::internal::RemoveSfinaeTag \ - < ::RAPIDJSON_NAMESPACE::internal::SfinaeTag&(*) type>::Type - -#define RAPIDJSON_ENABLEIF(cond) \ - typename ::RAPIDJSON_NAMESPACE::internal::EnableIf \ - ::Type * = NULL - -#define RAPIDJSON_DISABLEIF(cond) \ - typename ::RAPIDJSON_NAMESPACE::internal::DisableIf \ - ::Type * = NULL - -#define RAPIDJSON_ENABLEIF_RETURN(cond,returntype) \ - typename ::RAPIDJSON_NAMESPACE::internal::EnableIf \ - ::Type - -#define RAPIDJSON_DISABLEIF_RETURN(cond,returntype) \ - typename ::RAPIDJSON_NAMESPACE::internal::DisableIf \ - ::Type - -} // namespace internal -RAPIDJSON_NAMESPACE_END -//@endcond - -#if defined(_MSC_VER) && !defined(__clang__) -RAPIDJSON_DIAG_POP -#endif - -#ifdef __GNUC__ -RAPIDJSON_DIAG_POP -#endif - -#endif // RAPIDJSON_INTERNAL_META_H_ diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/internal/pow10.h b/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/internal/pow10.h deleted file mode 100644 index 02f475d705..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/internal/pow10.h +++ /dev/null @@ -1,55 +0,0 @@ -// Tencent is pleased to support the open source community by making RapidJSON available. -// -// Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. -// -// Licensed under the MIT License (the "License"); you may not use this file except -// in compliance with the License. You may obtain a copy of the License at -// -// http://opensource.org/licenses/MIT -// -// Unless required by applicable law or agreed to in writing, software distributed -// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -// CONDITIONS OF ANY KIND, either express or implied. See the License for the -// specific language governing permissions and limitations under the License. - -#ifndef RAPIDJSON_POW10_ -#define RAPIDJSON_POW10_ - -#include "../rapidjson.h" - -RAPIDJSON_NAMESPACE_BEGIN -namespace internal { - -//! Computes integer powers of 10 in double (10.0^n). -/*! This function uses lookup table for fast and accurate results. - \param n non-negative exponent. Must <= 308. - \return 10.0^n -*/ -inline double Pow10(int n) { - static const double e[] = { // 1e-0...1e308: 309 * 8 bytes = 2472 bytes - 1e+0, - 1e+1, 1e+2, 1e+3, 1e+4, 1e+5, 1e+6, 1e+7, 1e+8, 1e+9, 1e+10, 1e+11, 1e+12, 1e+13, 1e+14, 1e+15, 1e+16, 1e+17, 1e+18, 1e+19, 1e+20, - 1e+21, 1e+22, 1e+23, 1e+24, 1e+25, 1e+26, 1e+27, 1e+28, 1e+29, 1e+30, 1e+31, 1e+32, 1e+33, 1e+34, 1e+35, 1e+36, 1e+37, 1e+38, 1e+39, 1e+40, - 1e+41, 1e+42, 1e+43, 1e+44, 1e+45, 1e+46, 1e+47, 1e+48, 1e+49, 1e+50, 1e+51, 1e+52, 1e+53, 1e+54, 1e+55, 1e+56, 1e+57, 1e+58, 1e+59, 1e+60, - 1e+61, 1e+62, 1e+63, 1e+64, 1e+65, 1e+66, 1e+67, 1e+68, 1e+69, 1e+70, 1e+71, 1e+72, 1e+73, 1e+74, 1e+75, 1e+76, 1e+77, 1e+78, 1e+79, 1e+80, - 1e+81, 1e+82, 1e+83, 1e+84, 1e+85, 1e+86, 1e+87, 1e+88, 1e+89, 1e+90, 1e+91, 1e+92, 1e+93, 1e+94, 1e+95, 1e+96, 1e+97, 1e+98, 1e+99, 1e+100, - 1e+101,1e+102,1e+103,1e+104,1e+105,1e+106,1e+107,1e+108,1e+109,1e+110,1e+111,1e+112,1e+113,1e+114,1e+115,1e+116,1e+117,1e+118,1e+119,1e+120, - 1e+121,1e+122,1e+123,1e+124,1e+125,1e+126,1e+127,1e+128,1e+129,1e+130,1e+131,1e+132,1e+133,1e+134,1e+135,1e+136,1e+137,1e+138,1e+139,1e+140, - 1e+141,1e+142,1e+143,1e+144,1e+145,1e+146,1e+147,1e+148,1e+149,1e+150,1e+151,1e+152,1e+153,1e+154,1e+155,1e+156,1e+157,1e+158,1e+159,1e+160, - 1e+161,1e+162,1e+163,1e+164,1e+165,1e+166,1e+167,1e+168,1e+169,1e+170,1e+171,1e+172,1e+173,1e+174,1e+175,1e+176,1e+177,1e+178,1e+179,1e+180, - 1e+181,1e+182,1e+183,1e+184,1e+185,1e+186,1e+187,1e+188,1e+189,1e+190,1e+191,1e+192,1e+193,1e+194,1e+195,1e+196,1e+197,1e+198,1e+199,1e+200, - 1e+201,1e+202,1e+203,1e+204,1e+205,1e+206,1e+207,1e+208,1e+209,1e+210,1e+211,1e+212,1e+213,1e+214,1e+215,1e+216,1e+217,1e+218,1e+219,1e+220, - 1e+221,1e+222,1e+223,1e+224,1e+225,1e+226,1e+227,1e+228,1e+229,1e+230,1e+231,1e+232,1e+233,1e+234,1e+235,1e+236,1e+237,1e+238,1e+239,1e+240, - 1e+241,1e+242,1e+243,1e+244,1e+245,1e+246,1e+247,1e+248,1e+249,1e+250,1e+251,1e+252,1e+253,1e+254,1e+255,1e+256,1e+257,1e+258,1e+259,1e+260, - 1e+261,1e+262,1e+263,1e+264,1e+265,1e+266,1e+267,1e+268,1e+269,1e+270,1e+271,1e+272,1e+273,1e+274,1e+275,1e+276,1e+277,1e+278,1e+279,1e+280, - 1e+281,1e+282,1e+283,1e+284,1e+285,1e+286,1e+287,1e+288,1e+289,1e+290,1e+291,1e+292,1e+293,1e+294,1e+295,1e+296,1e+297,1e+298,1e+299,1e+300, - 1e+301,1e+302,1e+303,1e+304,1e+305,1e+306,1e+307,1e+308 - }; - RAPIDJSON_ASSERT(n >= 0 && n <= 308); - return e[n]; -} - -} // namespace internal -RAPIDJSON_NAMESPACE_END - -#endif // RAPIDJSON_POW10_ diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/internal/regex.h b/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/internal/regex.h deleted file mode 100644 index 16e355921f..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/internal/regex.h +++ /dev/null @@ -1,740 +0,0 @@ -// Tencent is pleased to support the open source community by making RapidJSON available. -// -// Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. -// -// Licensed under the MIT License (the "License"); you may not use this file except -// in compliance with the License. You may obtain a copy of the License at -// -// http://opensource.org/licenses/MIT -// -// Unless required by applicable law or agreed to in writing, software distributed -// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -// CONDITIONS OF ANY KIND, either express or implied. See the License for the -// specific language governing permissions and limitations under the License. - -#ifndef RAPIDJSON_INTERNAL_REGEX_H_ -#define RAPIDJSON_INTERNAL_REGEX_H_ - -#include "../allocators.h" -#include "../stream.h" -#include "stack.h" - -#ifdef __clang__ -RAPIDJSON_DIAG_PUSH -RAPIDJSON_DIAG_OFF(padded) -RAPIDJSON_DIAG_OFF(switch-enum) -RAPIDJSON_DIAG_OFF(implicit-fallthrough) -#elif defined(_MSC_VER) -RAPIDJSON_DIAG_PUSH -RAPIDJSON_DIAG_OFF(4512) // assignment operator could not be generated -#endif - -#ifdef __GNUC__ -RAPIDJSON_DIAG_PUSH -RAPIDJSON_DIAG_OFF(effc++) -#if __GNUC__ >= 7 -RAPIDJSON_DIAG_OFF(implicit-fallthrough) -#endif -#endif - -#ifndef RAPIDJSON_REGEX_VERBOSE -#define RAPIDJSON_REGEX_VERBOSE 0 -#endif - -RAPIDJSON_NAMESPACE_BEGIN -namespace internal { - -/////////////////////////////////////////////////////////////////////////////// -// DecodedStream - -template -class DecodedStream { -public: - DecodedStream(SourceStream& ss) : ss_(ss), codepoint_() { Decode(); } - unsigned Peek() { return codepoint_; } - unsigned Take() { - unsigned c = codepoint_; - if (c) // No further decoding when '\0' - Decode(); - return c; - } - -private: - void Decode() { - if (!Encoding::Decode(ss_, &codepoint_)) - codepoint_ = 0; - } - - SourceStream& ss_; - unsigned codepoint_; -}; - -/////////////////////////////////////////////////////////////////////////////// -// GenericRegex - -static const SizeType kRegexInvalidState = ~SizeType(0); //!< Represents an invalid index in GenericRegex::State::out, out1 -static const SizeType kRegexInvalidRange = ~SizeType(0); - -template -class GenericRegexSearch; - -//! Regular expression engine with subset of ECMAscript grammar. -/*! - Supported regular expression syntax: - - \c ab Concatenation - - \c a|b Alternation - - \c a? Zero or one - - \c a* Zero or more - - \c a+ One or more - - \c a{3} Exactly 3 times - - \c a{3,} At least 3 times - - \c a{3,5} 3 to 5 times - - \c (ab) Grouping - - \c ^a At the beginning - - \c a$ At the end - - \c . Any character - - \c [abc] Character classes - - \c [a-c] Character class range - - \c [a-z0-9_] Character class combination - - \c [^abc] Negated character classes - - \c [^a-c] Negated character class range - - \c [\b] Backspace (U+0008) - - \c \\| \\\\ ... Escape characters - - \c \\f Form feed (U+000C) - - \c \\n Line feed (U+000A) - - \c \\r Carriage return (U+000D) - - \c \\t Tab (U+0009) - - \c \\v Vertical tab (U+000B) - - \note This is a Thompson NFA engine, implemented with reference to - Cox, Russ. "Regular Expression Matching Can Be Simple And Fast (but is slow in Java, Perl, PHP, Python, Ruby,...).", - https://swtch.com/~rsc/regexp/regexp1.html -*/ -template -class GenericRegex { -public: - typedef Encoding EncodingType; - typedef typename Encoding::Ch Ch; - template friend class GenericRegexSearch; - - GenericRegex(const Ch* source, Allocator* allocator = 0) : - ownAllocator_(allocator ? 0 : RAPIDJSON_NEW(Allocator)()), allocator_(allocator ? allocator : ownAllocator_), - states_(allocator_, 256), ranges_(allocator_, 256), root_(kRegexInvalidState), stateCount_(), rangeCount_(), - anchorBegin_(), anchorEnd_() - { - GenericStringStream ss(source); - DecodedStream, Encoding> ds(ss); - Parse(ds); - } - - ~GenericRegex() - { - RAPIDJSON_DELETE(ownAllocator_); - } - - bool IsValid() const { - return root_ != kRegexInvalidState; - } - -private: - enum Operator { - kZeroOrOne, - kZeroOrMore, - kOneOrMore, - kConcatenation, - kAlternation, - kLeftParenthesis - }; - - static const unsigned kAnyCharacterClass = 0xFFFFFFFF; //!< For '.' - static const unsigned kRangeCharacterClass = 0xFFFFFFFE; - static const unsigned kRangeNegationFlag = 0x80000000; - - struct Range { - unsigned start; // - unsigned end; - SizeType next; - }; - - struct State { - SizeType out; //!< Equals to kInvalid for matching state - SizeType out1; //!< Equals to non-kInvalid for split - SizeType rangeStart; - unsigned codepoint; - }; - - struct Frag { - Frag(SizeType s, SizeType o, SizeType m) : start(s), out(o), minIndex(m) {} - SizeType start; - SizeType out; //!< link-list of all output states - SizeType minIndex; - }; - - State& GetState(SizeType index) { - RAPIDJSON_ASSERT(index < stateCount_); - return states_.template Bottom()[index]; - } - - const State& GetState(SizeType index) const { - RAPIDJSON_ASSERT(index < stateCount_); - return states_.template Bottom()[index]; - } - - Range& GetRange(SizeType index) { - RAPIDJSON_ASSERT(index < rangeCount_); - return ranges_.template Bottom()[index]; - } - - const Range& GetRange(SizeType index) const { - RAPIDJSON_ASSERT(index < rangeCount_); - return ranges_.template Bottom()[index]; - } - - template - void Parse(DecodedStream& ds) { - Stack operandStack(allocator_, 256); // Frag - Stack operatorStack(allocator_, 256); // Operator - Stack atomCountStack(allocator_, 256); // unsigned (Atom per parenthesis) - - *atomCountStack.template Push() = 0; - - unsigned codepoint; - while (ds.Peek() != 0) { - switch (codepoint = ds.Take()) { - case '^': - anchorBegin_ = true; - break; - - case '$': - anchorEnd_ = true; - break; - - case '|': - while (!operatorStack.Empty() && *operatorStack.template Top() < kAlternation) - if (!Eval(operandStack, *operatorStack.template Pop(1))) - return; - *operatorStack.template Push() = kAlternation; - *atomCountStack.template Top() = 0; - break; - - case '(': - *operatorStack.template Push() = kLeftParenthesis; - *atomCountStack.template Push() = 0; - break; - - case ')': - while (!operatorStack.Empty() && *operatorStack.template Top() != kLeftParenthesis) - if (!Eval(operandStack, *operatorStack.template Pop(1))) - return; - if (operatorStack.Empty()) - return; - operatorStack.template Pop(1); - atomCountStack.template Pop(1); - ImplicitConcatenation(atomCountStack, operatorStack); - break; - - case '?': - if (!Eval(operandStack, kZeroOrOne)) - return; - break; - - case '*': - if (!Eval(operandStack, kZeroOrMore)) - return; - break; - - case '+': - if (!Eval(operandStack, kOneOrMore)) - return; - break; - - case '{': - { - unsigned n, m; - if (!ParseUnsigned(ds, &n)) - return; - - if (ds.Peek() == ',') { - ds.Take(); - if (ds.Peek() == '}') - m = kInfinityQuantifier; - else if (!ParseUnsigned(ds, &m) || m < n) - return; - } - else - m = n; - - if (!EvalQuantifier(operandStack, n, m) || ds.Peek() != '}') - return; - ds.Take(); - } - break; - - case '.': - PushOperand(operandStack, kAnyCharacterClass); - ImplicitConcatenation(atomCountStack, operatorStack); - break; - - case '[': - { - SizeType range; - if (!ParseRange(ds, &range)) - return; - SizeType s = NewState(kRegexInvalidState, kRegexInvalidState, kRangeCharacterClass); - GetState(s).rangeStart = range; - *operandStack.template Push() = Frag(s, s, s); - } - ImplicitConcatenation(atomCountStack, operatorStack); - break; - - case '\\': // Escape character - if (!CharacterEscape(ds, &codepoint)) - return; // Unsupported escape character - // fall through to default - - default: // Pattern character - PushOperand(operandStack, codepoint); - ImplicitConcatenation(atomCountStack, operatorStack); - } - } - - while (!operatorStack.Empty()) - if (!Eval(operandStack, *operatorStack.template Pop(1))) - return; - - // Link the operand to matching state. - if (operandStack.GetSize() == sizeof(Frag)) { - Frag* e = operandStack.template Pop(1); - Patch(e->out, NewState(kRegexInvalidState, kRegexInvalidState, 0)); - root_ = e->start; - -#if RAPIDJSON_REGEX_VERBOSE - printf("root: %d\n", root_); - for (SizeType i = 0; i < stateCount_ ; i++) { - State& s = GetState(i); - printf("[%2d] out: %2d out1: %2d c: '%c'\n", i, s.out, s.out1, (char)s.codepoint); - } - printf("\n"); -#endif - } - } - - SizeType NewState(SizeType out, SizeType out1, unsigned codepoint) { - State* s = states_.template Push(); - s->out = out; - s->out1 = out1; - s->codepoint = codepoint; - s->rangeStart = kRegexInvalidRange; - return stateCount_++; - } - - void PushOperand(Stack& operandStack, unsigned codepoint) { - SizeType s = NewState(kRegexInvalidState, kRegexInvalidState, codepoint); - *operandStack.template Push() = Frag(s, s, s); - } - - void ImplicitConcatenation(Stack& atomCountStack, Stack& operatorStack) { - if (*atomCountStack.template Top()) - *operatorStack.template Push() = kConcatenation; - (*atomCountStack.template Top())++; - } - - SizeType Append(SizeType l1, SizeType l2) { - SizeType old = l1; - while (GetState(l1).out != kRegexInvalidState) - l1 = GetState(l1).out; - GetState(l1).out = l2; - return old; - } - - void Patch(SizeType l, SizeType s) { - for (SizeType next; l != kRegexInvalidState; l = next) { - next = GetState(l).out; - GetState(l).out = s; - } - } - - bool Eval(Stack& operandStack, Operator op) { - switch (op) { - case kConcatenation: - RAPIDJSON_ASSERT(operandStack.GetSize() >= sizeof(Frag) * 2); - { - Frag e2 = *operandStack.template Pop(1); - Frag e1 = *operandStack.template Pop(1); - Patch(e1.out, e2.start); - *operandStack.template Push() = Frag(e1.start, e2.out, Min(e1.minIndex, e2.minIndex)); - } - return true; - - case kAlternation: - if (operandStack.GetSize() >= sizeof(Frag) * 2) { - Frag e2 = *operandStack.template Pop(1); - Frag e1 = *operandStack.template Pop(1); - SizeType s = NewState(e1.start, e2.start, 0); - *operandStack.template Push() = Frag(s, Append(e1.out, e2.out), Min(e1.minIndex, e2.minIndex)); - return true; - } - return false; - - case kZeroOrOne: - if (operandStack.GetSize() >= sizeof(Frag)) { - Frag e = *operandStack.template Pop(1); - SizeType s = NewState(kRegexInvalidState, e.start, 0); - *operandStack.template Push() = Frag(s, Append(e.out, s), e.minIndex); - return true; - } - return false; - - case kZeroOrMore: - if (operandStack.GetSize() >= sizeof(Frag)) { - Frag e = *operandStack.template Pop(1); - SizeType s = NewState(kRegexInvalidState, e.start, 0); - Patch(e.out, s); - *operandStack.template Push() = Frag(s, s, e.minIndex); - return true; - } - return false; - - case kOneOrMore: - if (operandStack.GetSize() >= sizeof(Frag)) { - Frag e = *operandStack.template Pop(1); - SizeType s = NewState(kRegexInvalidState, e.start, 0); - Patch(e.out, s); - *operandStack.template Push() = Frag(e.start, s, e.minIndex); - return true; - } - return false; - - default: - // syntax error (e.g. unclosed kLeftParenthesis) - return false; - } - } - - bool EvalQuantifier(Stack& operandStack, unsigned n, unsigned m) { - RAPIDJSON_ASSERT(n <= m); - RAPIDJSON_ASSERT(operandStack.GetSize() >= sizeof(Frag)); - - if (n == 0) { - if (m == 0) // a{0} not support - return false; - else if (m == kInfinityQuantifier) - Eval(operandStack, kZeroOrMore); // a{0,} -> a* - else { - Eval(operandStack, kZeroOrOne); // a{0,5} -> a? - for (unsigned i = 0; i < m - 1; i++) - CloneTopOperand(operandStack); // a{0,5} -> a? a? a? a? a? - for (unsigned i = 0; i < m - 1; i++) - Eval(operandStack, kConcatenation); // a{0,5} -> a?a?a?a?a? - } - return true; - } - - for (unsigned i = 0; i < n - 1; i++) // a{3} -> a a a - CloneTopOperand(operandStack); - - if (m == kInfinityQuantifier) - Eval(operandStack, kOneOrMore); // a{3,} -> a a a+ - else if (m > n) { - CloneTopOperand(operandStack); // a{3,5} -> a a a a - Eval(operandStack, kZeroOrOne); // a{3,5} -> a a a a? - for (unsigned i = n; i < m - 1; i++) - CloneTopOperand(operandStack); // a{3,5} -> a a a a? a? - for (unsigned i = n; i < m; i++) - Eval(operandStack, kConcatenation); // a{3,5} -> a a aa?a? - } - - for (unsigned i = 0; i < n - 1; i++) - Eval(operandStack, kConcatenation); // a{3} -> aaa, a{3,} -> aaa+, a{3.5} -> aaaa?a? - - return true; - } - - static SizeType Min(SizeType a, SizeType b) { return a < b ? a : b; } - - void CloneTopOperand(Stack& operandStack) { - const Frag src = *operandStack.template Top(); // Copy constructor to prevent invalidation - SizeType count = stateCount_ - src.minIndex; // Assumes top operand contains states in [src->minIndex, stateCount_) - State* s = states_.template Push(count); - memcpy(s, &GetState(src.minIndex), count * sizeof(State)); - for (SizeType j = 0; j < count; j++) { - if (s[j].out != kRegexInvalidState) - s[j].out += count; - if (s[j].out1 != kRegexInvalidState) - s[j].out1 += count; - } - *operandStack.template Push() = Frag(src.start + count, src.out + count, src.minIndex + count); - stateCount_ += count; - } - - template - bool ParseUnsigned(DecodedStream& ds, unsigned* u) { - unsigned r = 0; - if (ds.Peek() < '0' || ds.Peek() > '9') - return false; - while (ds.Peek() >= '0' && ds.Peek() <= '9') { - if (r >= 429496729 && ds.Peek() > '5') // 2^32 - 1 = 4294967295 - return false; // overflow - r = r * 10 + (ds.Take() - '0'); - } - *u = r; - return true; - } - - template - bool ParseRange(DecodedStream& ds, SizeType* range) { - bool isBegin = true; - bool negate = false; - int step = 0; - SizeType start = kRegexInvalidRange; - SizeType current = kRegexInvalidRange; - unsigned codepoint; - while ((codepoint = ds.Take()) != 0) { - if (isBegin) { - isBegin = false; - if (codepoint == '^') { - negate = true; - continue; - } - } - - switch (codepoint) { - case ']': - if (start == kRegexInvalidRange) - return false; // Error: nothing inside [] - if (step == 2) { // Add trailing '-' - SizeType r = NewRange('-'); - RAPIDJSON_ASSERT(current != kRegexInvalidRange); - GetRange(current).next = r; - } - if (negate) - GetRange(start).start |= kRangeNegationFlag; - *range = start; - return true; - - case '\\': - if (ds.Peek() == 'b') { - ds.Take(); - codepoint = 0x0008; // Escape backspace character - } - else if (!CharacterEscape(ds, &codepoint)) - return false; - // fall through to default - - default: - switch (step) { - case 1: - if (codepoint == '-') { - step++; - break; - } - // fall through to step 0 for other characters - - case 0: - { - SizeType r = NewRange(codepoint); - if (current != kRegexInvalidRange) - GetRange(current).next = r; - if (start == kRegexInvalidRange) - start = r; - current = r; - } - step = 1; - break; - - default: - RAPIDJSON_ASSERT(step == 2); - GetRange(current).end = codepoint; - step = 0; - } - } - } - return false; - } - - SizeType NewRange(unsigned codepoint) { - Range* r = ranges_.template Push(); - r->start = r->end = codepoint; - r->next = kRegexInvalidRange; - return rangeCount_++; - } - - template - bool CharacterEscape(DecodedStream& ds, unsigned* escapedCodepoint) { - unsigned codepoint; - switch (codepoint = ds.Take()) { - case '^': - case '$': - case '|': - case '(': - case ')': - case '?': - case '*': - case '+': - case '.': - case '[': - case ']': - case '{': - case '}': - case '\\': - *escapedCodepoint = codepoint; return true; - case 'f': *escapedCodepoint = 0x000C; return true; - case 'n': *escapedCodepoint = 0x000A; return true; - case 'r': *escapedCodepoint = 0x000D; return true; - case 't': *escapedCodepoint = 0x0009; return true; - case 'v': *escapedCodepoint = 0x000B; return true; - default: - return false; // Unsupported escape character - } - } - - Allocator* ownAllocator_; - Allocator* allocator_; - Stack states_; - Stack ranges_; - SizeType root_; - SizeType stateCount_; - SizeType rangeCount_; - - static const unsigned kInfinityQuantifier = ~0u; - - // For SearchWithAnchoring() - bool anchorBegin_; - bool anchorEnd_; -}; - -template -class GenericRegexSearch { -public: - typedef typename RegexType::EncodingType Encoding; - typedef typename Encoding::Ch Ch; - - GenericRegexSearch(const RegexType& regex, Allocator* allocator = 0) : - regex_(regex), allocator_(allocator), ownAllocator_(0), - state0_(allocator, 0), state1_(allocator, 0), stateSet_() - { - RAPIDJSON_ASSERT(regex_.IsValid()); - if (!allocator_) - ownAllocator_ = allocator_ = RAPIDJSON_NEW(Allocator)(); - stateSet_ = static_cast(allocator_->Malloc(GetStateSetSize())); - state0_.template Reserve(regex_.stateCount_); - state1_.template Reserve(regex_.stateCount_); - } - - ~GenericRegexSearch() { - Allocator::Free(stateSet_); - RAPIDJSON_DELETE(ownAllocator_); - } - - template - bool Match(InputStream& is) { - return SearchWithAnchoring(is, true, true); - } - - bool Match(const Ch* s) { - GenericStringStream is(s); - return Match(is); - } - - template - bool Search(InputStream& is) { - return SearchWithAnchoring(is, regex_.anchorBegin_, regex_.anchorEnd_); - } - - bool Search(const Ch* s) { - GenericStringStream is(s); - return Search(is); - } - -private: - typedef typename RegexType::State State; - typedef typename RegexType::Range Range; - - template - bool SearchWithAnchoring(InputStream& is, bool anchorBegin, bool anchorEnd) { - DecodedStream ds(is); - - state0_.Clear(); - Stack *current = &state0_, *next = &state1_; - const size_t stateSetSize = GetStateSetSize(); - std::memset(stateSet_, 0, stateSetSize); - - bool matched = AddState(*current, regex_.root_); - unsigned codepoint; - while (!current->Empty() && (codepoint = ds.Take()) != 0) { - std::memset(stateSet_, 0, stateSetSize); - next->Clear(); - matched = false; - for (const SizeType* s = current->template Bottom(); s != current->template End(); ++s) { - const State& sr = regex_.GetState(*s); - if (sr.codepoint == codepoint || - sr.codepoint == RegexType::kAnyCharacterClass || - (sr.codepoint == RegexType::kRangeCharacterClass && MatchRange(sr.rangeStart, codepoint))) - { - matched = AddState(*next, sr.out) || matched; - if (!anchorEnd && matched) - return true; - } - if (!anchorBegin) - AddState(*next, regex_.root_); - } - internal::Swap(current, next); - } - - return matched; - } - - size_t GetStateSetSize() const { - return (regex_.stateCount_ + 31) / 32 * 4; - } - - // Return whether the added states is a match state - bool AddState(Stack& l, SizeType index) { - RAPIDJSON_ASSERT(index != kRegexInvalidState); - - const State& s = regex_.GetState(index); - if (s.out1 != kRegexInvalidState) { // Split - bool matched = AddState(l, s.out); - return AddState(l, s.out1) || matched; - } - else if (!(stateSet_[index >> 5] & (1u << (index & 31)))) { - stateSet_[index >> 5] |= (1u << (index & 31)); - *l.template PushUnsafe() = index; - } - return s.out == kRegexInvalidState; // by using PushUnsafe() above, we can ensure s is not validated due to reallocation. - } - - bool MatchRange(SizeType rangeIndex, unsigned codepoint) const { - bool yes = (regex_.GetRange(rangeIndex).start & RegexType::kRangeNegationFlag) == 0; - while (rangeIndex != kRegexInvalidRange) { - const Range& r = regex_.GetRange(rangeIndex); - if (codepoint >= (r.start & ~RegexType::kRangeNegationFlag) && codepoint <= r.end) - return yes; - rangeIndex = r.next; - } - return !yes; - } - - const RegexType& regex_; - Allocator* allocator_; - Allocator* ownAllocator_; - Stack state0_; - Stack state1_; - uint32_t* stateSet_; -}; - -typedef GenericRegex > Regex; -typedef GenericRegexSearch RegexSearch; - -} // namespace internal -RAPIDJSON_NAMESPACE_END - -#ifdef __GNUC__ -RAPIDJSON_DIAG_POP -#endif - -#if defined(__clang__) || defined(_MSC_VER) -RAPIDJSON_DIAG_POP -#endif - -#endif // RAPIDJSON_INTERNAL_REGEX_H_ diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/internal/stack.h b/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/internal/stack.h deleted file mode 100644 index 45dca6a8b0..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/internal/stack.h +++ /dev/null @@ -1,232 +0,0 @@ -// Tencent is pleased to support the open source community by making RapidJSON available. -// -// Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. -// -// Licensed under the MIT License (the "License"); you may not use this file except -// in compliance with the License. You may obtain a copy of the License at -// -// http://opensource.org/licenses/MIT -// -// Unless required by applicable law or agreed to in writing, software distributed -// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -// CONDITIONS OF ANY KIND, either express or implied. See the License for the -// specific language governing permissions and limitations under the License. - -#ifndef RAPIDJSON_INTERNAL_STACK_H_ -#define RAPIDJSON_INTERNAL_STACK_H_ - -#include "../allocators.h" -#include "swap.h" -#include - -#if defined(__clang__) -RAPIDJSON_DIAG_PUSH -RAPIDJSON_DIAG_OFF(c++98-compat) -#endif - -RAPIDJSON_NAMESPACE_BEGIN -namespace internal { - -/////////////////////////////////////////////////////////////////////////////// -// Stack - -//! A type-unsafe stack for storing different types of data. -/*! \tparam Allocator Allocator for allocating stack memory. -*/ -template -class Stack { -public: - // Optimization note: Do not allocate memory for stack_ in constructor. - // Do it lazily when first Push() -> Expand() -> Resize(). - Stack(Allocator* allocator, size_t stackCapacity) : allocator_(allocator), ownAllocator_(0), stack_(0), stackTop_(0), stackEnd_(0), initialCapacity_(stackCapacity) { - } - -#if RAPIDJSON_HAS_CXX11_RVALUE_REFS - Stack(Stack&& rhs) - : allocator_(rhs.allocator_), - ownAllocator_(rhs.ownAllocator_), - stack_(rhs.stack_), - stackTop_(rhs.stackTop_), - stackEnd_(rhs.stackEnd_), - initialCapacity_(rhs.initialCapacity_) - { - rhs.allocator_ = 0; - rhs.ownAllocator_ = 0; - rhs.stack_ = 0; - rhs.stackTop_ = 0; - rhs.stackEnd_ = 0; - rhs.initialCapacity_ = 0; - } -#endif - - ~Stack() { - Destroy(); - } - -#if RAPIDJSON_HAS_CXX11_RVALUE_REFS - Stack& operator=(Stack&& rhs) { - if (&rhs != this) - { - Destroy(); - - allocator_ = rhs.allocator_; - ownAllocator_ = rhs.ownAllocator_; - stack_ = rhs.stack_; - stackTop_ = rhs.stackTop_; - stackEnd_ = rhs.stackEnd_; - initialCapacity_ = rhs.initialCapacity_; - - rhs.allocator_ = 0; - rhs.ownAllocator_ = 0; - rhs.stack_ = 0; - rhs.stackTop_ = 0; - rhs.stackEnd_ = 0; - rhs.initialCapacity_ = 0; - } - return *this; - } -#endif - - void Swap(Stack& rhs) RAPIDJSON_NOEXCEPT { - internal::Swap(allocator_, rhs.allocator_); - internal::Swap(ownAllocator_, rhs.ownAllocator_); - internal::Swap(stack_, rhs.stack_); - internal::Swap(stackTop_, rhs.stackTop_); - internal::Swap(stackEnd_, rhs.stackEnd_); - internal::Swap(initialCapacity_, rhs.initialCapacity_); - } - - void Clear() { stackTop_ = stack_; } - - void ShrinkToFit() { - if (Empty()) { - // If the stack is empty, completely deallocate the memory. - Allocator::Free(stack_); // NOLINT (+clang-analyzer-unix.Malloc) - stack_ = 0; - stackTop_ = 0; - stackEnd_ = 0; - } - else - Resize(GetSize()); - } - - // Optimization note: try to minimize the size of this function for force inline. - // Expansion is run very infrequently, so it is moved to another (probably non-inline) function. - template - RAPIDJSON_FORCEINLINE void Reserve(size_t count = 1) { - // Expand the stack if needed - if (RAPIDJSON_UNLIKELY(static_cast(sizeof(T) * count) > (stackEnd_ - stackTop_))) - Expand(count); - } - - template - RAPIDJSON_FORCEINLINE T* Push(size_t count = 1) { - Reserve(count); - return PushUnsafe(count); - } - - template - RAPIDJSON_FORCEINLINE T* PushUnsafe(size_t count = 1) { - RAPIDJSON_ASSERT(stackTop_); - RAPIDJSON_ASSERT(static_cast(sizeof(T) * count) <= (stackEnd_ - stackTop_)); - T* ret = reinterpret_cast(stackTop_); - stackTop_ += sizeof(T) * count; - return ret; - } - - template - T* Pop(size_t count) { - RAPIDJSON_ASSERT(GetSize() >= count * sizeof(T)); - stackTop_ -= count * sizeof(T); - return reinterpret_cast(stackTop_); - } - - template - T* Top() { - RAPIDJSON_ASSERT(GetSize() >= sizeof(T)); - return reinterpret_cast(stackTop_ - sizeof(T)); - } - - template - const T* Top() const { - RAPIDJSON_ASSERT(GetSize() >= sizeof(T)); - return reinterpret_cast(stackTop_ - sizeof(T)); - } - - template - T* End() { return reinterpret_cast(stackTop_); } - - template - const T* End() const { return reinterpret_cast(stackTop_); } - - template - T* Bottom() { return reinterpret_cast(stack_); } - - template - const T* Bottom() const { return reinterpret_cast(stack_); } - - bool HasAllocator() const { - return allocator_ != 0; - } - - Allocator& GetAllocator() { - RAPIDJSON_ASSERT(allocator_); - return *allocator_; - } - - bool Empty() const { return stackTop_ == stack_; } - size_t GetSize() const { return static_cast(stackTop_ - stack_); } - size_t GetCapacity() const { return static_cast(stackEnd_ - stack_); } - -private: - template - void Expand(size_t count) { - // Only expand the capacity if the current stack exists. Otherwise just create a stack with initial capacity. - size_t newCapacity; - if (stack_ == 0) { - if (!allocator_) - ownAllocator_ = allocator_ = RAPIDJSON_NEW(Allocator)(); - newCapacity = initialCapacity_; - } else { - newCapacity = GetCapacity(); - newCapacity += (newCapacity + 1) / 2; - } - size_t newSize = GetSize() + sizeof(T) * count; - if (newCapacity < newSize) - newCapacity = newSize; - - Resize(newCapacity); - } - - void Resize(size_t newCapacity) { - const size_t size = GetSize(); // Backup the current size - stack_ = static_cast(allocator_->Realloc(stack_, GetCapacity(), newCapacity)); - stackTop_ = stack_ + size; - stackEnd_ = stack_ + newCapacity; - } - - void Destroy() { - Allocator::Free(stack_); - RAPIDJSON_DELETE(ownAllocator_); // Only delete if it is owned by the stack - } - - // Prohibit copy constructor & assignment operator. - Stack(const Stack&); - Stack& operator=(const Stack&); - - Allocator* allocator_; - Allocator* ownAllocator_; - char *stack_; - char *stackTop_; - char *stackEnd_; - size_t initialCapacity_; -}; - -} // namespace internal -RAPIDJSON_NAMESPACE_END - -#if defined(__clang__) -RAPIDJSON_DIAG_POP -#endif - -#endif // RAPIDJSON_STACK_H_ diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/internal/strfunc.h b/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/internal/strfunc.h deleted file mode 100644 index 226439a767..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/internal/strfunc.h +++ /dev/null @@ -1,69 +0,0 @@ -// Tencent is pleased to support the open source community by making RapidJSON available. -// -// Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. -// -// Licensed under the MIT License (the "License"); you may not use this file except -// in compliance with the License. You may obtain a copy of the License at -// -// http://opensource.org/licenses/MIT -// -// Unless required by applicable law or agreed to in writing, software distributed -// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -// CONDITIONS OF ANY KIND, either express or implied. See the License for the -// specific language governing permissions and limitations under the License. - -#ifndef RAPIDJSON_INTERNAL_STRFUNC_H_ -#define RAPIDJSON_INTERNAL_STRFUNC_H_ - -#include "../stream.h" -#include - -RAPIDJSON_NAMESPACE_BEGIN -namespace internal { - -//! Custom strlen() which works on different character types. -/*! \tparam Ch Character type (e.g. char, wchar_t, short) - \param s Null-terminated input string. - \return Number of characters in the string. - \note This has the same semantics as strlen(), the return value is not number of Unicode codepoints. -*/ -template -inline SizeType StrLen(const Ch* s) { - RAPIDJSON_ASSERT(s != 0); - const Ch* p = s; - while (*p) ++p; - return SizeType(p - s); -} - -template <> -inline SizeType StrLen(const char* s) { - return SizeType(std::strlen(s)); -} - -template <> -inline SizeType StrLen(const wchar_t* s) { - return SizeType(std::wcslen(s)); -} - -//! Returns number of code points in a encoded string. -template -bool CountStringCodePoint(const typename Encoding::Ch* s, SizeType length, SizeType* outCount) { - RAPIDJSON_ASSERT(s != 0); - RAPIDJSON_ASSERT(outCount != 0); - GenericStringStream is(s); - const typename Encoding::Ch* end = s + length; - SizeType count = 0; - while (is.src_ < end) { - unsigned codepoint; - if (!Encoding::Decode(is, &codepoint)) - return false; - count++; - } - *outCount = count; - return true; -} - -} // namespace internal -RAPIDJSON_NAMESPACE_END - -#endif // RAPIDJSON_INTERNAL_STRFUNC_H_ diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/internal/strtod.h b/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/internal/strtod.h deleted file mode 100644 index dfca22b65a..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/internal/strtod.h +++ /dev/null @@ -1,290 +0,0 @@ -// Tencent is pleased to support the open source community by making RapidJSON available. -// -// Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. -// -// Licensed under the MIT License (the "License"); you may not use this file except -// in compliance with the License. You may obtain a copy of the License at -// -// http://opensource.org/licenses/MIT -// -// Unless required by applicable law or agreed to in writing, software distributed -// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -// CONDITIONS OF ANY KIND, either express or implied. See the License for the -// specific language governing permissions and limitations under the License. - -#ifndef RAPIDJSON_STRTOD_ -#define RAPIDJSON_STRTOD_ - -#include "ieee754.h" -#include "biginteger.h" -#include "diyfp.h" -#include "pow10.h" -#include -#include - -RAPIDJSON_NAMESPACE_BEGIN -namespace internal { - -inline double FastPath(double significand, int exp) { - if (exp < -308) - return 0.0; - else if (exp >= 0) - return significand * internal::Pow10(exp); - else - return significand / internal::Pow10(-exp); -} - -inline double StrtodNormalPrecision(double d, int p) { - if (p < -308) { - // Prevent expSum < -308, making Pow10(p) = 0 - d = FastPath(d, -308); - d = FastPath(d, p + 308); - } - else - d = FastPath(d, p); - return d; -} - -template -inline T Min3(T a, T b, T c) { - T m = a; - if (m > b) m = b; - if (m > c) m = c; - return m; -} - -inline int CheckWithinHalfULP(double b, const BigInteger& d, int dExp) { - const Double db(b); - const uint64_t bInt = db.IntegerSignificand(); - const int bExp = db.IntegerExponent(); - const int hExp = bExp - 1; - - int dS_Exp2 = 0, dS_Exp5 = 0, bS_Exp2 = 0, bS_Exp5 = 0, hS_Exp2 = 0, hS_Exp5 = 0; - - // Adjust for decimal exponent - if (dExp >= 0) { - dS_Exp2 += dExp; - dS_Exp5 += dExp; - } - else { - bS_Exp2 -= dExp; - bS_Exp5 -= dExp; - hS_Exp2 -= dExp; - hS_Exp5 -= dExp; - } - - // Adjust for binary exponent - if (bExp >= 0) - bS_Exp2 += bExp; - else { - dS_Exp2 -= bExp; - hS_Exp2 -= bExp; - } - - // Adjust for half ulp exponent - if (hExp >= 0) - hS_Exp2 += hExp; - else { - dS_Exp2 -= hExp; - bS_Exp2 -= hExp; - } - - // Remove common power of two factor from all three scaled values - int common_Exp2 = Min3(dS_Exp2, bS_Exp2, hS_Exp2); - dS_Exp2 -= common_Exp2; - bS_Exp2 -= common_Exp2; - hS_Exp2 -= common_Exp2; - - BigInteger dS = d; - dS.MultiplyPow5(static_cast(dS_Exp5)) <<= static_cast(dS_Exp2); - - BigInteger bS(bInt); - bS.MultiplyPow5(static_cast(bS_Exp5)) <<= static_cast(bS_Exp2); - - BigInteger hS(1); - hS.MultiplyPow5(static_cast(hS_Exp5)) <<= static_cast(hS_Exp2); - - BigInteger delta(0); - dS.Difference(bS, &delta); - - return delta.Compare(hS); -} - -inline bool StrtodFast(double d, int p, double* result) { - // Use fast path for string-to-double conversion if possible - // see http://www.exploringbinary.com/fast-path-decimal-to-floating-point-conversion/ - if (p > 22 && p < 22 + 16) { - // Fast Path Cases In Disguise - d *= internal::Pow10(p - 22); - p = 22; - } - - if (p >= -22 && p <= 22 && d <= 9007199254740991.0) { // 2^53 - 1 - *result = FastPath(d, p); - return true; - } - else - return false; -} - -// Compute an approximation and see if it is within 1/2 ULP -inline bool StrtodDiyFp(const char* decimals, int dLen, int dExp, double* result) { - uint64_t significand = 0; - int i = 0; // 2^64 - 1 = 18446744073709551615, 1844674407370955161 = 0x1999999999999999 - for (; i < dLen; i++) { - if (significand > RAPIDJSON_UINT64_C2(0x19999999, 0x99999999) || - (significand == RAPIDJSON_UINT64_C2(0x19999999, 0x99999999) && decimals[i] > '5')) - break; - significand = significand * 10u + static_cast(decimals[i] - '0'); - } - - if (i < dLen && decimals[i] >= '5') // Rounding - significand++; - - int remaining = dLen - i; - const int kUlpShift = 3; - const int kUlp = 1 << kUlpShift; - int64_t error = (remaining == 0) ? 0 : kUlp / 2; - - DiyFp v(significand, 0); - v = v.Normalize(); - error <<= -v.e; - - dExp += remaining; - - int actualExp; - DiyFp cachedPower = GetCachedPower10(dExp, &actualExp); - if (actualExp != dExp) { - static const DiyFp kPow10[] = { - DiyFp(RAPIDJSON_UINT64_C2(0xa0000000, 0x00000000), -60), // 10^1 - DiyFp(RAPIDJSON_UINT64_C2(0xc8000000, 0x00000000), -57), // 10^2 - DiyFp(RAPIDJSON_UINT64_C2(0xfa000000, 0x00000000), -54), // 10^3 - DiyFp(RAPIDJSON_UINT64_C2(0x9c400000, 0x00000000), -50), // 10^4 - DiyFp(RAPIDJSON_UINT64_C2(0xc3500000, 0x00000000), -47), // 10^5 - DiyFp(RAPIDJSON_UINT64_C2(0xf4240000, 0x00000000), -44), // 10^6 - DiyFp(RAPIDJSON_UINT64_C2(0x98968000, 0x00000000), -40) // 10^7 - }; - int adjustment = dExp - actualExp; - RAPIDJSON_ASSERT(adjustment >= 1 && adjustment < 8); - v = v * kPow10[adjustment - 1]; - if (dLen + adjustment > 19) // has more digits than decimal digits in 64-bit - error += kUlp / 2; - } - - v = v * cachedPower; - - error += kUlp + (error == 0 ? 0 : 1); - - const int oldExp = v.e; - v = v.Normalize(); - error <<= oldExp - v.e; - - const int effectiveSignificandSize = Double::EffectiveSignificandSize(64 + v.e); - int precisionSize = 64 - effectiveSignificandSize; - if (precisionSize + kUlpShift >= 64) { - int scaleExp = (precisionSize + kUlpShift) - 63; - v.f >>= scaleExp; - v.e += scaleExp; - error = (error >> scaleExp) + 1 + kUlp; - precisionSize -= scaleExp; - } - - DiyFp rounded(v.f >> precisionSize, v.e + precisionSize); - const uint64_t precisionBits = (v.f & ((uint64_t(1) << precisionSize) - 1)) * kUlp; - const uint64_t halfWay = (uint64_t(1) << (precisionSize - 1)) * kUlp; - if (precisionBits >= halfWay + static_cast(error)) { - rounded.f++; - if (rounded.f & (DiyFp::kDpHiddenBit << 1)) { // rounding overflows mantissa (issue #340) - rounded.f >>= 1; - rounded.e++; - } - } - - *result = rounded.ToDouble(); - - return halfWay - static_cast(error) >= precisionBits || precisionBits >= halfWay + static_cast(error); -} - -inline double StrtodBigInteger(double approx, const char* decimals, int dLen, int dExp) { - RAPIDJSON_ASSERT(dLen >= 0); - const BigInteger dInt(decimals, static_cast(dLen)); - Double a(approx); - int cmp = CheckWithinHalfULP(a.Value(), dInt, dExp); - if (cmp < 0) - return a.Value(); // within half ULP - else if (cmp == 0) { - // Round towards even - if (a.Significand() & 1) - return a.NextPositiveDouble(); - else - return a.Value(); - } - else // adjustment - return a.NextPositiveDouble(); -} - -inline double StrtodFullPrecision(double d, int p, const char* decimals, size_t length, size_t decimalPosition, int exp) { - RAPIDJSON_ASSERT(d >= 0.0); - RAPIDJSON_ASSERT(length >= 1); - - double result = 0.0; - if (StrtodFast(d, p, &result)) - return result; - - RAPIDJSON_ASSERT(length <= INT_MAX); - int dLen = static_cast(length); - - RAPIDJSON_ASSERT(length >= decimalPosition); - RAPIDJSON_ASSERT(length - decimalPosition <= INT_MAX); - int dExpAdjust = static_cast(length - decimalPosition); - - RAPIDJSON_ASSERT(exp >= INT_MIN + dExpAdjust); - int dExp = exp - dExpAdjust; - - // Make sure length+dExp does not overflow - RAPIDJSON_ASSERT(dExp <= INT_MAX - dLen); - - // Trim leading zeros - while (dLen > 0 && *decimals == '0') { - dLen--; - decimals++; - } - - // Trim trailing zeros - while (dLen > 0 && decimals[dLen - 1] == '0') { - dLen--; - dExp++; - } - - if (dLen == 0) { // Buffer only contains zeros. - return 0.0; - } - - // Trim right-most digits - const int kMaxDecimalDigit = 767 + 1; - if (dLen > kMaxDecimalDigit) { - dExp += dLen - kMaxDecimalDigit; - dLen = kMaxDecimalDigit; - } - - // If too small, underflow to zero. - // Any x <= 10^-324 is interpreted as zero. - if (dLen + dExp <= -324) - return 0.0; - - // If too large, overflow to infinity. - // Any x >= 10^309 is interpreted as +infinity. - if (dLen + dExp > 309) - return std::numeric_limits::infinity(); - - if (StrtodDiyFp(decimals, dLen, dExp, &result)) - return result; - - // Use approximation from StrtodDiyFp and make adjustment with BigInteger comparison - return StrtodBigInteger(result, decimals, dLen, dExp); -} - -} // namespace internal -RAPIDJSON_NAMESPACE_END - -#endif // RAPIDJSON_STRTOD_ diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/internal/swap.h b/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/internal/swap.h deleted file mode 100644 index 666e49f97b..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/internal/swap.h +++ /dev/null @@ -1,46 +0,0 @@ -// Tencent is pleased to support the open source community by making RapidJSON available. -// -// Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. -// -// Licensed under the MIT License (the "License"); you may not use this file except -// in compliance with the License. You may obtain a copy of the License at -// -// http://opensource.org/licenses/MIT -// -// Unless required by applicable law or agreed to in writing, software distributed -// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -// CONDITIONS OF ANY KIND, either express or implied. See the License for the -// specific language governing permissions and limitations under the License. - -#ifndef RAPIDJSON_INTERNAL_SWAP_H_ -#define RAPIDJSON_INTERNAL_SWAP_H_ - -#include "../rapidjson.h" - -#if defined(__clang__) -RAPIDJSON_DIAG_PUSH -RAPIDJSON_DIAG_OFF(c++98-compat) -#endif - -RAPIDJSON_NAMESPACE_BEGIN -namespace internal { - -//! Custom swap() to avoid dependency on C++ header -/*! \tparam T Type of the arguments to swap, should be instantiated with primitive C++ types only. - \note This has the same semantics as std::swap(). -*/ -template -inline void Swap(T& a, T& b) RAPIDJSON_NOEXCEPT { - T tmp = a; - a = b; - b = tmp; -} - -} // namespace internal -RAPIDJSON_NAMESPACE_END - -#if defined(__clang__) -RAPIDJSON_DIAG_POP -#endif - -#endif // RAPIDJSON_INTERNAL_SWAP_H_ diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/istreamwrapper.h b/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/istreamwrapper.h deleted file mode 100644 index c4950b9dcf..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/istreamwrapper.h +++ /dev/null @@ -1,128 +0,0 @@ -// Tencent is pleased to support the open source community by making RapidJSON available. -// -// Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. -// -// Licensed under the MIT License (the "License"); you may not use this file except -// in compliance with the License. You may obtain a copy of the License at -// -// http://opensource.org/licenses/MIT -// -// Unless required by applicable law or agreed to in writing, software distributed -// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -// CONDITIONS OF ANY KIND, either express or implied. See the License for the -// specific language governing permissions and limitations under the License. - -#ifndef RAPIDJSON_ISTREAMWRAPPER_H_ -#define RAPIDJSON_ISTREAMWRAPPER_H_ - -#include "stream.h" -#include -#include - -#ifdef __clang__ -RAPIDJSON_DIAG_PUSH -RAPIDJSON_DIAG_OFF(padded) -#elif defined(_MSC_VER) -RAPIDJSON_DIAG_PUSH -RAPIDJSON_DIAG_OFF(4351) // new behavior: elements of array 'array' will be default initialized -#endif - -RAPIDJSON_NAMESPACE_BEGIN - -//! Wrapper of \c std::basic_istream into RapidJSON's Stream concept. -/*! - The classes can be wrapped including but not limited to: - - - \c std::istringstream - - \c std::stringstream - - \c std::wistringstream - - \c std::wstringstream - - \c std::ifstream - - \c std::fstream - - \c std::wifstream - - \c std::wfstream - - \tparam StreamType Class derived from \c std::basic_istream. -*/ - -template -class BasicIStreamWrapper { -public: - typedef typename StreamType::char_type Ch; - - //! Constructor. - /*! - \param stream stream opened for read. - */ - BasicIStreamWrapper(StreamType &stream) : stream_(stream), buffer_(peekBuffer_), bufferSize_(4), bufferLast_(0), current_(buffer_), readCount_(0), count_(0), eof_(false) { - Read(); - } - - //! Constructor. - /*! - \param stream stream opened for read. - \param buffer user-supplied buffer. - \param bufferSize size of buffer in bytes. Must >=4 bytes. - */ - BasicIStreamWrapper(StreamType &stream, char* buffer, size_t bufferSize) : stream_(stream), buffer_(buffer), bufferSize_(bufferSize), bufferLast_(0), current_(buffer_), readCount_(0), count_(0), eof_(false) { - RAPIDJSON_ASSERT(bufferSize >= 4); - Read(); - } - - Ch Peek() const { return *current_; } - Ch Take() { Ch c = *current_; Read(); return c; } - size_t Tell() const { return count_ + static_cast(current_ - buffer_); } - - // Not implemented - void Put(Ch) { RAPIDJSON_ASSERT(false); } - void Flush() { RAPIDJSON_ASSERT(false); } - Ch* PutBegin() { RAPIDJSON_ASSERT(false); return 0; } - size_t PutEnd(Ch*) { RAPIDJSON_ASSERT(false); return 0; } - - // For encoding detection only. - const Ch* Peek4() const { - return (current_ + 4 - !eof_ <= bufferLast_) ? current_ : 0; - } - -private: - BasicIStreamWrapper(); - BasicIStreamWrapper(const BasicIStreamWrapper&); - BasicIStreamWrapper& operator=(const BasicIStreamWrapper&); - - void Read() { - if (current_ < bufferLast_) - ++current_; - else if (!eof_) { - count_ += readCount_; - readCount_ = bufferSize_; - bufferLast_ = buffer_ + readCount_ - 1; - current_ = buffer_; - - if (!stream_.read(buffer_, static_cast(bufferSize_))) { - readCount_ = static_cast(stream_.gcount()); - *(bufferLast_ = buffer_ + readCount_) = '\0'; - eof_ = true; - } - } - } - - StreamType &stream_; - Ch peekBuffer_[4], *buffer_; - size_t bufferSize_; - Ch *bufferLast_; - Ch *current_; - size_t readCount_; - size_t count_; //!< Number of characters read - bool eof_; -}; - -typedef BasicIStreamWrapper IStreamWrapper; -typedef BasicIStreamWrapper WIStreamWrapper; - -#if defined(__clang__) || defined(_MSC_VER) -RAPIDJSON_DIAG_POP -#endif - -RAPIDJSON_NAMESPACE_END - -#endif // RAPIDJSON_ISTREAMWRAPPER_H_ diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/memorybuffer.h b/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/memorybuffer.h deleted file mode 100644 index 39bee1dec1..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/memorybuffer.h +++ /dev/null @@ -1,70 +0,0 @@ -// Tencent is pleased to support the open source community by making RapidJSON available. -// -// Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. -// -// Licensed under the MIT License (the "License"); you may not use this file except -// in compliance with the License. You may obtain a copy of the License at -// -// http://opensource.org/licenses/MIT -// -// Unless required by applicable law or agreed to in writing, software distributed -// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -// CONDITIONS OF ANY KIND, either express or implied. See the License for the -// specific language governing permissions and limitations under the License. - -#ifndef RAPIDJSON_MEMORYBUFFER_H_ -#define RAPIDJSON_MEMORYBUFFER_H_ - -#include "stream.h" -#include "internal/stack.h" - -RAPIDJSON_NAMESPACE_BEGIN - -//! Represents an in-memory output byte stream. -/*! - This class is mainly for being wrapped by EncodedOutputStream or AutoUTFOutputStream. - - It is similar to FileWriteBuffer but the destination is an in-memory buffer instead of a file. - - Differences between MemoryBuffer and StringBuffer: - 1. StringBuffer has Encoding but MemoryBuffer is only a byte buffer. - 2. StringBuffer::GetString() returns a null-terminated string. MemoryBuffer::GetBuffer() returns a buffer without terminator. - - \tparam Allocator type for allocating memory buffer. - \note implements Stream concept -*/ -template -struct GenericMemoryBuffer { - typedef char Ch; // byte - - GenericMemoryBuffer(Allocator* allocator = 0, size_t capacity = kDefaultCapacity) : stack_(allocator, capacity) {} - - void Put(Ch c) { *stack_.template Push() = c; } - void Flush() {} - - void Clear() { stack_.Clear(); } - void ShrinkToFit() { stack_.ShrinkToFit(); } - Ch* Push(size_t count) { return stack_.template Push(count); } - void Pop(size_t count) { stack_.template Pop(count); } - - const Ch* GetBuffer() const { - return stack_.template Bottom(); - } - - size_t GetSize() const { return stack_.GetSize(); } - - static const size_t kDefaultCapacity = 256; - mutable internal::Stack stack_; -}; - -typedef GenericMemoryBuffer<> MemoryBuffer; - -//! Implement specialized version of PutN() with memset() for better performance. -template<> -inline void PutN(MemoryBuffer& memoryBuffer, char c, size_t n) { - std::memset(memoryBuffer.stack_.Push(n), c, n * sizeof(c)); -} - -RAPIDJSON_NAMESPACE_END - -#endif // RAPIDJSON_MEMORYBUFFER_H_ diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/memorystream.h b/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/memorystream.h deleted file mode 100644 index 1d71d8a4f0..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/memorystream.h +++ /dev/null @@ -1,71 +0,0 @@ -// Tencent is pleased to support the open source community by making RapidJSON available. -// -// Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. -// -// Licensed under the MIT License (the "License"); you may not use this file except -// in compliance with the License. You may obtain a copy of the License at -// -// http://opensource.org/licenses/MIT -// -// Unless required by applicable law or agreed to in writing, software distributed -// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -// CONDITIONS OF ANY KIND, either express or implied. See the License for the -// specific language governing permissions and limitations under the License. - -#ifndef RAPIDJSON_MEMORYSTREAM_H_ -#define RAPIDJSON_MEMORYSTREAM_H_ - -#include "stream.h" - -#ifdef __clang__ -RAPIDJSON_DIAG_PUSH -RAPIDJSON_DIAG_OFF(unreachable-code) -RAPIDJSON_DIAG_OFF(missing-noreturn) -#endif - -RAPIDJSON_NAMESPACE_BEGIN - -//! Represents an in-memory input byte stream. -/*! - This class is mainly for being wrapped by EncodedInputStream or AutoUTFInputStream. - - It is similar to FileReadBuffer but the source is an in-memory buffer instead of a file. - - Differences between MemoryStream and StringStream: - 1. StringStream has encoding but MemoryStream is a byte stream. - 2. MemoryStream needs size of the source buffer and the buffer don't need to be null terminated. StringStream assume null-terminated string as source. - 3. MemoryStream supports Peek4() for encoding detection. StringStream is specified with an encoding so it should not have Peek4(). - \note implements Stream concept -*/ -struct MemoryStream { - typedef char Ch; // byte - - MemoryStream(const Ch *src, size_t size) : src_(src), begin_(src), end_(src + size), size_(size) {} - - Ch Peek() const { return RAPIDJSON_UNLIKELY(src_ == end_) ? '\0' : *src_; } - Ch Take() { return RAPIDJSON_UNLIKELY(src_ == end_) ? '\0' : *src_++; } - size_t Tell() const { return static_cast(src_ - begin_); } - - Ch* PutBegin() { RAPIDJSON_ASSERT(false); return 0; } - void Put(Ch) { RAPIDJSON_ASSERT(false); } - void Flush() { RAPIDJSON_ASSERT(false); } - size_t PutEnd(Ch*) { RAPIDJSON_ASSERT(false); return 0; } - - // For encoding detection only. - const Ch* Peek4() const { - return Tell() + 4 <= size_ ? src_ : 0; - } - - const Ch* src_; //!< Current read position. - const Ch* begin_; //!< Original head of the string. - const Ch* end_; //!< End of stream. - size_t size_; //!< Size of the stream. -}; - -RAPIDJSON_NAMESPACE_END - -#ifdef __clang__ -RAPIDJSON_DIAG_POP -#endif - -#endif // RAPIDJSON_MEMORYBUFFER_H_ diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/msinttypes/inttypes.h b/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/msinttypes/inttypes.h deleted file mode 100644 index 18111286bf..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/msinttypes/inttypes.h +++ /dev/null @@ -1,316 +0,0 @@ -// ISO C9x compliant inttypes.h for Microsoft Visual Studio -// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124 -// -// Copyright (c) 2006-2013 Alexander Chemeris -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are met: -// -// 1. Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the product nor the names of its contributors may -// be used to endorse or promote products derived from this software -// without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED -// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -/////////////////////////////////////////////////////////////////////////////// - -// The above software in this distribution may have been modified by -// THL A29 Limited ("Tencent Modifications"). -// All Tencent Modifications are Copyright (C) 2015 THL A29 Limited. - -#ifndef _MSC_VER // [ -#error "Use this header only with Microsoft Visual C++ compilers!" -#endif // _MSC_VER ] - -#ifndef _MSC_INTTYPES_H_ // [ -#define _MSC_INTTYPES_H_ - -#if _MSC_VER > 1000 -#pragma once -#endif - -#include "stdint.h" - -// miloyip: VC supports inttypes.h since VC2013 -#if _MSC_VER >= 1800 -#include -#else - -// 7.8 Format conversion of integer types - -typedef struct { - intmax_t quot; - intmax_t rem; -} imaxdiv_t; - -// 7.8.1 Macros for format specifiers - -#if !defined(__cplusplus) || defined(__STDC_FORMAT_MACROS) // [ See footnote 185 at page 198 - -// The fprintf macros for signed integers are: -#define PRId8 "d" -#define PRIi8 "i" -#define PRIdLEAST8 "d" -#define PRIiLEAST8 "i" -#define PRIdFAST8 "d" -#define PRIiFAST8 "i" - -#define PRId16 "hd" -#define PRIi16 "hi" -#define PRIdLEAST16 "hd" -#define PRIiLEAST16 "hi" -#define PRIdFAST16 "hd" -#define PRIiFAST16 "hi" - -#define PRId32 "I32d" -#define PRIi32 "I32i" -#define PRIdLEAST32 "I32d" -#define PRIiLEAST32 "I32i" -#define PRIdFAST32 "I32d" -#define PRIiFAST32 "I32i" - -#define PRId64 "I64d" -#define PRIi64 "I64i" -#define PRIdLEAST64 "I64d" -#define PRIiLEAST64 "I64i" -#define PRIdFAST64 "I64d" -#define PRIiFAST64 "I64i" - -#define PRIdMAX "I64d" -#define PRIiMAX "I64i" - -#define PRIdPTR "Id" -#define PRIiPTR "Ii" - -// The fprintf macros for unsigned integers are: -#define PRIo8 "o" -#define PRIu8 "u" -#define PRIx8 "x" -#define PRIX8 "X" -#define PRIoLEAST8 "o" -#define PRIuLEAST8 "u" -#define PRIxLEAST8 "x" -#define PRIXLEAST8 "X" -#define PRIoFAST8 "o" -#define PRIuFAST8 "u" -#define PRIxFAST8 "x" -#define PRIXFAST8 "X" - -#define PRIo16 "ho" -#define PRIu16 "hu" -#define PRIx16 "hx" -#define PRIX16 "hX" -#define PRIoLEAST16 "ho" -#define PRIuLEAST16 "hu" -#define PRIxLEAST16 "hx" -#define PRIXLEAST16 "hX" -#define PRIoFAST16 "ho" -#define PRIuFAST16 "hu" -#define PRIxFAST16 "hx" -#define PRIXFAST16 "hX" - -#define PRIo32 "I32o" -#define PRIu32 "I32u" -#define PRIx32 "I32x" -#define PRIX32 "I32X" -#define PRIoLEAST32 "I32o" -#define PRIuLEAST32 "I32u" -#define PRIxLEAST32 "I32x" -#define PRIXLEAST32 "I32X" -#define PRIoFAST32 "I32o" -#define PRIuFAST32 "I32u" -#define PRIxFAST32 "I32x" -#define PRIXFAST32 "I32X" - -#define PRIo64 "I64o" -#define PRIu64 "I64u" -#define PRIx64 "I64x" -#define PRIX64 "I64X" -#define PRIoLEAST64 "I64o" -#define PRIuLEAST64 "I64u" -#define PRIxLEAST64 "I64x" -#define PRIXLEAST64 "I64X" -#define PRIoFAST64 "I64o" -#define PRIuFAST64 "I64u" -#define PRIxFAST64 "I64x" -#define PRIXFAST64 "I64X" - -#define PRIoMAX "I64o" -#define PRIuMAX "I64u" -#define PRIxMAX "I64x" -#define PRIXMAX "I64X" - -#define PRIoPTR "Io" -#define PRIuPTR "Iu" -#define PRIxPTR "Ix" -#define PRIXPTR "IX" - -// The fscanf macros for signed integers are: -#define SCNd8 "d" -#define SCNi8 "i" -#define SCNdLEAST8 "d" -#define SCNiLEAST8 "i" -#define SCNdFAST8 "d" -#define SCNiFAST8 "i" - -#define SCNd16 "hd" -#define SCNi16 "hi" -#define SCNdLEAST16 "hd" -#define SCNiLEAST16 "hi" -#define SCNdFAST16 "hd" -#define SCNiFAST16 "hi" - -#define SCNd32 "ld" -#define SCNi32 "li" -#define SCNdLEAST32 "ld" -#define SCNiLEAST32 "li" -#define SCNdFAST32 "ld" -#define SCNiFAST32 "li" - -#define SCNd64 "I64d" -#define SCNi64 "I64i" -#define SCNdLEAST64 "I64d" -#define SCNiLEAST64 "I64i" -#define SCNdFAST64 "I64d" -#define SCNiFAST64 "I64i" - -#define SCNdMAX "I64d" -#define SCNiMAX "I64i" - -#ifdef _WIN64 // [ -# define SCNdPTR "I64d" -# define SCNiPTR "I64i" -#else // _WIN64 ][ -# define SCNdPTR "ld" -# define SCNiPTR "li" -#endif // _WIN64 ] - -// The fscanf macros for unsigned integers are: -#define SCNo8 "o" -#define SCNu8 "u" -#define SCNx8 "x" -#define SCNX8 "X" -#define SCNoLEAST8 "o" -#define SCNuLEAST8 "u" -#define SCNxLEAST8 "x" -#define SCNXLEAST8 "X" -#define SCNoFAST8 "o" -#define SCNuFAST8 "u" -#define SCNxFAST8 "x" -#define SCNXFAST8 "X" - -#define SCNo16 "ho" -#define SCNu16 "hu" -#define SCNx16 "hx" -#define SCNX16 "hX" -#define SCNoLEAST16 "ho" -#define SCNuLEAST16 "hu" -#define SCNxLEAST16 "hx" -#define SCNXLEAST16 "hX" -#define SCNoFAST16 "ho" -#define SCNuFAST16 "hu" -#define SCNxFAST16 "hx" -#define SCNXFAST16 "hX" - -#define SCNo32 "lo" -#define SCNu32 "lu" -#define SCNx32 "lx" -#define SCNX32 "lX" -#define SCNoLEAST32 "lo" -#define SCNuLEAST32 "lu" -#define SCNxLEAST32 "lx" -#define SCNXLEAST32 "lX" -#define SCNoFAST32 "lo" -#define SCNuFAST32 "lu" -#define SCNxFAST32 "lx" -#define SCNXFAST32 "lX" - -#define SCNo64 "I64o" -#define SCNu64 "I64u" -#define SCNx64 "I64x" -#define SCNX64 "I64X" -#define SCNoLEAST64 "I64o" -#define SCNuLEAST64 "I64u" -#define SCNxLEAST64 "I64x" -#define SCNXLEAST64 "I64X" -#define SCNoFAST64 "I64o" -#define SCNuFAST64 "I64u" -#define SCNxFAST64 "I64x" -#define SCNXFAST64 "I64X" - -#define SCNoMAX "I64o" -#define SCNuMAX "I64u" -#define SCNxMAX "I64x" -#define SCNXMAX "I64X" - -#ifdef _WIN64 // [ -# define SCNoPTR "I64o" -# define SCNuPTR "I64u" -# define SCNxPTR "I64x" -# define SCNXPTR "I64X" -#else // _WIN64 ][ -# define SCNoPTR "lo" -# define SCNuPTR "lu" -# define SCNxPTR "lx" -# define SCNXPTR "lX" -#endif // _WIN64 ] - -#endif // __STDC_FORMAT_MACROS ] - -// 7.8.2 Functions for greatest-width integer types - -// 7.8.2.1 The imaxabs function -#define imaxabs _abs64 - -// 7.8.2.2 The imaxdiv function - -// This is modified version of div() function from Microsoft's div.c found -// in %MSVC.NET%\crt\src\div.c -#ifdef STATIC_IMAXDIV // [ -static -#else // STATIC_IMAXDIV ][ -_inline -#endif // STATIC_IMAXDIV ] -imaxdiv_t __cdecl imaxdiv(intmax_t numer, intmax_t denom) -{ - imaxdiv_t result; - - result.quot = numer / denom; - result.rem = numer % denom; - - if (numer < 0 && result.rem > 0) { - // did division wrong; must fix up - ++result.quot; - result.rem -= denom; - } - - return result; -} - -// 7.8.2.3 The strtoimax and strtoumax functions -#define strtoimax _strtoi64 -#define strtoumax _strtoui64 - -// 7.8.2.4 The wcstoimax and wcstoumax functions -#define wcstoimax _wcstoi64 -#define wcstoumax _wcstoui64 - -#endif // _MSC_VER >= 1800 - -#endif // _MSC_INTTYPES_H_ ] diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/msinttypes/stdint.h b/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/msinttypes/stdint.h deleted file mode 100644 index 3d4477b9a0..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/msinttypes/stdint.h +++ /dev/null @@ -1,300 +0,0 @@ -// ISO C9x compliant stdint.h for Microsoft Visual Studio -// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124 -// -// Copyright (c) 2006-2013 Alexander Chemeris -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are met: -// -// 1. Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the product nor the names of its contributors may -// be used to endorse or promote products derived from this software -// without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED -// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -/////////////////////////////////////////////////////////////////////////////// - -// The above software in this distribution may have been modified by -// THL A29 Limited ("Tencent Modifications"). -// All Tencent Modifications are Copyright (C) 2015 THL A29 Limited. - -#ifndef _MSC_VER // [ -#error "Use this header only with Microsoft Visual C++ compilers!" -#endif // _MSC_VER ] - -#ifndef _MSC_STDINT_H_ // [ -#define _MSC_STDINT_H_ - -#if _MSC_VER > 1000 -#pragma once -#endif - -// miloyip: Originally Visual Studio 2010 uses its own stdint.h. However it generates warning with INT64_C(), so change to use this file for vs2010. -#if _MSC_VER >= 1600 // [ -#include - -#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) // [ See footnote 224 at page 260 - -#undef INT8_C -#undef INT16_C -#undef INT32_C -#undef INT64_C -#undef UINT8_C -#undef UINT16_C -#undef UINT32_C -#undef UINT64_C - -// 7.18.4.1 Macros for minimum-width integer constants - -#define INT8_C(val) val##i8 -#define INT16_C(val) val##i16 -#define INT32_C(val) val##i32 -#define INT64_C(val) val##i64 - -#define UINT8_C(val) val##ui8 -#define UINT16_C(val) val##ui16 -#define UINT32_C(val) val##ui32 -#define UINT64_C(val) val##ui64 - -// 7.18.4.2 Macros for greatest-width integer constants -// These #ifndef's are needed to prevent collisions with . -// Check out Issue 9 for the details. -#ifndef INTMAX_C // [ -# define INTMAX_C INT64_C -#endif // INTMAX_C ] -#ifndef UINTMAX_C // [ -# define UINTMAX_C UINT64_C -#endif // UINTMAX_C ] - -#endif // __STDC_CONSTANT_MACROS ] - -#else // ] _MSC_VER >= 1700 [ - -#include - -// For Visual Studio 6 in C++ mode and for many Visual Studio versions when -// compiling for ARM we have to wrap include with 'extern "C++" {}' -// or compiler would give many errors like this: -// error C2733: second C linkage of overloaded function 'wmemchr' not allowed -#if defined(__cplusplus) && !defined(_M_ARM) -extern "C" { -#endif -# include -#if defined(__cplusplus) && !defined(_M_ARM) -} -#endif - -// Define _W64 macros to mark types changing their size, like intptr_t. -#ifndef _W64 -# if !defined(__midl) && (defined(_X86_) || defined(_M_IX86)) && _MSC_VER >= 1300 -# define _W64 __w64 -# else -# define _W64 -# endif -#endif - - -// 7.18.1 Integer types - -// 7.18.1.1 Exact-width integer types - -// Visual Studio 6 and Embedded Visual C++ 4 doesn't -// realize that, e.g. char has the same size as __int8 -// so we give up on __intX for them. -#if (_MSC_VER < 1300) - typedef signed char int8_t; - typedef signed short int16_t; - typedef signed int int32_t; - typedef unsigned char uint8_t; - typedef unsigned short uint16_t; - typedef unsigned int uint32_t; -#else - typedef signed __int8 int8_t; - typedef signed __int16 int16_t; - typedef signed __int32 int32_t; - typedef unsigned __int8 uint8_t; - typedef unsigned __int16 uint16_t; - typedef unsigned __int32 uint32_t; -#endif -typedef signed __int64 int64_t; -typedef unsigned __int64 uint64_t; - - -// 7.18.1.2 Minimum-width integer types -typedef int8_t int_least8_t; -typedef int16_t int_least16_t; -typedef int32_t int_least32_t; -typedef int64_t int_least64_t; -typedef uint8_t uint_least8_t; -typedef uint16_t uint_least16_t; -typedef uint32_t uint_least32_t; -typedef uint64_t uint_least64_t; - -// 7.18.1.3 Fastest minimum-width integer types -typedef int8_t int_fast8_t; -typedef int16_t int_fast16_t; -typedef int32_t int_fast32_t; -typedef int64_t int_fast64_t; -typedef uint8_t uint_fast8_t; -typedef uint16_t uint_fast16_t; -typedef uint32_t uint_fast32_t; -typedef uint64_t uint_fast64_t; - -// 7.18.1.4 Integer types capable of holding object pointers -#ifdef _WIN64 // [ - typedef signed __int64 intptr_t; - typedef unsigned __int64 uintptr_t; -#else // _WIN64 ][ - typedef _W64 signed int intptr_t; - typedef _W64 unsigned int uintptr_t; -#endif // _WIN64 ] - -// 7.18.1.5 Greatest-width integer types -typedef int64_t intmax_t; -typedef uint64_t uintmax_t; - - -// 7.18.2 Limits of specified-width integer types - -#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) // [ See footnote 220 at page 257 and footnote 221 at page 259 - -// 7.18.2.1 Limits of exact-width integer types -#define INT8_MIN ((int8_t)_I8_MIN) -#define INT8_MAX _I8_MAX -#define INT16_MIN ((int16_t)_I16_MIN) -#define INT16_MAX _I16_MAX -#define INT32_MIN ((int32_t)_I32_MIN) -#define INT32_MAX _I32_MAX -#define INT64_MIN ((int64_t)_I64_MIN) -#define INT64_MAX _I64_MAX -#define UINT8_MAX _UI8_MAX -#define UINT16_MAX _UI16_MAX -#define UINT32_MAX _UI32_MAX -#define UINT64_MAX _UI64_MAX - -// 7.18.2.2 Limits of minimum-width integer types -#define INT_LEAST8_MIN INT8_MIN -#define INT_LEAST8_MAX INT8_MAX -#define INT_LEAST16_MIN INT16_MIN -#define INT_LEAST16_MAX INT16_MAX -#define INT_LEAST32_MIN INT32_MIN -#define INT_LEAST32_MAX INT32_MAX -#define INT_LEAST64_MIN INT64_MIN -#define INT_LEAST64_MAX INT64_MAX -#define UINT_LEAST8_MAX UINT8_MAX -#define UINT_LEAST16_MAX UINT16_MAX -#define UINT_LEAST32_MAX UINT32_MAX -#define UINT_LEAST64_MAX UINT64_MAX - -// 7.18.2.3 Limits of fastest minimum-width integer types -#define INT_FAST8_MIN INT8_MIN -#define INT_FAST8_MAX INT8_MAX -#define INT_FAST16_MIN INT16_MIN -#define INT_FAST16_MAX INT16_MAX -#define INT_FAST32_MIN INT32_MIN -#define INT_FAST32_MAX INT32_MAX -#define INT_FAST64_MIN INT64_MIN -#define INT_FAST64_MAX INT64_MAX -#define UINT_FAST8_MAX UINT8_MAX -#define UINT_FAST16_MAX UINT16_MAX -#define UINT_FAST32_MAX UINT32_MAX -#define UINT_FAST64_MAX UINT64_MAX - -// 7.18.2.4 Limits of integer types capable of holding object pointers -#ifdef _WIN64 // [ -# define INTPTR_MIN INT64_MIN -# define INTPTR_MAX INT64_MAX -# define UINTPTR_MAX UINT64_MAX -#else // _WIN64 ][ -# define INTPTR_MIN INT32_MIN -# define INTPTR_MAX INT32_MAX -# define UINTPTR_MAX UINT32_MAX -#endif // _WIN64 ] - -// 7.18.2.5 Limits of greatest-width integer types -#define INTMAX_MIN INT64_MIN -#define INTMAX_MAX INT64_MAX -#define UINTMAX_MAX UINT64_MAX - -// 7.18.3 Limits of other integer types - -#ifdef _WIN64 // [ -# define PTRDIFF_MIN _I64_MIN -# define PTRDIFF_MAX _I64_MAX -#else // _WIN64 ][ -# define PTRDIFF_MIN _I32_MIN -# define PTRDIFF_MAX _I32_MAX -#endif // _WIN64 ] - -#define SIG_ATOMIC_MIN INT_MIN -#define SIG_ATOMIC_MAX INT_MAX - -#ifndef SIZE_MAX // [ -# ifdef _WIN64 // [ -# define SIZE_MAX _UI64_MAX -# else // _WIN64 ][ -# define SIZE_MAX _UI32_MAX -# endif // _WIN64 ] -#endif // SIZE_MAX ] - -// WCHAR_MIN and WCHAR_MAX are also defined in -#ifndef WCHAR_MIN // [ -# define WCHAR_MIN 0 -#endif // WCHAR_MIN ] -#ifndef WCHAR_MAX // [ -# define WCHAR_MAX _UI16_MAX -#endif // WCHAR_MAX ] - -#define WINT_MIN 0 -#define WINT_MAX _UI16_MAX - -#endif // __STDC_LIMIT_MACROS ] - - -// 7.18.4 Limits of other integer types - -#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) // [ See footnote 224 at page 260 - -// 7.18.4.1 Macros for minimum-width integer constants - -#define INT8_C(val) val##i8 -#define INT16_C(val) val##i16 -#define INT32_C(val) val##i32 -#define INT64_C(val) val##i64 - -#define UINT8_C(val) val##ui8 -#define UINT16_C(val) val##ui16 -#define UINT32_C(val) val##ui32 -#define UINT64_C(val) val##ui64 - -// 7.18.4.2 Macros for greatest-width integer constants -// These #ifndef's are needed to prevent collisions with . -// Check out Issue 9 for the details. -#ifndef INTMAX_C // [ -# define INTMAX_C INT64_C -#endif // INTMAX_C ] -#ifndef UINTMAX_C // [ -# define UINTMAX_C UINT64_C -#endif // UINTMAX_C ] - -#endif // __STDC_CONSTANT_MACROS ] - -#endif // _MSC_VER >= 1600 ] - -#endif // _MSC_STDINT_H_ ] diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/ostreamwrapper.h b/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/ostreamwrapper.h deleted file mode 100644 index 6f4667c08a..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/ostreamwrapper.h +++ /dev/null @@ -1,81 +0,0 @@ -// Tencent is pleased to support the open source community by making RapidJSON available. -// -// Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. -// -// Licensed under the MIT License (the "License"); you may not use this file except -// in compliance with the License. You may obtain a copy of the License at -// -// http://opensource.org/licenses/MIT -// -// Unless required by applicable law or agreed to in writing, software distributed -// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -// CONDITIONS OF ANY KIND, either express or implied. See the License for the -// specific language governing permissions and limitations under the License. - -#ifndef RAPIDJSON_OSTREAMWRAPPER_H_ -#define RAPIDJSON_OSTREAMWRAPPER_H_ - -#include "stream.h" -#include - -#ifdef __clang__ -RAPIDJSON_DIAG_PUSH -RAPIDJSON_DIAG_OFF(padded) -#endif - -RAPIDJSON_NAMESPACE_BEGIN - -//! Wrapper of \c std::basic_ostream into RapidJSON's Stream concept. -/*! - The classes can be wrapped including but not limited to: - - - \c std::ostringstream - - \c std::stringstream - - \c std::wpstringstream - - \c std::wstringstream - - \c std::ifstream - - \c std::fstream - - \c std::wofstream - - \c std::wfstream - - \tparam StreamType Class derived from \c std::basic_ostream. -*/ - -template -class BasicOStreamWrapper { -public: - typedef typename StreamType::char_type Ch; - BasicOStreamWrapper(StreamType& stream) : stream_(stream) {} - - void Put(Ch c) { - stream_.put(c); - } - - void Flush() { - stream_.flush(); - } - - // Not implemented - char Peek() const { RAPIDJSON_ASSERT(false); return 0; } - char Take() { RAPIDJSON_ASSERT(false); return 0; } - size_t Tell() const { RAPIDJSON_ASSERT(false); return 0; } - char* PutBegin() { RAPIDJSON_ASSERT(false); return 0; } - size_t PutEnd(char*) { RAPIDJSON_ASSERT(false); return 0; } - -private: - BasicOStreamWrapper(const BasicOStreamWrapper&); - BasicOStreamWrapper& operator=(const BasicOStreamWrapper&); - - StreamType& stream_; -}; - -typedef BasicOStreamWrapper OStreamWrapper; -typedef BasicOStreamWrapper WOStreamWrapper; - -#ifdef __clang__ -RAPIDJSON_DIAG_POP -#endif - -RAPIDJSON_NAMESPACE_END - -#endif // RAPIDJSON_OSTREAMWRAPPER_H_ diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/pointer.h b/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/pointer.h deleted file mode 100644 index 063abab9a1..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/pointer.h +++ /dev/null @@ -1,1414 +0,0 @@ -// Tencent is pleased to support the open source community by making RapidJSON available. -// -// Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. -// -// Licensed under the MIT License (the "License"); you may not use this file except -// in compliance with the License. You may obtain a copy of the License at -// -// http://opensource.org/licenses/MIT -// -// Unless required by applicable law or agreed to in writing, software distributed -// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -// CONDITIONS OF ANY KIND, either express or implied. See the License for the -// specific language governing permissions and limitations under the License. - -#ifndef RAPIDJSON_POINTER_H_ -#define RAPIDJSON_POINTER_H_ - -#include "document.h" -#include "internal/itoa.h" - -#ifdef __clang__ -RAPIDJSON_DIAG_PUSH -RAPIDJSON_DIAG_OFF(switch-enum) -#elif defined(_MSC_VER) -RAPIDJSON_DIAG_PUSH -RAPIDJSON_DIAG_OFF(4512) // assignment operator could not be generated -#endif - -RAPIDJSON_NAMESPACE_BEGIN - -static const SizeType kPointerInvalidIndex = ~SizeType(0); //!< Represents an invalid index in GenericPointer::Token - -//! Error code of parsing. -/*! \ingroup RAPIDJSON_ERRORS - \see GenericPointer::GenericPointer, GenericPointer::GetParseErrorCode -*/ -enum PointerParseErrorCode { - kPointerParseErrorNone = 0, //!< The parse is successful - - kPointerParseErrorTokenMustBeginWithSolidus, //!< A token must begin with a '/' - kPointerParseErrorInvalidEscape, //!< Invalid escape - kPointerParseErrorInvalidPercentEncoding, //!< Invalid percent encoding in URI fragment - kPointerParseErrorCharacterMustPercentEncode //!< A character must percent encoded in URI fragment -}; - -/////////////////////////////////////////////////////////////////////////////// -// GenericPointer - -//! Represents a JSON Pointer. Use Pointer for UTF8 encoding and default allocator. -/*! - This class implements RFC 6901 "JavaScript Object Notation (JSON) Pointer" - (https://tools.ietf.org/html/rfc6901). - - A JSON pointer is for identifying a specific value in a JSON document - (GenericDocument). It can simplify coding of DOM tree manipulation, because it - can access multiple-level depth of DOM tree with single API call. - - After it parses a string representation (e.g. "/foo/0" or URI fragment - representation (e.g. "#/foo/0") into its internal representation (tokens), - it can be used to resolve a specific value in multiple documents, or sub-tree - of documents. - - Contrary to GenericValue, Pointer can be copy constructed and copy assigned. - Apart from assignment, a Pointer cannot be modified after construction. - - Although Pointer is very convenient, please aware that constructing Pointer - involves parsing and dynamic memory allocation. A special constructor with user- - supplied tokens eliminates these. - - GenericPointer depends on GenericDocument and GenericValue. - - \tparam ValueType The value type of the DOM tree. E.g. GenericValue > - \tparam Allocator The allocator type for allocating memory for internal representation. - - \note GenericPointer uses same encoding of ValueType. - However, Allocator of GenericPointer is independent of Allocator of Value. -*/ -template -class GenericPointer { -public: - typedef typename ValueType::EncodingType EncodingType; //!< Encoding type from Value - typedef typename ValueType::Ch Ch; //!< Character type from Value - - //! A token is the basic units of internal representation. - /*! - A JSON pointer string representation "/foo/123" is parsed to two tokens: - "foo" and 123. 123 will be represented in both numeric form and string form. - They are resolved according to the actual value type (object or array). - - For token that are not numbers, or the numeric value is out of bound - (greater than limits of SizeType), they are only treated as string form - (i.e. the token's index will be equal to kPointerInvalidIndex). - - This struct is public so that user can create a Pointer without parsing and - allocation, using a special constructor. - */ - struct Token { - const Ch* name; //!< Name of the token. It has null character at the end but it can contain null character. - SizeType length; //!< Length of the name. - SizeType index; //!< A valid array index, if it is not equal to kPointerInvalidIndex. - }; - - //!@name Constructors and destructor. - //@{ - - //! Default constructor. - GenericPointer(Allocator* allocator = 0) : allocator_(allocator), ownAllocator_(), nameBuffer_(), tokens_(), tokenCount_(), parseErrorOffset_(), parseErrorCode_(kPointerParseErrorNone) {} - - //! Constructor that parses a string or URI fragment representation. - /*! - \param source A null-terminated, string or URI fragment representation of JSON pointer. - \param allocator User supplied allocator for this pointer. If no allocator is provided, it creates a self-owned one. - */ - explicit GenericPointer(const Ch* source, Allocator* allocator = 0) : allocator_(allocator), ownAllocator_(), nameBuffer_(), tokens_(), tokenCount_(), parseErrorOffset_(), parseErrorCode_(kPointerParseErrorNone) { - Parse(source, internal::StrLen(source)); - } - -#if RAPIDJSON_HAS_STDSTRING - //! Constructor that parses a string or URI fragment representation. - /*! - \param source A string or URI fragment representation of JSON pointer. - \param allocator User supplied allocator for this pointer. If no allocator is provided, it creates a self-owned one. - \note Requires the definition of the preprocessor symbol \ref RAPIDJSON_HAS_STDSTRING. - */ - explicit GenericPointer(const std::basic_string& source, Allocator* allocator = 0) : allocator_(allocator), ownAllocator_(), nameBuffer_(), tokens_(), tokenCount_(), parseErrorOffset_(), parseErrorCode_(kPointerParseErrorNone) { - Parse(source.c_str(), source.size()); - } -#endif - - //! Constructor that parses a string or URI fragment representation, with length of the source string. - /*! - \param source A string or URI fragment representation of JSON pointer. - \param length Length of source. - \param allocator User supplied allocator for this pointer. If no allocator is provided, it creates a self-owned one. - \note Slightly faster than the overload without length. - */ - GenericPointer(const Ch* source, size_t length, Allocator* allocator = 0) : allocator_(allocator), ownAllocator_(), nameBuffer_(), tokens_(), tokenCount_(), parseErrorOffset_(), parseErrorCode_(kPointerParseErrorNone) { - Parse(source, length); - } - - //! Constructor with user-supplied tokens. - /*! - This constructor let user supplies const array of tokens. - This prevents the parsing process and eliminates allocation. - This is preferred for memory constrained environments. - - \param tokens An constant array of tokens representing the JSON pointer. - \param tokenCount Number of tokens. - - \b Example - \code - #define NAME(s) { s, sizeof(s) / sizeof(s[0]) - 1, kPointerInvalidIndex } - #define INDEX(i) { #i, sizeof(#i) - 1, i } - - static const Pointer::Token kTokens[] = { NAME("foo"), INDEX(123) }; - static const Pointer p(kTokens, sizeof(kTokens) / sizeof(kTokens[0])); - // Equivalent to static const Pointer p("/foo/123"); - - #undef NAME - #undef INDEX - \endcode - */ - GenericPointer(const Token* tokens, size_t tokenCount) : allocator_(), ownAllocator_(), nameBuffer_(), tokens_(const_cast(tokens)), tokenCount_(tokenCount), parseErrorOffset_(), parseErrorCode_(kPointerParseErrorNone) {} - - //! Copy constructor. - GenericPointer(const GenericPointer& rhs) : allocator_(rhs.allocator_), ownAllocator_(), nameBuffer_(), tokens_(), tokenCount_(), parseErrorOffset_(), parseErrorCode_(kPointerParseErrorNone) { - *this = rhs; - } - - //! Copy constructor. - GenericPointer(const GenericPointer& rhs, Allocator* allocator) : allocator_(allocator), ownAllocator_(), nameBuffer_(), tokens_(), tokenCount_(), parseErrorOffset_(), parseErrorCode_(kPointerParseErrorNone) { - *this = rhs; - } - - //! Destructor. - ~GenericPointer() { - if (nameBuffer_) // If user-supplied tokens constructor is used, nameBuffer_ is nullptr and tokens_ are not deallocated. - Allocator::Free(tokens_); - RAPIDJSON_DELETE(ownAllocator_); - } - - //! Assignment operator. - GenericPointer& operator=(const GenericPointer& rhs) { - if (this != &rhs) { - // Do not delete ownAllcator - if (nameBuffer_) - Allocator::Free(tokens_); - - tokenCount_ = rhs.tokenCount_; - parseErrorOffset_ = rhs.parseErrorOffset_; - parseErrorCode_ = rhs.parseErrorCode_; - - if (rhs.nameBuffer_) - CopyFromRaw(rhs); // Normally parsed tokens. - else { - tokens_ = rhs.tokens_; // User supplied const tokens. - nameBuffer_ = 0; - } - } - return *this; - } - - //! Swap the content of this pointer with an other. - /*! - \param other The pointer to swap with. - \note Constant complexity. - */ - GenericPointer& Swap(GenericPointer& other) RAPIDJSON_NOEXCEPT { - internal::Swap(allocator_, other.allocator_); - internal::Swap(ownAllocator_, other.ownAllocator_); - internal::Swap(nameBuffer_, other.nameBuffer_); - internal::Swap(tokens_, other.tokens_); - internal::Swap(tokenCount_, other.tokenCount_); - internal::Swap(parseErrorOffset_, other.parseErrorOffset_); - internal::Swap(parseErrorCode_, other.parseErrorCode_); - return *this; - } - - //! free-standing swap function helper - /*! - Helper function to enable support for common swap implementation pattern based on \c std::swap: - \code - void swap(MyClass& a, MyClass& b) { - using std::swap; - swap(a.pointer, b.pointer); - // ... - } - \endcode - \see Swap() - */ - friend inline void swap(GenericPointer& a, GenericPointer& b) RAPIDJSON_NOEXCEPT { a.Swap(b); } - - //@} - - //!@name Append token - //@{ - - //! Append a token and return a new Pointer - /*! - \param token Token to be appended. - \param allocator Allocator for the newly return Pointer. - \return A new Pointer with appended token. - */ - GenericPointer Append(const Token& token, Allocator* allocator = 0) const { - GenericPointer r; - r.allocator_ = allocator; - Ch *p = r.CopyFromRaw(*this, 1, token.length + 1); - std::memcpy(p, token.name, (token.length + 1) * sizeof(Ch)); - r.tokens_[tokenCount_].name = p; - r.tokens_[tokenCount_].length = token.length; - r.tokens_[tokenCount_].index = token.index; - return r; - } - - //! Append a name token with length, and return a new Pointer - /*! - \param name Name to be appended. - \param length Length of name. - \param allocator Allocator for the newly return Pointer. - \return A new Pointer with appended token. - */ - GenericPointer Append(const Ch* name, SizeType length, Allocator* allocator = 0) const { - Token token = { name, length, kPointerInvalidIndex }; - return Append(token, allocator); - } - - //! Append a name token without length, and return a new Pointer - /*! - \param name Name (const Ch*) to be appended. - \param allocator Allocator for the newly return Pointer. - \return A new Pointer with appended token. - */ - template - RAPIDJSON_DISABLEIF_RETURN((internal::NotExpr::Type, Ch> >), (GenericPointer)) - Append(T* name, Allocator* allocator = 0) const { - return Append(name, internal::StrLen(name), allocator); - } - -#if RAPIDJSON_HAS_STDSTRING - //! Append a name token, and return a new Pointer - /*! - \param name Name to be appended. - \param allocator Allocator for the newly return Pointer. - \return A new Pointer with appended token. - */ - GenericPointer Append(const std::basic_string& name, Allocator* allocator = 0) const { - return Append(name.c_str(), static_cast(name.size()), allocator); - } -#endif - - //! Append a index token, and return a new Pointer - /*! - \param index Index to be appended. - \param allocator Allocator for the newly return Pointer. - \return A new Pointer with appended token. - */ - GenericPointer Append(SizeType index, Allocator* allocator = 0) const { - char buffer[21]; - char* end = sizeof(SizeType) == 4 ? internal::u32toa(index, buffer) : internal::u64toa(index, buffer); - SizeType length = static_cast(end - buffer); - buffer[length] = '\0'; - - if (sizeof(Ch) == 1) { - Token token = { reinterpret_cast(buffer), length, index }; - return Append(token, allocator); - } - else { - Ch name[21]; - for (size_t i = 0; i <= length; i++) - name[i] = static_cast(buffer[i]); - Token token = { name, length, index }; - return Append(token, allocator); - } - } - - //! Append a token by value, and return a new Pointer - /*! - \param token token to be appended. - \param allocator Allocator for the newly return Pointer. - \return A new Pointer with appended token. - */ - GenericPointer Append(const ValueType& token, Allocator* allocator = 0) const { - if (token.IsString()) - return Append(token.GetString(), token.GetStringLength(), allocator); - else { - RAPIDJSON_ASSERT(token.IsUint64()); - RAPIDJSON_ASSERT(token.GetUint64() <= SizeType(~0)); - return Append(static_cast(token.GetUint64()), allocator); - } - } - - //!@name Handling Parse Error - //@{ - - //! Check whether this is a valid pointer. - bool IsValid() const { return parseErrorCode_ == kPointerParseErrorNone; } - - //! Get the parsing error offset in code unit. - size_t GetParseErrorOffset() const { return parseErrorOffset_; } - - //! Get the parsing error code. - PointerParseErrorCode GetParseErrorCode() const { return parseErrorCode_; } - - //@} - - //! Get the allocator of this pointer. - Allocator& GetAllocator() { return *allocator_; } - - //!@name Tokens - //@{ - - //! Get the token array (const version only). - const Token* GetTokens() const { return tokens_; } - - //! Get the number of tokens. - size_t GetTokenCount() const { return tokenCount_; } - - //@} - - //!@name Equality/inequality operators - //@{ - - //! Equality operator. - /*! - \note When any pointers are invalid, always returns false. - */ - bool operator==(const GenericPointer& rhs) const { - if (!IsValid() || !rhs.IsValid() || tokenCount_ != rhs.tokenCount_) - return false; - - for (size_t i = 0; i < tokenCount_; i++) { - if (tokens_[i].index != rhs.tokens_[i].index || - tokens_[i].length != rhs.tokens_[i].length || - (tokens_[i].length != 0 && std::memcmp(tokens_[i].name, rhs.tokens_[i].name, sizeof(Ch)* tokens_[i].length) != 0)) - { - return false; - } - } - - return true; - } - - //! Inequality operator. - /*! - \note When any pointers are invalid, always returns true. - */ - bool operator!=(const GenericPointer& rhs) const { return !(*this == rhs); } - - //! Less than operator. - /*! - \note Invalid pointers are always greater than valid ones. - */ - bool operator<(const GenericPointer& rhs) const { - if (!IsValid()) - return false; - if (!rhs.IsValid()) - return true; - - if (tokenCount_ != rhs.tokenCount_) - return tokenCount_ < rhs.tokenCount_; - - for (size_t i = 0; i < tokenCount_; i++) { - if (tokens_[i].index != rhs.tokens_[i].index) - return tokens_[i].index < rhs.tokens_[i].index; - - if (tokens_[i].length != rhs.tokens_[i].length) - return tokens_[i].length < rhs.tokens_[i].length; - - if (int cmp = std::memcmp(tokens_[i].name, rhs.tokens_[i].name, sizeof(Ch) * tokens_[i].length)) - return cmp < 0; - } - - return false; - } - - //@} - - //!@name Stringify - //@{ - - //! Stringify the pointer into string representation. - /*! - \tparam OutputStream Type of output stream. - \param os The output stream. - */ - template - bool Stringify(OutputStream& os) const { - return Stringify(os); - } - - //! Stringify the pointer into URI fragment representation. - /*! - \tparam OutputStream Type of output stream. - \param os The output stream. - */ - template - bool StringifyUriFragment(OutputStream& os) const { - return Stringify(os); - } - - //@} - - //!@name Create value - //@{ - - //! Create a value in a subtree. - /*! - If the value is not exist, it creates all parent values and a JSON Null value. - So it always succeed and return the newly created or existing value. - - Remind that it may change types of parents according to tokens, so it - potentially removes previously stored values. For example, if a document - was an array, and "/foo" is used to create a value, then the document - will be changed to an object, and all existing array elements are lost. - - \param root Root value of a DOM subtree to be resolved. It can be any value other than document root. - \param allocator Allocator for creating the values if the specified value or its parents are not exist. - \param alreadyExist If non-null, it stores whether the resolved value is already exist. - \return The resolved newly created (a JSON Null value), or already exists value. - */ - ValueType& Create(ValueType& root, typename ValueType::AllocatorType& allocator, bool* alreadyExist = 0) const { - RAPIDJSON_ASSERT(IsValid()); - ValueType* v = &root; - bool exist = true; - for (const Token *t = tokens_; t != tokens_ + tokenCount_; ++t) { - if (v->IsArray() && t->name[0] == '-' && t->length == 1) { - v->PushBack(ValueType().Move(), allocator); - v = &((*v)[v->Size() - 1]); - exist = false; - } - else { - if (t->index == kPointerInvalidIndex) { // must be object name - if (!v->IsObject()) - v->SetObject(); // Change to Object - } - else { // object name or array index - if (!v->IsArray() && !v->IsObject()) - v->SetArray(); // Change to Array - } - - if (v->IsArray()) { - if (t->index >= v->Size()) { - v->Reserve(t->index + 1, allocator); - while (t->index >= v->Size()) - v->PushBack(ValueType().Move(), allocator); - exist = false; - } - v = &((*v)[t->index]); - } - else { - typename ValueType::MemberIterator m = v->FindMember(GenericStringRef(t->name, t->length)); - if (m == v->MemberEnd()) { - v->AddMember(ValueType(t->name, t->length, allocator).Move(), ValueType().Move(), allocator); - v = &(--v->MemberEnd())->value; // Assumes AddMember() appends at the end - exist = false; - } - else - v = &m->value; - } - } - } - - if (alreadyExist) - *alreadyExist = exist; - - return *v; - } - - //! Creates a value in a document. - /*! - \param document A document to be resolved. - \param alreadyExist If non-null, it stores whether the resolved value is already exist. - \return The resolved newly created, or already exists value. - */ - template - ValueType& Create(GenericDocument& document, bool* alreadyExist = 0) const { - return Create(document, document.GetAllocator(), alreadyExist); - } - - //@} - - //!@name Query value - //@{ - - //! Query a value in a subtree. - /*! - \param root Root value of a DOM sub-tree to be resolved. It can be any value other than document root. - \param unresolvedTokenIndex If the pointer cannot resolve a token in the pointer, this parameter can obtain the index of unresolved token. - \return Pointer to the value if it can be resolved. Otherwise null. - - \note - There are only 3 situations when a value cannot be resolved: - 1. A value in the path is not an array nor object. - 2. An object value does not contain the token. - 3. A token is out of range of an array value. - - Use unresolvedTokenIndex to retrieve the token index. - */ - ValueType* Get(ValueType& root, size_t* unresolvedTokenIndex = 0) const { - RAPIDJSON_ASSERT(IsValid()); - ValueType* v = &root; - for (const Token *t = tokens_; t != tokens_ + tokenCount_; ++t) { - switch (v->GetType()) { - case kObjectType: - { - typename ValueType::MemberIterator m = v->FindMember(GenericStringRef(t->name, t->length)); - if (m == v->MemberEnd()) - break; - v = &m->value; - } - continue; - case kArrayType: - if (t->index == kPointerInvalidIndex || t->index >= v->Size()) - break; - v = &((*v)[t->index]); - continue; - default: - break; - } - - // Error: unresolved token - if (unresolvedTokenIndex) - *unresolvedTokenIndex = static_cast(t - tokens_); - return 0; - } - return v; - } - - //! Query a const value in a const subtree. - /*! - \param root Root value of a DOM sub-tree to be resolved. It can be any value other than document root. - \return Pointer to the value if it can be resolved. Otherwise null. - */ - const ValueType* Get(const ValueType& root, size_t* unresolvedTokenIndex = 0) const { - return Get(const_cast(root), unresolvedTokenIndex); - } - - //@} - - //!@name Query a value with default - //@{ - - //! Query a value in a subtree with default value. - /*! - Similar to Get(), but if the specified value do not exists, it creates all parents and clone the default value. - So that this function always succeed. - - \param root Root value of a DOM sub-tree to be resolved. It can be any value other than document root. - \param defaultValue Default value to be cloned if the value was not exists. - \param allocator Allocator for creating the values if the specified value or its parents are not exist. - \see Create() - */ - ValueType& GetWithDefault(ValueType& root, const ValueType& defaultValue, typename ValueType::AllocatorType& allocator) const { - bool alreadyExist; - ValueType& v = Create(root, allocator, &alreadyExist); - return alreadyExist ? v : v.CopyFrom(defaultValue, allocator); - } - - //! Query a value in a subtree with default null-terminated string. - ValueType& GetWithDefault(ValueType& root, const Ch* defaultValue, typename ValueType::AllocatorType& allocator) const { - bool alreadyExist; - ValueType& v = Create(root, allocator, &alreadyExist); - return alreadyExist ? v : v.SetString(defaultValue, allocator); - } - -#if RAPIDJSON_HAS_STDSTRING - //! Query a value in a subtree with default std::basic_string. - ValueType& GetWithDefault(ValueType& root, const std::basic_string& defaultValue, typename ValueType::AllocatorType& allocator) const { - bool alreadyExist; - ValueType& v = Create(root, allocator, &alreadyExist); - return alreadyExist ? v : v.SetString(defaultValue, allocator); - } -#endif - - //! Query a value in a subtree with default primitive value. - /*! - \tparam T Either \ref Type, \c int, \c unsigned, \c int64_t, \c uint64_t, \c bool - */ - template - RAPIDJSON_DISABLEIF_RETURN((internal::OrExpr, internal::IsGenericValue >), (ValueType&)) - GetWithDefault(ValueType& root, T defaultValue, typename ValueType::AllocatorType& allocator) const { - return GetWithDefault(root, ValueType(defaultValue).Move(), allocator); - } - - //! Query a value in a document with default value. - template - ValueType& GetWithDefault(GenericDocument& document, const ValueType& defaultValue) const { - return GetWithDefault(document, defaultValue, document.GetAllocator()); - } - - //! Query a value in a document with default null-terminated string. - template - ValueType& GetWithDefault(GenericDocument& document, const Ch* defaultValue) const { - return GetWithDefault(document, defaultValue, document.GetAllocator()); - } - -#if RAPIDJSON_HAS_STDSTRING - //! Query a value in a document with default std::basic_string. - template - ValueType& GetWithDefault(GenericDocument& document, const std::basic_string& defaultValue) const { - return GetWithDefault(document, defaultValue, document.GetAllocator()); - } -#endif - - //! Query a value in a document with default primitive value. - /*! - \tparam T Either \ref Type, \c int, \c unsigned, \c int64_t, \c uint64_t, \c bool - */ - template - RAPIDJSON_DISABLEIF_RETURN((internal::OrExpr, internal::IsGenericValue >), (ValueType&)) - GetWithDefault(GenericDocument& document, T defaultValue) const { - return GetWithDefault(document, defaultValue, document.GetAllocator()); - } - - //@} - - //!@name Set a value - //@{ - - //! Set a value in a subtree, with move semantics. - /*! - It creates all parents if they are not exist or types are different to the tokens. - So this function always succeeds but potentially remove existing values. - - \param root Root value of a DOM sub-tree to be resolved. It can be any value other than document root. - \param value Value to be set. - \param allocator Allocator for creating the values if the specified value or its parents are not exist. - \see Create() - */ - ValueType& Set(ValueType& root, ValueType& value, typename ValueType::AllocatorType& allocator) const { - return Create(root, allocator) = value; - } - - //! Set a value in a subtree, with copy semantics. - ValueType& Set(ValueType& root, const ValueType& value, typename ValueType::AllocatorType& allocator) const { - return Create(root, allocator).CopyFrom(value, allocator); - } - - //! Set a null-terminated string in a subtree. - ValueType& Set(ValueType& root, const Ch* value, typename ValueType::AllocatorType& allocator) const { - return Create(root, allocator) = ValueType(value, allocator).Move(); - } - -#if RAPIDJSON_HAS_STDSTRING - //! Set a std::basic_string in a subtree. - ValueType& Set(ValueType& root, const std::basic_string& value, typename ValueType::AllocatorType& allocator) const { - return Create(root, allocator) = ValueType(value, allocator).Move(); - } -#endif - - //! Set a primitive value in a subtree. - /*! - \tparam T Either \ref Type, \c int, \c unsigned, \c int64_t, \c uint64_t, \c bool - */ - template - RAPIDJSON_DISABLEIF_RETURN((internal::OrExpr, internal::IsGenericValue >), (ValueType&)) - Set(ValueType& root, T value, typename ValueType::AllocatorType& allocator) const { - return Create(root, allocator) = ValueType(value).Move(); - } - - //! Set a value in a document, with move semantics. - template - ValueType& Set(GenericDocument& document, ValueType& value) const { - return Create(document) = value; - } - - //! Set a value in a document, with copy semantics. - template - ValueType& Set(GenericDocument& document, const ValueType& value) const { - return Create(document).CopyFrom(value, document.GetAllocator()); - } - - //! Set a null-terminated string in a document. - template - ValueType& Set(GenericDocument& document, const Ch* value) const { - return Create(document) = ValueType(value, document.GetAllocator()).Move(); - } - -#if RAPIDJSON_HAS_STDSTRING - //! Sets a std::basic_string in a document. - template - ValueType& Set(GenericDocument& document, const std::basic_string& value) const { - return Create(document) = ValueType(value, document.GetAllocator()).Move(); - } -#endif - - //! Set a primitive value in a document. - /*! - \tparam T Either \ref Type, \c int, \c unsigned, \c int64_t, \c uint64_t, \c bool - */ - template - RAPIDJSON_DISABLEIF_RETURN((internal::OrExpr, internal::IsGenericValue >), (ValueType&)) - Set(GenericDocument& document, T value) const { - return Create(document) = value; - } - - //@} - - //!@name Swap a value - //@{ - - //! Swap a value with a value in a subtree. - /*! - It creates all parents if they are not exist or types are different to the tokens. - So this function always succeeds but potentially remove existing values. - - \param root Root value of a DOM sub-tree to be resolved. It can be any value other than document root. - \param value Value to be swapped. - \param allocator Allocator for creating the values if the specified value or its parents are not exist. - \see Create() - */ - ValueType& Swap(ValueType& root, ValueType& value, typename ValueType::AllocatorType& allocator) const { - return Create(root, allocator).Swap(value); - } - - //! Swap a value with a value in a document. - template - ValueType& Swap(GenericDocument& document, ValueType& value) const { - return Create(document).Swap(value); - } - - //@} - - //! Erase a value in a subtree. - /*! - \param root Root value of a DOM sub-tree to be resolved. It can be any value other than document root. - \return Whether the resolved value is found and erased. - - \note Erasing with an empty pointer \c Pointer(""), i.e. the root, always fail and return false. - */ - bool Erase(ValueType& root) const { - RAPIDJSON_ASSERT(IsValid()); - if (tokenCount_ == 0) // Cannot erase the root - return false; - - ValueType* v = &root; - const Token* last = tokens_ + (tokenCount_ - 1); - for (const Token *t = tokens_; t != last; ++t) { - switch (v->GetType()) { - case kObjectType: - { - typename ValueType::MemberIterator m = v->FindMember(GenericStringRef(t->name, t->length)); - if (m == v->MemberEnd()) - return false; - v = &m->value; - } - break; - case kArrayType: - if (t->index == kPointerInvalidIndex || t->index >= v->Size()) - return false; - v = &((*v)[t->index]); - break; - default: - return false; - } - } - - switch (v->GetType()) { - case kObjectType: - return v->EraseMember(GenericStringRef(last->name, last->length)); - case kArrayType: - if (last->index == kPointerInvalidIndex || last->index >= v->Size()) - return false; - v->Erase(v->Begin() + last->index); - return true; - default: - return false; - } - } - -private: - //! Clone the content from rhs to this. - /*! - \param rhs Source pointer. - \param extraToken Extra tokens to be allocated. - \param extraNameBufferSize Extra name buffer size (in number of Ch) to be allocated. - \return Start of non-occupied name buffer, for storing extra names. - */ - Ch* CopyFromRaw(const GenericPointer& rhs, size_t extraToken = 0, size_t extraNameBufferSize = 0) { - if (!allocator_) // allocator is independently owned. - ownAllocator_ = allocator_ = RAPIDJSON_NEW(Allocator)(); - - size_t nameBufferSize = rhs.tokenCount_; // null terminators for tokens - for (Token *t = rhs.tokens_; t != rhs.tokens_ + rhs.tokenCount_; ++t) - nameBufferSize += t->length; - - tokenCount_ = rhs.tokenCount_ + extraToken; - tokens_ = static_cast(allocator_->Malloc(tokenCount_ * sizeof(Token) + (nameBufferSize + extraNameBufferSize) * sizeof(Ch))); - nameBuffer_ = reinterpret_cast(tokens_ + tokenCount_); - if (rhs.tokenCount_ > 0) { - std::memcpy(tokens_, rhs.tokens_, rhs.tokenCount_ * sizeof(Token)); - } - if (nameBufferSize > 0) { - std::memcpy(nameBuffer_, rhs.nameBuffer_, nameBufferSize * sizeof(Ch)); - } - - // Adjust pointers to name buffer - std::ptrdiff_t diff = nameBuffer_ - rhs.nameBuffer_; - for (Token *t = tokens_; t != tokens_ + rhs.tokenCount_; ++t) - t->name += diff; - - return nameBuffer_ + nameBufferSize; - } - - //! Check whether a character should be percent-encoded. - /*! - According to RFC 3986 2.3 Unreserved Characters. - \param c The character (code unit) to be tested. - */ - bool NeedPercentEncode(Ch c) const { - return !((c >= '0' && c <= '9') || (c >= 'A' && c <='Z') || (c >= 'a' && c <= 'z') || c == '-' || c == '.' || c == '_' || c =='~'); - } - - //! Parse a JSON String or its URI fragment representation into tokens. -#ifndef __clang__ // -Wdocumentation - /*! - \param source Either a JSON Pointer string, or its URI fragment representation. Not need to be null terminated. - \param length Length of the source string. - \note Source cannot be JSON String Representation of JSON Pointer, e.g. In "/\u0000", \u0000 will not be unescaped. - */ -#endif - void Parse(const Ch* source, size_t length) { - RAPIDJSON_ASSERT(source != NULL); - RAPIDJSON_ASSERT(nameBuffer_ == 0); - RAPIDJSON_ASSERT(tokens_ == 0); - - // Create own allocator if user did not supply. - if (!allocator_) - ownAllocator_ = allocator_ = RAPIDJSON_NEW(Allocator)(); - - // Count number of '/' as tokenCount - tokenCount_ = 0; - for (const Ch* s = source; s != source + length; s++) - if (*s == '/') - tokenCount_++; - - Token* token = tokens_ = static_cast(allocator_->Malloc(tokenCount_ * sizeof(Token) + length * sizeof(Ch))); - Ch* name = nameBuffer_ = reinterpret_cast(tokens_ + tokenCount_); - size_t i = 0; - - // Detect if it is a URI fragment - bool uriFragment = false; - if (source[i] == '#') { - uriFragment = true; - i++; - } - - if (i != length && source[i] != '/') { - parseErrorCode_ = kPointerParseErrorTokenMustBeginWithSolidus; - goto error; - } - - while (i < length) { - RAPIDJSON_ASSERT(source[i] == '/'); - i++; // consumes '/' - - token->name = name; - bool isNumber = true; - - while (i < length && source[i] != '/') { - Ch c = source[i]; - if (uriFragment) { - // Decoding percent-encoding for URI fragment - if (c == '%') { - PercentDecodeStream is(&source[i], source + length); - GenericInsituStringStream os(name); - Ch* begin = os.PutBegin(); - if (!Transcoder, EncodingType>().Validate(is, os) || !is.IsValid()) { - parseErrorCode_ = kPointerParseErrorInvalidPercentEncoding; - goto error; - } - size_t len = os.PutEnd(begin); - i += is.Tell() - 1; - if (len == 1) - c = *name; - else { - name += len; - isNumber = false; - i++; - continue; - } - } - else if (NeedPercentEncode(c)) { - parseErrorCode_ = kPointerParseErrorCharacterMustPercentEncode; - goto error; - } - } - - i++; - - // Escaping "~0" -> '~', "~1" -> '/' - if (c == '~') { - if (i < length) { - c = source[i]; - if (c == '0') c = '~'; - else if (c == '1') c = '/'; - else { - parseErrorCode_ = kPointerParseErrorInvalidEscape; - goto error; - } - i++; - } - else { - parseErrorCode_ = kPointerParseErrorInvalidEscape; - goto error; - } - } - - // First check for index: all of characters are digit - if (c < '0' || c > '9') - isNumber = false; - - *name++ = c; - } - token->length = static_cast(name - token->name); - if (token->length == 0) - isNumber = false; - *name++ = '\0'; // Null terminator - - // Second check for index: more than one digit cannot have leading zero - if (isNumber && token->length > 1 && token->name[0] == '0') - isNumber = false; - - // String to SizeType conversion - SizeType n = 0; - if (isNumber) { - for (size_t j = 0; j < token->length; j++) { - SizeType m = n * 10 + static_cast(token->name[j] - '0'); - if (m < n) { // overflow detection - isNumber = false; - break; - } - n = m; - } - } - - token->index = isNumber ? n : kPointerInvalidIndex; - token++; - } - - RAPIDJSON_ASSERT(name <= nameBuffer_ + length); // Should not overflow buffer - parseErrorCode_ = kPointerParseErrorNone; - return; - - error: - Allocator::Free(tokens_); - nameBuffer_ = 0; - tokens_ = 0; - tokenCount_ = 0; - parseErrorOffset_ = i; - return; - } - - //! Stringify to string or URI fragment representation. - /*! - \tparam uriFragment True for stringifying to URI fragment representation. False for string representation. - \tparam OutputStream type of output stream. - \param os The output stream. - */ - template - bool Stringify(OutputStream& os) const { - RAPIDJSON_ASSERT(IsValid()); - - if (uriFragment) - os.Put('#'); - - for (Token *t = tokens_; t != tokens_ + tokenCount_; ++t) { - os.Put('/'); - for (size_t j = 0; j < t->length; j++) { - Ch c = t->name[j]; - if (c == '~') { - os.Put('~'); - os.Put('0'); - } - else if (c == '/') { - os.Put('~'); - os.Put('1'); - } - else if (uriFragment && NeedPercentEncode(c)) { - // Transcode to UTF8 sequence - GenericStringStream source(&t->name[j]); - PercentEncodeStream target(os); - if (!Transcoder >().Validate(source, target)) - return false; - j += source.Tell() - 1; - } - else - os.Put(c); - } - } - return true; - } - - //! A helper stream for decoding a percent-encoded sequence into code unit. - /*! - This stream decodes %XY triplet into code unit (0-255). - If it encounters invalid characters, it sets output code unit as 0 and - mark invalid, and to be checked by IsValid(). - */ - class PercentDecodeStream { - public: - typedef typename ValueType::Ch Ch; - - //! Constructor - /*! - \param source Start of the stream - \param end Past-the-end of the stream. - */ - PercentDecodeStream(const Ch* source, const Ch* end) : src_(source), head_(source), end_(end), valid_(true) {} - - Ch Take() { - if (*src_ != '%' || src_ + 3 > end_) { // %XY triplet - valid_ = false; - return 0; - } - src_++; - Ch c = 0; - for (int j = 0; j < 2; j++) { - c = static_cast(c << 4); - Ch h = *src_; - if (h >= '0' && h <= '9') c = static_cast(c + h - '0'); - else if (h >= 'A' && h <= 'F') c = static_cast(c + h - 'A' + 10); - else if (h >= 'a' && h <= 'f') c = static_cast(c + h - 'a' + 10); - else { - valid_ = false; - return 0; - } - src_++; - } - return c; - } - - size_t Tell() const { return static_cast(src_ - head_); } - bool IsValid() const { return valid_; } - - private: - const Ch* src_; //!< Current read position. - const Ch* head_; //!< Original head of the string. - const Ch* end_; //!< Past-the-end position. - bool valid_; //!< Whether the parsing is valid. - }; - - //! A helper stream to encode character (UTF-8 code unit) into percent-encoded sequence. - template - class PercentEncodeStream { - public: - PercentEncodeStream(OutputStream& os) : os_(os) {} - void Put(char c) { // UTF-8 must be byte - unsigned char u = static_cast(c); - static const char hexDigits[16] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; - os_.Put('%'); - os_.Put(static_cast(hexDigits[u >> 4])); - os_.Put(static_cast(hexDigits[u & 15])); - } - private: - OutputStream& os_; - }; - - Allocator* allocator_; //!< The current allocator. It is either user-supplied or equal to ownAllocator_. - Allocator* ownAllocator_; //!< Allocator owned by this Pointer. - Ch* nameBuffer_; //!< A buffer containing all names in tokens. - Token* tokens_; //!< A list of tokens. - size_t tokenCount_; //!< Number of tokens in tokens_. - size_t parseErrorOffset_; //!< Offset in code unit when parsing fail. - PointerParseErrorCode parseErrorCode_; //!< Parsing error code. -}; - -//! GenericPointer for Value (UTF-8, default allocator). -typedef GenericPointer Pointer; - -//!@name Helper functions for GenericPointer -//@{ - -////////////////////////////////////////////////////////////////////////////// - -template -typename T::ValueType& CreateValueByPointer(T& root, const GenericPointer& pointer, typename T::AllocatorType& a) { - return pointer.Create(root, a); -} - -template -typename T::ValueType& CreateValueByPointer(T& root, const CharType(&source)[N], typename T::AllocatorType& a) { - return GenericPointer(source, N - 1).Create(root, a); -} - -// No allocator parameter - -template -typename DocumentType::ValueType& CreateValueByPointer(DocumentType& document, const GenericPointer& pointer) { - return pointer.Create(document); -} - -template -typename DocumentType::ValueType& CreateValueByPointer(DocumentType& document, const CharType(&source)[N]) { - return GenericPointer(source, N - 1).Create(document); -} - -////////////////////////////////////////////////////////////////////////////// - -template -typename T::ValueType* GetValueByPointer(T& root, const GenericPointer& pointer, size_t* unresolvedTokenIndex = 0) { - return pointer.Get(root, unresolvedTokenIndex); -} - -template -const typename T::ValueType* GetValueByPointer(const T& root, const GenericPointer& pointer, size_t* unresolvedTokenIndex = 0) { - return pointer.Get(root, unresolvedTokenIndex); -} - -template -typename T::ValueType* GetValueByPointer(T& root, const CharType (&source)[N], size_t* unresolvedTokenIndex = 0) { - return GenericPointer(source, N - 1).Get(root, unresolvedTokenIndex); -} - -template -const typename T::ValueType* GetValueByPointer(const T& root, const CharType(&source)[N], size_t* unresolvedTokenIndex = 0) { - return GenericPointer(source, N - 1).Get(root, unresolvedTokenIndex); -} - -////////////////////////////////////////////////////////////////////////////// - -template -typename T::ValueType& GetValueByPointerWithDefault(T& root, const GenericPointer& pointer, const typename T::ValueType& defaultValue, typename T::AllocatorType& a) { - return pointer.GetWithDefault(root, defaultValue, a); -} - -template -typename T::ValueType& GetValueByPointerWithDefault(T& root, const GenericPointer& pointer, const typename T::Ch* defaultValue, typename T::AllocatorType& a) { - return pointer.GetWithDefault(root, defaultValue, a); -} - -#if RAPIDJSON_HAS_STDSTRING -template -typename T::ValueType& GetValueByPointerWithDefault(T& root, const GenericPointer& pointer, const std::basic_string& defaultValue, typename T::AllocatorType& a) { - return pointer.GetWithDefault(root, defaultValue, a); -} -#endif - -template -RAPIDJSON_DISABLEIF_RETURN((internal::OrExpr, internal::IsGenericValue >), (typename T::ValueType&)) -GetValueByPointerWithDefault(T& root, const GenericPointer& pointer, T2 defaultValue, typename T::AllocatorType& a) { - return pointer.GetWithDefault(root, defaultValue, a); -} - -template -typename T::ValueType& GetValueByPointerWithDefault(T& root, const CharType(&source)[N], const typename T::ValueType& defaultValue, typename T::AllocatorType& a) { - return GenericPointer(source, N - 1).GetWithDefault(root, defaultValue, a); -} - -template -typename T::ValueType& GetValueByPointerWithDefault(T& root, const CharType(&source)[N], const typename T::Ch* defaultValue, typename T::AllocatorType& a) { - return GenericPointer(source, N - 1).GetWithDefault(root, defaultValue, a); -} - -#if RAPIDJSON_HAS_STDSTRING -template -typename T::ValueType& GetValueByPointerWithDefault(T& root, const CharType(&source)[N], const std::basic_string& defaultValue, typename T::AllocatorType& a) { - return GenericPointer(source, N - 1).GetWithDefault(root, defaultValue, a); -} -#endif - -template -RAPIDJSON_DISABLEIF_RETURN((internal::OrExpr, internal::IsGenericValue >), (typename T::ValueType&)) -GetValueByPointerWithDefault(T& root, const CharType(&source)[N], T2 defaultValue, typename T::AllocatorType& a) { - return GenericPointer(source, N - 1).GetWithDefault(root, defaultValue, a); -} - -// No allocator parameter - -template -typename DocumentType::ValueType& GetValueByPointerWithDefault(DocumentType& document, const GenericPointer& pointer, const typename DocumentType::ValueType& defaultValue) { - return pointer.GetWithDefault(document, defaultValue); -} - -template -typename DocumentType::ValueType& GetValueByPointerWithDefault(DocumentType& document, const GenericPointer& pointer, const typename DocumentType::Ch* defaultValue) { - return pointer.GetWithDefault(document, defaultValue); -} - -#if RAPIDJSON_HAS_STDSTRING -template -typename DocumentType::ValueType& GetValueByPointerWithDefault(DocumentType& document, const GenericPointer& pointer, const std::basic_string& defaultValue) { - return pointer.GetWithDefault(document, defaultValue); -} -#endif - -template -RAPIDJSON_DISABLEIF_RETURN((internal::OrExpr, internal::IsGenericValue >), (typename DocumentType::ValueType&)) -GetValueByPointerWithDefault(DocumentType& document, const GenericPointer& pointer, T2 defaultValue) { - return pointer.GetWithDefault(document, defaultValue); -} - -template -typename DocumentType::ValueType& GetValueByPointerWithDefault(DocumentType& document, const CharType(&source)[N], const typename DocumentType::ValueType& defaultValue) { - return GenericPointer(source, N - 1).GetWithDefault(document, defaultValue); -} - -template -typename DocumentType::ValueType& GetValueByPointerWithDefault(DocumentType& document, const CharType(&source)[N], const typename DocumentType::Ch* defaultValue) { - return GenericPointer(source, N - 1).GetWithDefault(document, defaultValue); -} - -#if RAPIDJSON_HAS_STDSTRING -template -typename DocumentType::ValueType& GetValueByPointerWithDefault(DocumentType& document, const CharType(&source)[N], const std::basic_string& defaultValue) { - return GenericPointer(source, N - 1).GetWithDefault(document, defaultValue); -} -#endif - -template -RAPIDJSON_DISABLEIF_RETURN((internal::OrExpr, internal::IsGenericValue >), (typename DocumentType::ValueType&)) -GetValueByPointerWithDefault(DocumentType& document, const CharType(&source)[N], T2 defaultValue) { - return GenericPointer(source, N - 1).GetWithDefault(document, defaultValue); -} - -////////////////////////////////////////////////////////////////////////////// - -template -typename T::ValueType& SetValueByPointer(T& root, const GenericPointer& pointer, typename T::ValueType& value, typename T::AllocatorType& a) { - return pointer.Set(root, value, a); -} - -template -typename T::ValueType& SetValueByPointer(T& root, const GenericPointer& pointer, const typename T::ValueType& value, typename T::AllocatorType& a) { - return pointer.Set(root, value, a); -} - -template -typename T::ValueType& SetValueByPointer(T& root, const GenericPointer& pointer, const typename T::Ch* value, typename T::AllocatorType& a) { - return pointer.Set(root, value, a); -} - -#if RAPIDJSON_HAS_STDSTRING -template -typename T::ValueType& SetValueByPointer(T& root, const GenericPointer& pointer, const std::basic_string& value, typename T::AllocatorType& a) { - return pointer.Set(root, value, a); -} -#endif - -template -RAPIDJSON_DISABLEIF_RETURN((internal::OrExpr, internal::IsGenericValue >), (typename T::ValueType&)) -SetValueByPointer(T& root, const GenericPointer& pointer, T2 value, typename T::AllocatorType& a) { - return pointer.Set(root, value, a); -} - -template -typename T::ValueType& SetValueByPointer(T& root, const CharType(&source)[N], typename T::ValueType& value, typename T::AllocatorType& a) { - return GenericPointer(source, N - 1).Set(root, value, a); -} - -template -typename T::ValueType& SetValueByPointer(T& root, const CharType(&source)[N], const typename T::ValueType& value, typename T::AllocatorType& a) { - return GenericPointer(source, N - 1).Set(root, value, a); -} - -template -typename T::ValueType& SetValueByPointer(T& root, const CharType(&source)[N], const typename T::Ch* value, typename T::AllocatorType& a) { - return GenericPointer(source, N - 1).Set(root, value, a); -} - -#if RAPIDJSON_HAS_STDSTRING -template -typename T::ValueType& SetValueByPointer(T& root, const CharType(&source)[N], const std::basic_string& value, typename T::AllocatorType& a) { - return GenericPointer(source, N - 1).Set(root, value, a); -} -#endif - -template -RAPIDJSON_DISABLEIF_RETURN((internal::OrExpr, internal::IsGenericValue >), (typename T::ValueType&)) -SetValueByPointer(T& root, const CharType(&source)[N], T2 value, typename T::AllocatorType& a) { - return GenericPointer(source, N - 1).Set(root, value, a); -} - -// No allocator parameter - -template -typename DocumentType::ValueType& SetValueByPointer(DocumentType& document, const GenericPointer& pointer, typename DocumentType::ValueType& value) { - return pointer.Set(document, value); -} - -template -typename DocumentType::ValueType& SetValueByPointer(DocumentType& document, const GenericPointer& pointer, const typename DocumentType::ValueType& value) { - return pointer.Set(document, value); -} - -template -typename DocumentType::ValueType& SetValueByPointer(DocumentType& document, const GenericPointer& pointer, const typename DocumentType::Ch* value) { - return pointer.Set(document, value); -} - -#if RAPIDJSON_HAS_STDSTRING -template -typename DocumentType::ValueType& SetValueByPointer(DocumentType& document, const GenericPointer& pointer, const std::basic_string& value) { - return pointer.Set(document, value); -} -#endif - -template -RAPIDJSON_DISABLEIF_RETURN((internal::OrExpr, internal::IsGenericValue >), (typename DocumentType::ValueType&)) -SetValueByPointer(DocumentType& document, const GenericPointer& pointer, T2 value) { - return pointer.Set(document, value); -} - -template -typename DocumentType::ValueType& SetValueByPointer(DocumentType& document, const CharType(&source)[N], typename DocumentType::ValueType& value) { - return GenericPointer(source, N - 1).Set(document, value); -} - -template -typename DocumentType::ValueType& SetValueByPointer(DocumentType& document, const CharType(&source)[N], const typename DocumentType::ValueType& value) { - return GenericPointer(source, N - 1).Set(document, value); -} - -template -typename DocumentType::ValueType& SetValueByPointer(DocumentType& document, const CharType(&source)[N], const typename DocumentType::Ch* value) { - return GenericPointer(source, N - 1).Set(document, value); -} - -#if RAPIDJSON_HAS_STDSTRING -template -typename DocumentType::ValueType& SetValueByPointer(DocumentType& document, const CharType(&source)[N], const std::basic_string& value) { - return GenericPointer(source, N - 1).Set(document, value); -} -#endif - -template -RAPIDJSON_DISABLEIF_RETURN((internal::OrExpr, internal::IsGenericValue >), (typename DocumentType::ValueType&)) -SetValueByPointer(DocumentType& document, const CharType(&source)[N], T2 value) { - return GenericPointer(source, N - 1).Set(document, value); -} - -////////////////////////////////////////////////////////////////////////////// - -template -typename T::ValueType& SwapValueByPointer(T& root, const GenericPointer& pointer, typename T::ValueType& value, typename T::AllocatorType& a) { - return pointer.Swap(root, value, a); -} - -template -typename T::ValueType& SwapValueByPointer(T& root, const CharType(&source)[N], typename T::ValueType& value, typename T::AllocatorType& a) { - return GenericPointer(source, N - 1).Swap(root, value, a); -} - -template -typename DocumentType::ValueType& SwapValueByPointer(DocumentType& document, const GenericPointer& pointer, typename DocumentType::ValueType& value) { - return pointer.Swap(document, value); -} - -template -typename DocumentType::ValueType& SwapValueByPointer(DocumentType& document, const CharType(&source)[N], typename DocumentType::ValueType& value) { - return GenericPointer(source, N - 1).Swap(document, value); -} - -////////////////////////////////////////////////////////////////////////////// - -template -bool EraseValueByPointer(T& root, const GenericPointer& pointer) { - return pointer.Erase(root); -} - -template -bool EraseValueByPointer(T& root, const CharType(&source)[N]) { - return GenericPointer(source, N - 1).Erase(root); -} - -//@} - -RAPIDJSON_NAMESPACE_END - -#if defined(__clang__) || defined(_MSC_VER) -RAPIDJSON_DIAG_POP -#endif - -#endif // RAPIDJSON_POINTER_H_ diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/prettywriter.h b/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/prettywriter.h deleted file mode 100644 index 45afb6949d..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/prettywriter.h +++ /dev/null @@ -1,277 +0,0 @@ -// Tencent is pleased to support the open source community by making RapidJSON available. -// -// Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. -// -// Licensed under the MIT License (the "License"); you may not use this file except -// in compliance with the License. You may obtain a copy of the License at -// -// http://opensource.org/licenses/MIT -// -// Unless required by applicable law or agreed to in writing, software distributed -// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -// CONDITIONS OF ANY KIND, either express or implied. See the License for the -// specific language governing permissions and limitations under the License. - -#ifndef RAPIDJSON_PRETTYWRITER_H_ -#define RAPIDJSON_PRETTYWRITER_H_ - -#include "writer.h" - -#ifdef __GNUC__ -RAPIDJSON_DIAG_PUSH -RAPIDJSON_DIAG_OFF(effc++) -#endif - -#if defined(__clang__) -RAPIDJSON_DIAG_PUSH -RAPIDJSON_DIAG_OFF(c++98-compat) -#endif - -RAPIDJSON_NAMESPACE_BEGIN - -//! Combination of PrettyWriter format flags. -/*! \see PrettyWriter::SetFormatOptions - */ -enum PrettyFormatOptions { - kFormatDefault = 0, //!< Default pretty formatting. - kFormatSingleLineArray = 1 //!< Format arrays on a single line. -}; - -//! Writer with indentation and spacing. -/*! - \tparam OutputStream Type of output os. - \tparam SourceEncoding Encoding of source string. - \tparam TargetEncoding Encoding of output stream. - \tparam StackAllocator Type of allocator for allocating memory of stack. -*/ -template, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags> -class PrettyWriter : public Writer { -public: - typedef Writer Base; - typedef typename Base::Ch Ch; - - //! Constructor - /*! \param os Output stream. - \param allocator User supplied allocator. If it is null, it will create a private one. - \param levelDepth Initial capacity of stack. - */ - explicit PrettyWriter(OutputStream& os, StackAllocator* allocator = 0, size_t levelDepth = Base::kDefaultLevelDepth) : - Base(os, allocator, levelDepth), indentChar_(' '), indentCharCount_(4), formatOptions_(kFormatDefault) {} - - - explicit PrettyWriter(StackAllocator* allocator = 0, size_t levelDepth = Base::kDefaultLevelDepth) : - Base(allocator, levelDepth), indentChar_(' '), indentCharCount_(4) {} - -#if RAPIDJSON_HAS_CXX11_RVALUE_REFS - PrettyWriter(PrettyWriter&& rhs) : - Base(std::forward(rhs)), indentChar_(rhs.indentChar_), indentCharCount_(rhs.indentCharCount_), formatOptions_(rhs.formatOptions_) {} -#endif - - //! Set custom indentation. - /*! \param indentChar Character for indentation. Must be whitespace character (' ', '\\t', '\\n', '\\r'). - \param indentCharCount Number of indent characters for each indentation level. - \note The default indentation is 4 spaces. - */ - PrettyWriter& SetIndent(Ch indentChar, unsigned indentCharCount) { - RAPIDJSON_ASSERT(indentChar == ' ' || indentChar == '\t' || indentChar == '\n' || indentChar == '\r'); - indentChar_ = indentChar; - indentCharCount_ = indentCharCount; - return *this; - } - - //! Set pretty writer formatting options. - /*! \param options Formatting options. - */ - PrettyWriter& SetFormatOptions(PrettyFormatOptions options) { - formatOptions_ = options; - return *this; - } - - /*! @name Implementation of Handler - \see Handler - */ - //@{ - - bool Null() { PrettyPrefix(kNullType); return Base::EndValue(Base::WriteNull()); } - bool Bool(bool b) { PrettyPrefix(b ? kTrueType : kFalseType); return Base::EndValue(Base::WriteBool(b)); } - bool Int(int i) { PrettyPrefix(kNumberType); return Base::EndValue(Base::WriteInt(i)); } - bool Uint(unsigned u) { PrettyPrefix(kNumberType); return Base::EndValue(Base::WriteUint(u)); } - bool Int64(int64_t i64) { PrettyPrefix(kNumberType); return Base::EndValue(Base::WriteInt64(i64)); } - bool Uint64(uint64_t u64) { PrettyPrefix(kNumberType); return Base::EndValue(Base::WriteUint64(u64)); } - bool Double(double d) { PrettyPrefix(kNumberType); return Base::EndValue(Base::WriteDouble(d)); } - - bool RawNumber(const Ch* str, SizeType length, bool copy = false) { - RAPIDJSON_ASSERT(str != 0); - (void)copy; - PrettyPrefix(kNumberType); - return Base::EndValue(Base::WriteString(str, length)); - } - - bool String(const Ch* str, SizeType length, bool copy = false) { - RAPIDJSON_ASSERT(str != 0); - (void)copy; - PrettyPrefix(kStringType); - return Base::EndValue(Base::WriteString(str, length)); - } - -#if RAPIDJSON_HAS_STDSTRING - bool String(const std::basic_string& str) { - return String(str.data(), SizeType(str.size())); - } -#endif - - bool StartObject() { - PrettyPrefix(kObjectType); - new (Base::level_stack_.template Push()) typename Base::Level(false); - return Base::WriteStartObject(); - } - - bool Key(const Ch* str, SizeType length, bool copy = false) { return String(str, length, copy); } - -#if RAPIDJSON_HAS_STDSTRING - bool Key(const std::basic_string& str) { - return Key(str.data(), SizeType(str.size())); - } -#endif - - bool EndObject(SizeType memberCount = 0) { - (void)memberCount; - RAPIDJSON_ASSERT(Base::level_stack_.GetSize() >= sizeof(typename Base::Level)); // not inside an Object - RAPIDJSON_ASSERT(!Base::level_stack_.template Top()->inArray); // currently inside an Array, not Object - RAPIDJSON_ASSERT(0 == Base::level_stack_.template Top()->valueCount % 2); // Object has a Key without a Value - - bool empty = Base::level_stack_.template Pop(1)->valueCount == 0; - - if (!empty) { - Base::os_->Put('\n'); - WriteIndent(); - } - bool ret = Base::EndValue(Base::WriteEndObject()); - (void)ret; - RAPIDJSON_ASSERT(ret == true); - if (Base::level_stack_.Empty()) // end of json text - Base::Flush(); - return true; - } - - bool StartArray() { - PrettyPrefix(kArrayType); - new (Base::level_stack_.template Push()) typename Base::Level(true); - return Base::WriteStartArray(); - } - - bool EndArray(SizeType memberCount = 0) { - (void)memberCount; - RAPIDJSON_ASSERT(Base::level_stack_.GetSize() >= sizeof(typename Base::Level)); - RAPIDJSON_ASSERT(Base::level_stack_.template Top()->inArray); - bool empty = Base::level_stack_.template Pop(1)->valueCount == 0; - - if (!empty && !(formatOptions_ & kFormatSingleLineArray)) { - Base::os_->Put('\n'); - WriteIndent(); - } - bool ret = Base::EndValue(Base::WriteEndArray()); - (void)ret; - RAPIDJSON_ASSERT(ret == true); - if (Base::level_stack_.Empty()) // end of json text - Base::Flush(); - return true; - } - - //@} - - /*! @name Convenience extensions */ - //@{ - - //! Simpler but slower overload. - bool String(const Ch* str) { return String(str, internal::StrLen(str)); } - bool Key(const Ch* str) { return Key(str, internal::StrLen(str)); } - - //@} - - //! Write a raw JSON value. - /*! - For user to write a stringified JSON as a value. - - \param json A well-formed JSON value. It should not contain null character within [0, length - 1] range. - \param length Length of the json. - \param type Type of the root of json. - \note When using PrettyWriter::RawValue(), the result json may not be indented correctly. - */ - bool RawValue(const Ch* json, size_t length, Type type) { - RAPIDJSON_ASSERT(json != 0); - PrettyPrefix(type); - return Base::EndValue(Base::WriteRawValue(json, length)); - } - -protected: - void PrettyPrefix(Type type) { - (void)type; - if (Base::level_stack_.GetSize() != 0) { // this value is not at root - typename Base::Level* level = Base::level_stack_.template Top(); - - if (level->inArray) { - if (level->valueCount > 0) { - Base::os_->Put(','); // add comma if it is not the first element in array - if (formatOptions_ & kFormatSingleLineArray) - Base::os_->Put(' '); - } - - if (!(formatOptions_ & kFormatSingleLineArray)) { - Base::os_->Put('\n'); - WriteIndent(); - } - } - else { // in object - if (level->valueCount > 0) { - if (level->valueCount % 2 == 0) { - Base::os_->Put(','); - Base::os_->Put('\n'); - } - else { - Base::os_->Put(':'); - Base::os_->Put(' '); - } - } - else - Base::os_->Put('\n'); - - if (level->valueCount % 2 == 0) - WriteIndent(); - } - if (!level->inArray && level->valueCount % 2 == 0) - RAPIDJSON_ASSERT(type == kStringType); // if it's in object, then even number should be a name - level->valueCount++; - } - else { - RAPIDJSON_ASSERT(!Base::hasRoot_); // Should only has one and only one root. - Base::hasRoot_ = true; - } - } - - void WriteIndent() { - size_t count = (Base::level_stack_.GetSize() / sizeof(typename Base::Level)) * indentCharCount_; - PutN(*Base::os_, static_cast(indentChar_), count); - } - - Ch indentChar_; - unsigned indentCharCount_; - PrettyFormatOptions formatOptions_; - -private: - // Prohibit copy constructor & assignment operator. - PrettyWriter(const PrettyWriter&); - PrettyWriter& operator=(const PrettyWriter&); -}; - -RAPIDJSON_NAMESPACE_END - -#if defined(__clang__) -RAPIDJSON_DIAG_POP -#endif - -#ifdef __GNUC__ -RAPIDJSON_DIAG_POP -#endif - -#endif // RAPIDJSON_RAPIDJSON_H_ diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/rapidjson.h b/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/rapidjson.h deleted file mode 100644 index 549936ffe0..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/rapidjson.h +++ /dev/null @@ -1,656 +0,0 @@ -// Tencent is pleased to support the open source community by making RapidJSON available. -// -// Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. -// -// Licensed under the MIT License (the "License"); you may not use this file except -// in compliance with the License. You may obtain a copy of the License at -// -// http://opensource.org/licenses/MIT -// -// Unless required by applicable law or agreed to in writing, software distributed -// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -// CONDITIONS OF ANY KIND, either express or implied. See the License for the -// specific language governing permissions and limitations under the License. - -#ifndef RAPIDJSON_RAPIDJSON_H_ -#define RAPIDJSON_RAPIDJSON_H_ - -/*!\file rapidjson.h - \brief common definitions and configuration - - \see RAPIDJSON_CONFIG - */ - -/*! \defgroup RAPIDJSON_CONFIG RapidJSON configuration - \brief Configuration macros for library features - - Some RapidJSON features are configurable to adapt the library to a wide - variety of platforms, environments and usage scenarios. Most of the - features can be configured in terms of overridden or predefined - preprocessor macros at compile-time. - - Some additional customization is available in the \ref RAPIDJSON_ERRORS APIs. - - \note These macros should be given on the compiler command-line - (where applicable) to avoid inconsistent values when compiling - different translation units of a single application. - */ - -#include // malloc(), realloc(), free(), size_t -#include // memset(), memcpy(), memmove(), memcmp() - -/////////////////////////////////////////////////////////////////////////////// -// RAPIDJSON_VERSION_STRING -// -// ALWAYS synchronize the following 3 macros with corresponding variables in /CMakeLists.txt. -// - -//!@cond RAPIDJSON_HIDDEN_FROM_DOXYGEN -// token stringification -#define RAPIDJSON_STRINGIFY(x) RAPIDJSON_DO_STRINGIFY(x) -#define RAPIDJSON_DO_STRINGIFY(x) #x - -// token concatenation -#define RAPIDJSON_JOIN(X, Y) RAPIDJSON_DO_JOIN(X, Y) -#define RAPIDJSON_DO_JOIN(X, Y) RAPIDJSON_DO_JOIN2(X, Y) -#define RAPIDJSON_DO_JOIN2(X, Y) X##Y -//!@endcond - -/*! \def RAPIDJSON_MAJOR_VERSION - \ingroup RAPIDJSON_CONFIG - \brief Major version of RapidJSON in integer. -*/ -/*! \def RAPIDJSON_MINOR_VERSION - \ingroup RAPIDJSON_CONFIG - \brief Minor version of RapidJSON in integer. -*/ -/*! \def RAPIDJSON_PATCH_VERSION - \ingroup RAPIDJSON_CONFIG - \brief Patch version of RapidJSON in integer. -*/ -/*! \def RAPIDJSON_VERSION_STRING - \ingroup RAPIDJSON_CONFIG - \brief Version of RapidJSON in ".." string format. -*/ -#define RAPIDJSON_MAJOR_VERSION 1 -#define RAPIDJSON_MINOR_VERSION 1 -#define RAPIDJSON_PATCH_VERSION 0 -#define RAPIDJSON_VERSION_STRING \ - RAPIDJSON_STRINGIFY(RAPIDJSON_MAJOR_VERSION.RAPIDJSON_MINOR_VERSION.RAPIDJSON_PATCH_VERSION) - -/////////////////////////////////////////////////////////////////////////////// -// RAPIDJSON_NAMESPACE_(BEGIN|END) -/*! \def RAPIDJSON_NAMESPACE - \ingroup RAPIDJSON_CONFIG - \brief provide custom rapidjson namespace - - In order to avoid symbol clashes and/or "One Definition Rule" errors - between multiple inclusions of (different versions of) RapidJSON in - a single binary, users can customize the name of the main RapidJSON - namespace. - - In case of a single nesting level, defining \c RAPIDJSON_NAMESPACE - to a custom name (e.g. \c MyRapidJSON) is sufficient. If multiple - levels are needed, both \ref RAPIDJSON_NAMESPACE_BEGIN and \ref - RAPIDJSON_NAMESPACE_END need to be defined as well: - - \code - // in some .cpp file - #define RAPIDJSON_NAMESPACE my::rapidjson - #define RAPIDJSON_NAMESPACE_BEGIN namespace my { namespace rapidjson { - #define RAPIDJSON_NAMESPACE_END } } - #include "rapidjson/..." - \endcode - - \see rapidjson - */ -/*! \def RAPIDJSON_NAMESPACE_BEGIN - \ingroup RAPIDJSON_CONFIG - \brief provide custom rapidjson namespace (opening expression) - \see RAPIDJSON_NAMESPACE -*/ -/*! \def RAPIDJSON_NAMESPACE_END - \ingroup RAPIDJSON_CONFIG - \brief provide custom rapidjson namespace (closing expression) - \see RAPIDJSON_NAMESPACE -*/ -#ifndef RAPIDJSON_NAMESPACE -#define RAPIDJSON_NAMESPACE rapidjson -#endif -#ifndef RAPIDJSON_NAMESPACE_BEGIN -#define RAPIDJSON_NAMESPACE_BEGIN namespace RAPIDJSON_NAMESPACE { -#endif -#ifndef RAPIDJSON_NAMESPACE_END -#define RAPIDJSON_NAMESPACE_END } -#endif - -/////////////////////////////////////////////////////////////////////////////// -// RAPIDJSON_HAS_STDSTRING - -#ifndef RAPIDJSON_HAS_STDSTRING -#ifdef RAPIDJSON_DOXYGEN_RUNNING -#define RAPIDJSON_HAS_STDSTRING 1 // force generation of documentation -#else -#define RAPIDJSON_HAS_STDSTRING 0 // no std::string support by default -#endif -/*! \def RAPIDJSON_HAS_STDSTRING - \ingroup RAPIDJSON_CONFIG - \brief Enable RapidJSON support for \c std::string - - By defining this preprocessor symbol to \c 1, several convenience functions for using - \ref rapidjson::GenericValue with \c std::string are enabled, especially - for construction and comparison. - - \hideinitializer -*/ -#endif // !defined(RAPIDJSON_HAS_STDSTRING) - -#if RAPIDJSON_HAS_STDSTRING -#include -#endif // RAPIDJSON_HAS_STDSTRING - -/////////////////////////////////////////////////////////////////////////////// -// RAPIDJSON_NO_INT64DEFINE - -/*! \def RAPIDJSON_NO_INT64DEFINE - \ingroup RAPIDJSON_CONFIG - \brief Use external 64-bit integer types. - - RapidJSON requires the 64-bit integer types \c int64_t and \c uint64_t types - to be available at global scope. - - If users have their own definition, define RAPIDJSON_NO_INT64DEFINE to - prevent RapidJSON from defining its own types. -*/ -#ifndef RAPIDJSON_NO_INT64DEFINE -//!@cond RAPIDJSON_HIDDEN_FROM_DOXYGEN -#if defined(_MSC_VER) && (_MSC_VER < 1800) // Visual Studio 2013 -#include "msinttypes/stdint.h" -#include "msinttypes/inttypes.h" -#else -// Other compilers should have this. -#include -#include -#endif -//!@endcond -#ifdef RAPIDJSON_DOXYGEN_RUNNING -#define RAPIDJSON_NO_INT64DEFINE -#endif -#endif // RAPIDJSON_NO_INT64TYPEDEF - -/////////////////////////////////////////////////////////////////////////////// -// RAPIDJSON_FORCEINLINE - -#ifndef RAPIDJSON_FORCEINLINE -//!@cond RAPIDJSON_HIDDEN_FROM_DOXYGEN -#if defined(_MSC_VER) && defined(NDEBUG) -#define RAPIDJSON_FORCEINLINE __forceinline -#elif defined(__GNUC__) && __GNUC__ >= 4 && defined(NDEBUG) -#define RAPIDJSON_FORCEINLINE __attribute__((always_inline)) -#else -#define RAPIDJSON_FORCEINLINE -#endif -//!@endcond -#endif // RAPIDJSON_FORCEINLINE - -/////////////////////////////////////////////////////////////////////////////// -// RAPIDJSON_ENDIAN -#define RAPIDJSON_LITTLEENDIAN 0 //!< Little endian machine -#define RAPIDJSON_BIGENDIAN 1 //!< Big endian machine - -//! Endianness of the machine. -/*! - \def RAPIDJSON_ENDIAN - \ingroup RAPIDJSON_CONFIG - - GCC 4.6 provided macro for detecting endianness of the target machine. But other - compilers may not have this. User can define RAPIDJSON_ENDIAN to either - \ref RAPIDJSON_LITTLEENDIAN or \ref RAPIDJSON_BIGENDIAN. - - Default detection implemented with reference to - \li https://gcc.gnu.org/onlinedocs/gcc-4.6.0/cpp/Common-Predefined-Macros.html - \li http://www.boost.org/doc/libs/1_42_0/boost/detail/endian.hpp -*/ -#ifndef RAPIDJSON_ENDIAN -// Detect with GCC 4.6's macro -# ifdef __BYTE_ORDER__ -# if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ -# define RAPIDJSON_ENDIAN RAPIDJSON_LITTLEENDIAN -# elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ -# define RAPIDJSON_ENDIAN RAPIDJSON_BIGENDIAN -# else -# error Unknown machine endianness detected. User needs to define RAPIDJSON_ENDIAN. -# endif // __BYTE_ORDER__ -// Detect with GLIBC's endian.h -# elif defined(__GLIBC__) -# include -# if (__BYTE_ORDER == __LITTLE_ENDIAN) -# define RAPIDJSON_ENDIAN RAPIDJSON_LITTLEENDIAN -# elif (__BYTE_ORDER == __BIG_ENDIAN) -# define RAPIDJSON_ENDIAN RAPIDJSON_BIGENDIAN -# else -# error Unknown machine endianness detected. User needs to define RAPIDJSON_ENDIAN. -# endif // __GLIBC__ -// Detect with _LITTLE_ENDIAN and _BIG_ENDIAN macro -# elif defined(_LITTLE_ENDIAN) && !defined(_BIG_ENDIAN) -# define RAPIDJSON_ENDIAN RAPIDJSON_LITTLEENDIAN -# elif defined(_BIG_ENDIAN) && !defined(_LITTLE_ENDIAN) -# define RAPIDJSON_ENDIAN RAPIDJSON_BIGENDIAN -// Detect with architecture macros -# elif defined(__sparc) || defined(__sparc__) || defined(_POWER) || defined(__powerpc__) || defined(__ppc__) || defined(__hpux) || defined(__hppa) || defined(_MIPSEB) || defined(_POWER) || defined(__s390__) -# define RAPIDJSON_ENDIAN RAPIDJSON_BIGENDIAN -# elif defined(__i386__) || defined(__alpha__) || defined(__ia64) || defined(__ia64__) || defined(_M_IX86) || defined(_M_IA64) || defined(_M_ALPHA) || defined(__amd64) || defined(__amd64__) || defined(_M_AMD64) || defined(__x86_64) || defined(__x86_64__) || defined(_M_X64) || defined(__bfin__) -# define RAPIDJSON_ENDIAN RAPIDJSON_LITTLEENDIAN -# elif defined(_MSC_VER) && (defined(_M_ARM) || defined(_M_ARM64)) -# define RAPIDJSON_ENDIAN RAPIDJSON_LITTLEENDIAN -# elif defined(RAPIDJSON_DOXYGEN_RUNNING) -# define RAPIDJSON_ENDIAN -# else -# error Unknown machine endianness detected. User needs to define RAPIDJSON_ENDIAN. -# endif -#endif // RAPIDJSON_ENDIAN - -/////////////////////////////////////////////////////////////////////////////// -// RAPIDJSON_64BIT - -//! Whether using 64-bit architecture -#ifndef RAPIDJSON_64BIT -#if defined(__LP64__) || (defined(__x86_64__) && defined(__ILP32__)) || defined(_WIN64) || defined(__EMSCRIPTEN__) -#define RAPIDJSON_64BIT 1 -#else -#define RAPIDJSON_64BIT 0 -#endif -#endif // RAPIDJSON_64BIT - -/////////////////////////////////////////////////////////////////////////////// -// RAPIDJSON_ALIGN - -//! Data alignment of the machine. -/*! \ingroup RAPIDJSON_CONFIG - \param x pointer to align - - Some machines require strict data alignment. The default is 8 bytes. - User can customize by defining the RAPIDJSON_ALIGN function macro. -*/ -#ifndef RAPIDJSON_ALIGN -#define RAPIDJSON_ALIGN(x) (((x) + static_cast(7u)) & ~static_cast(7u)) -#endif - -/////////////////////////////////////////////////////////////////////////////// -// RAPIDJSON_UINT64_C2 - -//! Construct a 64-bit literal by a pair of 32-bit integer. -/*! - 64-bit literal with or without ULL suffix is prone to compiler warnings. - UINT64_C() is C macro which cause compilation problems. - Use this macro to define 64-bit constants by a pair of 32-bit integer. -*/ -#ifndef RAPIDJSON_UINT64_C2 -#define RAPIDJSON_UINT64_C2(high32, low32) ((static_cast(high32) << 32) | static_cast(low32)) -#endif - -/////////////////////////////////////////////////////////////////////////////// -// RAPIDJSON_48BITPOINTER_OPTIMIZATION - -//! Use only lower 48-bit address for some pointers. -/*! - \ingroup RAPIDJSON_CONFIG - - This optimization uses the fact that current X86-64 architecture only implement lower 48-bit virtual address. - The higher 16-bit can be used for storing other data. - \c GenericValue uses this optimization to reduce its size form 24 bytes to 16 bytes in 64-bit architecture. -*/ -#ifndef RAPIDJSON_48BITPOINTER_OPTIMIZATION -#if defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__x86_64) || defined(_M_X64) || defined(_M_AMD64) -#define RAPIDJSON_48BITPOINTER_OPTIMIZATION 1 -#else -#define RAPIDJSON_48BITPOINTER_OPTIMIZATION 0 -#endif -#endif // RAPIDJSON_48BITPOINTER_OPTIMIZATION - -#if RAPIDJSON_48BITPOINTER_OPTIMIZATION == 1 -#if RAPIDJSON_64BIT != 1 -#error RAPIDJSON_48BITPOINTER_OPTIMIZATION can only be set to 1 when RAPIDJSON_64BIT=1 -#endif -#define RAPIDJSON_SETPOINTER(type, p, x) (p = reinterpret_cast((reinterpret_cast(p) & static_cast(RAPIDJSON_UINT64_C2(0xFFFF0000, 0x00000000))) | reinterpret_cast(reinterpret_cast(x)))) -#define RAPIDJSON_GETPOINTER(type, p) (reinterpret_cast(reinterpret_cast(p) & static_cast(RAPIDJSON_UINT64_C2(0x0000FFFF, 0xFFFFFFFF)))) -#else -#define RAPIDJSON_SETPOINTER(type, p, x) (p = (x)) -#define RAPIDJSON_GETPOINTER(type, p) (p) -#endif - -/////////////////////////////////////////////////////////////////////////////// -// RAPIDJSON_SSE2/RAPIDJSON_SSE42/RAPIDJSON_NEON/RAPIDJSON_SIMD - -/*! \def RAPIDJSON_SIMD - \ingroup RAPIDJSON_CONFIG - \brief Enable SSE2/SSE4.2/Neon optimization. - - RapidJSON supports optimized implementations for some parsing operations - based on the SSE2, SSE4.2 or NEon SIMD extensions on modern Intel - or ARM compatible processors. - - To enable these optimizations, three different symbols can be defined; - \code - // Enable SSE2 optimization. - #define RAPIDJSON_SSE2 - - // Enable SSE4.2 optimization. - #define RAPIDJSON_SSE42 - \endcode - - // Enable ARM Neon optimization. - #define RAPIDJSON_NEON - \endcode - - \c RAPIDJSON_SSE42 takes precedence over SSE2, if both are defined. - - If any of these symbols is defined, RapidJSON defines the macro - \c RAPIDJSON_SIMD to indicate the availability of the optimized code. -*/ -#if defined(RAPIDJSON_SSE2) || defined(RAPIDJSON_SSE42) \ - || defined(RAPIDJSON_NEON) || defined(RAPIDJSON_DOXYGEN_RUNNING) -#define RAPIDJSON_SIMD -#endif - -/////////////////////////////////////////////////////////////////////////////// -// RAPIDJSON_NO_SIZETYPEDEFINE - -#ifndef RAPIDJSON_NO_SIZETYPEDEFINE -/*! \def RAPIDJSON_NO_SIZETYPEDEFINE - \ingroup RAPIDJSON_CONFIG - \brief User-provided \c SizeType definition. - - In order to avoid using 32-bit size types for indexing strings and arrays, - define this preprocessor symbol and provide the type rapidjson::SizeType - before including RapidJSON: - \code - #define RAPIDJSON_NO_SIZETYPEDEFINE - namespace rapidjson { typedef ::std::size_t SizeType; } - #include "rapidjson/..." - \endcode - - \see rapidjson::SizeType -*/ -#ifdef RAPIDJSON_DOXYGEN_RUNNING -#define RAPIDJSON_NO_SIZETYPEDEFINE -#endif -RAPIDJSON_NAMESPACE_BEGIN -//! Size type (for string lengths, array sizes, etc.) -/*! RapidJSON uses 32-bit array/string indices even on 64-bit platforms, - instead of using \c size_t. Users may override the SizeType by defining - \ref RAPIDJSON_NO_SIZETYPEDEFINE. -*/ -typedef unsigned SizeType; -RAPIDJSON_NAMESPACE_END -#endif - -// always import std::size_t to rapidjson namespace -RAPIDJSON_NAMESPACE_BEGIN -using std::size_t; -RAPIDJSON_NAMESPACE_END - -/////////////////////////////////////////////////////////////////////////////// -// RAPIDJSON_ASSERT - -//! Assertion. -/*! \ingroup RAPIDJSON_CONFIG - By default, rapidjson uses C \c assert() for internal assertions. - User can override it by defining RAPIDJSON_ASSERT(x) macro. - - \note Parsing errors are handled and can be customized by the - \ref RAPIDJSON_ERRORS APIs. -*/ -#ifndef RAPIDJSON_ASSERT -#include -#define RAPIDJSON_ASSERT(x) assert(x) -#endif // RAPIDJSON_ASSERT - -/////////////////////////////////////////////////////////////////////////////// -// RAPIDJSON_STATIC_ASSERT - -// Prefer C++11 static_assert, if available -#ifndef RAPIDJSON_STATIC_ASSERT -#if __cplusplus >= 201103L || ( defined(_MSC_VER) && _MSC_VER >= 1800 ) -#define RAPIDJSON_STATIC_ASSERT(x) \ - static_assert(x, RAPIDJSON_STRINGIFY(x)) -#endif // C++11 -#endif // RAPIDJSON_STATIC_ASSERT - -// Adopt C++03 implementation from boost -#ifndef RAPIDJSON_STATIC_ASSERT -#ifndef __clang__ -//!@cond RAPIDJSON_HIDDEN_FROM_DOXYGEN -#endif -RAPIDJSON_NAMESPACE_BEGIN -template struct STATIC_ASSERTION_FAILURE; -template <> struct STATIC_ASSERTION_FAILURE { enum { value = 1 }; }; -template struct StaticAssertTest {}; -RAPIDJSON_NAMESPACE_END - -#if defined(__GNUC__) || defined(__clang__) -#define RAPIDJSON_STATIC_ASSERT_UNUSED_ATTRIBUTE __attribute__((unused)) -#else -#define RAPIDJSON_STATIC_ASSERT_UNUSED_ATTRIBUTE -#endif -#ifndef __clang__ -//!@endcond -#endif - -/*! \def RAPIDJSON_STATIC_ASSERT - \brief (Internal) macro to check for conditions at compile-time - \param x compile-time condition - \hideinitializer - */ -#define RAPIDJSON_STATIC_ASSERT(x) \ - typedef ::RAPIDJSON_NAMESPACE::StaticAssertTest< \ - sizeof(::RAPIDJSON_NAMESPACE::STATIC_ASSERTION_FAILURE)> \ - RAPIDJSON_JOIN(StaticAssertTypedef, __LINE__) RAPIDJSON_STATIC_ASSERT_UNUSED_ATTRIBUTE -#endif // RAPIDJSON_STATIC_ASSERT - -/////////////////////////////////////////////////////////////////////////////// -// RAPIDJSON_LIKELY, RAPIDJSON_UNLIKELY - -//! Compiler branching hint for expression with high probability to be true. -/*! - \ingroup RAPIDJSON_CONFIG - \param x Boolean expression likely to be true. -*/ -#ifndef RAPIDJSON_LIKELY -#if defined(__GNUC__) || defined(__clang__) -#define RAPIDJSON_LIKELY(x) __builtin_expect(!!(x), 1) -#else -#define RAPIDJSON_LIKELY(x) (x) -#endif -#endif - -//! Compiler branching hint for expression with low probability to be true. -/*! - \ingroup RAPIDJSON_CONFIG - \param x Boolean expression unlikely to be true. -*/ -#ifndef RAPIDJSON_UNLIKELY -#if defined(__GNUC__) || defined(__clang__) -#define RAPIDJSON_UNLIKELY(x) __builtin_expect(!!(x), 0) -#else -#define RAPIDJSON_UNLIKELY(x) (x) -#endif -#endif - -/////////////////////////////////////////////////////////////////////////////// -// Helpers - -//!@cond RAPIDJSON_HIDDEN_FROM_DOXYGEN - -#define RAPIDJSON_MULTILINEMACRO_BEGIN do { -#define RAPIDJSON_MULTILINEMACRO_END \ -} while((void)0, 0) - -// adopted from Boost -#define RAPIDJSON_VERSION_CODE(x,y,z) \ - (((x)*100000) + ((y)*100) + (z)) - -/////////////////////////////////////////////////////////////////////////////// -// RAPIDJSON_DIAG_PUSH/POP, RAPIDJSON_DIAG_OFF - -#if defined(__GNUC__) -#define RAPIDJSON_GNUC \ - RAPIDJSON_VERSION_CODE(__GNUC__,__GNUC_MINOR__,__GNUC_PATCHLEVEL__) -#endif - -#if defined(__clang__) || (defined(RAPIDJSON_GNUC) && RAPIDJSON_GNUC >= RAPIDJSON_VERSION_CODE(4,2,0)) - -#define RAPIDJSON_PRAGMA(x) _Pragma(RAPIDJSON_STRINGIFY(x)) -#define RAPIDJSON_DIAG_PRAGMA(x) RAPIDJSON_PRAGMA(GCC diagnostic x) -#define RAPIDJSON_DIAG_OFF(x) \ - RAPIDJSON_DIAG_PRAGMA(ignored RAPIDJSON_STRINGIFY(RAPIDJSON_JOIN(-W,x))) - -// push/pop support in Clang and GCC>=4.6 -#if defined(__clang__) || (defined(RAPIDJSON_GNUC) && RAPIDJSON_GNUC >= RAPIDJSON_VERSION_CODE(4,6,0)) -#define RAPIDJSON_DIAG_PUSH RAPIDJSON_DIAG_PRAGMA(push) -#define RAPIDJSON_DIAG_POP RAPIDJSON_DIAG_PRAGMA(pop) -#else // GCC >= 4.2, < 4.6 -#define RAPIDJSON_DIAG_PUSH /* ignored */ -#define RAPIDJSON_DIAG_POP /* ignored */ -#endif - -#elif defined(_MSC_VER) - -// pragma (MSVC specific) -#define RAPIDJSON_PRAGMA(x) __pragma(x) -#define RAPIDJSON_DIAG_PRAGMA(x) RAPIDJSON_PRAGMA(warning(x)) - -#define RAPIDJSON_DIAG_OFF(x) RAPIDJSON_DIAG_PRAGMA(disable: x) -#define RAPIDJSON_DIAG_PUSH RAPIDJSON_DIAG_PRAGMA(push) -#define RAPIDJSON_DIAG_POP RAPIDJSON_DIAG_PRAGMA(pop) - -#else - -#define RAPIDJSON_DIAG_OFF(x) /* ignored */ -#define RAPIDJSON_DIAG_PUSH /* ignored */ -#define RAPIDJSON_DIAG_POP /* ignored */ - -#endif // RAPIDJSON_DIAG_* - -/////////////////////////////////////////////////////////////////////////////// -// C++11 features - -#ifndef RAPIDJSON_HAS_CXX11_RVALUE_REFS -#if defined(__clang__) -#if __has_feature(cxx_rvalue_references) && \ - (defined(_MSC_VER) || defined(_LIBCPP_VERSION) || defined(__GLIBCXX__) && __GLIBCXX__ >= 20080306) -#define RAPIDJSON_HAS_CXX11_RVALUE_REFS 1 -#else -#define RAPIDJSON_HAS_CXX11_RVALUE_REFS 0 -#endif -#elif (defined(RAPIDJSON_GNUC) && (RAPIDJSON_GNUC >= RAPIDJSON_VERSION_CODE(4,3,0)) && defined(__GXX_EXPERIMENTAL_CXX0X__)) || \ - (defined(_MSC_VER) && _MSC_VER >= 1600) || \ - (defined(__SUNPRO_CC) && __SUNPRO_CC >= 0x5140 && defined(__GXX_EXPERIMENTAL_CXX0X__)) - -#define RAPIDJSON_HAS_CXX11_RVALUE_REFS 1 -#else -#define RAPIDJSON_HAS_CXX11_RVALUE_REFS 0 -#endif -#endif // RAPIDJSON_HAS_CXX11_RVALUE_REFS - -#ifndef RAPIDJSON_HAS_CXX11_NOEXCEPT -#if defined(__clang__) -#define RAPIDJSON_HAS_CXX11_NOEXCEPT __has_feature(cxx_noexcept) -#elif (defined(RAPIDJSON_GNUC) && (RAPIDJSON_GNUC >= RAPIDJSON_VERSION_CODE(4,6,0)) && defined(__GXX_EXPERIMENTAL_CXX0X__)) || \ - (defined(_MSC_VER) && _MSC_VER >= 1900) || \ - (defined(__SUNPRO_CC) && __SUNPRO_CC >= 0x5140 && defined(__GXX_EXPERIMENTAL_CXX0X__)) -#define RAPIDJSON_HAS_CXX11_NOEXCEPT 1 -#else -#define RAPIDJSON_HAS_CXX11_NOEXCEPT 0 -#endif -#endif -#if RAPIDJSON_HAS_CXX11_NOEXCEPT -#define RAPIDJSON_NOEXCEPT noexcept -#else -#define RAPIDJSON_NOEXCEPT /* noexcept */ -#endif // RAPIDJSON_HAS_CXX11_NOEXCEPT - -// no automatic detection, yet -#ifndef RAPIDJSON_HAS_CXX11_TYPETRAITS -#if (defined(_MSC_VER) && _MSC_VER >= 1700) -#define RAPIDJSON_HAS_CXX11_TYPETRAITS 1 -#else -#define RAPIDJSON_HAS_CXX11_TYPETRAITS 0 -#endif -#endif - -#ifndef RAPIDJSON_HAS_CXX11_RANGE_FOR -#if defined(__clang__) -#define RAPIDJSON_HAS_CXX11_RANGE_FOR __has_feature(cxx_range_for) -#elif (defined(RAPIDJSON_GNUC) && (RAPIDJSON_GNUC >= RAPIDJSON_VERSION_CODE(4,6,0)) && defined(__GXX_EXPERIMENTAL_CXX0X__)) || \ - (defined(_MSC_VER) && _MSC_VER >= 1700) || \ - (defined(__SUNPRO_CC) && __SUNPRO_CC >= 0x5140 && defined(__GXX_EXPERIMENTAL_CXX0X__)) -#define RAPIDJSON_HAS_CXX11_RANGE_FOR 1 -#else -#define RAPIDJSON_HAS_CXX11_RANGE_FOR 0 -#endif -#endif // RAPIDJSON_HAS_CXX11_RANGE_FOR - -//!@endcond - -//! Assertion (in non-throwing contexts). - /*! \ingroup RAPIDJSON_CONFIG - Some functions provide a \c noexcept guarantee, if the compiler supports it. - In these cases, the \ref RAPIDJSON_ASSERT macro cannot be overridden to - throw an exception. This macro adds a separate customization point for - such cases. - - Defaults to C \c assert() (as \ref RAPIDJSON_ASSERT), if \c noexcept is - supported, and to \ref RAPIDJSON_ASSERT otherwise. - */ - -/////////////////////////////////////////////////////////////////////////////// -// RAPIDJSON_NOEXCEPT_ASSERT - -#ifndef RAPIDJSON_NOEXCEPT_ASSERT -#ifdef RAPIDJSON_ASSERT_THROWS -#if RAPIDJSON_HAS_CXX11_NOEXCEPT -#define RAPIDJSON_NOEXCEPT_ASSERT(x) -#else -#define RAPIDJSON_NOEXCEPT_ASSERT(x) RAPIDJSON_ASSERT(x) -#endif // RAPIDJSON_HAS_CXX11_NOEXCEPT -#else -#define RAPIDJSON_NOEXCEPT_ASSERT(x) RAPIDJSON_ASSERT(x) -#endif // RAPIDJSON_ASSERT_THROWS -#endif // RAPIDJSON_NOEXCEPT_ASSERT - -/////////////////////////////////////////////////////////////////////////////// -// new/delete - -#ifndef RAPIDJSON_NEW -///! customization point for global \c new -#define RAPIDJSON_NEW(TypeName) new TypeName -#endif -#ifndef RAPIDJSON_DELETE -///! customization point for global \c delete -#define RAPIDJSON_DELETE(x) delete x -#endif - -/////////////////////////////////////////////////////////////////////////////// -// Type - -/*! \namespace rapidjson - \brief main RapidJSON namespace - \see RAPIDJSON_NAMESPACE -*/ -RAPIDJSON_NAMESPACE_BEGIN - -//! Type of JSON value -enum Type { - kNullType = 0, //!< null - kFalseType = 1, //!< false - kTrueType = 2, //!< true - kObjectType = 3, //!< object - kArrayType = 4, //!< array - kStringType = 5, //!< string - kNumberType = 6 //!< number -}; - -RAPIDJSON_NAMESPACE_END - -#endif // RAPIDJSON_RAPIDJSON_H_ diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/reader.h b/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/reader.h deleted file mode 100644 index 44a6bcd30c..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/reader.h +++ /dev/null @@ -1,2230 +0,0 @@ -// Tencent is pleased to support the open source community by making RapidJSON available. -// -// Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. -// -// Licensed under the MIT License (the "License"); you may not use this file except -// in compliance with the License. You may obtain a copy of the License at -// -// http://opensource.org/licenses/MIT -// -// Unless required by applicable law or agreed to in writing, software distributed -// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -// CONDITIONS OF ANY KIND, either express or implied. See the License for the -// specific language governing permissions and limitations under the License. - -#ifndef RAPIDJSON_READER_H_ -#define RAPIDJSON_READER_H_ - -/*! \file reader.h */ - -#include "allocators.h" -#include "stream.h" -#include "encodedstream.h" -#include "internal/meta.h" -#include "internal/stack.h" -#include "internal/strtod.h" -#include - -#if defined(RAPIDJSON_SIMD) && defined(_MSC_VER) -#include -#pragma intrinsic(_BitScanForward) -#endif -#ifdef RAPIDJSON_SSE42 -#include -#elif defined(RAPIDJSON_SSE2) -#include -#elif defined(RAPIDJSON_NEON) -#include -#endif - -#ifdef __clang__ -RAPIDJSON_DIAG_PUSH -RAPIDJSON_DIAG_OFF(old-style-cast) -RAPIDJSON_DIAG_OFF(padded) -RAPIDJSON_DIAG_OFF(switch-enum) -#elif defined(_MSC_VER) -RAPIDJSON_DIAG_PUSH -RAPIDJSON_DIAG_OFF(4127) // conditional expression is constant -RAPIDJSON_DIAG_OFF(4702) // unreachable code -#endif - -#ifdef __GNUC__ -RAPIDJSON_DIAG_PUSH -RAPIDJSON_DIAG_OFF(effc++) -#endif - -//!@cond RAPIDJSON_HIDDEN_FROM_DOXYGEN -#define RAPIDJSON_NOTHING /* deliberately empty */ -#ifndef RAPIDJSON_PARSE_ERROR_EARLY_RETURN -#define RAPIDJSON_PARSE_ERROR_EARLY_RETURN(value) \ - RAPIDJSON_MULTILINEMACRO_BEGIN \ - if (RAPIDJSON_UNLIKELY(HasParseError())) { return value; } \ - RAPIDJSON_MULTILINEMACRO_END -#endif -#define RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID \ - RAPIDJSON_PARSE_ERROR_EARLY_RETURN(RAPIDJSON_NOTHING) -//!@endcond - -/*! \def RAPIDJSON_PARSE_ERROR_NORETURN - \ingroup RAPIDJSON_ERRORS - \brief Macro to indicate a parse error. - \param parseErrorCode \ref rapidjson::ParseErrorCode of the error - \param offset position of the error in JSON input (\c size_t) - - This macros can be used as a customization point for the internal - error handling mechanism of RapidJSON. - - A common usage model is to throw an exception instead of requiring the - caller to explicitly check the \ref rapidjson::GenericReader::Parse's - return value: - - \code - #define RAPIDJSON_PARSE_ERROR_NORETURN(parseErrorCode,offset) \ - throw ParseException(parseErrorCode, #parseErrorCode, offset) - - #include // std::runtime_error - #include "rapidjson/error/error.h" // rapidjson::ParseResult - - struct ParseException : std::runtime_error, rapidjson::ParseResult { - ParseException(rapidjson::ParseErrorCode code, const char* msg, size_t offset) - : std::runtime_error(msg), ParseResult(code, offset) {} - }; - - #include "rapidjson/reader.h" - \endcode - - \see RAPIDJSON_PARSE_ERROR, rapidjson::GenericReader::Parse - */ -#ifndef RAPIDJSON_PARSE_ERROR_NORETURN -#define RAPIDJSON_PARSE_ERROR_NORETURN(parseErrorCode, offset) \ - RAPIDJSON_MULTILINEMACRO_BEGIN \ - RAPIDJSON_ASSERT(!HasParseError()); /* Error can only be assigned once */ \ - SetParseError(parseErrorCode, offset); \ - RAPIDJSON_MULTILINEMACRO_END -#endif - -/*! \def RAPIDJSON_PARSE_ERROR - \ingroup RAPIDJSON_ERRORS - \brief (Internal) macro to indicate and handle a parse error. - \param parseErrorCode \ref rapidjson::ParseErrorCode of the error - \param offset position of the error in JSON input (\c size_t) - - Invokes RAPIDJSON_PARSE_ERROR_NORETURN and stops the parsing. - - \see RAPIDJSON_PARSE_ERROR_NORETURN - \hideinitializer - */ -#ifndef RAPIDJSON_PARSE_ERROR -#define RAPIDJSON_PARSE_ERROR(parseErrorCode, offset) \ - RAPIDJSON_MULTILINEMACRO_BEGIN \ - RAPIDJSON_PARSE_ERROR_NORETURN(parseErrorCode, offset); \ - RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID; \ - RAPIDJSON_MULTILINEMACRO_END -#endif - -#include "error/error.h" // ParseErrorCode, ParseResult - -RAPIDJSON_NAMESPACE_BEGIN - -/////////////////////////////////////////////////////////////////////////////// -// ParseFlag - -/*! \def RAPIDJSON_PARSE_DEFAULT_FLAGS - \ingroup RAPIDJSON_CONFIG - \brief User-defined kParseDefaultFlags definition. - - User can define this as any \c ParseFlag combinations. -*/ -#ifndef RAPIDJSON_PARSE_DEFAULT_FLAGS -#define RAPIDJSON_PARSE_DEFAULT_FLAGS kParseNoFlags -#endif - -//! Combination of parseFlags -/*! \see Reader::Parse, Document::Parse, Document::ParseInsitu, Document::ParseStream - */ -enum ParseFlag { - kParseNoFlags = 0, //!< No flags are set. - kParseInsituFlag = 1, //!< In-situ(destructive) parsing. - kParseValidateEncodingFlag = 2, //!< Validate encoding of JSON strings. - kParseIterativeFlag = 4, //!< Iterative(constant complexity in terms of function call stack size) parsing. - kParseStopWhenDoneFlag = 8, //!< After parsing a complete JSON root from stream, stop further processing the rest of stream. When this flag is used, parser will not generate kParseErrorDocumentRootNotSingular error. - kParseFullPrecisionFlag = 16, //!< Parse number in full precision (but slower). - kParseCommentsFlag = 32, //!< Allow one-line (//) and multi-line (/**/) comments. - kParseNumbersAsStringsFlag = 64, //!< Parse all numbers (ints/doubles) as strings. - kParseTrailingCommasFlag = 128, //!< Allow trailing commas at the end of objects and arrays. - kParseNanAndInfFlag = 256, //!< Allow parsing NaN, Inf, Infinity, -Inf and -Infinity as doubles. - kParseDefaultFlags = RAPIDJSON_PARSE_DEFAULT_FLAGS //!< Default parse flags. Can be customized by defining RAPIDJSON_PARSE_DEFAULT_FLAGS -}; - -/////////////////////////////////////////////////////////////////////////////// -// Handler - -/*! \class rapidjson::Handler - \brief Concept for receiving events from GenericReader upon parsing. - The functions return true if no error occurs. If they return false, - the event publisher should terminate the process. -\code -concept Handler { - typename Ch; - - bool Null(); - bool Bool(bool b); - bool Int(int i); - bool Uint(unsigned i); - bool Int64(int64_t i); - bool Uint64(uint64_t i); - bool Double(double d); - /// enabled via kParseNumbersAsStringsFlag, string is not null-terminated (use length) - bool RawNumber(const Ch* str, SizeType length, bool copy); - bool String(const Ch* str, SizeType length, bool copy); - bool StartObject(); - bool Key(const Ch* str, SizeType length, bool copy); - bool EndObject(SizeType memberCount); - bool StartArray(); - bool EndArray(SizeType elementCount); -}; -\endcode -*/ -/////////////////////////////////////////////////////////////////////////////// -// BaseReaderHandler - -//! Default implementation of Handler. -/*! This can be used as base class of any reader handler. - \note implements Handler concept -*/ -template, typename Derived = void> -struct BaseReaderHandler { - typedef typename Encoding::Ch Ch; - - typedef typename internal::SelectIf, BaseReaderHandler, Derived>::Type Override; - - bool Default() { return true; } - bool Null() { return static_cast(*this).Default(); } - bool Bool(bool) { return static_cast(*this).Default(); } - bool Int(int) { return static_cast(*this).Default(); } - bool Uint(unsigned) { return static_cast(*this).Default(); } - bool Int64(int64_t) { return static_cast(*this).Default(); } - bool Uint64(uint64_t) { return static_cast(*this).Default(); } - bool Double(double) { return static_cast(*this).Default(); } - /// enabled via kParseNumbersAsStringsFlag, string is not null-terminated (use length) - bool RawNumber(const Ch* str, SizeType len, bool copy) { return static_cast(*this).String(str, len, copy); } - bool String(const Ch*, SizeType, bool) { return static_cast(*this).Default(); } - bool StartObject() { return static_cast(*this).Default(); } - bool Key(const Ch* str, SizeType len, bool copy) { return static_cast(*this).String(str, len, copy); } - bool EndObject(SizeType) { return static_cast(*this).Default(); } - bool StartArray() { return static_cast(*this).Default(); } - bool EndArray(SizeType) { return static_cast(*this).Default(); } -}; - -/////////////////////////////////////////////////////////////////////////////// -// StreamLocalCopy - -namespace internal { - -template::copyOptimization> -class StreamLocalCopy; - -//! Do copy optimization. -template -class StreamLocalCopy { -public: - StreamLocalCopy(Stream& original) : s(original), original_(original) {} - ~StreamLocalCopy() { original_ = s; } - - Stream s; - -private: - StreamLocalCopy& operator=(const StreamLocalCopy&) /* = delete */; - - Stream& original_; -}; - -//! Keep reference. -template -class StreamLocalCopy { -public: - StreamLocalCopy(Stream& original) : s(original) {} - - Stream& s; - -private: - StreamLocalCopy& operator=(const StreamLocalCopy&) /* = delete */; -}; - -} // namespace internal - -/////////////////////////////////////////////////////////////////////////////// -// SkipWhitespace - -//! Skip the JSON white spaces in a stream. -/*! \param is A input stream for skipping white spaces. - \note This function has SSE2/SSE4.2 specialization. -*/ -template -void SkipWhitespace(InputStream& is) { - internal::StreamLocalCopy copy(is); - InputStream& s(copy.s); - - typename InputStream::Ch c; - while ((c = s.Peek()) == ' ' || c == '\n' || c == '\r' || c == '\t') - s.Take(); -} - -inline const char* SkipWhitespace(const char* p, const char* end) { - while (p != end && (*p == ' ' || *p == '\n' || *p == '\r' || *p == '\t')) - ++p; - return p; -} - -#ifdef RAPIDJSON_SSE42 -//! Skip whitespace with SSE 4.2 pcmpistrm instruction, testing 16 8-byte characters at once. -inline const char *SkipWhitespace_SIMD(const char* p) { - // Fast return for single non-whitespace - if (*p == ' ' || *p == '\n' || *p == '\r' || *p == '\t') - ++p; - else - return p; - - // 16-byte align to the next boundary - const char* nextAligned = reinterpret_cast((reinterpret_cast(p) + 15) & static_cast(~15)); - while (p != nextAligned) - if (*p == ' ' || *p == '\n' || *p == '\r' || *p == '\t') - ++p; - else - return p; - - // The rest of string using SIMD - static const char whitespace[16] = " \n\r\t"; - const __m128i w = _mm_loadu_si128(reinterpret_cast(&whitespace[0])); - - for (;; p += 16) { - const __m128i s = _mm_load_si128(reinterpret_cast(p)); - const int r = _mm_cmpistri(w, s, _SIDD_UBYTE_OPS | _SIDD_CMP_EQUAL_ANY | _SIDD_LEAST_SIGNIFICANT | _SIDD_NEGATIVE_POLARITY); - if (r != 16) // some of characters is non-whitespace - return p + r; - } -} - -inline const char *SkipWhitespace_SIMD(const char* p, const char* end) { - // Fast return for single non-whitespace - if (p != end && (*p == ' ' || *p == '\n' || *p == '\r' || *p == '\t')) - ++p; - else - return p; - - // The middle of string using SIMD - static const char whitespace[16] = " \n\r\t"; - const __m128i w = _mm_loadu_si128(reinterpret_cast(&whitespace[0])); - - for (; p <= end - 16; p += 16) { - const __m128i s = _mm_loadu_si128(reinterpret_cast(p)); - const int r = _mm_cmpistri(w, s, _SIDD_UBYTE_OPS | _SIDD_CMP_EQUAL_ANY | _SIDD_LEAST_SIGNIFICANT | _SIDD_NEGATIVE_POLARITY); - if (r != 16) // some of characters is non-whitespace - return p + r; - } - - return SkipWhitespace(p, end); -} - -#elif defined(RAPIDJSON_SSE2) - -//! Skip whitespace with SSE2 instructions, testing 16 8-byte characters at once. -inline const char *SkipWhitespace_SIMD(const char* p) { - // Fast return for single non-whitespace - if (*p == ' ' || *p == '\n' || *p == '\r' || *p == '\t') - ++p; - else - return p; - - // 16-byte align to the next boundary - const char* nextAligned = reinterpret_cast((reinterpret_cast(p) + 15) & static_cast(~15)); - while (p != nextAligned) - if (*p == ' ' || *p == '\n' || *p == '\r' || *p == '\t') - ++p; - else - return p; - - // The rest of string - #define C16(c) { c, c, c, c, c, c, c, c, c, c, c, c, c, c, c, c } - static const char whitespaces[4][16] = { C16(' '), C16('\n'), C16('\r'), C16('\t') }; - #undef C16 - - const __m128i w0 = _mm_loadu_si128(reinterpret_cast(&whitespaces[0][0])); - const __m128i w1 = _mm_loadu_si128(reinterpret_cast(&whitespaces[1][0])); - const __m128i w2 = _mm_loadu_si128(reinterpret_cast(&whitespaces[2][0])); - const __m128i w3 = _mm_loadu_si128(reinterpret_cast(&whitespaces[3][0])); - - for (;; p += 16) { - const __m128i s = _mm_load_si128(reinterpret_cast(p)); - __m128i x = _mm_cmpeq_epi8(s, w0); - x = _mm_or_si128(x, _mm_cmpeq_epi8(s, w1)); - x = _mm_or_si128(x, _mm_cmpeq_epi8(s, w2)); - x = _mm_or_si128(x, _mm_cmpeq_epi8(s, w3)); - unsigned short r = static_cast(~_mm_movemask_epi8(x)); - if (r != 0) { // some of characters may be non-whitespace -#ifdef _MSC_VER // Find the index of first non-whitespace - unsigned long offset; - _BitScanForward(&offset, r); - return p + offset; -#else - return p + __builtin_ffs(r) - 1; -#endif - } - } -} - -inline const char *SkipWhitespace_SIMD(const char* p, const char* end) { - // Fast return for single non-whitespace - if (p != end && (*p == ' ' || *p == '\n' || *p == '\r' || *p == '\t')) - ++p; - else - return p; - - // The rest of string - #define C16(c) { c, c, c, c, c, c, c, c, c, c, c, c, c, c, c, c } - static const char whitespaces[4][16] = { C16(' '), C16('\n'), C16('\r'), C16('\t') }; - #undef C16 - - const __m128i w0 = _mm_loadu_si128(reinterpret_cast(&whitespaces[0][0])); - const __m128i w1 = _mm_loadu_si128(reinterpret_cast(&whitespaces[1][0])); - const __m128i w2 = _mm_loadu_si128(reinterpret_cast(&whitespaces[2][0])); - const __m128i w3 = _mm_loadu_si128(reinterpret_cast(&whitespaces[3][0])); - - for (; p <= end - 16; p += 16) { - const __m128i s = _mm_loadu_si128(reinterpret_cast(p)); - __m128i x = _mm_cmpeq_epi8(s, w0); - x = _mm_or_si128(x, _mm_cmpeq_epi8(s, w1)); - x = _mm_or_si128(x, _mm_cmpeq_epi8(s, w2)); - x = _mm_or_si128(x, _mm_cmpeq_epi8(s, w3)); - unsigned short r = static_cast(~_mm_movemask_epi8(x)); - if (r != 0) { // some of characters may be non-whitespace -#ifdef _MSC_VER // Find the index of first non-whitespace - unsigned long offset; - _BitScanForward(&offset, r); - return p + offset; -#else - return p + __builtin_ffs(r) - 1; -#endif - } - } - - return SkipWhitespace(p, end); -} - -#elif defined(RAPIDJSON_NEON) - -//! Skip whitespace with ARM Neon instructions, testing 16 8-byte characters at once. -inline const char *SkipWhitespace_SIMD(const char* p) { - // Fast return for single non-whitespace - if (*p == ' ' || *p == '\n' || *p == '\r' || *p == '\t') - ++p; - else - return p; - - // 16-byte align to the next boundary - const char* nextAligned = reinterpret_cast((reinterpret_cast(p) + 15) & static_cast(~15)); - while (p != nextAligned) - if (*p == ' ' || *p == '\n' || *p == '\r' || *p == '\t') - ++p; - else - return p; - - const uint8x16_t w0 = vmovq_n_u8(' '); - const uint8x16_t w1 = vmovq_n_u8('\n'); - const uint8x16_t w2 = vmovq_n_u8('\r'); - const uint8x16_t w3 = vmovq_n_u8('\t'); - - for (;; p += 16) { - const uint8x16_t s = vld1q_u8(reinterpret_cast(p)); - uint8x16_t x = vceqq_u8(s, w0); - x = vorrq_u8(x, vceqq_u8(s, w1)); - x = vorrq_u8(x, vceqq_u8(s, w2)); - x = vorrq_u8(x, vceqq_u8(s, w3)); - - x = vmvnq_u8(x); // Negate - x = vrev64q_u8(x); // Rev in 64 - uint64_t low = vgetq_lane_u64(reinterpret_cast(x), 0); // extract - uint64_t high = vgetq_lane_u64(reinterpret_cast(x), 1); // extract - - if (low == 0) { - if (high != 0) { - int lz =__builtin_clzll(high);; - return p + 8 + (lz >> 3); - } - } else { - int lz = __builtin_clzll(low);; - return p + (lz >> 3); - } - } -} - -inline const char *SkipWhitespace_SIMD(const char* p, const char* end) { - // Fast return for single non-whitespace - if (p != end && (*p == ' ' || *p == '\n' || *p == '\r' || *p == '\t')) - ++p; - else - return p; - - const uint8x16_t w0 = vmovq_n_u8(' '); - const uint8x16_t w1 = vmovq_n_u8('\n'); - const uint8x16_t w2 = vmovq_n_u8('\r'); - const uint8x16_t w3 = vmovq_n_u8('\t'); - - for (; p <= end - 16; p += 16) { - const uint8x16_t s = vld1q_u8(reinterpret_cast(p)); - uint8x16_t x = vceqq_u8(s, w0); - x = vorrq_u8(x, vceqq_u8(s, w1)); - x = vorrq_u8(x, vceqq_u8(s, w2)); - x = vorrq_u8(x, vceqq_u8(s, w3)); - - x = vmvnq_u8(x); // Negate - x = vrev64q_u8(x); // Rev in 64 - uint64_t low = vgetq_lane_u64(reinterpret_cast(x), 0); // extract - uint64_t high = vgetq_lane_u64(reinterpret_cast(x), 1); // extract - - if (low == 0) { - if (high != 0) { - int lz = __builtin_clzll(high); - return p + 8 + (lz >> 3); - } - } else { - int lz = __builtin_clzll(low); - return p + (lz >> 3); - } - } - - return SkipWhitespace(p, end); -} - -#endif // RAPIDJSON_NEON - -#ifdef RAPIDJSON_SIMD -//! Template function specialization for InsituStringStream -template<> inline void SkipWhitespace(InsituStringStream& is) { - is.src_ = const_cast(SkipWhitespace_SIMD(is.src_)); -} - -//! Template function specialization for StringStream -template<> inline void SkipWhitespace(StringStream& is) { - is.src_ = SkipWhitespace_SIMD(is.src_); -} - -template<> inline void SkipWhitespace(EncodedInputStream, MemoryStream>& is) { - is.is_.src_ = SkipWhitespace_SIMD(is.is_.src_, is.is_.end_); -} -#endif // RAPIDJSON_SIMD - -/////////////////////////////////////////////////////////////////////////////// -// GenericReader - -//! SAX-style JSON parser. Use \ref Reader for UTF8 encoding and default allocator. -/*! GenericReader parses JSON text from a stream, and send events synchronously to an - object implementing Handler concept. - - It needs to allocate a stack for storing a single decoded string during - non-destructive parsing. - - For in-situ parsing, the decoded string is directly written to the source - text string, no temporary buffer is required. - - A GenericReader object can be reused for parsing multiple JSON text. - - \tparam SourceEncoding Encoding of the input stream. - \tparam TargetEncoding Encoding of the parse output. - \tparam StackAllocator Allocator type for stack. -*/ -template -class GenericReader { -public: - typedef typename SourceEncoding::Ch Ch; //!< SourceEncoding character type - - //! Constructor. - /*! \param stackAllocator Optional allocator for allocating stack memory. (Only use for non-destructive parsing) - \param stackCapacity stack capacity in bytes for storing a single decoded string. (Only use for non-destructive parsing) - */ - GenericReader(StackAllocator* stackAllocator = 0, size_t stackCapacity = kDefaultStackCapacity) : - stack_(stackAllocator, stackCapacity), parseResult_(), state_(IterativeParsingStartState) {} - - //! Parse JSON text. - /*! \tparam parseFlags Combination of \ref ParseFlag. - \tparam InputStream Type of input stream, implementing Stream concept. - \tparam Handler Type of handler, implementing Handler concept. - \param is Input stream to be parsed. - \param handler The handler to receive events. - \return Whether the parsing is successful. - */ - template - ParseResult Parse(InputStream& is, Handler& handler) { - if (parseFlags & kParseIterativeFlag) - return IterativeParse(is, handler); - - parseResult_.Clear(); - - ClearStackOnExit scope(*this); - - SkipWhitespaceAndComments(is); - RAPIDJSON_PARSE_ERROR_EARLY_RETURN(parseResult_); - - if (RAPIDJSON_UNLIKELY(is.Peek() == '\0')) { - RAPIDJSON_PARSE_ERROR_NORETURN(kParseErrorDocumentEmpty, is.Tell()); - RAPIDJSON_PARSE_ERROR_EARLY_RETURN(parseResult_); - } - else { - ParseValue(is, handler); - RAPIDJSON_PARSE_ERROR_EARLY_RETURN(parseResult_); - - if (!(parseFlags & kParseStopWhenDoneFlag)) { - SkipWhitespaceAndComments(is); - RAPIDJSON_PARSE_ERROR_EARLY_RETURN(parseResult_); - - if (RAPIDJSON_UNLIKELY(is.Peek() != '\0')) { - RAPIDJSON_PARSE_ERROR_NORETURN(kParseErrorDocumentRootNotSingular, is.Tell()); - RAPIDJSON_PARSE_ERROR_EARLY_RETURN(parseResult_); - } - } - } - - return parseResult_; - } - - //! Parse JSON text (with \ref kParseDefaultFlags) - /*! \tparam InputStream Type of input stream, implementing Stream concept - \tparam Handler Type of handler, implementing Handler concept. - \param is Input stream to be parsed. - \param handler The handler to receive events. - \return Whether the parsing is successful. - */ - template - ParseResult Parse(InputStream& is, Handler& handler) { - return Parse(is, handler); - } - - //! Initialize JSON text token-by-token parsing - /*! - */ - void IterativeParseInit() { - parseResult_.Clear(); - state_ = IterativeParsingStartState; - } - - //! Parse one token from JSON text - /*! \tparam InputStream Type of input stream, implementing Stream concept - \tparam Handler Type of handler, implementing Handler concept. - \param is Input stream to be parsed. - \param handler The handler to receive events. - \return Whether the parsing is successful. - */ - template - bool IterativeParseNext(InputStream& is, Handler& handler) { - while (RAPIDJSON_LIKELY(is.Peek() != '\0')) { - SkipWhitespaceAndComments(is); - - Token t = Tokenize(is.Peek()); - IterativeParsingState n = Predict(state_, t); - IterativeParsingState d = Transit(state_, t, n, is, handler); - - // If we've finished or hit an error... - if (RAPIDJSON_UNLIKELY(IsIterativeParsingCompleteState(d))) { - // Report errors. - if (d == IterativeParsingErrorState) { - HandleError(state_, is); - return false; - } - - // Transition to the finish state. - RAPIDJSON_ASSERT(d == IterativeParsingFinishState); - state_ = d; - - // If StopWhenDone is not set... - if (!(parseFlags & kParseStopWhenDoneFlag)) { - // ... and extra non-whitespace data is found... - SkipWhitespaceAndComments(is); - if (is.Peek() != '\0') { - // ... this is considered an error. - HandleError(state_, is); - return false; - } - } - - // Success! We are done! - return true; - } - - // Transition to the new state. - state_ = d; - - // If we parsed anything other than a delimiter, we invoked the handler, so we can return true now. - if (!IsIterativeParsingDelimiterState(n)) - return true; - } - - // We reached the end of file. - stack_.Clear(); - - if (state_ != IterativeParsingFinishState) { - HandleError(state_, is); - return false; - } - - return true; - } - - //! Check if token-by-token parsing JSON text is complete - /*! \return Whether the JSON has been fully decoded. - */ - RAPIDJSON_FORCEINLINE bool IterativeParseComplete() const { - return IsIterativeParsingCompleteState(state_); - } - - //! Whether a parse error has occurred in the last parsing. - bool HasParseError() const { return parseResult_.IsError(); } - - //! Get the \ref ParseErrorCode of last parsing. - ParseErrorCode GetParseErrorCode() const { return parseResult_.Code(); } - - //! Get the position of last parsing error in input, 0 otherwise. - size_t GetErrorOffset() const { return parseResult_.Offset(); } - -protected: - void SetParseError(ParseErrorCode code, size_t offset) { parseResult_.Set(code, offset); } - -private: - // Prohibit copy constructor & assignment operator. - GenericReader(const GenericReader&); - GenericReader& operator=(const GenericReader&); - - void ClearStack() { stack_.Clear(); } - - // clear stack on any exit from ParseStream, e.g. due to exception - struct ClearStackOnExit { - explicit ClearStackOnExit(GenericReader& r) : r_(r) {} - ~ClearStackOnExit() { r_.ClearStack(); } - private: - GenericReader& r_; - ClearStackOnExit(const ClearStackOnExit&); - ClearStackOnExit& operator=(const ClearStackOnExit&); - }; - - template - void SkipWhitespaceAndComments(InputStream& is) { - SkipWhitespace(is); - - if (parseFlags & kParseCommentsFlag) { - while (RAPIDJSON_UNLIKELY(Consume(is, '/'))) { - if (Consume(is, '*')) { - while (true) { - if (RAPIDJSON_UNLIKELY(is.Peek() == '\0')) - RAPIDJSON_PARSE_ERROR(kParseErrorUnspecificSyntaxError, is.Tell()); - else if (Consume(is, '*')) { - if (Consume(is, '/')) - break; - } - else - is.Take(); - } - } - else if (RAPIDJSON_LIKELY(Consume(is, '/'))) - while (is.Peek() != '\0' && is.Take() != '\n') {} - else - RAPIDJSON_PARSE_ERROR(kParseErrorUnspecificSyntaxError, is.Tell()); - - SkipWhitespace(is); - } - } - } - - // Parse object: { string : value, ... } - template - void ParseObject(InputStream& is, Handler& handler) { - RAPIDJSON_ASSERT(is.Peek() == '{'); - is.Take(); // Skip '{' - - if (RAPIDJSON_UNLIKELY(!handler.StartObject())) - RAPIDJSON_PARSE_ERROR(kParseErrorTermination, is.Tell()); - - SkipWhitespaceAndComments(is); - RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID; - - if (Consume(is, '}')) { - if (RAPIDJSON_UNLIKELY(!handler.EndObject(0))) // empty object - RAPIDJSON_PARSE_ERROR(kParseErrorTermination, is.Tell()); - return; - } - - for (SizeType memberCount = 0;;) { - if (RAPIDJSON_UNLIKELY(is.Peek() != '"')) - RAPIDJSON_PARSE_ERROR(kParseErrorObjectMissName, is.Tell()); - - ParseString(is, handler, true); - RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID; - - SkipWhitespaceAndComments(is); - RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID; - - if (RAPIDJSON_UNLIKELY(!Consume(is, ':'))) - RAPIDJSON_PARSE_ERROR(kParseErrorObjectMissColon, is.Tell()); - - SkipWhitespaceAndComments(is); - RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID; - - ParseValue(is, handler); - RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID; - - SkipWhitespaceAndComments(is); - RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID; - - ++memberCount; - - switch (is.Peek()) { - case ',': - is.Take(); - SkipWhitespaceAndComments(is); - RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID; - break; - case '}': - is.Take(); - if (RAPIDJSON_UNLIKELY(!handler.EndObject(memberCount))) - RAPIDJSON_PARSE_ERROR(kParseErrorTermination, is.Tell()); - return; - default: - RAPIDJSON_PARSE_ERROR(kParseErrorObjectMissCommaOrCurlyBracket, is.Tell()); break; // This useless break is only for making warning and coverage happy - } - - if (parseFlags & kParseTrailingCommasFlag) { - if (is.Peek() == '}') { - if (RAPIDJSON_UNLIKELY(!handler.EndObject(memberCount))) - RAPIDJSON_PARSE_ERROR(kParseErrorTermination, is.Tell()); - is.Take(); - return; - } - } - } - } - - // Parse array: [ value, ... ] - template - void ParseArray(InputStream& is, Handler& handler) { - RAPIDJSON_ASSERT(is.Peek() == '['); - is.Take(); // Skip '[' - - if (RAPIDJSON_UNLIKELY(!handler.StartArray())) - RAPIDJSON_PARSE_ERROR(kParseErrorTermination, is.Tell()); - - SkipWhitespaceAndComments(is); - RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID; - - if (Consume(is, ']')) { - if (RAPIDJSON_UNLIKELY(!handler.EndArray(0))) // empty array - RAPIDJSON_PARSE_ERROR(kParseErrorTermination, is.Tell()); - return; - } - - for (SizeType elementCount = 0;;) { - ParseValue(is, handler); - RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID; - - ++elementCount; - SkipWhitespaceAndComments(is); - RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID; - - if (Consume(is, ',')) { - SkipWhitespaceAndComments(is); - RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID; - } - else if (Consume(is, ']')) { - if (RAPIDJSON_UNLIKELY(!handler.EndArray(elementCount))) - RAPIDJSON_PARSE_ERROR(kParseErrorTermination, is.Tell()); - return; - } - else - RAPIDJSON_PARSE_ERROR(kParseErrorArrayMissCommaOrSquareBracket, is.Tell()); - - if (parseFlags & kParseTrailingCommasFlag) { - if (is.Peek() == ']') { - if (RAPIDJSON_UNLIKELY(!handler.EndArray(elementCount))) - RAPIDJSON_PARSE_ERROR(kParseErrorTermination, is.Tell()); - is.Take(); - return; - } - } - } - } - - template - void ParseNull(InputStream& is, Handler& handler) { - RAPIDJSON_ASSERT(is.Peek() == 'n'); - is.Take(); - - if (RAPIDJSON_LIKELY(Consume(is, 'u') && Consume(is, 'l') && Consume(is, 'l'))) { - if (RAPIDJSON_UNLIKELY(!handler.Null())) - RAPIDJSON_PARSE_ERROR(kParseErrorTermination, is.Tell()); - } - else - RAPIDJSON_PARSE_ERROR(kParseErrorValueInvalid, is.Tell()); - } - - template - void ParseTrue(InputStream& is, Handler& handler) { - RAPIDJSON_ASSERT(is.Peek() == 't'); - is.Take(); - - if (RAPIDJSON_LIKELY(Consume(is, 'r') && Consume(is, 'u') && Consume(is, 'e'))) { - if (RAPIDJSON_UNLIKELY(!handler.Bool(true))) - RAPIDJSON_PARSE_ERROR(kParseErrorTermination, is.Tell()); - } - else - RAPIDJSON_PARSE_ERROR(kParseErrorValueInvalid, is.Tell()); - } - - template - void ParseFalse(InputStream& is, Handler& handler) { - RAPIDJSON_ASSERT(is.Peek() == 'f'); - is.Take(); - - if (RAPIDJSON_LIKELY(Consume(is, 'a') && Consume(is, 'l') && Consume(is, 's') && Consume(is, 'e'))) { - if (RAPIDJSON_UNLIKELY(!handler.Bool(false))) - RAPIDJSON_PARSE_ERROR(kParseErrorTermination, is.Tell()); - } - else - RAPIDJSON_PARSE_ERROR(kParseErrorValueInvalid, is.Tell()); - } - - template - RAPIDJSON_FORCEINLINE static bool Consume(InputStream& is, typename InputStream::Ch expect) { - if (RAPIDJSON_LIKELY(is.Peek() == expect)) { - is.Take(); - return true; - } - else - return false; - } - - // Helper function to parse four hexadecimal digits in \uXXXX in ParseString(). - template - unsigned ParseHex4(InputStream& is, size_t escapeOffset) { - unsigned codepoint = 0; - for (int i = 0; i < 4; i++) { - Ch c = is.Peek(); - codepoint <<= 4; - codepoint += static_cast(c); - if (c >= '0' && c <= '9') - codepoint -= '0'; - else if (c >= 'A' && c <= 'F') - codepoint -= 'A' - 10; - else if (c >= 'a' && c <= 'f') - codepoint -= 'a' - 10; - else { - RAPIDJSON_PARSE_ERROR_NORETURN(kParseErrorStringUnicodeEscapeInvalidHex, escapeOffset); - RAPIDJSON_PARSE_ERROR_EARLY_RETURN(0); - } - is.Take(); - } - return codepoint; - } - - template - class StackStream { - public: - typedef CharType Ch; - - StackStream(internal::Stack& stack) : stack_(stack), length_(0) {} - RAPIDJSON_FORCEINLINE void Put(Ch c) { - *stack_.template Push() = c; - ++length_; - } - - RAPIDJSON_FORCEINLINE void* Push(SizeType count) { - length_ += count; - return stack_.template Push(count); - } - - size_t Length() const { return length_; } - - Ch* Pop() { - return stack_.template Pop(length_); - } - - private: - StackStream(const StackStream&); - StackStream& operator=(const StackStream&); - - internal::Stack& stack_; - SizeType length_; - }; - - // Parse string and generate String event. Different code paths for kParseInsituFlag. - template - void ParseString(InputStream& is, Handler& handler, bool isKey = false) { - internal::StreamLocalCopy copy(is); - InputStream& s(copy.s); - - RAPIDJSON_ASSERT(s.Peek() == '\"'); - s.Take(); // Skip '\"' - - bool success = false; - if (parseFlags & kParseInsituFlag) { - typename InputStream::Ch *head = s.PutBegin(); - ParseStringToStream(s, s); - RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID; - size_t length = s.PutEnd(head) - 1; - RAPIDJSON_ASSERT(length <= 0xFFFFFFFF); - const typename TargetEncoding::Ch* const str = reinterpret_cast(head); - success = (isKey ? handler.Key(str, SizeType(length), false) : handler.String(str, SizeType(length), false)); - } - else { - StackStream stackStream(stack_); - ParseStringToStream(s, stackStream); - RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID; - SizeType length = static_cast(stackStream.Length()) - 1; - const typename TargetEncoding::Ch* const str = stackStream.Pop(); - success = (isKey ? handler.Key(str, length, true) : handler.String(str, length, true)); - } - if (RAPIDJSON_UNLIKELY(!success)) - RAPIDJSON_PARSE_ERROR(kParseErrorTermination, s.Tell()); - } - - // Parse string to an output is - // This function handles the prefix/suffix double quotes, escaping, and optional encoding validation. - template - RAPIDJSON_FORCEINLINE void ParseStringToStream(InputStream& is, OutputStream& os) { -//!@cond RAPIDJSON_HIDDEN_FROM_DOXYGEN -#define Z16 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - static const char escape[256] = { - Z16, Z16, 0, 0,'\"', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,'/', - Z16, Z16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,'\\', 0, 0, 0, - 0, 0,'\b', 0, 0, 0,'\f', 0, 0, 0, 0, 0, 0, 0,'\n', 0, - 0, 0,'\r', 0,'\t', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - Z16, Z16, Z16, Z16, Z16, Z16, Z16, Z16 - }; -#undef Z16 -//!@endcond - - for (;;) { - // Scan and copy string before "\\\"" or < 0x20. This is an optional optimzation. - if (!(parseFlags & kParseValidateEncodingFlag)) - ScanCopyUnescapedString(is, os); - - Ch c = is.Peek(); - if (RAPIDJSON_UNLIKELY(c == '\\')) { // Escape - size_t escapeOffset = is.Tell(); // For invalid escaping, report the initial '\\' as error offset - is.Take(); - Ch e = is.Peek(); - if ((sizeof(Ch) == 1 || unsigned(e) < 256) && RAPIDJSON_LIKELY(escape[static_cast(e)])) { - is.Take(); - os.Put(static_cast(escape[static_cast(e)])); - } - else if (RAPIDJSON_LIKELY(e == 'u')) { // Unicode - is.Take(); - unsigned codepoint = ParseHex4(is, escapeOffset); - RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID; - if (RAPIDJSON_UNLIKELY(codepoint >= 0xD800 && codepoint <= 0xDBFF)) { - // Handle UTF-16 surrogate pair - if (RAPIDJSON_UNLIKELY(!Consume(is, '\\') || !Consume(is, 'u'))) - RAPIDJSON_PARSE_ERROR(kParseErrorStringUnicodeSurrogateInvalid, escapeOffset); - unsigned codepoint2 = ParseHex4(is, escapeOffset); - RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID; - if (RAPIDJSON_UNLIKELY(codepoint2 < 0xDC00 || codepoint2 > 0xDFFF)) - RAPIDJSON_PARSE_ERROR(kParseErrorStringUnicodeSurrogateInvalid, escapeOffset); - codepoint = (((codepoint - 0xD800) << 10) | (codepoint2 - 0xDC00)) + 0x10000; - } - TEncoding::Encode(os, codepoint); - } - else - RAPIDJSON_PARSE_ERROR(kParseErrorStringEscapeInvalid, escapeOffset); - } - else if (RAPIDJSON_UNLIKELY(c == '"')) { // Closing double quote - is.Take(); - os.Put('\0'); // null-terminate the string - return; - } - else if (RAPIDJSON_UNLIKELY(static_cast(c) < 0x20)) { // RFC 4627: unescaped = %x20-21 / %x23-5B / %x5D-10FFFF - if (c == '\0') - RAPIDJSON_PARSE_ERROR(kParseErrorStringMissQuotationMark, is.Tell()); - else - RAPIDJSON_PARSE_ERROR(kParseErrorStringInvalidEncoding, is.Tell()); - } - else { - size_t offset = is.Tell(); - if (RAPIDJSON_UNLIKELY((parseFlags & kParseValidateEncodingFlag ? - !Transcoder::Validate(is, os) : - !Transcoder::Transcode(is, os)))) - RAPIDJSON_PARSE_ERROR(kParseErrorStringInvalidEncoding, offset); - } - } - } - - template - static RAPIDJSON_FORCEINLINE void ScanCopyUnescapedString(InputStream&, OutputStream&) { - // Do nothing for generic version - } - -#if defined(RAPIDJSON_SSE2) || defined(RAPIDJSON_SSE42) - // StringStream -> StackStream - static RAPIDJSON_FORCEINLINE void ScanCopyUnescapedString(StringStream& is, StackStream& os) { - const char* p = is.src_; - - // Scan one by one until alignment (unaligned load may cross page boundary and cause crash) - const char* nextAligned = reinterpret_cast((reinterpret_cast(p) + 15) & static_cast(~15)); - while (p != nextAligned) - if (RAPIDJSON_UNLIKELY(*p == '\"') || RAPIDJSON_UNLIKELY(*p == '\\') || RAPIDJSON_UNLIKELY(static_cast(*p) < 0x20)) { - is.src_ = p; - return; - } - else - os.Put(*p++); - - // The rest of string using SIMD - static const char dquote[16] = { '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"' }; - static const char bslash[16] = { '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\' }; - static const char space[16] = { 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F }; - const __m128i dq = _mm_loadu_si128(reinterpret_cast(&dquote[0])); - const __m128i bs = _mm_loadu_si128(reinterpret_cast(&bslash[0])); - const __m128i sp = _mm_loadu_si128(reinterpret_cast(&space[0])); - - for (;; p += 16) { - const __m128i s = _mm_load_si128(reinterpret_cast(p)); - const __m128i t1 = _mm_cmpeq_epi8(s, dq); - const __m128i t2 = _mm_cmpeq_epi8(s, bs); - const __m128i t3 = _mm_cmpeq_epi8(_mm_max_epu8(s, sp), sp); // s < 0x20 <=> max(s, 0x1F) == 0x1F - const __m128i x = _mm_or_si128(_mm_or_si128(t1, t2), t3); - unsigned short r = static_cast(_mm_movemask_epi8(x)); - if (RAPIDJSON_UNLIKELY(r != 0)) { // some of characters is escaped - SizeType length; - #ifdef _MSC_VER // Find the index of first escaped - unsigned long offset; - _BitScanForward(&offset, r); - length = offset; - #else - length = static_cast(__builtin_ffs(r) - 1); - #endif - if (length != 0) { - char* q = reinterpret_cast(os.Push(length)); - for (size_t i = 0; i < length; i++) - q[i] = p[i]; - - p += length; - } - break; - } - _mm_storeu_si128(reinterpret_cast<__m128i *>(os.Push(16)), s); - } - - is.src_ = p; - } - - // InsituStringStream -> InsituStringStream - static RAPIDJSON_FORCEINLINE void ScanCopyUnescapedString(InsituStringStream& is, InsituStringStream& os) { - RAPIDJSON_ASSERT(&is == &os); - (void)os; - - if (is.src_ == is.dst_) { - SkipUnescapedString(is); - return; - } - - char* p = is.src_; - char *q = is.dst_; - - // Scan one by one until alignment (unaligned load may cross page boundary and cause crash) - const char* nextAligned = reinterpret_cast((reinterpret_cast(p) + 15) & static_cast(~15)); - while (p != nextAligned) - if (RAPIDJSON_UNLIKELY(*p == '\"') || RAPIDJSON_UNLIKELY(*p == '\\') || RAPIDJSON_UNLIKELY(static_cast(*p) < 0x20)) { - is.src_ = p; - is.dst_ = q; - return; - } - else - *q++ = *p++; - - // The rest of string using SIMD - static const char dquote[16] = { '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"' }; - static const char bslash[16] = { '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\' }; - static const char space[16] = { 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F }; - const __m128i dq = _mm_loadu_si128(reinterpret_cast(&dquote[0])); - const __m128i bs = _mm_loadu_si128(reinterpret_cast(&bslash[0])); - const __m128i sp = _mm_loadu_si128(reinterpret_cast(&space[0])); - - for (;; p += 16, q += 16) { - const __m128i s = _mm_load_si128(reinterpret_cast(p)); - const __m128i t1 = _mm_cmpeq_epi8(s, dq); - const __m128i t2 = _mm_cmpeq_epi8(s, bs); - const __m128i t3 = _mm_cmpeq_epi8(_mm_max_epu8(s, sp), sp); // s < 0x20 <=> max(s, 0x1F) == 0x1F - const __m128i x = _mm_or_si128(_mm_or_si128(t1, t2), t3); - unsigned short r = static_cast(_mm_movemask_epi8(x)); - if (RAPIDJSON_UNLIKELY(r != 0)) { // some of characters is escaped - size_t length; -#ifdef _MSC_VER // Find the index of first escaped - unsigned long offset; - _BitScanForward(&offset, r); - length = offset; -#else - length = static_cast(__builtin_ffs(r) - 1); -#endif - for (const char* pend = p + length; p != pend; ) - *q++ = *p++; - break; - } - _mm_storeu_si128(reinterpret_cast<__m128i *>(q), s); - } - - is.src_ = p; - is.dst_ = q; - } - - // When read/write pointers are the same for insitu stream, just skip unescaped characters - static RAPIDJSON_FORCEINLINE void SkipUnescapedString(InsituStringStream& is) { - RAPIDJSON_ASSERT(is.src_ == is.dst_); - char* p = is.src_; - - // Scan one by one until alignment (unaligned load may cross page boundary and cause crash) - const char* nextAligned = reinterpret_cast((reinterpret_cast(p) + 15) & static_cast(~15)); - for (; p != nextAligned; p++) - if (RAPIDJSON_UNLIKELY(*p == '\"') || RAPIDJSON_UNLIKELY(*p == '\\') || RAPIDJSON_UNLIKELY(static_cast(*p) < 0x20)) { - is.src_ = is.dst_ = p; - return; - } - - // The rest of string using SIMD - static const char dquote[16] = { '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"' }; - static const char bslash[16] = { '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\' }; - static const char space[16] = { 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F }; - const __m128i dq = _mm_loadu_si128(reinterpret_cast(&dquote[0])); - const __m128i bs = _mm_loadu_si128(reinterpret_cast(&bslash[0])); - const __m128i sp = _mm_loadu_si128(reinterpret_cast(&space[0])); - - for (;; p += 16) { - const __m128i s = _mm_load_si128(reinterpret_cast(p)); - const __m128i t1 = _mm_cmpeq_epi8(s, dq); - const __m128i t2 = _mm_cmpeq_epi8(s, bs); - const __m128i t3 = _mm_cmpeq_epi8(_mm_max_epu8(s, sp), sp); // s < 0x20 <=> max(s, 0x1F) == 0x1F - const __m128i x = _mm_or_si128(_mm_or_si128(t1, t2), t3); - unsigned short r = static_cast(_mm_movemask_epi8(x)); - if (RAPIDJSON_UNLIKELY(r != 0)) { // some of characters is escaped - size_t length; -#ifdef _MSC_VER // Find the index of first escaped - unsigned long offset; - _BitScanForward(&offset, r); - length = offset; -#else - length = static_cast(__builtin_ffs(r) - 1); -#endif - p += length; - break; - } - } - - is.src_ = is.dst_ = p; - } -#elif defined(RAPIDJSON_NEON) - // StringStream -> StackStream - static RAPIDJSON_FORCEINLINE void ScanCopyUnescapedString(StringStream& is, StackStream& os) { - const char* p = is.src_; - - // Scan one by one until alignment (unaligned load may cross page boundary and cause crash) - const char* nextAligned = reinterpret_cast((reinterpret_cast(p) + 15) & static_cast(~15)); - while (p != nextAligned) - if (RAPIDJSON_UNLIKELY(*p == '\"') || RAPIDJSON_UNLIKELY(*p == '\\') || RAPIDJSON_UNLIKELY(static_cast(*p) < 0x20)) { - is.src_ = p; - return; - } - else - os.Put(*p++); - - // The rest of string using SIMD - const uint8x16_t s0 = vmovq_n_u8('"'); - const uint8x16_t s1 = vmovq_n_u8('\\'); - const uint8x16_t s2 = vmovq_n_u8('\b'); - const uint8x16_t s3 = vmovq_n_u8(32); - - for (;; p += 16) { - const uint8x16_t s = vld1q_u8(reinterpret_cast(p)); - uint8x16_t x = vceqq_u8(s, s0); - x = vorrq_u8(x, vceqq_u8(s, s1)); - x = vorrq_u8(x, vceqq_u8(s, s2)); - x = vorrq_u8(x, vcltq_u8(s, s3)); - - x = vrev64q_u8(x); // Rev in 64 - uint64_t low = vgetq_lane_u64(reinterpret_cast(x), 0); // extract - uint64_t high = vgetq_lane_u64(reinterpret_cast(x), 1); // extract - - SizeType length = 0; - bool escaped = false; - if (low == 0) { - if (high != 0) { - unsigned lz = (unsigned)__builtin_clzll(high);; - length = 8 + (lz >> 3); - escaped = true; - } - } else { - unsigned lz = (unsigned)__builtin_clzll(low);; - length = lz >> 3; - escaped = true; - } - if (RAPIDJSON_UNLIKELY(escaped)) { // some of characters is escaped - if (length != 0) { - char* q = reinterpret_cast(os.Push(length)); - for (size_t i = 0; i < length; i++) - q[i] = p[i]; - - p += length; - } - break; - } - vst1q_u8(reinterpret_cast(os.Push(16)), s); - } - - is.src_ = p; - } - - // InsituStringStream -> InsituStringStream - static RAPIDJSON_FORCEINLINE void ScanCopyUnescapedString(InsituStringStream& is, InsituStringStream& os) { - RAPIDJSON_ASSERT(&is == &os); - (void)os; - - if (is.src_ == is.dst_) { - SkipUnescapedString(is); - return; - } - - char* p = is.src_; - char *q = is.dst_; - - // Scan one by one until alignment (unaligned load may cross page boundary and cause crash) - const char* nextAligned = reinterpret_cast((reinterpret_cast(p) + 15) & static_cast(~15)); - while (p != nextAligned) - if (RAPIDJSON_UNLIKELY(*p == '\"') || RAPIDJSON_UNLIKELY(*p == '\\') || RAPIDJSON_UNLIKELY(static_cast(*p) < 0x20)) { - is.src_ = p; - is.dst_ = q; - return; - } - else - *q++ = *p++; - - // The rest of string using SIMD - const uint8x16_t s0 = vmovq_n_u8('"'); - const uint8x16_t s1 = vmovq_n_u8('\\'); - const uint8x16_t s2 = vmovq_n_u8('\b'); - const uint8x16_t s3 = vmovq_n_u8(32); - - for (;; p += 16, q += 16) { - const uint8x16_t s = vld1q_u8(reinterpret_cast(p)); - uint8x16_t x = vceqq_u8(s, s0); - x = vorrq_u8(x, vceqq_u8(s, s1)); - x = vorrq_u8(x, vceqq_u8(s, s2)); - x = vorrq_u8(x, vcltq_u8(s, s3)); - - x = vrev64q_u8(x); // Rev in 64 - uint64_t low = vgetq_lane_u64(reinterpret_cast(x), 0); // extract - uint64_t high = vgetq_lane_u64(reinterpret_cast(x), 1); // extract - - SizeType length = 0; - bool escaped = false; - if (low == 0) { - if (high != 0) { - unsigned lz = (unsigned)__builtin_clzll(high); - length = 8 + (lz >> 3); - escaped = true; - } - } else { - unsigned lz = (unsigned)__builtin_clzll(low); - length = lz >> 3; - escaped = true; - } - if (RAPIDJSON_UNLIKELY(escaped)) { // some of characters is escaped - for (const char* pend = p + length; p != pend; ) { - *q++ = *p++; - } - break; - } - vst1q_u8(reinterpret_cast(q), s); - } - - is.src_ = p; - is.dst_ = q; - } - - // When read/write pointers are the same for insitu stream, just skip unescaped characters - static RAPIDJSON_FORCEINLINE void SkipUnescapedString(InsituStringStream& is) { - RAPIDJSON_ASSERT(is.src_ == is.dst_); - char* p = is.src_; - - // Scan one by one until alignment (unaligned load may cross page boundary and cause crash) - const char* nextAligned = reinterpret_cast((reinterpret_cast(p) + 15) & static_cast(~15)); - for (; p != nextAligned; p++) - if (RAPIDJSON_UNLIKELY(*p == '\"') || RAPIDJSON_UNLIKELY(*p == '\\') || RAPIDJSON_UNLIKELY(static_cast(*p) < 0x20)) { - is.src_ = is.dst_ = p; - return; - } - - // The rest of string using SIMD - const uint8x16_t s0 = vmovq_n_u8('"'); - const uint8x16_t s1 = vmovq_n_u8('\\'); - const uint8x16_t s2 = vmovq_n_u8('\b'); - const uint8x16_t s3 = vmovq_n_u8(32); - - for (;; p += 16) { - const uint8x16_t s = vld1q_u8(reinterpret_cast(p)); - uint8x16_t x = vceqq_u8(s, s0); - x = vorrq_u8(x, vceqq_u8(s, s1)); - x = vorrq_u8(x, vceqq_u8(s, s2)); - x = vorrq_u8(x, vcltq_u8(s, s3)); - - x = vrev64q_u8(x); // Rev in 64 - uint64_t low = vgetq_lane_u64(reinterpret_cast(x), 0); // extract - uint64_t high = vgetq_lane_u64(reinterpret_cast(x), 1); // extract - - if (low == 0) { - if (high != 0) { - int lz = __builtin_clzll(high); - p += 8 + (lz >> 3); - break; - } - } else { - int lz = __builtin_clzll(low); - p += lz >> 3; - break; - } - } - - is.src_ = is.dst_ = p; - } -#endif // RAPIDJSON_NEON - - template - class NumberStream; - - template - class NumberStream { - public: - typedef typename InputStream::Ch Ch; - - NumberStream(GenericReader& reader, InputStream& s) : is(s) { (void)reader; } - - RAPIDJSON_FORCEINLINE Ch Peek() const { return is.Peek(); } - RAPIDJSON_FORCEINLINE Ch TakePush() { return is.Take(); } - RAPIDJSON_FORCEINLINE Ch Take() { return is.Take(); } - RAPIDJSON_FORCEINLINE void Push(char) {} - - size_t Tell() { return is.Tell(); } - size_t Length() { return 0; } - const char* Pop() { return 0; } - - protected: - NumberStream& operator=(const NumberStream&); - - InputStream& is; - }; - - template - class NumberStream : public NumberStream { - typedef NumberStream Base; - public: - NumberStream(GenericReader& reader, InputStream& is) : Base(reader, is), stackStream(reader.stack_) {} - - RAPIDJSON_FORCEINLINE Ch TakePush() { - stackStream.Put(static_cast(Base::is.Peek())); - return Base::is.Take(); - } - - RAPIDJSON_FORCEINLINE void Push(char c) { - stackStream.Put(c); - } - - size_t Length() { return stackStream.Length(); } - - const char* Pop() { - stackStream.Put('\0'); - return stackStream.Pop(); - } - - private: - StackStream stackStream; - }; - - template - class NumberStream : public NumberStream { - typedef NumberStream Base; - public: - NumberStream(GenericReader& reader, InputStream& is) : Base(reader, is) {} - - RAPIDJSON_FORCEINLINE Ch Take() { return Base::TakePush(); } - }; - - template - void ParseNumber(InputStream& is, Handler& handler) { - internal::StreamLocalCopy copy(is); - NumberStream s(*this, copy.s); - - size_t startOffset = s.Tell(); - double d = 0.0; - bool useNanOrInf = false; - - // Parse minus - bool minus = Consume(s, '-'); - - // Parse int: zero / ( digit1-9 *DIGIT ) - unsigned i = 0; - uint64_t i64 = 0; - bool use64bit = false; - int significandDigit = 0; - if (RAPIDJSON_UNLIKELY(s.Peek() == '0')) { - i = 0; - s.TakePush(); - } - else if (RAPIDJSON_LIKELY(s.Peek() >= '1' && s.Peek() <= '9')) { - i = static_cast(s.TakePush() - '0'); - - if (minus) - while (RAPIDJSON_LIKELY(s.Peek() >= '0' && s.Peek() <= '9')) { - if (RAPIDJSON_UNLIKELY(i >= 214748364)) { // 2^31 = 2147483648 - if (RAPIDJSON_LIKELY(i != 214748364 || s.Peek() > '8')) { - i64 = i; - use64bit = true; - break; - } - } - i = i * 10 + static_cast(s.TakePush() - '0'); - significandDigit++; - } - else - while (RAPIDJSON_LIKELY(s.Peek() >= '0' && s.Peek() <= '9')) { - if (RAPIDJSON_UNLIKELY(i >= 429496729)) { // 2^32 - 1 = 4294967295 - if (RAPIDJSON_LIKELY(i != 429496729 || s.Peek() > '5')) { - i64 = i; - use64bit = true; - break; - } - } - i = i * 10 + static_cast(s.TakePush() - '0'); - significandDigit++; - } - } - // Parse NaN or Infinity here - else if ((parseFlags & kParseNanAndInfFlag) && RAPIDJSON_LIKELY((s.Peek() == 'I' || s.Peek() == 'N'))) { - if (Consume(s, 'N')) { - if (Consume(s, 'a') && Consume(s, 'N')) { - d = std::numeric_limits::quiet_NaN(); - useNanOrInf = true; - } - } - else if (RAPIDJSON_LIKELY(Consume(s, 'I'))) { - if (Consume(s, 'n') && Consume(s, 'f')) { - d = (minus ? -std::numeric_limits::infinity() : std::numeric_limits::infinity()); - useNanOrInf = true; - - if (RAPIDJSON_UNLIKELY(s.Peek() == 'i' && !(Consume(s, 'i') && Consume(s, 'n') - && Consume(s, 'i') && Consume(s, 't') && Consume(s, 'y')))) { - RAPIDJSON_PARSE_ERROR(kParseErrorValueInvalid, s.Tell()); - } - } - } - - if (RAPIDJSON_UNLIKELY(!useNanOrInf)) { - RAPIDJSON_PARSE_ERROR(kParseErrorValueInvalid, s.Tell()); - } - } - else - RAPIDJSON_PARSE_ERROR(kParseErrorValueInvalid, s.Tell()); - - // Parse 64bit int - bool useDouble = false; - if (use64bit) { - if (minus) - while (RAPIDJSON_LIKELY(s.Peek() >= '0' && s.Peek() <= '9')) { - if (RAPIDJSON_UNLIKELY(i64 >= RAPIDJSON_UINT64_C2(0x0CCCCCCC, 0xCCCCCCCC))) // 2^63 = 9223372036854775808 - if (RAPIDJSON_LIKELY(i64 != RAPIDJSON_UINT64_C2(0x0CCCCCCC, 0xCCCCCCCC) || s.Peek() > '8')) { - d = static_cast(i64); - useDouble = true; - break; - } - i64 = i64 * 10 + static_cast(s.TakePush() - '0'); - significandDigit++; - } - else - while (RAPIDJSON_LIKELY(s.Peek() >= '0' && s.Peek() <= '9')) { - if (RAPIDJSON_UNLIKELY(i64 >= RAPIDJSON_UINT64_C2(0x19999999, 0x99999999))) // 2^64 - 1 = 18446744073709551615 - if (RAPIDJSON_LIKELY(i64 != RAPIDJSON_UINT64_C2(0x19999999, 0x99999999) || s.Peek() > '5')) { - d = static_cast(i64); - useDouble = true; - break; - } - i64 = i64 * 10 + static_cast(s.TakePush() - '0'); - significandDigit++; - } - } - - // Force double for big integer - if (useDouble) { - while (RAPIDJSON_LIKELY(s.Peek() >= '0' && s.Peek() <= '9')) { - d = d * 10 + (s.TakePush() - '0'); - } - } - - // Parse frac = decimal-point 1*DIGIT - int expFrac = 0; - size_t decimalPosition; - if (Consume(s, '.')) { - decimalPosition = s.Length(); - - if (RAPIDJSON_UNLIKELY(!(s.Peek() >= '0' && s.Peek() <= '9'))) - RAPIDJSON_PARSE_ERROR(kParseErrorNumberMissFraction, s.Tell()); - - if (!useDouble) { -#if RAPIDJSON_64BIT - // Use i64 to store significand in 64-bit architecture - if (!use64bit) - i64 = i; - - while (RAPIDJSON_LIKELY(s.Peek() >= '0' && s.Peek() <= '9')) { - if (i64 > RAPIDJSON_UINT64_C2(0x1FFFFF, 0xFFFFFFFF)) // 2^53 - 1 for fast path - break; - else { - i64 = i64 * 10 + static_cast(s.TakePush() - '0'); - --expFrac; - if (i64 != 0) - significandDigit++; - } - } - - d = static_cast(i64); -#else - // Use double to store significand in 32-bit architecture - d = static_cast(use64bit ? i64 : i); -#endif - useDouble = true; - } - - while (RAPIDJSON_LIKELY(s.Peek() >= '0' && s.Peek() <= '9')) { - if (significandDigit < 17) { - d = d * 10.0 + (s.TakePush() - '0'); - --expFrac; - if (RAPIDJSON_LIKELY(d > 0.0)) - significandDigit++; - } - else - s.TakePush(); - } - } - else - decimalPosition = s.Length(); // decimal position at the end of integer. - - // Parse exp = e [ minus / plus ] 1*DIGIT - int exp = 0; - if (Consume(s, 'e') || Consume(s, 'E')) { - if (!useDouble) { - d = static_cast(use64bit ? i64 : i); - useDouble = true; - } - - bool expMinus = false; - if (Consume(s, '+')) - ; - else if (Consume(s, '-')) - expMinus = true; - - if (RAPIDJSON_LIKELY(s.Peek() >= '0' && s.Peek() <= '9')) { - exp = static_cast(s.Take() - '0'); - if (expMinus) { - // (exp + expFrac) must not underflow int => we're detecting when -exp gets - // dangerously close to INT_MIN (a pessimistic next digit 9 would push it into - // underflow territory): - // - // -(exp * 10 + 9) + expFrac >= INT_MIN - // <=> exp <= (expFrac - INT_MIN - 9) / 10 - RAPIDJSON_ASSERT(expFrac <= 0); - int maxExp = (expFrac + 2147483639) / 10; - - while (RAPIDJSON_LIKELY(s.Peek() >= '0' && s.Peek() <= '9')) { - exp = exp * 10 + static_cast(s.Take() - '0'); - if (RAPIDJSON_UNLIKELY(exp > maxExp)) { - while (RAPIDJSON_UNLIKELY(s.Peek() >= '0' && s.Peek() <= '9')) // Consume the rest of exponent - s.Take(); - } - } - } - else { // positive exp - int maxExp = 308 - expFrac; - while (RAPIDJSON_LIKELY(s.Peek() >= '0' && s.Peek() <= '9')) { - exp = exp * 10 + static_cast(s.Take() - '0'); - if (RAPIDJSON_UNLIKELY(exp > maxExp)) - RAPIDJSON_PARSE_ERROR(kParseErrorNumberTooBig, startOffset); - } - } - } - else - RAPIDJSON_PARSE_ERROR(kParseErrorNumberMissExponent, s.Tell()); - - if (expMinus) - exp = -exp; - } - - // Finish parsing, call event according to the type of number. - bool cont = true; - - if (parseFlags & kParseNumbersAsStringsFlag) { - if (parseFlags & kParseInsituFlag) { - s.Pop(); // Pop stack no matter if it will be used or not. - typename InputStream::Ch* head = is.PutBegin(); - const size_t length = s.Tell() - startOffset; - RAPIDJSON_ASSERT(length <= 0xFFFFFFFF); - // unable to insert the \0 character here, it will erase the comma after this number - const typename TargetEncoding::Ch* const str = reinterpret_cast(head); - cont = handler.RawNumber(str, SizeType(length), false); - } - else { - SizeType numCharsToCopy = static_cast(s.Length()); - StringStream srcStream(s.Pop()); - StackStream dstStream(stack_); - while (numCharsToCopy--) { - Transcoder, TargetEncoding>::Transcode(srcStream, dstStream); - } - dstStream.Put('\0'); - const typename TargetEncoding::Ch* str = dstStream.Pop(); - const SizeType length = static_cast(dstStream.Length()) - 1; - cont = handler.RawNumber(str, SizeType(length), true); - } - } - else { - size_t length = s.Length(); - const char* decimal = s.Pop(); // Pop stack no matter if it will be used or not. - - if (useDouble) { - int p = exp + expFrac; - if (parseFlags & kParseFullPrecisionFlag) - d = internal::StrtodFullPrecision(d, p, decimal, length, decimalPosition, exp); - else - d = internal::StrtodNormalPrecision(d, p); - - // Use > max, instead of == inf, to fix bogus warning -Wfloat-equal - if (d > (std::numeric_limits::max)()) { - // Overflow - // TODO: internal::StrtodX should report overflow (or underflow) - RAPIDJSON_PARSE_ERROR(kParseErrorNumberTooBig, startOffset); - } - - cont = handler.Double(minus ? -d : d); - } - else if (useNanOrInf) { - cont = handler.Double(d); - } - else { - if (use64bit) { - if (minus) - cont = handler.Int64(static_cast(~i64 + 1)); - else - cont = handler.Uint64(i64); - } - else { - if (minus) - cont = handler.Int(static_cast(~i + 1)); - else - cont = handler.Uint(i); - } - } - } - if (RAPIDJSON_UNLIKELY(!cont)) - RAPIDJSON_PARSE_ERROR(kParseErrorTermination, startOffset); - } - - // Parse any JSON value - template - void ParseValue(InputStream& is, Handler& handler) { - switch (is.Peek()) { - case 'n': ParseNull (is, handler); break; - case 't': ParseTrue (is, handler); break; - case 'f': ParseFalse (is, handler); break; - case '"': ParseString(is, handler); break; - case '{': ParseObject(is, handler); break; - case '[': ParseArray (is, handler); break; - default : - ParseNumber(is, handler); - break; - - } - } - - // Iterative Parsing - - // States - enum IterativeParsingState { - IterativeParsingFinishState = 0, // sink states at top - IterativeParsingErrorState, // sink states at top - IterativeParsingStartState, - - // Object states - IterativeParsingObjectInitialState, - IterativeParsingMemberKeyState, - IterativeParsingMemberValueState, - IterativeParsingObjectFinishState, - - // Array states - IterativeParsingArrayInitialState, - IterativeParsingElementState, - IterativeParsingArrayFinishState, - - // Single value state - IterativeParsingValueState, - - // Delimiter states (at bottom) - IterativeParsingElementDelimiterState, - IterativeParsingMemberDelimiterState, - IterativeParsingKeyValueDelimiterState, - - cIterativeParsingStateCount - }; - - // Tokens - enum Token { - LeftBracketToken = 0, - RightBracketToken, - - LeftCurlyBracketToken, - RightCurlyBracketToken, - - CommaToken, - ColonToken, - - StringToken, - FalseToken, - TrueToken, - NullToken, - NumberToken, - - kTokenCount - }; - - RAPIDJSON_FORCEINLINE Token Tokenize(Ch c) const { - -//!@cond RAPIDJSON_HIDDEN_FROM_DOXYGEN -#define N NumberToken -#define N16 N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N - // Maps from ASCII to Token - static const unsigned char tokenMap[256] = { - N16, // 00~0F - N16, // 10~1F - N, N, StringToken, N, N, N, N, N, N, N, N, N, CommaToken, N, N, N, // 20~2F - N, N, N, N, N, N, N, N, N, N, ColonToken, N, N, N, N, N, // 30~3F - N16, // 40~4F - N, N, N, N, N, N, N, N, N, N, N, LeftBracketToken, N, RightBracketToken, N, N, // 50~5F - N, N, N, N, N, N, FalseToken, N, N, N, N, N, N, N, NullToken, N, // 60~6F - N, N, N, N, TrueToken, N, N, N, N, N, N, LeftCurlyBracketToken, N, RightCurlyBracketToken, N, N, // 70~7F - N16, N16, N16, N16, N16, N16, N16, N16 // 80~FF - }; -#undef N -#undef N16 -//!@endcond - - if (sizeof(Ch) == 1 || static_cast(c) < 256) - return static_cast(tokenMap[static_cast(c)]); - else - return NumberToken; - } - - RAPIDJSON_FORCEINLINE IterativeParsingState Predict(IterativeParsingState state, Token token) const { - // current state x one lookahead token -> new state - static const char G[cIterativeParsingStateCount][kTokenCount] = { - // Finish(sink state) - { - IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, - IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, - IterativeParsingErrorState - }, - // Error(sink state) - { - IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, - IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, - IterativeParsingErrorState - }, - // Start - { - IterativeParsingArrayInitialState, // Left bracket - IterativeParsingErrorState, // Right bracket - IterativeParsingObjectInitialState, // Left curly bracket - IterativeParsingErrorState, // Right curly bracket - IterativeParsingErrorState, // Comma - IterativeParsingErrorState, // Colon - IterativeParsingValueState, // String - IterativeParsingValueState, // False - IterativeParsingValueState, // True - IterativeParsingValueState, // Null - IterativeParsingValueState // Number - }, - // ObjectInitial - { - IterativeParsingErrorState, // Left bracket - IterativeParsingErrorState, // Right bracket - IterativeParsingErrorState, // Left curly bracket - IterativeParsingObjectFinishState, // Right curly bracket - IterativeParsingErrorState, // Comma - IterativeParsingErrorState, // Colon - IterativeParsingMemberKeyState, // String - IterativeParsingErrorState, // False - IterativeParsingErrorState, // True - IterativeParsingErrorState, // Null - IterativeParsingErrorState // Number - }, - // MemberKey - { - IterativeParsingErrorState, // Left bracket - IterativeParsingErrorState, // Right bracket - IterativeParsingErrorState, // Left curly bracket - IterativeParsingErrorState, // Right curly bracket - IterativeParsingErrorState, // Comma - IterativeParsingKeyValueDelimiterState, // Colon - IterativeParsingErrorState, // String - IterativeParsingErrorState, // False - IterativeParsingErrorState, // True - IterativeParsingErrorState, // Null - IterativeParsingErrorState // Number - }, - // MemberValue - { - IterativeParsingErrorState, // Left bracket - IterativeParsingErrorState, // Right bracket - IterativeParsingErrorState, // Left curly bracket - IterativeParsingObjectFinishState, // Right curly bracket - IterativeParsingMemberDelimiterState, // Comma - IterativeParsingErrorState, // Colon - IterativeParsingErrorState, // String - IterativeParsingErrorState, // False - IterativeParsingErrorState, // True - IterativeParsingErrorState, // Null - IterativeParsingErrorState // Number - }, - // ObjectFinish(sink state) - { - IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, - IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, - IterativeParsingErrorState - }, - // ArrayInitial - { - IterativeParsingArrayInitialState, // Left bracket(push Element state) - IterativeParsingArrayFinishState, // Right bracket - IterativeParsingObjectInitialState, // Left curly bracket(push Element state) - IterativeParsingErrorState, // Right curly bracket - IterativeParsingErrorState, // Comma - IterativeParsingErrorState, // Colon - IterativeParsingElementState, // String - IterativeParsingElementState, // False - IterativeParsingElementState, // True - IterativeParsingElementState, // Null - IterativeParsingElementState // Number - }, - // Element - { - IterativeParsingErrorState, // Left bracket - IterativeParsingArrayFinishState, // Right bracket - IterativeParsingErrorState, // Left curly bracket - IterativeParsingErrorState, // Right curly bracket - IterativeParsingElementDelimiterState, // Comma - IterativeParsingErrorState, // Colon - IterativeParsingErrorState, // String - IterativeParsingErrorState, // False - IterativeParsingErrorState, // True - IterativeParsingErrorState, // Null - IterativeParsingErrorState // Number - }, - // ArrayFinish(sink state) - { - IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, - IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, - IterativeParsingErrorState - }, - // Single Value (sink state) - { - IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, - IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, - IterativeParsingErrorState - }, - // ElementDelimiter - { - IterativeParsingArrayInitialState, // Left bracket(push Element state) - IterativeParsingArrayFinishState, // Right bracket - IterativeParsingObjectInitialState, // Left curly bracket(push Element state) - IterativeParsingErrorState, // Right curly bracket - IterativeParsingErrorState, // Comma - IterativeParsingErrorState, // Colon - IterativeParsingElementState, // String - IterativeParsingElementState, // False - IterativeParsingElementState, // True - IterativeParsingElementState, // Null - IterativeParsingElementState // Number - }, - // MemberDelimiter - { - IterativeParsingErrorState, // Left bracket - IterativeParsingErrorState, // Right bracket - IterativeParsingErrorState, // Left curly bracket - IterativeParsingObjectFinishState, // Right curly bracket - IterativeParsingErrorState, // Comma - IterativeParsingErrorState, // Colon - IterativeParsingMemberKeyState, // String - IterativeParsingErrorState, // False - IterativeParsingErrorState, // True - IterativeParsingErrorState, // Null - IterativeParsingErrorState // Number - }, - // KeyValueDelimiter - { - IterativeParsingArrayInitialState, // Left bracket(push MemberValue state) - IterativeParsingErrorState, // Right bracket - IterativeParsingObjectInitialState, // Left curly bracket(push MemberValue state) - IterativeParsingErrorState, // Right curly bracket - IterativeParsingErrorState, // Comma - IterativeParsingErrorState, // Colon - IterativeParsingMemberValueState, // String - IterativeParsingMemberValueState, // False - IterativeParsingMemberValueState, // True - IterativeParsingMemberValueState, // Null - IterativeParsingMemberValueState // Number - }, - }; // End of G - - return static_cast(G[state][token]); - } - - // Make an advance in the token stream and state based on the candidate destination state which was returned by Transit(). - // May return a new state on state pop. - template - RAPIDJSON_FORCEINLINE IterativeParsingState Transit(IterativeParsingState src, Token token, IterativeParsingState dst, InputStream& is, Handler& handler) { - (void)token; - - switch (dst) { - case IterativeParsingErrorState: - return dst; - - case IterativeParsingObjectInitialState: - case IterativeParsingArrayInitialState: - { - // Push the state(Element or MemeberValue) if we are nested in another array or value of member. - // In this way we can get the correct state on ObjectFinish or ArrayFinish by frame pop. - IterativeParsingState n = src; - if (src == IterativeParsingArrayInitialState || src == IterativeParsingElementDelimiterState) - n = IterativeParsingElementState; - else if (src == IterativeParsingKeyValueDelimiterState) - n = IterativeParsingMemberValueState; - // Push current state. - *stack_.template Push(1) = n; - // Initialize and push the member/element count. - *stack_.template Push(1) = 0; - // Call handler - bool hr = (dst == IterativeParsingObjectInitialState) ? handler.StartObject() : handler.StartArray(); - // On handler short circuits the parsing. - if (!hr) { - RAPIDJSON_PARSE_ERROR_NORETURN(kParseErrorTermination, is.Tell()); - return IterativeParsingErrorState; - } - else { - is.Take(); - return dst; - } - } - - case IterativeParsingMemberKeyState: - ParseString(is, handler, true); - if (HasParseError()) - return IterativeParsingErrorState; - else - return dst; - - case IterativeParsingKeyValueDelimiterState: - RAPIDJSON_ASSERT(token == ColonToken); - is.Take(); - return dst; - - case IterativeParsingMemberValueState: - // Must be non-compound value. Or it would be ObjectInitial or ArrayInitial state. - ParseValue(is, handler); - if (HasParseError()) { - return IterativeParsingErrorState; - } - return dst; - - case IterativeParsingElementState: - // Must be non-compound value. Or it would be ObjectInitial or ArrayInitial state. - ParseValue(is, handler); - if (HasParseError()) { - return IterativeParsingErrorState; - } - return dst; - - case IterativeParsingMemberDelimiterState: - case IterativeParsingElementDelimiterState: - is.Take(); - // Update member/element count. - *stack_.template Top() = *stack_.template Top() + 1; - return dst; - - case IterativeParsingObjectFinishState: - { - // Transit from delimiter is only allowed when trailing commas are enabled - if (!(parseFlags & kParseTrailingCommasFlag) && src == IterativeParsingMemberDelimiterState) { - RAPIDJSON_PARSE_ERROR_NORETURN(kParseErrorObjectMissName, is.Tell()); - return IterativeParsingErrorState; - } - // Get member count. - SizeType c = *stack_.template Pop(1); - // If the object is not empty, count the last member. - if (src == IterativeParsingMemberValueState) - ++c; - // Restore the state. - IterativeParsingState n = static_cast(*stack_.template Pop(1)); - // Transit to Finish state if this is the topmost scope. - if (n == IterativeParsingStartState) - n = IterativeParsingFinishState; - // Call handler - bool hr = handler.EndObject(c); - // On handler short circuits the parsing. - if (!hr) { - RAPIDJSON_PARSE_ERROR_NORETURN(kParseErrorTermination, is.Tell()); - return IterativeParsingErrorState; - } - else { - is.Take(); - return n; - } - } - - case IterativeParsingArrayFinishState: - { - // Transit from delimiter is only allowed when trailing commas are enabled - if (!(parseFlags & kParseTrailingCommasFlag) && src == IterativeParsingElementDelimiterState) { - RAPIDJSON_PARSE_ERROR_NORETURN(kParseErrorValueInvalid, is.Tell()); - return IterativeParsingErrorState; - } - // Get element count. - SizeType c = *stack_.template Pop(1); - // If the array is not empty, count the last element. - if (src == IterativeParsingElementState) - ++c; - // Restore the state. - IterativeParsingState n = static_cast(*stack_.template Pop(1)); - // Transit to Finish state if this is the topmost scope. - if (n == IterativeParsingStartState) - n = IterativeParsingFinishState; - // Call handler - bool hr = handler.EndArray(c); - // On handler short circuits the parsing. - if (!hr) { - RAPIDJSON_PARSE_ERROR_NORETURN(kParseErrorTermination, is.Tell()); - return IterativeParsingErrorState; - } - else { - is.Take(); - return n; - } - } - - default: - // This branch is for IterativeParsingValueState actually. - // Use `default:` rather than - // `case IterativeParsingValueState:` is for code coverage. - - // The IterativeParsingStartState is not enumerated in this switch-case. - // It is impossible for that case. And it can be caught by following assertion. - - // The IterativeParsingFinishState is not enumerated in this switch-case either. - // It is a "derivative" state which cannot triggered from Predict() directly. - // Therefore it cannot happen here. And it can be caught by following assertion. - RAPIDJSON_ASSERT(dst == IterativeParsingValueState); - - // Must be non-compound value. Or it would be ObjectInitial or ArrayInitial state. - ParseValue(is, handler); - if (HasParseError()) { - return IterativeParsingErrorState; - } - return IterativeParsingFinishState; - } - } - - template - void HandleError(IterativeParsingState src, InputStream& is) { - if (HasParseError()) { - // Error flag has been set. - return; - } - - switch (src) { - case IterativeParsingStartState: RAPIDJSON_PARSE_ERROR(kParseErrorDocumentEmpty, is.Tell()); return; - case IterativeParsingFinishState: RAPIDJSON_PARSE_ERROR(kParseErrorDocumentRootNotSingular, is.Tell()); return; - case IterativeParsingObjectInitialState: - case IterativeParsingMemberDelimiterState: RAPIDJSON_PARSE_ERROR(kParseErrorObjectMissName, is.Tell()); return; - case IterativeParsingMemberKeyState: RAPIDJSON_PARSE_ERROR(kParseErrorObjectMissColon, is.Tell()); return; - case IterativeParsingMemberValueState: RAPIDJSON_PARSE_ERROR(kParseErrorObjectMissCommaOrCurlyBracket, is.Tell()); return; - case IterativeParsingKeyValueDelimiterState: - case IterativeParsingArrayInitialState: - case IterativeParsingElementDelimiterState: RAPIDJSON_PARSE_ERROR(kParseErrorValueInvalid, is.Tell()); return; - default: RAPIDJSON_ASSERT(src == IterativeParsingElementState); RAPIDJSON_PARSE_ERROR(kParseErrorArrayMissCommaOrSquareBracket, is.Tell()); return; - } - } - - RAPIDJSON_FORCEINLINE bool IsIterativeParsingDelimiterState(IterativeParsingState s) const { - return s >= IterativeParsingElementDelimiterState; - } - - RAPIDJSON_FORCEINLINE bool IsIterativeParsingCompleteState(IterativeParsingState s) const { - return s <= IterativeParsingErrorState; - } - - template - ParseResult IterativeParse(InputStream& is, Handler& handler) { - parseResult_.Clear(); - ClearStackOnExit scope(*this); - IterativeParsingState state = IterativeParsingStartState; - - SkipWhitespaceAndComments(is); - RAPIDJSON_PARSE_ERROR_EARLY_RETURN(parseResult_); - while (is.Peek() != '\0') { - Token t = Tokenize(is.Peek()); - IterativeParsingState n = Predict(state, t); - IterativeParsingState d = Transit(state, t, n, is, handler); - - if (d == IterativeParsingErrorState) { - HandleError(state, is); - break; - } - - state = d; - - // Do not further consume streams if a root JSON has been parsed. - if ((parseFlags & kParseStopWhenDoneFlag) && state == IterativeParsingFinishState) - break; - - SkipWhitespaceAndComments(is); - RAPIDJSON_PARSE_ERROR_EARLY_RETURN(parseResult_); - } - - // Handle the end of file. - if (state != IterativeParsingFinishState) - HandleError(state, is); - - return parseResult_; - } - - static const size_t kDefaultStackCapacity = 256; //!< Default stack capacity in bytes for storing a single decoded string. - internal::Stack stack_; //!< A stack for storing decoded string temporarily during non-destructive parsing. - ParseResult parseResult_; - IterativeParsingState state_; -}; // class GenericReader - -//! Reader with UTF8 encoding and default allocator. -typedef GenericReader, UTF8<> > Reader; - -RAPIDJSON_NAMESPACE_END - -#if defined(__clang__) || defined(_MSC_VER) -RAPIDJSON_DIAG_POP -#endif - - -#ifdef __GNUC__ -RAPIDJSON_DIAG_POP -#endif - -#endif // RAPIDJSON_READER_H_ diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/schema.h b/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/schema.h deleted file mode 100644 index 26ae947480..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/schema.h +++ /dev/null @@ -1,2497 +0,0 @@ -// Tencent is pleased to support the open source community by making RapidJSON available-> -// -// Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip-> All rights reserved-> -// -// Licensed under the MIT License (the "License"); you may not use this file except -// in compliance with the License-> You may obtain a copy of the License at -// -// http://opensource->org/licenses/MIT -// -// Unless required by applicable law or agreed to in writing, software distributed -// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -// CONDITIONS OF ANY KIND, either express or implied-> See the License for the -// specific language governing permissions and limitations under the License-> - -#ifndef RAPIDJSON_SCHEMA_H_ -#define RAPIDJSON_SCHEMA_H_ - -#include "document.h" -#include "pointer.h" -#include "stringbuffer.h" -#include // abs, floor - -#if !defined(RAPIDJSON_SCHEMA_USE_INTERNALREGEX) -#define RAPIDJSON_SCHEMA_USE_INTERNALREGEX 1 -#else -#define RAPIDJSON_SCHEMA_USE_INTERNALREGEX 0 -#endif - -#if !RAPIDJSON_SCHEMA_USE_INTERNALREGEX && defined(RAPIDJSON_SCHEMA_USE_STDREGEX) && (__cplusplus >=201103L || (defined(_MSC_VER) && _MSC_VER >= 1800)) -#define RAPIDJSON_SCHEMA_USE_STDREGEX 1 -#else -#define RAPIDJSON_SCHEMA_USE_STDREGEX 0 -#endif - -#if RAPIDJSON_SCHEMA_USE_INTERNALREGEX -#include "internal/regex.h" -#elif RAPIDJSON_SCHEMA_USE_STDREGEX -#include -#endif - -#if RAPIDJSON_SCHEMA_USE_INTERNALREGEX || RAPIDJSON_SCHEMA_USE_STDREGEX -#define RAPIDJSON_SCHEMA_HAS_REGEX 1 -#else -#define RAPIDJSON_SCHEMA_HAS_REGEX 0 -#endif - -#ifndef RAPIDJSON_SCHEMA_VERBOSE -#define RAPIDJSON_SCHEMA_VERBOSE 0 -#endif - -#if RAPIDJSON_SCHEMA_VERBOSE -#include "stringbuffer.h" -#endif - -RAPIDJSON_DIAG_PUSH - -#if defined(__GNUC__) -RAPIDJSON_DIAG_OFF(effc++) -#endif - -#ifdef __clang__ -RAPIDJSON_DIAG_OFF(weak-vtables) -RAPIDJSON_DIAG_OFF(exit-time-destructors) -RAPIDJSON_DIAG_OFF(c++98-compat-pedantic) -RAPIDJSON_DIAG_OFF(variadic-macros) -#elif defined(_MSC_VER) -RAPIDJSON_DIAG_OFF(4512) // assignment operator could not be generated -#endif - -RAPIDJSON_NAMESPACE_BEGIN - -/////////////////////////////////////////////////////////////////////////////// -// Verbose Utilities - -#if RAPIDJSON_SCHEMA_VERBOSE - -namespace internal { - -inline void PrintInvalidKeyword(const char* keyword) { - printf("Fail keyword: %s\n", keyword); -} - -inline void PrintInvalidKeyword(const wchar_t* keyword) { - wprintf(L"Fail keyword: %ls\n", keyword); -} - -inline void PrintInvalidDocument(const char* document) { - printf("Fail document: %s\n\n", document); -} - -inline void PrintInvalidDocument(const wchar_t* document) { - wprintf(L"Fail document: %ls\n\n", document); -} - -inline void PrintValidatorPointers(unsigned depth, const char* s, const char* d) { - printf("S: %*s%s\nD: %*s%s\n\n", depth * 4, " ", s, depth * 4, " ", d); -} - -inline void PrintValidatorPointers(unsigned depth, const wchar_t* s, const wchar_t* d) { - wprintf(L"S: %*ls%ls\nD: %*ls%ls\n\n", depth * 4, L" ", s, depth * 4, L" ", d); -} - -} // namespace internal - -#endif // RAPIDJSON_SCHEMA_VERBOSE - -/////////////////////////////////////////////////////////////////////////////// -// RAPIDJSON_INVALID_KEYWORD_RETURN - -#if RAPIDJSON_SCHEMA_VERBOSE -#define RAPIDJSON_INVALID_KEYWORD_VERBOSE(keyword) internal::PrintInvalidKeyword(keyword) -#else -#define RAPIDJSON_INVALID_KEYWORD_VERBOSE(keyword) -#endif - -#define RAPIDJSON_INVALID_KEYWORD_RETURN(keyword)\ -RAPIDJSON_MULTILINEMACRO_BEGIN\ - context.invalidKeyword = keyword.GetString();\ - RAPIDJSON_INVALID_KEYWORD_VERBOSE(keyword.GetString());\ - return false;\ -RAPIDJSON_MULTILINEMACRO_END - -/////////////////////////////////////////////////////////////////////////////// -// Forward declarations - -template -class GenericSchemaDocument; - -namespace internal { - -template -class Schema; - -/////////////////////////////////////////////////////////////////////////////// -// ISchemaValidator - -class ISchemaValidator { -public: - virtual ~ISchemaValidator() {} - virtual bool IsValid() const = 0; -}; - -/////////////////////////////////////////////////////////////////////////////// -// ISchemaStateFactory - -template -class ISchemaStateFactory { -public: - virtual ~ISchemaStateFactory() {} - virtual ISchemaValidator* CreateSchemaValidator(const SchemaType&) = 0; - virtual void DestroySchemaValidator(ISchemaValidator* validator) = 0; - virtual void* CreateHasher() = 0; - virtual uint64_t GetHashCode(void* hasher) = 0; - virtual void DestroryHasher(void* hasher) = 0; - virtual void* MallocState(size_t size) = 0; - virtual void FreeState(void* p) = 0; -}; - -/////////////////////////////////////////////////////////////////////////////// -// IValidationErrorHandler - -template -class IValidationErrorHandler { -public: - typedef typename SchemaType::Ch Ch; - typedef typename SchemaType::SValue SValue; - - virtual ~IValidationErrorHandler() {} - - virtual void NotMultipleOf(int64_t actual, const SValue& expected) = 0; - virtual void NotMultipleOf(uint64_t actual, const SValue& expected) = 0; - virtual void NotMultipleOf(double actual, const SValue& expected) = 0; - virtual void AboveMaximum(int64_t actual, const SValue& expected, bool exclusive) = 0; - virtual void AboveMaximum(uint64_t actual, const SValue& expected, bool exclusive) = 0; - virtual void AboveMaximum(double actual, const SValue& expected, bool exclusive) = 0; - virtual void BelowMinimum(int64_t actual, const SValue& expected, bool exclusive) = 0; - virtual void BelowMinimum(uint64_t actual, const SValue& expected, bool exclusive) = 0; - virtual void BelowMinimum(double actual, const SValue& expected, bool exclusive) = 0; - - virtual void TooLong(const Ch* str, SizeType length, SizeType expected) = 0; - virtual void TooShort(const Ch* str, SizeType length, SizeType expected) = 0; - virtual void DoesNotMatch(const Ch* str, SizeType length) = 0; - - virtual void DisallowedItem(SizeType index) = 0; - virtual void TooFewItems(SizeType actualCount, SizeType expectedCount) = 0; - virtual void TooManyItems(SizeType actualCount, SizeType expectedCount) = 0; - virtual void DuplicateItems(SizeType index1, SizeType index2) = 0; - - virtual void TooManyProperties(SizeType actualCount, SizeType expectedCount) = 0; - virtual void TooFewProperties(SizeType actualCount, SizeType expectedCount) = 0; - virtual void StartMissingProperties() = 0; - virtual void AddMissingProperty(const SValue& name) = 0; - virtual bool EndMissingProperties() = 0; - virtual void PropertyViolations(ISchemaValidator** subvalidators, SizeType count) = 0; - virtual void DisallowedProperty(const Ch* name, SizeType length) = 0; - - virtual void StartDependencyErrors() = 0; - virtual void StartMissingDependentProperties() = 0; - virtual void AddMissingDependentProperty(const SValue& targetName) = 0; - virtual void EndMissingDependentProperties(const SValue& sourceName) = 0; - virtual void AddDependencySchemaError(const SValue& souceName, ISchemaValidator* subvalidator) = 0; - virtual bool EndDependencyErrors() = 0; - - virtual void DisallowedValue() = 0; - virtual void StartDisallowedType() = 0; - virtual void AddExpectedType(const typename SchemaType::ValueType& expectedType) = 0; - virtual void EndDisallowedType(const typename SchemaType::ValueType& actualType) = 0; - virtual void NotAllOf(ISchemaValidator** subvalidators, SizeType count) = 0; - virtual void NoneOf(ISchemaValidator** subvalidators, SizeType count) = 0; - virtual void NotOneOf(ISchemaValidator** subvalidators, SizeType count) = 0; - virtual void Disallowed() = 0; -}; - - -/////////////////////////////////////////////////////////////////////////////// -// Hasher - -// For comparison of compound value -template -class Hasher { -public: - typedef typename Encoding::Ch Ch; - - Hasher(Allocator* allocator = 0, size_t stackCapacity = kDefaultSize) : stack_(allocator, stackCapacity) {} - - bool Null() { return WriteType(kNullType); } - bool Bool(bool b) { return WriteType(b ? kTrueType : kFalseType); } - bool Int(int i) { Number n; n.u.i = i; n.d = static_cast(i); return WriteNumber(n); } - bool Uint(unsigned u) { Number n; n.u.u = u; n.d = static_cast(u); return WriteNumber(n); } - bool Int64(int64_t i) { Number n; n.u.i = i; n.d = static_cast(i); return WriteNumber(n); } - bool Uint64(uint64_t u) { Number n; n.u.u = u; n.d = static_cast(u); return WriteNumber(n); } - bool Double(double d) { - Number n; - if (d < 0) n.u.i = static_cast(d); - else n.u.u = static_cast(d); - n.d = d; - return WriteNumber(n); - } - - bool RawNumber(const Ch* str, SizeType len, bool) { - WriteBuffer(kNumberType, str, len * sizeof(Ch)); - return true; - } - - bool String(const Ch* str, SizeType len, bool) { - WriteBuffer(kStringType, str, len * sizeof(Ch)); - return true; - } - - bool StartObject() { return true; } - bool Key(const Ch* str, SizeType len, bool copy) { return String(str, len, copy); } - bool EndObject(SizeType memberCount) { - uint64_t h = Hash(0, kObjectType); - uint64_t* kv = stack_.template Pop(memberCount * 2); - for (SizeType i = 0; i < memberCount; i++) - h ^= Hash(kv[i * 2], kv[i * 2 + 1]); // Use xor to achieve member order insensitive - *stack_.template Push() = h; - return true; - } - - bool StartArray() { return true; } - bool EndArray(SizeType elementCount) { - uint64_t h = Hash(0, kArrayType); - uint64_t* e = stack_.template Pop(elementCount); - for (SizeType i = 0; i < elementCount; i++) - h = Hash(h, e[i]); // Use hash to achieve element order sensitive - *stack_.template Push() = h; - return true; - } - - bool IsValid() const { return stack_.GetSize() == sizeof(uint64_t); } - - uint64_t GetHashCode() const { - RAPIDJSON_ASSERT(IsValid()); - return *stack_.template Top(); - } - -private: - static const size_t kDefaultSize = 256; - struct Number { - union U { - uint64_t u; - int64_t i; - }u; - double d; - }; - - bool WriteType(Type type) { return WriteBuffer(type, 0, 0); } - - bool WriteNumber(const Number& n) { return WriteBuffer(kNumberType, &n, sizeof(n)); } - - bool WriteBuffer(Type type, const void* data, size_t len) { - // FNV-1a from http://isthe.com/chongo/tech/comp/fnv/ - uint64_t h = Hash(RAPIDJSON_UINT64_C2(0x84222325, 0xcbf29ce4), type); - const unsigned char* d = static_cast(data); - for (size_t i = 0; i < len; i++) - h = Hash(h, d[i]); - *stack_.template Push() = h; - return true; - } - - static uint64_t Hash(uint64_t h, uint64_t d) { - static const uint64_t kPrime = RAPIDJSON_UINT64_C2(0x00000100, 0x000001b3); - h ^= d; - h *= kPrime; - return h; - } - - Stack stack_; -}; - -/////////////////////////////////////////////////////////////////////////////// -// SchemaValidationContext - -template -struct SchemaValidationContext { - typedef Schema SchemaType; - typedef ISchemaStateFactory SchemaValidatorFactoryType; - typedef IValidationErrorHandler ErrorHandlerType; - typedef typename SchemaType::ValueType ValueType; - typedef typename ValueType::Ch Ch; - - enum PatternValidatorType { - kPatternValidatorOnly, - kPatternValidatorWithProperty, - kPatternValidatorWithAdditionalProperty - }; - - SchemaValidationContext(SchemaValidatorFactoryType& f, ErrorHandlerType& eh, const SchemaType* s) : - factory(f), - error_handler(eh), - schema(s), - valueSchema(), - invalidKeyword(), - hasher(), - arrayElementHashCodes(), - validators(), - validatorCount(), - patternPropertiesValidators(), - patternPropertiesValidatorCount(), - patternPropertiesSchemas(), - patternPropertiesSchemaCount(), - valuePatternValidatorType(kPatternValidatorOnly), - propertyExist(), - inArray(false), - valueUniqueness(false), - arrayUniqueness(false) - { - } - - ~SchemaValidationContext() { - if (hasher) - factory.DestroryHasher(hasher); - if (validators) { - for (SizeType i = 0; i < validatorCount; i++) - factory.DestroySchemaValidator(validators[i]); - factory.FreeState(validators); - } - if (patternPropertiesValidators) { - for (SizeType i = 0; i < patternPropertiesValidatorCount; i++) - factory.DestroySchemaValidator(patternPropertiesValidators[i]); - factory.FreeState(patternPropertiesValidators); - } - if (patternPropertiesSchemas) - factory.FreeState(patternPropertiesSchemas); - if (propertyExist) - factory.FreeState(propertyExist); - } - - SchemaValidatorFactoryType& factory; - ErrorHandlerType& error_handler; - const SchemaType* schema; - const SchemaType* valueSchema; - const Ch* invalidKeyword; - void* hasher; // Only validator access - void* arrayElementHashCodes; // Only validator access this - ISchemaValidator** validators; - SizeType validatorCount; - ISchemaValidator** patternPropertiesValidators; - SizeType patternPropertiesValidatorCount; - const SchemaType** patternPropertiesSchemas; - SizeType patternPropertiesSchemaCount; - PatternValidatorType valuePatternValidatorType; - PatternValidatorType objectPatternValidatorType; - SizeType arrayElementIndex; - bool* propertyExist; - bool inArray; - bool valueUniqueness; - bool arrayUniqueness; -}; - -/////////////////////////////////////////////////////////////////////////////// -// Schema - -template -class Schema { -public: - typedef typename SchemaDocumentType::ValueType ValueType; - typedef typename SchemaDocumentType::AllocatorType AllocatorType; - typedef typename SchemaDocumentType::PointerType PointerType; - typedef typename ValueType::EncodingType EncodingType; - typedef typename EncodingType::Ch Ch; - typedef SchemaValidationContext Context; - typedef Schema SchemaType; - typedef GenericValue SValue; - typedef IValidationErrorHandler ErrorHandler; - friend class GenericSchemaDocument; - - Schema(SchemaDocumentType* schemaDocument, const PointerType& p, const ValueType& value, const ValueType& document, AllocatorType* allocator) : - allocator_(allocator), - uri_(schemaDocument->GetURI(), *allocator), - pointer_(p, allocator), - typeless_(schemaDocument->GetTypeless()), - enum_(), - enumCount_(), - not_(), - type_((1 << kTotalSchemaType) - 1), // typeless - validatorCount_(), - notValidatorIndex_(), - properties_(), - additionalPropertiesSchema_(), - patternProperties_(), - patternPropertyCount_(), - propertyCount_(), - minProperties_(), - maxProperties_(SizeType(~0)), - additionalProperties_(true), - hasDependencies_(), - hasRequired_(), - hasSchemaDependencies_(), - additionalItemsSchema_(), - itemsList_(), - itemsTuple_(), - itemsTupleCount_(), - minItems_(), - maxItems_(SizeType(~0)), - additionalItems_(true), - uniqueItems_(false), - pattern_(), - minLength_(0), - maxLength_(~SizeType(0)), - exclusiveMinimum_(false), - exclusiveMaximum_(false), - defaultValueLength_(0) - { - typedef typename SchemaDocumentType::ValueType ValueType; - typedef typename ValueType::ConstValueIterator ConstValueIterator; - typedef typename ValueType::ConstMemberIterator ConstMemberIterator; - - if (!value.IsObject()) - return; - - if (const ValueType* v = GetMember(value, GetTypeString())) { - type_ = 0; - if (v->IsString()) - AddType(*v); - else if (v->IsArray()) - for (ConstValueIterator itr = v->Begin(); itr != v->End(); ++itr) - AddType(*itr); - } - - if (const ValueType* v = GetMember(value, GetEnumString())) - if (v->IsArray() && v->Size() > 0) { - enum_ = static_cast(allocator_->Malloc(sizeof(uint64_t) * v->Size())); - for (ConstValueIterator itr = v->Begin(); itr != v->End(); ++itr) { - typedef Hasher > EnumHasherType; - char buffer[256u + 24]; - MemoryPoolAllocator<> hasherAllocator(buffer, sizeof(buffer)); - EnumHasherType h(&hasherAllocator, 256); - itr->Accept(h); - enum_[enumCount_++] = h.GetHashCode(); - } - } - - if (schemaDocument) { - AssignIfExist(allOf_, *schemaDocument, p, value, GetAllOfString(), document); - AssignIfExist(anyOf_, *schemaDocument, p, value, GetAnyOfString(), document); - AssignIfExist(oneOf_, *schemaDocument, p, value, GetOneOfString(), document); - } - - if (const ValueType* v = GetMember(value, GetNotString())) { - schemaDocument->CreateSchema(¬_, p.Append(GetNotString(), allocator_), *v, document); - notValidatorIndex_ = validatorCount_; - validatorCount_++; - } - - // Object - - const ValueType* properties = GetMember(value, GetPropertiesString()); - const ValueType* required = GetMember(value, GetRequiredString()); - const ValueType* dependencies = GetMember(value, GetDependenciesString()); - { - // Gather properties from properties/required/dependencies - SValue allProperties(kArrayType); - - if (properties && properties->IsObject()) - for (ConstMemberIterator itr = properties->MemberBegin(); itr != properties->MemberEnd(); ++itr) - AddUniqueElement(allProperties, itr->name); - - if (required && required->IsArray()) - for (ConstValueIterator itr = required->Begin(); itr != required->End(); ++itr) - if (itr->IsString()) - AddUniqueElement(allProperties, *itr); - - if (dependencies && dependencies->IsObject()) - for (ConstMemberIterator itr = dependencies->MemberBegin(); itr != dependencies->MemberEnd(); ++itr) { - AddUniqueElement(allProperties, itr->name); - if (itr->value.IsArray()) - for (ConstValueIterator i = itr->value.Begin(); i != itr->value.End(); ++i) - if (i->IsString()) - AddUniqueElement(allProperties, *i); - } - - if (allProperties.Size() > 0) { - propertyCount_ = allProperties.Size(); - properties_ = static_cast(allocator_->Malloc(sizeof(Property) * propertyCount_)); - for (SizeType i = 0; i < propertyCount_; i++) { - new (&properties_[i]) Property(); - properties_[i].name = allProperties[i]; - properties_[i].schema = typeless_; - } - } - } - - if (properties && properties->IsObject()) { - PointerType q = p.Append(GetPropertiesString(), allocator_); - for (ConstMemberIterator itr = properties->MemberBegin(); itr != properties->MemberEnd(); ++itr) { - SizeType index; - if (FindPropertyIndex(itr->name, &index)) - schemaDocument->CreateSchema(&properties_[index].schema, q.Append(itr->name, allocator_), itr->value, document); - } - } - - if (const ValueType* v = GetMember(value, GetPatternPropertiesString())) { - PointerType q = p.Append(GetPatternPropertiesString(), allocator_); - patternProperties_ = static_cast(allocator_->Malloc(sizeof(PatternProperty) * v->MemberCount())); - patternPropertyCount_ = 0; - - for (ConstMemberIterator itr = v->MemberBegin(); itr != v->MemberEnd(); ++itr) { - new (&patternProperties_[patternPropertyCount_]) PatternProperty(); - patternProperties_[patternPropertyCount_].pattern = CreatePattern(itr->name); - schemaDocument->CreateSchema(&patternProperties_[patternPropertyCount_].schema, q.Append(itr->name, allocator_), itr->value, document); - patternPropertyCount_++; - } - } - - if (required && required->IsArray()) - for (ConstValueIterator itr = required->Begin(); itr != required->End(); ++itr) - if (itr->IsString()) { - SizeType index; - if (FindPropertyIndex(*itr, &index)) { - properties_[index].required = true; - hasRequired_ = true; - } - } - - if (dependencies && dependencies->IsObject()) { - PointerType q = p.Append(GetDependenciesString(), allocator_); - hasDependencies_ = true; - for (ConstMemberIterator itr = dependencies->MemberBegin(); itr != dependencies->MemberEnd(); ++itr) { - SizeType sourceIndex; - if (FindPropertyIndex(itr->name, &sourceIndex)) { - if (itr->value.IsArray()) { - properties_[sourceIndex].dependencies = static_cast(allocator_->Malloc(sizeof(bool) * propertyCount_)); - std::memset(properties_[sourceIndex].dependencies, 0, sizeof(bool)* propertyCount_); - for (ConstValueIterator targetItr = itr->value.Begin(); targetItr != itr->value.End(); ++targetItr) { - SizeType targetIndex; - if (FindPropertyIndex(*targetItr, &targetIndex)) - properties_[sourceIndex].dependencies[targetIndex] = true; - } - } - else if (itr->value.IsObject()) { - hasSchemaDependencies_ = true; - schemaDocument->CreateSchema(&properties_[sourceIndex].dependenciesSchema, q.Append(itr->name, allocator_), itr->value, document); - properties_[sourceIndex].dependenciesValidatorIndex = validatorCount_; - validatorCount_++; - } - } - } - } - - if (const ValueType* v = GetMember(value, GetAdditionalPropertiesString())) { - if (v->IsBool()) - additionalProperties_ = v->GetBool(); - else if (v->IsObject()) - schemaDocument->CreateSchema(&additionalPropertiesSchema_, p.Append(GetAdditionalPropertiesString(), allocator_), *v, document); - } - - AssignIfExist(minProperties_, value, GetMinPropertiesString()); - AssignIfExist(maxProperties_, value, GetMaxPropertiesString()); - - // Array - if (const ValueType* v = GetMember(value, GetItemsString())) { - PointerType q = p.Append(GetItemsString(), allocator_); - if (v->IsObject()) // List validation - schemaDocument->CreateSchema(&itemsList_, q, *v, document); - else if (v->IsArray()) { // Tuple validation - itemsTuple_ = static_cast(allocator_->Malloc(sizeof(const Schema*) * v->Size())); - SizeType index = 0; - for (ConstValueIterator itr = v->Begin(); itr != v->End(); ++itr, index++) - schemaDocument->CreateSchema(&itemsTuple_[itemsTupleCount_++], q.Append(index, allocator_), *itr, document); - } - } - - AssignIfExist(minItems_, value, GetMinItemsString()); - AssignIfExist(maxItems_, value, GetMaxItemsString()); - - if (const ValueType* v = GetMember(value, GetAdditionalItemsString())) { - if (v->IsBool()) - additionalItems_ = v->GetBool(); - else if (v->IsObject()) - schemaDocument->CreateSchema(&additionalItemsSchema_, p.Append(GetAdditionalItemsString(), allocator_), *v, document); - } - - AssignIfExist(uniqueItems_, value, GetUniqueItemsString()); - - // String - AssignIfExist(minLength_, value, GetMinLengthString()); - AssignIfExist(maxLength_, value, GetMaxLengthString()); - - if (const ValueType* v = GetMember(value, GetPatternString())) - pattern_ = CreatePattern(*v); - - // Number - if (const ValueType* v = GetMember(value, GetMinimumString())) - if (v->IsNumber()) - minimum_.CopyFrom(*v, *allocator_); - - if (const ValueType* v = GetMember(value, GetMaximumString())) - if (v->IsNumber()) - maximum_.CopyFrom(*v, *allocator_); - - AssignIfExist(exclusiveMinimum_, value, GetExclusiveMinimumString()); - AssignIfExist(exclusiveMaximum_, value, GetExclusiveMaximumString()); - - if (const ValueType* v = GetMember(value, GetMultipleOfString())) - if (v->IsNumber() && v->GetDouble() > 0.0) - multipleOf_.CopyFrom(*v, *allocator_); - - // Default - if (const ValueType* v = GetMember(value, GetDefaultValueString())) - if (v->IsString()) - defaultValueLength_ = v->GetStringLength(); - - } - - ~Schema() { - AllocatorType::Free(enum_); - if (properties_) { - for (SizeType i = 0; i < propertyCount_; i++) - properties_[i].~Property(); - AllocatorType::Free(properties_); - } - if (patternProperties_) { - for (SizeType i = 0; i < patternPropertyCount_; i++) - patternProperties_[i].~PatternProperty(); - AllocatorType::Free(patternProperties_); - } - AllocatorType::Free(itemsTuple_); -#if RAPIDJSON_SCHEMA_HAS_REGEX - if (pattern_) { - pattern_->~RegexType(); - AllocatorType::Free(pattern_); - } -#endif - } - - const SValue& GetURI() const { - return uri_; - } - - const PointerType& GetPointer() const { - return pointer_; - } - - bool BeginValue(Context& context) const { - if (context.inArray) { - if (uniqueItems_) - context.valueUniqueness = true; - - if (itemsList_) - context.valueSchema = itemsList_; - else if (itemsTuple_) { - if (context.arrayElementIndex < itemsTupleCount_) - context.valueSchema = itemsTuple_[context.arrayElementIndex]; - else if (additionalItemsSchema_) - context.valueSchema = additionalItemsSchema_; - else if (additionalItems_) - context.valueSchema = typeless_; - else { - context.error_handler.DisallowedItem(context.arrayElementIndex); - RAPIDJSON_INVALID_KEYWORD_RETURN(GetItemsString()); - } - } - else - context.valueSchema = typeless_; - - context.arrayElementIndex++; - } - return true; - } - - RAPIDJSON_FORCEINLINE bool EndValue(Context& context) const { - if (context.patternPropertiesValidatorCount > 0) { - bool otherValid = false; - SizeType count = context.patternPropertiesValidatorCount; - if (context.objectPatternValidatorType != Context::kPatternValidatorOnly) - otherValid = context.patternPropertiesValidators[--count]->IsValid(); - - bool patternValid = true; - for (SizeType i = 0; i < count; i++) - if (!context.patternPropertiesValidators[i]->IsValid()) { - patternValid = false; - break; - } - - if (context.objectPatternValidatorType == Context::kPatternValidatorOnly) { - if (!patternValid) { - context.error_handler.PropertyViolations(context.patternPropertiesValidators, count); - RAPIDJSON_INVALID_KEYWORD_RETURN(GetPatternPropertiesString()); - } - } - else if (context.objectPatternValidatorType == Context::kPatternValidatorWithProperty) { - if (!patternValid || !otherValid) { - context.error_handler.PropertyViolations(context.patternPropertiesValidators, count + 1); - RAPIDJSON_INVALID_KEYWORD_RETURN(GetPatternPropertiesString()); - } - } - else if (!patternValid && !otherValid) { // kPatternValidatorWithAdditionalProperty) - context.error_handler.PropertyViolations(context.patternPropertiesValidators, count + 1); - RAPIDJSON_INVALID_KEYWORD_RETURN(GetPatternPropertiesString()); - } - } - - if (enum_) { - const uint64_t h = context.factory.GetHashCode(context.hasher); - for (SizeType i = 0; i < enumCount_; i++) - if (enum_[i] == h) - goto foundEnum; - context.error_handler.DisallowedValue(); - RAPIDJSON_INVALID_KEYWORD_RETURN(GetEnumString()); - foundEnum:; - } - - if (allOf_.schemas) - for (SizeType i = allOf_.begin; i < allOf_.begin + allOf_.count; i++) - if (!context.validators[i]->IsValid()) { - context.error_handler.NotAllOf(&context.validators[allOf_.begin], allOf_.count); - RAPIDJSON_INVALID_KEYWORD_RETURN(GetAllOfString()); - } - - if (anyOf_.schemas) { - for (SizeType i = anyOf_.begin; i < anyOf_.begin + anyOf_.count; i++) - if (context.validators[i]->IsValid()) - goto foundAny; - context.error_handler.NoneOf(&context.validators[anyOf_.begin], anyOf_.count); - RAPIDJSON_INVALID_KEYWORD_RETURN(GetAnyOfString()); - foundAny:; - } - - if (oneOf_.schemas) { - bool oneValid = false; - for (SizeType i = oneOf_.begin; i < oneOf_.begin + oneOf_.count; i++) - if (context.validators[i]->IsValid()) { - if (oneValid) { - context.error_handler.NotOneOf(&context.validators[oneOf_.begin], oneOf_.count); - RAPIDJSON_INVALID_KEYWORD_RETURN(GetOneOfString()); - } else - oneValid = true; - } - if (!oneValid) { - context.error_handler.NotOneOf(&context.validators[oneOf_.begin], oneOf_.count); - RAPIDJSON_INVALID_KEYWORD_RETURN(GetOneOfString()); - } - } - - if (not_ && context.validators[notValidatorIndex_]->IsValid()) { - context.error_handler.Disallowed(); - RAPIDJSON_INVALID_KEYWORD_RETURN(GetNotString()); - } - - return true; - } - - bool Null(Context& context) const { - if (!(type_ & (1 << kNullSchemaType))) { - DisallowedType(context, GetNullString()); - RAPIDJSON_INVALID_KEYWORD_RETURN(GetTypeString()); - } - return CreateParallelValidator(context); - } - - bool Bool(Context& context, bool) const { - if (!(type_ & (1 << kBooleanSchemaType))) { - DisallowedType(context, GetBooleanString()); - RAPIDJSON_INVALID_KEYWORD_RETURN(GetTypeString()); - } - return CreateParallelValidator(context); - } - - bool Int(Context& context, int i) const { - if (!CheckInt(context, i)) - return false; - return CreateParallelValidator(context); - } - - bool Uint(Context& context, unsigned u) const { - if (!CheckUint(context, u)) - return false; - return CreateParallelValidator(context); - } - - bool Int64(Context& context, int64_t i) const { - if (!CheckInt(context, i)) - return false; - return CreateParallelValidator(context); - } - - bool Uint64(Context& context, uint64_t u) const { - if (!CheckUint(context, u)) - return false; - return CreateParallelValidator(context); - } - - bool Double(Context& context, double d) const { - if (!(type_ & (1 << kNumberSchemaType))) { - DisallowedType(context, GetNumberString()); - RAPIDJSON_INVALID_KEYWORD_RETURN(GetTypeString()); - } - - if (!minimum_.IsNull() && !CheckDoubleMinimum(context, d)) - return false; - - if (!maximum_.IsNull() && !CheckDoubleMaximum(context, d)) - return false; - - if (!multipleOf_.IsNull() && !CheckDoubleMultipleOf(context, d)) - return false; - - return CreateParallelValidator(context); - } - - bool String(Context& context, const Ch* str, SizeType length, bool) const { - if (!(type_ & (1 << kStringSchemaType))) { - DisallowedType(context, GetStringString()); - RAPIDJSON_INVALID_KEYWORD_RETURN(GetTypeString()); - } - - if (minLength_ != 0 || maxLength_ != SizeType(~0)) { - SizeType count; - if (internal::CountStringCodePoint(str, length, &count)) { - if (count < minLength_) { - context.error_handler.TooShort(str, length, minLength_); - RAPIDJSON_INVALID_KEYWORD_RETURN(GetMinLengthString()); - } - if (count > maxLength_) { - context.error_handler.TooLong(str, length, maxLength_); - RAPIDJSON_INVALID_KEYWORD_RETURN(GetMaxLengthString()); - } - } - } - - if (pattern_ && !IsPatternMatch(pattern_, str, length)) { - context.error_handler.DoesNotMatch(str, length); - RAPIDJSON_INVALID_KEYWORD_RETURN(GetPatternString()); - } - - return CreateParallelValidator(context); - } - - bool StartObject(Context& context) const { - if (!(type_ & (1 << kObjectSchemaType))) { - DisallowedType(context, GetObjectString()); - RAPIDJSON_INVALID_KEYWORD_RETURN(GetTypeString()); - } - - if (hasDependencies_ || hasRequired_) { - context.propertyExist = static_cast(context.factory.MallocState(sizeof(bool) * propertyCount_)); - std::memset(context.propertyExist, 0, sizeof(bool) * propertyCount_); - } - - if (patternProperties_) { // pre-allocate schema array - SizeType count = patternPropertyCount_ + 1; // extra for valuePatternValidatorType - context.patternPropertiesSchemas = static_cast(context.factory.MallocState(sizeof(const SchemaType*) * count)); - context.patternPropertiesSchemaCount = 0; - std::memset(context.patternPropertiesSchemas, 0, sizeof(SchemaType*) * count); - } - - return CreateParallelValidator(context); - } - - bool Key(Context& context, const Ch* str, SizeType len, bool) const { - if (patternProperties_) { - context.patternPropertiesSchemaCount = 0; - for (SizeType i = 0; i < patternPropertyCount_; i++) - if (patternProperties_[i].pattern && IsPatternMatch(patternProperties_[i].pattern, str, len)) { - context.patternPropertiesSchemas[context.patternPropertiesSchemaCount++] = patternProperties_[i].schema; - context.valueSchema = typeless_; - } - } - - SizeType index; - if (FindPropertyIndex(ValueType(str, len).Move(), &index)) { - if (context.patternPropertiesSchemaCount > 0) { - context.patternPropertiesSchemas[context.patternPropertiesSchemaCount++] = properties_[index].schema; - context.valueSchema = typeless_; - context.valuePatternValidatorType = Context::kPatternValidatorWithProperty; - } - else - context.valueSchema = properties_[index].schema; - - if (context.propertyExist) - context.propertyExist[index] = true; - - return true; - } - - if (additionalPropertiesSchema_) { - if (additionalPropertiesSchema_ && context.patternPropertiesSchemaCount > 0) { - context.patternPropertiesSchemas[context.patternPropertiesSchemaCount++] = additionalPropertiesSchema_; - context.valueSchema = typeless_; - context.valuePatternValidatorType = Context::kPatternValidatorWithAdditionalProperty; - } - else - context.valueSchema = additionalPropertiesSchema_; - return true; - } - else if (additionalProperties_) { - context.valueSchema = typeless_; - return true; - } - - if (context.patternPropertiesSchemaCount == 0) { // patternProperties are not additional properties - context.error_handler.DisallowedProperty(str, len); - RAPIDJSON_INVALID_KEYWORD_RETURN(GetAdditionalPropertiesString()); - } - - return true; - } - - bool EndObject(Context& context, SizeType memberCount) const { - if (hasRequired_) { - context.error_handler.StartMissingProperties(); - for (SizeType index = 0; index < propertyCount_; index++) - if (properties_[index].required && !context.propertyExist[index]) - if (properties_[index].schema->defaultValueLength_ == 0 ) - context.error_handler.AddMissingProperty(properties_[index].name); - if (context.error_handler.EndMissingProperties()) - RAPIDJSON_INVALID_KEYWORD_RETURN(GetRequiredString()); - } - - if (memberCount < minProperties_) { - context.error_handler.TooFewProperties(memberCount, minProperties_); - RAPIDJSON_INVALID_KEYWORD_RETURN(GetMinPropertiesString()); - } - - if (memberCount > maxProperties_) { - context.error_handler.TooManyProperties(memberCount, maxProperties_); - RAPIDJSON_INVALID_KEYWORD_RETURN(GetMaxPropertiesString()); - } - - if (hasDependencies_) { - context.error_handler.StartDependencyErrors(); - for (SizeType sourceIndex = 0; sourceIndex < propertyCount_; sourceIndex++) { - const Property& source = properties_[sourceIndex]; - if (context.propertyExist[sourceIndex]) { - if (source.dependencies) { - context.error_handler.StartMissingDependentProperties(); - for (SizeType targetIndex = 0; targetIndex < propertyCount_; targetIndex++) - if (source.dependencies[targetIndex] && !context.propertyExist[targetIndex]) - context.error_handler.AddMissingDependentProperty(properties_[targetIndex].name); - context.error_handler.EndMissingDependentProperties(source.name); - } - else if (source.dependenciesSchema) { - ISchemaValidator* dependenciesValidator = context.validators[source.dependenciesValidatorIndex]; - if (!dependenciesValidator->IsValid()) - context.error_handler.AddDependencySchemaError(source.name, dependenciesValidator); - } - } - } - if (context.error_handler.EndDependencyErrors()) - RAPIDJSON_INVALID_KEYWORD_RETURN(GetDependenciesString()); - } - - return true; - } - - bool StartArray(Context& context) const { - if (!(type_ & (1 << kArraySchemaType))) { - DisallowedType(context, GetArrayString()); - RAPIDJSON_INVALID_KEYWORD_RETURN(GetTypeString()); - } - - context.arrayElementIndex = 0; - context.inArray = true; - - return CreateParallelValidator(context); - } - - bool EndArray(Context& context, SizeType elementCount) const { - context.inArray = false; - - if (elementCount < minItems_) { - context.error_handler.TooFewItems(elementCount, minItems_); - RAPIDJSON_INVALID_KEYWORD_RETURN(GetMinItemsString()); - } - - if (elementCount > maxItems_) { - context.error_handler.TooManyItems(elementCount, maxItems_); - RAPIDJSON_INVALID_KEYWORD_RETURN(GetMaxItemsString()); - } - - return true; - } - - // Generate functions for string literal according to Ch -#define RAPIDJSON_STRING_(name, ...) \ - static const ValueType& Get##name##String() {\ - static const Ch s[] = { __VA_ARGS__, '\0' };\ - static const ValueType v(s, static_cast(sizeof(s) / sizeof(Ch) - 1));\ - return v;\ - } - - RAPIDJSON_STRING_(Null, 'n', 'u', 'l', 'l') - RAPIDJSON_STRING_(Boolean, 'b', 'o', 'o', 'l', 'e', 'a', 'n') - RAPIDJSON_STRING_(Object, 'o', 'b', 'j', 'e', 'c', 't') - RAPIDJSON_STRING_(Array, 'a', 'r', 'r', 'a', 'y') - RAPIDJSON_STRING_(String, 's', 't', 'r', 'i', 'n', 'g') - RAPIDJSON_STRING_(Number, 'n', 'u', 'm', 'b', 'e', 'r') - RAPIDJSON_STRING_(Integer, 'i', 'n', 't', 'e', 'g', 'e', 'r') - RAPIDJSON_STRING_(Type, 't', 'y', 'p', 'e') - RAPIDJSON_STRING_(Enum, 'e', 'n', 'u', 'm') - RAPIDJSON_STRING_(AllOf, 'a', 'l', 'l', 'O', 'f') - RAPIDJSON_STRING_(AnyOf, 'a', 'n', 'y', 'O', 'f') - RAPIDJSON_STRING_(OneOf, 'o', 'n', 'e', 'O', 'f') - RAPIDJSON_STRING_(Not, 'n', 'o', 't') - RAPIDJSON_STRING_(Properties, 'p', 'r', 'o', 'p', 'e', 'r', 't', 'i', 'e', 's') - RAPIDJSON_STRING_(Required, 'r', 'e', 'q', 'u', 'i', 'r', 'e', 'd') - RAPIDJSON_STRING_(Dependencies, 'd', 'e', 'p', 'e', 'n', 'd', 'e', 'n', 'c', 'i', 'e', 's') - RAPIDJSON_STRING_(PatternProperties, 'p', 'a', 't', 't', 'e', 'r', 'n', 'P', 'r', 'o', 'p', 'e', 'r', 't', 'i', 'e', 's') - RAPIDJSON_STRING_(AdditionalProperties, 'a', 'd', 'd', 'i', 't', 'i', 'o', 'n', 'a', 'l', 'P', 'r', 'o', 'p', 'e', 'r', 't', 'i', 'e', 's') - RAPIDJSON_STRING_(MinProperties, 'm', 'i', 'n', 'P', 'r', 'o', 'p', 'e', 'r', 't', 'i', 'e', 's') - RAPIDJSON_STRING_(MaxProperties, 'm', 'a', 'x', 'P', 'r', 'o', 'p', 'e', 'r', 't', 'i', 'e', 's') - RAPIDJSON_STRING_(Items, 'i', 't', 'e', 'm', 's') - RAPIDJSON_STRING_(MinItems, 'm', 'i', 'n', 'I', 't', 'e', 'm', 's') - RAPIDJSON_STRING_(MaxItems, 'm', 'a', 'x', 'I', 't', 'e', 'm', 's') - RAPIDJSON_STRING_(AdditionalItems, 'a', 'd', 'd', 'i', 't', 'i', 'o', 'n', 'a', 'l', 'I', 't', 'e', 'm', 's') - RAPIDJSON_STRING_(UniqueItems, 'u', 'n', 'i', 'q', 'u', 'e', 'I', 't', 'e', 'm', 's') - RAPIDJSON_STRING_(MinLength, 'm', 'i', 'n', 'L', 'e', 'n', 'g', 't', 'h') - RAPIDJSON_STRING_(MaxLength, 'm', 'a', 'x', 'L', 'e', 'n', 'g', 't', 'h') - RAPIDJSON_STRING_(Pattern, 'p', 'a', 't', 't', 'e', 'r', 'n') - RAPIDJSON_STRING_(Minimum, 'm', 'i', 'n', 'i', 'm', 'u', 'm') - RAPIDJSON_STRING_(Maximum, 'm', 'a', 'x', 'i', 'm', 'u', 'm') - RAPIDJSON_STRING_(ExclusiveMinimum, 'e', 'x', 'c', 'l', 'u', 's', 'i', 'v', 'e', 'M', 'i', 'n', 'i', 'm', 'u', 'm') - RAPIDJSON_STRING_(ExclusiveMaximum, 'e', 'x', 'c', 'l', 'u', 's', 'i', 'v', 'e', 'M', 'a', 'x', 'i', 'm', 'u', 'm') - RAPIDJSON_STRING_(MultipleOf, 'm', 'u', 'l', 't', 'i', 'p', 'l', 'e', 'O', 'f') - RAPIDJSON_STRING_(DefaultValue, 'd', 'e', 'f', 'a', 'u', 'l', 't') - -#undef RAPIDJSON_STRING_ - -private: - enum SchemaValueType { - kNullSchemaType, - kBooleanSchemaType, - kObjectSchemaType, - kArraySchemaType, - kStringSchemaType, - kNumberSchemaType, - kIntegerSchemaType, - kTotalSchemaType - }; - -#if RAPIDJSON_SCHEMA_USE_INTERNALREGEX - typedef internal::GenericRegex RegexType; -#elif RAPIDJSON_SCHEMA_USE_STDREGEX - typedef std::basic_regex RegexType; -#else - typedef char RegexType; -#endif - - struct SchemaArray { - SchemaArray() : schemas(), count() {} - ~SchemaArray() { AllocatorType::Free(schemas); } - const SchemaType** schemas; - SizeType begin; // begin index of context.validators - SizeType count; - }; - - template - void AddUniqueElement(V1& a, const V2& v) { - for (typename V1::ConstValueIterator itr = a.Begin(); itr != a.End(); ++itr) - if (*itr == v) - return; - V1 c(v, *allocator_); - a.PushBack(c, *allocator_); - } - - static const ValueType* GetMember(const ValueType& value, const ValueType& name) { - typename ValueType::ConstMemberIterator itr = value.FindMember(name); - return itr != value.MemberEnd() ? &(itr->value) : 0; - } - - static void AssignIfExist(bool& out, const ValueType& value, const ValueType& name) { - if (const ValueType* v = GetMember(value, name)) - if (v->IsBool()) - out = v->GetBool(); - } - - static void AssignIfExist(SizeType& out, const ValueType& value, const ValueType& name) { - if (const ValueType* v = GetMember(value, name)) - if (v->IsUint64() && v->GetUint64() <= SizeType(~0)) - out = static_cast(v->GetUint64()); - } - - void AssignIfExist(SchemaArray& out, SchemaDocumentType& schemaDocument, const PointerType& p, const ValueType& value, const ValueType& name, const ValueType& document) { - if (const ValueType* v = GetMember(value, name)) { - if (v->IsArray() && v->Size() > 0) { - PointerType q = p.Append(name, allocator_); - out.count = v->Size(); - out.schemas = static_cast(allocator_->Malloc(out.count * sizeof(const Schema*))); - memset(out.schemas, 0, sizeof(Schema*)* out.count); - for (SizeType i = 0; i < out.count; i++) - schemaDocument.CreateSchema(&out.schemas[i], q.Append(i, allocator_), (*v)[i], document); - out.begin = validatorCount_; - validatorCount_ += out.count; - } - } - } - -#if RAPIDJSON_SCHEMA_USE_INTERNALREGEX - template - RegexType* CreatePattern(const ValueType& value) { - if (value.IsString()) { - RegexType* r = new (allocator_->Malloc(sizeof(RegexType))) RegexType(value.GetString(), allocator_); - if (!r->IsValid()) { - r->~RegexType(); - AllocatorType::Free(r); - r = 0; - } - return r; - } - return 0; - } - - static bool IsPatternMatch(const RegexType* pattern, const Ch *str, SizeType) { - GenericRegexSearch rs(*pattern); - return rs.Search(str); - } -#elif RAPIDJSON_SCHEMA_USE_STDREGEX - template - RegexType* CreatePattern(const ValueType& value) { - if (value.IsString()) { - RegexType *r = static_cast(allocator_->Malloc(sizeof(RegexType))); - try { - return new (r) RegexType(value.GetString(), std::size_t(value.GetStringLength()), std::regex_constants::ECMAScript); - } - catch (const std::regex_error&) { - AllocatorType::Free(r); - } - } - return 0; - } - - static bool IsPatternMatch(const RegexType* pattern, const Ch *str, SizeType length) { - std::match_results r; - return std::regex_search(str, str + length, r, *pattern); - } -#else - template - RegexType* CreatePattern(const ValueType&) { return 0; } - - static bool IsPatternMatch(const RegexType*, const Ch *, SizeType) { return true; } -#endif // RAPIDJSON_SCHEMA_USE_STDREGEX - - void AddType(const ValueType& type) { - if (type == GetNullString() ) type_ |= 1 << kNullSchemaType; - else if (type == GetBooleanString()) type_ |= 1 << kBooleanSchemaType; - else if (type == GetObjectString() ) type_ |= 1 << kObjectSchemaType; - else if (type == GetArrayString() ) type_ |= 1 << kArraySchemaType; - else if (type == GetStringString() ) type_ |= 1 << kStringSchemaType; - else if (type == GetIntegerString()) type_ |= 1 << kIntegerSchemaType; - else if (type == GetNumberString() ) type_ |= (1 << kNumberSchemaType) | (1 << kIntegerSchemaType); - } - - bool CreateParallelValidator(Context& context) const { - if (enum_ || context.arrayUniqueness) - context.hasher = context.factory.CreateHasher(); - - if (validatorCount_) { - RAPIDJSON_ASSERT(context.validators == 0); - context.validators = static_cast(context.factory.MallocState(sizeof(ISchemaValidator*) * validatorCount_)); - context.validatorCount = validatorCount_; - - if (allOf_.schemas) - CreateSchemaValidators(context, allOf_); - - if (anyOf_.schemas) - CreateSchemaValidators(context, anyOf_); - - if (oneOf_.schemas) - CreateSchemaValidators(context, oneOf_); - - if (not_) - context.validators[notValidatorIndex_] = context.factory.CreateSchemaValidator(*not_); - - if (hasSchemaDependencies_) { - for (SizeType i = 0; i < propertyCount_; i++) - if (properties_[i].dependenciesSchema) - context.validators[properties_[i].dependenciesValidatorIndex] = context.factory.CreateSchemaValidator(*properties_[i].dependenciesSchema); - } - } - - return true; - } - - void CreateSchemaValidators(Context& context, const SchemaArray& schemas) const { - for (SizeType i = 0; i < schemas.count; i++) - context.validators[schemas.begin + i] = context.factory.CreateSchemaValidator(*schemas.schemas[i]); - } - - // O(n) - bool FindPropertyIndex(const ValueType& name, SizeType* outIndex) const { - SizeType len = name.GetStringLength(); - const Ch* str = name.GetString(); - for (SizeType index = 0; index < propertyCount_; index++) - if (properties_[index].name.GetStringLength() == len && - (std::memcmp(properties_[index].name.GetString(), str, sizeof(Ch) * len) == 0)) - { - *outIndex = index; - return true; - } - return false; - } - - bool CheckInt(Context& context, int64_t i) const { - if (!(type_ & ((1 << kIntegerSchemaType) | (1 << kNumberSchemaType)))) { - DisallowedType(context, GetIntegerString()); - RAPIDJSON_INVALID_KEYWORD_RETURN(GetTypeString()); - } - - if (!minimum_.IsNull()) { - if (minimum_.IsInt64()) { - if (exclusiveMinimum_ ? i <= minimum_.GetInt64() : i < minimum_.GetInt64()) { - context.error_handler.BelowMinimum(i, minimum_, exclusiveMinimum_); - RAPIDJSON_INVALID_KEYWORD_RETURN(GetMinimumString()); - } - } - else if (minimum_.IsUint64()) { - context.error_handler.BelowMinimum(i, minimum_, exclusiveMinimum_); - RAPIDJSON_INVALID_KEYWORD_RETURN(GetMinimumString()); // i <= max(int64_t) < minimum.GetUint64() - } - else if (!CheckDoubleMinimum(context, static_cast(i))) - return false; - } - - if (!maximum_.IsNull()) { - if (maximum_.IsInt64()) { - if (exclusiveMaximum_ ? i >= maximum_.GetInt64() : i > maximum_.GetInt64()) { - context.error_handler.AboveMaximum(i, maximum_, exclusiveMaximum_); - RAPIDJSON_INVALID_KEYWORD_RETURN(GetMaximumString()); - } - } - else if (maximum_.IsUint64()) { } - /* do nothing */ // i <= max(int64_t) < maximum_.GetUint64() - else if (!CheckDoubleMaximum(context, static_cast(i))) - return false; - } - - if (!multipleOf_.IsNull()) { - if (multipleOf_.IsUint64()) { - if (static_cast(i >= 0 ? i : -i) % multipleOf_.GetUint64() != 0) { - context.error_handler.NotMultipleOf(i, multipleOf_); - RAPIDJSON_INVALID_KEYWORD_RETURN(GetMultipleOfString()); - } - } - else if (!CheckDoubleMultipleOf(context, static_cast(i))) - return false; - } - - return true; - } - - bool CheckUint(Context& context, uint64_t i) const { - if (!(type_ & ((1 << kIntegerSchemaType) | (1 << kNumberSchemaType)))) { - DisallowedType(context, GetIntegerString()); - RAPIDJSON_INVALID_KEYWORD_RETURN(GetTypeString()); - } - - if (!minimum_.IsNull()) { - if (minimum_.IsUint64()) { - if (exclusiveMinimum_ ? i <= minimum_.GetUint64() : i < minimum_.GetUint64()) { - context.error_handler.BelowMinimum(i, minimum_, exclusiveMinimum_); - RAPIDJSON_INVALID_KEYWORD_RETURN(GetMinimumString()); - } - } - else if (minimum_.IsInt64()) - /* do nothing */; // i >= 0 > minimum.Getint64() - else if (!CheckDoubleMinimum(context, static_cast(i))) - return false; - } - - if (!maximum_.IsNull()) { - if (maximum_.IsUint64()) { - if (exclusiveMaximum_ ? i >= maximum_.GetUint64() : i > maximum_.GetUint64()) { - context.error_handler.AboveMaximum(i, maximum_, exclusiveMaximum_); - RAPIDJSON_INVALID_KEYWORD_RETURN(GetMaximumString()); - } - } - else if (maximum_.IsInt64()) { - context.error_handler.AboveMaximum(i, maximum_, exclusiveMaximum_); - RAPIDJSON_INVALID_KEYWORD_RETURN(GetMaximumString()); // i >= 0 > maximum_ - } - else if (!CheckDoubleMaximum(context, static_cast(i))) - return false; - } - - if (!multipleOf_.IsNull()) { - if (multipleOf_.IsUint64()) { - if (i % multipleOf_.GetUint64() != 0) { - context.error_handler.NotMultipleOf(i, multipleOf_); - RAPIDJSON_INVALID_KEYWORD_RETURN(GetMultipleOfString()); - } - } - else if (!CheckDoubleMultipleOf(context, static_cast(i))) - return false; - } - - return true; - } - - bool CheckDoubleMinimum(Context& context, double d) const { - if (exclusiveMinimum_ ? d <= minimum_.GetDouble() : d < minimum_.GetDouble()) { - context.error_handler.BelowMinimum(d, minimum_, exclusiveMinimum_); - RAPIDJSON_INVALID_KEYWORD_RETURN(GetMinimumString()); - } - return true; - } - - bool CheckDoubleMaximum(Context& context, double d) const { - if (exclusiveMaximum_ ? d >= maximum_.GetDouble() : d > maximum_.GetDouble()) { - context.error_handler.AboveMaximum(d, maximum_, exclusiveMaximum_); - RAPIDJSON_INVALID_KEYWORD_RETURN(GetMaximumString()); - } - return true; - } - - bool CheckDoubleMultipleOf(Context& context, double d) const { - double a = std::abs(d), b = std::abs(multipleOf_.GetDouble()); - double q = std::floor(a / b); - double r = a - q * b; - if (r > 0.0) { - context.error_handler.NotMultipleOf(d, multipleOf_); - RAPIDJSON_INVALID_KEYWORD_RETURN(GetMultipleOfString()); - } - return true; - } - - void DisallowedType(Context& context, const ValueType& actualType) const { - ErrorHandler& eh = context.error_handler; - eh.StartDisallowedType(); - - if (type_ & (1 << kNullSchemaType)) eh.AddExpectedType(GetNullString()); - if (type_ & (1 << kBooleanSchemaType)) eh.AddExpectedType(GetBooleanString()); - if (type_ & (1 << kObjectSchemaType)) eh.AddExpectedType(GetObjectString()); - if (type_ & (1 << kArraySchemaType)) eh.AddExpectedType(GetArrayString()); - if (type_ & (1 << kStringSchemaType)) eh.AddExpectedType(GetStringString()); - - if (type_ & (1 << kNumberSchemaType)) eh.AddExpectedType(GetNumberString()); - else if (type_ & (1 << kIntegerSchemaType)) eh.AddExpectedType(GetIntegerString()); - - eh.EndDisallowedType(actualType); - } - - struct Property { - Property() : schema(), dependenciesSchema(), dependenciesValidatorIndex(), dependencies(), required(false) {} - ~Property() { AllocatorType::Free(dependencies); } - SValue name; - const SchemaType* schema; - const SchemaType* dependenciesSchema; - SizeType dependenciesValidatorIndex; - bool* dependencies; - bool required; - }; - - struct PatternProperty { - PatternProperty() : schema(), pattern() {} - ~PatternProperty() { - if (pattern) { - pattern->~RegexType(); - AllocatorType::Free(pattern); - } - } - const SchemaType* schema; - RegexType* pattern; - }; - - AllocatorType* allocator_; - SValue uri_; - PointerType pointer_; - const SchemaType* typeless_; - uint64_t* enum_; - SizeType enumCount_; - SchemaArray allOf_; - SchemaArray anyOf_; - SchemaArray oneOf_; - const SchemaType* not_; - unsigned type_; // bitmask of kSchemaType - SizeType validatorCount_; - SizeType notValidatorIndex_; - - Property* properties_; - const SchemaType* additionalPropertiesSchema_; - PatternProperty* patternProperties_; - SizeType patternPropertyCount_; - SizeType propertyCount_; - SizeType minProperties_; - SizeType maxProperties_; - bool additionalProperties_; - bool hasDependencies_; - bool hasRequired_; - bool hasSchemaDependencies_; - - const SchemaType* additionalItemsSchema_; - const SchemaType* itemsList_; - const SchemaType** itemsTuple_; - SizeType itemsTupleCount_; - SizeType minItems_; - SizeType maxItems_; - bool additionalItems_; - bool uniqueItems_; - - RegexType* pattern_; - SizeType minLength_; - SizeType maxLength_; - - SValue minimum_; - SValue maximum_; - SValue multipleOf_; - bool exclusiveMinimum_; - bool exclusiveMaximum_; - - SizeType defaultValueLength_; -}; - -template -struct TokenHelper { - RAPIDJSON_FORCEINLINE static void AppendIndexToken(Stack& documentStack, SizeType index) { - *documentStack.template Push() = '/'; - char buffer[21]; - size_t length = static_cast((sizeof(SizeType) == 4 ? u32toa(index, buffer) : u64toa(index, buffer)) - buffer); - for (size_t i = 0; i < length; i++) - *documentStack.template Push() = static_cast(buffer[i]); - } -}; - -// Partial specialized version for char to prevent buffer copying. -template -struct TokenHelper { - RAPIDJSON_FORCEINLINE static void AppendIndexToken(Stack& documentStack, SizeType index) { - if (sizeof(SizeType) == 4) { - char *buffer = documentStack.template Push(1 + 10); // '/' + uint - *buffer++ = '/'; - const char* end = internal::u32toa(index, buffer); - documentStack.template Pop(static_cast(10 - (end - buffer))); - } - else { - char *buffer = documentStack.template Push(1 + 20); // '/' + uint64 - *buffer++ = '/'; - const char* end = internal::u64toa(index, buffer); - documentStack.template Pop(static_cast(20 - (end - buffer))); - } - } -}; - -} // namespace internal - -/////////////////////////////////////////////////////////////////////////////// -// IGenericRemoteSchemaDocumentProvider - -template -class IGenericRemoteSchemaDocumentProvider { -public: - typedef typename SchemaDocumentType::Ch Ch; - - virtual ~IGenericRemoteSchemaDocumentProvider() {} - virtual const SchemaDocumentType* GetRemoteDocument(const Ch* uri, SizeType length) = 0; -}; - -/////////////////////////////////////////////////////////////////////////////// -// GenericSchemaDocument - -//! JSON schema document. -/*! - A JSON schema document is a compiled version of a JSON schema. - It is basically a tree of internal::Schema. - - \note This is an immutable class (i.e. its instance cannot be modified after construction). - \tparam ValueT Type of JSON value (e.g. \c Value ), which also determine the encoding. - \tparam Allocator Allocator type for allocating memory of this document. -*/ -template -class GenericSchemaDocument { -public: - typedef ValueT ValueType; - typedef IGenericRemoteSchemaDocumentProvider IRemoteSchemaDocumentProviderType; - typedef Allocator AllocatorType; - typedef typename ValueType::EncodingType EncodingType; - typedef typename EncodingType::Ch Ch; - typedef internal::Schema SchemaType; - typedef GenericPointer PointerType; - typedef GenericValue URIType; - friend class internal::Schema; - template - friend class GenericSchemaValidator; - - //! Constructor. - /*! - Compile a JSON document into schema document. - - \param document A JSON document as source. - \param uri The base URI of this schema document for purposes of violation reporting. - \param uriLength Length of \c name, in code points. - \param remoteProvider An optional remote schema document provider for resolving remote reference. Can be null. - \param allocator An optional allocator instance for allocating memory. Can be null. - */ - explicit GenericSchemaDocument(const ValueType& document, const Ch* uri = 0, SizeType uriLength = 0, - IRemoteSchemaDocumentProviderType* remoteProvider = 0, Allocator* allocator = 0) : - remoteProvider_(remoteProvider), - allocator_(allocator), - ownAllocator_(), - root_(), - typeless_(), - schemaMap_(allocator, kInitialSchemaMapSize), - schemaRef_(allocator, kInitialSchemaRefSize) - { - if (!allocator_) - ownAllocator_ = allocator_ = RAPIDJSON_NEW(Allocator)(); - - Ch noUri[1] = {0}; - uri_.SetString(uri ? uri : noUri, uriLength, *allocator_); - - typeless_ = static_cast(allocator_->Malloc(sizeof(SchemaType))); - new (typeless_) SchemaType(this, PointerType(), ValueType(kObjectType).Move(), ValueType(kObjectType).Move(), allocator_); - - // Generate root schema, it will call CreateSchema() to create sub-schemas, - // And call AddRefSchema() if there are $ref. - CreateSchemaRecursive(&root_, PointerType(), document, document); - - // Resolve $ref - while (!schemaRef_.Empty()) { - SchemaRefEntry* refEntry = schemaRef_.template Pop(1); - if (const SchemaType* s = GetSchema(refEntry->target)) { - if (refEntry->schema) - *refEntry->schema = s; - - // Create entry in map if not exist - if (!GetSchema(refEntry->source)) { - new (schemaMap_.template Push()) SchemaEntry(refEntry->source, const_cast(s), false, allocator_); - } - } - else if (refEntry->schema) - *refEntry->schema = typeless_; - - refEntry->~SchemaRefEntry(); - } - - RAPIDJSON_ASSERT(root_ != 0); - - schemaRef_.ShrinkToFit(); // Deallocate all memory for ref - } - -#if RAPIDJSON_HAS_CXX11_RVALUE_REFS - //! Move constructor in C++11 - GenericSchemaDocument(GenericSchemaDocument&& rhs) RAPIDJSON_NOEXCEPT : - remoteProvider_(rhs.remoteProvider_), - allocator_(rhs.allocator_), - ownAllocator_(rhs.ownAllocator_), - root_(rhs.root_), - typeless_(rhs.typeless_), - schemaMap_(std::move(rhs.schemaMap_)), - schemaRef_(std::move(rhs.schemaRef_)), - uri_(std::move(rhs.uri_)) - { - rhs.remoteProvider_ = 0; - rhs.allocator_ = 0; - rhs.ownAllocator_ = 0; - rhs.typeless_ = 0; - } -#endif - - //! Destructor - ~GenericSchemaDocument() { - while (!schemaMap_.Empty()) - schemaMap_.template Pop(1)->~SchemaEntry(); - - if (typeless_) { - typeless_->~SchemaType(); - Allocator::Free(typeless_); - } - - RAPIDJSON_DELETE(ownAllocator_); - } - - const URIType& GetURI() const { return uri_; } - - //! Get the root schema. - const SchemaType& GetRoot() const { return *root_; } - -private: - //! Prohibit copying - GenericSchemaDocument(const GenericSchemaDocument&); - //! Prohibit assignment - GenericSchemaDocument& operator=(const GenericSchemaDocument&); - - struct SchemaRefEntry { - SchemaRefEntry(const PointerType& s, const PointerType& t, const SchemaType** outSchema, Allocator *allocator) : source(s, allocator), target(t, allocator), schema(outSchema) {} - PointerType source; - PointerType target; - const SchemaType** schema; - }; - - struct SchemaEntry { - SchemaEntry(const PointerType& p, SchemaType* s, bool o, Allocator* allocator) : pointer(p, allocator), schema(s), owned(o) {} - ~SchemaEntry() { - if (owned) { - schema->~SchemaType(); - Allocator::Free(schema); - } - } - PointerType pointer; - SchemaType* schema; - bool owned; - }; - - void CreateSchemaRecursive(const SchemaType** schema, const PointerType& pointer, const ValueType& v, const ValueType& document) { - if (schema) - *schema = typeless_; - - if (v.GetType() == kObjectType) { - const SchemaType* s = GetSchema(pointer); - if (!s) - CreateSchema(schema, pointer, v, document); - - for (typename ValueType::ConstMemberIterator itr = v.MemberBegin(); itr != v.MemberEnd(); ++itr) - CreateSchemaRecursive(0, pointer.Append(itr->name, allocator_), itr->value, document); - } - else if (v.GetType() == kArrayType) - for (SizeType i = 0; i < v.Size(); i++) - CreateSchemaRecursive(0, pointer.Append(i, allocator_), v[i], document); - } - - void CreateSchema(const SchemaType** schema, const PointerType& pointer, const ValueType& v, const ValueType& document) { - RAPIDJSON_ASSERT(pointer.IsValid()); - if (v.IsObject()) { - if (!HandleRefSchema(pointer, schema, v, document)) { - SchemaType* s = new (allocator_->Malloc(sizeof(SchemaType))) SchemaType(this, pointer, v, document, allocator_); - new (schemaMap_.template Push()) SchemaEntry(pointer, s, true, allocator_); - if (schema) - *schema = s; - } - } - } - - bool HandleRefSchema(const PointerType& source, const SchemaType** schema, const ValueType& v, const ValueType& document) { - static const Ch kRefString[] = { '$', 'r', 'e', 'f', '\0' }; - static const ValueType kRefValue(kRefString, 4); - - typename ValueType::ConstMemberIterator itr = v.FindMember(kRefValue); - if (itr == v.MemberEnd()) - return false; - - if (itr->value.IsString()) { - SizeType len = itr->value.GetStringLength(); - if (len > 0) { - const Ch* s = itr->value.GetString(); - SizeType i = 0; - while (i < len && s[i] != '#') // Find the first # - i++; - - if (i > 0) { // Remote reference, resolve immediately - if (remoteProvider_) { - if (const GenericSchemaDocument* remoteDocument = remoteProvider_->GetRemoteDocument(s, i)) { - PointerType pointer(&s[i], len - i, allocator_); - if (pointer.IsValid()) { - if (const SchemaType* sc = remoteDocument->GetSchema(pointer)) { - if (schema) - *schema = sc; - new (schemaMap_.template Push()) SchemaEntry(source, const_cast(sc), false, allocator_); - return true; - } - } - } - } - } - else if (s[i] == '#') { // Local reference, defer resolution - PointerType pointer(&s[i], len - i, allocator_); - if (pointer.IsValid()) { - if (const ValueType* nv = pointer.Get(document)) - if (HandleRefSchema(source, schema, *nv, document)) - return true; - - new (schemaRef_.template Push()) SchemaRefEntry(source, pointer, schema, allocator_); - return true; - } - } - } - } - return false; - } - - const SchemaType* GetSchema(const PointerType& pointer) const { - for (const SchemaEntry* target = schemaMap_.template Bottom(); target != schemaMap_.template End(); ++target) - if (pointer == target->pointer) - return target->schema; - return 0; - } - - PointerType GetPointer(const SchemaType* schema) const { - for (const SchemaEntry* target = schemaMap_.template Bottom(); target != schemaMap_.template End(); ++target) - if (schema == target->schema) - return target->pointer; - return PointerType(); - } - - const SchemaType* GetTypeless() const { return typeless_; } - - static const size_t kInitialSchemaMapSize = 64; - static const size_t kInitialSchemaRefSize = 64; - - IRemoteSchemaDocumentProviderType* remoteProvider_; - Allocator *allocator_; - Allocator *ownAllocator_; - const SchemaType* root_; //!< Root schema. - SchemaType* typeless_; - internal::Stack schemaMap_; // Stores created Pointer -> Schemas - internal::Stack schemaRef_; // Stores Pointer from $ref and schema which holds the $ref - URIType uri_; -}; - -//! GenericSchemaDocument using Value type. -typedef GenericSchemaDocument SchemaDocument; -//! IGenericRemoteSchemaDocumentProvider using SchemaDocument. -typedef IGenericRemoteSchemaDocumentProvider IRemoteSchemaDocumentProvider; - -/////////////////////////////////////////////////////////////////////////////// -// GenericSchemaValidator - -//! JSON Schema Validator. -/*! - A SAX style JSON schema validator. - It uses a \c GenericSchemaDocument to validate SAX events. - It delegates the incoming SAX events to an output handler. - The default output handler does nothing. - It can be reused multiple times by calling \c Reset(). - - \tparam SchemaDocumentType Type of schema document. - \tparam OutputHandler Type of output handler. Default handler does nothing. - \tparam StateAllocator Allocator for storing the internal validation states. -*/ -template < - typename SchemaDocumentType, - typename OutputHandler = BaseReaderHandler, - typename StateAllocator = CrtAllocator> -class GenericSchemaValidator : - public internal::ISchemaStateFactory, - public internal::ISchemaValidator, - public internal::IValidationErrorHandler -{ -public: - typedef typename SchemaDocumentType::SchemaType SchemaType; - typedef typename SchemaDocumentType::PointerType PointerType; - typedef typename SchemaType::EncodingType EncodingType; - typedef typename SchemaType::SValue SValue; - typedef typename EncodingType::Ch Ch; - typedef GenericStringRef StringRefType; - typedef GenericValue ValueType; - - //! Constructor without output handler. - /*! - \param schemaDocument The schema document to conform to. - \param allocator Optional allocator for storing internal validation states. - \param schemaStackCapacity Optional initial capacity of schema path stack. - \param documentStackCapacity Optional initial capacity of document path stack. - */ - GenericSchemaValidator( - const SchemaDocumentType& schemaDocument, - StateAllocator* allocator = 0, - size_t schemaStackCapacity = kDefaultSchemaStackCapacity, - size_t documentStackCapacity = kDefaultDocumentStackCapacity) - : - schemaDocument_(&schemaDocument), - root_(schemaDocument.GetRoot()), - stateAllocator_(allocator), - ownStateAllocator_(0), - schemaStack_(allocator, schemaStackCapacity), - documentStack_(allocator, documentStackCapacity), - outputHandler_(0), - error_(kObjectType), - currentError_(), - missingDependents_(), - valid_(true) -#if RAPIDJSON_SCHEMA_VERBOSE - , depth_(0) -#endif - { - } - - //! Constructor with output handler. - /*! - \param schemaDocument The schema document to conform to. - \param allocator Optional allocator for storing internal validation states. - \param schemaStackCapacity Optional initial capacity of schema path stack. - \param documentStackCapacity Optional initial capacity of document path stack. - */ - GenericSchemaValidator( - const SchemaDocumentType& schemaDocument, - OutputHandler& outputHandler, - StateAllocator* allocator = 0, - size_t schemaStackCapacity = kDefaultSchemaStackCapacity, - size_t documentStackCapacity = kDefaultDocumentStackCapacity) - : - schemaDocument_(&schemaDocument), - root_(schemaDocument.GetRoot()), - stateAllocator_(allocator), - ownStateAllocator_(0), - schemaStack_(allocator, schemaStackCapacity), - documentStack_(allocator, documentStackCapacity), - outputHandler_(&outputHandler), - error_(kObjectType), - currentError_(), - missingDependents_(), - valid_(true) -#if RAPIDJSON_SCHEMA_VERBOSE - , depth_(0) -#endif - { - } - - //! Destructor. - ~GenericSchemaValidator() { - Reset(); - RAPIDJSON_DELETE(ownStateAllocator_); - } - - //! Reset the internal states. - void Reset() { - while (!schemaStack_.Empty()) - PopSchema(); - documentStack_.Clear(); - error_.SetObject(); - currentError_.SetNull(); - missingDependents_.SetNull(); - valid_ = true; - } - - //! Checks whether the current state is valid. - // Implementation of ISchemaValidator - virtual bool IsValid() const { return valid_; } - - //! Gets the error object. - ValueType& GetError() { return error_; } - const ValueType& GetError() const { return error_; } - - //! Gets the JSON pointer pointed to the invalid schema. - PointerType GetInvalidSchemaPointer() const { - return schemaStack_.Empty() ? PointerType() : CurrentSchema().GetPointer(); - } - - //! Gets the keyword of invalid schema. - const Ch* GetInvalidSchemaKeyword() const { - return schemaStack_.Empty() ? 0 : CurrentContext().invalidKeyword; - } - - //! Gets the JSON pointer pointed to the invalid value. - PointerType GetInvalidDocumentPointer() const { - if (documentStack_.Empty()) { - return PointerType(); - } - else { - return PointerType(documentStack_.template Bottom(), documentStack_.GetSize() / sizeof(Ch)); - } - } - - void NotMultipleOf(int64_t actual, const SValue& expected) { - AddNumberError(SchemaType::GetMultipleOfString(), ValueType(actual).Move(), expected); - } - void NotMultipleOf(uint64_t actual, const SValue& expected) { - AddNumberError(SchemaType::GetMultipleOfString(), ValueType(actual).Move(), expected); - } - void NotMultipleOf(double actual, const SValue& expected) { - AddNumberError(SchemaType::GetMultipleOfString(), ValueType(actual).Move(), expected); - } - void AboveMaximum(int64_t actual, const SValue& expected, bool exclusive) { - AddNumberError(SchemaType::GetMaximumString(), ValueType(actual).Move(), expected, - exclusive ? &SchemaType::GetExclusiveMaximumString : 0); - } - void AboveMaximum(uint64_t actual, const SValue& expected, bool exclusive) { - AddNumberError(SchemaType::GetMaximumString(), ValueType(actual).Move(), expected, - exclusive ? &SchemaType::GetExclusiveMaximumString : 0); - } - void AboveMaximum(double actual, const SValue& expected, bool exclusive) { - AddNumberError(SchemaType::GetMaximumString(), ValueType(actual).Move(), expected, - exclusive ? &SchemaType::GetExclusiveMaximumString : 0); - } - void BelowMinimum(int64_t actual, const SValue& expected, bool exclusive) { - AddNumberError(SchemaType::GetMinimumString(), ValueType(actual).Move(), expected, - exclusive ? &SchemaType::GetExclusiveMinimumString : 0); - } - void BelowMinimum(uint64_t actual, const SValue& expected, bool exclusive) { - AddNumberError(SchemaType::GetMinimumString(), ValueType(actual).Move(), expected, - exclusive ? &SchemaType::GetExclusiveMinimumString : 0); - } - void BelowMinimum(double actual, const SValue& expected, bool exclusive) { - AddNumberError(SchemaType::GetMinimumString(), ValueType(actual).Move(), expected, - exclusive ? &SchemaType::GetExclusiveMinimumString : 0); - } - - void TooLong(const Ch* str, SizeType length, SizeType expected) { - AddNumberError(SchemaType::GetMaxLengthString(), - ValueType(str, length, GetStateAllocator()).Move(), SValue(expected).Move()); - } - void TooShort(const Ch* str, SizeType length, SizeType expected) { - AddNumberError(SchemaType::GetMinLengthString(), - ValueType(str, length, GetStateAllocator()).Move(), SValue(expected).Move()); - } - void DoesNotMatch(const Ch* str, SizeType length) { - currentError_.SetObject(); - currentError_.AddMember(GetActualString(), ValueType(str, length, GetStateAllocator()).Move(), GetStateAllocator()); - AddCurrentError(SchemaType::GetPatternString()); - } - - void DisallowedItem(SizeType index) { - currentError_.SetObject(); - currentError_.AddMember(GetDisallowedString(), ValueType(index).Move(), GetStateAllocator()); - AddCurrentError(SchemaType::GetAdditionalItemsString(), true); - } - void TooFewItems(SizeType actualCount, SizeType expectedCount) { - AddNumberError(SchemaType::GetMinItemsString(), - ValueType(actualCount).Move(), SValue(expectedCount).Move()); - } - void TooManyItems(SizeType actualCount, SizeType expectedCount) { - AddNumberError(SchemaType::GetMaxItemsString(), - ValueType(actualCount).Move(), SValue(expectedCount).Move()); - } - void DuplicateItems(SizeType index1, SizeType index2) { - ValueType duplicates(kArrayType); - duplicates.PushBack(index1, GetStateAllocator()); - duplicates.PushBack(index2, GetStateAllocator()); - currentError_.SetObject(); - currentError_.AddMember(GetDuplicatesString(), duplicates, GetStateAllocator()); - AddCurrentError(SchemaType::GetUniqueItemsString(), true); - } - - void TooManyProperties(SizeType actualCount, SizeType expectedCount) { - AddNumberError(SchemaType::GetMaxPropertiesString(), - ValueType(actualCount).Move(), SValue(expectedCount).Move()); - } - void TooFewProperties(SizeType actualCount, SizeType expectedCount) { - AddNumberError(SchemaType::GetMinPropertiesString(), - ValueType(actualCount).Move(), SValue(expectedCount).Move()); - } - void StartMissingProperties() { - currentError_.SetArray(); - } - void AddMissingProperty(const SValue& name) { - currentError_.PushBack(ValueType(name, GetStateAllocator()).Move(), GetStateAllocator()); - } - bool EndMissingProperties() { - if (currentError_.Empty()) - return false; - ValueType error(kObjectType); - error.AddMember(GetMissingString(), currentError_, GetStateAllocator()); - currentError_ = error; - AddCurrentError(SchemaType::GetRequiredString()); - return true; - } - void PropertyViolations(ISchemaValidator** subvalidators, SizeType count) { - for (SizeType i = 0; i < count; ++i) - MergeError(static_cast(subvalidators[i])->GetError()); - } - void DisallowedProperty(const Ch* name, SizeType length) { - currentError_.SetObject(); - currentError_.AddMember(GetDisallowedString(), ValueType(name, length, GetStateAllocator()).Move(), GetStateAllocator()); - AddCurrentError(SchemaType::GetAdditionalPropertiesString(), true); - } - - void StartDependencyErrors() { - currentError_.SetObject(); - } - void StartMissingDependentProperties() { - missingDependents_.SetArray(); - } - void AddMissingDependentProperty(const SValue& targetName) { - missingDependents_.PushBack(ValueType(targetName, GetStateAllocator()).Move(), GetStateAllocator()); - } - void EndMissingDependentProperties(const SValue& sourceName) { - if (!missingDependents_.Empty()) - currentError_.AddMember(ValueType(sourceName, GetStateAllocator()).Move(), - missingDependents_, GetStateAllocator()); - } - void AddDependencySchemaError(const SValue& sourceName, ISchemaValidator* subvalidator) { - currentError_.AddMember(ValueType(sourceName, GetStateAllocator()).Move(), - static_cast(subvalidator)->GetError(), GetStateAllocator()); - } - bool EndDependencyErrors() { - if (currentError_.ObjectEmpty()) - return false; - ValueType error(kObjectType); - error.AddMember(GetErrorsString(), currentError_, GetStateAllocator()); - currentError_ = error; - AddCurrentError(SchemaType::GetDependenciesString()); - return true; - } - - void DisallowedValue() { - currentError_.SetObject(); - AddCurrentError(SchemaType::GetEnumString()); - } - void StartDisallowedType() { - currentError_.SetArray(); - } - void AddExpectedType(const typename SchemaType::ValueType& expectedType) { - currentError_.PushBack(ValueType(expectedType, GetStateAllocator()).Move(), GetStateAllocator()); - } - void EndDisallowedType(const typename SchemaType::ValueType& actualType) { - ValueType error(kObjectType); - error.AddMember(GetExpectedString(), currentError_, GetStateAllocator()); - error.AddMember(GetActualString(), ValueType(actualType, GetStateAllocator()).Move(), GetStateAllocator()); - currentError_ = error; - AddCurrentError(SchemaType::GetTypeString()); - } - void NotAllOf(ISchemaValidator** subvalidators, SizeType count) { - for (SizeType i = 0; i < count; ++i) { - MergeError(static_cast(subvalidators[i])->GetError()); - } - } - void NoneOf(ISchemaValidator** subvalidators, SizeType count) { - AddErrorArray(SchemaType::GetAnyOfString(), subvalidators, count); - } - void NotOneOf(ISchemaValidator** subvalidators, SizeType count) { - AddErrorArray(SchemaType::GetOneOfString(), subvalidators, count); - } - void Disallowed() { - currentError_.SetObject(); - AddCurrentError(SchemaType::GetNotString()); - } - -#define RAPIDJSON_STRING_(name, ...) \ - static const StringRefType& Get##name##String() {\ - static const Ch s[] = { __VA_ARGS__, '\0' };\ - static const StringRefType v(s, static_cast(sizeof(s) / sizeof(Ch) - 1)); \ - return v;\ - } - - RAPIDJSON_STRING_(InstanceRef, 'i', 'n', 's', 't', 'a', 'n', 'c', 'e', 'R', 'e', 'f') - RAPIDJSON_STRING_(SchemaRef, 's', 'c', 'h', 'e', 'm', 'a', 'R', 'e', 'f') - RAPIDJSON_STRING_(Expected, 'e', 'x', 'p', 'e', 'c', 't', 'e', 'd') - RAPIDJSON_STRING_(Actual, 'a', 'c', 't', 'u', 'a', 'l') - RAPIDJSON_STRING_(Disallowed, 'd', 'i', 's', 'a', 'l', 'l', 'o', 'w', 'e', 'd') - RAPIDJSON_STRING_(Missing, 'm', 'i', 's', 's', 'i', 'n', 'g') - RAPIDJSON_STRING_(Errors, 'e', 'r', 'r', 'o', 'r', 's') - RAPIDJSON_STRING_(Duplicates, 'd', 'u', 'p', 'l', 'i', 'c', 'a', 't', 'e', 's') - -#undef RAPIDJSON_STRING_ - -#if RAPIDJSON_SCHEMA_VERBOSE -#define RAPIDJSON_SCHEMA_HANDLE_BEGIN_VERBOSE_() \ -RAPIDJSON_MULTILINEMACRO_BEGIN\ - *documentStack_.template Push() = '\0';\ - documentStack_.template Pop(1);\ - internal::PrintInvalidDocument(documentStack_.template Bottom());\ -RAPIDJSON_MULTILINEMACRO_END -#else -#define RAPIDJSON_SCHEMA_HANDLE_BEGIN_VERBOSE_() -#endif - -#define RAPIDJSON_SCHEMA_HANDLE_BEGIN_(method, arg1)\ - if (!valid_) return false; \ - if (!BeginValue() || !CurrentSchema().method arg1) {\ - RAPIDJSON_SCHEMA_HANDLE_BEGIN_VERBOSE_();\ - return valid_ = false;\ - } - -#define RAPIDJSON_SCHEMA_HANDLE_PARALLEL_(method, arg2)\ - for (Context* context = schemaStack_.template Bottom(); context != schemaStack_.template End(); context++) {\ - if (context->hasher)\ - static_cast(context->hasher)->method arg2;\ - if (context->validators)\ - for (SizeType i_ = 0; i_ < context->validatorCount; i_++)\ - static_cast(context->validators[i_])->method arg2;\ - if (context->patternPropertiesValidators)\ - for (SizeType i_ = 0; i_ < context->patternPropertiesValidatorCount; i_++)\ - static_cast(context->patternPropertiesValidators[i_])->method arg2;\ - } - -#define RAPIDJSON_SCHEMA_HANDLE_END_(method, arg2)\ - return valid_ = EndValue() && (!outputHandler_ || outputHandler_->method arg2) - -#define RAPIDJSON_SCHEMA_HANDLE_VALUE_(method, arg1, arg2) \ - RAPIDJSON_SCHEMA_HANDLE_BEGIN_ (method, arg1);\ - RAPIDJSON_SCHEMA_HANDLE_PARALLEL_(method, arg2);\ - RAPIDJSON_SCHEMA_HANDLE_END_ (method, arg2) - - bool Null() { RAPIDJSON_SCHEMA_HANDLE_VALUE_(Null, (CurrentContext()), ( )); } - bool Bool(bool b) { RAPIDJSON_SCHEMA_HANDLE_VALUE_(Bool, (CurrentContext(), b), (b)); } - bool Int(int i) { RAPIDJSON_SCHEMA_HANDLE_VALUE_(Int, (CurrentContext(), i), (i)); } - bool Uint(unsigned u) { RAPIDJSON_SCHEMA_HANDLE_VALUE_(Uint, (CurrentContext(), u), (u)); } - bool Int64(int64_t i) { RAPIDJSON_SCHEMA_HANDLE_VALUE_(Int64, (CurrentContext(), i), (i)); } - bool Uint64(uint64_t u) { RAPIDJSON_SCHEMA_HANDLE_VALUE_(Uint64, (CurrentContext(), u), (u)); } - bool Double(double d) { RAPIDJSON_SCHEMA_HANDLE_VALUE_(Double, (CurrentContext(), d), (d)); } - bool RawNumber(const Ch* str, SizeType length, bool copy) - { RAPIDJSON_SCHEMA_HANDLE_VALUE_(String, (CurrentContext(), str, length, copy), (str, length, copy)); } - bool String(const Ch* str, SizeType length, bool copy) - { RAPIDJSON_SCHEMA_HANDLE_VALUE_(String, (CurrentContext(), str, length, copy), (str, length, copy)); } - - bool StartObject() { - RAPIDJSON_SCHEMA_HANDLE_BEGIN_(StartObject, (CurrentContext())); - RAPIDJSON_SCHEMA_HANDLE_PARALLEL_(StartObject, ()); - return valid_ = !outputHandler_ || outputHandler_->StartObject(); - } - - bool Key(const Ch* str, SizeType len, bool copy) { - if (!valid_) return false; - AppendToken(str, len); - if (!CurrentSchema().Key(CurrentContext(), str, len, copy)) return valid_ = false; - RAPIDJSON_SCHEMA_HANDLE_PARALLEL_(Key, (str, len, copy)); - return valid_ = !outputHandler_ || outputHandler_->Key(str, len, copy); - } - - bool EndObject(SizeType memberCount) { - if (!valid_) return false; - RAPIDJSON_SCHEMA_HANDLE_PARALLEL_(EndObject, (memberCount)); - if (!CurrentSchema().EndObject(CurrentContext(), memberCount)) return valid_ = false; - RAPIDJSON_SCHEMA_HANDLE_END_(EndObject, (memberCount)); - } - - bool StartArray() { - RAPIDJSON_SCHEMA_HANDLE_BEGIN_(StartArray, (CurrentContext())); - RAPIDJSON_SCHEMA_HANDLE_PARALLEL_(StartArray, ()); - return valid_ = !outputHandler_ || outputHandler_->StartArray(); - } - - bool EndArray(SizeType elementCount) { - if (!valid_) return false; - RAPIDJSON_SCHEMA_HANDLE_PARALLEL_(EndArray, (elementCount)); - if (!CurrentSchema().EndArray(CurrentContext(), elementCount)) return valid_ = false; - RAPIDJSON_SCHEMA_HANDLE_END_(EndArray, (elementCount)); - } - -#undef RAPIDJSON_SCHEMA_HANDLE_BEGIN_VERBOSE_ -#undef RAPIDJSON_SCHEMA_HANDLE_BEGIN_ -#undef RAPIDJSON_SCHEMA_HANDLE_PARALLEL_ -#undef RAPIDJSON_SCHEMA_HANDLE_VALUE_ - - // Implementation of ISchemaStateFactory - virtual ISchemaValidator* CreateSchemaValidator(const SchemaType& root) { - return new (GetStateAllocator().Malloc(sizeof(GenericSchemaValidator))) GenericSchemaValidator(*schemaDocument_, root, documentStack_.template Bottom(), documentStack_.GetSize(), -#if RAPIDJSON_SCHEMA_VERBOSE - depth_ + 1, -#endif - &GetStateAllocator()); - } - - virtual void DestroySchemaValidator(ISchemaValidator* validator) { - GenericSchemaValidator* v = static_cast(validator); - v->~GenericSchemaValidator(); - StateAllocator::Free(v); - } - - virtual void* CreateHasher() { - return new (GetStateAllocator().Malloc(sizeof(HasherType))) HasherType(&GetStateAllocator()); - } - - virtual uint64_t GetHashCode(void* hasher) { - return static_cast(hasher)->GetHashCode(); - } - - virtual void DestroryHasher(void* hasher) { - HasherType* h = static_cast(hasher); - h->~HasherType(); - StateAllocator::Free(h); - } - - virtual void* MallocState(size_t size) { - return GetStateAllocator().Malloc(size); - } - - virtual void FreeState(void* p) { - StateAllocator::Free(p); - } - -private: - typedef typename SchemaType::Context Context; - typedef GenericValue, StateAllocator> HashCodeArray; - typedef internal::Hasher HasherType; - - GenericSchemaValidator( - const SchemaDocumentType& schemaDocument, - const SchemaType& root, - const char* basePath, size_t basePathSize, -#if RAPIDJSON_SCHEMA_VERBOSE - unsigned depth, -#endif - StateAllocator* allocator = 0, - size_t schemaStackCapacity = kDefaultSchemaStackCapacity, - size_t documentStackCapacity = kDefaultDocumentStackCapacity) - : - schemaDocument_(&schemaDocument), - root_(root), - stateAllocator_(allocator), - ownStateAllocator_(0), - schemaStack_(allocator, schemaStackCapacity), - documentStack_(allocator, documentStackCapacity), - outputHandler_(0), - error_(kObjectType), - currentError_(), - missingDependents_(), - valid_(true) -#if RAPIDJSON_SCHEMA_VERBOSE - , depth_(depth) -#endif - { - if (basePath && basePathSize) - memcpy(documentStack_.template Push(basePathSize), basePath, basePathSize); - } - - StateAllocator& GetStateAllocator() { - if (!stateAllocator_) - stateAllocator_ = ownStateAllocator_ = RAPIDJSON_NEW(StateAllocator)(); - return *stateAllocator_; - } - - bool BeginValue() { - if (schemaStack_.Empty()) - PushSchema(root_); - else { - if (CurrentContext().inArray) - internal::TokenHelper, Ch>::AppendIndexToken(documentStack_, CurrentContext().arrayElementIndex); - - if (!CurrentSchema().BeginValue(CurrentContext())) - return false; - - SizeType count = CurrentContext().patternPropertiesSchemaCount; - const SchemaType** sa = CurrentContext().patternPropertiesSchemas; - typename Context::PatternValidatorType patternValidatorType = CurrentContext().valuePatternValidatorType; - bool valueUniqueness = CurrentContext().valueUniqueness; - RAPIDJSON_ASSERT(CurrentContext().valueSchema); - PushSchema(*CurrentContext().valueSchema); - - if (count > 0) { - CurrentContext().objectPatternValidatorType = patternValidatorType; - ISchemaValidator**& va = CurrentContext().patternPropertiesValidators; - SizeType& validatorCount = CurrentContext().patternPropertiesValidatorCount; - va = static_cast(MallocState(sizeof(ISchemaValidator*) * count)); - for (SizeType i = 0; i < count; i++) - va[validatorCount++] = CreateSchemaValidator(*sa[i]); - } - - CurrentContext().arrayUniqueness = valueUniqueness; - } - return true; - } - - bool EndValue() { - if (!CurrentSchema().EndValue(CurrentContext())) - return false; - -#if RAPIDJSON_SCHEMA_VERBOSE - GenericStringBuffer sb; - schemaDocument_->GetPointer(&CurrentSchema()).Stringify(sb); - - *documentStack_.template Push() = '\0'; - documentStack_.template Pop(1); - internal::PrintValidatorPointers(depth_, sb.GetString(), documentStack_.template Bottom()); -#endif - - uint64_t h = CurrentContext().arrayUniqueness ? static_cast(CurrentContext().hasher)->GetHashCode() : 0; - - PopSchema(); - - if (!schemaStack_.Empty()) { - Context& context = CurrentContext(); - if (context.valueUniqueness) { - HashCodeArray* a = static_cast(context.arrayElementHashCodes); - if (!a) - CurrentContext().arrayElementHashCodes = a = new (GetStateAllocator().Malloc(sizeof(HashCodeArray))) HashCodeArray(kArrayType); - for (typename HashCodeArray::ConstValueIterator itr = a->Begin(); itr != a->End(); ++itr) - if (itr->GetUint64() == h) { - DuplicateItems(static_cast(itr - a->Begin()), a->Size()); - RAPIDJSON_INVALID_KEYWORD_RETURN(SchemaType::GetUniqueItemsString()); - } - a->PushBack(h, GetStateAllocator()); - } - } - - // Remove the last token of document pointer - while (!documentStack_.Empty() && *documentStack_.template Pop(1) != '/') - ; - - return true; - } - - void AppendToken(const Ch* str, SizeType len) { - documentStack_.template Reserve(1 + len * 2); // worst case all characters are escaped as two characters - *documentStack_.template PushUnsafe() = '/'; - for (SizeType i = 0; i < len; i++) { - if (str[i] == '~') { - *documentStack_.template PushUnsafe() = '~'; - *documentStack_.template PushUnsafe() = '0'; - } - else if (str[i] == '/') { - *documentStack_.template PushUnsafe() = '~'; - *documentStack_.template PushUnsafe() = '1'; - } - else - *documentStack_.template PushUnsafe() = str[i]; - } - } - - RAPIDJSON_FORCEINLINE void PushSchema(const SchemaType& schema) { new (schemaStack_.template Push()) Context(*this, *this, &schema); } - - RAPIDJSON_FORCEINLINE void PopSchema() { - Context* c = schemaStack_.template Pop(1); - if (HashCodeArray* a = static_cast(c->arrayElementHashCodes)) { - a->~HashCodeArray(); - StateAllocator::Free(a); - } - c->~Context(); - } - - void AddErrorLocation(ValueType& result, bool parent) { - GenericStringBuffer sb; - PointerType instancePointer = GetInvalidDocumentPointer(); - ((parent && instancePointer.GetTokenCount() > 0) - ? PointerType(instancePointer.GetTokens(), instancePointer.GetTokenCount() - 1) - : instancePointer).StringifyUriFragment(sb); - ValueType instanceRef(sb.GetString(), static_cast(sb.GetSize() / sizeof(Ch)), - GetStateAllocator()); - result.AddMember(GetInstanceRefString(), instanceRef, GetStateAllocator()); - sb.Clear(); - memcpy(sb.Push(CurrentSchema().GetURI().GetStringLength()), - CurrentSchema().GetURI().GetString(), - CurrentSchema().GetURI().GetStringLength() * sizeof(Ch)); - GetInvalidSchemaPointer().StringifyUriFragment(sb); - ValueType schemaRef(sb.GetString(), static_cast(sb.GetSize() / sizeof(Ch)), - GetStateAllocator()); - result.AddMember(GetSchemaRefString(), schemaRef, GetStateAllocator()); - } - - void AddError(ValueType& keyword, ValueType& error) { - typename ValueType::MemberIterator member = error_.FindMember(keyword); - if (member == error_.MemberEnd()) - error_.AddMember(keyword, error, GetStateAllocator()); - else { - if (member->value.IsObject()) { - ValueType errors(kArrayType); - errors.PushBack(member->value, GetStateAllocator()); - member->value = errors; - } - member->value.PushBack(error, GetStateAllocator()); - } - } - - void AddCurrentError(const typename SchemaType::ValueType& keyword, bool parent = false) { - AddErrorLocation(currentError_, parent); - AddError(ValueType(keyword, GetStateAllocator(), false).Move(), currentError_); - } - - void MergeError(ValueType& other) { - for (typename ValueType::MemberIterator it = other.MemberBegin(), end = other.MemberEnd(); it != end; ++it) { - AddError(it->name, it->value); - } - } - - void AddNumberError(const typename SchemaType::ValueType& keyword, ValueType& actual, const SValue& expected, - const typename SchemaType::ValueType& (*exclusive)() = 0) { - currentError_.SetObject(); - currentError_.AddMember(GetActualString(), actual, GetStateAllocator()); - currentError_.AddMember(GetExpectedString(), ValueType(expected, GetStateAllocator()).Move(), GetStateAllocator()); - if (exclusive) - currentError_.AddMember(ValueType(exclusive(), GetStateAllocator()).Move(), true, GetStateAllocator()); - AddCurrentError(keyword); - } - - void AddErrorArray(const typename SchemaType::ValueType& keyword, - ISchemaValidator** subvalidators, SizeType count) { - ValueType errors(kArrayType); - for (SizeType i = 0; i < count; ++i) - errors.PushBack(static_cast(subvalidators[i])->GetError(), GetStateAllocator()); - currentError_.SetObject(); - currentError_.AddMember(GetErrorsString(), errors, GetStateAllocator()); - AddCurrentError(keyword); - } - - const SchemaType& CurrentSchema() const { return *schemaStack_.template Top()->schema; } - Context& CurrentContext() { return *schemaStack_.template Top(); } - const Context& CurrentContext() const { return *schemaStack_.template Top(); } - - static const size_t kDefaultSchemaStackCapacity = 1024; - static const size_t kDefaultDocumentStackCapacity = 256; - const SchemaDocumentType* schemaDocument_; - const SchemaType& root_; - StateAllocator* stateAllocator_; - StateAllocator* ownStateAllocator_; - internal::Stack schemaStack_; //!< stack to store the current path of schema (BaseSchemaType *) - internal::Stack documentStack_; //!< stack to store the current path of validating document (Ch) - OutputHandler* outputHandler_; - ValueType error_; - ValueType currentError_; - ValueType missingDependents_; - bool valid_; -#if RAPIDJSON_SCHEMA_VERBOSE - unsigned depth_; -#endif -}; - -typedef GenericSchemaValidator SchemaValidator; - -/////////////////////////////////////////////////////////////////////////////// -// SchemaValidatingReader - -//! A helper class for parsing with validation. -/*! - This helper class is a functor, designed as a parameter of \ref GenericDocument::Populate(). - - \tparam parseFlags Combination of \ref ParseFlag. - \tparam InputStream Type of input stream, implementing Stream concept. - \tparam SourceEncoding Encoding of the input stream. - \tparam SchemaDocumentType Type of schema document. - \tparam StackAllocator Allocator type for stack. -*/ -template < - unsigned parseFlags, - typename InputStream, - typename SourceEncoding, - typename SchemaDocumentType = SchemaDocument, - typename StackAllocator = CrtAllocator> -class SchemaValidatingReader { -public: - typedef typename SchemaDocumentType::PointerType PointerType; - typedef typename InputStream::Ch Ch; - typedef GenericValue ValueType; - - //! Constructor - /*! - \param is Input stream. - \param sd Schema document. - */ - SchemaValidatingReader(InputStream& is, const SchemaDocumentType& sd) : is_(is), sd_(sd), invalidSchemaKeyword_(), error_(kObjectType), isValid_(true) {} - - template - bool operator()(Handler& handler) { - GenericReader reader; - GenericSchemaValidator validator(sd_, handler); - parseResult_ = reader.template Parse(is_, validator); - - isValid_ = validator.IsValid(); - if (isValid_) { - invalidSchemaPointer_ = PointerType(); - invalidSchemaKeyword_ = 0; - invalidDocumentPointer_ = PointerType(); - error_.SetObject(); - } - else { - invalidSchemaPointer_ = validator.GetInvalidSchemaPointer(); - invalidSchemaKeyword_ = validator.GetInvalidSchemaKeyword(); - invalidDocumentPointer_ = validator.GetInvalidDocumentPointer(); - error_.CopyFrom(validator.GetError(), allocator_); - } - - return parseResult_; - } - - const ParseResult& GetParseResult() const { return parseResult_; } - bool IsValid() const { return isValid_; } - const PointerType& GetInvalidSchemaPointer() const { return invalidSchemaPointer_; } - const Ch* GetInvalidSchemaKeyword() const { return invalidSchemaKeyword_; } - const PointerType& GetInvalidDocumentPointer() const { return invalidDocumentPointer_; } - const ValueType& GetError() const { return error_; } - -private: - InputStream& is_; - const SchemaDocumentType& sd_; - - ParseResult parseResult_; - PointerType invalidSchemaPointer_; - const Ch* invalidSchemaKeyword_; - PointerType invalidDocumentPointer_; - StackAllocator allocator_; - ValueType error_; - bool isValid_; -}; - -RAPIDJSON_NAMESPACE_END -RAPIDJSON_DIAG_POP - -#endif // RAPIDJSON_SCHEMA_H_ diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/stream.h b/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/stream.h deleted file mode 100644 index c08a87e183..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/stream.h +++ /dev/null @@ -1,250 +0,0 @@ -// Tencent is pleased to support the open source community by making RapidJSON available. -// -// Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. -// -// Licensed under the MIT License (the "License"); you may not use this file except -// in compliance with the License. You may obtain a copy of the License at -// -// http://opensource.org/licenses/MIT -// -// Unless required by applicable law or agreed to in writing, software distributed -// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -// CONDITIONS OF ANY KIND, either express or implied. See the License for the -// specific language governing permissions and limitations under the License. - -#include "rapidjson.h" - -#ifndef RAPIDJSON_STREAM_H_ -#define RAPIDJSON_STREAM_H_ - -#include "encodings.h" - -RAPIDJSON_NAMESPACE_BEGIN - -/////////////////////////////////////////////////////////////////////////////// -// Stream - -/*! \class rapidjson::Stream - \brief Concept for reading and writing characters. - - For read-only stream, no need to implement PutBegin(), Put(), Flush() and PutEnd(). - - For write-only stream, only need to implement Put() and Flush(). - -\code -concept Stream { - typename Ch; //!< Character type of the stream. - - //! Read the current character from stream without moving the read cursor. - Ch Peek() const; - - //! Read the current character from stream and moving the read cursor to next character. - Ch Take(); - - //! Get the current read cursor. - //! \return Number of characters read from start. - size_t Tell(); - - //! Begin writing operation at the current read pointer. - //! \return The begin writer pointer. - Ch* PutBegin(); - - //! Write a character. - void Put(Ch c); - - //! Flush the buffer. - void Flush(); - - //! End the writing operation. - //! \param begin The begin write pointer returned by PutBegin(). - //! \return Number of characters written. - size_t PutEnd(Ch* begin); -} -\endcode -*/ - -//! Provides additional information for stream. -/*! - By using traits pattern, this type provides a default configuration for stream. - For custom stream, this type can be specialized for other configuration. - See TEST(Reader, CustomStringStream) in readertest.cpp for example. -*/ -template -struct StreamTraits { - //! Whether to make local copy of stream for optimization during parsing. - /*! - By default, for safety, streams do not use local copy optimization. - Stream that can be copied fast should specialize this, like StreamTraits. - */ - enum { copyOptimization = 0 }; -}; - -//! Reserve n characters for writing to a stream. -template -inline void PutReserve(Stream& stream, size_t count) { - (void)stream; - (void)count; -} - -//! Write character to a stream, presuming buffer is reserved. -template -inline void PutUnsafe(Stream& stream, typename Stream::Ch c) { - stream.Put(c); -} - -//! Put N copies of a character to a stream. -template -inline void PutN(Stream& stream, Ch c, size_t n) { - PutReserve(stream, n); - for (size_t i = 0; i < n; i++) - PutUnsafe(stream, c); -} - -/////////////////////////////////////////////////////////////////////////////// -// GenericStreamWrapper - -//! A Stream Wrapper -/*! \tThis string stream is a wrapper for any stream by just forwarding any - \treceived message to the origin stream. - \note implements Stream concept -*/ - -#if defined(_MSC_VER) && _MSC_VER <= 1800 -RAPIDJSON_DIAG_PUSH -RAPIDJSON_DIAG_OFF(4702) // unreachable code -RAPIDJSON_DIAG_OFF(4512) // assignment operator could not be generated -#endif - -template > -class GenericStreamWrapper { -public: - typedef typename Encoding::Ch Ch; - GenericStreamWrapper(InputStream& is): is_(is) {} - - Ch Peek() const { return is_.Peek(); } - Ch Take() { return is_.Take(); } - size_t Tell() { return is_.Tell(); } - Ch* PutBegin() { return is_.PutBegin(); } - void Put(Ch ch) { is_.Put(ch); } - void Flush() { is_.Flush(); } - size_t PutEnd(Ch* ch) { return is_.PutEnd(ch); } - - // wrapper for MemoryStream - const Ch* Peek4() const { return is_.Peek4(); } - - // wrapper for AutoUTFInputStream - UTFType GetType() const { return is_.GetType(); } - bool HasBOM() const { return is_.HasBOM(); } - -protected: - InputStream& is_; -}; - -#if defined(_MSC_VER) && _MSC_VER <= 1800 -RAPIDJSON_DIAG_POP -#endif - -/////////////////////////////////////////////////////////////////////////////// -// StringStream - -//! Read-only string stream. -/*! \note implements Stream concept -*/ -template -struct GenericStringStream { - typedef typename Encoding::Ch Ch; - - GenericStringStream(const Ch *src) : src_(src), head_(src) {} - - Ch Peek() const { return *src_; } - Ch Take() { return *src_++; } - size_t Tell() const { return static_cast(src_ - head_); } - - Ch* PutBegin() { RAPIDJSON_ASSERT(false); return 0; } - void Put(Ch) { RAPIDJSON_ASSERT(false); } - void Flush() { RAPIDJSON_ASSERT(false); } - size_t PutEnd(Ch*) { RAPIDJSON_ASSERT(false); return 0; } - - const Ch* src_; //!< Current read position. - const Ch* head_; //!< Original head of the string. -}; - -template -struct StreamTraits > { - enum { copyOptimization = 1 }; -}; - -//! String stream with UTF8 encoding. -typedef GenericStringStream > StringStream; - -/////////////////////////////////////////////////////////////////////////////// -// InsituStringStream - -//! A read-write string stream. -/*! This string stream is particularly designed for in-situ parsing. - \note implements Stream concept -*/ -template -struct GenericInsituStringStream { - typedef typename Encoding::Ch Ch; - - GenericInsituStringStream(Ch *src) : src_(src), dst_(0), head_(src) { - SkipBOM(); - } - - // Read - Ch Peek() { return *src_; } - Ch Take() { return *src_++; } - size_t Tell() { return static_cast(src_ - head_); } - - // Write - void Put(Ch c) { RAPIDJSON_ASSERT(dst_ != 0); *dst_++ = c; } - - Ch* PutBegin() { return dst_ = src_; } - size_t PutEnd(Ch* begin) { return static_cast(dst_ - begin); } - void Flush() {} - - Ch* Push(size_t count) { Ch* begin = dst_; dst_ += count; return begin; } - void Pop(size_t count) { dst_ -= count; } - - /* - Detect encoding type with BOM or RFC 4627 - BOM (Byte Order Mark): - 00 00 FE FF UTF-32BE - FF FE 00 00 UTF-32LE - FE FF UTF-16BE - FF FE UTF-16LE - EF BB BF UTF-8 - */ - void SkipBOM() { - - unsigned char *c = reinterpret_cast(src_); - if (!c) return; - - unsigned bom = (c[0] | (c[1] << 8) | (c[2] << 16) | (c[3] << 24)); - - if (bom == 0xFFFE0000) { Take(); Take(); Take(); Take(); } - else if (bom == 0x0000FEFF) { Take(); Take(); Take(); Take(); } - else if ((bom & 0xFFFF) == 0xFFFE) { Take(); Take(); } - else if ((bom & 0xFFFF) == 0xFEFF) { Take(); Take(); } - else if ((bom & 0xFFFFFF) == 0xBFBBEF) { Take(); Take(); Take(); } - - //It might need to clarify this file is a type of RFC 4627? - } - - Ch* src_; - Ch* dst_; - Ch* head_; -}; - -template -struct StreamTraits > { - enum { copyOptimization = 1 }; -}; - -//! Insitu string stream with UTF8 encoding. -typedef GenericInsituStringStream > InsituStringStream; - -RAPIDJSON_NAMESPACE_END - -#endif // RAPIDJSON_STREAM_H_ diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/stringbuffer.h b/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/stringbuffer.h deleted file mode 100644 index 4e38b82c3d..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/stringbuffer.h +++ /dev/null @@ -1,121 +0,0 @@ -// Tencent is pleased to support the open source community by making RapidJSON available. -// -// Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. -// -// Licensed under the MIT License (the "License"); you may not use this file except -// in compliance with the License. You may obtain a copy of the License at -// -// http://opensource.org/licenses/MIT -// -// Unless required by applicable law or agreed to in writing, software distributed -// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -// CONDITIONS OF ANY KIND, either express or implied. See the License for the -// specific language governing permissions and limitations under the License. - -#ifndef RAPIDJSON_STRINGBUFFER_H_ -#define RAPIDJSON_STRINGBUFFER_H_ - -#include "stream.h" -#include "internal/stack.h" - -#if RAPIDJSON_HAS_CXX11_RVALUE_REFS -#include // std::move -#endif - -#include "internal/stack.h" - -#if defined(__clang__) -RAPIDJSON_DIAG_PUSH -RAPIDJSON_DIAG_OFF(c++98-compat) -#endif - -RAPIDJSON_NAMESPACE_BEGIN - -//! Represents an in-memory output stream. -/*! - \tparam Encoding Encoding of the stream. - \tparam Allocator type for allocating memory buffer. - \note implements Stream concept -*/ -template -class GenericStringBuffer { -public: - typedef typename Encoding::Ch Ch; - - GenericStringBuffer(Allocator* allocator = 0, size_t capacity = kDefaultCapacity) : stack_(allocator, capacity) {} - -#if RAPIDJSON_HAS_CXX11_RVALUE_REFS - GenericStringBuffer(GenericStringBuffer&& rhs) : stack_(std::move(rhs.stack_)) {} - GenericStringBuffer& operator=(GenericStringBuffer&& rhs) { - if (&rhs != this) - stack_ = std::move(rhs.stack_); - return *this; - } -#endif - - void Put(Ch c) { *stack_.template Push() = c; } - void PutUnsafe(Ch c) { *stack_.template PushUnsafe() = c; } - void Flush() {} - - void Clear() { stack_.Clear(); } - void ShrinkToFit() { - // Push and pop a null terminator. This is safe. - *stack_.template Push() = '\0'; - stack_.ShrinkToFit(); - stack_.template Pop(1); - } - - void Reserve(size_t count) { stack_.template Reserve(count); } - Ch* Push(size_t count) { return stack_.template Push(count); } - Ch* PushUnsafe(size_t count) { return stack_.template PushUnsafe(count); } - void Pop(size_t count) { stack_.template Pop(count); } - - const Ch* GetString() const { - // Push and pop a null terminator. This is safe. - *stack_.template Push() = '\0'; - stack_.template Pop(1); - - return stack_.template Bottom(); - } - - //! Get the size of string in bytes in the string buffer. - size_t GetSize() const { return stack_.GetSize(); } - - //! Get the length of string in Ch in the string buffer. - size_t GetLength() const { return stack_.GetSize() / sizeof(Ch); } - - static const size_t kDefaultCapacity = 256; - mutable internal::Stack stack_; - -private: - // Prohibit copy constructor & assignment operator. - GenericStringBuffer(const GenericStringBuffer&); - GenericStringBuffer& operator=(const GenericStringBuffer&); -}; - -//! String buffer with UTF8 encoding -typedef GenericStringBuffer > StringBuffer; - -template -inline void PutReserve(GenericStringBuffer& stream, size_t count) { - stream.Reserve(count); -} - -template -inline void PutUnsafe(GenericStringBuffer& stream, typename Encoding::Ch c) { - stream.PutUnsafe(c); -} - -//! Implement specialized version of PutN() with memset() for better performance. -template<> -inline void PutN(GenericStringBuffer >& stream, char c, size_t n) { - std::memset(stream.stack_.Push(n), c, n * sizeof(c)); -} - -RAPIDJSON_NAMESPACE_END - -#if defined(__clang__) -RAPIDJSON_DIAG_POP -#endif - -#endif // RAPIDJSON_STRINGBUFFER_H_ diff --git a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/writer.h b/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/writer.h deleted file mode 100644 index 6f5b690346..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/lottie/rapidjson/writer.h +++ /dev/null @@ -1,709 +0,0 @@ -// Tencent is pleased to support the open source community by making RapidJSON available. -// -// Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. -// -// Licensed under the MIT License (the "License"); you may not use this file except -// in compliance with the License. You may obtain a copy of the License at -// -// http://opensource.org/licenses/MIT -// -// Unless required by applicable law or agreed to in writing, software distributed -// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -// CONDITIONS OF ANY KIND, either express or implied. See the License for the -// specific language governing permissions and limitations under the License. - -#ifndef RAPIDJSON_WRITER_H_ -#define RAPIDJSON_WRITER_H_ - -#include "stream.h" -#include "internal/meta.h" -#include "internal/stack.h" -#include "internal/strfunc.h" -#include "internal/dtoa.h" -#include "internal/itoa.h" -#include "stringbuffer.h" -#include // placement new - -#if defined(RAPIDJSON_SIMD) && defined(_MSC_VER) -#include -#pragma intrinsic(_BitScanForward) -#endif -#ifdef RAPIDJSON_SSE42 -#include -#elif defined(RAPIDJSON_SSE2) -#include -#elif defined(RAPIDJSON_NEON) -#include -#endif - -#ifdef __clang__ -RAPIDJSON_DIAG_PUSH -RAPIDJSON_DIAG_OFF(padded) -RAPIDJSON_DIAG_OFF(unreachable-code) -RAPIDJSON_DIAG_OFF(c++98-compat) -#elif defined(_MSC_VER) -RAPIDJSON_DIAG_PUSH -RAPIDJSON_DIAG_OFF(4127) // conditional expression is constant -#endif - -RAPIDJSON_NAMESPACE_BEGIN - -/////////////////////////////////////////////////////////////////////////////// -// WriteFlag - -/*! \def RAPIDJSON_WRITE_DEFAULT_FLAGS - \ingroup RAPIDJSON_CONFIG - \brief User-defined kWriteDefaultFlags definition. - - User can define this as any \c WriteFlag combinations. -*/ -#ifndef RAPIDJSON_WRITE_DEFAULT_FLAGS -#define RAPIDJSON_WRITE_DEFAULT_FLAGS kWriteNoFlags -#endif - -//! Combination of writeFlags -enum WriteFlag { - kWriteNoFlags = 0, //!< No flags are set. - kWriteValidateEncodingFlag = 1, //!< Validate encoding of JSON strings. - kWriteNanAndInfFlag = 2, //!< Allow writing of Infinity, -Infinity and NaN. - kWriteDefaultFlags = RAPIDJSON_WRITE_DEFAULT_FLAGS //!< Default write flags. Can be customized by defining RAPIDJSON_WRITE_DEFAULT_FLAGS -}; - -//! JSON writer -/*! Writer implements the concept Handler. - It generates JSON text by events to an output os. - - User may programmatically calls the functions of a writer to generate JSON text. - - On the other side, a writer can also be passed to objects that generates events, - - for example Reader::Parse() and Document::Accept(). - - \tparam OutputStream Type of output stream. - \tparam SourceEncoding Encoding of source string. - \tparam TargetEncoding Encoding of output stream. - \tparam StackAllocator Type of allocator for allocating memory of stack. - \note implements Handler concept -*/ -template, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags> -class Writer { -public: - typedef typename SourceEncoding::Ch Ch; - - static const int kDefaultMaxDecimalPlaces = 324; - - //! Constructor - /*! \param os Output stream. - \param stackAllocator User supplied allocator. If it is null, it will create a private one. - \param levelDepth Initial capacity of stack. - */ - explicit - Writer(OutputStream& os, StackAllocator* stackAllocator = 0, size_t levelDepth = kDefaultLevelDepth) : - os_(&os), level_stack_(stackAllocator, levelDepth * sizeof(Level)), maxDecimalPlaces_(kDefaultMaxDecimalPlaces), hasRoot_(false) {} - - explicit - Writer(StackAllocator* allocator = 0, size_t levelDepth = kDefaultLevelDepth) : - os_(0), level_stack_(allocator, levelDepth * sizeof(Level)), maxDecimalPlaces_(kDefaultMaxDecimalPlaces), hasRoot_(false) {} - -#if RAPIDJSON_HAS_CXX11_RVALUE_REFS - Writer(Writer&& rhs) : - os_(rhs.os_), level_stack_(std::move(rhs.level_stack_)), maxDecimalPlaces_(rhs.maxDecimalPlaces_), hasRoot_(rhs.hasRoot_) { - rhs.os_ = 0; - } -#endif - - //! Reset the writer with a new stream. - /*! - This function reset the writer with a new stream and default settings, - in order to make a Writer object reusable for output multiple JSONs. - - \param os New output stream. - \code - Writer writer(os1); - writer.StartObject(); - // ... - writer.EndObject(); - - writer.Reset(os2); - writer.StartObject(); - // ... - writer.EndObject(); - \endcode - */ - void Reset(OutputStream& os) { - os_ = &os; - hasRoot_ = false; - level_stack_.Clear(); - } - - //! Checks whether the output is a complete JSON. - /*! - A complete JSON has a complete root object or array. - */ - bool IsComplete() const { - return hasRoot_ && level_stack_.Empty(); - } - - int GetMaxDecimalPlaces() const { - return maxDecimalPlaces_; - } - - //! Sets the maximum number of decimal places for double output. - /*! - This setting truncates the output with specified number of decimal places. - - For example, - - \code - writer.SetMaxDecimalPlaces(3); - writer.StartArray(); - writer.Double(0.12345); // "0.123" - writer.Double(0.0001); // "0.0" - writer.Double(1.234567890123456e30); // "1.234567890123456e30" (do not truncate significand for positive exponent) - writer.Double(1.23e-4); // "0.0" (do truncate significand for negative exponent) - writer.EndArray(); - \endcode - - The default setting does not truncate any decimal places. You can restore to this setting by calling - \code - writer.SetMaxDecimalPlaces(Writer::kDefaultMaxDecimalPlaces); - \endcode - */ - void SetMaxDecimalPlaces(int maxDecimalPlaces) { - maxDecimalPlaces_ = maxDecimalPlaces; - } - - /*!@name Implementation of Handler - \see Handler - */ - //@{ - - bool Null() { Prefix(kNullType); return EndValue(WriteNull()); } - bool Bool(bool b) { Prefix(b ? kTrueType : kFalseType); return EndValue(WriteBool(b)); } - bool Int(int i) { Prefix(kNumberType); return EndValue(WriteInt(i)); } - bool Uint(unsigned u) { Prefix(kNumberType); return EndValue(WriteUint(u)); } - bool Int64(int64_t i64) { Prefix(kNumberType); return EndValue(WriteInt64(i64)); } - bool Uint64(uint64_t u64) { Prefix(kNumberType); return EndValue(WriteUint64(u64)); } - - //! Writes the given \c double value to the stream - /*! - \param d The value to be written. - \return Whether it is succeed. - */ - bool Double(double d) { Prefix(kNumberType); return EndValue(WriteDouble(d)); } - - bool RawNumber(const Ch* str, SizeType length, bool copy = false) { - RAPIDJSON_ASSERT(str != 0); - (void)copy; - Prefix(kNumberType); - return EndValue(WriteString(str, length)); - } - - bool String(const Ch* str, SizeType length, bool copy = false) { - RAPIDJSON_ASSERT(str != 0); - (void)copy; - Prefix(kStringType); - return EndValue(WriteString(str, length)); - } - -#if RAPIDJSON_HAS_STDSTRING - bool String(const std::basic_string& str) { - return String(str.data(), SizeType(str.size())); - } -#endif - - bool StartObject() { - Prefix(kObjectType); - new (level_stack_.template Push()) Level(false); - return WriteStartObject(); - } - - bool Key(const Ch* str, SizeType length, bool copy = false) { return String(str, length, copy); } - -#if RAPIDJSON_HAS_STDSTRING - bool Key(const std::basic_string& str) - { - return Key(str.data(), SizeType(str.size())); - } -#endif - - bool EndObject(SizeType memberCount = 0) { - (void)memberCount; - RAPIDJSON_ASSERT(level_stack_.GetSize() >= sizeof(Level)); // not inside an Object - RAPIDJSON_ASSERT(!level_stack_.template Top()->inArray); // currently inside an Array, not Object - RAPIDJSON_ASSERT(0 == level_stack_.template Top()->valueCount % 2); // Object has a Key without a Value - level_stack_.template Pop(1); - return EndValue(WriteEndObject()); - } - - bool StartArray() { - Prefix(kArrayType); - new (level_stack_.template Push()) Level(true); - return WriteStartArray(); - } - - bool EndArray(SizeType elementCount = 0) { - (void)elementCount; - RAPIDJSON_ASSERT(level_stack_.GetSize() >= sizeof(Level)); - RAPIDJSON_ASSERT(level_stack_.template Top()->inArray); - level_stack_.template Pop(1); - return EndValue(WriteEndArray()); - } - //@} - - /*! @name Convenience extensions */ - //@{ - - //! Simpler but slower overload. - bool String(const Ch* const& str) { return String(str, internal::StrLen(str)); } - bool Key(const Ch* const& str) { return Key(str, internal::StrLen(str)); } - - //@} - - //! Write a raw JSON value. - /*! - For user to write a stringified JSON as a value. - - \param json A well-formed JSON value. It should not contain null character within [0, length - 1] range. - \param length Length of the json. - \param type Type of the root of json. - */ - bool RawValue(const Ch* json, size_t length, Type type) { - RAPIDJSON_ASSERT(json != 0); - Prefix(type); - return EndValue(WriteRawValue(json, length)); - } - - //! Flush the output stream. - /*! - Allows the user to flush the output stream immediately. - */ - void Flush() { - os_->Flush(); - } - -protected: - //! Information for each nested level - struct Level { - Level(bool inArray_) : valueCount(0), inArray(inArray_) {} - size_t valueCount; //!< number of values in this level - bool inArray; //!< true if in array, otherwise in object - }; - - static const size_t kDefaultLevelDepth = 32; - - bool WriteNull() { - PutReserve(*os_, 4); - PutUnsafe(*os_, 'n'); PutUnsafe(*os_, 'u'); PutUnsafe(*os_, 'l'); PutUnsafe(*os_, 'l'); return true; - } - - bool WriteBool(bool b) { - if (b) { - PutReserve(*os_, 4); - PutUnsafe(*os_, 't'); PutUnsafe(*os_, 'r'); PutUnsafe(*os_, 'u'); PutUnsafe(*os_, 'e'); - } - else { - PutReserve(*os_, 5); - PutUnsafe(*os_, 'f'); PutUnsafe(*os_, 'a'); PutUnsafe(*os_, 'l'); PutUnsafe(*os_, 's'); PutUnsafe(*os_, 'e'); - } - return true; - } - - bool WriteInt(int i) { - char buffer[11]; - const char* end = internal::i32toa(i, buffer); - PutReserve(*os_, static_cast(end - buffer)); - for (const char* p = buffer; p != end; ++p) - PutUnsafe(*os_, static_cast(*p)); - return true; - } - - bool WriteUint(unsigned u) { - char buffer[10]; - const char* end = internal::u32toa(u, buffer); - PutReserve(*os_, static_cast(end - buffer)); - for (const char* p = buffer; p != end; ++p) - PutUnsafe(*os_, static_cast(*p)); - return true; - } - - bool WriteInt64(int64_t i64) { - char buffer[21]; - const char* end = internal::i64toa(i64, buffer); - PutReserve(*os_, static_cast(end - buffer)); - for (const char* p = buffer; p != end; ++p) - PutUnsafe(*os_, static_cast(*p)); - return true; - } - - bool WriteUint64(uint64_t u64) { - char buffer[20]; - char* end = internal::u64toa(u64, buffer); - PutReserve(*os_, static_cast(end - buffer)); - for (char* p = buffer; p != end; ++p) - PutUnsafe(*os_, static_cast(*p)); - return true; - } - - bool WriteDouble(double d) { - if (internal::Double(d).IsNanOrInf()) { - if (!(writeFlags & kWriteNanAndInfFlag)) - return false; - if (internal::Double(d).IsNan()) { - PutReserve(*os_, 3); - PutUnsafe(*os_, 'N'); PutUnsafe(*os_, 'a'); PutUnsafe(*os_, 'N'); - return true; - } - if (internal::Double(d).Sign()) { - PutReserve(*os_, 9); - PutUnsafe(*os_, '-'); - } - else - PutReserve(*os_, 8); - PutUnsafe(*os_, 'I'); PutUnsafe(*os_, 'n'); PutUnsafe(*os_, 'f'); - PutUnsafe(*os_, 'i'); PutUnsafe(*os_, 'n'); PutUnsafe(*os_, 'i'); PutUnsafe(*os_, 't'); PutUnsafe(*os_, 'y'); - return true; - } - - char buffer[25]; - char* end = internal::dtoa(d, buffer, maxDecimalPlaces_); - PutReserve(*os_, static_cast(end - buffer)); - for (char* p = buffer; p != end; ++p) - PutUnsafe(*os_, static_cast(*p)); - return true; - } - - bool WriteString(const Ch* str, SizeType length) { - static const typename OutputStream::Ch hexDigits[16] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; - static const char escape[256] = { -#define Z16 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - //0 1 2 3 4 5 6 7 8 9 A B C D E F - 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'b', 't', 'n', 'u', 'f', 'r', 'u', 'u', // 00 - 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', // 10 - 0, 0, '"', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 20 - Z16, Z16, // 30~4F - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,'\\', 0, 0, 0, // 50 - Z16, Z16, Z16, Z16, Z16, Z16, Z16, Z16, Z16, Z16 // 60~FF -#undef Z16 - }; - - if (TargetEncoding::supportUnicode) - PutReserve(*os_, 2 + length * 6); // "\uxxxx..." - else - PutReserve(*os_, 2 + length * 12); // "\uxxxx\uyyyy..." - - PutUnsafe(*os_, '\"'); - GenericStringStream is(str); - while (ScanWriteUnescapedString(is, length)) { - const Ch c = is.Peek(); - if (!TargetEncoding::supportUnicode && static_cast(c) >= 0x80) { - // Unicode escaping - unsigned codepoint; - if (RAPIDJSON_UNLIKELY(!SourceEncoding::Decode(is, &codepoint))) - return false; - PutUnsafe(*os_, '\\'); - PutUnsafe(*os_, 'u'); - if (codepoint <= 0xD7FF || (codepoint >= 0xE000 && codepoint <= 0xFFFF)) { - PutUnsafe(*os_, hexDigits[(codepoint >> 12) & 15]); - PutUnsafe(*os_, hexDigits[(codepoint >> 8) & 15]); - PutUnsafe(*os_, hexDigits[(codepoint >> 4) & 15]); - PutUnsafe(*os_, hexDigits[(codepoint ) & 15]); - } - else { - RAPIDJSON_ASSERT(codepoint >= 0x010000 && codepoint <= 0x10FFFF); - // Surrogate pair - unsigned s = codepoint - 0x010000; - unsigned lead = (s >> 10) + 0xD800; - unsigned trail = (s & 0x3FF) + 0xDC00; - PutUnsafe(*os_, hexDigits[(lead >> 12) & 15]); - PutUnsafe(*os_, hexDigits[(lead >> 8) & 15]); - PutUnsafe(*os_, hexDigits[(lead >> 4) & 15]); - PutUnsafe(*os_, hexDigits[(lead ) & 15]); - PutUnsafe(*os_, '\\'); - PutUnsafe(*os_, 'u'); - PutUnsafe(*os_, hexDigits[(trail >> 12) & 15]); - PutUnsafe(*os_, hexDigits[(trail >> 8) & 15]); - PutUnsafe(*os_, hexDigits[(trail >> 4) & 15]); - PutUnsafe(*os_, hexDigits[(trail ) & 15]); - } - } - else if ((sizeof(Ch) == 1 || static_cast(c) < 256) && RAPIDJSON_UNLIKELY(escape[static_cast(c)])) { - is.Take(); - PutUnsafe(*os_, '\\'); - PutUnsafe(*os_, static_cast(escape[static_cast(c)])); - if (escape[static_cast(c)] == 'u') { - PutUnsafe(*os_, '0'); - PutUnsafe(*os_, '0'); - PutUnsafe(*os_, hexDigits[static_cast(c) >> 4]); - PutUnsafe(*os_, hexDigits[static_cast(c) & 0xF]); - } - } - else if (RAPIDJSON_UNLIKELY(!(writeFlags & kWriteValidateEncodingFlag ? - Transcoder::Validate(is, *os_) : - Transcoder::TranscodeUnsafe(is, *os_)))) - return false; - } - PutUnsafe(*os_, '\"'); - return true; - } - - bool ScanWriteUnescapedString(GenericStringStream& is, size_t length) { - return RAPIDJSON_LIKELY(is.Tell() < length); - } - - bool WriteStartObject() { os_->Put('{'); return true; } - bool WriteEndObject() { os_->Put('}'); return true; } - bool WriteStartArray() { os_->Put('['); return true; } - bool WriteEndArray() { os_->Put(']'); return true; } - - bool WriteRawValue(const Ch* json, size_t length) { - PutReserve(*os_, length); - GenericStringStream is(json); - while (RAPIDJSON_LIKELY(is.Tell() < length)) { - RAPIDJSON_ASSERT(is.Peek() != '\0'); - if (RAPIDJSON_UNLIKELY(!(writeFlags & kWriteValidateEncodingFlag ? - Transcoder::Validate(is, *os_) : - Transcoder::TranscodeUnsafe(is, *os_)))) - return false; - } - return true; - } - - void Prefix(Type type) { - (void)type; - if (RAPIDJSON_LIKELY(level_stack_.GetSize() != 0)) { // this value is not at root - Level* level = level_stack_.template Top(); - if (level->valueCount > 0) { - if (level->inArray) - os_->Put(','); // add comma if it is not the first element in array - else // in object - os_->Put((level->valueCount % 2 == 0) ? ',' : ':'); - } - if (!level->inArray && level->valueCount % 2 == 0) - RAPIDJSON_ASSERT(type == kStringType); // if it's in object, then even number should be a name - level->valueCount++; - } - else { - RAPIDJSON_ASSERT(!hasRoot_); // Should only has one and only one root. - hasRoot_ = true; - } - } - - // Flush the value if it is the top level one. - bool EndValue(bool ret) { - if (RAPIDJSON_UNLIKELY(level_stack_.Empty())) // end of json text - Flush(); - return ret; - } - - OutputStream* os_; - internal::Stack level_stack_; - int maxDecimalPlaces_; - bool hasRoot_; - -private: - // Prohibit copy constructor & assignment operator. - Writer(const Writer&); - Writer& operator=(const Writer&); -}; - -// Full specialization for StringStream to prevent memory copying - -template<> -inline bool Writer::WriteInt(int i) { - char *buffer = os_->Push(11); - const char* end = internal::i32toa(i, buffer); - os_->Pop(static_cast(11 - (end - buffer))); - return true; -} - -template<> -inline bool Writer::WriteUint(unsigned u) { - char *buffer = os_->Push(10); - const char* end = internal::u32toa(u, buffer); - os_->Pop(static_cast(10 - (end - buffer))); - return true; -} - -template<> -inline bool Writer::WriteInt64(int64_t i64) { - char *buffer = os_->Push(21); - const char* end = internal::i64toa(i64, buffer); - os_->Pop(static_cast(21 - (end - buffer))); - return true; -} - -template<> -inline bool Writer::WriteUint64(uint64_t u) { - char *buffer = os_->Push(20); - const char* end = internal::u64toa(u, buffer); - os_->Pop(static_cast(20 - (end - buffer))); - return true; -} - -template<> -inline bool Writer::WriteDouble(double d) { - if (internal::Double(d).IsNanOrInf()) { - // Note: This code path can only be reached if (RAPIDJSON_WRITE_DEFAULT_FLAGS & kWriteNanAndInfFlag). - if (!(kWriteDefaultFlags & kWriteNanAndInfFlag)) - return false; - if (internal::Double(d).IsNan()) { - PutReserve(*os_, 3); - PutUnsafe(*os_, 'N'); PutUnsafe(*os_, 'a'); PutUnsafe(*os_, 'N'); - return true; - } - if (internal::Double(d).Sign()) { - PutReserve(*os_, 9); - PutUnsafe(*os_, '-'); - } - else - PutReserve(*os_, 8); - PutUnsafe(*os_, 'I'); PutUnsafe(*os_, 'n'); PutUnsafe(*os_, 'f'); - PutUnsafe(*os_, 'i'); PutUnsafe(*os_, 'n'); PutUnsafe(*os_, 'i'); PutUnsafe(*os_, 't'); PutUnsafe(*os_, 'y'); - return true; - } - - char *buffer = os_->Push(25); - char* end = internal::dtoa(d, buffer, maxDecimalPlaces_); - os_->Pop(static_cast(25 - (end - buffer))); - return true; -} - -#if defined(RAPIDJSON_SSE2) || defined(RAPIDJSON_SSE42) -template<> -inline bool Writer::ScanWriteUnescapedString(StringStream& is, size_t length) { - if (length < 16) - return RAPIDJSON_LIKELY(is.Tell() < length); - - if (!RAPIDJSON_LIKELY(is.Tell() < length)) - return false; - - const char* p = is.src_; - const char* end = is.head_ + length; - const char* nextAligned = reinterpret_cast((reinterpret_cast(p) + 15) & static_cast(~15)); - const char* endAligned = reinterpret_cast(reinterpret_cast(end) & static_cast(~15)); - if (nextAligned > end) - return true; - - while (p != nextAligned) - if (*p < 0x20 || *p == '\"' || *p == '\\') { - is.src_ = p; - return RAPIDJSON_LIKELY(is.Tell() < length); - } - else - os_->PutUnsafe(*p++); - - // The rest of string using SIMD - static const char dquote[16] = { '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"' }; - static const char bslash[16] = { '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\' }; - static const char space[16] = { 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F }; - const __m128i dq = _mm_loadu_si128(reinterpret_cast(&dquote[0])); - const __m128i bs = _mm_loadu_si128(reinterpret_cast(&bslash[0])); - const __m128i sp = _mm_loadu_si128(reinterpret_cast(&space[0])); - - for (; p != endAligned; p += 16) { - const __m128i s = _mm_load_si128(reinterpret_cast(p)); - const __m128i t1 = _mm_cmpeq_epi8(s, dq); - const __m128i t2 = _mm_cmpeq_epi8(s, bs); - const __m128i t3 = _mm_cmpeq_epi8(_mm_max_epu8(s, sp), sp); // s < 0x20 <=> max(s, 0x1F) == 0x1F - const __m128i x = _mm_or_si128(_mm_or_si128(t1, t2), t3); - unsigned short r = static_cast(_mm_movemask_epi8(x)); - if (RAPIDJSON_UNLIKELY(r != 0)) { // some of characters is escaped - SizeType len; -#ifdef _MSC_VER // Find the index of first escaped - unsigned long offset; - _BitScanForward(&offset, r); - len = offset; -#else - len = static_cast(__builtin_ffs(r) - 1); -#endif - char* q = reinterpret_cast(os_->PushUnsafe(len)); - for (size_t i = 0; i < len; i++) - q[i] = p[i]; - - p += len; - break; - } - _mm_storeu_si128(reinterpret_cast<__m128i *>(os_->PushUnsafe(16)), s); - } - - is.src_ = p; - return RAPIDJSON_LIKELY(is.Tell() < length); -} -#elif defined(RAPIDJSON_NEON) -template<> -inline bool Writer::ScanWriteUnescapedString(StringStream& is, size_t length) { - if (length < 16) - return RAPIDJSON_LIKELY(is.Tell() < length); - - if (!RAPIDJSON_LIKELY(is.Tell() < length)) - return false; - - const char* p = is.src_; - const char* end = is.head_ + length; - const char* nextAligned = reinterpret_cast((reinterpret_cast(p) + 15) & static_cast(~15)); - const char* endAligned = reinterpret_cast(reinterpret_cast(end) & static_cast(~15)); - if (nextAligned > end) - return true; - - while (p != nextAligned) - if (*p < 0x20 || *p == '\"' || *p == '\\') { - is.src_ = p; - return RAPIDJSON_LIKELY(is.Tell() < length); - } - else - os_->PutUnsafe(*p++); - - // The rest of string using SIMD - const uint8x16_t s0 = vmovq_n_u8('"'); - const uint8x16_t s1 = vmovq_n_u8('\\'); - const uint8x16_t s2 = vmovq_n_u8('\b'); - const uint8x16_t s3 = vmovq_n_u8(32); - - for (; p != endAligned; p += 16) { - const uint8x16_t s = vld1q_u8(reinterpret_cast(p)); - uint8x16_t x = vceqq_u8(s, s0); - x = vorrq_u8(x, vceqq_u8(s, s1)); - x = vorrq_u8(x, vceqq_u8(s, s2)); - x = vorrq_u8(x, vcltq_u8(s, s3)); - - x = vrev64q_u8(x); // Rev in 64 - uint64_t low = vgetq_lane_u64(reinterpret_cast(x), 0); // extract - uint64_t high = vgetq_lane_u64(reinterpret_cast(x), 1); // extract - - SizeType len = 0; - bool escaped = false; - if (low == 0) { - if (high != 0) { - unsigned lz = (unsigned)__builtin_clzll(high); - len = 8 + (lz >> 3); - escaped = true; - } - } else { - unsigned lz = (unsigned)__builtin_clzll(low); - len = lz >> 3; - escaped = true; - } - if (RAPIDJSON_UNLIKELY(escaped)) { // some of characters is escaped - char* q = reinterpret_cast(os_->PushUnsafe(len)); - for (size_t i = 0; i < len; i++) - q[i] = p[i]; - - p += len; - break; - } - vst1q_u8(reinterpret_cast(os_->PushUnsafe(16)), s); - } - - is.src_ = p; - return RAPIDJSON_LIKELY(is.Tell() < length); -} -#endif // RAPIDJSON_NEON - -RAPIDJSON_NAMESPACE_END - -#if defined(_MSC_VER) || defined(__clang__) -RAPIDJSON_DIAG_POP -#endif - -#endif // RAPIDJSON_RAPIDJSON_H_ diff --git a/submodules/RLottie/Sources/rlottie/src/meson.build b/submodules/RLottie/Sources/rlottie/src/meson.build deleted file mode 100644 index 148edd82d4..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/meson.build +++ /dev/null @@ -1,14 +0,0 @@ -subdir('vector') -subdir('lottie') -subdir('binding') - -library_deps = vector_dep -library_deps += lottie_dep -library_deps += binding_dep - -rlottie_lib = shared_library('rlottie', - include_directories : inc, - version : rlottie_lib_version, - dependencies : library_deps, - install : true - ) diff --git a/submodules/RLottie/Sources/rlottie/src/vector/CMakeLists.txt b/submodules/RLottie/Sources/rlottie/src/vector/CMakeLists.txt deleted file mode 100644 index ae4a860d44..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/CMakeLists.txt +++ /dev/null @@ -1,33 +0,0 @@ -add_subdirectory(freetype) -add_subdirectory(pixman) -add_subdirectory(stb) - - -target_sources(rlottie - PRIVATE - "${CMAKE_CURRENT_LIST_DIR}/vrect.cpp" - "${CMAKE_CURRENT_LIST_DIR}/vdasher.cpp" - "${CMAKE_CURRENT_LIST_DIR}/vbrush.cpp" - "${CMAKE_CURRENT_LIST_DIR}/vbitmap.cpp" - "${CMAKE_CURRENT_LIST_DIR}/vpainter.cpp" - "${CMAKE_CURRENT_LIST_DIR}/vcompositionfunctions.cpp" - "${CMAKE_CURRENT_LIST_DIR}/vdrawhelper.cpp" - "${CMAKE_CURRENT_LIST_DIR}/vdrawhelper_sse2.cpp" - "${CMAKE_CURRENT_LIST_DIR}/vdrawhelper_neon.cpp" - "${CMAKE_CURRENT_LIST_DIR}/vrle.cpp" - "${CMAKE_CURRENT_LIST_DIR}/vpath.cpp" - "${CMAKE_CURRENT_LIST_DIR}/vpathmesure.cpp" - "${CMAKE_CURRENT_LIST_DIR}/vmatrix.cpp" - "${CMAKE_CURRENT_LIST_DIR}/velapsedtimer.cpp" - "${CMAKE_CURRENT_LIST_DIR}/vdebug.cpp" - "${CMAKE_CURRENT_LIST_DIR}/vinterpolator.cpp" - "${CMAKE_CURRENT_LIST_DIR}/vbezier.cpp" - "${CMAKE_CURRENT_LIST_DIR}/vraster.cpp" - "${CMAKE_CURRENT_LIST_DIR}/vdrawable.cpp" - "${CMAKE_CURRENT_LIST_DIR}/vimageloader.cpp" - ) - -target_include_directories(rlottie - PRIVATE - "${CMAKE_CURRENT_LIST_DIR}" - ) diff --git a/submodules/RLottie/Sources/rlottie/src/vector/config.h b/submodules/RLottie/Sources/rlottie/src/vector/config.h deleted file mode 100644 index 596ad11616..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/config.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef CONFIG_H -#define CONFIG_H - -// enable threading -//#define LOTTIE_THREAD_SUPPORT - -//enable logging -//#define LOTTIE_LOGGING_SUPPORT - -//enable static building of image loader -//#define LOTTIE_STATIC_IMAGE_LOADER - -//enable lottie model caching -//#define LOTTIE_CACHE_SUPPORT - -#endif // CONFIG_H diff --git a/submodules/RLottie/Sources/rlottie/src/vector/freetype/CMakeLists.txt b/submodules/RLottie/Sources/rlottie/src/vector/freetype/CMakeLists.txt deleted file mode 100644 index add0d42235..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/freetype/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -target_sources(rlottie - PRIVATE - "${CMAKE_CURRENT_LIST_DIR}/v_ft_math.cpp" - "${CMAKE_CURRENT_LIST_DIR}/v_ft_raster.cpp" - "${CMAKE_CURRENT_LIST_DIR}/v_ft_stroker.cpp" - ) - -target_include_directories(rlottie - PRIVATE - "${CMAKE_CURRENT_LIST_DIR}" - ) diff --git a/submodules/RLottie/Sources/rlottie/src/vector/freetype/meson.build b/submodules/RLottie/Sources/rlottie/src/vector/freetype/meson.build deleted file mode 100644 index 8bbff5c329..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/freetype/meson.build +++ /dev/null @@ -1,10 +0,0 @@ - -source_file = files('v_ft_math.cpp') -source_file += files('v_ft_raster.cpp') -source_file += files('v_ft_stroker.cpp') - - -freetype_dep = declare_dependency( - include_directories : include_directories('.'), - sources : source_file - ) \ No newline at end of file diff --git a/submodules/RLottie/Sources/rlottie/src/vector/freetype/v_ft_math.cpp b/submodules/RLottie/Sources/rlottie/src/vector/freetype/v_ft_math.cpp deleted file mode 100644 index 5a71e70e31..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/freetype/v_ft_math.cpp +++ /dev/null @@ -1,456 +0,0 @@ -/***************************************************************************/ -/* */ -/* fttrigon.c */ -/* */ -/* FreeType trigonometric functions (body). */ -/* */ -/* Copyright 2001-2005, 2012-2013 by */ -/* David Turner, Robert Wilhelm, and Werner Lemberg. */ -/* */ -/* This file is part of the FreeType project, and may only be used, */ -/* modified, and distributed under the terms of the FreeType project */ -/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ -/* this file you indicate that you have read the license and */ -/* understand and accept it fully. */ -/* */ -/***************************************************************************/ - -#include "v_ft_math.h" -#include - -//form https://github.com/chromium/chromium/blob/59afd8336009c9d97c22854c52e0382b62b3aa5e/third_party/abseil-cpp/absl/base/internal/bits.h - -#if defined(_MSC_VER) -#include -static unsigned int __inline clz(unsigned int x) { - unsigned long r = 0; - if (x != 0) - { - _BitScanReverse(&r, x); - } - return r; -} -#define SW_FT_MSB(x) (clz(x)) -#elif defined(__GNUC__) -#define SW_FT_MSB(x) (31 - __builtin_clz(x)) -#else -static unsigned int __inline clz(unsigned int x) { - int c = 31; - x &= ~x + 1; - if (n & 0x0000FFFF) c -= 16; - if (n & 0x00FF00FF) c -= 8; - if (n & 0x0F0F0F0F) c -= 4; - if (n & 0x33333333) c -= 2; - if (n & 0x55555555) c -= 1; - return c; -} -#define SW_FT_MSB(x) (clz(x)) -#endif - - - - - -#define SW_FT_PAD_FLOOR(x, n) ((x) & ~((n)-1)) -#define SW_FT_PAD_ROUND(x, n) SW_FT_PAD_FLOOR((x) + ((n) / 2), n) -#define SW_FT_PAD_CEIL(x, n) SW_FT_PAD_FLOOR((x) + ((n)-1), n) - -#define SW_FT_BEGIN_STMNT do { -#define SW_FT_END_STMNT \ - } \ - while (0) -/* transfer sign leaving a positive number */ -#define SW_FT_MOVE_SIGN(x, s) \ - SW_FT_BEGIN_STMNT \ - if (x < 0) { \ - x = -x; \ - s = -s; \ - } \ - SW_FT_END_STMNT - -SW_FT_Long SW_FT_MulFix(SW_FT_Long a, SW_FT_Long b) -{ - SW_FT_Int s = 1; - SW_FT_Long c; - - SW_FT_MOVE_SIGN(a, s); - SW_FT_MOVE_SIGN(b, s); - - c = (SW_FT_Long)(((SW_FT_Int64)a * b + 0x8000L) >> 16); - - return (s > 0) ? c : -c; -} - -SW_FT_Long SW_FT_MulDiv(SW_FT_Long a, SW_FT_Long b, SW_FT_Long c) -{ - SW_FT_Int s = 1; - SW_FT_Long d; - - SW_FT_MOVE_SIGN(a, s); - SW_FT_MOVE_SIGN(b, s); - SW_FT_MOVE_SIGN(c, s); - - d = (SW_FT_Long)(c > 0 ? ((SW_FT_Int64)a * b + (c >> 1)) / c : 0x7FFFFFFFL); - - return (s > 0) ? d : -d; -} - -SW_FT_Long SW_FT_DivFix(SW_FT_Long a, SW_FT_Long b) -{ - SW_FT_Int s = 1; - SW_FT_Long q; - - SW_FT_MOVE_SIGN(a, s); - SW_FT_MOVE_SIGN(b, s); - - q = (SW_FT_Long)(b > 0 ? (((SW_FT_UInt64)a << 16) + (b >> 1)) / b - : 0x7FFFFFFFL); - - return (s < 0 ? -q : q); -} - -/*************************************************************************/ -/* */ -/* This is a fixed-point CORDIC implementation of trigonometric */ -/* functions as well as transformations between Cartesian and polar */ -/* coordinates. The angles are represented as 16.16 fixed-point values */ -/* in degrees, i.e., the angular resolution is 2^-16 degrees. Note that */ -/* only vectors longer than 2^16*180/pi (or at least 22 bits) on a */ -/* discrete Cartesian grid can have the same or better angular */ -/* resolution. Therefore, to maintain this precision, some functions */ -/* require an interim upscaling of the vectors, whereas others operate */ -/* with 24-bit long vectors directly. */ -/* */ -/*************************************************************************/ - -/* the Cordic shrink factor 0.858785336480436 * 2^32 */ -#define SW_FT_TRIG_SCALE 0xDBD95B16UL - -/* the highest bit in overflow-safe vector components, */ -/* MSB of 0.858785336480436 * sqrt(0.5) * 2^30 */ -#define SW_FT_TRIG_SAFE_MSB 29 - -/* this table was generated for SW_FT_PI = 180L << 16, i.e. degrees */ -#define SW_FT_TRIG_MAX_ITERS 23 - -static const SW_FT_Fixed ft_trig_arctan_table[] = { - 1740967L, 919879L, 466945L, 234379L, 117304L, 58666L, 29335L, 14668L, - 7334L, 3667L, 1833L, 917L, 458L, 229L, 115L, 57L, - 29L, 14L, 7L, 4L, 2L, 1L}; - -/* multiply a given value by the CORDIC shrink factor */ -static SW_FT_Fixed ft_trig_downscale(SW_FT_Fixed val) -{ - SW_FT_Fixed s; - SW_FT_Int64 v; - - s = val; - val = SW_FT_ABS(val); - - v = (val * (SW_FT_Int64)SW_FT_TRIG_SCALE) + 0x100000000UL; - val = (SW_FT_Fixed)(v >> 32); - - return (s >= 0) ? val : -val; -} - -/* undefined and never called for zero vector */ -static SW_FT_Int ft_trig_prenorm(SW_FT_Vector* vec) -{ - SW_FT_Pos x, y; - SW_FT_Int shift; - - x = vec->x; - y = vec->y; - - shift = SW_FT_MSB(SW_FT_ABS(x) | SW_FT_ABS(y)); - - if (shift <= SW_FT_TRIG_SAFE_MSB) { - shift = SW_FT_TRIG_SAFE_MSB - shift; - vec->x = (SW_FT_Pos)((SW_FT_ULong)x << shift); - vec->y = (SW_FT_Pos)((SW_FT_ULong)y << shift); - } else { - shift -= SW_FT_TRIG_SAFE_MSB; - vec->x = x >> shift; - vec->y = y >> shift; - shift = -shift; - } - - return shift; -} - -static void ft_trig_pseudo_rotate(SW_FT_Vector* vec, SW_FT_Angle theta) -{ - SW_FT_Int i; - SW_FT_Fixed x, y, xtemp, b; - const SW_FT_Fixed* arctanptr; - - x = vec->x; - y = vec->y; - - /* Rotate inside [-PI/4,PI/4] sector */ - while (theta < -SW_FT_ANGLE_PI4) { - xtemp = y; - y = -x; - x = xtemp; - theta += SW_FT_ANGLE_PI2; - } - - while (theta > SW_FT_ANGLE_PI4) { - xtemp = -y; - y = x; - x = xtemp; - theta -= SW_FT_ANGLE_PI2; - } - - arctanptr = ft_trig_arctan_table; - - /* Pseudorotations, with right shifts */ - for (i = 1, b = 1; i < SW_FT_TRIG_MAX_ITERS; b <<= 1, i++) { - if (theta < 0) { - xtemp = x + ((y + b) >> i); - y = y - ((x + b) >> i); - x = xtemp; - theta += *arctanptr++; - } else { - xtemp = x - ((y + b) >> i); - y = y + ((x + b) >> i); - x = xtemp; - theta -= *arctanptr++; - } - } - - vec->x = x; - vec->y = y; -} - -static void ft_trig_pseudo_polarize(SW_FT_Vector* vec) -{ - SW_FT_Angle theta; - SW_FT_Int i; - SW_FT_Fixed x, y, xtemp, b; - const SW_FT_Fixed* arctanptr; - - x = vec->x; - y = vec->y; - - /* Get the vector into [-PI/4,PI/4] sector */ - if (y > x) { - if (y > -x) { - theta = SW_FT_ANGLE_PI2; - xtemp = y; - y = -x; - x = xtemp; - } else { - theta = y > 0 ? SW_FT_ANGLE_PI : -SW_FT_ANGLE_PI; - x = -x; - y = -y; - } - } else { - if (y < -x) { - theta = -SW_FT_ANGLE_PI2; - xtemp = -y; - y = x; - x = xtemp; - } else { - theta = 0; - } - } - - arctanptr = ft_trig_arctan_table; - - /* Pseudorotations, with right shifts */ - for (i = 1, b = 1; i < SW_FT_TRIG_MAX_ITERS; b <<= 1, i++) { - if (y > 0) { - xtemp = x + ((y + b) >> i); - y = y - ((x + b) >> i); - x = xtemp; - theta += *arctanptr++; - } else { - xtemp = x - ((y + b) >> i); - y = y + ((x + b) >> i); - x = xtemp; - theta -= *arctanptr++; - } - } - - /* round theta */ - if (theta >= 0) - theta = SW_FT_PAD_ROUND(theta, 32); - else - theta = -SW_FT_PAD_ROUND(-theta, 32); - - vec->x = x; - vec->y = theta; -} - -/* documentation is in fttrigon.h */ - -SW_FT_Fixed SW_FT_Cos(SW_FT_Angle angle) -{ - SW_FT_Vector v; - - v.x = SW_FT_TRIG_SCALE >> 8; - v.y = 0; - ft_trig_pseudo_rotate(&v, angle); - - return (v.x + 0x80L) >> 8; -} - -/* documentation is in fttrigon.h */ - -SW_FT_Fixed SW_FT_Sin(SW_FT_Angle angle) -{ - return SW_FT_Cos(SW_FT_ANGLE_PI2 - angle); -} - -/* documentation is in fttrigon.h */ - -SW_FT_Fixed SW_FT_Tan(SW_FT_Angle angle) -{ - SW_FT_Vector v; - - v.x = SW_FT_TRIG_SCALE >> 8; - v.y = 0; - ft_trig_pseudo_rotate(&v, angle); - - return SW_FT_DivFix(v.y, v.x); -} - -/* documentation is in fttrigon.h */ - -SW_FT_Angle SW_FT_Atan2(SW_FT_Fixed dx, SW_FT_Fixed dy) -{ - SW_FT_Vector v; - - if (dx == 0 && dy == 0) return 0; - - v.x = dx; - v.y = dy; - ft_trig_prenorm(&v); - ft_trig_pseudo_polarize(&v); - - return v.y; -} - -/* documentation is in fttrigon.h */ - -void SW_FT_Vector_Unit(SW_FT_Vector* vec, SW_FT_Angle angle) -{ - vec->x = SW_FT_TRIG_SCALE >> 8; - vec->y = 0; - ft_trig_pseudo_rotate(vec, angle); - vec->x = (vec->x + 0x80L) >> 8; - vec->y = (vec->y + 0x80L) >> 8; -} - -/* these macros return 0 for positive numbers, - and -1 for negative ones */ -#define SW_FT_SIGN_LONG(x) ((x) >> (SW_FT_SIZEOF_LONG * 8 - 1)) -#define SW_FT_SIGN_INT(x) ((x) >> (SW_FT_SIZEOF_INT * 8 - 1)) -#define SW_FT_SIGN_INT32(x) ((x) >> 31) -#define SW_FT_SIGN_INT16(x) ((x) >> 15) - -/* documentation is in fttrigon.h */ - -void SW_FT_Vector_Rotate(SW_FT_Vector* vec, SW_FT_Angle angle) -{ - SW_FT_Int shift; - SW_FT_Vector v; - - v.x = vec->x; - v.y = vec->y; - - if (angle && (v.x != 0 || v.y != 0)) { - shift = ft_trig_prenorm(&v); - ft_trig_pseudo_rotate(&v, angle); - v.x = ft_trig_downscale(v.x); - v.y = ft_trig_downscale(v.y); - - if (shift > 0) { - SW_FT_Int32 half = (SW_FT_Int32)1L << (shift - 1); - - vec->x = (v.x + half + SW_FT_SIGN_LONG(v.x)) >> shift; - vec->y = (v.y + half + SW_FT_SIGN_LONG(v.y)) >> shift; - } else { - shift = -shift; - vec->x = (SW_FT_Pos)((SW_FT_ULong)v.x << shift); - vec->y = (SW_FT_Pos)((SW_FT_ULong)v.y << shift); - } - } -} - -/* documentation is in fttrigon.h */ - -SW_FT_Fixed SW_FT_Vector_Length(SW_FT_Vector* vec) -{ - SW_FT_Int shift; - SW_FT_Vector v; - - v = *vec; - - /* handle trivial cases */ - if (v.x == 0) { - return SW_FT_ABS(v.y); - } else if (v.y == 0) { - return SW_FT_ABS(v.x); - } - - /* general case */ - shift = ft_trig_prenorm(&v); - ft_trig_pseudo_polarize(&v); - - v.x = ft_trig_downscale(v.x); - - if (shift > 0) return (v.x + (1 << (shift - 1))) >> shift; - - return (SW_FT_Fixed)((SW_FT_UInt32)v.x << -shift); -} - -/* documentation is in fttrigon.h */ - -void SW_FT_Vector_Polarize(SW_FT_Vector* vec, SW_FT_Fixed* length, - SW_FT_Angle* angle) -{ - SW_FT_Int shift; - SW_FT_Vector v; - - v = *vec; - - if (v.x == 0 && v.y == 0) return; - - shift = ft_trig_prenorm(&v); - ft_trig_pseudo_polarize(&v); - - v.x = ft_trig_downscale(v.x); - - *length = (shift >= 0) ? (v.x >> shift) - : (SW_FT_Fixed)((SW_FT_UInt32)v.x << -shift); - *angle = v.y; -} - -/* documentation is in fttrigon.h */ - -void SW_FT_Vector_From_Polar(SW_FT_Vector* vec, SW_FT_Fixed length, - SW_FT_Angle angle) -{ - vec->x = length; - vec->y = 0; - - SW_FT_Vector_Rotate(vec, angle); -} - -/* documentation is in fttrigon.h */ - -SW_FT_Angle SW_FT_Angle_Diff(SW_FT_Angle angle1, SW_FT_Angle angle2) -{ - SW_FT_Angle delta = angle2 - angle1; - - delta %= SW_FT_ANGLE_2PI; - if (delta < 0) delta += SW_FT_ANGLE_2PI; - - if (delta > SW_FT_ANGLE_PI) delta -= SW_FT_ANGLE_2PI; - - return delta; -} - -/* END */ diff --git a/submodules/RLottie/Sources/rlottie/src/vector/freetype/v_ft_math.h b/submodules/RLottie/Sources/rlottie/src/vector/freetype/v_ft_math.h deleted file mode 100644 index b4611d8d44..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/freetype/v_ft_math.h +++ /dev/null @@ -1,438 +0,0 @@ -#ifndef V_FT_MATH_H -#define V_FT_MATH_H - -/***************************************************************************/ -/* */ -/* fttrigon.h */ -/* */ -/* FreeType trigonometric functions (specification). */ -/* */ -/* Copyright 2001, 2003, 2005, 2007, 2013 by */ -/* David Turner, Robert Wilhelm, and Werner Lemberg. */ -/* */ -/* This file is part of the FreeType project, and may only be used, */ -/* modified, and distributed under the terms of the FreeType project */ -/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ -/* this file you indicate that you have read the license and */ -/* understand and accept it fully. */ -/* */ -/***************************************************************************/ - -#include "v_ft_types.h" - - -/*************************************************************************/ -/* */ -/* The min and max functions missing in C. As usual, be careful not to */ -/* write things like SW_FT_MIN( a++, b++ ) to avoid side effects. */ -/* */ -#define SW_FT_MIN( a, b ) ( (a) < (b) ? (a) : (b) ) -#define SW_FT_MAX( a, b ) ( (a) > (b) ? (a) : (b) ) - -#define SW_FT_ABS( a ) ( (a) < 0 ? -(a) : (a) ) - -/* - * Approximate sqrt(x*x+y*y) using the `alpha max plus beta min' - * algorithm. We use alpha = 1, beta = 3/8, giving us results with a - * largest error less than 7% compared to the exact value. - */ -#define SW_FT_HYPOT( x, y ) \ - ( x = SW_FT_ABS( x ), \ - y = SW_FT_ABS( y ), \ - x > y ? x + ( 3 * y >> 3 ) \ - : y + ( 3 * x >> 3 ) ) - -/*************************************************************************/ -/* */ -/* */ -/* SW_FT_MulFix */ -/* */ -/* */ -/* A very simple function used to perform the computation */ -/* `(a*b)/0x10000' with maximum accuracy. Most of the time this is */ -/* used to multiply a given value by a 16.16 fixed-point factor. */ -/* */ -/* */ -/* a :: The first multiplier. */ -/* b :: The second multiplier. Use a 16.16 factor here whenever */ -/* possible (see note below). */ -/* */ -/* */ -/* The result of `(a*b)/0x10000'. */ -/* */ -/* */ -/* This function has been optimized for the case where the absolute */ -/* value of `a' is less than 2048, and `b' is a 16.16 scaling factor. */ -/* As this happens mainly when scaling from notional units to */ -/* fractional pixels in FreeType, it resulted in noticeable speed */ -/* improvements between versions 2.x and 1.x. */ -/* */ -/* As a conclusion, always try to place a 16.16 factor as the */ -/* _second_ argument of this function; this can make a great */ -/* difference. */ -/* */ -SW_FT_Long -SW_FT_MulFix( SW_FT_Long a, - SW_FT_Long b ); - -/*************************************************************************/ -/* */ -/* */ -/* SW_FT_MulDiv */ -/* */ -/* */ -/* A very simple function used to perform the computation `(a*b)/c' */ -/* with maximum accuracy (it uses a 64-bit intermediate integer */ -/* whenever necessary). */ -/* */ -/* This function isn't necessarily as fast as some processor specific */ -/* operations, but is at least completely portable. */ -/* */ -/* */ -/* a :: The first multiplier. */ -/* b :: The second multiplier. */ -/* c :: The divisor. */ -/* */ -/* */ -/* The result of `(a*b)/c'. This function never traps when trying to */ -/* divide by zero; it simply returns `MaxInt' or `MinInt' depending */ -/* on the signs of `a' and `b'. */ -/* */ -SW_FT_Long -SW_FT_MulDiv( SW_FT_Long a, - SW_FT_Long b, - SW_FT_Long c ); - -/*************************************************************************/ -/* */ -/* */ -/* SW_FT_DivFix */ -/* */ -/* */ -/* A very simple function used to perform the computation */ -/* `(a*0x10000)/b' with maximum accuracy. Most of the time, this is */ -/* used to divide a given value by a 16.16 fixed-point factor. */ -/* */ -/* */ -/* a :: The numerator. */ -/* b :: The denominator. Use a 16.16 factor here. */ -/* */ -/* */ -/* The result of `(a*0x10000)/b'. */ -/* */ -SW_FT_Long -SW_FT_DivFix( SW_FT_Long a, - SW_FT_Long b ); - - - - /*************************************************************************/ - /* */ - /*
*/ - /* computations */ - /* */ - /*************************************************************************/ - - - /************************************************************************* - * - * @type: - * SW_FT_Angle - * - * @description: - * This type is used to model angle values in FreeType. Note that the - * angle is a 16.16 fixed-point value expressed in degrees. - * - */ - typedef SW_FT_Fixed SW_FT_Angle; - - - /************************************************************************* - * - * @macro: - * SW_FT_ANGLE_PI - * - * @description: - * The angle pi expressed in @SW_FT_Angle units. - * - */ -#define SW_FT_ANGLE_PI ( 180L << 16 ) - - - /************************************************************************* - * - * @macro: - * SW_FT_ANGLE_2PI - * - * @description: - * The angle 2*pi expressed in @SW_FT_Angle units. - * - */ -#define SW_FT_ANGLE_2PI ( SW_FT_ANGLE_PI * 2 ) - - - /************************************************************************* - * - * @macro: - * SW_FT_ANGLE_PI2 - * - * @description: - * The angle pi/2 expressed in @SW_FT_Angle units. - * - */ -#define SW_FT_ANGLE_PI2 ( SW_FT_ANGLE_PI / 2 ) - - - /************************************************************************* - * - * @macro: - * SW_FT_ANGLE_PI4 - * - * @description: - * The angle pi/4 expressed in @SW_FT_Angle units. - * - */ -#define SW_FT_ANGLE_PI4 ( SW_FT_ANGLE_PI / 4 ) - - - /************************************************************************* - * - * @function: - * SW_FT_Sin - * - * @description: - * Return the sinus of a given angle in fixed-point format. - * - * @input: - * angle :: - * The input angle. - * - * @return: - * The sinus value. - * - * @note: - * If you need both the sinus and cosinus for a given angle, use the - * function @SW_FT_Vector_Unit. - * - */ - SW_FT_Fixed - SW_FT_Sin( SW_FT_Angle angle ); - - - /************************************************************************* - * - * @function: - * SW_FT_Cos - * - * @description: - * Return the cosinus of a given angle in fixed-point format. - * - * @input: - * angle :: - * The input angle. - * - * @return: - * The cosinus value. - * - * @note: - * If you need both the sinus and cosinus for a given angle, use the - * function @SW_FT_Vector_Unit. - * - */ - SW_FT_Fixed - SW_FT_Cos( SW_FT_Angle angle ); - - - /************************************************************************* - * - * @function: - * SW_FT_Tan - * - * @description: - * Return the tangent of a given angle in fixed-point format. - * - * @input: - * angle :: - * The input angle. - * - * @return: - * The tangent value. - * - */ - SW_FT_Fixed - SW_FT_Tan( SW_FT_Angle angle ); - - - /************************************************************************* - * - * @function: - * SW_FT_Atan2 - * - * @description: - * Return the arc-tangent corresponding to a given vector (x,y) in - * the 2d plane. - * - * @input: - * x :: - * The horizontal vector coordinate. - * - * y :: - * The vertical vector coordinate. - * - * @return: - * The arc-tangent value (i.e. angle). - * - */ - SW_FT_Angle - SW_FT_Atan2( SW_FT_Fixed x, - SW_FT_Fixed y ); - - - /************************************************************************* - * - * @function: - * SW_FT_Angle_Diff - * - * @description: - * Return the difference between two angles. The result is always - * constrained to the ]-PI..PI] interval. - * - * @input: - * angle1 :: - * First angle. - * - * angle2 :: - * Second angle. - * - * @return: - * Constrained value of `value2-value1'. - * - */ - SW_FT_Angle - SW_FT_Angle_Diff( SW_FT_Angle angle1, - SW_FT_Angle angle2 ); - - - /************************************************************************* - * - * @function: - * SW_FT_Vector_Unit - * - * @description: - * Return the unit vector corresponding to a given angle. After the - * call, the value of `vec.x' will be `sin(angle)', and the value of - * `vec.y' will be `cos(angle)'. - * - * This function is useful to retrieve both the sinus and cosinus of a - * given angle quickly. - * - * @output: - * vec :: - * The address of target vector. - * - * @input: - * angle :: - * The input angle. - * - */ - void - SW_FT_Vector_Unit( SW_FT_Vector* vec, - SW_FT_Angle angle ); - - - /************************************************************************* - * - * @function: - * SW_FT_Vector_Rotate - * - * @description: - * Rotate a vector by a given angle. - * - * @inout: - * vec :: - * The address of target vector. - * - * @input: - * angle :: - * The input angle. - * - */ - void - SW_FT_Vector_Rotate( SW_FT_Vector* vec, - SW_FT_Angle angle ); - - - /************************************************************************* - * - * @function: - * SW_FT_Vector_Length - * - * @description: - * Return the length of a given vector. - * - * @input: - * vec :: - * The address of target vector. - * - * @return: - * The vector length, expressed in the same units that the original - * vector coordinates. - * - */ - SW_FT_Fixed - SW_FT_Vector_Length( SW_FT_Vector* vec ); - - - /************************************************************************* - * - * @function: - * SW_FT_Vector_Polarize - * - * @description: - * Compute both the length and angle of a given vector. - * - * @input: - * vec :: - * The address of source vector. - * - * @output: - * length :: - * The vector length. - * - * angle :: - * The vector angle. - * - */ - void - SW_FT_Vector_Polarize( SW_FT_Vector* vec, - SW_FT_Fixed *length, - SW_FT_Angle *angle ); - - - /************************************************************************* - * - * @function: - * SW_FT_Vector_From_Polar - * - * @description: - * Compute vector coordinates from a length and angle. - * - * @output: - * vec :: - * The address of source vector. - * - * @input: - * length :: - * The vector length. - * - * angle :: - * The vector angle. - * - */ - void - SW_FT_Vector_From_Polar( SW_FT_Vector* vec, - SW_FT_Fixed length, - SW_FT_Angle angle ); - - -#endif // V_FT_MATH_H diff --git a/submodules/RLottie/Sources/rlottie/src/vector/freetype/v_ft_raster.cpp b/submodules/RLottie/Sources/rlottie/src/vector/freetype/v_ft_raster.cpp deleted file mode 100644 index 639eaaa9ff..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/freetype/v_ft_raster.cpp +++ /dev/null @@ -1,1456 +0,0 @@ -/***************************************************************************/ -/* */ -/* ftgrays.c */ -/* */ -/* A new `perfect' anti-aliasing renderer (body). */ -/* */ -/* Copyright 2000-2003, 2005-2014 by */ -/* David Turner, Robert Wilhelm, and Werner Lemberg. */ -/* */ -/* This file is part of the FreeType project, and may only be used, */ -/* modified, and distributed under the terms of the FreeType project */ -/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ -/* this file you indicate that you have read the license and */ -/* understand and accept it fully. */ -/* */ -/***************************************************************************/ - -/*************************************************************************/ -/* */ -/* This is a new anti-aliasing scan-converter for FreeType 2. The */ -/* algorithm used here is _very_ different from the one in the standard */ -/* `ftraster' module. Actually, `ftgrays' computes the _exact_ */ -/* coverage of the outline on each pixel cell. */ -/* */ -/* It is based on ideas that I initially found in Raph Levien's */ -/* excellent LibArt graphics library (see http://www.levien.com/libart */ -/* for more information, though the web pages do not tell anything */ -/* about the renderer; you'll have to dive into the source code to */ -/* understand how it works). */ -/* */ -/* Note, however, that this is a _very_ different implementation */ -/* compared to Raph's. Coverage information is stored in a very */ -/* different way, and I don't use sorted vector paths. Also, it doesn't */ -/* use floating point values. */ -/* */ -/* This renderer has the following advantages: */ -/* */ -/* - It doesn't need an intermediate bitmap. Instead, one can supply a */ -/* callback function that will be called by the renderer to draw gray */ -/* spans on any target surface. You can thus do direct composition on */ -/* any kind of bitmap, provided that you give the renderer the right */ -/* callback. */ -/* */ -/* - A perfect anti-aliaser, i.e., it computes the _exact_ coverage on */ -/* each pixel cell. */ -/* */ -/* - It performs a single pass on the outline (the `standard' FT2 */ -/* renderer makes two passes). */ -/* */ -/* - It can easily be modified to render to _any_ number of gray levels */ -/* cheaply. */ -/* */ -/* - For small (< 20) pixel sizes, it is faster than the standard */ -/* renderer. */ -/* */ -/*************************************************************************/ - -#include "v_ft_raster.h" -#include "v_ft_math.h" - -/* Auxiliary macros for token concatenation. */ -#define SW_FT_ERR_XCAT(x, y) x##y -#define SW_FT_ERR_CAT(x, y) SW_FT_ERR_XCAT(x, y) - -#define SW_FT_BEGIN_STMNT do { -#define SW_FT_END_STMNT \ - } \ - while (0) - -#include -#include -#include -#include -#define SW_FT_UINT_MAX UINT_MAX -#define SW_FT_INT_MAX INT_MAX -#define SW_FT_ULONG_MAX ULONG_MAX -#define SW_FT_CHAR_BIT CHAR_BIT - -#define ft_memset memset - -#define ft_setjmp setjmp -#define ft_longjmp longjmp -#define ft_jmp_buf jmp_buf - -typedef ptrdiff_t SW_FT_PtrDist; - -#define ErrRaster_Invalid_Mode -2 -#define ErrRaster_Invalid_Outline -1 -#define ErrRaster_Invalid_Argument -3 -#define ErrRaster_Memory_Overflow -4 - -#define SW_FT_BEGIN_HEADER -#define SW_FT_END_HEADER - -/* This macro is used to indicate that a function parameter is unused. */ -/* Its purpose is simply to reduce compiler warnings. Note also that */ -/* simply defining it as `(void)x' doesn't avoid warnings with certain */ -/* ANSI compilers (e.g. LCC). */ -#define SW_FT_UNUSED(x) (x) = (x) - -#define SW_FT_THROW(e) SW_FT_ERR_CAT(ErrRaster_, e) - -/* The size in bytes of the render pool used by the scan-line converter */ -/* to do all of its work. */ -#define SW_FT_RENDER_POOL_SIZE 16384L - -typedef int (*SW_FT_Outline_MoveToFunc)(const SW_FT_Vector* to, void* user); - -#define SW_FT_Outline_MoveTo_Func SW_FT_Outline_MoveToFunc - -typedef int (*SW_FT_Outline_LineToFunc)(const SW_FT_Vector* to, void* user); - -#define SW_FT_Outline_LineTo_Func SW_FT_Outline_LineToFunc - -typedef int (*SW_FT_Outline_ConicToFunc)(const SW_FT_Vector* control, - const SW_FT_Vector* to, void* user); - -#define SW_FT_Outline_ConicTo_Func SW_FT_Outline_ConicToFunc - -typedef int (*SW_FT_Outline_CubicToFunc)(const SW_FT_Vector* control1, - const SW_FT_Vector* control2, - const SW_FT_Vector* to, void* user); - -#define SW_FT_Outline_CubicTo_Func SW_FT_Outline_CubicToFunc - -typedef struct SW_FT_Outline_Funcs_ { - SW_FT_Outline_MoveToFunc move_to; - SW_FT_Outline_LineToFunc line_to; - SW_FT_Outline_ConicToFunc conic_to; - SW_FT_Outline_CubicToFunc cubic_to; - - int shift; - SW_FT_Pos delta; - -} SW_FT_Outline_Funcs; - -#define SW_FT_DEFINE_OUTLINE_FUNCS(class_, move_to_, line_to_, conic_to_, \ - cubic_to_, shift_, delta_) \ - static const SW_FT_Outline_Funcs class_ = {move_to_, line_to_, conic_to_, \ - cubic_to_, shift_, delta_}; - -#define SW_FT_DEFINE_RASTER_FUNCS(class_, raster_new_, raster_reset_, \ - raster_render_, raster_done_) \ - const SW_FT_Raster_Funcs class_ = {raster_new_, raster_reset_, \ - raster_render_, raster_done_}; - -#ifndef SW_FT_MEM_SET -#define SW_FT_MEM_SET(d, s, c) ft_memset(d, s, c) -#endif - -#ifndef SW_FT_MEM_ZERO -#define SW_FT_MEM_ZERO(dest, count) SW_FT_MEM_SET(dest, 0, count) -#endif - -/* as usual, for the speed hungry :-) */ - -#undef RAS_ARG -#undef RAS_ARG_ -#undef RAS_VAR -#undef RAS_VAR_ - -#ifndef SW_FT_STATIC_RASTER - -#define RAS_ARG gray_PWorker worker -#define RAS_ARG_ gray_PWorker worker, - -#define RAS_VAR worker -#define RAS_VAR_ worker, - -#else /* SW_FT_STATIC_RASTER */ - -#define RAS_ARG /* empty */ -#define RAS_ARG_ /* empty */ -#define RAS_VAR /* empty */ -#define RAS_VAR_ /* empty */ - -#endif /* SW_FT_STATIC_RASTER */ - -/* must be at least 6 bits! */ -#define PIXEL_BITS 8 - -#undef FLOOR -#undef CEILING -#undef TRUNC -#undef SCALED - -#define ONE_PIXEL (1L << PIXEL_BITS) -#define PIXEL_MASK (-1L << PIXEL_BITS) -#define TRUNC(x) ((TCoord)((x) >> PIXEL_BITS)) -#define SUBPIXELS(x) ((TPos)(x) << PIXEL_BITS) -#define FLOOR(x) ((x) & -ONE_PIXEL) -#define CEILING(x) (((x) + ONE_PIXEL - 1) & -ONE_PIXEL) -#define ROUND(x) (((x) + ONE_PIXEL / 2) & -ONE_PIXEL) - -#if PIXEL_BITS >= 6 -#define UPSCALE(x) ((x) << (PIXEL_BITS - 6)) -#define DOWNSCALE(x) ((x) >> (PIXEL_BITS - 6)) -#else -#define UPSCALE(x) ((x) >> (6 - PIXEL_BITS)) -#define DOWNSCALE(x) ((x) << (6 - PIXEL_BITS)) -#endif - -/* Compute `dividend / divisor' and return both its quotient and */ -/* remainder, cast to a specific type. This macro also ensures that */ -/* the remainder is always positive. */ -#define SW_FT_DIV_MOD(type, dividend, divisor, quotient, remainder) \ - SW_FT_BEGIN_STMNT(quotient) = (type)((dividend) / (divisor)); \ - (remainder) = (type)((dividend) % (divisor)); \ - if ((remainder) < 0) { \ - (quotient)--; \ - (remainder) += (type)(divisor); \ - } \ - SW_FT_END_STMNT - -#ifdef __arm__ -/* Work around a bug specific to GCC which make the compiler fail to */ -/* optimize a division and modulo operation on the same parameters */ -/* into a single call to `__aeabi_idivmod'. See */ -/* */ -/* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43721 */ -#undef SW_FT_DIV_MOD -#define SW_FT_DIV_MOD(type, dividend, divisor, quotient, remainder) \ - SW_FT_BEGIN_STMNT(quotient) = (type)((dividend) / (divisor)); \ - (remainder) = (type)((dividend) - (quotient) * (divisor)); \ - if ((remainder) < 0) { \ - (quotient)--; \ - (remainder) += (type)(divisor); \ - } \ - SW_FT_END_STMNT -#endif /* __arm__ */ - -/* These macros speed up repetitive divisions by replacing them */ -/* with multiplications and right shifts. */ -#define SW_FT_UDIVPREP(b) \ - long b##_r = (long)(SW_FT_ULONG_MAX >> PIXEL_BITS) / (b) -#define SW_FT_UDIV(a, b) \ - (((unsigned long)(a) * (unsigned long)(b##_r)) >> \ - (sizeof(long) * SW_FT_CHAR_BIT - PIXEL_BITS)) - -/*************************************************************************/ -/* */ -/* TYPE DEFINITIONS */ -/* */ - -/* don't change the following types to SW_FT_Int or SW_FT_Pos, since we might */ -/* need to define them to "float" or "double" when experimenting with */ -/* new algorithms */ - -typedef long TCoord; /* integer scanline/pixel coordinate */ -typedef long TPos; /* sub-pixel coordinate */ - -/* determine the type used to store cell areas. This normally takes at */ -/* least PIXEL_BITS*2 + 1 bits. On 16-bit systems, we need to use */ -/* `long' instead of `int', otherwise bad things happen */ - -#if PIXEL_BITS <= 7 - -typedef int TArea; - -#else /* PIXEL_BITS >= 8 */ - -/* approximately determine the size of integers using an ANSI-C header */ -#if SW_FT_UINT_MAX == 0xFFFFU -typedef long TArea; -#else -typedef int TArea; -#endif - -#endif /* PIXEL_BITS >= 8 */ - -/* maximum number of gray spans in a call to the span callback */ -#define SW_FT_MAX_GRAY_SPANS 256 - -typedef struct TCell_* PCell; - -typedef struct TCell_ { - TPos x; /* same with gray_TWorker.ex */ - TCoord cover; /* same with gray_TWorker.cover */ - TArea area; - PCell next; - -} TCell; - -#if defined(_MSC_VER) /* Visual C++ (and Intel C++) */ -/* We disable the warning `structure was padded due to */ -/* __declspec(align())' in order to compile cleanly with */ -/* the maximum level of warnings. */ -#pragma warning(push) -#pragma warning(disable : 4324) -#endif /* _MSC_VER */ - -typedef struct gray_TWorker_ { - TCoord ex, ey; - TPos min_ex, max_ex; - TPos min_ey, max_ey; - TPos count_ex, count_ey; - - TArea area; - TCoord cover; - int invalid; - - PCell cells; - SW_FT_PtrDist max_cells; - SW_FT_PtrDist num_cells; - - TPos x, y; - - SW_FT_Vector bez_stack[32 * 3 + 1]; - int lev_stack[32]; - - SW_FT_Outline outline; - SW_FT_BBox clip_box; - - int bound_left; - int bound_top; - int bound_right; - int bound_bottom; - - SW_FT_Span gray_spans[SW_FT_MAX_GRAY_SPANS]; - int num_gray_spans; - - SW_FT_Raster_Span_Func render_span; - void* render_span_data; - - int band_size; - int band_shoot; - - ft_jmp_buf jump_buffer; - - void* buffer; - long buffer_size; - - PCell* ycells; - TPos ycount; - -} gray_TWorker, *gray_PWorker; - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif - -#ifndef SW_FT_STATIC_RASTER -#define ras (*worker) -#else -static gray_TWorker ras; -#endif - -typedef struct gray_TRaster_ { - void* memory; - -} gray_TRaster, *gray_PRaster; - -/*************************************************************************/ -/* */ -/* Initialize the cells table. */ -/* */ -static void gray_init_cells(RAS_ARG_ void* buffer, long byte_size) -{ - ras.buffer = buffer; - ras.buffer_size = byte_size; - - ras.ycells = (PCell*)buffer; - ras.cells = NULL; - ras.max_cells = 0; - ras.num_cells = 0; - ras.area = 0; - ras.cover = 0; - ras.invalid = 1; - - ras.bound_left = INT_MAX; - ras.bound_top = INT_MAX; - ras.bound_right = INT_MIN; - ras.bound_bottom = INT_MIN; -} - -/*************************************************************************/ -/* */ -/* Compute the outline bounding box. */ -/* */ -static void gray_compute_cbox(RAS_ARG) -{ - SW_FT_Outline* outline = &ras.outline; - SW_FT_Vector* vec = outline->points; - SW_FT_Vector* limit = vec + outline->n_points; - - if (outline->n_points <= 0) { - ras.min_ex = ras.max_ex = 0; - ras.min_ey = ras.max_ey = 0; - return; - } - - ras.min_ex = ras.max_ex = vec->x; - ras.min_ey = ras.max_ey = vec->y; - - vec++; - - for (; vec < limit; vec++) { - TPos x = vec->x; - TPos y = vec->y; - - if (x < ras.min_ex) ras.min_ex = x; - if (x > ras.max_ex) ras.max_ex = x; - if (y < ras.min_ey) ras.min_ey = y; - if (y > ras.max_ey) ras.max_ey = y; - } - - /* truncate the bounding box to integer pixels */ - ras.min_ex = ras.min_ex >> 6; - ras.min_ey = ras.min_ey >> 6; - ras.max_ex = (ras.max_ex + 63) >> 6; - ras.max_ey = (ras.max_ey + 63) >> 6; -} - -/*************************************************************************/ -/* */ -/* Record the current cell in the table. */ -/* */ -static PCell gray_find_cell(RAS_ARG) -{ - PCell *pcell, cell; - TPos x = ras.ex; - - if (x > ras.count_ex) x = ras.count_ex; - - pcell = &ras.ycells[ras.ey]; - for (;;) { - cell = *pcell; - if (cell == NULL || cell->x > x) break; - - if (cell->x == x) goto Exit; - - pcell = &cell->next; - } - - if (ras.num_cells >= ras.max_cells) ft_longjmp(ras.jump_buffer, 1); - - cell = ras.cells + ras.num_cells++; - cell->x = x; - cell->area = 0; - cell->cover = 0; - - cell->next = *pcell; - *pcell = cell; - -Exit: - return cell; -} - -static void gray_record_cell(RAS_ARG) -{ - if (ras.area | ras.cover) { - PCell cell = gray_find_cell(RAS_VAR); - - cell->area += ras.area; - cell->cover += ras.cover; - } -} - -/*************************************************************************/ -/* */ -/* Set the current cell to a new position. */ -/* */ -static void gray_set_cell(RAS_ARG_ TCoord ex, TCoord ey) -{ - /* Move the cell pointer to a new position. We set the `invalid' */ - /* flag to indicate that the cell isn't part of those we're interested */ - /* in during the render phase. This means that: */ - /* */ - /* . the new vertical position must be within min_ey..max_ey-1. */ - /* . the new horizontal position must be strictly less than max_ex */ - /* */ - /* Note that if a cell is to the left of the clipping region, it is */ - /* actually set to the (min_ex-1) horizontal position. */ - - /* All cells that are on the left of the clipping region go to the */ - /* min_ex - 1 horizontal position. */ - ey -= ras.min_ey; - - if (ex > ras.max_ex) ex = ras.max_ex; - - ex -= ras.min_ex; - if (ex < 0) ex = -1; - - /* are we moving to a different cell ? */ - if (ex != ras.ex || ey != ras.ey) { - /* record the current one if it is valid */ - if (!ras.invalid) gray_record_cell(RAS_VAR); - - ras.area = 0; - ras.cover = 0; - ras.ex = ex; - ras.ey = ey; - } - - ras.invalid = - ((unsigned)ey >= (unsigned)ras.count_ey || ex >= ras.count_ex); -} - -/*************************************************************************/ -/* */ -/* Start a new contour at a given cell. */ -/* */ -static void gray_start_cell(RAS_ARG_ TCoord ex, TCoord ey) -{ - if (ex > ras.max_ex) ex = (TCoord)(ras.max_ex); - - if (ex < ras.min_ex) ex = (TCoord)(ras.min_ex - 1); - - ras.area = 0; - ras.cover = 0; - ras.ex = ex - ras.min_ex; - ras.ey = ey - ras.min_ey; - ras.invalid = 0; - - gray_set_cell(RAS_VAR_ ex, ey); -} - -/*************************************************************************/ -/* */ -/* Render a straight line across multiple cells in any direction. */ -/* */ -static void gray_render_line(RAS_ARG_ TPos to_x, TPos to_y) -{ - TPos dx, dy, fx1, fy1, fx2, fy2; - TCoord ex1, ex2, ey1, ey2; - - ex1 = TRUNC(ras.x); - ex2 = TRUNC(to_x); - ey1 = TRUNC(ras.y); - ey2 = TRUNC(to_y); - - /* perform vertical clipping */ - if ((ey1 >= ras.max_ey && ey2 >= ras.max_ey) || - (ey1 < ras.min_ey && ey2 < ras.min_ey)) - goto End; - - dx = to_x - ras.x; - dy = to_y - ras.y; - - fx1 = ras.x - SUBPIXELS(ex1); - fy1 = ras.y - SUBPIXELS(ey1); - - if (ex1 == ex2 && ey1 == ey2) /* inside one cell */ - ; - else if (dy == 0) /* ex1 != ex2 */ /* any horizontal line */ - { - ex1 = ex2; - gray_set_cell(RAS_VAR_ ex1, ey1); - } else if (dx == 0) { - if (dy > 0) /* vertical line up */ - do { - fy2 = ONE_PIXEL; - ras.cover += (fy2 - fy1); - ras.area += (fy2 - fy1) * fx1 * 2; - fy1 = 0; - ey1++; - gray_set_cell(RAS_VAR_ ex1, ey1); - } while (ey1 != ey2); - else /* vertical line down */ - do { - fy2 = 0; - ras.cover += (fy2 - fy1); - ras.area += (fy2 - fy1) * fx1 * 2; - fy1 = ONE_PIXEL; - ey1--; - gray_set_cell(RAS_VAR_ ex1, ey1); - } while (ey1 != ey2); - } else /* any other line */ - { - TArea prod = dx * fy1 - dy * fx1; - SW_FT_UDIVPREP(dx); - SW_FT_UDIVPREP(dy); - - /* The fundamental value `prod' determines which side and the */ - /* exact coordinate where the line exits current cell. It is */ - /* also easily updated when moving from one cell to the next. */ - do { - if (prod <= 0 && prod - dx * ONE_PIXEL > 0) /* left */ - { - fx2 = 0; - fy2 = (TPos)SW_FT_UDIV(-prod, -dx); - prod -= dy * ONE_PIXEL; - ras.cover += (fy2 - fy1); - ras.area += (fy2 - fy1) * (fx1 + fx2); - fx1 = ONE_PIXEL; - fy1 = fy2; - ex1--; - } else if (prod - dx * ONE_PIXEL <= 0 && - prod - dx * ONE_PIXEL + dy * ONE_PIXEL > 0) /* up */ - { - prod -= dx * ONE_PIXEL; - fx2 = (TPos)SW_FT_UDIV(-prod, dy); - fy2 = ONE_PIXEL; - ras.cover += (fy2 - fy1); - ras.area += (fy2 - fy1) * (fx1 + fx2); - fx1 = fx2; - fy1 = 0; - ey1++; - } else if (prod - dx * ONE_PIXEL + dy * ONE_PIXEL <= 0 && - prod + dy * ONE_PIXEL >= 0) /* right */ - { - prod += dy * ONE_PIXEL; - fx2 = ONE_PIXEL; - fy2 = (TPos)SW_FT_UDIV(prod, dx); - ras.cover += (fy2 - fy1); - ras.area += (fy2 - fy1) * (fx1 + fx2); - fx1 = 0; - fy1 = fy2; - ex1++; - } else /* ( prod + dy * ONE_PIXEL < 0 && - prod > 0 ) down */ - { - fx2 = (TPos)SW_FT_UDIV(prod, -dy); - fy2 = 0; - prod += dx * ONE_PIXEL; - ras.cover += (fy2 - fy1); - ras.area += (fy2 - fy1) * (fx1 + fx2); - fx1 = fx2; - fy1 = ONE_PIXEL; - ey1--; - } - - gray_set_cell(RAS_VAR_ ex1, ey1); - } while (ex1 != ex2 || ey1 != ey2); - } - - fx2 = to_x - SUBPIXELS(ex2); - fy2 = to_y - SUBPIXELS(ey2); - - ras.cover += (fy2 - fy1); - ras.area += (fy2 - fy1) * (fx1 + fx2); - -End: - ras.x = to_x; - ras.y = to_y; -} - -static void gray_split_conic(SW_FT_Vector* base) -{ - TPos a, b; - - base[4].x = base[2].x; - b = base[1].x; - a = base[3].x = (base[2].x + b) / 2; - b = base[1].x = (base[0].x + b) / 2; - base[2].x = (a + b) / 2; - - base[4].y = base[2].y; - b = base[1].y; - a = base[3].y = (base[2].y + b) / 2; - b = base[1].y = (base[0].y + b) / 2; - base[2].y = (a + b) / 2; -} - -static void gray_render_conic(RAS_ARG_ const SW_FT_Vector* control, - const SW_FT_Vector* to) -{ - TPos dx, dy; - TPos min, max, y; - int top, level; - int* levels; - SW_FT_Vector* arc; - - levels = ras.lev_stack; - - arc = ras.bez_stack; - arc[0].x = UPSCALE(to->x); - arc[0].y = UPSCALE(to->y); - arc[1].x = UPSCALE(control->x); - arc[1].y = UPSCALE(control->y); - arc[2].x = ras.x; - arc[2].y = ras.y; - top = 0; - - dx = SW_FT_ABS(arc[2].x + arc[0].x - 2 * arc[1].x); - dy = SW_FT_ABS(arc[2].y + arc[0].y - 2 * arc[1].y); - if (dx < dy) dx = dy; - - if (dx < ONE_PIXEL / 4) goto Draw; - - /* short-cut the arc that crosses the current band */ - min = max = arc[0].y; - - y = arc[1].y; - if (y < min) min = y; - if (y > max) max = y; - - y = arc[2].y; - if (y < min) min = y; - if (y > max) max = y; - - if (TRUNC(min) >= ras.max_ey || TRUNC(max) < ras.min_ey) goto Draw; - - level = 0; - do { - dx >>= 2; - level++; - } while (dx > ONE_PIXEL / 4); - - levels[0] = level; - - do { - level = levels[top]; - if (level > 0) { - gray_split_conic(arc); - arc += 2; - top++; - levels[top] = levels[top - 1] = level - 1; - continue; - } - - Draw: - gray_render_line(RAS_VAR_ arc[0].x, arc[0].y); - top--; - arc -= 2; - - } while (top >= 0); -} - -static void gray_split_cubic(SW_FT_Vector* base) -{ - TPos a, b, c, d; - - base[6].x = base[3].x; - c = base[1].x; - d = base[2].x; - base[1].x = a = (base[0].x + c) / 2; - base[5].x = b = (base[3].x + d) / 2; - c = (c + d) / 2; - base[2].x = a = (a + c) / 2; - base[4].x = b = (b + c) / 2; - base[3].x = (a + b) / 2; - - base[6].y = base[3].y; - c = base[1].y; - d = base[2].y; - base[1].y = a = (base[0].y + c) / 2; - base[5].y = b = (base[3].y + d) / 2; - c = (c + d) / 2; - base[2].y = a = (a + c) / 2; - base[4].y = b = (b + c) / 2; - base[3].y = (a + b) / 2; -} - -static void gray_render_cubic(RAS_ARG_ const SW_FT_Vector* control1, - const SW_FT_Vector* control2, - const SW_FT_Vector* to) -{ - SW_FT_Vector* arc; - TPos min, max, y; - - arc = ras.bez_stack; - arc[0].x = UPSCALE(to->x); - arc[0].y = UPSCALE(to->y); - arc[1].x = UPSCALE(control2->x); - arc[1].y = UPSCALE(control2->y); - arc[2].x = UPSCALE(control1->x); - arc[2].y = UPSCALE(control1->y); - arc[3].x = ras.x; - arc[3].y = ras.y; - - /* Short-cut the arc that crosses the current band. */ - min = max = arc[0].y; - - y = arc[1].y; - if (y < min) min = y; - if (y > max) max = y; - - y = arc[2].y; - if (y < min) min = y; - if (y > max) max = y; - - y = arc[3].y; - if (y < min) min = y; - if (y > max) max = y; - - if (TRUNC(min) >= ras.max_ey || TRUNC(max) < ras.min_ey) goto Draw; - - for (;;) { - /* Decide whether to split or draw. See `Rapid Termination */ - /* Evaluation for Recursive Subdivision of Bezier Curves' by Thomas */ - /* F. Hain, at */ - /* http://www.cis.southalabama.edu/~hain/general/Publications/Bezier/Camera-ready%20CISST02%202.pdf - */ - - { - TPos dx, dy, dx_, dy_; - TPos dx1, dy1, dx2, dy2; - TPos L, s, s_limit; - - /* dx and dy are x and y components of the P0-P3 chord vector. */ - dx = dx_ = arc[3].x - arc[0].x; - dy = dy_ = arc[3].y - arc[0].y; - - L = SW_FT_HYPOT(dx_, dy_); - - /* Avoid possible arithmetic overflow below by splitting. */ - if (L > 32767) goto Split; - - /* Max deviation may be as much as (s/L) * 3/4 (if Hain's v = 1). */ - s_limit = L * (TPos)(ONE_PIXEL / 6); - - /* s is L * the perpendicular distance from P1 to the line P0-P3. */ - dx1 = arc[1].x - arc[0].x; - dy1 = arc[1].y - arc[0].y; - s = SW_FT_ABS(dy * dx1 - dx * dy1); - - if (s > s_limit) goto Split; - - /* s is L * the perpendicular distance from P2 to the line P0-P3. */ - dx2 = arc[2].x - arc[0].x; - dy2 = arc[2].y - arc[0].y; - s = SW_FT_ABS(dy * dx2 - dx * dy2); - - if (s > s_limit) goto Split; - - /* Split super curvy segments where the off points are so far - from the chord that the angles P0-P1-P3 or P0-P2-P3 become - acute as detected by appropriate dot products. */ - if (dx1 * (dx1 - dx) + dy1 * (dy1 - dy) > 0 || - dx2 * (dx2 - dx) + dy2 * (dy2 - dy) > 0) - goto Split; - - /* No reason to split. */ - goto Draw; - } - - Split: - gray_split_cubic(arc); - arc += 3; - continue; - - Draw: - gray_render_line(RAS_VAR_ arc[0].x, arc[0].y); - - if (arc == ras.bez_stack) return; - - arc -= 3; - } -} - -static int gray_move_to(const SW_FT_Vector* to, gray_PWorker worker) -{ - TPos x, y; - - /* record current cell, if any */ - if (!ras.invalid) gray_record_cell(RAS_VAR); - - /* start to a new position */ - x = UPSCALE(to->x); - y = UPSCALE(to->y); - - gray_start_cell(RAS_VAR_ TRUNC(x), TRUNC(y)); - - worker->x = x; - worker->y = y; - return 0; -} - -static int gray_line_to(const SW_FT_Vector* to, gray_PWorker worker) -{ - gray_render_line(RAS_VAR_ UPSCALE(to->x), UPSCALE(to->y)); - return 0; -} - -static int gray_conic_to(const SW_FT_Vector* control, const SW_FT_Vector* to, - gray_PWorker worker) -{ - gray_render_conic(RAS_VAR_ control, to); - return 0; -} - -static int gray_cubic_to(const SW_FT_Vector* control1, - const SW_FT_Vector* control2, const SW_FT_Vector* to, - gray_PWorker worker) -{ - gray_render_cubic(RAS_VAR_ control1, control2, to); - return 0; -} - -static void gray_hline(RAS_ARG_ TCoord x, TCoord y, TPos area, TCoord acount) -{ - int coverage; - - /* compute the coverage line's coverage, depending on the */ - /* outline fill rule */ - /* */ - /* the coverage percentage is area/(PIXEL_BITS*PIXEL_BITS*2) */ - /* */ - coverage = (int)(area >> (PIXEL_BITS * 2 + 1 - 8)); - /* use range 0..256 */ - if (coverage < 0) coverage = -coverage; - - if (ras.outline.flags & SW_FT_OUTLINE_EVEN_ODD_FILL) { - coverage &= 511; - - if (coverage > 256) - coverage = 512 - coverage; - else if (coverage == 256) - coverage = 255; - } else { - /* normal non-zero winding rule */ - if (coverage >= 256) coverage = 255; - } - - y += (TCoord)ras.min_ey; - x += (TCoord)ras.min_ex; - - /* SW_FT_Span.x is a 16-bit short, so limit our coordinates appropriately */ - if (x >= 32767) x = 32767; - - /* SW_FT_Span.y is an integer, so limit our coordinates appropriately */ - if (y >= SW_FT_INT_MAX) y = SW_FT_INT_MAX; - - if (coverage) { - SW_FT_Span* span; - int count; - - // update bounding box. - if (x < ras.bound_left) ras.bound_left = x; - if (y < ras.bound_top) ras.bound_top = y; - if (y > ras.bound_bottom) ras.bound_bottom = y; - if (x + acount > ras.bound_right) ras.bound_right = x + acount; - - /* see whether we can add this span to the current list */ - count = ras.num_gray_spans; - span = ras.gray_spans + count - 1; - if (count > 0 && span->y == y && (int)span->x + span->len == (int)x && - span->coverage == coverage) { - span->len = (unsigned short)(span->len + acount); - return; - } - - if (count >= SW_FT_MAX_GRAY_SPANS) { - if (ras.render_span && count > 0) - ras.render_span(count, ras.gray_spans, ras.render_span_data); - -#ifdef DEBUG_GRAYS - - if (1) { - int n; - - fprintf(stderr, "count = %3d ", count); - span = ras.gray_spans; - for (n = 0; n < count; n++, span++) - fprintf(stderr, "[%d , %d..%d] : %d ", span->y, span->x, - span->x + span->len - 1, span->coverage); - fprintf(stderr, "\n"); - } - -#endif /* DEBUG_GRAYS */ - - ras.num_gray_spans = 0; - - span = ras.gray_spans; - } else - span++; - - /* add a gray span to the current list */ - span->x = (short)x; - span->y = (short)y; - span->len = (unsigned short)acount; - span->coverage = (unsigned char)coverage; - - ras.num_gray_spans++; - } -} - -static void gray_sweep(RAS_ARG) -{ - int yindex; - - if (ras.num_cells == 0) return; - - ras.num_gray_spans = 0; - - for (yindex = 0; yindex < ras.ycount; yindex++) { - PCell cell = ras.ycells[yindex]; - TCoord cover = 0; - TCoord x = 0; - - for (; cell != NULL; cell = cell->next) { - TPos area; - - if (cell->x > x && cover != 0) - gray_hline(RAS_VAR_ x, yindex, cover * (ONE_PIXEL * 2), - cell->x - x); - - cover += cell->cover; - area = cover * (ONE_PIXEL * 2) - cell->area; - - if (area != 0 && cell->x >= 0) - gray_hline(RAS_VAR_ cell->x, yindex, area, 1); - - x = cell->x + 1; - } - - if (cover != 0) - gray_hline(RAS_VAR_ x, yindex, cover * (ONE_PIXEL * 2), - ras.count_ex - x); - } - - if (ras.render_span && ras.num_gray_spans > 0) - ras.render_span(ras.num_gray_spans, ras.gray_spans, - ras.render_span_data); -} - -/*************************************************************************/ -/* */ -/* The following function should only compile in stand-alone mode, */ -/* i.e., when building this component without the rest of FreeType. */ -/* */ -/*************************************************************************/ - -/*************************************************************************/ -/* */ -/* */ -/* SW_FT_Outline_Decompose */ -/* */ -/* */ -/* Walk over an outline's structure to decompose it into individual */ -/* segments and Bézier arcs. This function is also able to emit */ -/* `move to' and `close to' operations to indicate the start and end */ -/* of new contours in the outline. */ -/* */ -/* */ -/* outline :: A pointer to the source target. */ -/* */ -/* func_interface :: A table of `emitters', i.e., function pointers */ -/* called during decomposition to indicate path */ -/* operations. */ -/* */ -/* */ -/* user :: A typeless pointer which is passed to each */ -/* emitter during the decomposition. It can be */ -/* used to store the state during the */ -/* decomposition. */ -/* */ -/* */ -/* Error code. 0 means success. */ -/* */ -static int SW_FT_Outline_Decompose(const SW_FT_Outline* outline, - const SW_FT_Outline_Funcs* func_interface, - void* user) -{ -#undef SCALED -#define SCALED(x) (((x) << shift) - delta) - - SW_FT_Vector v_last; - SW_FT_Vector v_control; - SW_FT_Vector v_start; - - SW_FT_Vector* point; - SW_FT_Vector* limit; - char* tags; - - int error; - - int n; /* index of contour in outline */ - int first; /* index of first point in contour */ - char tag; /* current point's state */ - - int shift; - TPos delta; - - if (!outline || !func_interface) return SW_FT_THROW(Invalid_Argument); - - shift = func_interface->shift; - delta = func_interface->delta; - first = 0; - - for (n = 0; n < outline->n_contours; n++) { - int last; /* index of last point in contour */ - - last = outline->contours[n]; - if (last < 0) goto Invalid_Outline; - limit = outline->points + last; - - v_start = outline->points[first]; - v_start.x = SCALED(v_start.x); - v_start.y = SCALED(v_start.y); - - v_last = outline->points[last]; - v_last.x = SCALED(v_last.x); - v_last.y = SCALED(v_last.y); - - v_control = v_start; - - point = outline->points + first; - tags = outline->tags + first; - tag = SW_FT_CURVE_TAG(tags[0]); - - /* A contour cannot start with a cubic control point! */ - if (tag == SW_FT_CURVE_TAG_CUBIC) goto Invalid_Outline; - - /* check first point to determine origin */ - if (tag == SW_FT_CURVE_TAG_CONIC) { - /* first point is conic control. Yes, this happens. */ - if (SW_FT_CURVE_TAG(outline->tags[last]) == SW_FT_CURVE_TAG_ON) { - /* start at last point if it is on the curve */ - v_start = v_last; - limit--; - } else { - /* if both first and last points are conic, */ - /* start at their middle and record its position */ - /* for closure */ - v_start.x = (v_start.x + v_last.x) / 2; - v_start.y = (v_start.y + v_last.y) / 2; - } - point--; - tags--; - } - - error = func_interface->move_to(&v_start, user); - if (error) goto Exit; - - while (point < limit) { - point++; - tags++; - - tag = SW_FT_CURVE_TAG(tags[0]); - switch (tag) { - case SW_FT_CURVE_TAG_ON: /* emit a single line_to */ - { - SW_FT_Vector vec; - - vec.x = SCALED(point->x); - vec.y = SCALED(point->y); - - error = func_interface->line_to(&vec, user); - if (error) goto Exit; - continue; - } - - case SW_FT_CURVE_TAG_CONIC: /* consume conic arcs */ - v_control.x = SCALED(point->x); - v_control.y = SCALED(point->y); - - Do_Conic: - if (point < limit) { - SW_FT_Vector vec; - SW_FT_Vector v_middle; - - point++; - tags++; - tag = SW_FT_CURVE_TAG(tags[0]); - - vec.x = SCALED(point->x); - vec.y = SCALED(point->y); - - if (tag == SW_FT_CURVE_TAG_ON) { - error = - func_interface->conic_to(&v_control, &vec, user); - if (error) goto Exit; - continue; - } - - if (tag != SW_FT_CURVE_TAG_CONIC) goto Invalid_Outline; - - v_middle.x = (v_control.x + vec.x) / 2; - v_middle.y = (v_control.y + vec.y) / 2; - - error = - func_interface->conic_to(&v_control, &v_middle, user); - if (error) goto Exit; - - v_control = vec; - goto Do_Conic; - } - - error = func_interface->conic_to(&v_control, &v_start, user); - goto Close; - - default: /* SW_FT_CURVE_TAG_CUBIC */ - { - SW_FT_Vector vec1, vec2; - - if (point + 1 > limit || - SW_FT_CURVE_TAG(tags[1]) != SW_FT_CURVE_TAG_CUBIC) - goto Invalid_Outline; - - point += 2; - tags += 2; - - vec1.x = SCALED(point[-2].x); - vec1.y = SCALED(point[-2].y); - - vec2.x = SCALED(point[-1].x); - vec2.y = SCALED(point[-1].y); - - if (point <= limit) { - SW_FT_Vector vec; - - vec.x = SCALED(point->x); - vec.y = SCALED(point->y); - - error = func_interface->cubic_to(&vec1, &vec2, &vec, user); - if (error) goto Exit; - continue; - } - - error = func_interface->cubic_to(&vec1, &vec2, &v_start, user); - goto Close; - } - } - } - - /* close the contour with a line segment */ - error = func_interface->line_to(&v_start, user); - - Close: - if (error) goto Exit; - - first = last + 1; - } - - return 0; - -Exit: - return error; - -Invalid_Outline: - return SW_FT_THROW(Invalid_Outline); -} - -typedef struct gray_TBand_ { - TPos min, max; - -} gray_TBand; - -SW_FT_DEFINE_OUTLINE_FUNCS(func_interface, - (SW_FT_Outline_MoveTo_Func)gray_move_to, - (SW_FT_Outline_LineTo_Func)gray_line_to, - (SW_FT_Outline_ConicTo_Func)gray_conic_to, - (SW_FT_Outline_CubicTo_Func)gray_cubic_to, 0, 0) - -static int gray_convert_glyph_inner(RAS_ARG) -{ - volatile int error = 0; - - if (ft_setjmp(ras.jump_buffer) == 0) { - error = SW_FT_Outline_Decompose(&ras.outline, &func_interface, &ras); - if (!ras.invalid) gray_record_cell(RAS_VAR); - } else - error = SW_FT_THROW(Memory_Overflow); - - return error; -} - -static int gray_convert_glyph(RAS_ARG) -{ - gray_TBand bands[40]; - gray_TBand* volatile band; - int volatile n, num_bands; - TPos volatile min, max, max_y; - SW_FT_BBox* clip; - - /* Set up state in the raster object */ - gray_compute_cbox(RAS_VAR); - - /* clip to target bitmap, exit if nothing to do */ - clip = &ras.clip_box; - - if (ras.max_ex <= clip->xMin || ras.min_ex >= clip->xMax || - ras.max_ey <= clip->yMin || ras.min_ey >= clip->yMax) - return 0; - - if (ras.min_ex < clip->xMin) ras.min_ex = clip->xMin; - if (ras.min_ey < clip->yMin) ras.min_ey = clip->yMin; - - if (ras.max_ex > clip->xMax) ras.max_ex = clip->xMax; - if (ras.max_ey > clip->yMax) ras.max_ey = clip->yMax; - - ras.count_ex = ras.max_ex - ras.min_ex; - ras.count_ey = ras.max_ey - ras.min_ey; - - /* set up vertical bands */ - num_bands = (int)((ras.max_ey - ras.min_ey) / ras.band_size); - if (num_bands == 0) num_bands = 1; - if (num_bands >= 39) num_bands = 39; - - ras.band_shoot = 0; - - min = ras.min_ey; - max_y = ras.max_ey; - - for (n = 0; n < num_bands; n++, min = max) { - max = min + ras.band_size; - if (n == num_bands - 1 || max > max_y) max = max_y; - - bands[0].min = min; - bands[0].max = max; - band = bands; - - while (band >= bands) { - TPos bottom, top, middle; - int error; - - { - PCell cells_max; - int yindex; - long cell_start, cell_end, cell_mod; - - ras.ycells = (PCell*)ras.buffer; - ras.ycount = band->max - band->min; - - cell_start = sizeof(PCell) * ras.ycount; - cell_mod = cell_start % sizeof(TCell); - if (cell_mod > 0) cell_start += sizeof(TCell) - cell_mod; - - cell_end = ras.buffer_size; - cell_end -= cell_end % sizeof(TCell); - - cells_max = (PCell)((char*)ras.buffer + cell_end); - ras.cells = (PCell)((char*)ras.buffer + cell_start); - if (ras.cells >= cells_max) goto ReduceBands; - - ras.max_cells = cells_max - ras.cells; - if (ras.max_cells < 2) goto ReduceBands; - - for (yindex = 0; yindex < ras.ycount; yindex++) - ras.ycells[yindex] = NULL; - } - - ras.num_cells = 0; - ras.invalid = 1; - ras.min_ey = band->min; - ras.max_ey = band->max; - ras.count_ey = band->max - band->min; - - error = gray_convert_glyph_inner(RAS_VAR); - - if (!error) { - gray_sweep(RAS_VAR); - band--; - continue; - } else if (error != ErrRaster_Memory_Overflow) - return 1; - - ReduceBands: - /* render pool overflow; we will reduce the render band by half */ - bottom = band->min; - top = band->max; - middle = bottom + ((top - bottom) >> 1); - - /* This is too complex for a single scanline; there must */ - /* be some problems. */ - if (middle == bottom) { - return 1; - } - - if (bottom - top >= ras.band_size) ras.band_shoot++; - - band[1].min = bottom; - band[1].max = middle; - band[0].min = middle; - band[0].max = top; - band++; - } - } - - if (ras.band_shoot > 8 && ras.band_size > 16) - ras.band_size = ras.band_size / 2; - - return 0; -} - -static int gray_raster_render(gray_PRaster raster, - const SW_FT_Raster_Params* params) -{ - SW_FT_UNUSED(raster); - const SW_FT_Outline* outline = (const SW_FT_Outline*)params->source; - - gray_TWorker worker[1]; - - TCell buffer[SW_FT_RENDER_POOL_SIZE / sizeof(TCell)]; - long buffer_size = sizeof(buffer); - int band_size = (int)(buffer_size / (long)(sizeof(TCell) * 8)); - - if (!outline) return SW_FT_THROW(Invalid_Outline); - - /* return immediately if the outline is empty */ - if (outline->n_points == 0 || outline->n_contours <= 0) return 0; - - if (!outline->contours || !outline->points) - return SW_FT_THROW(Invalid_Outline); - - if (outline->n_points != outline->contours[outline->n_contours - 1] + 1) - return SW_FT_THROW(Invalid_Outline); - - /* this version does not support monochrome rendering */ - if (!(params->flags & SW_FT_RASTER_FLAG_AA)) - return SW_FT_THROW(Invalid_Mode); - - if (params->flags & SW_FT_RASTER_FLAG_CLIP) - ras.clip_box = params->clip_box; - else { - ras.clip_box.xMin = -32768L; - ras.clip_box.yMin = -32768L; - ras.clip_box.xMax = 32767L; - ras.clip_box.yMax = 32767L; - } - - gray_init_cells(RAS_VAR_ buffer, buffer_size); - - ras.outline = *outline; - ras.num_cells = 0; - ras.invalid = 1; - ras.band_size = band_size; - ras.num_gray_spans = 0; - - ras.render_span = (SW_FT_Raster_Span_Func)params->gray_spans; - ras.render_span_data = params->user; - - gray_convert_glyph(RAS_VAR); - params->bbox_cb(ras.bound_left, ras.bound_top, - ras.bound_right - ras.bound_left, - ras.bound_bottom - ras.bound_top + 1, params->user); - return 1; -} - -/**** RASTER OBJECT CREATION: In stand-alone mode, we simply use *****/ -/**** a static object. *****/ - -static int gray_raster_new(SW_FT_Raster* araster) -{ - static gray_TRaster the_raster; - - *araster = (SW_FT_Raster)&the_raster; - SW_FT_MEM_ZERO(&the_raster, sizeof(the_raster)); - - return 0; -} - -static void gray_raster_done(SW_FT_Raster raster) -{ - /* nothing */ - SW_FT_UNUSED(raster); -} - -static void gray_raster_reset(SW_FT_Raster raster, char* pool_base, - long pool_size) -{ - SW_FT_UNUSED(raster); - SW_FT_UNUSED(pool_base); - SW_FT_UNUSED(pool_size); -} - -SW_FT_DEFINE_RASTER_FUNCS(sw_ft_grays_raster, - - (SW_FT_Raster_New_Func)gray_raster_new, - (SW_FT_Raster_Reset_Func)gray_raster_reset, - (SW_FT_Raster_Render_Func)gray_raster_render, - (SW_FT_Raster_Done_Func)gray_raster_done) - -/* END */ diff --git a/submodules/RLottie/Sources/rlottie/src/vector/freetype/v_ft_raster.h b/submodules/RLottie/Sources/rlottie/src/vector/freetype/v_ft_raster.h deleted file mode 100644 index bab40efd90..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/freetype/v_ft_raster.h +++ /dev/null @@ -1,613 +0,0 @@ -#ifndef V_FT_IMG_H -#define V_FT_IMG_H -/***************************************************************************/ -/* */ -/* ftimage.h */ -/* */ -/* FreeType glyph image formats and default raster interface */ -/* (specification). */ -/* */ -/* Copyright 1996-2010, 2013 by */ -/* David Turner, Robert Wilhelm, and Werner Lemberg. */ -/* */ -/* This file is part of the FreeType project, and may only be used, */ -/* modified, and distributed under the terms of the FreeType project */ -/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ -/* this file you indicate that you have read the license and */ -/* understand and accept it fully. */ -/* */ -/***************************************************************************/ - - /*************************************************************************/ - /* */ - /* Note: A `raster' is simply a scan-line converter, used to render */ - /* SW_FT_Outlines into SW_FT_Bitmaps. */ - /* */ - /*************************************************************************/ - -#include "v_ft_types.h" - - /*************************************************************************/ - /* */ - /* */ - /* FT_BBox */ - /* */ - /* */ - /* A structure used to hold an outline's bounding box, i.e., the */ - /* coordinates of its extrema in the horizontal and vertical */ - /* directions. */ - /* */ - /* */ - /* xMin :: The horizontal minimum (left-most). */ - /* */ - /* yMin :: The vertical minimum (bottom-most). */ - /* */ - /* xMax :: The horizontal maximum (right-most). */ - /* */ - /* yMax :: The vertical maximum (top-most). */ - /* */ - /* */ - /* The bounding box is specified with the coordinates of the lower */ - /* left and the upper right corner. In PostScript, those values are */ - /* often called (llx,lly) and (urx,ury), respectively. */ - /* */ - /* If `yMin' is negative, this value gives the glyph's descender. */ - /* Otherwise, the glyph doesn't descend below the baseline. */ - /* Similarly, if `ymax' is positive, this value gives the glyph's */ - /* ascender. */ - /* */ - /* `xMin' gives the horizontal distance from the glyph's origin to */ - /* the left edge of the glyph's bounding box. If `xMin' is negative, */ - /* the glyph extends to the left of the origin. */ - /* */ - typedef struct SW_FT_BBox_ - { - SW_FT_Pos xMin, yMin; - SW_FT_Pos xMax, yMax; - - } SW_FT_BBox; - -/*************************************************************************/ -/* */ -/* */ -/* SW_FT_Outline */ -/* */ -/* */ -/* This structure is used to describe an outline to the scan-line */ -/* converter. */ -/* */ -/* */ -/* n_contours :: The number of contours in the outline. */ -/* */ -/* n_points :: The number of points in the outline. */ -/* */ -/* points :: A pointer to an array of `n_points' @SW_FT_Vector */ -/* elements, giving the outline's point coordinates. */ -/* */ -/* tags :: A pointer to an array of `n_points' chars, giving */ -/* each outline point's type. */ -/* */ -/* If bit~0 is unset, the point is `off' the curve, */ -/* i.e., a Bézier control point, while it is `on' if */ -/* set. */ -/* */ -/* Bit~1 is meaningful for `off' points only. If set, */ -/* it indicates a third-order Bézier arc control point; */ -/* and a second-order control point if unset. */ -/* */ -/* If bit~2 is set, bits 5-7 contain the drop-out mode */ -/* (as defined in the OpenType specification; the value */ -/* is the same as the argument to the SCANMODE */ -/* instruction). */ -/* */ -/* Bits 3 and~4 are reserved for internal purposes. */ -/* */ -/* contours :: An array of `n_contours' shorts, giving the end */ -/* point of each contour within the outline. For */ -/* example, the first contour is defined by the points */ -/* `0' to `contours[0]', the second one is defined by */ -/* the points `contours[0]+1' to `contours[1]', etc. */ -/* */ -/* flags :: A set of bit flags used to characterize the outline */ -/* and give hints to the scan-converter and hinter on */ -/* how to convert/grid-fit it. See @SW_FT_OUTLINE_FLAGS.*/ -/* */ -typedef struct SW_FT_Outline_ -{ - short n_contours; /* number of contours in glyph */ - short n_points; /* number of points in the glyph */ - - SW_FT_Vector* points; /* the outline's points */ - char* tags; /* the points flags */ - short* contours; /* the contour end points */ - char* contours_flag; /* the contour open flags */ - - int flags; /* outline masks */ - -} SW_FT_Outline; - - - /*************************************************************************/ - /* */ - /* */ - /* SW_FT_OUTLINE_FLAGS */ - /* */ - /* */ - /* A list of bit-field constants use for the flags in an outline's */ - /* `flags' field. */ - /* */ - /* */ - /* SW_FT_OUTLINE_NONE :: */ - /* Value~0 is reserved. */ - /* */ - /* SW_FT_OUTLINE_OWNER :: */ - /* If set, this flag indicates that the outline's field arrays */ - /* (i.e., `points', `flags', and `contours') are `owned' by the */ - /* outline object, and should thus be freed when it is destroyed. */ - /* */ - /* SW_FT_OUTLINE_EVEN_ODD_FILL :: */ - /* By default, outlines are filled using the non-zero winding rule. */ - /* If set to 1, the outline will be filled using the even-odd fill */ - /* rule (only works with the smooth rasterizer). */ - /* */ - /* SW_FT_OUTLINE_REVERSE_FILL :: */ - /* By default, outside contours of an outline are oriented in */ - /* clock-wise direction, as defined in the TrueType specification. */ - /* This flag is set if the outline uses the opposite direction */ - /* (typically for Type~1 fonts). This flag is ignored by the scan */ - /* converter. */ - /* */ - /* */ - /* */ - /* There exists a second mechanism to pass the drop-out mode to the */ - /* B/W rasterizer; see the `tags' field in @SW_FT_Outline. */ - /* */ - /* Please refer to the description of the `SCANTYPE' instruction in */ - /* the OpenType specification (in file `ttinst1.doc') how simple */ - /* drop-outs, smart drop-outs, and stubs are defined. */ - /* */ -#define SW_FT_OUTLINE_NONE 0x0 -#define SW_FT_OUTLINE_OWNER 0x1 -#define SW_FT_OUTLINE_EVEN_ODD_FILL 0x2 -#define SW_FT_OUTLINE_REVERSE_FILL 0x4 - - /* */ - -#define SW_FT_CURVE_TAG( flag ) ( flag & 3 ) - -#define SW_FT_CURVE_TAG_ON 1 -#define SW_FT_CURVE_TAG_CONIC 0 -#define SW_FT_CURVE_TAG_CUBIC 2 - - -#define SW_FT_Curve_Tag_On SW_FT_CURVE_TAG_ON -#define SW_FT_Curve_Tag_Conic SW_FT_CURVE_TAG_CONIC -#define SW_FT_Curve_Tag_Cubic SW_FT_CURVE_TAG_CUBIC - - /*************************************************************************/ - /* */ - /* A raster is a scan converter, in charge of rendering an outline into */ - /* a a bitmap. This section contains the public API for rasters. */ - /* */ - /* Note that in FreeType 2, all rasters are now encapsulated within */ - /* specific modules called `renderers'. See `ftrender.h' for more */ - /* details on renderers. */ - /* */ - /*************************************************************************/ - - - /*************************************************************************/ - /* */ - /* */ - /* SW_FT_Raster */ - /* */ - /* */ - /* A handle (pointer) to a raster object. Each object can be used */ - /* independently to convert an outline into a bitmap or pixmap. */ - /* */ - typedef struct SW_FT_RasterRec_* SW_FT_Raster; - - - /*************************************************************************/ - /* */ - /* */ - /* SW_FT_Span */ - /* */ - /* */ - /* A structure used to model a single span of gray (or black) pixels */ - /* when rendering a monochrome or anti-aliased bitmap. */ - /* */ - /* */ - /* x :: The span's horizontal start position. */ - /* */ - /* len :: The span's length in pixels. */ - /* */ - /* coverage :: The span color/coverage, ranging from 0 (background) */ - /* to 255 (foreground). Only used for anti-aliased */ - /* rendering. */ - /* */ - /* */ - /* This structure is used by the span drawing callback type named */ - /* @SW_FT_SpanFunc that takes the y~coordinate of the span as a */ - /* parameter. */ - /* */ - /* The coverage value is always between 0 and 255. If you want less */ - /* gray values, the callback function has to reduce them. */ - /* */ - typedef struct SW_FT_Span_ - { - short x; - short y; - unsigned short len; - unsigned char coverage; - - } SW_FT_Span; - - - /*************************************************************************/ - /* */ - /* */ - /* SW_FT_SpanFunc */ - /* */ - /* */ - /* A function used as a call-back by the anti-aliased renderer in */ - /* order to let client applications draw themselves the gray pixel */ - /* spans on each scan line. */ - /* */ - /* */ - /* y :: The scanline's y~coordinate. */ - /* */ - /* count :: The number of spans to draw on this scanline. */ - /* */ - /* spans :: A table of `count' spans to draw on the scanline. */ - /* */ - /* user :: User-supplied data that is passed to the callback. */ - /* */ - /* */ - /* This callback allows client applications to directly render the */ - /* gray spans of the anti-aliased bitmap to any kind of surfaces. */ - /* */ - /* This can be used to write anti-aliased outlines directly to a */ - /* given background bitmap, and even perform translucency. */ - /* */ - /* Note that the `count' field cannot be greater than a fixed value */ - /* defined by the `SW_FT_MAX_GRAY_SPANS' configuration macro in */ - /* `ftoption.h'. By default, this value is set to~32, which means */ - /* that if there are more than 32~spans on a given scanline, the */ - /* callback is called several times with the same `y' parameter in */ - /* order to draw all callbacks. */ - /* */ - /* Otherwise, the callback is only called once per scan-line, and */ - /* only for those scanlines that do have `gray' pixels on them. */ - /* */ - typedef void - (*SW_FT_SpanFunc)( int count, - const SW_FT_Span* spans, - void* user ); - - typedef void - (*SW_FT_BboxFunc)( int x, int y, int w, int h, - void* user); - -#define SW_FT_Raster_Span_Func SW_FT_SpanFunc - - - - /*************************************************************************/ - /* */ - /* */ - /* SW_FT_RASTER_FLAG_XXX */ - /* */ - /* */ - /* A list of bit flag constants as used in the `flags' field of a */ - /* @SW_FT_Raster_Params structure. */ - /* */ - /* */ - /* SW_FT_RASTER_FLAG_DEFAULT :: This value is 0. */ - /* */ - /* SW_FT_RASTER_FLAG_AA :: This flag is set to indicate that an */ - /* anti-aliased glyph image should be */ - /* generated. Otherwise, it will be */ - /* monochrome (1-bit). */ - /* */ - /* SW_FT_RASTER_FLAG_DIRECT :: This flag is set to indicate direct */ - /* rendering. In this mode, client */ - /* applications must provide their own span */ - /* callback. This lets them directly */ - /* draw or compose over an existing bitmap. */ - /* If this bit is not set, the target */ - /* pixmap's buffer _must_ be zeroed before */ - /* rendering. */ - /* */ - /* Note that for now, direct rendering is */ - /* only possible with anti-aliased glyphs. */ - /* */ - /* SW_FT_RASTER_FLAG_CLIP :: This flag is only used in direct */ - /* rendering mode. If set, the output will */ - /* be clipped to a box specified in the */ - /* `clip_box' field of the */ - /* @SW_FT_Raster_Params structure. */ - /* */ - /* Note that by default, the glyph bitmap */ - /* is clipped to the target pixmap, except */ - /* in direct rendering mode where all spans */ - /* are generated if no clipping box is set. */ - /* */ -#define SW_FT_RASTER_FLAG_DEFAULT 0x0 -#define SW_FT_RASTER_FLAG_AA 0x1 -#define SW_FT_RASTER_FLAG_DIRECT 0x2 -#define SW_FT_RASTER_FLAG_CLIP 0x4 - - /* deprecated */ -#define ft_raster_flag_default SW_FT_RASTER_FLAG_DEFAULT -#define ft_raster_flag_aa SW_FT_RASTER_FLAG_AA -#define ft_raster_flag_direct SW_FT_RASTER_FLAG_DIRECT -#define ft_raster_flag_clip SW_FT_RASTER_FLAG_CLIP - - - /*************************************************************************/ - /* */ - /* */ - /* SW_FT_Raster_Params */ - /* */ - /* */ - /* A structure to hold the arguments used by a raster's render */ - /* function. */ - /* */ - /* */ - /* target :: The target bitmap. */ - /* */ - /* source :: A pointer to the source glyph image (e.g., an */ - /* @SW_FT_Outline). */ - /* */ - /* flags :: The rendering flags. */ - /* */ - /* gray_spans :: The gray span drawing callback. */ - /* */ - /* black_spans :: The black span drawing callback. UNIMPLEMENTED! */ - /* */ - /* bit_test :: The bit test callback. UNIMPLEMENTED! */ - /* */ - /* bit_set :: The bit set callback. UNIMPLEMENTED! */ - /* */ - /* user :: User-supplied data that is passed to each drawing */ - /* callback. */ - /* */ - /* clip_box :: An optional clipping box. It is only used in */ - /* direct rendering mode. Note that coordinates here */ - /* should be expressed in _integer_ pixels (and not in */ - /* 26.6 fixed-point units). */ - /* */ - /* */ - /* An anti-aliased glyph bitmap is drawn if the @SW_FT_RASTER_FLAG_AA */ - /* bit flag is set in the `flags' field, otherwise a monochrome */ - /* bitmap is generated. */ - /* */ - /* If the @SW_FT_RASTER_FLAG_DIRECT bit flag is set in `flags', the */ - /* raster will call the `gray_spans' callback to draw gray pixel */ - /* spans, in the case of an aa glyph bitmap, it will call */ - /* `black_spans', and `bit_test' and `bit_set' in the case of a */ - /* monochrome bitmap. This allows direct composition over a */ - /* pre-existing bitmap through user-provided callbacks to perform the */ - /* span drawing/composition. */ - /* */ - /* Note that the `bit_test' and `bit_set' callbacks are required when */ - /* rendering a monochrome bitmap, as they are crucial to implement */ - /* correct drop-out control as defined in the TrueType specification. */ - /* */ - typedef struct SW_FT_Raster_Params_ - { - const void* source; - int flags; - SW_FT_SpanFunc gray_spans; - SW_FT_BboxFunc bbox_cb; - void* user; - SW_FT_BBox clip_box; - - } SW_FT_Raster_Params; - - -/*************************************************************************/ -/* */ -/* */ -/* SW_FT_Outline_Check */ -/* */ -/* */ -/* Check the contents of an outline descriptor. */ -/* */ -/* */ -/* outline :: A handle to a source outline. */ -/* */ -/* */ -/* FreeType error code. 0~means success. */ -/* */ -SW_FT_Error -SW_FT_Outline_Check( SW_FT_Outline* outline ); - - -/*************************************************************************/ -/* */ -/* */ -/* SW_FT_Outline_Get_CBox */ -/* */ -/* */ -/* Return an outline's `control box'. The control box encloses all */ -/* the outline's points, including Bézier control points. Though it */ -/* coincides with the exact bounding box for most glyphs, it can be */ -/* slightly larger in some situations (like when rotating an outline */ -/* that contains Bézier outside arcs). */ -/* */ -/* Computing the control box is very fast, while getting the bounding */ -/* box can take much more time as it needs to walk over all segments */ -/* and arcs in the outline. To get the latter, you can use the */ -/* `ftbbox' component, which is dedicated to this single task. */ -/* */ -/* */ -/* outline :: A pointer to the source outline descriptor. */ -/* */ -/* */ -/* acbox :: The outline's control box. */ -/* */ -/* */ -/* See @SW_FT_Glyph_Get_CBox for a discussion of tricky fonts. */ -/* */ -void -SW_FT_Outline_Get_CBox( const SW_FT_Outline* outline, - SW_FT_BBox *acbox ); - - - /*************************************************************************/ - /* */ - /* */ - /* SW_FT_Raster_NewFunc */ - /* */ - /* */ - /* A function used to create a new raster object. */ - /* */ - /* */ - /* memory :: A handle to the memory allocator. */ - /* */ - /* */ - /* raster :: A handle to the new raster object. */ - /* */ - /* */ - /* Error code. 0~means success. */ - /* */ - /* */ - /* The `memory' parameter is a typeless pointer in order to avoid */ - /* un-wanted dependencies on the rest of the FreeType code. In */ - /* practice, it is an @SW_FT_Memory object, i.e., a handle to the */ - /* standard FreeType memory allocator. However, this field can be */ - /* completely ignored by a given raster implementation. */ - /* */ - typedef int - (*SW_FT_Raster_NewFunc)( SW_FT_Raster* raster ); - -#define SW_FT_Raster_New_Func SW_FT_Raster_NewFunc - - - /*************************************************************************/ - /* */ - /* */ - /* SW_FT_Raster_DoneFunc */ - /* */ - /* */ - /* A function used to destroy a given raster object. */ - /* */ - /* */ - /* raster :: A handle to the raster object. */ - /* */ - typedef void - (*SW_FT_Raster_DoneFunc)( SW_FT_Raster raster ); - -#define SW_FT_Raster_Done_Func SW_FT_Raster_DoneFunc - - - /*************************************************************************/ - /* */ - /* */ - /* SW_FT_Raster_ResetFunc */ - /* */ - /* */ - /* FreeType provides an area of memory called the `render pool', */ - /* available to all registered rasters. This pool can be freely used */ - /* during a given scan-conversion but is shared by all rasters. Its */ - /* content is thus transient. */ - /* */ - /* This function is called each time the render pool changes, or just */ - /* after a new raster object is created. */ - /* */ - /* */ - /* raster :: A handle to the new raster object. */ - /* */ - /* pool_base :: The address in memory of the render pool. */ - /* */ - /* pool_size :: The size in bytes of the render pool. */ - /* */ - /* */ - /* Rasters can ignore the render pool and rely on dynamic memory */ - /* allocation if they want to (a handle to the memory allocator is */ - /* passed to the raster constructor). However, this is not */ - /* recommended for efficiency purposes. */ - /* */ - typedef void - (*SW_FT_Raster_ResetFunc)( SW_FT_Raster raster, - unsigned char* pool_base, - unsigned long pool_size ); - -#define SW_FT_Raster_Reset_Func SW_FT_Raster_ResetFunc - - - /*************************************************************************/ - /* */ - /* */ - /* SW_FT_Raster_RenderFunc */ - /* */ - /* */ - /* Invoke a given raster to scan-convert a given glyph image into a */ - /* target bitmap. */ - /* */ - /* */ - /* raster :: A handle to the raster object. */ - /* */ - /* params :: A pointer to an @SW_FT_Raster_Params structure used to */ - /* store the rendering parameters. */ - /* */ - /* */ - /* Error code. 0~means success. */ - /* */ - /* */ - /* The exact format of the source image depends on the raster's glyph */ - /* format defined in its @SW_FT_Raster_Funcs structure. It can be an */ - /* @SW_FT_Outline or anything else in order to support a large array of */ - /* glyph formats. */ - /* */ - /* Note also that the render function can fail and return a */ - /* `SW_FT_Err_Unimplemented_Feature' error code if the raster used does */ - /* not support direct composition. */ - /* */ - /* XXX: For now, the standard raster doesn't support direct */ - /* composition but this should change for the final release (see */ - /* the files `demos/src/ftgrays.c' and `demos/src/ftgrays2.c' */ - /* for examples of distinct implementations that support direct */ - /* composition). */ - /* */ - typedef int - (*SW_FT_Raster_RenderFunc)( SW_FT_Raster raster, - const SW_FT_Raster_Params* params ); - -#define SW_FT_Raster_Render_Func SW_FT_Raster_RenderFunc - - - /*************************************************************************/ - /* */ - /* */ - /* SW_FT_Raster_Funcs */ - /* */ - /* */ - /* A structure used to describe a given raster class to the library. */ - /* */ - /* */ - /* glyph_format :: The supported glyph format for this raster. */ - /* */ - /* raster_new :: The raster constructor. */ - /* */ - /* raster_reset :: Used to reset the render pool within the raster. */ - /* */ - /* raster_render :: A function to render a glyph into a given bitmap. */ - /* */ - /* raster_done :: The raster destructor. */ - /* */ - typedef struct SW_FT_Raster_Funcs_ - { - SW_FT_Raster_NewFunc raster_new; - SW_FT_Raster_ResetFunc raster_reset; - SW_FT_Raster_RenderFunc raster_render; - SW_FT_Raster_DoneFunc raster_done; - - } SW_FT_Raster_Funcs; - - -extern const SW_FT_Raster_Funcs sw_ft_grays_raster; - -#endif // V_FT_IMG_H diff --git a/submodules/RLottie/Sources/rlottie/src/vector/freetype/v_ft_stroker.cpp b/submodules/RLottie/Sources/rlottie/src/vector/freetype/v_ft_stroker.cpp deleted file mode 100644 index 2a857079b0..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/freetype/v_ft_stroker.cpp +++ /dev/null @@ -1,1917 +0,0 @@ - -/***************************************************************************/ -/* */ -/* ftstroke.c */ -/* */ -/* FreeType path stroker (body). */ -/* */ -/* Copyright 2002-2006, 2008-2011, 2013 by */ -/* David Turner, Robert Wilhelm, and Werner Lemberg. */ -/* */ -/* This file is part of the FreeType project, and may only be used, */ -/* modified, and distributed under the terms of the FreeType project */ -/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ -/* this file you indicate that you have read the license and */ -/* understand and accept it fully. */ -/* */ -/***************************************************************************/ - -#include "v_ft_stroker.h" -#include -#include -#include -#include "v_ft_math.h" - -/*************************************************************************/ -/*************************************************************************/ -/***** *****/ -/***** BEZIER COMPUTATIONS *****/ -/***** *****/ -/*************************************************************************/ -/*************************************************************************/ - -#define SW_FT_SMALL_CONIC_THRESHOLD (SW_FT_ANGLE_PI / 6) -#define SW_FT_SMALL_CUBIC_THRESHOLD (SW_FT_ANGLE_PI / 8) - -#define SW_FT_EPSILON 2 - -#define SW_FT_IS_SMALL(x) ((x) > -SW_FT_EPSILON && (x) < SW_FT_EPSILON) - -static SW_FT_Pos ft_pos_abs(SW_FT_Pos x) -{ - return x >= 0 ? x : -x; -} - -static void ft_conic_split(SW_FT_Vector* base) -{ - SW_FT_Pos a, b; - - base[4].x = base[2].x; - b = base[1].x; - a = base[3].x = (base[2].x + b) / 2; - b = base[1].x = (base[0].x + b) / 2; - base[2].x = (a + b) / 2; - - base[4].y = base[2].y; - b = base[1].y; - a = base[3].y = (base[2].y + b) / 2; - b = base[1].y = (base[0].y + b) / 2; - base[2].y = (a + b) / 2; -} - -static SW_FT_Bool ft_conic_is_small_enough(SW_FT_Vector* base, - SW_FT_Angle* angle_in, - SW_FT_Angle* angle_out) -{ - SW_FT_Vector d1, d2; - SW_FT_Angle theta; - SW_FT_Int close1, close2; - - d1.x = base[1].x - base[2].x; - d1.y = base[1].y - base[2].y; - d2.x = base[0].x - base[1].x; - d2.y = base[0].y - base[1].y; - - close1 = SW_FT_IS_SMALL(d1.x) && SW_FT_IS_SMALL(d1.y); - close2 = SW_FT_IS_SMALL(d2.x) && SW_FT_IS_SMALL(d2.y); - - if (close1) { - if (close2) { - /* basically a point; */ - /* do nothing to retain original direction */ - } else { - *angle_in = *angle_out = SW_FT_Atan2(d2.x, d2.y); - } - } else /* !close1 */ - { - if (close2) { - *angle_in = *angle_out = SW_FT_Atan2(d1.x, d1.y); - } else { - *angle_in = SW_FT_Atan2(d1.x, d1.y); - *angle_out = SW_FT_Atan2(d2.x, d2.y); - } - } - - theta = ft_pos_abs(SW_FT_Angle_Diff(*angle_in, *angle_out)); - - return SW_FT_BOOL(theta < SW_FT_SMALL_CONIC_THRESHOLD); -} - -static void ft_cubic_split(SW_FT_Vector* base) -{ - SW_FT_Pos a, b, c, d; - - base[6].x = base[3].x; - c = base[1].x; - d = base[2].x; - base[1].x = a = (base[0].x + c) / 2; - base[5].x = b = (base[3].x + d) / 2; - c = (c + d) / 2; - base[2].x = a = (a + c) / 2; - base[4].x = b = (b + c) / 2; - base[3].x = (a + b) / 2; - - base[6].y = base[3].y; - c = base[1].y; - d = base[2].y; - base[1].y = a = (base[0].y + c) / 2; - base[5].y = b = (base[3].y + d) / 2; - c = (c + d) / 2; - base[2].y = a = (a + c) / 2; - base[4].y = b = (b + c) / 2; - base[3].y = (a + b) / 2; -} - -/* Return the average of `angle1' and `angle2'. */ -/* This gives correct result even if `angle1' and `angle2' */ -/* have opposite signs. */ -static SW_FT_Angle ft_angle_mean(SW_FT_Angle angle1, SW_FT_Angle angle2) -{ - return angle1 + SW_FT_Angle_Diff(angle1, angle2) / 2; -} - -static SW_FT_Bool ft_cubic_is_small_enough(SW_FT_Vector* base, - SW_FT_Angle* angle_in, - SW_FT_Angle* angle_mid, - SW_FT_Angle* angle_out) -{ - SW_FT_Vector d1, d2, d3; - SW_FT_Angle theta1, theta2; - SW_FT_Int close1, close2, close3; - - d1.x = base[2].x - base[3].x; - d1.y = base[2].y - base[3].y; - d2.x = base[1].x - base[2].x; - d2.y = base[1].y - base[2].y; - d3.x = base[0].x - base[1].x; - d3.y = base[0].y - base[1].y; - - close1 = SW_FT_IS_SMALL(d1.x) && SW_FT_IS_SMALL(d1.y); - close2 = SW_FT_IS_SMALL(d2.x) && SW_FT_IS_SMALL(d2.y); - close3 = SW_FT_IS_SMALL(d3.x) && SW_FT_IS_SMALL(d3.y); - - if (close1) { - if (close2) { - if (close3) { - /* basically a point; */ - /* do nothing to retain original direction */ - } else /* !close3 */ - { - *angle_in = *angle_mid = *angle_out = SW_FT_Atan2(d3.x, d3.y); - } - } else /* !close2 */ - { - if (close3) { - *angle_in = *angle_mid = *angle_out = SW_FT_Atan2(d2.x, d2.y); - } else /* !close3 */ - { - *angle_in = *angle_mid = SW_FT_Atan2(d2.x, d2.y); - *angle_out = SW_FT_Atan2(d3.x, d3.y); - } - } - } else /* !close1 */ - { - if (close2) { - if (close3) { - *angle_in = *angle_mid = *angle_out = SW_FT_Atan2(d1.x, d1.y); - } else /* !close3 */ - { - *angle_in = SW_FT_Atan2(d1.x, d1.y); - *angle_out = SW_FT_Atan2(d3.x, d3.y); - *angle_mid = ft_angle_mean(*angle_in, *angle_out); - } - } else /* !close2 */ - { - if (close3) { - *angle_in = SW_FT_Atan2(d1.x, d1.y); - *angle_mid = *angle_out = SW_FT_Atan2(d2.x, d2.y); - } else /* !close3 */ - { - *angle_in = SW_FT_Atan2(d1.x, d1.y); - *angle_mid = SW_FT_Atan2(d2.x, d2.y); - *angle_out = SW_FT_Atan2(d3.x, d3.y); - } - } - } - - theta1 = ft_pos_abs(SW_FT_Angle_Diff(*angle_in, *angle_mid)); - theta2 = ft_pos_abs(SW_FT_Angle_Diff(*angle_mid, *angle_out)); - - return SW_FT_BOOL(theta1 < SW_FT_SMALL_CUBIC_THRESHOLD && - theta2 < SW_FT_SMALL_CUBIC_THRESHOLD); -} - -/*************************************************************************/ -/*************************************************************************/ -/***** *****/ -/***** STROKE BORDERS *****/ -/***** *****/ -/*************************************************************************/ -/*************************************************************************/ - -typedef enum SW_FT_StrokeTags_ { - SW_FT_STROKE_TAG_ON = 1, /* on-curve point */ - SW_FT_STROKE_TAG_CUBIC = 2, /* cubic off-point */ - SW_FT_STROKE_TAG_BEGIN = 4, /* sub-path start */ - SW_FT_STROKE_TAG_END = 8 /* sub-path end */ - -} SW_FT_StrokeTags; - -#define SW_FT_STROKE_TAG_BEGIN_END \ - (SW_FT_STROKE_TAG_BEGIN | SW_FT_STROKE_TAG_END) - -typedef struct SW_FT_StrokeBorderRec_ { - SW_FT_UInt num_points; - SW_FT_UInt max_points; - SW_FT_Vector* points; - SW_FT_Byte* tags; - SW_FT_Bool movable; /* TRUE for ends of lineto borders */ - SW_FT_Int start; /* index of current sub-path start point */ - SW_FT_Bool valid; - -} SW_FT_StrokeBorderRec, *SW_FT_StrokeBorder; - -SW_FT_Error SW_FT_Outline_Check(SW_FT_Outline* outline) -{ - if (outline) { - SW_FT_Int n_points = outline->n_points; - SW_FT_Int n_contours = outline->n_contours; - SW_FT_Int end0, end; - SW_FT_Int n; - - /* empty glyph? */ - if (n_points == 0 && n_contours == 0) return 0; - - /* check point and contour counts */ - if (n_points <= 0 || n_contours <= 0) goto Bad; - - end0 = end = -1; - for (n = 0; n < n_contours; n++) { - end = outline->contours[n]; - - /* note that we don't accept empty contours */ - if (end <= end0 || end >= n_points) goto Bad; - - end0 = end; - } - - if (end != n_points - 1) goto Bad; - - /* XXX: check the tags array */ - return 0; - } - -Bad: - return -1; // SW_FT_THROW( Invalid_Argument ); -} - -void SW_FT_Outline_Get_CBox(const SW_FT_Outline* outline, SW_FT_BBox* acbox) -{ - SW_FT_Pos xMin, yMin, xMax, yMax; - - if (outline && acbox) { - if (outline->n_points == 0) { - xMin = 0; - yMin = 0; - xMax = 0; - yMax = 0; - } else { - SW_FT_Vector* vec = outline->points; - SW_FT_Vector* limit = vec + outline->n_points; - - xMin = xMax = vec->x; - yMin = yMax = vec->y; - vec++; - - for (; vec < limit; vec++) { - SW_FT_Pos x, y; - - x = vec->x; - if (x < xMin) xMin = x; - if (x > xMax) xMax = x; - - y = vec->y; - if (y < yMin) yMin = y; - if (y > yMax) yMax = y; - } - } - acbox->xMin = xMin; - acbox->xMax = xMax; - acbox->yMin = yMin; - acbox->yMax = yMax; - } -} - -static SW_FT_Error ft_stroke_border_grow(SW_FT_StrokeBorder border, - SW_FT_UInt new_points) -{ - SW_FT_UInt old_max = border->max_points; - SW_FT_UInt new_max = border->num_points + new_points; - SW_FT_Error error = 0; - - if (new_max > old_max) { - SW_FT_UInt cur_max = old_max; - - while (cur_max < new_max) cur_max += (cur_max >> 1) + 16; - - border->points = (SW_FT_Vector*)realloc(border->points, - cur_max * sizeof(SW_FT_Vector)); - border->tags = - (SW_FT_Byte*)realloc(border->tags, cur_max * sizeof(SW_FT_Byte)); - - if (!border->points || !border->tags) goto Exit; - - border->max_points = cur_max; - } - -Exit: - return error; -} - -static void ft_stroke_border_close(SW_FT_StrokeBorder border, - SW_FT_Bool reverse) -{ - SW_FT_UInt start = border->start; - SW_FT_UInt count = border->num_points; - - assert(border->start >= 0); - - /* don't record empty paths! */ - if (count <= start + 1U) - border->num_points = start; - else { - /* copy the last point to the start of this sub-path, since */ - /* it contains the `adjusted' starting coordinates */ - border->num_points = --count; - border->points[start] = border->points[count]; - - if (reverse) { - /* reverse the points */ - { - SW_FT_Vector* vec1 = border->points + start + 1; - SW_FT_Vector* vec2 = border->points + count - 1; - - for (; vec1 < vec2; vec1++, vec2--) { - SW_FT_Vector tmp; - - tmp = *vec1; - *vec1 = *vec2; - *vec2 = tmp; - } - } - - /* then the tags */ - { - SW_FT_Byte* tag1 = border->tags + start + 1; - SW_FT_Byte* tag2 = border->tags + count - 1; - - for (; tag1 < tag2; tag1++, tag2--) { - SW_FT_Byte tmp; - - tmp = *tag1; - *tag1 = *tag2; - *tag2 = tmp; - } - } - } - - border->tags[start] |= SW_FT_STROKE_TAG_BEGIN; - border->tags[count - 1] |= SW_FT_STROKE_TAG_END; - } - - border->start = -1; - border->movable = FALSE; -} - -static SW_FT_Error ft_stroke_border_lineto(SW_FT_StrokeBorder border, - SW_FT_Vector* to, SW_FT_Bool movable) -{ - SW_FT_Error error = 0; - - assert(border->start >= 0); - - if (border->movable) { - /* move last point */ - border->points[border->num_points - 1] = *to; - } else { - /* don't add zero-length lineto */ - if (border->num_points > 0 && - SW_FT_IS_SMALL(border->points[border->num_points - 1].x - to->x) && - SW_FT_IS_SMALL(border->points[border->num_points - 1].y - to->y)) - return error; - - /* add one point */ - error = ft_stroke_border_grow(border, 1); - if (!error) { - SW_FT_Vector* vec = border->points + border->num_points; - SW_FT_Byte* tag = border->tags + border->num_points; - - vec[0] = *to; - tag[0] = SW_FT_STROKE_TAG_ON; - - border->num_points += 1; - } - } - border->movable = movable; - return error; -} - -static SW_FT_Error ft_stroke_border_conicto(SW_FT_StrokeBorder border, - SW_FT_Vector* control, - SW_FT_Vector* to) -{ - SW_FT_Error error; - - assert(border->start >= 0); - - error = ft_stroke_border_grow(border, 2); - if (!error) { - SW_FT_Vector* vec = border->points + border->num_points; - SW_FT_Byte* tag = border->tags + border->num_points; - - vec[0] = *control; - vec[1] = *to; - - tag[0] = 0; - tag[1] = SW_FT_STROKE_TAG_ON; - - border->num_points += 2; - } - - border->movable = FALSE; - - return error; -} - -static SW_FT_Error ft_stroke_border_cubicto(SW_FT_StrokeBorder border, - SW_FT_Vector* control1, - SW_FT_Vector* control2, - SW_FT_Vector* to) -{ - SW_FT_Error error; - - assert(border->start >= 0); - - error = ft_stroke_border_grow(border, 3); - if (!error) { - SW_FT_Vector* vec = border->points + border->num_points; - SW_FT_Byte* tag = border->tags + border->num_points; - - vec[0] = *control1; - vec[1] = *control2; - vec[2] = *to; - - tag[0] = SW_FT_STROKE_TAG_CUBIC; - tag[1] = SW_FT_STROKE_TAG_CUBIC; - tag[2] = SW_FT_STROKE_TAG_ON; - - border->num_points += 3; - } - - border->movable = FALSE; - - return error; -} - -#define SW_FT_ARC_CUBIC_ANGLE (SW_FT_ANGLE_PI / 2) - -static SW_FT_Error ft_stroke_border_arcto(SW_FT_StrokeBorder border, - SW_FT_Vector* center, - SW_FT_Fixed radius, - SW_FT_Angle angle_start, - SW_FT_Angle angle_diff) -{ - SW_FT_Angle total, angle, step, rotate, next, theta; - SW_FT_Vector a, b, a2, b2; - SW_FT_Fixed length; - SW_FT_Error error = 0; - - /* compute start point */ - SW_FT_Vector_From_Polar(&a, radius, angle_start); - a.x += center->x; - a.y += center->y; - - total = angle_diff; - angle = angle_start; - rotate = (angle_diff >= 0) ? SW_FT_ANGLE_PI2 : -SW_FT_ANGLE_PI2; - - while (total != 0) { - step = total; - if (step > SW_FT_ARC_CUBIC_ANGLE) - step = SW_FT_ARC_CUBIC_ANGLE; - - else if (step < -SW_FT_ARC_CUBIC_ANGLE) - step = -SW_FT_ARC_CUBIC_ANGLE; - - next = angle + step; - theta = step; - if (theta < 0) theta = -theta; - - theta >>= 1; - - /* compute end point */ - SW_FT_Vector_From_Polar(&b, radius, next); - b.x += center->x; - b.y += center->y; - - /* compute first and second control points */ - length = SW_FT_MulDiv(radius, SW_FT_Sin(theta) * 4, - (0x10000L + SW_FT_Cos(theta)) * 3); - - SW_FT_Vector_From_Polar(&a2, length, angle + rotate); - a2.x += a.x; - a2.y += a.y; - - SW_FT_Vector_From_Polar(&b2, length, next - rotate); - b2.x += b.x; - b2.y += b.y; - - /* add cubic arc */ - error = ft_stroke_border_cubicto(border, &a2, &b2, &b); - if (error) break; - - /* process the rest of the arc ?? */ - a = b; - total -= step; - angle = next; - } - - return error; -} - -static SW_FT_Error ft_stroke_border_moveto(SW_FT_StrokeBorder border, - SW_FT_Vector* to) -{ - /* close current open path if any ? */ - if (border->start >= 0) ft_stroke_border_close(border, FALSE); - - border->start = border->num_points; - border->movable = FALSE; - - return ft_stroke_border_lineto(border, to, FALSE); -} - -static void ft_stroke_border_init(SW_FT_StrokeBorder border) -{ - border->points = NULL; - border->tags = NULL; - - border->num_points = 0; - border->max_points = 0; - border->start = -1; - border->valid = FALSE; -} - -static void ft_stroke_border_reset(SW_FT_StrokeBorder border) -{ - border->num_points = 0; - border->start = -1; - border->valid = FALSE; -} - -static void ft_stroke_border_done(SW_FT_StrokeBorder border) -{ - free(border->points); - free(border->tags); - - border->num_points = 0; - border->max_points = 0; - border->start = -1; - border->valid = FALSE; -} - -static SW_FT_Error ft_stroke_border_get_counts(SW_FT_StrokeBorder border, - SW_FT_UInt* anum_points, - SW_FT_UInt* anum_contours) -{ - SW_FT_Error error = 0; - SW_FT_UInt num_points = 0; - SW_FT_UInt num_contours = 0; - - SW_FT_UInt count = border->num_points; - SW_FT_Vector* point = border->points; - SW_FT_Byte* tags = border->tags; - SW_FT_Int in_contour = 0; - - for (; count > 0; count--, num_points++, point++, tags++) { - if (tags[0] & SW_FT_STROKE_TAG_BEGIN) { - if (in_contour != 0) goto Fail; - - in_contour = 1; - } else if (in_contour == 0) - goto Fail; - - if (tags[0] & SW_FT_STROKE_TAG_END) { - in_contour = 0; - num_contours++; - } - } - - if (in_contour != 0) goto Fail; - - border->valid = TRUE; - -Exit: - *anum_points = num_points; - *anum_contours = num_contours; - return error; - -Fail: - num_points = 0; - num_contours = 0; - goto Exit; -} - -static void ft_stroke_border_export(SW_FT_StrokeBorder border, - SW_FT_Outline* outline) -{ - /* copy point locations */ - memcpy(outline->points + outline->n_points, border->points, - border->num_points * sizeof(SW_FT_Vector)); - - /* copy tags */ - { - SW_FT_UInt count = border->num_points; - SW_FT_Byte* read = border->tags; - SW_FT_Byte* write = (SW_FT_Byte*)outline->tags + outline->n_points; - - for (; count > 0; count--, read++, write++) { - if (*read & SW_FT_STROKE_TAG_ON) - *write = SW_FT_CURVE_TAG_ON; - else if (*read & SW_FT_STROKE_TAG_CUBIC) - *write = SW_FT_CURVE_TAG_CUBIC; - else - *write = SW_FT_CURVE_TAG_CONIC; - } - } - - /* copy contours */ - { - SW_FT_UInt count = border->num_points; - SW_FT_Byte* tags = border->tags; - SW_FT_Short* write = outline->contours + outline->n_contours; - SW_FT_Short idx = (SW_FT_Short)outline->n_points; - - for (; count > 0; count--, tags++, idx++) { - if (*tags & SW_FT_STROKE_TAG_END) { - *write++ = idx; - outline->n_contours++; - } - } - } - - outline->n_points = (short)(outline->n_points + border->num_points); - - assert(SW_FT_Outline_Check(outline) == 0); -} - -/*************************************************************************/ -/*************************************************************************/ -/***** *****/ -/***** STROKER *****/ -/***** *****/ -/*************************************************************************/ -/*************************************************************************/ - -#define SW_FT_SIDE_TO_ROTATE(s) (SW_FT_ANGLE_PI2 - (s)*SW_FT_ANGLE_PI) - -typedef struct SW_FT_StrokerRec_ { - SW_FT_Angle angle_in; /* direction into curr join */ - SW_FT_Angle angle_out; /* direction out of join */ - SW_FT_Vector center; /* current position */ - SW_FT_Fixed line_length; /* length of last lineto */ - SW_FT_Bool first_point; /* is this the start? */ - SW_FT_Bool subpath_open; /* is the subpath open? */ - SW_FT_Angle subpath_angle; /* subpath start direction */ - SW_FT_Vector subpath_start; /* subpath start position */ - SW_FT_Fixed subpath_line_length; /* subpath start lineto len */ - SW_FT_Bool handle_wide_strokes; /* use wide strokes logic? */ - - SW_FT_Stroker_LineCap line_cap; - SW_FT_Stroker_LineJoin line_join; - SW_FT_Stroker_LineJoin line_join_saved; - SW_FT_Fixed miter_limit; - SW_FT_Fixed radius; - - SW_FT_StrokeBorderRec borders[2]; -} SW_FT_StrokerRec; - -/* documentation is in ftstroke.h */ - -SW_FT_Error SW_FT_Stroker_New(SW_FT_Stroker* astroker) -{ - SW_FT_Error error = 0; /* assigned in SW_FT_NEW */ - SW_FT_Stroker stroker = NULL; - - stroker = (SW_FT_StrokerRec*)calloc(1, sizeof(SW_FT_StrokerRec)); - if (stroker) { - ft_stroke_border_init(&stroker->borders[0]); - ft_stroke_border_init(&stroker->borders[1]); - } - - *astroker = stroker; - - return error; -} - -void SW_FT_Stroker_Rewind(SW_FT_Stroker stroker) -{ - if (stroker) { - ft_stroke_border_reset(&stroker->borders[0]); - ft_stroke_border_reset(&stroker->borders[1]); - } -} - -/* documentation is in ftstroke.h */ - -void SW_FT_Stroker_Set(SW_FT_Stroker stroker, SW_FT_Fixed radius, - SW_FT_Stroker_LineCap line_cap, - SW_FT_Stroker_LineJoin line_join, - SW_FT_Fixed miter_limit) -{ - stroker->radius = radius; - stroker->line_cap = line_cap; - stroker->line_join = line_join; - stroker->miter_limit = miter_limit; - - /* ensure miter limit has sensible value */ - if (stroker->miter_limit < 0x10000) stroker->miter_limit = 0x10000; - - /* save line join style: */ - /* line join style can be temporarily changed when stroking curves */ - stroker->line_join_saved = line_join; - - SW_FT_Stroker_Rewind(stroker); -} - -/* documentation is in ftstroke.h */ - -void SW_FT_Stroker_Done(SW_FT_Stroker stroker) -{ - if (stroker) { - ft_stroke_border_done(&stroker->borders[0]); - ft_stroke_border_done(&stroker->borders[1]); - - free(stroker); - } -} - -/* create a circular arc at a corner or cap */ -static SW_FT_Error ft_stroker_arcto(SW_FT_Stroker stroker, SW_FT_Int side) -{ - SW_FT_Angle total, rotate; - SW_FT_Fixed radius = stroker->radius; - SW_FT_Error error = 0; - SW_FT_StrokeBorder border = stroker->borders + side; - - rotate = SW_FT_SIDE_TO_ROTATE(side); - - total = SW_FT_Angle_Diff(stroker->angle_in, stroker->angle_out); - if (total == SW_FT_ANGLE_PI) total = -rotate * 2; - - error = ft_stroke_border_arcto(border, &stroker->center, radius, - stroker->angle_in + rotate, total); - border->movable = FALSE; - return error; -} - -/* add a cap at the end of an opened path */ -static SW_FT_Error ft_stroker_cap(SW_FT_Stroker stroker, SW_FT_Angle angle, - SW_FT_Int side) -{ - SW_FT_Error error = 0; - - if (stroker->line_cap == SW_FT_STROKER_LINECAP_ROUND) { - /* add a round cap */ - stroker->angle_in = angle; - stroker->angle_out = angle + SW_FT_ANGLE_PI; - - error = ft_stroker_arcto(stroker, side); - } else if (stroker->line_cap == SW_FT_STROKER_LINECAP_SQUARE) { - /* add a square cap */ - SW_FT_Vector delta, delta2; - SW_FT_Angle rotate = SW_FT_SIDE_TO_ROTATE(side); - SW_FT_Fixed radius = stroker->radius; - SW_FT_StrokeBorder border = stroker->borders + side; - - SW_FT_Vector_From_Polar(&delta2, radius, angle + rotate); - SW_FT_Vector_From_Polar(&delta, radius, angle); - - delta.x += stroker->center.x + delta2.x; - delta.y += stroker->center.y + delta2.y; - - error = ft_stroke_border_lineto(border, &delta, FALSE); - if (error) goto Exit; - - SW_FT_Vector_From_Polar(&delta2, radius, angle - rotate); - SW_FT_Vector_From_Polar(&delta, radius, angle); - - delta.x += delta2.x + stroker->center.x; - delta.y += delta2.y + stroker->center.y; - - error = ft_stroke_border_lineto(border, &delta, FALSE); - } else if (stroker->line_cap == SW_FT_STROKER_LINECAP_BUTT) { - /* add a butt ending */ - SW_FT_Vector delta; - SW_FT_Angle rotate = SW_FT_SIDE_TO_ROTATE(side); - SW_FT_Fixed radius = stroker->radius; - SW_FT_StrokeBorder border = stroker->borders + side; - - SW_FT_Vector_From_Polar(&delta, radius, angle + rotate); - - delta.x += stroker->center.x; - delta.y += stroker->center.y; - - error = ft_stroke_border_lineto(border, &delta, FALSE); - if (error) goto Exit; - - SW_FT_Vector_From_Polar(&delta, radius, angle - rotate); - - delta.x += stroker->center.x; - delta.y += stroker->center.y; - - error = ft_stroke_border_lineto(border, &delta, FALSE); - } - -Exit: - return error; -} - -/* process an inside corner, i.e. compute intersection */ -static SW_FT_Error ft_stroker_inside(SW_FT_Stroker stroker, SW_FT_Int side, - SW_FT_Fixed line_length) -{ - SW_FT_StrokeBorder border = stroker->borders + side; - SW_FT_Angle phi, theta, rotate; - SW_FT_Fixed length, thcos; - SW_FT_Vector delta; - SW_FT_Error error = 0; - SW_FT_Bool intersect; /* use intersection of lines? */ - - rotate = SW_FT_SIDE_TO_ROTATE(side); - - theta = SW_FT_Angle_Diff(stroker->angle_in, stroker->angle_out) / 2; - - /* Only intersect borders if between two lineto's and both */ - /* lines are long enough (line_length is zero for curves). */ - if (!border->movable || line_length == 0) - intersect = FALSE; - else { - /* compute minimum required length of lines */ - SW_FT_Fixed min_length = - ft_pos_abs(SW_FT_MulFix(stroker->radius, SW_FT_Tan(theta))); - - intersect = SW_FT_BOOL(stroker->line_length >= min_length && - line_length >= min_length); - } - - if (!intersect) { - SW_FT_Vector_From_Polar(&delta, stroker->radius, - stroker->angle_out + rotate); - delta.x += stroker->center.x; - delta.y += stroker->center.y; - - border->movable = FALSE; - } else { - /* compute median angle */ - phi = stroker->angle_in + theta; - - thcos = SW_FT_Cos(theta); - - length = SW_FT_DivFix(stroker->radius, thcos); - - SW_FT_Vector_From_Polar(&delta, length, phi + rotate); - delta.x += stroker->center.x; - delta.y += stroker->center.y; - } - - error = ft_stroke_border_lineto(border, &delta, FALSE); - - return error; -} - -/* process an outside corner, i.e. compute bevel/miter/round */ -static SW_FT_Error ft_stroker_outside(SW_FT_Stroker stroker, SW_FT_Int side, - SW_FT_Fixed line_length) -{ - SW_FT_StrokeBorder border = stroker->borders + side; - SW_FT_Error error; - SW_FT_Angle rotate; - - if (stroker->line_join == SW_FT_STROKER_LINEJOIN_ROUND) - error = ft_stroker_arcto(stroker, side); - else { - /* this is a mitered (pointed) or beveled (truncated) corner */ - SW_FT_Fixed sigma = 0, radius = stroker->radius; - SW_FT_Angle theta = 0, phi = 0; - SW_FT_Fixed thcos = 0; - SW_FT_Bool bevel, fixed_bevel; - - rotate = SW_FT_SIDE_TO_ROTATE(side); - - bevel = SW_FT_BOOL(stroker->line_join == SW_FT_STROKER_LINEJOIN_BEVEL); - - fixed_bevel = SW_FT_BOOL(stroker->line_join != - SW_FT_STROKER_LINEJOIN_MITER_VARIABLE); - - if (!bevel) { - theta = SW_FT_Angle_Diff(stroker->angle_in, stroker->angle_out); - - if (theta == SW_FT_ANGLE_PI) { - theta = rotate; - phi = stroker->angle_in; - } else { - theta /= 2; - phi = stroker->angle_in + theta + rotate; - } - - thcos = SW_FT_Cos(theta); - sigma = SW_FT_MulFix(stroker->miter_limit, thcos); - - /* is miter limit exceeded? */ - if (sigma < 0x10000L) { - /* don't create variable bevels for very small deviations; */ - /* SW_FT_Sin(x) = 0 for x <= 57 */ - if (fixed_bevel || ft_pos_abs(theta) > 57) bevel = TRUE; - } - } - - if (bevel) /* this is a bevel (broken angle) */ - { - if (fixed_bevel) { - /* the outer corners are simply joined together */ - SW_FT_Vector delta; - - /* add bevel */ - SW_FT_Vector_From_Polar(&delta, radius, - stroker->angle_out + rotate); - delta.x += stroker->center.x; - delta.y += stroker->center.y; - - border->movable = FALSE; - error = ft_stroke_border_lineto(border, &delta, FALSE); - } else /* variable bevel */ - { - /* the miter is truncated */ - SW_FT_Vector middle, delta; - SW_FT_Fixed length; - - /* compute middle point */ - SW_FT_Vector_From_Polar( - &middle, SW_FT_MulFix(radius, stroker->miter_limit), phi); - middle.x += stroker->center.x; - middle.y += stroker->center.y; - - /* compute first angle point */ - length = SW_FT_MulDiv(radius, 0x10000L - sigma, - ft_pos_abs(SW_FT_Sin(theta))); - - SW_FT_Vector_From_Polar(&delta, length, phi + rotate); - delta.x += middle.x; - delta.y += middle.y; - - error = ft_stroke_border_lineto(border, &delta, FALSE); - if (error) goto Exit; - - /* compute second angle point */ - SW_FT_Vector_From_Polar(&delta, length, phi - rotate); - delta.x += middle.x; - delta.y += middle.y; - - error = ft_stroke_border_lineto(border, &delta, FALSE); - if (error) goto Exit; - - /* finally, add an end point; only needed if not lineto */ - /* (line_length is zero for curves) */ - if (line_length == 0) { - SW_FT_Vector_From_Polar(&delta, radius, - stroker->angle_out + rotate); - - delta.x += stroker->center.x; - delta.y += stroker->center.y; - - error = ft_stroke_border_lineto(border, &delta, FALSE); - } - } - } else /* this is a miter (intersection) */ - { - SW_FT_Fixed length; - SW_FT_Vector delta; - - length = SW_FT_DivFix(stroker->radius, thcos); - - SW_FT_Vector_From_Polar(&delta, length, phi); - delta.x += stroker->center.x; - delta.y += stroker->center.y; - - error = ft_stroke_border_lineto(border, &delta, FALSE); - if (error) goto Exit; - - /* now add an end point; only needed if not lineto */ - /* (line_length is zero for curves) */ - if (line_length == 0) { - SW_FT_Vector_From_Polar(&delta, stroker->radius, - stroker->angle_out + rotate); - delta.x += stroker->center.x; - delta.y += stroker->center.y; - - error = ft_stroke_border_lineto(border, &delta, FALSE); - } - } - } - -Exit: - return error; -} - -static SW_FT_Error ft_stroker_process_corner(SW_FT_Stroker stroker, - SW_FT_Fixed line_length) -{ - SW_FT_Error error = 0; - SW_FT_Angle turn; - SW_FT_Int inside_side; - - turn = SW_FT_Angle_Diff(stroker->angle_in, stroker->angle_out); - - /* no specific corner processing is required if the turn is 0 */ - if (turn == 0) goto Exit; - - /* when we turn to the right, the inside side is 0 */ - inside_side = 0; - - /* otherwise, the inside side is 1 */ - if (turn < 0) inside_side = 1; - - /* process the inside side */ - error = ft_stroker_inside(stroker, inside_side, line_length); - if (error) goto Exit; - - /* process the outside side */ - error = ft_stroker_outside(stroker, 1 - inside_side, line_length); - -Exit: - return error; -} - -/* add two points to the left and right borders corresponding to the */ -/* start of the subpath */ -static SW_FT_Error ft_stroker_subpath_start(SW_FT_Stroker stroker, - SW_FT_Angle start_angle, - SW_FT_Fixed line_length) -{ - SW_FT_Vector delta; - SW_FT_Vector point; - SW_FT_Error error; - SW_FT_StrokeBorder border; - - SW_FT_Vector_From_Polar(&delta, stroker->radius, - start_angle + SW_FT_ANGLE_PI2); - - point.x = stroker->center.x + delta.x; - point.y = stroker->center.y + delta.y; - - border = stroker->borders; - error = ft_stroke_border_moveto(border, &point); - if (error) goto Exit; - - point.x = stroker->center.x - delta.x; - point.y = stroker->center.y - delta.y; - - border++; - error = ft_stroke_border_moveto(border, &point); - - /* save angle, position, and line length for last join */ - /* (line_length is zero for curves) */ - stroker->subpath_angle = start_angle; - stroker->first_point = FALSE; - stroker->subpath_line_length = line_length; - -Exit: - return error; -} - -/* documentation is in ftstroke.h */ - -SW_FT_Error SW_FT_Stroker_LineTo(SW_FT_Stroker stroker, SW_FT_Vector* to) -{ - SW_FT_Error error = 0; - SW_FT_StrokeBorder border; - SW_FT_Vector delta; - SW_FT_Angle angle; - SW_FT_Int side; - SW_FT_Fixed line_length; - - delta.x = to->x - stroker->center.x; - delta.y = to->y - stroker->center.y; - - /* a zero-length lineto is a no-op; avoid creating a spurious corner */ - if (delta.x == 0 && delta.y == 0) goto Exit; - - /* compute length of line */ - line_length = SW_FT_Vector_Length(&delta); - - angle = SW_FT_Atan2(delta.x, delta.y); - SW_FT_Vector_From_Polar(&delta, stroker->radius, angle + SW_FT_ANGLE_PI2); - - /* process corner if necessary */ - if (stroker->first_point) { - /* This is the first segment of a subpath. We need to */ - /* add a point to each border at their respective starting */ - /* point locations. */ - error = ft_stroker_subpath_start(stroker, angle, line_length); - if (error) goto Exit; - } else { - /* process the current corner */ - stroker->angle_out = angle; - error = ft_stroker_process_corner(stroker, line_length); - if (error) goto Exit; - } - - /* now add a line segment to both the `inside' and `outside' paths */ - for (border = stroker->borders, side = 1; side >= 0; side--, border++) { - SW_FT_Vector point; - - point.x = to->x + delta.x; - point.y = to->y + delta.y; - - /* the ends of lineto borders are movable */ - error = ft_stroke_border_lineto(border, &point, TRUE); - if (error) goto Exit; - - delta.x = -delta.x; - delta.y = -delta.y; - } - - stroker->angle_in = angle; - stroker->center = *to; - stroker->line_length = line_length; - -Exit: - return error; -} - -/* documentation is in ftstroke.h */ - -SW_FT_Error SW_FT_Stroker_ConicTo(SW_FT_Stroker stroker, SW_FT_Vector* control, - SW_FT_Vector* to) -{ - SW_FT_Error error = 0; - SW_FT_Vector bez_stack[34]; - SW_FT_Vector* arc; - SW_FT_Vector* limit = bez_stack + 30; - SW_FT_Bool first_arc = TRUE; - - /* if all control points are coincident, this is a no-op; */ - /* avoid creating a spurious corner */ - if (SW_FT_IS_SMALL(stroker->center.x - control->x) && - SW_FT_IS_SMALL(stroker->center.y - control->y) && - SW_FT_IS_SMALL(control->x - to->x) && - SW_FT_IS_SMALL(control->y - to->y)) { - stroker->center = *to; - goto Exit; - } - - arc = bez_stack; - arc[0] = *to; - arc[1] = *control; - arc[2] = stroker->center; - - while (arc >= bez_stack) { - SW_FT_Angle angle_in, angle_out; - - /* initialize with current direction */ - angle_in = angle_out = stroker->angle_in; - - if (arc < limit && - !ft_conic_is_small_enough(arc, &angle_in, &angle_out)) { - if (stroker->first_point) stroker->angle_in = angle_in; - - ft_conic_split(arc); - arc += 2; - continue; - } - - if (first_arc) { - first_arc = FALSE; - - /* process corner if necessary */ - if (stroker->first_point) - error = ft_stroker_subpath_start(stroker, angle_in, 0); - else { - stroker->angle_out = angle_in; - error = ft_stroker_process_corner(stroker, 0); - } - } else if (ft_pos_abs(SW_FT_Angle_Diff(stroker->angle_in, angle_in)) > - SW_FT_SMALL_CONIC_THRESHOLD / 4) { - /* if the deviation from one arc to the next is too great, */ - /* add a round corner */ - stroker->center = arc[2]; - stroker->angle_out = angle_in; - stroker->line_join = SW_FT_STROKER_LINEJOIN_ROUND; - - error = ft_stroker_process_corner(stroker, 0); - - /* reinstate line join style */ - stroker->line_join = stroker->line_join_saved; - } - - if (error) goto Exit; - - /* the arc's angle is small enough; we can add it directly to each */ - /* border */ - { - SW_FT_Vector ctrl, end; - SW_FT_Angle theta, phi, rotate, alpha0 = 0; - SW_FT_Fixed length; - SW_FT_StrokeBorder border; - SW_FT_Int side; - - theta = SW_FT_Angle_Diff(angle_in, angle_out) / 2; - phi = angle_in + theta; - length = SW_FT_DivFix(stroker->radius, SW_FT_Cos(theta)); - - /* compute direction of original arc */ - if (stroker->handle_wide_strokes) - alpha0 = SW_FT_Atan2(arc[0].x - arc[2].x, arc[0].y - arc[2].y); - - for (border = stroker->borders, side = 0; side <= 1; - side++, border++) { - rotate = SW_FT_SIDE_TO_ROTATE(side); - - /* compute control point */ - SW_FT_Vector_From_Polar(&ctrl, length, phi + rotate); - ctrl.x += arc[1].x; - ctrl.y += arc[1].y; - - /* compute end point */ - SW_FT_Vector_From_Polar(&end, stroker->radius, - angle_out + rotate); - end.x += arc[0].x; - end.y += arc[0].y; - - if (stroker->handle_wide_strokes) { - SW_FT_Vector start; - SW_FT_Angle alpha1; - - /* determine whether the border radius is greater than the - */ - /* radius of curvature of the original arc */ - start = border->points[border->num_points - 1]; - - alpha1 = SW_FT_Atan2(end.x - start.x, end.y - start.y); - - /* is the direction of the border arc opposite to */ - /* that of the original arc? */ - if (ft_pos_abs(SW_FT_Angle_Diff(alpha0, alpha1)) > - SW_FT_ANGLE_PI / 2) { - SW_FT_Angle beta, gamma; - SW_FT_Vector bvec, delta; - SW_FT_Fixed blen, sinA, sinB, alen; - - /* use the sine rule to find the intersection point */ - beta = - SW_FT_Atan2(arc[2].x - start.x, arc[2].y - start.y); - gamma = SW_FT_Atan2(arc[0].x - end.x, arc[0].y - end.y); - - bvec.x = end.x - start.x; - bvec.y = end.y - start.y; - - blen = SW_FT_Vector_Length(&bvec); - - sinA = ft_pos_abs(SW_FT_Sin(alpha1 - gamma)); - sinB = ft_pos_abs(SW_FT_Sin(beta - gamma)); - - alen = SW_FT_MulDiv(blen, sinA, sinB); - - SW_FT_Vector_From_Polar(&delta, alen, beta); - delta.x += start.x; - delta.y += start.y; - - /* circumnavigate the negative sector backwards */ - border->movable = FALSE; - error = ft_stroke_border_lineto(border, &delta, FALSE); - if (error) goto Exit; - error = ft_stroke_border_lineto(border, &end, FALSE); - if (error) goto Exit; - error = ft_stroke_border_conicto(border, &ctrl, &start); - if (error) goto Exit; - /* and then move to the endpoint */ - error = ft_stroke_border_lineto(border, &end, FALSE); - if (error) goto Exit; - - continue; - } - - /* else fall through */ - } - - /* simply add an arc */ - error = ft_stroke_border_conicto(border, &ctrl, &end); - if (error) goto Exit; - } - } - - arc -= 2; - - stroker->angle_in = angle_out; - } - - stroker->center = *to; - -Exit: - return error; -} - -/* documentation is in ftstroke.h */ - -SW_FT_Error SW_FT_Stroker_CubicTo(SW_FT_Stroker stroker, SW_FT_Vector* control1, - SW_FT_Vector* control2, SW_FT_Vector* to) -{ - SW_FT_Error error = 0; - SW_FT_Vector bez_stack[37]; - SW_FT_Vector* arc; - SW_FT_Vector* limit = bez_stack + 32; - SW_FT_Bool first_arc = TRUE; - - /* if all control points are coincident, this is a no-op; */ - /* avoid creating a spurious corner */ - if (SW_FT_IS_SMALL(stroker->center.x - control1->x) && - SW_FT_IS_SMALL(stroker->center.y - control1->y) && - SW_FT_IS_SMALL(control1->x - control2->x) && - SW_FT_IS_SMALL(control1->y - control2->y) && - SW_FT_IS_SMALL(control2->x - to->x) && - SW_FT_IS_SMALL(control2->y - to->y)) { - stroker->center = *to; - goto Exit; - } - - arc = bez_stack; - arc[0] = *to; - arc[1] = *control2; - arc[2] = *control1; - arc[3] = stroker->center; - - while (arc >= bez_stack) { - SW_FT_Angle angle_in, angle_mid, angle_out; - - /* initialize with current direction */ - angle_in = angle_out = angle_mid = stroker->angle_in; - - if (arc < limit && - !ft_cubic_is_small_enough(arc, &angle_in, &angle_mid, &angle_out)) { - if (stroker->first_point) stroker->angle_in = angle_in; - - ft_cubic_split(arc); - arc += 3; - continue; - } - - if (first_arc) { - first_arc = FALSE; - - /* process corner if necessary */ - if (stroker->first_point) - error = ft_stroker_subpath_start(stroker, angle_in, 0); - else { - stroker->angle_out = angle_in; - error = ft_stroker_process_corner(stroker, 0); - } - } else if (ft_pos_abs(SW_FT_Angle_Diff(stroker->angle_in, angle_in)) > - SW_FT_SMALL_CUBIC_THRESHOLD / 4) { - /* if the deviation from one arc to the next is too great, */ - /* add a round corner */ - stroker->center = arc[3]; - stroker->angle_out = angle_in; - stroker->line_join = SW_FT_STROKER_LINEJOIN_ROUND; - - error = ft_stroker_process_corner(stroker, 0); - - /* reinstate line join style */ - stroker->line_join = stroker->line_join_saved; - } - - if (error) goto Exit; - - /* the arc's angle is small enough; we can add it directly to each */ - /* border */ - { - SW_FT_Vector ctrl1, ctrl2, end; - SW_FT_Angle theta1, phi1, theta2, phi2, rotate, alpha0 = 0; - SW_FT_Fixed length1, length2; - SW_FT_StrokeBorder border; - SW_FT_Int side; - - theta1 = SW_FT_Angle_Diff(angle_in, angle_mid) / 2; - theta2 = SW_FT_Angle_Diff(angle_mid, angle_out) / 2; - phi1 = ft_angle_mean(angle_in, angle_mid); - phi2 = ft_angle_mean(angle_mid, angle_out); - length1 = SW_FT_DivFix(stroker->radius, SW_FT_Cos(theta1)); - length2 = SW_FT_DivFix(stroker->radius, SW_FT_Cos(theta2)); - - /* compute direction of original arc */ - if (stroker->handle_wide_strokes) - alpha0 = SW_FT_Atan2(arc[0].x - arc[3].x, arc[0].y - arc[3].y); - - for (border = stroker->borders, side = 0; side <= 1; - side++, border++) { - rotate = SW_FT_SIDE_TO_ROTATE(side); - - /* compute control points */ - SW_FT_Vector_From_Polar(&ctrl1, length1, phi1 + rotate); - ctrl1.x += arc[2].x; - ctrl1.y += arc[2].y; - - SW_FT_Vector_From_Polar(&ctrl2, length2, phi2 + rotate); - ctrl2.x += arc[1].x; - ctrl2.y += arc[1].y; - - /* compute end point */ - SW_FT_Vector_From_Polar(&end, stroker->radius, - angle_out + rotate); - end.x += arc[0].x; - end.y += arc[0].y; - - if (stroker->handle_wide_strokes) { - SW_FT_Vector start; - SW_FT_Angle alpha1; - - /* determine whether the border radius is greater than the - */ - /* radius of curvature of the original arc */ - start = border->points[border->num_points - 1]; - - alpha1 = SW_FT_Atan2(end.x - start.x, end.y - start.y); - - /* is the direction of the border arc opposite to */ - /* that of the original arc? */ - if (ft_pos_abs(SW_FT_Angle_Diff(alpha0, alpha1)) > - SW_FT_ANGLE_PI / 2) { - SW_FT_Angle beta, gamma; - SW_FT_Vector bvec, delta; - SW_FT_Fixed blen, sinA, sinB, alen; - - /* use the sine rule to find the intersection point */ - beta = - SW_FT_Atan2(arc[3].x - start.x, arc[3].y - start.y); - gamma = SW_FT_Atan2(arc[0].x - end.x, arc[0].y - end.y); - - bvec.x = end.x - start.x; - bvec.y = end.y - start.y; - - blen = SW_FT_Vector_Length(&bvec); - - sinA = ft_pos_abs(SW_FT_Sin(alpha1 - gamma)); - sinB = ft_pos_abs(SW_FT_Sin(beta - gamma)); - - alen = SW_FT_MulDiv(blen, sinA, sinB); - - SW_FT_Vector_From_Polar(&delta, alen, beta); - delta.x += start.x; - delta.y += start.y; - - /* circumnavigate the negative sector backwards */ - border->movable = FALSE; - error = ft_stroke_border_lineto(border, &delta, FALSE); - if (error) goto Exit; - error = ft_stroke_border_lineto(border, &end, FALSE); - if (error) goto Exit; - error = ft_stroke_border_cubicto(border, &ctrl2, &ctrl1, - &start); - if (error) goto Exit; - /* and then move to the endpoint */ - error = ft_stroke_border_lineto(border, &end, FALSE); - if (error) goto Exit; - - continue; - } - - /* else fall through */ - } - - /* simply add an arc */ - error = ft_stroke_border_cubicto(border, &ctrl1, &ctrl2, &end); - if (error) goto Exit; - } - } - - arc -= 3; - - stroker->angle_in = angle_out; - } - - stroker->center = *to; - -Exit: - return error; -} - -/* documentation is in ftstroke.h */ - -SW_FT_Error SW_FT_Stroker_BeginSubPath(SW_FT_Stroker stroker, SW_FT_Vector* to, - SW_FT_Bool open) -{ - /* We cannot process the first point, because there is not enough */ - /* information regarding its corner/cap. The latter will be processed */ - /* in the `SW_FT_Stroker_EndSubPath' routine. */ - /* */ - stroker->first_point = TRUE; - stroker->center = *to; - stroker->subpath_open = open; - - /* Determine if we need to check whether the border radius is greater */ - /* than the radius of curvature of a curve, to handle this case */ - /* specially. This is only required if bevel joins or butt caps may */ - /* be created, because round & miter joins and round & square caps */ - /* cover the negative sector created with wide strokes. */ - stroker->handle_wide_strokes = - SW_FT_BOOL(stroker->line_join != SW_FT_STROKER_LINEJOIN_ROUND || - (stroker->subpath_open && - stroker->line_cap == SW_FT_STROKER_LINECAP_BUTT)); - - /* record the subpath start point for each border */ - stroker->subpath_start = *to; - - stroker->angle_in = 0; - - return 0; -} - -static SW_FT_Error ft_stroker_add_reverse_left(SW_FT_Stroker stroker, - SW_FT_Bool open) -{ - SW_FT_StrokeBorder right = stroker->borders + 0; - SW_FT_StrokeBorder left = stroker->borders + 1; - SW_FT_Int new_points; - SW_FT_Error error = 0; - - assert(left->start >= 0); - - new_points = left->num_points - left->start; - if (new_points > 0) { - error = ft_stroke_border_grow(right, (SW_FT_UInt)new_points); - if (error) goto Exit; - - { - SW_FT_Vector* dst_point = right->points + right->num_points; - SW_FT_Byte* dst_tag = right->tags + right->num_points; - SW_FT_Vector* src_point = left->points + left->num_points - 1; - SW_FT_Byte* src_tag = left->tags + left->num_points - 1; - - while (src_point >= left->points + left->start) { - *dst_point = *src_point; - *dst_tag = *src_tag; - - if (open) - dst_tag[0] &= ~SW_FT_STROKE_TAG_BEGIN_END; - else { - SW_FT_Byte ttag = - (SW_FT_Byte)(dst_tag[0] & SW_FT_STROKE_TAG_BEGIN_END); - - /* switch begin/end tags if necessary */ - if (ttag == SW_FT_STROKE_TAG_BEGIN || - ttag == SW_FT_STROKE_TAG_END) - dst_tag[0] ^= SW_FT_STROKE_TAG_BEGIN_END; - } - - src_point--; - src_tag--; - dst_point++; - dst_tag++; - } - } - - left->num_points = left->start; - right->num_points += new_points; - - right->movable = FALSE; - left->movable = FALSE; - } - -Exit: - return error; -} - -/* documentation is in ftstroke.h */ - -/* there's a lot of magic in this function! */ -SW_FT_Error SW_FT_Stroker_EndSubPath(SW_FT_Stroker stroker) -{ - SW_FT_Error error = 0; - - if (stroker->subpath_open) { - SW_FT_StrokeBorder right = stroker->borders; - - /* All right, this is an opened path, we need to add a cap between */ - /* right & left, add the reverse of left, then add a final cap */ - /* between left & right. */ - error = ft_stroker_cap(stroker, stroker->angle_in, 0); - if (error) goto Exit; - - /* add reversed points from `left' to `right' */ - error = ft_stroker_add_reverse_left(stroker, TRUE); - if (error) goto Exit; - - /* now add the final cap */ - stroker->center = stroker->subpath_start; - error = - ft_stroker_cap(stroker, stroker->subpath_angle + SW_FT_ANGLE_PI, 0); - if (error) goto Exit; - - /* Now end the right subpath accordingly. The left one is */ - /* rewind and doesn't need further processing. */ - ft_stroke_border_close(right, FALSE); - } else { - SW_FT_Angle turn; - SW_FT_Int inside_side; - - /* close the path if needed */ - if (stroker->center.x != stroker->subpath_start.x || - stroker->center.y != stroker->subpath_start.y) { - error = SW_FT_Stroker_LineTo(stroker, &stroker->subpath_start); - if (error) goto Exit; - } - - /* process the corner */ - stroker->angle_out = stroker->subpath_angle; - turn = SW_FT_Angle_Diff(stroker->angle_in, stroker->angle_out); - - /* no specific corner processing is required if the turn is 0 */ - if (turn != 0) { - /* when we turn to the right, the inside side is 0 */ - inside_side = 0; - - /* otherwise, the inside side is 1 */ - if (turn < 0) inside_side = 1; - - error = ft_stroker_inside(stroker, inside_side, - stroker->subpath_line_length); - if (error) goto Exit; - - /* process the outside side */ - error = ft_stroker_outside(stroker, 1 - inside_side, - stroker->subpath_line_length); - if (error) goto Exit; - } - - /* then end our two subpaths */ - ft_stroke_border_close(stroker->borders + 0, FALSE); - ft_stroke_border_close(stroker->borders + 1, TRUE); - } - -Exit: - return error; -} - -/* documentation is in ftstroke.h */ - -SW_FT_Error SW_FT_Stroker_GetBorderCounts(SW_FT_Stroker stroker, - SW_FT_StrokerBorder border, - SW_FT_UInt* anum_points, - SW_FT_UInt* anum_contours) -{ - SW_FT_UInt num_points = 0, num_contours = 0; - SW_FT_Error error; - - if (!stroker || border > 1) { - error = -1; // SW_FT_THROW( Invalid_Argument ); - goto Exit; - } - - error = ft_stroke_border_get_counts(stroker->borders + border, &num_points, - &num_contours); -Exit: - if (anum_points) *anum_points = num_points; - - if (anum_contours) *anum_contours = num_contours; - - return error; -} - -/* documentation is in ftstroke.h */ - -SW_FT_Error SW_FT_Stroker_GetCounts(SW_FT_Stroker stroker, - SW_FT_UInt* anum_points, - SW_FT_UInt* anum_contours) -{ - SW_FT_UInt count1, count2, num_points = 0; - SW_FT_UInt count3, count4, num_contours = 0; - SW_FT_Error error; - - error = ft_stroke_border_get_counts(stroker->borders + 0, &count1, &count2); - if (error) goto Exit; - - error = ft_stroke_border_get_counts(stroker->borders + 1, &count3, &count4); - if (error) goto Exit; - - num_points = count1 + count3; - num_contours = count2 + count4; - -Exit: - *anum_points = num_points; - *anum_contours = num_contours; - return error; -} - -/* documentation is in ftstroke.h */ - -void SW_FT_Stroker_ExportBorder(SW_FT_Stroker stroker, - SW_FT_StrokerBorder border, - SW_FT_Outline* outline) -{ - if (border == SW_FT_STROKER_BORDER_LEFT || - border == SW_FT_STROKER_BORDER_RIGHT) { - SW_FT_StrokeBorder sborder = &stroker->borders[border]; - - if (sborder->valid) ft_stroke_border_export(sborder, outline); - } -} - -/* documentation is in ftstroke.h */ - -void SW_FT_Stroker_Export(SW_FT_Stroker stroker, SW_FT_Outline* outline) -{ - SW_FT_Stroker_ExportBorder(stroker, SW_FT_STROKER_BORDER_LEFT, outline); - SW_FT_Stroker_ExportBorder(stroker, SW_FT_STROKER_BORDER_RIGHT, outline); -} - -/* documentation is in ftstroke.h */ - -/* - * The following is very similar to SW_FT_Outline_Decompose, except - * that we do support opened paths, and do not scale the outline. - */ -SW_FT_Error SW_FT_Stroker_ParseOutline(SW_FT_Stroker stroker, - const SW_FT_Outline* outline) -{ - SW_FT_Vector v_last; - SW_FT_Vector v_control; - SW_FT_Vector v_start; - - SW_FT_Vector* point; - SW_FT_Vector* limit; - char* tags; - - SW_FT_Error error; - - SW_FT_Int n; /* index of contour in outline */ - SW_FT_UInt first; /* index of first point in contour */ - SW_FT_Int tag; /* current point's state */ - - if (!outline || !stroker) return -1; // SW_FT_THROW( Invalid_Argument ); - - SW_FT_Stroker_Rewind(stroker); - - first = 0; - - for (n = 0; n < outline->n_contours; n++) { - SW_FT_UInt last; /* index of last point in contour */ - - last = outline->contours[n]; - limit = outline->points + last; - - /* skip empty points; we don't stroke these */ - if (last <= first) { - first = last + 1; - continue; - } - - v_start = outline->points[first]; - v_last = outline->points[last]; - - v_control = v_start; - - point = outline->points + first; - tags = outline->tags + first; - tag = SW_FT_CURVE_TAG(tags[0]); - - /* A contour cannot start with a cubic control point! */ - if (tag == SW_FT_CURVE_TAG_CUBIC) goto Invalid_Outline; - - /* check first point to determine origin */ - if (tag == SW_FT_CURVE_TAG_CONIC) { - /* First point is conic control. Yes, this happens. */ - if (SW_FT_CURVE_TAG(outline->tags[last]) == SW_FT_CURVE_TAG_ON) { - /* start at last point if it is on the curve */ - v_start = v_last; - limit--; - } else { - /* if both first and last points are conic, */ - /* start at their middle */ - v_start.x = (v_start.x + v_last.x) / 2; - v_start.y = (v_start.y + v_last.y) / 2; - } - point--; - tags--; - } - - error = SW_FT_Stroker_BeginSubPath(stroker, &v_start, outline->contours_flag[n]); - if (error) goto Exit; - - while (point < limit) { - point++; - tags++; - - tag = SW_FT_CURVE_TAG(tags[0]); - switch (tag) { - case SW_FT_CURVE_TAG_ON: /* emit a single line_to */ - { - SW_FT_Vector vec; - - vec.x = point->x; - vec.y = point->y; - - error = SW_FT_Stroker_LineTo(stroker, &vec); - if (error) goto Exit; - continue; - } - - case SW_FT_CURVE_TAG_CONIC: /* consume conic arcs */ - v_control.x = point->x; - v_control.y = point->y; - - Do_Conic: - if (point < limit) { - SW_FT_Vector vec; - SW_FT_Vector v_middle; - - point++; - tags++; - tag = SW_FT_CURVE_TAG(tags[0]); - - vec = point[0]; - - if (tag == SW_FT_CURVE_TAG_ON) { - error = - SW_FT_Stroker_ConicTo(stroker, &v_control, &vec); - if (error) goto Exit; - continue; - } - - if (tag != SW_FT_CURVE_TAG_CONIC) goto Invalid_Outline; - - v_middle.x = (v_control.x + vec.x) / 2; - v_middle.y = (v_control.y + vec.y) / 2; - - error = - SW_FT_Stroker_ConicTo(stroker, &v_control, &v_middle); - if (error) goto Exit; - - v_control = vec; - goto Do_Conic; - } - - error = SW_FT_Stroker_ConicTo(stroker, &v_control, &v_start); - goto Close; - - default: /* SW_FT_CURVE_TAG_CUBIC */ - { - SW_FT_Vector vec1, vec2; - - if (point + 1 > limit || - SW_FT_CURVE_TAG(tags[1]) != SW_FT_CURVE_TAG_CUBIC) - goto Invalid_Outline; - - point += 2; - tags += 2; - - vec1 = point[-2]; - vec2 = point[-1]; - - if (point <= limit) { - SW_FT_Vector vec; - - vec = point[0]; - - error = SW_FT_Stroker_CubicTo(stroker, &vec1, &vec2, &vec); - if (error) goto Exit; - continue; - } - - error = SW_FT_Stroker_CubicTo(stroker, &vec1, &vec2, &v_start); - goto Close; - } - } - } - - Close: - if (error) goto Exit; - - /* don't try to end the path if no segments have been generated */ - if (!stroker->first_point) { - error = SW_FT_Stroker_EndSubPath(stroker); - if (error) goto Exit; - } - - first = last + 1; - } - - return 0; - -Exit: - return error; - -Invalid_Outline: - return -2; // SW_FT_THROW( Invalid_Outline ); -} - -/* END */ diff --git a/submodules/RLottie/Sources/rlottie/src/vector/freetype/v_ft_stroker.h b/submodules/RLottie/Sources/rlottie/src/vector/freetype/v_ft_stroker.h deleted file mode 100644 index 1514cf3d0a..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/freetype/v_ft_stroker.h +++ /dev/null @@ -1,319 +0,0 @@ -#ifndef V_FT_STROKER_H -#define V_FT_STROKER_H -/***************************************************************************/ -/* */ -/* ftstroke.h */ -/* */ -/* FreeType path stroker (specification). */ -/* */ -/* Copyright 2002-2006, 2008, 2009, 2011-2012 by */ -/* David Turner, Robert Wilhelm, and Werner Lemberg. */ -/* */ -/* This file is part of the FreeType project, and may only be used, */ -/* modified, and distributed under the terms of the FreeType project */ -/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ -/* this file you indicate that you have read the license and */ -/* understand and accept it fully. */ -/* */ -/***************************************************************************/ - -#include "v_ft_raster.h" - - /************************************************************** - * - * @type: - * SW_FT_Stroker - * - * @description: - * Opaque handler to a path stroker object. - */ - typedef struct SW_FT_StrokerRec_* SW_FT_Stroker; - - - /************************************************************** - * - * @enum: - * SW_FT_Stroker_LineJoin - * - * @description: - * These values determine how two joining lines are rendered - * in a stroker. - * - * @values: - * SW_FT_STROKER_LINEJOIN_ROUND :: - * Used to render rounded line joins. Circular arcs are used - * to join two lines smoothly. - * - * SW_FT_STROKER_LINEJOIN_BEVEL :: - * Used to render beveled line joins. The outer corner of - * the joined lines is filled by enclosing the triangular - * region of the corner with a straight line between the - * outer corners of each stroke. - * - * SW_FT_STROKER_LINEJOIN_MITER_FIXED :: - * Used to render mitered line joins, with fixed bevels if the - * miter limit is exceeded. The outer edges of the strokes - * for the two segments are extended until they meet at an - * angle. If the segments meet at too sharp an angle (such - * that the miter would extend from the intersection of the - * segments a distance greater than the product of the miter - * limit value and the border radius), then a bevel join (see - * above) is used instead. This prevents long spikes being - * created. SW_FT_STROKER_LINEJOIN_MITER_FIXED generates a miter - * line join as used in PostScript and PDF. - * - * SW_FT_STROKER_LINEJOIN_MITER_VARIABLE :: - * SW_FT_STROKER_LINEJOIN_MITER :: - * Used to render mitered line joins, with variable bevels if - * the miter limit is exceeded. The intersection of the - * strokes is clipped at a line perpendicular to the bisector - * of the angle between the strokes, at the distance from the - * intersection of the segments equal to the product of the - * miter limit value and the border radius. This prevents - * long spikes being created. - * SW_FT_STROKER_LINEJOIN_MITER_VARIABLE generates a mitered line - * join as used in XPS. SW_FT_STROKER_LINEJOIN_MITER is an alias - * for SW_FT_STROKER_LINEJOIN_MITER_VARIABLE, retained for - * backwards compatibility. - */ - typedef enum SW_FT_Stroker_LineJoin_ - { - SW_FT_STROKER_LINEJOIN_ROUND = 0, - SW_FT_STROKER_LINEJOIN_BEVEL = 1, - SW_FT_STROKER_LINEJOIN_MITER_VARIABLE = 2, - SW_FT_STROKER_LINEJOIN_MITER = SW_FT_STROKER_LINEJOIN_MITER_VARIABLE, - SW_FT_STROKER_LINEJOIN_MITER_FIXED = 3 - - } SW_FT_Stroker_LineJoin; - - - /************************************************************** - * - * @enum: - * SW_FT_Stroker_LineCap - * - * @description: - * These values determine how the end of opened sub-paths are - * rendered in a stroke. - * - * @values: - * SW_FT_STROKER_LINECAP_BUTT :: - * The end of lines is rendered as a full stop on the last - * point itself. - * - * SW_FT_STROKER_LINECAP_ROUND :: - * The end of lines is rendered as a half-circle around the - * last point. - * - * SW_FT_STROKER_LINECAP_SQUARE :: - * The end of lines is rendered as a square around the - * last point. - */ - typedef enum SW_FT_Stroker_LineCap_ - { - SW_FT_STROKER_LINECAP_BUTT = 0, - SW_FT_STROKER_LINECAP_ROUND, - SW_FT_STROKER_LINECAP_SQUARE - - } SW_FT_Stroker_LineCap; - - - /************************************************************** - * - * @enum: - * SW_FT_StrokerBorder - * - * @description: - * These values are used to select a given stroke border - * in @SW_FT_Stroker_GetBorderCounts and @SW_FT_Stroker_ExportBorder. - * - * @values: - * SW_FT_STROKER_BORDER_LEFT :: - * Select the left border, relative to the drawing direction. - * - * SW_FT_STROKER_BORDER_RIGHT :: - * Select the right border, relative to the drawing direction. - * - * @note: - * Applications are generally interested in the `inside' and `outside' - * borders. However, there is no direct mapping between these and the - * `left' and `right' ones, since this really depends on the glyph's - * drawing orientation, which varies between font formats. - * - * You can however use @SW_FT_Outline_GetInsideBorder and - * @SW_FT_Outline_GetOutsideBorder to get these. - */ - typedef enum SW_FT_StrokerBorder_ - { - SW_FT_STROKER_BORDER_LEFT = 0, - SW_FT_STROKER_BORDER_RIGHT - - } SW_FT_StrokerBorder; - - - /************************************************************** - * - * @function: - * SW_FT_Stroker_New - * - * @description: - * Create a new stroker object. - * - * @input: - * library :: - * FreeType library handle. - * - * @output: - * astroker :: - * A new stroker object handle. NULL in case of error. - * - * @return: - * FreeType error code. 0~means success. - */ - SW_FT_Error - SW_FT_Stroker_New( SW_FT_Stroker *astroker ); - - - /************************************************************** - * - * @function: - * SW_FT_Stroker_Set - * - * @description: - * Reset a stroker object's attributes. - * - * @input: - * stroker :: - * The target stroker handle. - * - * radius :: - * The border radius. - * - * line_cap :: - * The line cap style. - * - * line_join :: - * The line join style. - * - * miter_limit :: - * The miter limit for the SW_FT_STROKER_LINEJOIN_MITER_FIXED and - * SW_FT_STROKER_LINEJOIN_MITER_VARIABLE line join styles, - * expressed as 16.16 fixed-point value. - * - * @note: - * The radius is expressed in the same units as the outline - * coordinates. - */ - void - SW_FT_Stroker_Set( SW_FT_Stroker stroker, - SW_FT_Fixed radius, - SW_FT_Stroker_LineCap line_cap, - SW_FT_Stroker_LineJoin line_join, - SW_FT_Fixed miter_limit ); - - /************************************************************** - * - * @function: - * SW_FT_Stroker_ParseOutline - * - * @description: - * A convenience function used to parse a whole outline with - * the stroker. The resulting outline(s) can be retrieved - * later by functions like @SW_FT_Stroker_GetCounts and @SW_FT_Stroker_Export. - * - * @input: - * stroker :: - * The target stroker handle. - * - * outline :: - * The source outline. - * - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * If `opened' is~0 (the default), the outline is treated as a closed - * path, and the stroker generates two distinct `border' outlines. - * - * - * This function calls @SW_FT_Stroker_Rewind automatically. - */ - SW_FT_Error - SW_FT_Stroker_ParseOutline( SW_FT_Stroker stroker, - const SW_FT_Outline* outline); - - - /************************************************************** - * - * @function: - * SW_FT_Stroker_GetCounts - * - * @description: - * Call this function once you have finished parsing your paths - * with the stroker. It returns the number of points and - * contours necessary to export all points/borders from the stroked - * outline/path. - * - * @input: - * stroker :: - * The target stroker handle. - * - * @output: - * anum_points :: - * The number of points. - * - * anum_contours :: - * The number of contours. - * - * @return: - * FreeType error code. 0~means success. - */ - SW_FT_Error - SW_FT_Stroker_GetCounts( SW_FT_Stroker stroker, - SW_FT_UInt *anum_points, - SW_FT_UInt *anum_contours ); - - - /************************************************************** - * - * @function: - * SW_FT_Stroker_Export - * - * @description: - * Call this function after @SW_FT_Stroker_GetBorderCounts to - * export all borders to your own @SW_FT_Outline structure. - * - * Note that this function appends the border points and - * contours to your outline, but does not try to resize its - * arrays. - * - * @input: - * stroker :: - * The target stroker handle. - * - * outline :: - * The target outline handle. - */ - void - SW_FT_Stroker_Export( SW_FT_Stroker stroker, - SW_FT_Outline* outline ); - - - /************************************************************** - * - * @function: - * SW_FT_Stroker_Done - * - * @description: - * Destroy a stroker object. - * - * @input: - * stroker :: - * A stroker handle. Can be NULL. - */ - void - SW_FT_Stroker_Done( SW_FT_Stroker stroker ); - - -#endif // V_FT_STROKER_H diff --git a/submodules/RLottie/Sources/rlottie/src/vector/freetype/v_ft_types.h b/submodules/RLottie/Sources/rlottie/src/vector/freetype/v_ft_types.h deleted file mode 100644 index a01c4f2872..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/freetype/v_ft_types.h +++ /dev/null @@ -1,160 +0,0 @@ -#ifndef V_FT_TYPES_H -#define V_FT_TYPES_H - -/*************************************************************************/ -/* */ -/* */ -/* SW_FT_Fixed */ -/* */ -/* */ -/* This type is used to store 16.16 fixed-point values, like scaling */ -/* values or matrix coefficients. */ -/* */ -typedef signed long SW_FT_Fixed; - - -/*************************************************************************/ -/* */ -/* */ -/* SW_FT_Int */ -/* */ -/* */ -/* A typedef for the int type. */ -/* */ -typedef signed int SW_FT_Int; - - -/*************************************************************************/ -/* */ -/* */ -/* SW_FT_UInt */ -/* */ -/* */ -/* A typedef for the unsigned int type. */ -/* */ -typedef unsigned int SW_FT_UInt; - - -/*************************************************************************/ -/* */ -/* */ -/* SW_FT_Long */ -/* */ -/* */ -/* A typedef for signed long. */ -/* */ -typedef signed long SW_FT_Long; - - -/*************************************************************************/ -/* */ -/* */ -/* SW_FT_ULong */ -/* */ -/* */ -/* A typedef for unsigned long. */ -/* */ -typedef unsigned long SW_FT_ULong; - -/*************************************************************************/ -/* */ -/* */ -/* SW_FT_Short */ -/* */ -/* */ -/* A typedef for signed short. */ -/* */ -typedef signed short SW_FT_Short; - - -/*************************************************************************/ -/* */ -/* */ -/* SW_FT_Byte */ -/* */ -/* */ -/* A simple typedef for the _unsigned_ char type. */ -/* */ -typedef unsigned char SW_FT_Byte; - - -/*************************************************************************/ -/* */ -/* */ -/* SW_FT_Bool */ -/* */ -/* */ -/* A typedef of unsigned char, used for simple booleans. As usual, */ -/* values 1 and~0 represent true and false, respectively. */ -/* */ -typedef unsigned char SW_FT_Bool; - - - -/*************************************************************************/ -/* */ -/* */ -/* SW_FT_Error */ -/* */ -/* */ -/* The FreeType error code type. A value of~0 is always interpreted */ -/* as a successful operation. */ -/* */ -typedef int SW_FT_Error; - - -/*************************************************************************/ -/* */ -/* */ -/* SW_FT_Pos */ -/* */ -/* */ -/* The type SW_FT_Pos is used to store vectorial coordinates. Depending */ -/* on the context, these can represent distances in integer font */ -/* units, or 16.16, or 26.6 fixed-point pixel coordinates. */ -/* */ -typedef signed long SW_FT_Pos; - - -/*************************************************************************/ -/* */ -/* */ -/* SW_FT_Vector */ -/* */ -/* */ -/* A simple structure used to store a 2D vector; coordinates are of */ -/* the SW_FT_Pos type. */ -/* */ -/* */ -/* x :: The horizontal coordinate. */ -/* y :: The vertical coordinate. */ -/* */ -typedef struct SW_FT_Vector_ -{ - SW_FT_Pos x; - SW_FT_Pos y; - -} SW_FT_Vector; - - -typedef long long int SW_FT_Int64; -typedef unsigned long long int SW_FT_UInt64; - -typedef signed int SW_FT_Int32; -typedef unsigned int SW_FT_UInt32; - - -#define SW_FT_BOOL( x ) ( (SW_FT_Bool)( x ) ) - -#define SW_FT_SIZEOF_LONG 4 - -#ifndef TRUE -#define TRUE 1 -#endif - -#ifndef FALSE -#define FALSE 0 -#endif - - -#endif // V_FT_TYPES_H diff --git a/submodules/RLottie/Sources/rlottie/src/vector/meson.build b/submodules/RLottie/Sources/rlottie/src/vector/meson.build deleted file mode 100644 index 543f730566..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/meson.build +++ /dev/null @@ -1,39 +0,0 @@ - -subdir('freetype') -subdir('pixman') -subdir('stb') - -vector_dep = [freetype_dep] -vector_dep += pixman_dep - -source_file = files('vdasher.cpp') -source_file += files('vbrush.cpp') -source_file += files('vbitmap.cpp') -source_file += files('vpainter.cpp') -source_file += files('vcompositionfunctions.cpp') -source_file += files('vdrawhelper.cpp') -source_file += files('vdrawhelper_sse2.cpp') -source_file += files('vdrawhelper_neon.cpp') -source_file += files('vdrawable.cpp') - -source_file += files('vrect.cpp') -source_file += files('vrle.cpp') -source_file += files('vpath.cpp') -source_file += files('vpathmesure.cpp') -source_file += files('vmatrix.cpp') -source_file += files('velapsedtimer.cpp') -source_file += files('vdebug.cpp') -source_file += files('vinterpolator.cpp') -source_file += files('vbezier.cpp') -source_file += files('vraster.cpp') -source_file += files('vimageloader.cpp') - -# dl dependancy for dlopen, dlsym, dlclose symbol -cc = meson.get_compiler('cpp') -vector_dep += cc.find_library('dl', required : true) - -vector_dep += declare_dependency( include_directories : include_directories('.'), - sources : source_file - ) - - diff --git a/submodules/RLottie/Sources/rlottie/src/vector/pixman/1 b/submodules/RLottie/Sources/rlottie/src/vector/pixman/1 deleted file mode 100644 index 0928fb84b9..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/pixman/1 +++ /dev/null @@ -1,2 +0,0 @@ -clang: error: clang: error: no such file or directory: '2' -no such file or directory: '2' diff --git a/submodules/RLottie/Sources/rlottie/src/vector/pixman/2 b/submodules/RLottie/Sources/rlottie/src/vector/pixman/2 deleted file mode 100644 index 1f834998ef..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/pixman/2 +++ /dev/null @@ -1,2794 +0,0 @@ -clang: warning: 1: 'linker' input unused [-Wunused-command-line-argument] -:6:5: error: unknown directive - .fpu neon - ^ -:8:5: error: unknown directive - .object_arch armv4 - ^ -:9:5: error: unknown directive - .eabi_attribute 10, 0 - ^ -:10:5: error: unknown directive - .eabi_attribute 12, 0 - ^ -:11:5: error: unknown directive - .arm - ^ -:121:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headpixman_asm_functionpixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headpixman_asm_functionpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headpixman_composite_over_8888_8888_asm_neonpixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:123:126: error: Unexpected '{' in expression - pixman_composite_over_8888_8888_process_pixblock_tail_headpushpixman_composite_over_8888_8888_process_pixblock_tail_head {pixman_composite_over_8888_8888_process_pixblock_tail_headr4pixman_composite_over_8888_8888_process_pixblock_tail_head-pixman_composite_over_8888_8888_process_pixblock_tail_headr12pixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headlrpixman_composite_over_8888_8888_process_pixblock_tail_head} - ^ -:130:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headsetpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headPREFETCH_TYPE_CURRENTpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headPREFETCH_TYPE_DEFAULTpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:131:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headifpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headFLAG_DEINTERLEAVE_32BPPpixman_composite_over_8888_8888_process_pixblock_tail_head == -^ -:132:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headsetpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headPREFETCH_TYPE_CURRENTpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headPREFETCH_TYPE_NONEpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:133:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headelseifpixman_composite_over_8888_8888_process_pixblock_tail_head (pixman_composite_over_8888_8888_process_pixblock_tail_headPREFETCH_TYPE_CURRENTpixman_composite_over_8888_8888_process_pixblock_tail_head > pixman_composite_over_8888_8888_process_pixblock_tail_headPREFETCH_TYPE_SIMPLEpixman_composite_over_8888_8888_process_pixblock_tail_head) && ((pixman_composite_over_8888_8888_process_pixblock_tail_head32pixman_composite_over_8888_8888_process_pixblock_tail_head == ) || ( == ) || (pixman_composite_over_8888_8888_process_pixblock_tail_head32pixman_composite_over_8888_8888_process_pixblock_tail_head == )) -^ -:135:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headsetpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headPREFETCH_TYPE_CURRENTpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headPREFETCH_TYPE_SIMPLEpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:136:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headendifpixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:142:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headsetpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headsrc_bpppixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_head32pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:143:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headsetpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headmask_bpppixman_composite_over_8888_8888_process_pixblock_tail_head, - ^ -:144:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headsetpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headdst_w_bpppixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_head32pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:145:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headsetpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_8888_8888_process_pixblock_tail_head, | - ^ -:146:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headsetpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headdst_w_baseregpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headpixman_composite_over_8888_8888_process_pixblock_tailpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:147:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headsetpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headdst_r_baseregpixman_composite_over_8888_8888_process_pixblock_tail_head, - ^ -:148:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headsetpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headsrc_baseregpixman_composite_over_8888_8888_process_pixblock_tail_head, - ^ -:149:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headsetpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headmask_baseregpixman_composite_over_8888_8888_process_pixblock_tail_head, - ^ -:151:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headmacropixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headpixld_srcpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headxpixman_composite_over_8888_8888_process_pixblock_tail_head:pixman_composite_over_8888_8888_process_pixblock_tail_headvarargpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:152:9: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headpixldpixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headpixldpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headxpixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:153:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headendmpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:154:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headmacropixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headfetch_src_pixblockpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:155:9: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headpixld_srcpixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headpixld_srcpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headsrc_bpppixman_composite_over_8888_8888_process_pixblock_tail_head, (pixman_composite_over_8888_8888_process_pixblock_tail_headsrc_baseregpixman_composite_over_8888_8888_process_pixblock_tail_head - pixman_composite_over_8888_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_8888_8888_process_pixblock_tail_head * pixman_composite_over_8888_8888_process_pixblock_tail_headsrc_bpppixman_composite_over_8888_8888_process_pixblock_tail_head / pixman_composite_over_8888_8888_process_pixblock_tail_head64pixman_composite_over_8888_8888_process_pixblock_tail_head), pixman_composite_over_8888_8888_process_pixblock_tail_headSRCpixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:157:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headendmpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:161:244: error: unexpected token in argument list - pixman_composite_over_8888_8888_process_pixblock_tail_headWpixman_composite_over_8888_8888_process_pixblock_tail_head .pixman_composite_over_8888_8888_process_pixblock_tail_headreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headr0pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:162:244: error: unexpected token in argument list - pixman_composite_over_8888_8888_process_pixblock_tail_headHpixman_composite_over_8888_8888_process_pixblock_tail_head .pixman_composite_over_8888_8888_process_pixblock_tail_headreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headr1pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:163:248: error: unexpected token in argument list - pixman_composite_over_8888_8888_process_pixblock_tail_headDST_Wpixman_composite_over_8888_8888_process_pixblock_tail_head .pixman_composite_over_8888_8888_process_pixblock_tail_headreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headr2pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:164:253: error: unexpected token in argument list - pixman_composite_over_8888_8888_process_pixblock_tail_headDST_STRIDEpixman_composite_over_8888_8888_process_pixblock_tail_head .pixman_composite_over_8888_8888_process_pixblock_tail_headreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headr3pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:165:246: error: unexpected token in argument list - pixman_composite_over_8888_8888_process_pixblock_tail_headSRCpixman_composite_over_8888_8888_process_pixblock_tail_head .pixman_composite_over_8888_8888_process_pixblock_tail_headreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headr4pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:166:253: error: unexpected token in argument list - pixman_composite_over_8888_8888_process_pixblock_tail_headSRC_STRIDEpixman_composite_over_8888_8888_process_pixblock_tail_head .pixman_composite_over_8888_8888_process_pixblock_tail_headreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headr5pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:167:248: error: unexpected token in argument list - pixman_composite_over_8888_8888_process_pixblock_tail_headDST_Rpixman_composite_over_8888_8888_process_pixblock_tail_head .pixman_composite_over_8888_8888_process_pixblock_tail_headreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headr6pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:169:247: error: unexpected token in argument list - pixman_composite_over_8888_8888_process_pixblock_tail_headMASKpixman_composite_over_8888_8888_process_pixblock_tail_head .pixman_composite_over_8888_8888_process_pixblock_tail_headreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headr7pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:170:254: error: unexpected token in argument list - pixman_composite_over_8888_8888_process_pixblock_tail_headMASK_STRIDEpixman_composite_over_8888_8888_process_pixblock_tail_head .pixman_composite_over_8888_8888_process_pixblock_tail_headreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headr8pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:172:249: error: unexpected token in argument list - pixman_composite_over_8888_8888_process_pixblock_tail_headPF_CTLpixman_composite_over_8888_8888_process_pixblock_tail_head .pixman_composite_over_8888_8888_process_pixblock_tail_headreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headr9pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:174:247: error: unexpected token in argument list - pixman_composite_over_8888_8888_process_pixblock_tail_headPF_Xpixman_composite_over_8888_8888_process_pixblock_tail_head .pixman_composite_over_8888_8888_process_pixblock_tail_headreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headr10pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:176:249: error: unexpected token in argument list - pixman_composite_over_8888_8888_process_pixblock_tail_headPF_SRCpixman_composite_over_8888_8888_process_pixblock_tail_head .pixman_composite_over_8888_8888_process_pixblock_tail_headreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headr11pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:178:249: error: unexpected token in argument list - pixman_composite_over_8888_8888_process_pixblock_tail_headPF_DSTpixman_composite_over_8888_8888_process_pixblock_tail_head .pixman_composite_over_8888_8888_process_pixblock_tail_headreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headr12pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:180:250: error: unexpected token in argument list - pixman_composite_over_8888_8888_process_pixblock_tail_headPF_MASKpixman_composite_over_8888_8888_process_pixblock_tail_head .pixman_composite_over_8888_8888_process_pixblock_tail_headreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headr14pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:182:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headifpixman_composite_over_8888_8888_process_pixblock_tail_head (pixman_composite_over_8888_8888_process_pixblock_tail_headPREFETCH_TYPE_CURRENTpixman_composite_over_8888_8888_process_pixblock_tail_head < pixman_composite_over_8888_8888_process_pixblock_tail_headPREFETCH_TYPE_ADVANCEDpixman_composite_over_8888_8888_process_pixblock_tail_head) -^ -:183:249: error: unexpected token in argument list - pixman_composite_over_8888_8888_process_pixblock_tail_headORIG_Wpixman_composite_over_8888_8888_process_pixblock_tail_head .pixman_composite_over_8888_8888_process_pixblock_tail_headreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headr10pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:184:248: error: unexpected token in argument list - pixman_composite_over_8888_8888_process_pixblock_tail_headDUMMYpixman_composite_over_8888_8888_process_pixblock_tail_head .pixman_composite_over_8888_8888_process_pixblock_tail_headreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headr12pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:185:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headsetpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headregs_shortagepixman_composite_over_8888_8888_process_pixblock_tail_head, - ^ -:186:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headelseifpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headmask_bpppixman_composite_over_8888_8888_process_pixblock_tail_head == -^ -:187:249: error: unexpected token in argument list - pixman_composite_over_8888_8888_process_pixblock_tail_headORIG_Wpixman_composite_over_8888_8888_process_pixblock_tail_head .pixman_composite_over_8888_8888_process_pixblock_tail_headreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headr7pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:188:248: error: unexpected token in argument list - pixman_composite_over_8888_8888_process_pixblock_tail_headDUMMYpixman_composite_over_8888_8888_process_pixblock_tail_head .pixman_composite_over_8888_8888_process_pixblock_tail_headreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headr8pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:189:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headsetpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headregs_shortagepixman_composite_over_8888_8888_process_pixblock_tail_head, - ^ -:190:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headelseifpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headsrc_bpppixman_composite_over_8888_8888_process_pixblock_tail_head == -^ -:191:249: error: unexpected token in argument list - pixman_composite_over_8888_8888_process_pixblock_tail_headORIG_Wpixman_composite_over_8888_8888_process_pixblock_tail_head .pixman_composite_over_8888_8888_process_pixblock_tail_headreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headr4pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:192:248: error: unexpected token in argument list - pixman_composite_over_8888_8888_process_pixblock_tail_headDUMMYpixman_composite_over_8888_8888_process_pixblock_tail_head .pixman_composite_over_8888_8888_process_pixblock_tail_headreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headr5pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:193:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headsetpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headregs_shortagepixman_composite_over_8888_8888_process_pixblock_tail_head, - ^ -:194:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headelsepixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:195:249: error: unexpected token in argument list - pixman_composite_over_8888_8888_process_pixblock_tail_headORIG_Wpixman_composite_over_8888_8888_process_pixblock_tail_head .pixman_composite_over_8888_8888_process_pixblock_tail_headreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headr1pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:196:248: error: unexpected token in argument list - pixman_composite_over_8888_8888_process_pixblock_tail_headDUMMYpixman_composite_over_8888_8888_process_pixblock_tail_head .pixman_composite_over_8888_8888_process_pixblock_tail_headreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headr1pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:197:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headsetpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headregs_shortagepixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_head1pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:198:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headendifpixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:200:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headsetpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headmask_bpp_shiftpixman_composite_over_8888_8888_process_pixblock_tail_head, -pixman_composite_over_8888_8888_process_pixblock_tail_head1pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:201:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headifpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headsrc_bpppixman_composite_over_8888_8888_process_pixblock_tail_head == pixman_composite_over_8888_8888_process_pixblock_tail_head32pixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:202:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headsetpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headsrc_bpp_shiftpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_head2pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:203:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headelseifpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headsrc_bpppixman_composite_over_8888_8888_process_pixblock_tail_head == -^ -:204:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headsetpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headsrc_bpp_shiftpixman_composite_over_8888_8888_process_pixblock_tail_head, - ^ -:205:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headelseifpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headsrc_bpppixman_composite_over_8888_8888_process_pixblock_tail_head == pixman_composite_over_8888_8888_process_pixblock_tail_head16pixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:206:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headsetpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headsrc_bpp_shiftpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_head1pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:207:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headelseifpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headsrc_bpppixman_composite_over_8888_8888_process_pixblock_tail_head == pixman_composite_over_8888_8888_process_pixblock_tail_head8pixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:208:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headsetpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headsrc_bpp_shiftpixman_composite_over_8888_8888_process_pixblock_tail_head, - ^ -:209:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headelseifpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headsrc_bpppixman_composite_over_8888_8888_process_pixblock_tail_head == -^ -:210:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headsetpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headsrc_bpp_shiftpixman_composite_over_8888_8888_process_pixblock_tail_head, -pixman_composite_over_8888_8888_process_pixblock_tail_head1pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:211:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headelsepixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:212:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headerrorpixman_composite_over_8888_8888_process_pixblock_tail_head "pixman_composite_over_8888_8888_process_pixblock_tail_headrequestedpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headsrcpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headbpppixman_composite_over_8888_8888_process_pixblock_tail_head (pixman_composite_over_8888_8888_process_pixblock_tail_headsrc_bpppixman_composite_over_8888_8888_process_pixblock_tail_head) pixman_composite_over_8888_8888_process_pixblock_tail_headispixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headnotpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headsupportedpixman_composite_over_8888_8888_process_pixblock_tail_head" - ^ -:213:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headendifpixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:214:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headifpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headmask_bpppixman_composite_over_8888_8888_process_pixblock_tail_head == pixman_composite_over_8888_8888_process_pixblock_tail_head32pixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:215:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headsetpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headmask_bpp_shiftpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_head2pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:216:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headelseifpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headmask_bpppixman_composite_over_8888_8888_process_pixblock_tail_head == -^ -:217:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headsetpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headmask_bpp_shiftpixman_composite_over_8888_8888_process_pixblock_tail_head, - ^ -:218:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headelseifpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headmask_bpppixman_composite_over_8888_8888_process_pixblock_tail_head == pixman_composite_over_8888_8888_process_pixblock_tail_head8pixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:219:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headsetpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headmask_bpp_shiftpixman_composite_over_8888_8888_process_pixblock_tail_head, - ^ -:220:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headelseifpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headmask_bpppixman_composite_over_8888_8888_process_pixblock_tail_head == -^ -:221:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headsetpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headmask_bpp_shiftpixman_composite_over_8888_8888_process_pixblock_tail_head, -pixman_composite_over_8888_8888_process_pixblock_tail_head1pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:222:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headelsepixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:223:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headerrorpixman_composite_over_8888_8888_process_pixblock_tail_head "pixman_composite_over_8888_8888_process_pixblock_tail_headrequestedpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headmaskpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headbpppixman_composite_over_8888_8888_process_pixblock_tail_head (pixman_composite_over_8888_8888_process_pixblock_tail_headmask_bpppixman_composite_over_8888_8888_process_pixblock_tail_head) pixman_composite_over_8888_8888_process_pixblock_tail_headispixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headnotpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headsupportedpixman_composite_over_8888_8888_process_pixblock_tail_head" - ^ -:224:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headendifpixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:225:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headifpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headdst_w_bpppixman_composite_over_8888_8888_process_pixblock_tail_head == pixman_composite_over_8888_8888_process_pixblock_tail_head32pixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:226:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headsetpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headdst_bpp_shiftpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_head2pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:227:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headelseifpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headdst_w_bpppixman_composite_over_8888_8888_process_pixblock_tail_head == -^ -:228:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headsetpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headdst_bpp_shiftpixman_composite_over_8888_8888_process_pixblock_tail_head, - ^ -:229:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headelseifpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headdst_w_bpppixman_composite_over_8888_8888_process_pixblock_tail_head == pixman_composite_over_8888_8888_process_pixblock_tail_head16pixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:230:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headsetpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headdst_bpp_shiftpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_head1pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:231:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headelseifpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headdst_w_bpppixman_composite_over_8888_8888_process_pixblock_tail_head == pixman_composite_over_8888_8888_process_pixblock_tail_head8pixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:232:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headsetpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headdst_bpp_shiftpixman_composite_over_8888_8888_process_pixblock_tail_head, - ^ -:233:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headelsepixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:234:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headerrorpixman_composite_over_8888_8888_process_pixblock_tail_head "pixman_composite_over_8888_8888_process_pixblock_tail_headrequestedpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headdstpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headbpppixman_composite_over_8888_8888_process_pixblock_tail_head (pixman_composite_over_8888_8888_process_pixblock_tail_headdst_w_bpppixman_composite_over_8888_8888_process_pixblock_tail_head) pixman_composite_over_8888_8888_process_pixblock_tail_headispixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headnotpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headsupportedpixman_composite_over_8888_8888_process_pixblock_tail_head" - ^ -:235:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headendifpixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:237:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headifpixman_composite_over_8888_8888_process_pixblock_tail_head (((pixman_composite_over_8888_8888_process_pixblock_tail_headFLAG_DST_READWRITEpixman_composite_over_8888_8888_process_pixblock_tail_head) & pixman_composite_over_8888_8888_process_pixblock_tail_headFLAG_DST_READWRITEpixman_composite_over_8888_8888_process_pixblock_tail_head) != ) -^ -:238:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headsetpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headdst_r_bpppixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headdst_w_bpppixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:239:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headelsepixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:240:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headsetpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headdst_r_bpppixman_composite_over_8888_8888_process_pixblock_tail_head, - ^ -:241:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headendifpixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:242:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headifpixman_composite_over_8888_8888_process_pixblock_tail_head (((pixman_composite_over_8888_8888_process_pixblock_tail_headFLAG_DST_READWRITEpixman_composite_over_8888_8888_process_pixblock_tail_head) & pixman_composite_over_8888_8888_process_pixblock_tail_headFLAG_DEINTERLEAVE_32BPPpixman_composite_over_8888_8888_process_pixblock_tail_head) != ) -^ -:243:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headsetpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headDEINTERLEAVE_32BPP_ENABLEDpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_head1pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:244:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headelsepixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:245:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headsetpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headDEINTERLEAVE_32BPP_ENABLEDpixman_composite_over_8888_8888_process_pixblock_tail_head, - ^ -:246:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headendifpixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:248:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headifpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headFLAG_DEINTERLEAVE_32BPPpixman_composite_over_8888_8888_process_pixblock_tail_head < || pixman_composite_over_8888_8888_process_pixblock_tail_headFLAG_DEINTERLEAVE_32BPPpixman_composite_over_8888_8888_process_pixblock_tail_head > pixman_composite_over_8888_8888_process_pixblock_tail_head15pixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:249:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headerrorpixman_composite_over_8888_8888_process_pixblock_tail_head "pixman_composite_over_8888_8888_process_pixblock_tail_headinvalidpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headprefetchpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headdistancepixman_composite_over_8888_8888_process_pixblock_tail_head (pixman_composite_over_8888_8888_process_pixblock_tail_headFLAG_DEINTERLEAVE_32BPPpixman_composite_over_8888_8888_process_pixblock_tail_head)" - ^ -:250:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headendifpixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:252:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headifpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headsrc_bpppixman_composite_over_8888_8888_process_pixblock_tail_head > -^ -:253:246: error: brackets expression not supported on this target - pixman_composite_over_8888_8888_process_pixblock_tail_headldrpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headSRCpixman_composite_over_8888_8888_process_pixblock_tail_head, [pixman_composite_over_8888_8888_process_pixblock_tail_headsppixman_composite_over_8888_8888_process_pixblock_tail_head, #pixman_composite_over_8888_8888_process_pixblock_tail_head40pixman_composite_over_8888_8888_process_pixblock_tail_head] - ^ -:254:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headendifpixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:255:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headifpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headmask_bpppixman_composite_over_8888_8888_process_pixblock_tail_head > -^ -:256:247: error: brackets expression not supported on this target - pixman_composite_over_8888_8888_process_pixblock_tail_headldrpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headMASKpixman_composite_over_8888_8888_process_pixblock_tail_head, [pixman_composite_over_8888_8888_process_pixblock_tail_headsppixman_composite_over_8888_8888_process_pixblock_tail_head, #pixman_composite_over_8888_8888_process_pixblock_tail_head48pixman_composite_over_8888_8888_process_pixblock_tail_head] - ^ -:257:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headendifpixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:258:244: error: unexpected token in argument list - pixman_composite_over_8888_8888_process_pixblock_tail_headPFpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headmovpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headPF_Xpixman_composite_over_8888_8888_process_pixblock_tail_head, # - ^ -:259:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headifpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headsrc_bpppixman_composite_over_8888_8888_process_pixblock_tail_head > -^ -:260:253: error: brackets expression not supported on this target - pixman_composite_over_8888_8888_process_pixblock_tail_headldrpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headSRC_STRIDEpixman_composite_over_8888_8888_process_pixblock_tail_head, [pixman_composite_over_8888_8888_process_pixblock_tail_headsppixman_composite_over_8888_8888_process_pixblock_tail_head, #pixman_composite_over_8888_8888_process_pixblock_tail_head44pixman_composite_over_8888_8888_process_pixblock_tail_head] - ^ -:261:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headendifpixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:262:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headifpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headmask_bpppixman_composite_over_8888_8888_process_pixblock_tail_head > -^ -:263:254: error: brackets expression not supported on this target - pixman_composite_over_8888_8888_process_pixblock_tail_headldrpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headMASK_STRIDEpixman_composite_over_8888_8888_process_pixblock_tail_head, [pixman_composite_over_8888_8888_process_pixblock_tail_headsppixman_composite_over_8888_8888_process_pixblock_tail_head, #pixman_composite_over_8888_8888_process_pixblock_tail_head52pixman_composite_over_8888_8888_process_pixblock_tail_head] - ^ -:264:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headendifpixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:265:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headmovpixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headmovpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headDST_Rpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headDST_Wpixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:267:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headifpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headsrc_bpppixman_composite_over_8888_8888_process_pixblock_tail_head == -^ -:268:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headsubpixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headsubpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headSRC_STRIDEpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headSRC_STRIDEpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headWpixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:269:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headsubpixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headsubpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headSRC_STRIDEpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headSRC_STRIDEpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headWpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headlslpixman_composite_over_8888_8888_process_pixblock_tail_head #pixman_composite_over_8888_8888_process_pixblock_tail_head1pixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:270:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headendifpixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:271:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headifpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headmask_bpppixman_composite_over_8888_8888_process_pixblock_tail_head == -^ -:272:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headsubpixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headsubpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headMASK_STRIDEpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headMASK_STRIDEpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headWpixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:273:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headsubpixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headsubpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headMASK_STRIDEpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headMASK_STRIDEpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headWpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headlslpixman_composite_over_8888_8888_process_pixblock_tail_head #pixman_composite_over_8888_8888_process_pixblock_tail_head1pixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:274:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headendifpixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:275:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headifpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headdst_w_bpppixman_composite_over_8888_8888_process_pixblock_tail_head == -^ -:276:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headsubpixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headsubpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headDST_STRIDEpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headDST_STRIDEpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headWpixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:277:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headsubpixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headsubpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headDST_STRIDEpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headDST_STRIDEpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headWpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headlslpixman_composite_over_8888_8888_process_pixblock_tail_head #pixman_composite_over_8888_8888_process_pixblock_tail_head1pixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:278:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headendifpixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:283:244: error: unexpected token in argument list - pixman_composite_over_8888_8888_process_pixblock_tail_headPFpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headmovpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headPF_SRCpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headSRCpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:284:244: error: unexpected token in argument list - pixman_composite_over_8888_8888_process_pixblock_tail_headPFpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headmovpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headPF_DSTpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headDST_Rpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:285:244: error: unexpected token in argument list - pixman_composite_over_8888_8888_process_pixblock_tail_headPFpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headmovpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headPF_MASKpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headMASKpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:287:244: error: unexpected token in argument list - pixman_composite_over_8888_8888_process_pixblock_tail_headPFpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headmovpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headPF_CTLpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headHpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headlslpixman_composite_over_8888_8888_process_pixblock_tail_head # - ^ -:288:244: error: unexpected token in argument list - pixman_composite_over_8888_8888_process_pixblock_tail_headPFpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headaddpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headPF_CTLpixman_composite_over_8888_8888_process_pixblock_tail_head, #(pixman_composite_over_8888_8888_process_pixblock_tail_headFLAG_DEINTERLEAVE_32BPPpixman_composite_over_8888_8888_process_pixblock_tail_head - pixman_composite_over_8888_8888_process_pixblock_tail_head0x10pixman_composite_over_8888_8888_process_pixblock_tail_head) - ^ -:290:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_head8pixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_head8pixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:291:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headifpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headregs_shortagepixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:292:126: error: Unexpected '{' in expression - pixman_composite_over_8888_8888_process_pixblock_tail_headpushpixman_composite_over_8888_8888_process_pixblock_tail_head {pixman_composite_over_8888_8888_process_pixblock_tail_headr0pixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headr1pixman_composite_over_8888_8888_process_pixblock_tail_head} - ^ -:293:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headendifpixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:294:364: error: unknown token in expression - pixman_composite_over_8888_8888_process_pixblock_tail_headsubspixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headHpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headHpixman_composite_over_8888_8888_process_pixblock_tail_head, #pixman_composite_over_8888_8888_process_pixblock_tail_head1pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:295:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headifpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headregs_shortagepixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:296:244: error: brackets expression not supported on this target - pixman_composite_over_8888_8888_process_pixblock_tail_headstrpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headHpixman_composite_over_8888_8888_process_pixblock_tail_head, [pixman_composite_over_8888_8888_process_pixblock_tail_headsppixman_composite_over_8888_8888_process_pixblock_tail_head, #] - ^ -:297:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headelsepixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:298:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headmovpixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headmovpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headORIG_Wpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headWpixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:299:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headendifpixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:300:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headbltpixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headbltpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_head9fpixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:301:244: error: unknown token in expression - pixman_composite_over_8888_8888_process_pixblock_tail_headcmppixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headWpixman_composite_over_8888_8888_process_pixblock_tail_head, #(pixman_composite_over_8888_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_8888_8888_process_pixblock_tail_head * pixman_composite_over_8888_8888_process_pixblock_tail_head2pixman_composite_over_8888_8888_process_pixblock_tail_head) - ^ -:302:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headbltpixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headbltpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_head8fpixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:307:1: error: unexpected token at start of statement -: -^ -:308:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headensure_destination_ptr_alignmentpixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headensure_destination_ptr_alignmentpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headdefault_initpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headdefault_cleanuppixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headpixman_composite_over_8888_8888_process_pixblock_headpixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:313:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headpixld_apixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headpixld_apixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headdst_r_bpppixman_composite_over_8888_8888_process_pixblock_tail_head, (pixman_composite_over_8888_8888_process_pixblock_tail_headdst_r_baseregpixman_composite_over_8888_8888_process_pixblock_tail_head - pixman_composite_over_8888_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_8888_8888_process_pixblock_tail_head * pixman_composite_over_8888_8888_process_pixblock_tail_headdst_r_bpppixman_composite_over_8888_8888_process_pixblock_tail_head / pixman_composite_over_8888_8888_process_pixblock_tail_head64pixman_composite_over_8888_8888_process_pixblock_tail_head), pixman_composite_over_8888_8888_process_pixblock_tail_headDST_Rpixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:315:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headfetch_src_pixblockpixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headfetch_src_pixblockpixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:316:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headpixldpixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headpixldpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headmask_bpppixman_composite_over_8888_8888_process_pixblock_tail_head, (pixman_composite_over_8888_8888_process_pixblock_tail_headmask_baseregpixman_composite_over_8888_8888_process_pixblock_tail_head - pixman_composite_over_8888_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_8888_8888_process_pixblock_tail_head * pixman_composite_over_8888_8888_process_pixblock_tail_headmask_bpppixman_composite_over_8888_8888_process_pixblock_tail_head / pixman_composite_over_8888_8888_process_pixblock_tail_head64pixman_composite_over_8888_8888_process_pixblock_tail_head), pixman_composite_over_8888_8888_process_pixblock_tail_headMASKpixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:318:244: error: unexpected token in argument list - pixman_composite_over_8888_8888_process_pixblock_tail_headPFpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headaddpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headPF_Xpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headPF_Xpixman_composite_over_8888_8888_process_pixblock_tail_head, #pixman_composite_over_8888_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:319:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headdefault_initpixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headdefault_initpixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:320:135: error: unknown token in expression - pixman_composite_over_8888_8888_process_pixblock_tail_headcache_preloadpixman_composite_over_8888_8888_process_pixblock_tail_head , pixman_composite_over_8888_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:321:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headcache_preload_simplepixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headcache_preload_simplepixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:322:364: error: unknown token in expression - pixman_composite_over_8888_8888_process_pixblock_tail_headsubspixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headWpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headWpixman_composite_over_8888_8888_process_pixblock_tail_head, #(pixman_composite_over_8888_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_8888_8888_process_pixblock_tail_head * pixman_composite_over_8888_8888_process_pixblock_tail_head2pixman_composite_over_8888_8888_process_pixblock_tail_head) - ^ -:323:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headbltpixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headbltpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_head2fpixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:325:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headpixman_composite_over_8888_8888_process_pixblock_headpixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headpixman_composite_over_8888_8888_process_pixblock_headpixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:326:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headcache_preload_simplepixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headcache_preload_simplepixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:327:364: error: unknown token in expression - pixman_composite_over_8888_8888_process_pixblock_tail_headsubspixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headWpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headWpixman_composite_over_8888_8888_process_pixblock_tail_head, #pixman_composite_over_8888_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:328:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headbgepixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headbgepixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_head1bpixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:330:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headdefault_cleanuppixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headdefault_cleanuppixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:331:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headpixst_apixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headpixst_apixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headdst_w_bpppixman_composite_over_8888_8888_process_pixblock_tail_head, (pixman_composite_over_8888_8888_process_pixblock_tail_headdst_w_baseregpixman_composite_over_8888_8888_process_pixblock_tail_head - pixman_composite_over_8888_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_8888_8888_process_pixblock_tail_head * pixman_composite_over_8888_8888_process_pixblock_tail_headdst_w_bpppixman_composite_over_8888_8888_process_pixblock_tail_head / pixman_composite_over_8888_8888_process_pixblock_tail_head64pixman_composite_over_8888_8888_process_pixblock_tail_head), pixman_composite_over_8888_8888_process_pixblock_tail_headDST_Wpixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:335:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headprocess_trailing_pixelspixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headprocess_trailing_pixelspixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_head1pixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_head1pixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headdefault_initpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headdefault_cleanuppixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headpixman_composite_over_8888_8888_process_pixblock_headpixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:339:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headadvance_to_next_scanlinepixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headadvance_to_next_scanlinepixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_head0bpixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:341:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headifpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headregs_shortagepixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:342:125: error: Unexpected '{' in expression - pixman_composite_over_8888_8888_process_pixblock_tail_headpoppixman_composite_over_8888_8888_process_pixblock_tail_head {pixman_composite_over_8888_8888_process_pixblock_tail_headr0pixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headr1pixman_composite_over_8888_8888_process_pixblock_tail_head} - ^ -:343:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headendifpixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:344:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_head5pixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_head5pixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:345:125: error: Unexpected '{' in expression - pixman_composite_over_8888_8888_process_pixblock_tail_headpoppixman_composite_over_8888_8888_process_pixblock_tail_head {pixman_composite_over_8888_8888_process_pixblock_tail_headr4pixman_composite_over_8888_8888_process_pixblock_tail_head-pixman_composite_over_8888_8888_process_pixblock_tail_headr12pixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headpcpixman_composite_over_8888_8888_process_pixblock_tail_head} - ^ -:353:244: error: unknown token in expression - pixman_composite_over_8888_8888_process_pixblock_tail_headtstpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headWpixman_composite_over_8888_8888_process_pixblock_tail_head, #pixman_composite_over_8888_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:354:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headbeqpixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headbeqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_head1fpixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:355:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headpixldpixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headpixldpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headdst_r_bpppixman_composite_over_8888_8888_process_pixblock_tail_head, (pixman_composite_over_8888_8888_process_pixblock_tail_headdst_r_baseregpixman_composite_over_8888_8888_process_pixblock_tail_head - pixman_composite_over_8888_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_8888_8888_process_pixblock_tail_head * pixman_composite_over_8888_8888_process_pixblock_tail_headdst_r_bpppixman_composite_over_8888_8888_process_pixblock_tail_head / pixman_composite_over_8888_8888_process_pixblock_tail_head64pixman_composite_over_8888_8888_process_pixblock_tail_head), pixman_composite_over_8888_8888_process_pixblock_tail_headDST_Rpixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:357:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headfetch_src_pixblockpixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headfetch_src_pixblockpixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:358:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headpixldpixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headpixldpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headmask_bpppixman_composite_over_8888_8888_process_pixblock_tail_head, (pixman_composite_over_8888_8888_process_pixblock_tail_headmask_baseregpixman_composite_over_8888_8888_process_pixblock_tail_head - pixman_composite_over_8888_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_8888_8888_process_pixblock_tail_head * pixman_composite_over_8888_8888_process_pixblock_tail_headmask_bpppixman_composite_over_8888_8888_process_pixblock_tail_head / pixman_composite_over_8888_8888_process_pixblock_tail_head64pixman_composite_over_8888_8888_process_pixblock_tail_head), pixman_composite_over_8888_8888_process_pixblock_tail_headMASKpixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:360:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headdefault_initpixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headdefault_initpixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:361:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headdefault_cleanuppixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headdefault_cleanuppixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:362:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headpixstpixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headpixstpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headdst_w_bpppixman_composite_over_8888_8888_process_pixblock_tail_head, (pixman_composite_over_8888_8888_process_pixblock_tail_headdst_w_baseregpixman_composite_over_8888_8888_process_pixblock_tail_head - pixman_composite_over_8888_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_8888_8888_process_pixblock_tail_head * pixman_composite_over_8888_8888_process_pixblock_tail_headdst_w_bpppixman_composite_over_8888_8888_process_pixblock_tail_head / pixman_composite_over_8888_8888_process_pixblock_tail_head64pixman_composite_over_8888_8888_process_pixblock_tail_head), pixman_composite_over_8888_8888_process_pixblock_tail_headDST_Wpixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:364:1: error: invalid symbol redefinition -pixman_composite_over_8888_8888_process_pixblock_tail_head1pixman_composite_over_8888_8888_process_pixblock_tail_head: -^ -:366:145: error: unknown token in expression - pixman_composite_over_8888_8888_process_pixblock_tail_headprocess_trailing_pixelspixman_composite_over_8888_8888_process_pixblock_tail_head , , pixman_composite_over_8888_8888_process_pixblock_tail_headdefault_initpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headdefault_cleanuppixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headpixman_composite_over_8888_8888_process_pixblock_headpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:370:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headadvance_to_next_scanlinepixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headadvance_to_next_scanlinepixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_head8bpixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:372:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headifpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headregs_shortagepixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:373:125: error: Unexpected '{' in expression - pixman_composite_over_8888_8888_process_pixblock_tail_headpoppixman_composite_over_8888_8888_process_pixblock_tail_head {pixman_composite_over_8888_8888_process_pixblock_tail_headr0pixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headr1pixman_composite_over_8888_8888_process_pixblock_tail_head} - ^ -:374:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headendifpixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:375:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_head5pixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_head5pixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:376:125: error: Unexpected '{' in expression - pixman_composite_over_8888_8888_process_pixblock_tail_headpoppixman_composite_over_8888_8888_process_pixblock_tail_head {pixman_composite_over_8888_8888_process_pixblock_tail_headr4pixman_composite_over_8888_8888_process_pixblock_tail_head-pixman_composite_over_8888_8888_process_pixblock_tail_headr12pixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headpcpixman_composite_over_8888_8888_process_pixblock_tail_head} - ^ -:379:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headunreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headSRCpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:380:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headunreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headMASKpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:381:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headunreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headDST_Rpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:382:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headunreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headDST_Wpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:383:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headunreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headORIG_Wpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:384:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headunreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headWpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:385:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headunreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headHpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:386:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headunreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headSRC_STRIDEpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:387:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headunreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headDST_STRIDEpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:388:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headunreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headMASK_STRIDEpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:389:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headunreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headPF_CTLpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:390:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headunreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headPF_Xpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:391:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headunreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headPF_SRCpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:392:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headunreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headPF_DSTpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:393:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headunreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headPF_MASKpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:394:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headunreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headDUMMYpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:395:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headendfuncpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:398:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headpixman_asm_functionpixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headpixman_asm_functionpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headpixman_composite_scanline_over_asm_neonpixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:400:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headsetpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headPREFETCH_TYPE_CURRENTpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headPREFETCH_TYPE_NONEpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:405:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headsetpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headsrc_bpppixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_head32pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:406:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headsetpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headmask_bpppixman_composite_over_8888_8888_process_pixblock_tail_head, - ^ -:407:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headsetpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headdst_w_bpppixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_head32pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:408:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headsetpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_8888_8888_process_pixblock_tail_head, | - ^ -:409:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headsetpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headdst_w_baseregpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headpixman_composite_over_8888_8888_process_pixblock_tailpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:410:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headsetpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headdst_r_baseregpixman_composite_over_8888_8888_process_pixblock_tail_head, - ^ -:411:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headsetpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headsrc_baseregpixman_composite_over_8888_8888_process_pixblock_tail_head, - ^ -:412:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headsetpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headmask_baseregpixman_composite_over_8888_8888_process_pixblock_tail_head, - ^ -:414:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headifpixman_composite_over_8888_8888_process_pixblock_tail_head != -^ -:418:244: error: unexpected token in argument list - pixman_composite_over_8888_8888_process_pixblock_tail_headWpixman_composite_over_8888_8888_process_pixblock_tail_head .pixman_composite_over_8888_8888_process_pixblock_tail_headreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headr0pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:419:248: error: unexpected token in argument list - pixman_composite_over_8888_8888_process_pixblock_tail_headDST_Wpixman_composite_over_8888_8888_process_pixblock_tail_head .pixman_composite_over_8888_8888_process_pixblock_tail_headreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headr1pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:420:246: error: unexpected token in argument list - pixman_composite_over_8888_8888_process_pixblock_tail_headSRCpixman_composite_over_8888_8888_process_pixblock_tail_head .pixman_composite_over_8888_8888_process_pixblock_tail_headreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headr2pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:421:245: error: unexpected token in argument list - pixman_composite_over_8888_8888_process_pixblock_tail_headVXpixman_composite_over_8888_8888_process_pixblock_tail_head .pixman_composite_over_8888_8888_process_pixblock_tail_headreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headr3pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:422:249: error: unexpected token in argument list - pixman_composite_over_8888_8888_process_pixblock_tail_headUNIT_Xpixman_composite_over_8888_8888_process_pixblock_tail_head .pixman_composite_over_8888_8888_process_pixblock_tail_headreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headippixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:423:247: error: unexpected token in argument list - pixman_composite_over_8888_8888_process_pixblock_tail_headMASKpixman_composite_over_8888_8888_process_pixblock_tail_head .pixman_composite_over_8888_8888_process_pixblock_tail_headreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headlrpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:424:247: error: unexpected token in argument list - pixman_composite_over_8888_8888_process_pixblock_tail_headTMP1pixman_composite_over_8888_8888_process_pixblock_tail_head .pixman_composite_over_8888_8888_process_pixblock_tail_headreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headr4pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:425:247: error: unexpected token in argument list - pixman_composite_over_8888_8888_process_pixblock_tail_headTMP2pixman_composite_over_8888_8888_process_pixblock_tail_head .pixman_composite_over_8888_8888_process_pixblock_tail_headreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headr5pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:426:248: error: unexpected token in argument list - pixman_composite_over_8888_8888_process_pixblock_tail_headDST_Rpixman_composite_over_8888_8888_process_pixblock_tail_head .pixman_composite_over_8888_8888_process_pixblock_tail_headreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headr6pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:427:258: error: unexpected token in argument list - pixman_composite_over_8888_8888_process_pixblock_tail_headSRC_WIDTH_FIXEDpixman_composite_over_8888_8888_process_pixblock_tail_head .pixman_composite_over_8888_8888_process_pixblock_tail_headreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headr7pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:429:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headmacropixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headpixld_srcpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headxpixman_composite_over_8888_8888_process_pixblock_tail_head:pixman_composite_over_8888_8888_process_pixblock_tail_headvarargpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:430:9: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headpixld_spixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headpixld_spixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headxpixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:431:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headendmpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:433:249: error: brackets expression not supported on this target - pixman_composite_over_8888_8888_process_pixblock_tail_headldrpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headUNIT_Xpixman_composite_over_8888_8888_process_pixblock_tail_head, [pixman_composite_over_8888_8888_process_pixblock_tail_headsppixman_composite_over_8888_8888_process_pixblock_tail_head] - ^ -:434:126: error: Unexpected '{' in expression - pixman_composite_over_8888_8888_process_pixblock_tail_headpushpixman_composite_over_8888_8888_process_pixblock_tail_head {pixman_composite_over_8888_8888_process_pixblock_tail_headr4pixman_composite_over_8888_8888_process_pixblock_tail_head-pixman_composite_over_8888_8888_process_pixblock_tail_headr8pixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headlrpixman_composite_over_8888_8888_process_pixblock_tail_head} - ^ -:435:258: error: brackets expression not supported on this target - pixman_composite_over_8888_8888_process_pixblock_tail_headldrpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headSRC_WIDTH_FIXEDpixman_composite_over_8888_8888_process_pixblock_tail_head, [pixman_composite_over_8888_8888_process_pixblock_tail_headsppixman_composite_over_8888_8888_process_pixblock_tail_head, #( + )] - ^ -:436:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headifpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headmask_bpppixman_composite_over_8888_8888_process_pixblock_tail_head != - ^ -:437:247: error: brackets expression not supported on this target - pixman_composite_over_8888_8888_process_pixblock_tail_headldrpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headMASKpixman_composite_over_8888_8888_process_pixblock_tail_head, [pixman_composite_over_8888_8888_process_pixblock_tail_headsppixman_composite_over_8888_8888_process_pixblock_tail_head, #( + pixman_composite_over_8888_8888_process_pixblock_tail_head8pixman_composite_over_8888_8888_process_pixblock_tail_head)] - ^ -:438:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headendifpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:439:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headelsepixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:443:244: error: unexpected token in argument list - pixman_composite_over_8888_8888_process_pixblock_tail_headWpixman_composite_over_8888_8888_process_pixblock_tail_head .pixman_composite_over_8888_8888_process_pixblock_tail_headreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headr0pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:444:248: error: unexpected token in argument list - pixman_composite_over_8888_8888_process_pixblock_tail_headDST_Wpixman_composite_over_8888_8888_process_pixblock_tail_head .pixman_composite_over_8888_8888_process_pixblock_tail_headreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headr1pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:445:246: error: unexpected token in argument list - pixman_composite_over_8888_8888_process_pixblock_tail_headSRCpixman_composite_over_8888_8888_process_pixblock_tail_head .pixman_composite_over_8888_8888_process_pixblock_tail_headreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headr2pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:446:248: error: unexpected token in argument list - pixman_composite_over_8888_8888_process_pixblock_tail_headDST_Rpixman_composite_over_8888_8888_process_pixblock_tail_head .pixman_composite_over_8888_8888_process_pixblock_tail_headreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headippixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:447:247: error: unexpected token in argument list - pixman_composite_over_8888_8888_process_pixblock_tail_headMASKpixman_composite_over_8888_8888_process_pixblock_tail_head .pixman_composite_over_8888_8888_process_pixblock_tail_headreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headr3pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:449:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headmacropixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headpixld_srcpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headxpixman_composite_over_8888_8888_process_pixblock_tail_head:pixman_composite_over_8888_8888_process_pixblock_tail_headvarargpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:450:9: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headpixldpixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headpixldpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headxpixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:451:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headendmpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:452:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headendifpixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:454:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headifpixman_composite_over_8888_8888_process_pixblock_tail_head (((pixman_composite_over_8888_8888_process_pixblock_tail_headFLAG_DST_READWRITEpixman_composite_over_8888_8888_process_pixblock_tail_head) & pixman_composite_over_8888_8888_process_pixblock_tail_headFLAG_DST_READWRITEpixman_composite_over_8888_8888_process_pixblock_tail_head) != ) -^ -:455:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headsetpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headdst_r_bpppixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headdst_w_bpppixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:456:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headelsepixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:457:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headsetpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headdst_r_bpppixman_composite_over_8888_8888_process_pixblock_tail_head, - ^ -:458:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headendifpixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:459:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headifpixman_composite_over_8888_8888_process_pixblock_tail_head (((pixman_composite_over_8888_8888_process_pixblock_tail_headFLAG_DST_READWRITEpixman_composite_over_8888_8888_process_pixblock_tail_head) & pixman_composite_over_8888_8888_process_pixblock_tail_headFLAG_DEINTERLEAVE_32BPPpixman_composite_over_8888_8888_process_pixblock_tail_head) != ) -^ -:460:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headsetpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headDEINTERLEAVE_32BPP_ENABLEDpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_head1pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:461:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headelsepixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:462:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headsetpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headDEINTERLEAVE_32BPP_ENABLEDpixman_composite_over_8888_8888_process_pixblock_tail_head, - ^ -:463:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headendifpixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:465:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headmacropixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headfetch_src_pixblockpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:466:9: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headpixld_srcpixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headpixld_srcpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headsrc_bpppixman_composite_over_8888_8888_process_pixblock_tail_head, (pixman_composite_over_8888_8888_process_pixblock_tail_headsrc_baseregpixman_composite_over_8888_8888_process_pixblock_tail_head - pixman_composite_over_8888_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_8888_8888_process_pixblock_tail_head * pixman_composite_over_8888_8888_process_pixblock_tail_headsrc_bpppixman_composite_over_8888_8888_process_pixblock_tail_head / pixman_composite_over_8888_8888_process_pixblock_tail_head64pixman_composite_over_8888_8888_process_pixblock_tail_head), pixman_composite_over_8888_8888_process_pixblock_tail_headSRCpixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:468:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headendmpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:470:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headflag_deinterleave_32bpppixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headFLAG_DEINTERLEAVE_32BPPpixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:471:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headmovpixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headmovpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headDST_Rpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headDST_Wpixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:473:244: error: unknown token in expression - pixman_composite_over_8888_8888_process_pixblock_tail_headcmppixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headWpixman_composite_over_8888_8888_process_pixblock_tail_head, #pixman_composite_over_8888_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:474:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headbltpixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headbltpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_head8fpixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:476:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headensure_destination_ptr_alignmentpixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headensure_destination_ptr_alignmentpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headdefault_initpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headdefault_cleanuppixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headpixman_composite_over_8888_8888_process_pixblock_headpixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:480:364: error: unknown token in expression - pixman_composite_over_8888_8888_process_pixblock_tail_headsubspixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headWpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headWpixman_composite_over_8888_8888_process_pixblock_tail_head, #pixman_composite_over_8888_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:481:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headbltpixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headbltpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_head7fpixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:484:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headpixld_apixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headpixld_apixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headdst_r_bpppixman_composite_over_8888_8888_process_pixblock_tail_head, (pixman_composite_over_8888_8888_process_pixblock_tail_headdst_r_baseregpixman_composite_over_8888_8888_process_pixblock_tail_head - pixman_composite_over_8888_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_8888_8888_process_pixblock_tail_head * pixman_composite_over_8888_8888_process_pixblock_tail_headdst_r_bpppixman_composite_over_8888_8888_process_pixblock_tail_head / pixman_composite_over_8888_8888_process_pixblock_tail_head64pixman_composite_over_8888_8888_process_pixblock_tail_head), pixman_composite_over_8888_8888_process_pixblock_tail_headDST_Rpixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:486:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headfetch_src_pixblockpixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headfetch_src_pixblockpixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:487:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headpixldpixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headpixldpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headmask_bpppixman_composite_over_8888_8888_process_pixblock_tail_head, (pixman_composite_over_8888_8888_process_pixblock_tail_headmask_baseregpixman_composite_over_8888_8888_process_pixblock_tail_head - pixman_composite_over_8888_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_8888_8888_process_pixblock_tail_head * pixman_composite_over_8888_8888_process_pixblock_tail_headmask_bpppixman_composite_over_8888_8888_process_pixblock_tail_head / pixman_composite_over_8888_8888_process_pixblock_tail_head64pixman_composite_over_8888_8888_process_pixblock_tail_head), pixman_composite_over_8888_8888_process_pixblock_tail_headMASKpixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:489:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headdefault_initpixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headdefault_initpixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:490:364: error: unknown token in expression - pixman_composite_over_8888_8888_process_pixblock_tail_headsubspixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headWpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headWpixman_composite_over_8888_8888_process_pixblock_tail_head, #pixman_composite_over_8888_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:491:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headbltpixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headbltpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_head2fpixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:492:1: error: invalid symbol redefinition -pixman_composite_over_8888_8888_process_pixblock_tail_head1pixman_composite_over_8888_8888_process_pixblock_tail_head: -^ -:493:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headpixman_composite_over_8888_8888_process_pixblock_headpixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headpixman_composite_over_8888_8888_process_pixblock_headpixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:494:364: error: unknown token in expression - pixman_composite_over_8888_8888_process_pixblock_tail_headsubspixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headWpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headWpixman_composite_over_8888_8888_process_pixblock_tail_head, #pixman_composite_over_8888_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:495:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headbgepixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headbgepixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_head1bpixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:496:1: error: invalid symbol redefinition -pixman_composite_over_8888_8888_process_pixblock_tail_head2pixman_composite_over_8888_8888_process_pixblock_tail_head: -^ -:497:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headdefault_cleanuppixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headdefault_cleanuppixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:498:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headpixst_apixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headpixst_apixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headdst_w_bpppixman_composite_over_8888_8888_process_pixblock_tail_head, (pixman_composite_over_8888_8888_process_pixblock_tail_headdst_w_baseregpixman_composite_over_8888_8888_process_pixblock_tail_head - pixman_composite_over_8888_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_8888_8888_process_pixblock_tail_head * pixman_composite_over_8888_8888_process_pixblock_tail_headdst_w_bpppixman_composite_over_8888_8888_process_pixblock_tail_head / pixman_composite_over_8888_8888_process_pixblock_tail_head64pixman_composite_over_8888_8888_process_pixblock_tail_head), pixman_composite_over_8888_8888_process_pixblock_tail_headDST_Wpixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:502:145: error: unknown token in expression - pixman_composite_over_8888_8888_process_pixblock_tail_headprocess_trailing_pixelspixman_composite_over_8888_8888_process_pixblock_tail_head , pixman_composite_over_8888_8888_process_pixblock_tail_head1pixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headdefault_initpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headdefault_cleanuppixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headpixman_composite_over_8888_8888_process_pixblock_headpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:507:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_head8pixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_head8pixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:508:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headifpixman_composite_over_8888_8888_process_pixblock_tail_head != -^ -:509:125: error: Unexpected '{' in expression - pixman_composite_over_8888_8888_process_pixblock_tail_headpoppixman_composite_over_8888_8888_process_pixblock_tail_head {pixman_composite_over_8888_8888_process_pixblock_tail_headr4pixman_composite_over_8888_8888_process_pixblock_tail_head-pixman_composite_over_8888_8888_process_pixblock_tail_headr8pixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headpcpixman_composite_over_8888_8888_process_pixblock_tail_head} - ^ -:510:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headelsepixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:511:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headbxpixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headbxpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headlrpixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:512:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headendifpixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:513:1: error: invalid symbol redefinition -pixman_composite_over_8888_8888_process_pixblock_tail_head8pixman_composite_over_8888_8888_process_pixblock_tail_head: -^ -:515:145: error: unknown token in expression - pixman_composite_over_8888_8888_process_pixblock_tail_headprocess_trailing_pixelspixman_composite_over_8888_8888_process_pixblock_tail_head , , pixman_composite_over_8888_8888_process_pixblock_tail_headdefault_initpixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headdefault_cleanuppixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headpixman_composite_over_8888_8888_process_pixblock_headpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:520:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_head8pixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_head8pixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:522:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headifpixman_composite_over_8888_8888_process_pixblock_tail_head != -^ -:523:125: error: Unexpected '{' in expression - pixman_composite_over_8888_8888_process_pixblock_tail_headpoppixman_composite_over_8888_8888_process_pixblock_tail_head {pixman_composite_over_8888_8888_process_pixblock_tail_headr4pixman_composite_over_8888_8888_process_pixblock_tail_head-pixman_composite_over_8888_8888_process_pixblock_tail_headr8pixman_composite_over_8888_8888_process_pixblock_tail_head, pixman_composite_over_8888_8888_process_pixblock_tail_headpcpixman_composite_over_8888_8888_process_pixblock_tail_head} - ^ -:525:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headunreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headDST_Rpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:526:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headunreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headSRCpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:527:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headunreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headWpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:528:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headunreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headVXpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:529:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headunreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headUNIT_Xpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:530:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headunreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headTMP1pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:531:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headunreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headTMP2pixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:532:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headunreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headDST_Wpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:533:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headunreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headMASKpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:534:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headunreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headSRC_WIDTH_FIXEDpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:536:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headelsepixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:537:5: error: invalid instruction mnemonic 'pixman_composite_over_8888_8888_process_pixblock_tail_headbxpixman_composite_over_8888_8888_process_pixblock_tail_head' - pixman_composite_over_8888_8888_process_pixblock_tail_headbxpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headlrpixman_composite_over_8888_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:539:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headunreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headSRCpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:540:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headunreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headMASKpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:541:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headunreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headDST_Rpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:542:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headunreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headDST_Wpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:543:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headunreqpixman_composite_over_8888_8888_process_pixblock_tail_head pixman_composite_over_8888_8888_process_pixblock_tail_headWpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:544:1: error: unknown directive -.pixman_composite_over_8888_8888_process_pixblock_tail_headendifpixman_composite_over_8888_8888_process_pixblock_tail_head -^ -:547:5: error: unknown directive - .pixman_composite_over_8888_8888_process_pixblock_tail_headendfuncpixman_composite_over_8888_8888_process_pixblock_tail_head - ^ -:554:5: error: invalid instruction mnemonic 'pixman_composite_over_n_8888_process_pixblock_tail_headpixman_asm_functionpixman_composite_over_n_8888_process_pixblock_tail_head' - pixman_composite_over_n_8888_process_pixblock_tail_headpixman_asm_functionpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headpixman_composite_over_n_8888_asm_neonpixman_composite_over_n_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:556:120: error: Unexpected '{' in expression - pixman_composite_over_n_8888_process_pixblock_tail_headpushpixman_composite_over_n_8888_process_pixblock_tail_head {pixman_composite_over_n_8888_process_pixblock_tail_headr4pixman_composite_over_n_8888_process_pixblock_tail_head-pixman_composite_over_n_8888_process_pixblock_tail_headr12pixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headlrpixman_composite_over_n_8888_process_pixblock_tail_head} - ^ -:563:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headsetpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headPREFETCH_TYPE_CURRENTpixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headPREFETCH_TYPE_DEFAULTpixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:564:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headifpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headFLAG_DEINTERLEAVE_32BPPpixman_composite_over_n_8888_process_pixblock_tail_head == -^ -:565:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headsetpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headPREFETCH_TYPE_CURRENTpixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headPREFETCH_TYPE_NONEpixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:566:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headelseifpixman_composite_over_n_8888_process_pixblock_tail_head (pixman_composite_over_n_8888_process_pixblock_tail_headPREFETCH_TYPE_CURRENTpixman_composite_over_n_8888_process_pixblock_tail_head > pixman_composite_over_n_8888_process_pixblock_tail_headPREFETCH_TYPE_SIMPLEpixman_composite_over_n_8888_process_pixblock_tail_head) && (( == ) || ( == ) || (pixman_composite_over_n_8888_process_pixblock_tail_head32pixman_composite_over_n_8888_process_pixblock_tail_head == )) -^ -:568:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headsetpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headPREFETCH_TYPE_CURRENTpixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headPREFETCH_TYPE_SIMPLEpixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:569:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headendifpixman_composite_over_n_8888_process_pixblock_tail_head -^ -:575:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headsetpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headsrc_bpppixman_composite_over_n_8888_process_pixblock_tail_head, - ^ -:576:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headsetpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headmask_bpppixman_composite_over_n_8888_process_pixblock_tail_head, - ^ -:577:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headsetpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headdst_w_bpppixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_head32pixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:578:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headsetpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_n_8888_process_pixblock_tail_head, | - ^ -:579:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headsetpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headdst_w_baseregpixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headpixman_composite_over_8888_8888_process_pixblock_tailpixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:580:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headsetpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headdst_r_baseregpixman_composite_over_n_8888_process_pixblock_tail_head, - ^ -:581:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headsetpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headsrc_baseregpixman_composite_over_n_8888_process_pixblock_tail_head, - ^ -:582:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headsetpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headmask_baseregpixman_composite_over_n_8888_process_pixblock_tail_head, - ^ -:584:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headmacropixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headpixld_srcpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headxpixman_composite_over_n_8888_process_pixblock_tail_head:pixman_composite_over_n_8888_process_pixblock_tail_headvarargpixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:585:9: error: invalid instruction mnemonic 'pixman_composite_over_n_8888_process_pixblock_tail_headpixldpixman_composite_over_n_8888_process_pixblock_tail_head' - pixman_composite_over_n_8888_process_pixblock_tail_headpixldpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headxpixman_composite_over_n_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:586:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headendmpixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:587:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headmacropixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headfetch_src_pixblockpixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:588:9: error: invalid instruction mnemonic 'pixman_composite_over_n_8888_process_pixblock_tail_headpixld_srcpixman_composite_over_n_8888_process_pixblock_tail_head' - pixman_composite_over_n_8888_process_pixblock_tail_headpixld_srcpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headsrc_bpppixman_composite_over_n_8888_process_pixblock_tail_head, (pixman_composite_over_n_8888_process_pixblock_tail_headsrc_baseregpixman_composite_over_n_8888_process_pixblock_tail_head - pixman_composite_over_n_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_n_8888_process_pixblock_tail_head * pixman_composite_over_n_8888_process_pixblock_tail_headsrc_bpppixman_composite_over_n_8888_process_pixblock_tail_head / pixman_composite_over_n_8888_process_pixblock_tail_head64pixman_composite_over_n_8888_process_pixblock_tail_head), pixman_composite_over_n_8888_process_pixblock_tail_headSRCpixman_composite_over_n_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:590:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headendmpixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:594:232: error: unexpected token in argument list - pixman_composite_over_n_8888_process_pixblock_tail_headWpixman_composite_over_n_8888_process_pixblock_tail_head .pixman_composite_over_n_8888_process_pixblock_tail_headreqpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headr0pixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:595:232: error: unexpected token in argument list - pixman_composite_over_n_8888_process_pixblock_tail_headHpixman_composite_over_n_8888_process_pixblock_tail_head .pixman_composite_over_n_8888_process_pixblock_tail_headreqpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headr1pixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:596:236: error: unexpected token in argument list - pixman_composite_over_n_8888_process_pixblock_tail_headDST_Wpixman_composite_over_n_8888_process_pixblock_tail_head .pixman_composite_over_n_8888_process_pixblock_tail_headreqpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headr2pixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:597:241: error: unexpected token in argument list - pixman_composite_over_n_8888_process_pixblock_tail_headDST_STRIDEpixman_composite_over_n_8888_process_pixblock_tail_head .pixman_composite_over_n_8888_process_pixblock_tail_headreqpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headr3pixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:598:234: error: unexpected token in argument list - pixman_composite_over_n_8888_process_pixblock_tail_headSRCpixman_composite_over_n_8888_process_pixblock_tail_head .pixman_composite_over_n_8888_process_pixblock_tail_headreqpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headr4pixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:599:241: error: unexpected token in argument list - pixman_composite_over_n_8888_process_pixblock_tail_headSRC_STRIDEpixman_composite_over_n_8888_process_pixblock_tail_head .pixman_composite_over_n_8888_process_pixblock_tail_headreqpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headr5pixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:600:236: error: unexpected token in argument list - pixman_composite_over_n_8888_process_pixblock_tail_headDST_Rpixman_composite_over_n_8888_process_pixblock_tail_head .pixman_composite_over_n_8888_process_pixblock_tail_headreqpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headr6pixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:602:235: error: unexpected token in argument list - pixman_composite_over_n_8888_process_pixblock_tail_headMASKpixman_composite_over_n_8888_process_pixblock_tail_head .pixman_composite_over_n_8888_process_pixblock_tail_headreqpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headr7pixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:603:242: error: unexpected token in argument list - pixman_composite_over_n_8888_process_pixblock_tail_headMASK_STRIDEpixman_composite_over_n_8888_process_pixblock_tail_head .pixman_composite_over_n_8888_process_pixblock_tail_headreqpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headr8pixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:605:237: error: unexpected token in argument list - pixman_composite_over_n_8888_process_pixblock_tail_headPF_CTLpixman_composite_over_n_8888_process_pixblock_tail_head .pixman_composite_over_n_8888_process_pixblock_tail_headreqpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headr9pixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:607:235: error: unexpected token in argument list - pixman_composite_over_n_8888_process_pixblock_tail_headPF_Xpixman_composite_over_n_8888_process_pixblock_tail_head .pixman_composite_over_n_8888_process_pixblock_tail_headreqpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headr10pixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:609:237: error: unexpected token in argument list - pixman_composite_over_n_8888_process_pixblock_tail_headPF_SRCpixman_composite_over_n_8888_process_pixblock_tail_head .pixman_composite_over_n_8888_process_pixblock_tail_headreqpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headr11pixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:611:237: error: unexpected token in argument list - pixman_composite_over_n_8888_process_pixblock_tail_headPF_DSTpixman_composite_over_n_8888_process_pixblock_tail_head .pixman_composite_over_n_8888_process_pixblock_tail_headreqpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headr12pixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:613:238: error: unexpected token in argument list - pixman_composite_over_n_8888_process_pixblock_tail_headPF_MASKpixman_composite_over_n_8888_process_pixblock_tail_head .pixman_composite_over_n_8888_process_pixblock_tail_headreqpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headr14pixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:615:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headifpixman_composite_over_n_8888_process_pixblock_tail_head (pixman_composite_over_n_8888_process_pixblock_tail_headPREFETCH_TYPE_CURRENTpixman_composite_over_n_8888_process_pixblock_tail_head < pixman_composite_over_n_8888_process_pixblock_tail_headPREFETCH_TYPE_ADVANCEDpixman_composite_over_n_8888_process_pixblock_tail_head) -^ -:616:237: error: unexpected token in argument list - pixman_composite_over_n_8888_process_pixblock_tail_headORIG_Wpixman_composite_over_n_8888_process_pixblock_tail_head .pixman_composite_over_n_8888_process_pixblock_tail_headreqpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headr10pixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:617:236: error: unexpected token in argument list - pixman_composite_over_n_8888_process_pixblock_tail_headDUMMYpixman_composite_over_n_8888_process_pixblock_tail_head .pixman_composite_over_n_8888_process_pixblock_tail_headreqpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headr12pixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:618:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headsetpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headregs_shortagepixman_composite_over_n_8888_process_pixblock_tail_head, - ^ -:619:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headelseifpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headmask_bpppixman_composite_over_n_8888_process_pixblock_tail_head == -^ -:620:237: error: unexpected token in argument list - pixman_composite_over_n_8888_process_pixblock_tail_headORIG_Wpixman_composite_over_n_8888_process_pixblock_tail_head .pixman_composite_over_n_8888_process_pixblock_tail_headreqpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headr7pixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:621:236: error: unexpected token in argument list - pixman_composite_over_n_8888_process_pixblock_tail_headDUMMYpixman_composite_over_n_8888_process_pixblock_tail_head .pixman_composite_over_n_8888_process_pixblock_tail_headreqpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headr8pixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:622:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headsetpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headregs_shortagepixman_composite_over_n_8888_process_pixblock_tail_head, - ^ -:623:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headelseifpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headsrc_bpppixman_composite_over_n_8888_process_pixblock_tail_head == -^ -:624:237: error: unexpected token in argument list - pixman_composite_over_n_8888_process_pixblock_tail_headORIG_Wpixman_composite_over_n_8888_process_pixblock_tail_head .pixman_composite_over_n_8888_process_pixblock_tail_headreqpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headr4pixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:625:236: error: unexpected token in argument list - pixman_composite_over_n_8888_process_pixblock_tail_headDUMMYpixman_composite_over_n_8888_process_pixblock_tail_head .pixman_composite_over_n_8888_process_pixblock_tail_headreqpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headr5pixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:626:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headsetpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headregs_shortagepixman_composite_over_n_8888_process_pixblock_tail_head, - ^ -:627:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headelsepixman_composite_over_n_8888_process_pixblock_tail_head -^ -:628:237: error: unexpected token in argument list - pixman_composite_over_n_8888_process_pixblock_tail_headORIG_Wpixman_composite_over_n_8888_process_pixblock_tail_head .pixman_composite_over_n_8888_process_pixblock_tail_headreqpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headr1pixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:629:236: error: unexpected token in argument list - pixman_composite_over_n_8888_process_pixblock_tail_headDUMMYpixman_composite_over_n_8888_process_pixblock_tail_head .pixman_composite_over_n_8888_process_pixblock_tail_headreqpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headr1pixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:630:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headsetpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headregs_shortagepixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_head1pixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:631:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headendifpixman_composite_over_n_8888_process_pixblock_tail_head -^ -:633:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headsetpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headmask_bpp_shiftpixman_composite_over_n_8888_process_pixblock_tail_head, -pixman_composite_over_n_8888_process_pixblock_tail_head1pixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:634:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headifpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headsrc_bpppixman_composite_over_n_8888_process_pixblock_tail_head == pixman_composite_over_n_8888_process_pixblock_tail_head32pixman_composite_over_n_8888_process_pixblock_tail_head -^ -:635:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headsetpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headsrc_bpp_shiftpixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_head2pixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:636:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headelseifpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headsrc_bpppixman_composite_over_n_8888_process_pixblock_tail_head == -^ -:637:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headsetpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headsrc_bpp_shiftpixman_composite_over_n_8888_process_pixblock_tail_head, - ^ -:638:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headelseifpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headsrc_bpppixman_composite_over_n_8888_process_pixblock_tail_head == pixman_composite_over_n_8888_process_pixblock_tail_head16pixman_composite_over_n_8888_process_pixblock_tail_head -^ -:639:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headsetpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headsrc_bpp_shiftpixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_head1pixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:640:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headelseifpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headsrc_bpppixman_composite_over_n_8888_process_pixblock_tail_head == pixman_composite_over_n_8888_process_pixblock_tail_head8pixman_composite_over_n_8888_process_pixblock_tail_head -^ -:641:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headsetpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headsrc_bpp_shiftpixman_composite_over_n_8888_process_pixblock_tail_head, - ^ -:642:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headelseifpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headsrc_bpppixman_composite_over_n_8888_process_pixblock_tail_head == -^ -:643:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headsetpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headsrc_bpp_shiftpixman_composite_over_n_8888_process_pixblock_tail_head, -pixman_composite_over_n_8888_process_pixblock_tail_head1pixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:644:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headelsepixman_composite_over_n_8888_process_pixblock_tail_head -^ -:645:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headerrorpixman_composite_over_n_8888_process_pixblock_tail_head "pixman_composite_over_n_8888_process_pixblock_tail_headrequestedpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headsrcpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headbpppixman_composite_over_n_8888_process_pixblock_tail_head (pixman_composite_over_n_8888_process_pixblock_tail_headsrc_bpppixman_composite_over_n_8888_process_pixblock_tail_head) pixman_composite_over_n_8888_process_pixblock_tail_headispixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headnotpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headsupportedpixman_composite_over_n_8888_process_pixblock_tail_head" - ^ -:646:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headendifpixman_composite_over_n_8888_process_pixblock_tail_head -^ -:647:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headifpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headmask_bpppixman_composite_over_n_8888_process_pixblock_tail_head == pixman_composite_over_n_8888_process_pixblock_tail_head32pixman_composite_over_n_8888_process_pixblock_tail_head -^ -:648:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headsetpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headmask_bpp_shiftpixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_head2pixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:649:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headelseifpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headmask_bpppixman_composite_over_n_8888_process_pixblock_tail_head == -^ -:650:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headsetpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headmask_bpp_shiftpixman_composite_over_n_8888_process_pixblock_tail_head, - ^ -:651:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headelseifpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headmask_bpppixman_composite_over_n_8888_process_pixblock_tail_head == pixman_composite_over_n_8888_process_pixblock_tail_head8pixman_composite_over_n_8888_process_pixblock_tail_head -^ -:652:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headsetpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headmask_bpp_shiftpixman_composite_over_n_8888_process_pixblock_tail_head, - ^ -:653:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headelseifpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headmask_bpppixman_composite_over_n_8888_process_pixblock_tail_head == -^ -:654:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headsetpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headmask_bpp_shiftpixman_composite_over_n_8888_process_pixblock_tail_head, -pixman_composite_over_n_8888_process_pixblock_tail_head1pixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:655:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headelsepixman_composite_over_n_8888_process_pixblock_tail_head -^ -:656:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headerrorpixman_composite_over_n_8888_process_pixblock_tail_head "pixman_composite_over_n_8888_process_pixblock_tail_headrequestedpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headmaskpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headbpppixman_composite_over_n_8888_process_pixblock_tail_head (pixman_composite_over_n_8888_process_pixblock_tail_headmask_bpppixman_composite_over_n_8888_process_pixblock_tail_head) pixman_composite_over_n_8888_process_pixblock_tail_headispixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headnotpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headsupportedpixman_composite_over_n_8888_process_pixblock_tail_head" - ^ -:657:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headendifpixman_composite_over_n_8888_process_pixblock_tail_head -^ -:658:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headifpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headdst_w_bpppixman_composite_over_n_8888_process_pixblock_tail_head == pixman_composite_over_n_8888_process_pixblock_tail_head32pixman_composite_over_n_8888_process_pixblock_tail_head -^ -:659:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headsetpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headdst_bpp_shiftpixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_head2pixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:660:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headelseifpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headdst_w_bpppixman_composite_over_n_8888_process_pixblock_tail_head == -^ -:661:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headsetpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headdst_bpp_shiftpixman_composite_over_n_8888_process_pixblock_tail_head, - ^ -:662:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headelseifpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headdst_w_bpppixman_composite_over_n_8888_process_pixblock_tail_head == pixman_composite_over_n_8888_process_pixblock_tail_head16pixman_composite_over_n_8888_process_pixblock_tail_head -^ -:663:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headsetpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headdst_bpp_shiftpixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_head1pixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:664:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headelseifpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headdst_w_bpppixman_composite_over_n_8888_process_pixblock_tail_head == pixman_composite_over_n_8888_process_pixblock_tail_head8pixman_composite_over_n_8888_process_pixblock_tail_head -^ -:665:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headsetpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headdst_bpp_shiftpixman_composite_over_n_8888_process_pixblock_tail_head, - ^ -:666:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headelsepixman_composite_over_n_8888_process_pixblock_tail_head -^ -:667:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headerrorpixman_composite_over_n_8888_process_pixblock_tail_head "pixman_composite_over_n_8888_process_pixblock_tail_headrequestedpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headdstpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headbpppixman_composite_over_n_8888_process_pixblock_tail_head (pixman_composite_over_n_8888_process_pixblock_tail_headdst_w_bpppixman_composite_over_n_8888_process_pixblock_tail_head) pixman_composite_over_n_8888_process_pixblock_tail_headispixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headnotpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headsupportedpixman_composite_over_n_8888_process_pixblock_tail_head" - ^ -:668:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headendifpixman_composite_over_n_8888_process_pixblock_tail_head -^ -:670:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headifpixman_composite_over_n_8888_process_pixblock_tail_head (((pixman_composite_over_n_8888_process_pixblock_tail_headFLAG_DST_READWRITEpixman_composite_over_n_8888_process_pixblock_tail_head) & pixman_composite_over_n_8888_process_pixblock_tail_headFLAG_DST_READWRITEpixman_composite_over_n_8888_process_pixblock_tail_head) != ) -^ -:671:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headsetpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headdst_r_bpppixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headdst_w_bpppixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:672:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headelsepixman_composite_over_n_8888_process_pixblock_tail_head -^ -:673:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headsetpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headdst_r_bpppixman_composite_over_n_8888_process_pixblock_tail_head, - ^ -:674:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headendifpixman_composite_over_n_8888_process_pixblock_tail_head -^ -:675:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headifpixman_composite_over_n_8888_process_pixblock_tail_head (((pixman_composite_over_n_8888_process_pixblock_tail_headFLAG_DST_READWRITEpixman_composite_over_n_8888_process_pixblock_tail_head) & pixman_composite_over_n_8888_process_pixblock_tail_headFLAG_DEINTERLEAVE_32BPPpixman_composite_over_n_8888_process_pixblock_tail_head) != ) -^ -:676:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headsetpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headDEINTERLEAVE_32BPP_ENABLEDpixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_head1pixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:677:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headelsepixman_composite_over_n_8888_process_pixblock_tail_head -^ -:678:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headsetpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headDEINTERLEAVE_32BPP_ENABLEDpixman_composite_over_n_8888_process_pixblock_tail_head, - ^ -:679:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headendifpixman_composite_over_n_8888_process_pixblock_tail_head -^ -:681:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headifpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headFLAG_DEINTERLEAVE_32BPPpixman_composite_over_n_8888_process_pixblock_tail_head < || pixman_composite_over_n_8888_process_pixblock_tail_headFLAG_DEINTERLEAVE_32BPPpixman_composite_over_n_8888_process_pixblock_tail_head > pixman_composite_over_n_8888_process_pixblock_tail_head15pixman_composite_over_n_8888_process_pixblock_tail_head -^ -:682:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headerrorpixman_composite_over_n_8888_process_pixblock_tail_head "pixman_composite_over_n_8888_process_pixblock_tail_headinvalidpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headprefetchpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headdistancepixman_composite_over_n_8888_process_pixblock_tail_head (pixman_composite_over_n_8888_process_pixblock_tail_headFLAG_DEINTERLEAVE_32BPPpixman_composite_over_n_8888_process_pixblock_tail_head)" - ^ -:683:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headendifpixman_composite_over_n_8888_process_pixblock_tail_head -^ -:685:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headifpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headsrc_bpppixman_composite_over_n_8888_process_pixblock_tail_head > -^ -:686:234: error: brackets expression not supported on this target - pixman_composite_over_n_8888_process_pixblock_tail_headldrpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headSRCpixman_composite_over_n_8888_process_pixblock_tail_head, [pixman_composite_over_n_8888_process_pixblock_tail_headsppixman_composite_over_n_8888_process_pixblock_tail_head, #pixman_composite_over_n_8888_process_pixblock_tail_head40pixman_composite_over_n_8888_process_pixblock_tail_head] - ^ -:687:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headendifpixman_composite_over_n_8888_process_pixblock_tail_head -^ -:688:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headifpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headmask_bpppixman_composite_over_n_8888_process_pixblock_tail_head > -^ -:689:235: error: brackets expression not supported on this target - pixman_composite_over_n_8888_process_pixblock_tail_headldrpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headMASKpixman_composite_over_n_8888_process_pixblock_tail_head, [pixman_composite_over_n_8888_process_pixblock_tail_headsppixman_composite_over_n_8888_process_pixblock_tail_head, #pixman_composite_over_n_8888_process_pixblock_tail_head48pixman_composite_over_n_8888_process_pixblock_tail_head] - ^ -:690:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headendifpixman_composite_over_n_8888_process_pixblock_tail_head -^ -:691:232: error: unexpected token in argument list - pixman_composite_over_n_8888_process_pixblock_tail_headPFpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headmovpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headPF_Xpixman_composite_over_n_8888_process_pixblock_tail_head, # - ^ -:692:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headifpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headsrc_bpppixman_composite_over_n_8888_process_pixblock_tail_head > -^ -:693:241: error: brackets expression not supported on this target - pixman_composite_over_n_8888_process_pixblock_tail_headldrpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headSRC_STRIDEpixman_composite_over_n_8888_process_pixblock_tail_head, [pixman_composite_over_n_8888_process_pixblock_tail_headsppixman_composite_over_n_8888_process_pixblock_tail_head, #pixman_composite_over_n_8888_process_pixblock_tail_head44pixman_composite_over_n_8888_process_pixblock_tail_head] - ^ -:694:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headendifpixman_composite_over_n_8888_process_pixblock_tail_head -^ -:695:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headifpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headmask_bpppixman_composite_over_n_8888_process_pixblock_tail_head > -^ -:696:242: error: brackets expression not supported on this target - pixman_composite_over_n_8888_process_pixblock_tail_headldrpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headMASK_STRIDEpixman_composite_over_n_8888_process_pixblock_tail_head, [pixman_composite_over_n_8888_process_pixblock_tail_headsppixman_composite_over_n_8888_process_pixblock_tail_head, #pixman_composite_over_n_8888_process_pixblock_tail_head52pixman_composite_over_n_8888_process_pixblock_tail_head] - ^ -:697:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headendifpixman_composite_over_n_8888_process_pixblock_tail_head -^ -:698:5: error: invalid instruction mnemonic 'pixman_composite_over_n_8888_process_pixblock_tail_headmovpixman_composite_over_n_8888_process_pixblock_tail_head' - pixman_composite_over_n_8888_process_pixblock_tail_headmovpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headDST_Rpixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headDST_Wpixman_composite_over_n_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:700:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headifpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headsrc_bpppixman_composite_over_n_8888_process_pixblock_tail_head == -^ -:701:5: error: invalid instruction mnemonic 'pixman_composite_over_n_8888_process_pixblock_tail_headsubpixman_composite_over_n_8888_process_pixblock_tail_head' - pixman_composite_over_n_8888_process_pixblock_tail_headsubpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headSRC_STRIDEpixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headSRC_STRIDEpixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headWpixman_composite_over_n_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:702:5: error: invalid instruction mnemonic 'pixman_composite_over_n_8888_process_pixblock_tail_headsubpixman_composite_over_n_8888_process_pixblock_tail_head' - pixman_composite_over_n_8888_process_pixblock_tail_headsubpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headSRC_STRIDEpixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headSRC_STRIDEpixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headWpixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headlslpixman_composite_over_n_8888_process_pixblock_tail_head #pixman_composite_over_n_8888_process_pixblock_tail_head1pixman_composite_over_n_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:703:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headendifpixman_composite_over_n_8888_process_pixblock_tail_head -^ -:704:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headifpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headmask_bpppixman_composite_over_n_8888_process_pixblock_tail_head == -^ -:705:5: error: invalid instruction mnemonic 'pixman_composite_over_n_8888_process_pixblock_tail_headsubpixman_composite_over_n_8888_process_pixblock_tail_head' - pixman_composite_over_n_8888_process_pixblock_tail_headsubpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headMASK_STRIDEpixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headMASK_STRIDEpixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headWpixman_composite_over_n_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:706:5: error: invalid instruction mnemonic 'pixman_composite_over_n_8888_process_pixblock_tail_headsubpixman_composite_over_n_8888_process_pixblock_tail_head' - pixman_composite_over_n_8888_process_pixblock_tail_headsubpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headMASK_STRIDEpixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headMASK_STRIDEpixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headWpixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headlslpixman_composite_over_n_8888_process_pixblock_tail_head #pixman_composite_over_n_8888_process_pixblock_tail_head1pixman_composite_over_n_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:707:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headendifpixman_composite_over_n_8888_process_pixblock_tail_head -^ -:708:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headifpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headdst_w_bpppixman_composite_over_n_8888_process_pixblock_tail_head == -^ -:709:5: error: invalid instruction mnemonic 'pixman_composite_over_n_8888_process_pixblock_tail_headsubpixman_composite_over_n_8888_process_pixblock_tail_head' - pixman_composite_over_n_8888_process_pixblock_tail_headsubpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headDST_STRIDEpixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headDST_STRIDEpixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headWpixman_composite_over_n_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:710:5: error: invalid instruction mnemonic 'pixman_composite_over_n_8888_process_pixblock_tail_headsubpixman_composite_over_n_8888_process_pixblock_tail_head' - pixman_composite_over_n_8888_process_pixblock_tail_headsubpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headDST_STRIDEpixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headDST_STRIDEpixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headWpixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headlslpixman_composite_over_n_8888_process_pixblock_tail_head #pixman_composite_over_n_8888_process_pixblock_tail_head1pixman_composite_over_n_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:711:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headendifpixman_composite_over_n_8888_process_pixblock_tail_head -^ -:716:232: error: unexpected token in argument list - pixman_composite_over_n_8888_process_pixblock_tail_headPFpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headmovpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headPF_SRCpixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headSRCpixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:717:232: error: unexpected token in argument list - pixman_composite_over_n_8888_process_pixblock_tail_headPFpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headmovpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headPF_DSTpixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headDST_Rpixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:718:232: error: unexpected token in argument list - pixman_composite_over_n_8888_process_pixblock_tail_headPFpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headmovpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headPF_MASKpixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headMASKpixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:720:232: error: unexpected token in argument list - pixman_composite_over_n_8888_process_pixblock_tail_headPFpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headmovpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headPF_CTLpixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headHpixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headlslpixman_composite_over_n_8888_process_pixblock_tail_head # - ^ -:721:232: error: unexpected token in argument list - pixman_composite_over_n_8888_process_pixblock_tail_headPFpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headaddpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headPF_CTLpixman_composite_over_n_8888_process_pixblock_tail_head, #(pixman_composite_over_n_8888_process_pixblock_tail_headFLAG_DEINTERLEAVE_32BPPpixman_composite_over_n_8888_process_pixblock_tail_head - pixman_composite_over_n_8888_process_pixblock_tail_head0x10pixman_composite_over_n_8888_process_pixblock_tail_head) - ^ -:723:5: error: invalid instruction mnemonic 'pixman_composite_over_n_8888_process_pixblock_tail_head8pixman_composite_over_n_8888_process_pixblock_tail_head' - pixman_composite_over_n_8888_process_pixblock_tail_head8pixman_composite_over_n_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:724:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headifpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headregs_shortagepixman_composite_over_n_8888_process_pixblock_tail_head -^ -:725:120: error: Unexpected '{' in expression - pixman_composite_over_n_8888_process_pixblock_tail_headpushpixman_composite_over_n_8888_process_pixblock_tail_head {pixman_composite_over_n_8888_process_pixblock_tail_headr0pixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headr1pixman_composite_over_n_8888_process_pixblock_tail_head} - ^ -:726:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headendifpixman_composite_over_n_8888_process_pixblock_tail_head -^ -:727:346: error: unknown token in expression - pixman_composite_over_n_8888_process_pixblock_tail_headsubspixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headHpixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headHpixman_composite_over_n_8888_process_pixblock_tail_head, #pixman_composite_over_n_8888_process_pixblock_tail_head1pixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:728:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headifpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headregs_shortagepixman_composite_over_n_8888_process_pixblock_tail_head -^ -:729:232: error: brackets expression not supported on this target - pixman_composite_over_n_8888_process_pixblock_tail_headstrpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headHpixman_composite_over_n_8888_process_pixblock_tail_head, [pixman_composite_over_n_8888_process_pixblock_tail_headsppixman_composite_over_n_8888_process_pixblock_tail_head, #] - ^ -:730:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headelsepixman_composite_over_n_8888_process_pixblock_tail_head -^ -:731:5: error: invalid instruction mnemonic 'pixman_composite_over_n_8888_process_pixblock_tail_headmovpixman_composite_over_n_8888_process_pixblock_tail_head' - pixman_composite_over_n_8888_process_pixblock_tail_headmovpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headORIG_Wpixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headWpixman_composite_over_n_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:732:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headendifpixman_composite_over_n_8888_process_pixblock_tail_head -^ -:733:5: error: invalid instruction mnemonic 'pixman_composite_over_n_8888_process_pixblock_tail_headbltpixman_composite_over_n_8888_process_pixblock_tail_head' - pixman_composite_over_n_8888_process_pixblock_tail_headbltpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_head9fpixman_composite_over_n_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:734:232: error: unknown token in expression - pixman_composite_over_n_8888_process_pixblock_tail_headcmppixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headWpixman_composite_over_n_8888_process_pixblock_tail_head, #(pixman_composite_over_n_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_n_8888_process_pixblock_tail_head * pixman_composite_over_n_8888_process_pixblock_tail_head2pixman_composite_over_n_8888_process_pixblock_tail_head) - ^ -:735:5: error: invalid instruction mnemonic 'pixman_composite_over_n_8888_process_pixblock_tail_headbltpixman_composite_over_n_8888_process_pixblock_tail_head' - pixman_composite_over_n_8888_process_pixblock_tail_headbltpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_head8fpixman_composite_over_n_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:740:1: error: unexpected token at start of statement -: -^ -:741:5: error: invalid instruction mnemonic 'pixman_composite_over_n_8888_process_pixblock_tail_headensure_destination_ptr_alignmentpixman_composite_over_n_8888_process_pixblock_tail_head' - pixman_composite_over_n_8888_process_pixblock_tail_headensure_destination_ptr_alignmentpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headpixman_composite_over_n_8888_initpixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headdefault_cleanuppixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headpixman_composite_over_8888_8888_process_pixblock_headpixman_composite_over_n_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:746:5: error: invalid instruction mnemonic 'pixman_composite_over_n_8888_process_pixblock_tail_headpixld_apixman_composite_over_n_8888_process_pixblock_tail_head' - pixman_composite_over_n_8888_process_pixblock_tail_headpixld_apixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headdst_r_bpppixman_composite_over_n_8888_process_pixblock_tail_head, (pixman_composite_over_n_8888_process_pixblock_tail_headdst_r_baseregpixman_composite_over_n_8888_process_pixblock_tail_head - pixman_composite_over_n_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_n_8888_process_pixblock_tail_head * pixman_composite_over_n_8888_process_pixblock_tail_headdst_r_bpppixman_composite_over_n_8888_process_pixblock_tail_head / pixman_composite_over_n_8888_process_pixblock_tail_head64pixman_composite_over_n_8888_process_pixblock_tail_head), pixman_composite_over_n_8888_process_pixblock_tail_headDST_Rpixman_composite_over_n_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:748:5: error: invalid instruction mnemonic 'pixman_composite_over_n_8888_process_pixblock_tail_headfetch_src_pixblockpixman_composite_over_n_8888_process_pixblock_tail_head' - pixman_composite_over_n_8888_process_pixblock_tail_headfetch_src_pixblockpixman_composite_over_n_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:749:5: error: invalid instruction mnemonic 'pixman_composite_over_n_8888_process_pixblock_tail_headpixldpixman_composite_over_n_8888_process_pixblock_tail_head' - pixman_composite_over_n_8888_process_pixblock_tail_headpixldpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headmask_bpppixman_composite_over_n_8888_process_pixblock_tail_head, (pixman_composite_over_n_8888_process_pixblock_tail_headmask_baseregpixman_composite_over_n_8888_process_pixblock_tail_head - pixman_composite_over_n_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_n_8888_process_pixblock_tail_head * pixman_composite_over_n_8888_process_pixblock_tail_headmask_bpppixman_composite_over_n_8888_process_pixblock_tail_head / pixman_composite_over_n_8888_process_pixblock_tail_head64pixman_composite_over_n_8888_process_pixblock_tail_head), pixman_composite_over_n_8888_process_pixblock_tail_headMASKpixman_composite_over_n_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:751:232: error: unexpected token in argument list - pixman_composite_over_n_8888_process_pixblock_tail_headPFpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headaddpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headPF_Xpixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headPF_Xpixman_composite_over_n_8888_process_pixblock_tail_head, #pixman_composite_over_n_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:752:5: error: invalid instruction mnemonic 'pixman_composite_over_n_8888_process_pixblock_tail_headpixman_composite_over_n_8888_initpixman_composite_over_n_8888_process_pixblock_tail_head' - pixman_composite_over_n_8888_process_pixblock_tail_headpixman_composite_over_n_8888_initpixman_composite_over_n_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:753:129: error: unknown token in expression - pixman_composite_over_n_8888_process_pixblock_tail_headcache_preloadpixman_composite_over_n_8888_process_pixblock_tail_head , pixman_composite_over_n_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:754:5: error: invalid instruction mnemonic 'pixman_composite_over_n_8888_process_pixblock_tail_headcache_preload_simplepixman_composite_over_n_8888_process_pixblock_tail_head' - pixman_composite_over_n_8888_process_pixblock_tail_headcache_preload_simplepixman_composite_over_n_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:755:346: error: unknown token in expression - pixman_composite_over_n_8888_process_pixblock_tail_headsubspixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headWpixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headWpixman_composite_over_n_8888_process_pixblock_tail_head, #(pixman_composite_over_n_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_n_8888_process_pixblock_tail_head * pixman_composite_over_n_8888_process_pixblock_tail_head2pixman_composite_over_n_8888_process_pixblock_tail_head) - ^ -:756:5: error: invalid instruction mnemonic 'pixman_composite_over_n_8888_process_pixblock_tail_headbltpixman_composite_over_n_8888_process_pixblock_tail_head' - pixman_composite_over_n_8888_process_pixblock_tail_headbltpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_head2fpixman_composite_over_n_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:758:5: error: invalid instruction mnemonic 'pixman_composite_over_n_8888_process_pixblock_tail_headpixman_composite_over_8888_8888_process_pixblock_headpixman_composite_over_n_8888_process_pixblock_tail_head' - pixman_composite_over_n_8888_process_pixblock_tail_headpixman_composite_over_8888_8888_process_pixblock_headpixman_composite_over_n_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:759:5: error: invalid instruction mnemonic 'pixman_composite_over_n_8888_process_pixblock_tail_headcache_preload_simplepixman_composite_over_n_8888_process_pixblock_tail_head' - pixman_composite_over_n_8888_process_pixblock_tail_headcache_preload_simplepixman_composite_over_n_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:760:346: error: unknown token in expression - pixman_composite_over_n_8888_process_pixblock_tail_headsubspixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headWpixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headWpixman_composite_over_n_8888_process_pixblock_tail_head, #pixman_composite_over_n_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:761:5: error: invalid instruction mnemonic 'pixman_composite_over_n_8888_process_pixblock_tail_headbgepixman_composite_over_n_8888_process_pixblock_tail_head' - pixman_composite_over_n_8888_process_pixblock_tail_headbgepixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_head1bpixman_composite_over_n_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:763:5: error: invalid instruction mnemonic 'pixman_composite_over_n_8888_process_pixblock_tail_headdefault_cleanuppixman_composite_over_n_8888_process_pixblock_tail_head' - pixman_composite_over_n_8888_process_pixblock_tail_headdefault_cleanuppixman_composite_over_n_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:764:5: error: invalid instruction mnemonic 'pixman_composite_over_n_8888_process_pixblock_tail_headpixst_apixman_composite_over_n_8888_process_pixblock_tail_head' - pixman_composite_over_n_8888_process_pixblock_tail_headpixst_apixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headdst_w_bpppixman_composite_over_n_8888_process_pixblock_tail_head, (pixman_composite_over_n_8888_process_pixblock_tail_headdst_w_baseregpixman_composite_over_n_8888_process_pixblock_tail_head - pixman_composite_over_n_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_n_8888_process_pixblock_tail_head * pixman_composite_over_n_8888_process_pixblock_tail_headdst_w_bpppixman_composite_over_n_8888_process_pixblock_tail_head / pixman_composite_over_n_8888_process_pixblock_tail_head64pixman_composite_over_n_8888_process_pixblock_tail_head), pixman_composite_over_n_8888_process_pixblock_tail_headDST_Wpixman_composite_over_n_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:768:5: error: invalid instruction mnemonic 'pixman_composite_over_n_8888_process_pixblock_tail_headprocess_trailing_pixelspixman_composite_over_n_8888_process_pixblock_tail_head' - pixman_composite_over_n_8888_process_pixblock_tail_headprocess_trailing_pixelspixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_head1pixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_head1pixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headpixman_composite_over_n_8888_initpixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headdefault_cleanuppixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headpixman_composite_over_8888_8888_process_pixblock_headpixman_composite_over_n_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:772:5: error: invalid instruction mnemonic 'pixman_composite_over_n_8888_process_pixblock_tail_headadvance_to_next_scanlinepixman_composite_over_n_8888_process_pixblock_tail_head' - pixman_composite_over_n_8888_process_pixblock_tail_headadvance_to_next_scanlinepixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_head0bpixman_composite_over_n_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:774:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headifpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headregs_shortagepixman_composite_over_n_8888_process_pixblock_tail_head -^ -:775:119: error: Unexpected '{' in expression - pixman_composite_over_n_8888_process_pixblock_tail_headpoppixman_composite_over_n_8888_process_pixblock_tail_head {pixman_composite_over_n_8888_process_pixblock_tail_headr0pixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headr1pixman_composite_over_n_8888_process_pixblock_tail_head} - ^ -:776:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headendifpixman_composite_over_n_8888_process_pixblock_tail_head -^ -:777:5: error: invalid instruction mnemonic 'pixman_composite_over_n_8888_process_pixblock_tail_head5pixman_composite_over_n_8888_process_pixblock_tail_head' - pixman_composite_over_n_8888_process_pixblock_tail_head5pixman_composite_over_n_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:778:119: error: Unexpected '{' in expression - pixman_composite_over_n_8888_process_pixblock_tail_headpoppixman_composite_over_n_8888_process_pixblock_tail_head {pixman_composite_over_n_8888_process_pixblock_tail_headr4pixman_composite_over_n_8888_process_pixblock_tail_head-pixman_composite_over_n_8888_process_pixblock_tail_headr12pixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headpcpixman_composite_over_n_8888_process_pixblock_tail_head} - ^ -:786:232: error: unknown token in expression - pixman_composite_over_n_8888_process_pixblock_tail_headtstpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headWpixman_composite_over_n_8888_process_pixblock_tail_head, #pixman_composite_over_n_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:787:5: error: invalid instruction mnemonic 'pixman_composite_over_n_8888_process_pixblock_tail_headbeqpixman_composite_over_n_8888_process_pixblock_tail_head' - pixman_composite_over_n_8888_process_pixblock_tail_headbeqpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_head1fpixman_composite_over_n_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:788:5: error: invalid instruction mnemonic 'pixman_composite_over_n_8888_process_pixblock_tail_headpixldpixman_composite_over_n_8888_process_pixblock_tail_head' - pixman_composite_over_n_8888_process_pixblock_tail_headpixldpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headdst_r_bpppixman_composite_over_n_8888_process_pixblock_tail_head, (pixman_composite_over_n_8888_process_pixblock_tail_headdst_r_baseregpixman_composite_over_n_8888_process_pixblock_tail_head - pixman_composite_over_n_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_n_8888_process_pixblock_tail_head * pixman_composite_over_n_8888_process_pixblock_tail_headdst_r_bpppixman_composite_over_n_8888_process_pixblock_tail_head / pixman_composite_over_n_8888_process_pixblock_tail_head64pixman_composite_over_n_8888_process_pixblock_tail_head), pixman_composite_over_n_8888_process_pixblock_tail_headDST_Rpixman_composite_over_n_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:790:5: error: invalid instruction mnemonic 'pixman_composite_over_n_8888_process_pixblock_tail_headfetch_src_pixblockpixman_composite_over_n_8888_process_pixblock_tail_head' - pixman_composite_over_n_8888_process_pixblock_tail_headfetch_src_pixblockpixman_composite_over_n_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:791:5: error: invalid instruction mnemonic 'pixman_composite_over_n_8888_process_pixblock_tail_headpixldpixman_composite_over_n_8888_process_pixblock_tail_head' - pixman_composite_over_n_8888_process_pixblock_tail_headpixldpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headmask_bpppixman_composite_over_n_8888_process_pixblock_tail_head, (pixman_composite_over_n_8888_process_pixblock_tail_headmask_baseregpixman_composite_over_n_8888_process_pixblock_tail_head - pixman_composite_over_n_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_n_8888_process_pixblock_tail_head * pixman_composite_over_n_8888_process_pixblock_tail_headmask_bpppixman_composite_over_n_8888_process_pixblock_tail_head / pixman_composite_over_n_8888_process_pixblock_tail_head64pixman_composite_over_n_8888_process_pixblock_tail_head), pixman_composite_over_n_8888_process_pixblock_tail_headMASKpixman_composite_over_n_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:793:5: error: invalid instruction mnemonic 'pixman_composite_over_n_8888_process_pixblock_tail_headpixman_composite_over_n_8888_initpixman_composite_over_n_8888_process_pixblock_tail_head' - pixman_composite_over_n_8888_process_pixblock_tail_headpixman_composite_over_n_8888_initpixman_composite_over_n_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:794:5: error: invalid instruction mnemonic 'pixman_composite_over_n_8888_process_pixblock_tail_headdefault_cleanuppixman_composite_over_n_8888_process_pixblock_tail_head' - pixman_composite_over_n_8888_process_pixblock_tail_headdefault_cleanuppixman_composite_over_n_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:795:5: error: invalid instruction mnemonic 'pixman_composite_over_n_8888_process_pixblock_tail_headpixstpixman_composite_over_n_8888_process_pixblock_tail_head' - pixman_composite_over_n_8888_process_pixblock_tail_headpixstpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headdst_w_bpppixman_composite_over_n_8888_process_pixblock_tail_head, (pixman_composite_over_n_8888_process_pixblock_tail_headdst_w_baseregpixman_composite_over_n_8888_process_pixblock_tail_head - pixman_composite_over_n_8888_process_pixblock_tail_headpixblock_sizepixman_composite_over_n_8888_process_pixblock_tail_head * pixman_composite_over_n_8888_process_pixblock_tail_headdst_w_bpppixman_composite_over_n_8888_process_pixblock_tail_head / pixman_composite_over_n_8888_process_pixblock_tail_head64pixman_composite_over_n_8888_process_pixblock_tail_head), pixman_composite_over_n_8888_process_pixblock_tail_headDST_Wpixman_composite_over_n_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:797:1: error: invalid symbol redefinition -pixman_composite_over_n_8888_process_pixblock_tail_head1pixman_composite_over_n_8888_process_pixblock_tail_head: -^ -:799:139: error: unknown token in expression - pixman_composite_over_n_8888_process_pixblock_tail_headprocess_trailing_pixelspixman_composite_over_n_8888_process_pixblock_tail_head , , pixman_composite_over_n_8888_process_pixblock_tail_headpixman_composite_over_n_8888_initpixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headdefault_cleanuppixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headpixman_composite_over_8888_8888_process_pixblock_headpixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:803:5: error: invalid instruction mnemonic 'pixman_composite_over_n_8888_process_pixblock_tail_headadvance_to_next_scanlinepixman_composite_over_n_8888_process_pixblock_tail_head' - pixman_composite_over_n_8888_process_pixblock_tail_headadvance_to_next_scanlinepixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_head8bpixman_composite_over_n_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:805:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headifpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headregs_shortagepixman_composite_over_n_8888_process_pixblock_tail_head -^ -:806:119: error: Unexpected '{' in expression - pixman_composite_over_n_8888_process_pixblock_tail_headpoppixman_composite_over_n_8888_process_pixblock_tail_head {pixman_composite_over_n_8888_process_pixblock_tail_headr0pixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headr1pixman_composite_over_n_8888_process_pixblock_tail_head} - ^ -:807:1: error: unknown directive -.pixman_composite_over_n_8888_process_pixblock_tail_headendifpixman_composite_over_n_8888_process_pixblock_tail_head -^ -:808:5: error: invalid instruction mnemonic 'pixman_composite_over_n_8888_process_pixblock_tail_head5pixman_composite_over_n_8888_process_pixblock_tail_head' - pixman_composite_over_n_8888_process_pixblock_tail_head5pixman_composite_over_n_8888_process_pixblock_tail_head - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:809:119: error: Unexpected '{' in expression - pixman_composite_over_n_8888_process_pixblock_tail_headpoppixman_composite_over_n_8888_process_pixblock_tail_head {pixman_composite_over_n_8888_process_pixblock_tail_headr4pixman_composite_over_n_8888_process_pixblock_tail_head-pixman_composite_over_n_8888_process_pixblock_tail_headr12pixman_composite_over_n_8888_process_pixblock_tail_head, pixman_composite_over_n_8888_process_pixblock_tail_headpcpixman_composite_over_n_8888_process_pixblock_tail_head} - ^ -:812:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headunreqpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headSRCpixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:813:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headunreqpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headMASKpixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:814:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headunreqpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headDST_Rpixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:815:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headunreqpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headDST_Wpixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:816:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headunreqpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headORIG_Wpixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:817:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headunreqpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headWpixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:818:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headunreqpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headHpixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:819:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headunreqpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headSRC_STRIDEpixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:820:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headunreqpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headDST_STRIDEpixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:821:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headunreqpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headMASK_STRIDEpixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:822:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headunreqpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headPF_CTLpixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:823:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headunreqpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headPF_Xpixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:824:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headunreqpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headPF_SRCpixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:825:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headunreqpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headPF_DSTpixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:826:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headunreqpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headPF_MASKpixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:827:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headunreqpixman_composite_over_n_8888_process_pixblock_tail_head pixman_composite_over_n_8888_process_pixblock_tail_headDUMMYpixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:828:5: error: unknown directive - .pixman_composite_over_n_8888_process_pixblock_tail_headendfuncpixman_composite_over_n_8888_process_pixblock_tail_head - ^ -:836:5: error: unexpected token at start of statement - 0pixman_asm_function0 0pixman_composite_src_n_8888_asm_neon0 - ^ -:838:5: error: unexpected token at start of statement - 0push0 {0r40-0r120, 0lr0} - ^ -:845:5: error: unknown directive - .0set0 0PREFETCH_TYPE_CURRENT0, 0PREFETCH_TYPE_DEFAULT0 - ^ -:846:1: error: unknown directive -.0if0 == -^ -:847:5: error: unknown directive - .0set0 0PREFETCH_TYPE_CURRENT0, 0PREFETCH_TYPE_NONE0 - ^ -:848:1: error: unexpected token at start of statement -.0elseif0 (0PREFETCH_TYPE_CURRENT0 > 0PREFETCH_TYPE_SIMPLE0) && (( == ) || ( == ) || (0320 == )) -^ -:850:5: error: unknown directive - .0set0 0PREFETCH_TYPE_CURRENT0, 0PREFETCH_TYPE_SIMPLE0 - ^ -:851:1: error: unexpected token at start of statement -.0endif0 -^ -:857:5: error: unknown directive - .0set0 0src_bpp0, - ^ -:858:5: error: unknown directive - .0set0 0mask_bpp0, - ^ -:859:5: error: unknown directive - .0set0 0dst_w_bpp0, 0320 - ^ -:860:5: error: unknown directive - .0set0 0pixblock_size0, 080 - ^ -:861:5: error: unknown directive - .0set0 0dst_w_basereg0, - ^ -:862:5: error: unknown directive - .0set0 0dst_r_basereg0, - ^ -:863:5: error: unknown directive - .0set0 0src_basereg0, - ^ -:864:5: error: unknown directive - .0set0 0mask_basereg0, - ^ -:866:5: error: unknown directive - .0macro0 0pixld_src0 0x0:0vararg0 - ^ -:867:9: error: unexpected token at start of statement - 0pixld0 0x0 - ^ -:868:5: error: unexpected token at start of statement - .0endm0 - ^ -:869:5: error: unknown directive - .0macro0 0fetch_src_pixblock0 - ^ -:870:9: error: unexpected token at start of statement - 0pixld_src0 0pixblock_size0, 0src_bpp0, (0src_basereg0 - 0pixblock_size0 * 0src_bpp0 / 0640), 0SRC0 - ^ -:872:5: error: unexpected token at start of statement - .0endm0 - ^ -:876:5: error: unexpected token at start of statement - 0W0 .0req0 0r00 - ^ -:877:5: error: unexpected token at start of statement - 0H0 .0req0 0r10 - ^ -:878:5: error: unexpected token at start of statement - 0DST_W0 .0req0 0r20 - ^ -:879:5: error: unexpected token at start of statement - 0DST_STRIDE0 .0req0 0r30 - ^ -:880:5: error: unexpected token at start of statement - 0SRC0 .0req0 0r40 - ^ -:881:5: error: unexpected token at start of statement - 0SRC_STRIDE0 .0req0 0r50 - ^ -:882:5: error: unexpected token at start of statement - 0DST_R0 .0req0 0r60 - ^ -:884:5: error: unexpected token at start of statement - 0MASK0 .0req0 0r70 - ^ -:885:5: error: unexpected token at start of statement - 0MASK_STRIDE0 .0req0 0r80 - ^ -:887:5: error: unexpected token at start of statement - 0PF_CTL0 .0req0 0r90 - ^ -:889:5: error: unexpected token at start of statement - 0PF_X0 .0req0 0r100 - ^ -:891:5: error: unexpected token at start of statement - 0PF_SRC0 .0req0 0r110 - ^ -:893:5: error: unexpected token at start of statement - 0PF_DST0 .0req0 0r120 - ^ -:895:5: error: unexpected token at start of statement - 0PF_MASK0 .0req0 0r140 - ^ -:897:1: error: unknown directive -.0if0 (0PREFETCH_TYPE_CURRENT0 < 0PREFETCH_TYPE_ADVANCED0) -^ -:898:5: error: unexpected token at start of statement - 0ORIG_W0 .0req0 0r100 - ^ -:899:5: error: unexpected token at start of statement - 0DUMMY0 .0req0 0r120 - ^ -:900:5: error: unknown directive - .0set0 0regs_shortage0, - ^ -:901:1: error: unexpected token at start of statement -.0elseif0 0mask_bpp0 == -^ -:902:5: error: unexpected token at start of statement - 0ORIG_W0 .0req0 0r70 - ^ -:903:5: error: unexpected token at start of statement - 0DUMMY0 .0req0 0r80 - ^ -:904:5: error: unknown directive - .0set0 0regs_shortage0, - ^ -:905:1: error: unexpected token at start of statement -.0elseif0 0src_bpp0 == -^ -:906:5: error: unexpected token at start of statement - 0ORIG_W0 .0req0 0r40 - ^ -:907:5: error: unexpected token at start of statement - 0DUMMY0 .0req0 0r50 - ^ -:908:5: error: unknown directive - .0set0 0regs_shortage0, - ^ -:909:1: error: unexpected token at start of statement -.0else0 -^ -:910:5: error: unexpected token at start of statement - 0ORIG_W0 .0req0 0r10 - ^ -:911:5: error: unexpected token at start of statement - 0DUMMY0 .0req0 0r10 - ^ -:912:5: error: unknown directive - .0set0 0regs_shortage0, 010 - ^ -:913:1: error: unexpected token at start of statement -.0endif0 -^ -:915:5: error: unknown directive - .0set0 0mask_bpp_shift0, -010 - ^ -:916:1: error: unknown directive -.0if0 0src_bpp0 == 0320 -^ -:917:5: error: unknown directive - .0set0 0src_bpp_shift0, 020 - ^ -:918:1: error: unexpected token at start of statement -.0elseif0 0src_bpp0 == -^ -:919:5: error: unknown directive - .0set0 0src_bpp_shift0, - ^ -:920:1: error: unexpected token at start of statement -.0elseif0 0src_bpp0 == 0160 -^ -:921:5: error: unknown directive - .0set0 0src_bpp_shift0, 010 - ^ -:922:1: error: unexpected token at start of statement -.0elseif0 0src_bpp0 == 080 -^ -:923:5: error: unknown directive - .0set0 0src_bpp_shift0, - ^ -:924:1: error: unexpected token at start of statement -.0elseif0 0src_bpp0 == -^ -:925:5: error: unknown directive - .0set0 0src_bpp_shift0, -010 - ^ -:926:1: error: unexpected token at start of statement -.0else0 -^ -:927:5: error: unexpected token at start of statement - .0error0 "0requested0 0src0 0bpp0 (0src_bpp0) 0is0 0not0 0supported0" - ^ -:928:1: error: unexpected token at start of statement -.0endif0 -^ -:929:1: error: unknown directive -.0if0 0mask_bpp0 == 0320 -^ -:930:5: error: unknown directive - .0set0 0mask_bpp_shift0, 020 - ^ -:931:1: error: unexpected token at start of statement -.0elseif0 0mask_bpp0 == -^ -:932:5: error: unknown directive - .0set0 0mask_bpp_shift0, - ^ -:933:1: error: unexpected token at start of statement -.0elseif0 0mask_bpp0 == 080 -^ -:934:5: error: unknown directive - .0set0 0mask_bpp_shift0, - ^ -:935:1: error: unexpected token at start of statement -.0elseif0 0mask_bpp0 == -^ -:936:5: error: unknown directive - .0set0 0mask_bpp_shift0, -010 - ^ -:937:1: error: unexpected token at start of statement -.0else0 -^ -:938:5: error: unexpected token at start of statement - .0error0 "0requested0 0mask0 0bpp0 (0mask_bpp0) 0is0 0not0 0supported0" - ^ -:939:1: error: unexpected token at start of statement -.0endif0 -^ -:940:1: error: unknown directive -.0if0 0dst_w_bpp0 == 0320 -^ -:941:5: error: unknown directive - .0set0 0dst_bpp_shift0, 020 - ^ -:942:1: error: unexpected token at start of statement -.0elseif0 0dst_w_bpp0 == -^ -:943:5: error: unknown directive - .0set0 0dst_bpp_shift0, - ^ -:944:1: error: unexpected token at start of statement -.0elseif0 0dst_w_bpp0 == 0160 -^ -:945:5: error: unknown directive - .0set0 0dst_bpp_shift0, 010 - ^ -:946:1: error: unexpected token at start of statement -.0elseif0 0dst_w_bpp0 == 080 -^ -:947:5: error: unknown directive - .0set0 0dst_bpp_shift0, - ^ -:948:1: error: unexpected token at start of statement -.0else0 -^ -:949:5: error: unexpected token at start of statement - .0error0 "0requested0 0dst0 0bpp0 (0dst_w_bpp0) 0is0 0not0 0supported0" - ^ -:950:1: error: unexpected token at start of statement -.0endif0 -^ -:952:1: error: unknown directive -.0if0 (((0FLAG_DST_WRITEONLY0) & 0FLAG_DST_READWRITE0) != ) -^ -:953:5: error: unknown directive - .0set0 0dst_r_bpp0, 0dst_w_bpp0 - ^ -:954:1: error: unexpected token at start of statement -.0else0 -^ -:955:5: error: unknown directive - .0set0 0dst_r_bpp0, - ^ -:956:1: error: unexpected token at start of statement -.0endif0 -^ -:957:1: error: unknown directive -.0if0 (((0FLAG_DST_WRITEONLY0) & 0FLAG_DEINTERLEAVE_32BPP0) != ) -^ -:958:5: error: unknown directive - .0set0 0DEINTERLEAVE_32BPP_ENABLED0, 010 - ^ -:959:1: error: unexpected token at start of statement -.0else0 -^ -:960:5: error: unknown directive - .0set0 0DEINTERLEAVE_32BPP_ENABLED0, - ^ -:961:1: error: unexpected token at start of statement -.0endif0 -^ -:963:1: error: unknown directive -.0if0 < || > 0150 -^ -:964:5: error: unexpected token at start of statement - .0error0 "0invalid0 0prefetch0 0distance0 ()" - ^ -:965:1: error: unexpected token at start of statement -.0endif0 -^ -:967:1: error: unknown directive -.0if0 0src_bpp0 > -^ -:968:5: error: unexpected token at start of statement - 0ldr0 0SRC0, [0sp0, #0400] - ^ -:969:1: error: unexpected token at start of statement -.0endif0 -^ -:970:1: error: unknown directive -.0if0 0mask_bpp0 > -^ -:971:5: error: unexpected token at start of statement - 0ldr0 0MASK0, [0sp0, #0480] - ^ -:972:1: error: unexpected token at start of statement -.0endif0 -^ -:973:5: error: unexpected token at start of statement - 0PF0 0mov0 0PF_X0, # - ^ -:974:1: error: unknown directive -.0if0 0src_bpp0 > -^ -:975:5: error: unexpected token at start of statement - 0ldr0 0SRC_STRIDE0, [0sp0, #0440] - ^ -:976:1: error: unexpected token at start of statement -.0endif0 -^ -:977:1: error: unknown directive -.0if0 0mask_bpp0 > -^ -:978:5: error: unexpected token at start of statement - 0ldr0 0MASK_STRIDE0, [0sp0, #0520] - ^ -:979:1: error: unexpected token at start of statement -.0endif0 -^ -:980:5: error: unexpected token at start of statement - 0mov0 0DST_R0, 0DST_W0 - ^ -:982:1: error: unknown directive -.0if0 0src_bpp0 == -^ -:983:5: error: unexpected token at start of statement - 0sub0 0SRC_STRIDE0, 0SRC_STRIDE0, 0W0 - ^ -:984:5: error: unexpected token at start of statement - 0sub0 0SRC_STRIDE0, 0SRC_STRIDE0, 0W0, 0lsl0 #010 - ^ -:985:1: error: unexpected token at start of statement -.0endif0 -^ -:986:1: error: unknown directive -.0if0 0mask_bpp0 == -^ -:987:5: error: unexpected token at start of statement - 0sub0 0MASK_STRIDE0, 0MASK_STRIDE0, 0W0 - ^ -:988:5: error: unexpected token at start of statement - 0sub0 0MASK_STRIDE0, 0MASK_STRIDE0, 0W0, 0lsl0 #010 - ^ -:989:1: error: unexpected token at start of statement -.0endif0 -^ -:990:1: error: unknown directive -.0if0 0dst_w_bpp0 == -^ -:991:5: error: unexpected token at start of statement - 0sub0 0DST_STRIDE0, 0DST_STRIDE0, 0W0 - ^ -:992:5: error: unexpected token at start of statement - 0sub0 0DST_STRIDE0, 0DST_STRIDE0, 0W0, 0lsl0 #010 - ^ -:993:1: error: unexpected token at start of statement -.0endif0 -^ -:998:5: error: unexpected token at start of statement - 0PF0 0mov0 0PF_SRC0, 0SRC0 - ^ -:999:5: error: unexpected token at start of statement - 0PF0 0mov0 0PF_DST0, 0DST_R0 - ^ -:1000:5: error: unexpected token at start of statement - 0PF0 0mov0 0PF_MASK0, 0MASK0 - ^ -:1002:5: error: unexpected token at start of statement - 0PF0 0mov0 0PF_CTL0, 0H0, 0lsl0 # - ^ -:1003:5: error: unexpected token at start of statement - 0PF0 0add0 0PF_CTL0, #( - 00x100) - ^ -:1005:5: error: unexpected token at start of statement - 0pixman_composite_src_n_8888_init0 - ^ -:1006:1: error: unknown directive -.0if0 0regs_shortage0 -^ -:1007:5: error: unexpected token at start of statement - 0push0 {0r00, 0r10} - ^ -:1008:1: error: unexpected token at start of statement -.0endif0 -^ -:1009:5: error: unexpected token at start of statement - 0subs0 0H0, 0H0, #010 - ^ -:1010:1: error: unknown directive -.0if0 0regs_shortage0 -^ -:1011:5: error: unexpected token at start of statement - 0str0 0H0, [0sp0, #] - ^ -:1012:1: error: unexpected token at start of statement -.0else0 -^ -:1013:5: error: unexpected token at start of statement - 0mov0 0ORIG_W0, 0W0 - ^ -:1014:1: error: unexpected token at start of statement -.0endif0 -^ -:1015:5: error: unexpected token at start of statement - 0blt0 09f0 - ^ -:1016:5: error: unexpected token at start of statement - 0cmp0 0W0, #(0pixblock_size0 * 020) - ^ -:1017:5: error: unexpected token at start of statement - 0blt0 08f0 - ^ -:1022:1: error: unexpected token at start of statement -: -^ -:1023:5: error: unexpected token at start of statement - 0ensure_destination_ptr_alignment0 0pixman_composite_src_n_8888_process_pixblock_head0, 0pixman_composite_src_n_8888_process_pixblock_tail0, 0pixman_composite_src_n_8888_process_pixblock_tail_head0 - ^ -:1028:5: error: unexpected token at start of statement - 0pixld_a0 0pixblock_size0, 0dst_r_bpp0, (0dst_r_basereg0 - 0pixblock_size0 * 0dst_r_bpp0 / 0640), 0DST_R0 - ^ -:1030:5: error: unexpected token at start of statement - 0fetch_src_pixblock0 - ^ -:1031:5: error: unexpected token at start of statement - 0pixld0 0pixblock_size0, 0mask_bpp0, (0mask_basereg0 - 0pixblock_size0 * 0mask_bpp0 / 0640), 0MASK0 - ^ -:1033:5: error: unexpected token at start of statement - 0PF0 0add0 0PF_X0, 0PF_X0, #0pixblock_size0 - ^ -:1034:5: error: unexpected token at start of statement - 0pixman_composite_src_n_8888_process_pixblock_head0 - ^ -:1035:5: error: unexpected token at start of statement - 0cache_preload0 , 0pixblock_size0 - ^ -:1036:5: error: unexpected token at start of statement - 0cache_preload_simple0 - ^ -:1037:5: error: unexpected token at start of statement - 0subs0 0W0, 0W0, #(0pixblock_size0 * 020) - ^ -:1038:5: error: unexpected token at start of statement - 0blt0 02f0 - ^ -:1040:5: error: unexpected token at start of statement - 0pixman_composite_src_n_8888_process_pixblock_tail_head0 - ^ -:1041:5: error: unexpected token at start of statement - 0cache_preload_simple0 - ^ -:1042:5: error: unexpected token at start of statement - 0subs0 0W0, 0W0, #0pixblock_size0 - ^ -:1043:5: error: unexpected token at start of statement - 0bge0 01b0 - ^ -:1045:5: error: unexpected token at start of statement - 0pixman_composite_src_n_8888_process_pixblock_tail0 - ^ -:1046:5: error: unexpected token at start of statement - 0pixst_a0 0pixblock_size0, 0dst_w_bpp0, (0dst_w_basereg0 - 0pixblock_size0 * 0dst_w_bpp0 / 0640), 0DST_W0 - ^ -:1050:5: error: unexpected token at start of statement - 0process_trailing_pixels0 010, 010, 0pixman_composite_src_n_8888_process_pixblock_head0, 0pixman_composite_src_n_8888_process_pixblock_tail0, 0pixman_composite_src_n_8888_process_pixblock_tail_head0 - ^ -:1054:5: error: unexpected token at start of statement - 0advance_to_next_scanline0 00b0 - ^ -:1056:1: error: unknown directive -.0if0 0regs_shortage0 -^ -:1057:5: error: unexpected token at start of statement - 0pop0 {0r00, 0r10} - ^ -:1058:1: error: unexpected token at start of statement -.0endif0 -^ -:1059:5: error: unexpected token at start of statement - 0pixman_composite_src_n_8888_cleanup0 - ^ -:1060:5: error: unexpected token at start of statement - 0pop0 {0r40-0r120, 0pc0} - ^ -:1066:1: error: invalid octal number -080: -^ -:1066:1: error: unexpected token at start of statement -080: -^ -:1068:5: error: unexpected token at start of statement - 0tst0 0W0, #0pixblock_size0 - ^ -:1069:5: error: unexpected token at start of statement - 0beq0 01f0 - ^ -:1070:5: error: unexpected token at start of statement - 0pixld0 0pixblock_size0, 0dst_r_bpp0, (0dst_r_basereg0 - 0pixblock_size0 * 0dst_r_bpp0 / 0640), 0DST_R0 - ^ -:1072:5: error: unexpected token at start of statement - 0fetch_src_pixblock0 - ^ -:1073:5: error: unexpected token at start of statement - 0pixld0 0pixblock_size0, 0mask_bpp0, (0mask_basereg0 - 0pixblock_size0 * 0mask_bpp0 / 0640), 0MASK0 - ^ -:1075:5: error: unexpected token at start of statement - 0pixman_composite_src_n_8888_process_pixblock_head0 - ^ -:1076:5: error: unexpected token at start of statement - 0pixman_composite_src_n_8888_process_pixblock_tail0 - ^ -:1077:5: error: unexpected token at start of statement - 0pixst0 0pixblock_size0, 0dst_w_bpp0, (0dst_w_basereg0 - 0pixblock_size0 * 0dst_w_bpp0 / 0640), 0DST_W0 - ^ -:1081:5: error: unexpected token at start of statement - 0process_trailing_pixels0 , , 0pixman_composite_src_n_8888_process_pixblock_head0, 0pixman_composite_src_n_8888_process_pixblock_tail0, 0pixman_composite_src_n_8888_process_pixblock_tail_head0 - ^ -:1085:5: error: unexpected token at start of statement - 0advance_to_next_scanline0 08b0 - ^ -:1086:1: error: invalid octal number -090: -^ -:1086:1: error: unexpected token at start of statement -090: -^ -:1087:1: error: unknown directive -.0if0 0regs_shortage0 -^ -:1088:5: error: unexpected token at start of statement - 0pop0 {0r00, 0r10} - ^ -:1089:1: error: unexpected token at start of statement -.0endif0 -^ -:1090:5: error: unexpected token at start of statement - 0pixman_composite_src_n_8888_cleanup0 - ^ -:1091:5: error: unexpected token at start of statement - 0pop0 {0r40-0r120, 0pc0} - ^ -:1094:5: error: unknown directive - .0unreq0 0SRC0 - ^ -:1095:5: error: unknown directive - .0unreq0 0MASK0 - ^ -:1096:5: error: unknown directive - .0unreq0 0DST_R0 - ^ -:1097:5: error: unknown directive - .0unreq0 0DST_W0 - ^ -:1098:5: error: unknown directive - .0unreq0 0ORIG_W0 - ^ -:1099:5: error: unknown directive - .0unreq0 0W0 - ^ -:1100:5: error: unknown directive - .0unreq0 0H0 - ^ -:1101:5: error: unknown directive - .0unreq0 0SRC_STRIDE0 - ^ -:1102:5: error: unknown directive - .0unreq0 0DST_STRIDE0 - ^ -:1103:5: error: unknown directive - .0unreq0 0MASK_STRIDE0 - ^ -:1104:5: error: unknown directive - .0unreq0 0PF_CTL0 - ^ -:1105:5: error: unknown directive - .0unreq0 0PF_X0 - ^ -:1106:5: error: unknown directive - .0unreq0 0PF_SRC0 - ^ -:1107:5: error: unknown directive - .0unreq0 0PF_DST0 - ^ -:1108:5: error: unknown directive - .0unreq0 0PF_MASK0 - ^ -:1109:5: error: unknown directive - .0unreq0 0DUMMY0 - ^ -:1110:5: error: unexpected token at start of statement - .0endfunc0 - ^ -:1116:5: error: unexpected token at start of statement - 0pixman_asm_function0 0pixman_composite_src_8888_8888_asm_neon0 - ^ -:1118:5: error: unexpected token at start of statement - 0push0 {0r40-0r120, 0lr0} - ^ -:1125:5: error: unknown directive - .0set0 0PREFETCH_TYPE_CURRENT0, 0PREFETCH_TYPE_DEFAULT0 - ^ -:1126:1: error: unknown directive -.0if0 0100 == -^ -:1127:5: error: unknown directive - .0set0 0PREFETCH_TYPE_CURRENT0, 0PREFETCH_TYPE_NONE0 - ^ -:1128:1: error: unexpected token at start of statement -.0elseif0 (0PREFETCH_TYPE_CURRENT0 > 0PREFETCH_TYPE_SIMPLE0) && ((0320 == ) || ( == ) || (0320 == )) -^ -:1130:5: error: unknown directive - .0set0 0PREFETCH_TYPE_CURRENT0, 0PREFETCH_TYPE_SIMPLE0 - ^ -:1131:1: error: unexpected token at start of statement -.0endif0 -^ -:1137:5: error: unknown directive - .0set0 0src_bpp0, 0320 - ^ -:1138:5: error: unknown directive - .0set0 0mask_bpp0, - ^ -:1139:5: error: unknown directive - .0set0 0dst_w_bpp0, 0320 - ^ -:1140:5: error: unknown directive - .0set0 0pixblock_size0, 080 - ^ -:1141:5: error: unknown directive - .0set0 0dst_w_basereg0, - ^ -:1142:5: error: unknown directive - .0set0 0dst_r_basereg0, - ^ -:1143:5: error: unknown directive - .0set0 0src_basereg0, - ^ -:1144:5: error: unknown directive - .0set0 0mask_basereg0, - ^ -:1146:5: error: unknown directive - .0macro0 0pixld_src0 0x0:0vararg0 - ^ -:1147:9: error: unexpected token at start of statement - 0pixld0 0x0 - ^ -:1148:5: error: unexpected token at start of statement - .0endm0 - ^ -:1149:5: error: unknown directive - .0macro0 0fetch_src_pixblock0 - ^ -:1150:9: error: unexpected token at start of statement - 0pixld_src0 0pixblock_size0, 0src_bpp0, (0src_basereg0 - 0pixblock_size0 * 0src_bpp0 / 0640), 0SRC0 - ^ -:1152:5: error: unexpected token at start of statement - .0endm0 - ^ -:1156:5: error: unexpected token at start of statement - 0W0 .0req0 0r00 - ^ -:1157:5: error: unexpected token at start of statement - 0H0 .0req0 0r10 - ^ -:1158:5: error: unexpected token at start of statement - 0DST_W0 .0req0 0r20 - ^ -:1159:5: error: unexpected token at start of statement - 0DST_STRIDE0 .0req0 0r30 - ^ -:1160:5: error: unexpected token at start of statement - 0SRC0 .0req0 0r40 - ^ -:1161:5: error: unexpected token at start of statement - 0SRC_STRIDE0 .0req0 0r50 - ^ -:1162:5: error: unexpected token at start of statement - 0DST_R0 .0req0 0r60 - ^ -:1164:5: error: unexpected token at start of statement - 0MASK0 .0req0 0r70 - ^ -:1165:5: error: unexpected token at start of statement - 0MASK_STRIDE0 .0req0 0r80 - ^ -:1167:5: error: unexpected token at start of statement - 0PF_CTL0 .0req0 0r90 - ^ -:1169:5: error: unexpected token at start of statement - 0PF_X0 .0req0 0r100 - ^ -:1171:5: error: unexpected token at start of statement - 0PF_SRC0 .0req0 0r110 - ^ -:1173:5: error: unexpected token at start of statement - 0PF_DST0 .0req0 0r120 - ^ -:1175:5: error: unexpected token at start of statement - 0PF_MASK0 .0req0 0r140 - ^ -:1177:1: error: unknown directive -.0if0 (0PREFETCH_TYPE_CURRENT0 < 0PREFETCH_TYPE_ADVANCED0) -^ -:1178:5: error: unexpected token at start of statement - 0ORIG_W0 .0req0 0r100 - ^ -:1179:5: error: unexpected token at start of statement - 0DUMMY0 .0req0 0r120 - ^ -:1180:5: error: unknown directive - .0set0 0regs_shortage0, - ^ -:1181:1: error: unexpected token at start of statement -.0elseif0 0mask_bpp0 == -^ -:1182:5: error: unexpected token at start of statement - 0ORIG_W0 .0req0 0r70 - ^ -:1183:5: error: unexpected token at start of statement - 0DUMMY0 .0req0 0r80 - ^ -:1184:5: error: unknown directive - .0set0 0regs_shortage0, - ^ -:1185:1: error: unexpected token at start of statement -.0elseif0 0src_bpp0 == -^ -:1186:5: error: unexpected token at start of statement - 0ORIG_W0 .0req0 0r40 - ^ -:1187:5: error: unexpected token at start of statement - 0DUMMY0 .0req0 0r50 - ^ -:1188:5: error: unknown directive - .0set0 0regs_shortage0, - ^ -:1189:1: error: unexpected token at start of statement -.0else0 -^ -:1190:5: error: unexpected token at start of statement - 0ORIG_W0 .0req0 0r10 - ^ -:1191:5: error: unexpected token at start of statement - 0DUMMY0 .0req0 0r10 - ^ -:1192:5: error: unknown directive - .0set0 0regs_shortage0, 010 - ^ -:1193:1: error: unexpected token at start of statement -.0endif0 -^ -:1195:5: error: unknown directive - .0set0 0mask_bpp_shift0, -010 - ^ -:1196:1: error: unknown directive -.0if0 0src_bpp0 == 0320 -^ -:1197:5: error: unknown directive - .0set0 0src_bpp_shift0, 020 - ^ -:1198:1: error: unexpected token at start of statement -.0elseif0 0src_bpp0 == -^ -:1199:5: error: unknown directive - .0set0 0src_bpp_shift0, - ^ -:1200:1: error: unexpected token at start of statement -.0elseif0 0src_bpp0 == 0160 -^ -:1201:5: error: unknown directive - .0set0 0src_bpp_shift0, 010 - ^ -:1202:1: error: unexpected token at start of statement -.0elseif0 0src_bpp0 == 080 -^ -:1203:5: error: unknown directive - .0set0 0src_bpp_shift0, - ^ -:1204:1: error: unexpected token at start of statement -.0elseif0 0src_bpp0 == -^ -:1205:5: error: unknown directive - .0set0 0src_bpp_shift0, -010 - ^ -:1206:1: error: unexpected token at start of statement -.0else0 -^ -:1207:5: error: unexpected token at start of statement - .0error0 "0requested0 0src0 0bpp0 (0src_bpp0) 0is0 0not0 0supported0" - ^ -:1208:1: error: unexpected token at start of statement -.0endif0 -^ -:1209:1: error: unknown directive -.0if0 0mask_bpp0 == 0320 -^ -:1210:5: error: unknown directive - .0set0 0mask_bpp_shift0, 020 - ^ -:1211:1: error: unexpected token at start of statement -.0elseif0 0mask_bpp0 == -^ -:1212:5: error: unknown directive - .0set0 0mask_bpp_shift0, - ^ -:1213:1: error: unexpected token at start of statement -.0elseif0 0mask_bpp0 == 080 -^ -:1214:5: error: unknown directive - .0set0 0mask_bpp_shift0, - ^ -:1215:1: error: unexpected token at start of statement -.0elseif0 0mask_bpp0 == -^ -:1216:5: error: unknown directive - .0set0 0mask_bpp_shift0, -010 - ^ -:1217:1: error: unexpected token at start of statement -.0else0 -^ -:1218:5: error: unexpected token at start of statement - .0error0 "0requested0 0mask0 0bpp0 (0mask_bpp0) 0is0 0not0 0supported0" - ^ -:1219:1: error: unexpected token at start of statement -.0endif0 -^ -:1220:1: error: unknown directive -.0if0 0dst_w_bpp0 == 0320 -^ -:1221:5: error: unknown directive - .0set0 0dst_bpp_shift0, 020 - ^ -:1222:1: error: unexpected token at start of statement -.0elseif0 0dst_w_bpp0 == -^ -:1223:5: error: unknown directive - .0set0 0dst_bpp_shift0, - ^ -:1224:1: error: unexpected token at start of statement -.0elseif0 0dst_w_bpp0 == 0160 -^ -:1225:5: error: unknown directive - .0set0 0dst_bpp_shift0, 010 - ^ -:1226:1: error: unexpected token at start of statement -.0elseif0 0dst_w_bpp0 == 080 -^ -:1227:5: error: unknown directive - .0set0 0dst_bpp_shift0, - ^ -:1228:1: error: unexpected token at start of statement -.0else0 -^ -:1229:5: error: unexpected token at start of statement - .0error0 "0requested0 0dst0 0bpp0 (0dst_w_bpp0) 0is0 0not0 0supported0" - ^ -:1230:1: error: unexpected token at start of statement -.0endif0 -^ -:1232:1: error: unknown directive -.0if0 (((0FLAG_DST_WRITEONLY0) & 0FLAG_DST_READWRITE0) != ) -^ -:1233:5: error: unknown directive - .0set0 0dst_r_bpp0, 0dst_w_bpp0 - ^ -:1234:1: error: unexpected token at start of statement -.0else0 -^ -:1235:5: error: unknown directive - .0set0 0dst_r_bpp0, - ^ -:1236:1: error: unexpected token at start of statement -.0endif0 -^ -:1237:1: error: unknown directive -.0if0 (((0FLAG_DST_WRITEONLY0) & 0FLAG_DEINTERLEAVE_32BPP0) != ) -^ -:1238:5: error: unknown directive - .0set0 0DEINTERLEAVE_32BPP_ENABLED0, 010 - ^ -:1239:1: error: unexpected token at start of statement -.0else0 -^ -:1240:5: error: unknown directive - .0set0 0DEINTERLEAVE_32BPP_ENABLED0, - ^ -:1241:1: error: unexpected token at start of statement -.0endif0 -^ -:1243:1: error: unknown directive -.0if0 0100 < || 0100 > 0150 -^ -:1244:5: error: unexpected token at start of statement - .0error0 "0invalid0 0prefetch0 0distance0 (0100)" - ^ -:1245:1: error: unexpected token at start of statement -.0endif0 -^ -:1247:1: error: unknown directive -.0if0 0src_bpp0 > -^ -:1248:5: error: unexpected token at start of statement - 0ldr0 0SRC0, [0sp0, #0400] - ^ -:1249:1: error: unexpected token at start of statement -.0endif0 -^ -:1250:1: error: unknown directive -.0if0 0mask_bpp0 > -^ -:1251:5: error: unexpected token at start of statement - 0ldr0 0MASK0, [0sp0, #0480] - ^ -:1252:1: error: unexpected token at start of statement -.0endif0 -^ -:1253:5: error: unexpected token at start of statement - 0PF0 0mov0 0PF_X0, # - ^ -:1254:1: error: unknown directive -.0if0 0src_bpp0 > -^ -:1255:5: error: unexpected token at start of statement - 0ldr0 0SRC_STRIDE0, [0sp0, #0440] - ^ -:1256:1: error: unexpected token at start of statement -.0endif0 -^ -:1257:1: error: unknown directive -.0if0 0mask_bpp0 > -^ -:1258:5: error: unexpected token at start of statement - 0ldr0 0MASK_STRIDE0, [0sp0, #0520] - ^ -:1259:1: error: unexpected token at start of statement -.0endif0 -^ -:1260:5: error: unexpected token at start of statement - 0mov0 0DST_R0, 0DST_W0 - ^ -:1262:1: error: unknown directive -.0if0 0src_bpp0 == -^ -:1263:5: error: unexpected token at start of statement - 0sub0 0SRC_STRIDE0, 0SRC_STRIDE0, 0W0 - ^ -:1264:5: error: unexpected token at start of statement - 0sub0 0SRC_STRIDE0, 0SRC_STRIDE0, 0W0, 0lsl0 #010 - ^ -:1265:1: error: unexpected token at start of statement -.0endif0 -^ -:1266:1: error: unknown directive -.0if0 0mask_bpp0 == -^ -:1267:5: error: unexpected token at start of statement - 0sub0 0MASK_STRIDE0, 0MASK_STRIDE0, 0W0 - ^ -:1268:5: error: unexpected token at start of statement - 0sub0 0MASK_STRIDE0, 0MASK_STRIDE0, 0W0, 0lsl0 #010 - ^ -:1269:1: error: unexpected token at start of statement -.0endif0 -^ -:1270:1: error: unknown directive -.0if0 0dst_w_bpp0 == -^ -:1271:5: error: unexpected token at start of statement - 0sub0 0DST_STRIDE0, 0DST_STRIDE0, 0W0 - ^ -:1272:5: error: unexpected token at start of statement - 0sub0 0DST_STRIDE0, 0DST_STRIDE0, 0W0, 0lsl0 #010 - ^ -:1273:1: error: unexpected token at start of statement -.0endif0 -^ -:1278:5: error: unexpected token at start of statement - 0PF0 0mov0 0PF_SRC0, 0SRC0 - ^ -:1279:5: error: unexpected token at start of statement - 0PF0 0mov0 0PF_DST0, 0DST_R0 - ^ -:1280:5: error: unexpected token at start of statement - 0PF0 0mov0 0PF_MASK0, 0MASK0 - ^ -:1282:5: error: unexpected token at start of statement - 0PF0 0mov0 0PF_CTL0, 0H0, 0lsl0 # - ^ -:1283:5: error: unexpected token at start of statement - 0PF0 0add0 0PF_CTL0, #(0100 - 00x100) - ^ -:1285:5: error: unexpected token at start of statement - 0default_init0 - ^ -:1286:1: error: unknown directive -.0if0 0regs_shortage0 -^ -:1287:5: error: unexpected token at start of statement - 0push0 {0r00, 0r10} - ^ -:1288:1: error: unexpected token at start of statement -.0endif0 -^ -:1289:5: error: unexpected token at start of statement - 0subs0 0H0, 0H0, #010 - ^ -:1290:1: error: unknown directive -.0if0 0regs_shortage0 -^ -:1291:5: error: unexpected token at start of statement - 0str0 0H0, [0sp0, #] - ^ -:1292:1: error: unexpected token at start of statement -.0else0 -^ -:1293:5: error: unexpected token at start of statement - 0mov0 0ORIG_W0, 0W0 - ^ -:1294:1: error: unexpected token at start of statement -.0endif0 -^ -:1295:5: error: unexpected token at start of statement - 0blt0 09f0 - ^ -:1296:5: error: unexpected token at start of statement - 0cmp0 0W0, #(0pixblock_size0 * 020) - ^ -:1297:5: error: unexpected token at start of statement - 0blt0 08f0 - ^ -:1302:1: error: unexpected token at start of statement -: -^ -:1303:5: error: unexpected token at start of statement - 0ensure_destination_ptr_alignment0 0pixman_composite_src_8888_8888_process_pixblock_head0, 0pixman_composite_src_8888_8888_process_pixblock_tail0, 0pixman_composite_src_8888_8888_process_pixblock_tail_head0 - ^ -:1308:5: error: unexpected token at start of statement - 0pixld_a0 0pixblock_size0, 0dst_r_bpp0, (0dst_r_basereg0 - 0pixblock_size0 * 0dst_r_bpp0 / 0640), 0DST_R0 - ^ -:1310:5: error: unexpected token at start of statement - 0fetch_src_pixblock0 - ^ -:1311:5: error: unexpected token at start of statement - 0pixld0 0pixblock_size0, 0mask_bpp0, (0mask_basereg0 - 0pixblock_size0 * 0mask_bpp0 / 0640), 0MASK0 - ^ -:1313:5: error: unexpected token at start of statement - 0PF0 0add0 0PF_X0, 0PF_X0, #0pixblock_size0 - ^ -:1314:5: error: unexpected token at start of statement - 0pixman_composite_src_8888_8888_process_pixblock_head0 - ^ -:1315:5: error: unexpected token at start of statement - 0cache_preload0 , 0pixblock_size0 - ^ -:1316:5: error: unexpected token at start of statement - 0cache_preload_simple0 - ^ -:1317:5: error: unexpected token at start of statement - 0subs0 0W0, 0W0, #(0pixblock_size0 * 020) - ^ -:1318:5: error: unexpected token at start of statement - 0blt0 02f0 - ^ -:1320:5: error: unexpected token at start of statement - 0pixman_composite_src_8888_8888_process_pixblock_tail_head0 - ^ -:1321:5: error: unexpected token at start of statement - 0cache_preload_simple0 - ^ -:1322:5: error: unexpected token at start of statement - 0subs0 0W0, 0W0, #0pixblock_size0 - ^ -:1323:5: error: unexpected token at start of statement - 0bge0 01b0 - ^ -:1325:5: error: unexpected token at start of statement - 0pixman_composite_src_8888_8888_process_pixblock_tail0 - ^ -:1326:5: error: unexpected token at start of statement - 0pixst_a0 0pixblock_size0, 0dst_w_bpp0, (0dst_w_basereg0 - 0pixblock_size0 * 0dst_w_bpp0 / 0640), 0DST_W0 - ^ -:1330:5: error: unexpected token at start of statement - 0process_trailing_pixels0 010, 010, 0pixman_composite_src_8888_8888_process_pixblock_head0, 0pixman_composite_src_8888_8888_process_pixblock_tail0, 0pixman_composite_src_8888_8888_process_pixblock_tail_head0 - ^ -:1334:5: error: unexpected token at start of statement - 0advance_to_next_scanline0 00b0 - ^ -:1336:1: error: unknown directive -.0if0 0regs_shortage0 -^ -:1337:5: error: unexpected token at start of statement - 0pop0 {0r00, 0r10} - ^ -:1338:1: error: unexpected token at start of statement -.0endif0 -^ -:1339:5: error: unexpected token at start of statement - 0default_cleanup0 - ^ -:1340:5: error: unexpected token at start of statement - 0pop0 {0r40-0r120, 0pc0} - ^ -:1346:1: error: invalid octal number -080: -^ -:1346:1: error: unexpected token at start of statement -080: -^ -:1348:5: error: unexpected token at start of statement - 0tst0 0W0, #0pixblock_size0 - ^ -:1349:5: error: unexpected token at start of statement - 0beq0 01f0 - ^ -:1350:5: error: unexpected token at start of statement - 0pixld0 0pixblock_size0, 0dst_r_bpp0, (0dst_r_basereg0 - 0pixblock_size0 * 0dst_r_bpp0 / 0640), 0DST_R0 - ^ -:1352:5: error: unexpected token at start of statement - 0fetch_src_pixblock0 - ^ -:1353:5: error: unexpected token at start of statement - 0pixld0 0pixblock_size0, 0mask_bpp0, (0mask_basereg0 - 0pixblock_size0 * 0mask_bpp0 / 0640), 0MASK0 - ^ -:1355:5: error: unexpected token at start of statement - 0pixman_composite_src_8888_8888_process_pixblock_head0 - ^ -:1356:5: error: unexpected token at start of statement - 0pixman_composite_src_8888_8888_process_pixblock_tail0 - ^ -:1357:5: error: unexpected token at start of statement - 0pixst0 0pixblock_size0, 0dst_w_bpp0, (0dst_w_basereg0 - 0pixblock_size0 * 0dst_w_bpp0 / 0640), 0DST_W0 - ^ -:1361:5: error: unexpected token at start of statement - 0process_trailing_pixels0 , , 0pixman_composite_src_8888_8888_process_pixblock_head0, 0pixman_composite_src_8888_8888_process_pixblock_tail0, 0pixman_composite_src_8888_8888_process_pixblock_tail_head0 - ^ -:1365:5: error: unexpected token at start of statement - 0advance_to_next_scanline0 08b0 - ^ -:1366:1: error: invalid octal number -090: -^ -:1366:1: error: unexpected token at start of statement -090: -^ -:1367:1: error: unknown directive -.0if0 0regs_shortage0 -^ -:1368:5: error: unexpected token at start of statement - 0pop0 {0r00, 0r10} - ^ -:1369:1: error: unexpected token at start of statement -.0endif0 -^ -:1370:5: error: unexpected token at start of statement - 0default_cleanup0 - ^ -:1371:5: error: unexpected token at start of statement - 0pop0 {0r40-0r120, 0pc0} - ^ -:1374:5: error: unknown directive - .0unreq0 0SRC0 - ^ -:1375:5: error: unknown directive - .0unreq0 0MASK0 - ^ -:1376:5: error: unknown directive - .0unreq0 0DST_R0 - ^ -:1377:5: error: unknown directive - .0unreq0 0DST_W0 - ^ -:1378:5: error: unknown directive - .0unreq0 0ORIG_W0 - ^ -:1379:5: error: unknown directive - .0unreq0 0W0 - ^ -:1380:5: error: unknown directive - .0unreq0 0H0 - ^ -:1381:5: error: unknown directive - .0unreq0 0SRC_STRIDE0 - ^ -:1382:5: error: unknown directive - .0unreq0 0DST_STRIDE0 - ^ -:1383:5: error: unknown directive - .0unreq0 0MASK_STRIDE0 - ^ -:1384:5: error: unknown directive - .0unreq0 0PF_CTL0 - ^ -:1385:5: error: unknown directive - .0unreq0 0PF_X0 - ^ -:1386:5: error: unknown directive - .0unreq0 0PF_SRC0 - ^ -:1387:5: error: unknown directive - .0unreq0 0PF_DST0 - ^ -:1388:5: error: unknown directive - .0unreq0 0PF_MASK0 - ^ -:1389:5: error: unknown directive - .0unreq0 0DUMMY0 - ^ -:1390:5: error: unexpected token at start of statement - .0endfunc0 - ^ -1:1:15: error: invalid symbol redefinition -clang: error: clang: error: no such file or directory: '2' - ^ -1:1:22: error: invalid symbol redefinition -clang: error: clang: error: no such file or directory: '2' - ^ -1:1:37: error: unexpected token in argument list -clang: error: clang: error: no such file or directory: '2' - ^ -1:2:9: error: unexpected token in argument list -no such file or directory: '2' - ^ diff --git a/submodules/RLottie/Sources/rlottie/src/vector/pixman/CMakeLists.txt b/submodules/RLottie/Sources/rlottie/src/vector/pixman/CMakeLists.txt deleted file mode 100644 index c08593fd3d..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/pixman/CMakeLists.txt +++ /dev/null @@ -1,17 +0,0 @@ -target_sources(rlottie - PRIVATE - "${CMAKE_CURRENT_LIST_DIR}/vregion.cpp" - ) - -IF("${ARCH}" STREQUAL "arm") -SET(CMAKE_ASM_FLAGS "${CFLAGS} -x assembler-with-cpp") -target_sources(rlottie - PRIVATE - "${CMAKE_CURRENT_LIST_DIR}/pixman-arm-neon-asm.S" - ) -ENDIF("${ARCH}" STREQUAL "arm") - -target_include_directories(rlottie - PRIVATE - "${CMAKE_CURRENT_LIST_DIR}" - ) diff --git a/submodules/RLottie/Sources/rlottie/src/vector/pixman/meson.build b/submodules/RLottie/Sources/rlottie/src/vector/pixman/meson.build deleted file mode 100644 index 5d3b4e32ef..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/pixman/meson.build +++ /dev/null @@ -1,11 +0,0 @@ - -source_file = files('vregion.cpp') - -if host_machine.cpu_family() == 'arm' or host_machine.cpu_family() == 'aarch64' - source_file += files('pixman-arm-neon-asm.S') -endif - -pixman_dep = declare_dependency( - include_directories : include_directories('.'), - sources : source_file - ) diff --git a/submodules/RLottie/Sources/rlottie/src/vector/pixman/pixman-arm-neon-asm.S b/submodules/RLottie/Sources/rlottie/src/vector/pixman/pixman-arm-neon-asm.S deleted file mode 100644 index f2203c21cf..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/pixman/pixman-arm-neon-asm.S +++ /dev/null @@ -1,497 +0,0 @@ -/* - * Copyright © 2009 Nokia Corporation - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the - * Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Author: Siarhei Siamashka (siarhei.siamashka@nokia.com) - */ - -/* - * This file contains implementations of NEON optimized pixel processing - * functions. There is no full and detailed tutorial, but some functions - * (those which are exposing some new or interesting features) are - * extensively commented and can be used as examples. - * - * You may want to have a look at the comments for following functions: - * - pixman_composite_over_8888_0565_asm_neon - * - pixman_composite_over_n_8_0565_asm_neon - */ - -/* Prevent the stack from becoming executable for no reason... */ -#if defined(__linux__) && defined(__ELF__) -.section .note.GNU-stack,"",%progbits -#endif - - .text - .fpu neon - .arch armv7a - .object_arch armv4 - .eabi_attribute 10, 0 /* suppress Tag_FP_arch */ - .eabi_attribute 12, 0 /* suppress Tag_Advanced_SIMD_arch */ - .arm - .altmacro - .p2align 2 - - -//#include "pixman-arm-asm.h" -/* Supplementary macro for setting function attributes */ -.macro pixman_asm_function fname - .func fname - .global fname -#ifdef __ELF__ - .hidden fname - .type fname, %function -#endif -fname: -.endm - -//#include "pixman-private.h" -/* - * The defines which are shared between C and assembly code - */ - -/* bilinear interpolation precision (must be < 8) */ -#define BILINEAR_INTERPOLATION_BITS 7 -#define BILINEAR_INTERPOLATION_RANGE (1 << BILINEAR_INTERPOLATION_BITS) - -#include "pixman-arm-neon-asm.h" - -/* Global configuration options and preferences */ - -/* - * The code can optionally make use of unaligned memory accesses to improve - * performance of handling leading/trailing pixels for each scanline. - * Configuration variable RESPECT_STRICT_ALIGNMENT can be set to 0 for - * example in linux if unaligned memory accesses are not configured to - * generate.exceptions. - */ -.set RESPECT_STRICT_ALIGNMENT, 1 - -/* - * Set default prefetch type. There is a choice between the following options: - * - * PREFETCH_TYPE_NONE (may be useful for the ARM cores where PLD is set to work - * as NOP to workaround some HW bugs or for whatever other reason) - * - * PREFETCH_TYPE_SIMPLE (may be useful for simple single-issue ARM cores where - * advanced prefetch intruduces heavy overhead) - * - * PREFETCH_TYPE_ADVANCED (useful for superscalar cores such as ARM Cortex-A8 - * which can run ARM and NEON instructions simultaneously so that extra ARM - * instructions do not add (many) extra cycles, but improve prefetch efficiency) - * - * Note: some types of function can't support advanced prefetch and fallback - * to simple one (those which handle 24bpp pixels) - */ -.set PREFETCH_TYPE_DEFAULT, PREFETCH_TYPE_ADVANCED - -/* Prefetch distance in pixels for simple prefetch */ -.set PREFETCH_DISTANCE_SIMPLE, 64 - -/* - * Implementation of pixman_composite_over_8888_0565_asm_neon - * - * This function takes a8r8g8b8 source buffer, r5g6b5 destination buffer and - * performs OVER compositing operation. Function fast_composite_over_8888_0565 - * from pixman-fast-path.c does the same in C and can be used as a reference. - * - * First we need to have some NEON assembly code which can do the actual - * operation on the pixels and provide it to the template macro. - * - * Template macro quite conveniently takes care of emitting all the necessary - * code for memory reading and writing (including quite tricky cases of - * handling unaligned leading/trailing pixels), so we only need to deal with - * the data in NEON registers. - * - * NEON registers allocation in general is recommented to be the following: - * d0, d1, d2, d3 - contain loaded source pixel data - * d4, d5, d6, d7 - contain loaded destination pixels (if they are needed) - * d24, d25, d26, d27 - contain loading mask pixel data (if mask is used) - * d28, d29, d30, d31 - place for storing the result (destination pixels) - * - * As can be seen above, four 64-bit NEON registers are used for keeping - * intermediate pixel data and up to 8 pixels can be processed in one step - * for 32bpp formats (16 pixels for 16bpp, 32 pixels for 8bpp). - * - * This particular function uses the following registers allocation: - * d0, d1, d2, d3 - contain loaded source pixel data - * d4, d5 - contain loaded destination pixels (they are needed) - * d28, d29 - place for storing the result (destination pixels) - */ - -/* - * Step one. We need to have some code to do some arithmetics on pixel data. - * This is implemented as a pair of macros: '*_head' and '*_tail'. When used - * back-to-back, they take pixel data from {d0, d1, d2, d3} and {d4, d5}, - * perform all the needed calculations and write the result to {d28, d29}. - * The rationale for having two macros and not just one will be explained - * later. In practice, any single monolitic function which does the work can - * be split into two parts in any arbitrary way without affecting correctness. - * - * There is one special trick here too. Common template macro can optionally - * make our life a bit easier by doing R, G, B, A color components - * deinterleaving for 32bpp pixel formats (and this feature is used in - * 'pixman_composite_over_8888_0565_asm_neon' function). So it means that - * instead of having 8 packed pixels in {d0, d1, d2, d3} registers, we - * actually use d0 register for blue channel (a vector of eight 8-bit - * values), d1 register for green, d2 for red and d3 for alpha. This - * simple conversion can be also done with a few NEON instructions: - * - * Packed to planar conversion: - * vuzp.8 d0, d1 - * vuzp.8 d2, d3 - * vuzp.8 d1, d3 - * vuzp.8 d0, d2 - * - * Planar to packed conversion: - * vzip.8 d0, d2 - * vzip.8 d1, d3 - * vzip.8 d2, d3 - * vzip.8 d0, d1 - * - * But pixel can be loaded directly in planar format using VLD4.8 NEON - * instruction. It is 1 cycle slower than VLD1.32, so this is not always - * desirable, that's why deinterleaving is optional. - * - * But anyway, here is the code: - */ - -/* - * OK, now we got almost everything that we need. Using the above two - * macros, the work can be done right. But now we want to optimize - * it a bit. ARM Cortex-A8 is an in-order core, and benefits really - * a lot from good code scheduling and software pipelining. - * - * Let's construct some code, which will run in the core main loop. - * Some pseudo-code of the main loop will look like this: - * head - * while (...) { - * tail - * head - * } - * tail - * - * It may look a bit weird, but this setup allows to hide instruction - * latencies better and also utilize dual-issue capability more - * efficiently (make pairs of load-store and ALU instructions). - * - * So what we need now is a '*_tail_head' macro, which will be used - * in the core main loop. A trivial straightforward implementation - * of this macro would look like this: - * - * pixman_composite_over_8888_0565_process_pixblock_tail - * vst1.16 {d28, d29}, [DST_W, :128]! - * vld1.16 {d4, d5}, [DST_R, :128]! - * vld4.32 {d0, d1, d2, d3}, [SRC]! - * pixman_composite_over_8888_0565_process_pixblock_head - * cache_preload 8, 8 - * - * Now it also got some VLD/VST instructions. We simply can't move from - * processing one block of pixels to the other one with just arithmetics. - * The previously processed data needs to be written to memory and new - * data needs to be fetched. Fortunately, this main loop does not deal - * with partial leading/trailing pixels and can load/store a full block - * of pixels in a bulk. Additionally, destination buffer is already - * 16 bytes aligned here (which is good for performance). - * - * New things here are DST_R, DST_W, SRC and MASK identifiers. These - * are the aliases for ARM registers which are used as pointers for - * accessing data. We maintain separate pointers for reading and writing - * destination buffer (DST_R and DST_W). - * - * Another new thing is 'cache_preload' macro. It is used for prefetching - * data into CPU L2 cache and improve performance when dealing with large - * images which are far larger than cache size. It uses one argument - * (actually two, but they need to be the same here) - number of pixels - * in a block. Looking into 'pixman-arm-neon-asm.h' can provide some - * details about this macro. Moreover, if good performance is needed - * the code from this macro needs to be copied into '*_tail_head' macro - * and mixed with the rest of code for optimal instructions scheduling. - * We are actually doing it below. - * - * Now after all the explanations, here is the optimized code. - * Different instruction streams (originaling from '*_head', '*_tail' - * and 'cache_preload' macro) use different indentation levels for - * better readability. Actually taking the code from one of these - * indentation levels and ignoring a few VLD/VST instructions would - * result in exactly the code from '*_head', '*_tail' or 'cache_preload' - * macro! - */ - -/* - * And now the final part. We are using 'generate_composite_function' macro - * to put all the stuff together. We are specifying the name of the function - * which we want to get, number of bits per pixel for the source, mask and - * destination (0 if unused, like mask in this case). Next come some bit - * flags: - * FLAG_DST_READWRITE - tells that the destination buffer is both read - * and written, for write-only buffer we would use - * FLAG_DST_WRITEONLY flag instead - * FLAG_DEINTERLEAVE_32BPP - tells that we prefer to work with planar data - * and separate color channels for 32bpp format. - * The next things are: - * - the number of pixels processed per iteration (8 in this case, because - * that's the maximum what can fit into four 64-bit NEON registers). - * - prefetch distance, measured in pixel blocks. In this case it is 5 times - * by 8 pixels. That would be 40 pixels, or up to 160 bytes. Optimal - * prefetch distance can be selected by running some benchmarks. - * - * After that we specify some macros, these are 'default_init', - * 'default_cleanup' here which are empty (but it is possible to have custom - * init/cleanup macros to be able to save/restore some extra NEON registers - * like d8-d15 or do anything else) followed by - * 'pixman_composite_over_8888_0565_process_pixblock_head', - * 'pixman_composite_over_8888_0565_process_pixblock_tail' and - * 'pixman_composite_over_8888_0565_process_pixblock_tail_head' - * which we got implemented above. - * - * The last part is the NEON registers allocation scheme. - */ - -/******************************************************************************/ - -/******************************************************************************/ - .macro pixman_composite_out_reverse_8888_8888_process_pixblock_head - vmvn.8 d24, d3 /* get inverted alpha */ - /* do alpha blending */ - vmull.u8 q8, d24, d4 - vmull.u8 q9, d24, d5 - vmull.u8 q10, d24, d6 - vmull.u8 q11, d24, d7 - .endm - - .macro pixman_composite_out_reverse_8888_8888_process_pixblock_tail - vrshr.u16 q14, q8, #8 - vrshr.u16 q15, q9, #8 - vrshr.u16 q12, q10, #8 - vrshr.u16 q13, q11, #8 - vraddhn.u16 d28, q14, q8 - vraddhn.u16 d29, q15, q9 - vraddhn.u16 d30, q12, q10 - vraddhn.u16 d31, q13, q11 - .endm - -/******************************************************************************/ - -.macro pixman_composite_over_8888_8888_process_pixblock_head - pixman_composite_out_reverse_8888_8888_process_pixblock_head -.endm - -.macro pixman_composite_over_8888_8888_process_pixblock_tail - pixman_composite_out_reverse_8888_8888_process_pixblock_tail - vqadd.u8 q14, q0, q14 - vqadd.u8 q15, q1, q15 -.endm - -.macro pixman_composite_over_8888_8888_process_pixblock_tail_head - vld4.8 {d4, d5, d6, d7}, [DST_R, :128]! - vrshr.u16 q14, q8, #8 - PF add PF_X, PF_X, #8 - PF tst PF_CTL, #0xF - vrshr.u16 q15, q9, #8 - vrshr.u16 q12, q10, #8 - vrshr.u16 q13, q11, #8 - PF addne PF_X, PF_X, #8 - PF subne PF_CTL, PF_CTL, #1 - vraddhn.u16 d28, q14, q8 - vraddhn.u16 d29, q15, q9 - PF cmp PF_X, ORIG_W - vraddhn.u16 d30, q12, q10 - vraddhn.u16 d31, q13, q11 - vqadd.u8 q14, q0, q14 - vqadd.u8 q15, q1, q15 - fetch_src_pixblock - PF pld, [PF_SRC, PF_X, lsl #src_bpp_shift] - vmvn.8 d22, d3 - PF pld, [PF_DST, PF_X, lsl #dst_bpp_shift] - vst4.8 {d28, d29, d30, d31}, [DST_W, :128]! - PF subge PF_X, PF_X, ORIG_W - vmull.u8 q8, d22, d4 - PF subges PF_CTL, PF_CTL, #0x10 - vmull.u8 q9, d22, d5 - PF ldrgeb DUMMY, [PF_SRC, SRC_STRIDE, lsl #src_bpp_shift]! - vmull.u8 q10, d22, d6 - PF ldrgeb DUMMY, [PF_DST, DST_STRIDE, lsl #dst_bpp_shift]! - vmull.u8 q11, d22, d7 -.endm - -generate_composite_function \ - pixman_composite_over_8888_8888_asm_neon, 32, 0, 32, \ - FLAG_DST_READWRITE | FLAG_DEINTERLEAVE_32BPP, \ - 8, /* number of pixels, processed in a single block */ \ - 5, /* prefetch distance */ \ - default_init, \ - default_cleanup, \ - pixman_composite_over_8888_8888_process_pixblock_head, \ - pixman_composite_over_8888_8888_process_pixblock_tail, \ - pixman_composite_over_8888_8888_process_pixblock_tail_head - -generate_composite_function_single_scanline \ - pixman_composite_scanline_over_asm_neon, 32, 0, 32, \ - FLAG_DST_READWRITE | FLAG_DEINTERLEAVE_32BPP, \ - 8, /* number of pixels, processed in a single block */ \ - default_init, \ - default_cleanup, \ - pixman_composite_over_8888_8888_process_pixblock_head, \ - pixman_composite_over_8888_8888_process_pixblock_tail, \ - pixman_composite_over_8888_8888_process_pixblock_tail_head - -/******************************************************************************/ - -.macro pixman_composite_over_n_8888_process_pixblock_head - /* deinterleaved source pixels in {d0, d1, d2, d3} */ - /* inverted alpha in {d24} */ - /* destination pixels in {d4, d5, d6, d7} */ - vmull.u8 q8, d24, d4 - vmull.u8 q9, d24, d5 - vmull.u8 q10, d24, d6 - vmull.u8 q11, d24, d7 -.endm - -.macro pixman_composite_over_n_8888_process_pixblock_tail - vrshr.u16 q14, q8, #8 - vrshr.u16 q15, q9, #8 - vrshr.u16 q2, q10, #8 - vrshr.u16 q3, q11, #8 - vraddhn.u16 d28, q14, q8 - vraddhn.u16 d29, q15, q9 - vraddhn.u16 d30, q2, q10 - vraddhn.u16 d31, q3, q11 - vqadd.u8 q14, q0, q14 - vqadd.u8 q15, q1, q15 -.endm - -.macro pixman_composite_over_n_8888_process_pixblock_tail_head - vrshr.u16 q14, q8, #8 - vrshr.u16 q15, q9, #8 - vrshr.u16 q2, q10, #8 - vrshr.u16 q3, q11, #8 - vraddhn.u16 d28, q14, q8 - vraddhn.u16 d29, q15, q9 - vraddhn.u16 d30, q2, q10 - vraddhn.u16 d31, q3, q11 - vld4.8 {d4, d5, d6, d7}, [DST_R, :128]! - vqadd.u8 q14, q0, q14 - PF add PF_X, PF_X, #8 - PF tst PF_CTL, #0x0F - PF addne PF_X, PF_X, #8 - PF subne PF_CTL, PF_CTL, #1 - vqadd.u8 q15, q1, q15 - PF cmp PF_X, ORIG_W - vmull.u8 q8, d24, d4 - PF pld, [PF_DST, PF_X, lsl #dst_bpp_shift] - vmull.u8 q9, d24, d5 - PF subge PF_X, PF_X, ORIG_W - vmull.u8 q10, d24, d6 - PF subges PF_CTL, PF_CTL, #0x10 - vmull.u8 q11, d24, d7 - PF ldrgeb DUMMY, [PF_DST, DST_STRIDE, lsl #dst_bpp_shift]! - vst4.8 {d28, d29, d30, d31}, [DST_W, :128]! -.endm - -.macro pixman_composite_over_n_8888_init - add DUMMY, sp, #ARGS_STACK_OFFSET - vld1.32 {d3[0]}, [DUMMY] - vdup.8 d0, d3[0] - vdup.8 d1, d3[1] - vdup.8 d2, d3[2] - vdup.8 d3, d3[3] - vmvn.8 d24, d3 /* get inverted alpha */ -.endm - -generate_composite_function \ - pixman_composite_over_n_8888_asm_neon, 0, 0, 32, \ - FLAG_DST_READWRITE | FLAG_DEINTERLEAVE_32BPP, \ - 8, /* number of pixels, processed in a single block */ \ - 5, /* prefetch distance */ \ - pixman_composite_over_n_8888_init, \ - default_cleanup, \ - pixman_composite_over_8888_8888_process_pixblock_head, \ - pixman_composite_over_8888_8888_process_pixblock_tail, \ - pixman_composite_over_n_8888_process_pixblock_tail_head - -/******************************************************************************/ - -.macro pixman_composite_src_n_8888_process_pixblock_head -.endm - -.macro pixman_composite_src_n_8888_process_pixblock_tail -.endm - -.macro pixman_composite_src_n_8888_process_pixblock_tail_head - vst1.32 {d0, d1, d2, d3}, [DST_W, :128]! -.endm - -.macro pixman_composite_src_n_8888_init - add DUMMY, sp, #ARGS_STACK_OFFSET - vld1.32 {d0[0]}, [DUMMY] - vsli.u64 d0, d0, #32 - vorr d1, d0, d0 - vorr q1, q0, q0 -.endm - -.macro pixman_composite_src_n_8888_cleanup -.endm - -generate_composite_function \ - pixman_composite_src_n_8888_asm_neon, 0, 0, 32, \ - FLAG_DST_WRITEONLY, \ - 8, /* number of pixels, processed in a single block */ \ - 0, /* prefetch distance */ \ - pixman_composite_src_n_8888_init, \ - pixman_composite_src_n_8888_cleanup, \ - pixman_composite_src_n_8888_process_pixblock_head, \ - pixman_composite_src_n_8888_process_pixblock_tail, \ - pixman_composite_src_n_8888_process_pixblock_tail_head, \ - 0, /* dst_w_basereg */ \ - 0, /* dst_r_basereg */ \ - 0, /* src_basereg */ \ - 0 /* mask_basereg */ - -/******************************************************************************/ - -.macro pixman_composite_src_8888_8888_process_pixblock_head -.endm - -.macro pixman_composite_src_8888_8888_process_pixblock_tail -.endm - -.macro pixman_composite_src_8888_8888_process_pixblock_tail_head - vst1.32 {d0, d1, d2, d3}, [DST_W, :128]! - fetch_src_pixblock - cache_preload 8, 8 -.endm - -generate_composite_function \ - pixman_composite_src_8888_8888_asm_neon, 32, 0, 32, \ - FLAG_DST_WRITEONLY, \ - 8, /* number of pixels, processed in a single block */ \ - 10, /* prefetch distance */ \ - default_init, \ - default_cleanup, \ - pixman_composite_src_8888_8888_process_pixblock_head, \ - pixman_composite_src_8888_8888_process_pixblock_tail, \ - pixman_composite_src_8888_8888_process_pixblock_tail_head, \ - 0, /* dst_w_basereg */ \ - 0, /* dst_r_basereg */ \ - 0, /* src_basereg */ \ - 0 /* mask_basereg */ - -/******************************************************************************/ diff --git a/submodules/RLottie/Sources/rlottie/src/vector/pixman/pixman-arm-neon-asm.h b/submodules/RLottie/Sources/rlottie/src/vector/pixman/pixman-arm-neon-asm.h deleted file mode 100644 index 6add220a18..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/pixman/pixman-arm-neon-asm.h +++ /dev/null @@ -1,1126 +0,0 @@ -/* - * Copyright © 2009 Nokia Corporation - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the - * Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Author: Siarhei Siamashka (siarhei.siamashka@nokia.com) - */ - -/* - * This file contains a macro ('generate_composite_function') which can - * construct 2D image processing functions, based on a common template. - * Any combinations of source, destination and mask images with 8bpp, - * 16bpp, 24bpp, 32bpp color formats are supported. - * - * This macro takes care of: - * - handling of leading and trailing unaligned pixels - * - doing most of the work related to L2 cache preload - * - encourages the use of software pipelining for better instructions - * scheduling - * - * The user of this macro has to provide some configuration parameters - * (bit depths for the images, prefetch distance, etc.) and a set of - * macros, which should implement basic code chunks responsible for - * pixels processing. See 'pixman-arm-neon-asm.S' file for the usage - * examples. - * - * TODO: - * - try overlapped pixel method (from Ian Rickards) when processing - * exactly two blocks of pixels - * - maybe add an option to do reverse scanline processing - */ - -/* - * Bit flags for 'generate_composite_function' macro which are used - * to tune generated functions behavior. - */ -.set FLAG_DST_WRITEONLY, 0 -.set FLAG_DST_READWRITE, 1 -.set FLAG_DEINTERLEAVE_32BPP, 2 - -/* - * Offset in stack where mask and source pointer/stride can be accessed - * from 'init' macro. This is useful for doing special handling for solid mask. - */ -.set ARGS_STACK_OFFSET, 40 - -/* - * Constants for selecting preferable prefetch type. - */ -.set PREFETCH_TYPE_NONE, 0 /* No prefetch at all */ -.set PREFETCH_TYPE_SIMPLE, 1 /* A simple, fixed-distance-ahead prefetch */ -.set PREFETCH_TYPE_ADVANCED, 2 /* Advanced fine-grained prefetch */ - -/* - * Definitions of supplementary pixld/pixst macros (for partial load/store of - * pixel data). - */ - -.macro pixldst1 op, elem_size, reg1, mem_operand, abits -.if abits > 0 - op&.&elem_size {d®1}, [&mem_operand&, :&abits&]! -.else - op&.&elem_size {d®1}, [&mem_operand&]! -.endif -.endm - -.macro pixldst2 op, elem_size, reg1, reg2, mem_operand, abits -.if abits > 0 - op&.&elem_size {d®1, d®2}, [&mem_operand&, :&abits&]! -.else - op&.&elem_size {d®1, d®2}, [&mem_operand&]! -.endif -.endm - -.macro pixldst4 op, elem_size, reg1, reg2, reg3, reg4, mem_operand, abits -.if abits > 0 - op&.&elem_size {d®1, d®2, d®3, d®4}, [&mem_operand&, :&abits&]! -.else - op&.&elem_size {d®1, d®2, d®3, d®4}, [&mem_operand&]! -.endif -.endm - -.macro pixldst0 op, elem_size, reg1, idx, mem_operand, abits - op&.&elem_size {d®1[idx]}, [&mem_operand&]! -.endm - -.macro pixldst3 op, elem_size, reg1, reg2, reg3, mem_operand - op&.&elem_size {d®1, d®2, d®3}, [&mem_operand&]! -.endm - -.macro pixldst30 op, elem_size, reg1, reg2, reg3, idx, mem_operand - op&.&elem_size {d®1[idx], d®2[idx], d®3[idx]}, [&mem_operand&]! -.endm - -.macro pixldst numbytes, op, elem_size, basereg, mem_operand, abits -.if numbytes == 32 - pixldst4 op, elem_size, %(basereg+4), %(basereg+5), \ - %(basereg+6), %(basereg+7), mem_operand, abits -.elseif numbytes == 16 - pixldst2 op, elem_size, %(basereg+2), %(basereg+3), mem_operand, abits -.elseif numbytes == 8 - pixldst1 op, elem_size, %(basereg+1), mem_operand, abits -.elseif numbytes == 4 - .if !RESPECT_STRICT_ALIGNMENT || (elem_size == 32) - pixldst0 op, 32, %(basereg+0), 1, mem_operand, abits - .elseif elem_size == 16 - pixldst0 op, 16, %(basereg+0), 2, mem_operand, abits - pixldst0 op, 16, %(basereg+0), 3, mem_operand, abits - .else - pixldst0 op, 8, %(basereg+0), 4, mem_operand, abits - pixldst0 op, 8, %(basereg+0), 5, mem_operand, abits - pixldst0 op, 8, %(basereg+0), 6, mem_operand, abits - pixldst0 op, 8, %(basereg+0), 7, mem_operand, abits - .endif -.elseif numbytes == 2 - .if !RESPECT_STRICT_ALIGNMENT || (elem_size == 16) - pixldst0 op, 16, %(basereg+0), 1, mem_operand, abits - .else - pixldst0 op, 8, %(basereg+0), 2, mem_operand, abits - pixldst0 op, 8, %(basereg+0), 3, mem_operand, abits - .endif -.elseif numbytes == 1 - pixldst0 op, 8, %(basereg+0), 1, mem_operand, abits -.else - .error "unsupported size: numbytes" -.endif -.endm - -.macro pixld numpix, bpp, basereg, mem_operand, abits=0 -.if bpp > 0 -.if (bpp == 32) && (numpix == 8) && (DEINTERLEAVE_32BPP_ENABLED != 0) - pixldst4 vld4, 8, %(basereg+4), %(basereg+5), \ - %(basereg+6), %(basereg+7), mem_operand, abits -.elseif (bpp == 24) && (numpix == 8) - pixldst3 vld3, 8, %(basereg+3), %(basereg+4), %(basereg+5), mem_operand -.elseif (bpp == 24) && (numpix == 4) - pixldst30 vld3, 8, %(basereg+0), %(basereg+1), %(basereg+2), 4, mem_operand - pixldst30 vld3, 8, %(basereg+0), %(basereg+1), %(basereg+2), 5, mem_operand - pixldst30 vld3, 8, %(basereg+0), %(basereg+1), %(basereg+2), 6, mem_operand - pixldst30 vld3, 8, %(basereg+0), %(basereg+1), %(basereg+2), 7, mem_operand -.elseif (bpp == 24) && (numpix == 2) - pixldst30 vld3, 8, %(basereg+0), %(basereg+1), %(basereg+2), 2, mem_operand - pixldst30 vld3, 8, %(basereg+0), %(basereg+1), %(basereg+2), 3, mem_operand -.elseif (bpp == 24) && (numpix == 1) - pixldst30 vld3, 8, %(basereg+0), %(basereg+1), %(basereg+2), 1, mem_operand -.else - pixldst %(numpix * bpp / 8), vld1, %(bpp), basereg, mem_operand, abits -.endif -.endif -.endm - -.macro pixst numpix, bpp, basereg, mem_operand, abits=0 -.if bpp > 0 -.if (bpp == 32) && (numpix == 8) && (DEINTERLEAVE_32BPP_ENABLED != 0) - pixldst4 vst4, 8, %(basereg+4), %(basereg+5), \ - %(basereg+6), %(basereg+7), mem_operand, abits -.elseif (bpp == 24) && (numpix == 8) - pixldst3 vst3, 8, %(basereg+3), %(basereg+4), %(basereg+5), mem_operand -.elseif (bpp == 24) && (numpix == 4) - pixldst30 vst3, 8, %(basereg+0), %(basereg+1), %(basereg+2), 4, mem_operand - pixldst30 vst3, 8, %(basereg+0), %(basereg+1), %(basereg+2), 5, mem_operand - pixldst30 vst3, 8, %(basereg+0), %(basereg+1), %(basereg+2), 6, mem_operand - pixldst30 vst3, 8, %(basereg+0), %(basereg+1), %(basereg+2), 7, mem_operand -.elseif (bpp == 24) && (numpix == 2) - pixldst30 vst3, 8, %(basereg+0), %(basereg+1), %(basereg+2), 2, mem_operand - pixldst30 vst3, 8, %(basereg+0), %(basereg+1), %(basereg+2), 3, mem_operand -.elseif (bpp == 24) && (numpix == 1) - pixldst30 vst3, 8, %(basereg+0), %(basereg+1), %(basereg+2), 1, mem_operand -.else - pixldst %(numpix * bpp / 8), vst1, %(bpp), basereg, mem_operand, abits -.endif -.endif -.endm - -.macro pixld_a numpix, bpp, basereg, mem_operand -.if (bpp * numpix) <= 128 - pixld numpix, bpp, basereg, mem_operand, %(bpp * numpix) -.else - pixld numpix, bpp, basereg, mem_operand, 128 -.endif -.endm - -.macro pixst_a numpix, bpp, basereg, mem_operand -.if (bpp * numpix) <= 128 - pixst numpix, bpp, basereg, mem_operand, %(bpp * numpix) -.else - pixst numpix, bpp, basereg, mem_operand, 128 -.endif -.endm - -/* - * Pixel fetcher for nearest scaling (needs TMP1, TMP2, VX, UNIT_X register - * aliases to be defined) - */ -.macro pixld1_s elem_size, reg1, mem_operand -.if elem_size == 16 - mov TMP1, VX, asr #16 - adds VX, VX, UNIT_X -5: subpls VX, VX, SRC_WIDTH_FIXED - bpl 5b - add TMP1, mem_operand, TMP1, asl #1 - mov TMP2, VX, asr #16 - adds VX, VX, UNIT_X -5: subpls VX, VX, SRC_WIDTH_FIXED - bpl 5b - add TMP2, mem_operand, TMP2, asl #1 - vld1.16 {d®1&[0]}, [TMP1, :16] - mov TMP1, VX, asr #16 - adds VX, VX, UNIT_X -5: subpls VX, VX, SRC_WIDTH_FIXED - bpl 5b - add TMP1, mem_operand, TMP1, asl #1 - vld1.16 {d®1&[1]}, [TMP2, :16] - mov TMP2, VX, asr #16 - adds VX, VX, UNIT_X -5: subpls VX, VX, SRC_WIDTH_FIXED - bpl 5b - add TMP2, mem_operand, TMP2, asl #1 - vld1.16 {d®1&[2]}, [TMP1, :16] - vld1.16 {d®1&[3]}, [TMP2, :16] -.elseif elem_size == 32 - mov TMP1, VX, asr #16 - adds VX, VX, UNIT_X -5: subpls VX, VX, SRC_WIDTH_FIXED - bpl 5b - add TMP1, mem_operand, TMP1, asl #2 - mov TMP2, VX, asr #16 - adds VX, VX, UNIT_X -5: subpls VX, VX, SRC_WIDTH_FIXED - bpl 5b - add TMP2, mem_operand, TMP2, asl #2 - vld1.32 {d®1&[0]}, [TMP1, :32] - vld1.32 {d®1&[1]}, [TMP2, :32] -.else - .error "unsupported" -.endif -.endm - -.macro pixld2_s elem_size, reg1, reg2, mem_operand -.if 0 /* elem_size == 32 */ - mov TMP1, VX, asr #16 - add VX, VX, UNIT_X, asl #1 - add TMP1, mem_operand, TMP1, asl #2 - mov TMP2, VX, asr #16 - sub VX, VX, UNIT_X - add TMP2, mem_operand, TMP2, asl #2 - vld1.32 {d®1&[0]}, [TMP1, :32] - mov TMP1, VX, asr #16 - add VX, VX, UNIT_X, asl #1 - add TMP1, mem_operand, TMP1, asl #2 - vld1.32 {d®2&[0]}, [TMP2, :32] - mov TMP2, VX, asr #16 - add VX, VX, UNIT_X - add TMP2, mem_operand, TMP2, asl #2 - vld1.32 {d®1&[1]}, [TMP1, :32] - vld1.32 {d®2&[1]}, [TMP2, :32] -.else - pixld1_s elem_size, reg1, mem_operand - pixld1_s elem_size, reg2, mem_operand -.endif -.endm - -.macro pixld0_s elem_size, reg1, idx, mem_operand -.if elem_size == 16 - mov TMP1, VX, asr #16 - adds VX, VX, UNIT_X -5: subpls VX, VX, SRC_WIDTH_FIXED - bpl 5b - add TMP1, mem_operand, TMP1, asl #1 - vld1.16 {d®1&[idx]}, [TMP1, :16] -.elseif elem_size == 32 - mov TMP1, VX, asr #16 - adds VX, VX, UNIT_X -5: subpls VX, VX, SRC_WIDTH_FIXED - bpl 5b - add TMP1, mem_operand, TMP1, asl #2 - vld1.32 {d®1&[idx]}, [TMP1, :32] -.endif -.endm - -.macro pixld_s_internal numbytes, elem_size, basereg, mem_operand -.if numbytes == 32 - pixld2_s elem_size, %(basereg+4), %(basereg+5), mem_operand - pixld2_s elem_size, %(basereg+6), %(basereg+7), mem_operand - pixdeinterleave elem_size, %(basereg+4) -.elseif numbytes == 16 - pixld2_s elem_size, %(basereg+2), %(basereg+3), mem_operand -.elseif numbytes == 8 - pixld1_s elem_size, %(basereg+1), mem_operand -.elseif numbytes == 4 - .if elem_size == 32 - pixld0_s elem_size, %(basereg+0), 1, mem_operand - .elseif elem_size == 16 - pixld0_s elem_size, %(basereg+0), 2, mem_operand - pixld0_s elem_size, %(basereg+0), 3, mem_operand - .else - pixld0_s elem_size, %(basereg+0), 4, mem_operand - pixld0_s elem_size, %(basereg+0), 5, mem_operand - pixld0_s elem_size, %(basereg+0), 6, mem_operand - pixld0_s elem_size, %(basereg+0), 7, mem_operand - .endif -.elseif numbytes == 2 - .if elem_size == 16 - pixld0_s elem_size, %(basereg+0), 1, mem_operand - .else - pixld0_s elem_size, %(basereg+0), 2, mem_operand - pixld0_s elem_size, %(basereg+0), 3, mem_operand - .endif -.elseif numbytes == 1 - pixld0_s elem_size, %(basereg+0), 1, mem_operand -.else - .error "unsupported size: numbytes" -.endif -.endm - -.macro pixld_s numpix, bpp, basereg, mem_operand -.if bpp > 0 - pixld_s_internal %(numpix * bpp / 8), %(bpp), basereg, mem_operand -.endif -.endm - -.macro vuzp8 reg1, reg2 - vuzp.8 d®1, d®2 -.endm - -.macro vzip8 reg1, reg2 - vzip.8 d®1, d®2 -.endm - -/* deinterleave B, G, R, A channels for eight 32bpp pixels in 4 registers */ -.macro pixdeinterleave bpp, basereg -.if (bpp == 32) && (DEINTERLEAVE_32BPP_ENABLED != 0) - vuzp8 %(basereg+0), %(basereg+1) - vuzp8 %(basereg+2), %(basereg+3) - vuzp8 %(basereg+1), %(basereg+3) - vuzp8 %(basereg+0), %(basereg+2) -.endif -.endm - -/* interleave B, G, R, A channels for eight 32bpp pixels in 4 registers */ -.macro pixinterleave bpp, basereg -.if (bpp == 32) && (DEINTERLEAVE_32BPP_ENABLED != 0) - vzip8 %(basereg+0), %(basereg+2) - vzip8 %(basereg+1), %(basereg+3) - vzip8 %(basereg+2), %(basereg+3) - vzip8 %(basereg+0), %(basereg+1) -.endif -.endm - -/* - * This is a macro for implementing cache preload. The main idea is that - * cache preload logic is mostly independent from the rest of pixels - * processing code. It starts at the top left pixel and moves forward - * across pixels and can jump across scanlines. Prefetch distance is - * handled in an 'incremental' way: it starts from 0 and advances to the - * optimal distance over time. After reaching optimal prefetch distance, - * it is kept constant. There are some checks which prevent prefetching - * unneeded pixel lines below the image (but it still can prefetch a bit - * more data on the right side of the image - not a big issue and may - * be actually helpful when rendering text glyphs). Additional trick is - * the use of LDR instruction for prefetch instead of PLD when moving to - * the next line, the point is that we have a high chance of getting TLB - * miss in this case, and PLD would be useless. - * - * This sounds like it may introduce a noticeable overhead (when working with - * fully cached data). But in reality, due to having a separate pipeline and - * instruction queue for NEON unit in ARM Cortex-A8, normal ARM code can - * execute simultaneously with NEON and be completely shadowed by it. Thus - * we get no performance overhead at all (*). This looks like a very nice - * feature of Cortex-A8, if used wisely. We don't have a hardware prefetcher, - * but still can implement some rather advanced prefetch logic in software - * for almost zero cost! - * - * (*) The overhead of the prefetcher is visible when running some trivial - * pixels processing like simple copy. Anyway, having prefetch is a must - * when working with the graphics data. - */ -.macro PF a, x:vararg -.if (PREFETCH_TYPE_CURRENT == PREFETCH_TYPE_ADVANCED) - a x -.endif -.endm - -.macro cache_preload std_increment, boost_increment -.if (src_bpp_shift >= 0) || (dst_r_bpp != 0) || (mask_bpp_shift >= 0) -.if regs_shortage - PF ldr ORIG_W, [sp] /* If we are short on regs, ORIG_W is kept on stack */ -.endif -.if std_increment != 0 - PF add PF_X, PF_X, #std_increment -.endif - PF tst PF_CTL, #0xF - PF addne PF_X, PF_X, #boost_increment - PF subne PF_CTL, PF_CTL, #1 - PF cmp PF_X, ORIG_W -.if src_bpp_shift >= 0 - PF pld, [PF_SRC, PF_X, lsl #src_bpp_shift] -.endif -.if dst_r_bpp != 0 - PF pld, [PF_DST, PF_X, lsl #dst_bpp_shift] -.endif -.if mask_bpp_shift >= 0 - PF pld, [PF_MASK, PF_X, lsl #mask_bpp_shift] -.endif - PF subge PF_X, PF_X, ORIG_W - PF subges PF_CTL, PF_CTL, #0x10 -.if src_bpp_shift >= 0 - PF ldrgeb DUMMY, [PF_SRC, SRC_STRIDE, lsl #src_bpp_shift]! -.endif -.if dst_r_bpp != 0 - PF ldrgeb DUMMY, [PF_DST, DST_STRIDE, lsl #dst_bpp_shift]! -.endif -.if mask_bpp_shift >= 0 - PF ldrgeb DUMMY, [PF_MASK, MASK_STRIDE, lsl #mask_bpp_shift]! -.endif -.endif -.endm - -.macro cache_preload_simple -.if (PREFETCH_TYPE_CURRENT == PREFETCH_TYPE_SIMPLE) -.if src_bpp > 0 - pld [SRC, #(PREFETCH_DISTANCE_SIMPLE * src_bpp / 8)] -.endif -.if dst_r_bpp > 0 - pld [DST_R, #(PREFETCH_DISTANCE_SIMPLE * dst_r_bpp / 8)] -.endif -.if mask_bpp > 0 - pld [MASK, #(PREFETCH_DISTANCE_SIMPLE * mask_bpp / 8)] -.endif -.endif -.endm - -.macro fetch_mask_pixblock - pixld pixblock_size, mask_bpp, \ - (mask_basereg - pixblock_size * mask_bpp / 64), MASK -.endm - -/* - * Macro which is used to process leading pixels until destination - * pointer is properly aligned (at 16 bytes boundary). When destination - * buffer uses 16bpp format, this is unnecessary, or even pointless. - */ -.macro ensure_destination_ptr_alignment process_pixblock_head, \ - process_pixblock_tail, \ - process_pixblock_tail_head -.if dst_w_bpp != 24 - tst DST_R, #0xF - beq 2f - -.irp lowbit, 1, 2, 4, 8, 16 -local skip1 -.if (dst_w_bpp <= (lowbit * 8)) && ((lowbit * 8) < (pixblock_size * dst_w_bpp)) -.if lowbit < 16 /* we don't need more than 16-byte alignment */ - tst DST_R, #lowbit - beq 1f -.endif - pixld_src (lowbit * 8 / dst_w_bpp), src_bpp, src_basereg, SRC - pixld (lowbit * 8 / dst_w_bpp), mask_bpp, mask_basereg, MASK -.if dst_r_bpp > 0 - pixld_a (lowbit * 8 / dst_r_bpp), dst_r_bpp, dst_r_basereg, DST_R -.else - add DST_R, DST_R, #lowbit -.endif - PF add PF_X, PF_X, #(lowbit * 8 / dst_w_bpp) - sub W, W, #(lowbit * 8 / dst_w_bpp) -1: -.endif -.endr - pixdeinterleave src_bpp, src_basereg - pixdeinterleave mask_bpp, mask_basereg - pixdeinterleave dst_r_bpp, dst_r_basereg - - process_pixblock_head - cache_preload 0, pixblock_size - cache_preload_simple - process_pixblock_tail - - pixinterleave dst_w_bpp, dst_w_basereg -.irp lowbit, 1, 2, 4, 8, 16 -.if (dst_w_bpp <= (lowbit * 8)) && ((lowbit * 8) < (pixblock_size * dst_w_bpp)) -.if lowbit < 16 /* we don't need more than 16-byte alignment */ - tst DST_W, #lowbit - beq 1f -.endif - pixst_a (lowbit * 8 / dst_w_bpp), dst_w_bpp, dst_w_basereg, DST_W -1: -.endif -.endr -.endif -2: -.endm - -/* - * Special code for processing up to (pixblock_size - 1) remaining - * trailing pixels. As SIMD processing performs operation on - * pixblock_size pixels, anything smaller than this has to be loaded - * and stored in a special way. Loading and storing of pixel data is - * performed in such a way that we fill some 'slots' in the NEON - * registers (some slots naturally are unused), then perform compositing - * operation as usual. In the end, the data is taken from these 'slots' - * and saved to memory. - * - * cache_preload_flag - allows to suppress prefetch if - * set to 0 - * dst_aligned_flag - selects whether destination buffer - * is aligned - */ -.macro process_trailing_pixels cache_preload_flag, \ - dst_aligned_flag, \ - process_pixblock_head, \ - process_pixblock_tail, \ - process_pixblock_tail_head - tst W, #(pixblock_size - 1) - beq 2f -.irp chunk_size, 16, 8, 4, 2, 1 -.if pixblock_size > chunk_size - tst W, #chunk_size - beq 1f - pixld_src chunk_size, src_bpp, src_basereg, SRC - pixld chunk_size, mask_bpp, mask_basereg, MASK -.if dst_aligned_flag != 0 - pixld_a chunk_size, dst_r_bpp, dst_r_basereg, DST_R -.else - pixld chunk_size, dst_r_bpp, dst_r_basereg, DST_R -.endif -.if cache_preload_flag != 0 - PF add PF_X, PF_X, #chunk_size -.endif -1: -.endif -.endr - pixdeinterleave src_bpp, src_basereg - pixdeinterleave mask_bpp, mask_basereg - pixdeinterleave dst_r_bpp, dst_r_basereg - - process_pixblock_head -.if cache_preload_flag != 0 - cache_preload 0, pixblock_size - cache_preload_simple -.endif - process_pixblock_tail - pixinterleave dst_w_bpp, dst_w_basereg -.irp chunk_size, 16, 8, 4, 2, 1 -.if pixblock_size > chunk_size - tst W, #chunk_size - beq 1f -.if dst_aligned_flag != 0 - pixst_a chunk_size, dst_w_bpp, dst_w_basereg, DST_W -.else - pixst chunk_size, dst_w_bpp, dst_w_basereg, DST_W -.endif -1: -.endif -.endr -2: -.endm - -/* - * Macro, which performs all the needed operations to switch to the next - * scanline and start the next loop iteration unless all the scanlines - * are already processed. - */ -.macro advance_to_next_scanline start_of_loop_label -.if regs_shortage - ldrd W, [sp] /* load W and H (width and height) from stack */ -.else - mov W, ORIG_W -.endif - add DST_W, DST_W, DST_STRIDE, lsl #dst_bpp_shift -.if src_bpp != 0 - add SRC, SRC, SRC_STRIDE, lsl #src_bpp_shift -.endif -.if mask_bpp != 0 - add MASK, MASK, MASK_STRIDE, lsl #mask_bpp_shift -.endif -.if (dst_w_bpp != 24) - sub DST_W, DST_W, W, lsl #dst_bpp_shift -.endif -.if (src_bpp != 24) && (src_bpp != 0) - sub SRC, SRC, W, lsl #src_bpp_shift -.endif -.if (mask_bpp != 24) && (mask_bpp != 0) - sub MASK, MASK, W, lsl #mask_bpp_shift -.endif - subs H, H, #1 - mov DST_R, DST_W -.if regs_shortage - str H, [sp, #4] /* save updated height to stack */ -.endif - bge start_of_loop_label -.endm - -/* - * Registers are allocated in the following way by default: - * d0, d1, d2, d3 - reserved for loading source pixel data - * d4, d5, d6, d7 - reserved for loading destination pixel data - * d24, d25, d26, d27 - reserved for loading mask pixel data - * d28, d29, d30, d31 - final destination pixel data for writeback to memory - */ -.macro generate_composite_function fname, \ - src_bpp_, \ - mask_bpp_, \ - dst_w_bpp_, \ - flags, \ - pixblock_size_, \ - prefetch_distance, \ - init, \ - cleanup, \ - process_pixblock_head, \ - process_pixblock_tail, \ - process_pixblock_tail_head, \ - dst_w_basereg_ = 28, \ - dst_r_basereg_ = 4, \ - src_basereg_ = 0, \ - mask_basereg_ = 24 - - pixman_asm_function fname - - push {r4-r12, lr} /* save all registers */ - -/* - * Select prefetch type for this function. If prefetch distance is - * set to 0 or one of the color formats is 24bpp, SIMPLE prefetch - * has to be used instead of ADVANCED. - */ - .set PREFETCH_TYPE_CURRENT, PREFETCH_TYPE_DEFAULT -.if prefetch_distance == 0 - .set PREFETCH_TYPE_CURRENT, PREFETCH_TYPE_NONE -.elseif (PREFETCH_TYPE_CURRENT > PREFETCH_TYPE_SIMPLE) && \ - ((src_bpp_ == 24) || (mask_bpp_ == 24) || (dst_w_bpp_ == 24)) - .set PREFETCH_TYPE_CURRENT, PREFETCH_TYPE_SIMPLE -.endif - -/* - * Make some macro arguments globally visible and accessible - * from other macros - */ - .set src_bpp, src_bpp_ - .set mask_bpp, mask_bpp_ - .set dst_w_bpp, dst_w_bpp_ - .set pixblock_size, pixblock_size_ - .set dst_w_basereg, dst_w_basereg_ - .set dst_r_basereg, dst_r_basereg_ - .set src_basereg, src_basereg_ - .set mask_basereg, mask_basereg_ - - .macro pixld_src x:vararg - pixld x - .endm - .macro fetch_src_pixblock - pixld_src pixblock_size, src_bpp, \ - (src_basereg - pixblock_size * src_bpp / 64), SRC - .endm -/* - * Assign symbolic names to registers - */ - W .req r0 /* width (is updated during processing) */ - H .req r1 /* height (is updated during processing) */ - DST_W .req r2 /* destination buffer pointer for writes */ - DST_STRIDE .req r3 /* destination image stride */ - SRC .req r4 /* source buffer pointer */ - SRC_STRIDE .req r5 /* source image stride */ - DST_R .req r6 /* destination buffer pointer for reads */ - - MASK .req r7 /* mask pointer */ - MASK_STRIDE .req r8 /* mask stride */ - - PF_CTL .req r9 /* combined lines counter and prefetch */ - /* distance increment counter */ - PF_X .req r10 /* pixel index in a scanline for current */ - /* pretetch position */ - PF_SRC .req r11 /* pointer to source scanline start */ - /* for prefetch purposes */ - PF_DST .req r12 /* pointer to destination scanline start */ - /* for prefetch purposes */ - PF_MASK .req r14 /* pointer to mask scanline start */ - /* for prefetch purposes */ -/* - * Check whether we have enough registers for all the local variables. - * If we don't have enough registers, original width and height are - * kept on top of stack (and 'regs_shortage' variable is set to indicate - * this for the rest of code). Even if there are enough registers, the - * allocation scheme may be a bit different depending on whether source - * or mask is not used. - */ -.if (PREFETCH_TYPE_CURRENT < PREFETCH_TYPE_ADVANCED) - ORIG_W .req r10 /* saved original width */ - DUMMY .req r12 /* temporary register */ - .set regs_shortage, 0 -.elseif mask_bpp == 0 - ORIG_W .req r7 /* saved original width */ - DUMMY .req r8 /* temporary register */ - .set regs_shortage, 0 -.elseif src_bpp == 0 - ORIG_W .req r4 /* saved original width */ - DUMMY .req r5 /* temporary register */ - .set regs_shortage, 0 -.else - ORIG_W .req r1 /* saved original width */ - DUMMY .req r1 /* temporary register */ - .set regs_shortage, 1 -.endif - - .set mask_bpp_shift, -1 -.if src_bpp == 32 - .set src_bpp_shift, 2 -.elseif src_bpp == 24 - .set src_bpp_shift, 0 -.elseif src_bpp == 16 - .set src_bpp_shift, 1 -.elseif src_bpp == 8 - .set src_bpp_shift, 0 -.elseif src_bpp == 0 - .set src_bpp_shift, -1 -.else - .error "requested src bpp (src_bpp) is not supported" -.endif -.if mask_bpp == 32 - .set mask_bpp_shift, 2 -.elseif mask_bpp == 24 - .set mask_bpp_shift, 0 -.elseif mask_bpp == 8 - .set mask_bpp_shift, 0 -.elseif mask_bpp == 0 - .set mask_bpp_shift, -1 -.else - .error "requested mask bpp (mask_bpp) is not supported" -.endif -.if dst_w_bpp == 32 - .set dst_bpp_shift, 2 -.elseif dst_w_bpp == 24 - .set dst_bpp_shift, 0 -.elseif dst_w_bpp == 16 - .set dst_bpp_shift, 1 -.elseif dst_w_bpp == 8 - .set dst_bpp_shift, 0 -.else - .error "requested dst bpp (dst_w_bpp) is not supported" -.endif - -.if (((flags) & FLAG_DST_READWRITE) != 0) - .set dst_r_bpp, dst_w_bpp -.else - .set dst_r_bpp, 0 -.endif -.if (((flags) & FLAG_DEINTERLEAVE_32BPP) != 0) - .set DEINTERLEAVE_32BPP_ENABLED, 1 -.else - .set DEINTERLEAVE_32BPP_ENABLED, 0 -.endif - -.if prefetch_distance < 0 || prefetch_distance > 15 - .error "invalid prefetch distance (prefetch_distance)" -.endif - -.if src_bpp > 0 - ldr SRC, [sp, #40] -.endif -.if mask_bpp > 0 - ldr MASK, [sp, #48] -.endif - PF mov PF_X, #0 -.if src_bpp > 0 - ldr SRC_STRIDE, [sp, #44] -.endif -.if mask_bpp > 0 - ldr MASK_STRIDE, [sp, #52] -.endif - mov DST_R, DST_W - -.if src_bpp == 24 - sub SRC_STRIDE, SRC_STRIDE, W - sub SRC_STRIDE, SRC_STRIDE, W, lsl #1 -.endif -.if mask_bpp == 24 - sub MASK_STRIDE, MASK_STRIDE, W - sub MASK_STRIDE, MASK_STRIDE, W, lsl #1 -.endif -.if dst_w_bpp == 24 - sub DST_STRIDE, DST_STRIDE, W - sub DST_STRIDE, DST_STRIDE, W, lsl #1 -.endif - -/* - * Setup advanced prefetcher initial state - */ - PF mov PF_SRC, SRC - PF mov PF_DST, DST_R - PF mov PF_MASK, MASK - /* PF_CTL = prefetch_distance | ((h - 1) << 4) */ - PF mov PF_CTL, H, lsl #4 - PF add PF_CTL, #(prefetch_distance - 0x10) - - init -.if regs_shortage - push {r0, r1} -.endif - subs H, H, #1 -.if regs_shortage - str H, [sp, #4] /* save updated height to stack */ -.else - mov ORIG_W, W -.endif - blt 9f - cmp W, #(pixblock_size * 2) - blt 8f -/* - * This is the start of the pipelined loop, which if optimized for - * long scanlines - */ -0: - ensure_destination_ptr_alignment process_pixblock_head, \ - process_pixblock_tail, \ - process_pixblock_tail_head - - /* Implement "head (tail_head) ... (tail_head) tail" loop pattern */ - pixld_a pixblock_size, dst_r_bpp, \ - (dst_r_basereg - pixblock_size * dst_r_bpp / 64), DST_R - fetch_src_pixblock - pixld pixblock_size, mask_bpp, \ - (mask_basereg - pixblock_size * mask_bpp / 64), MASK - PF add PF_X, PF_X, #pixblock_size - process_pixblock_head - cache_preload 0, pixblock_size - cache_preload_simple - subs W, W, #(pixblock_size * 2) - blt 2f -1: - process_pixblock_tail_head - cache_preload_simple - subs W, W, #pixblock_size - bge 1b -2: - process_pixblock_tail - pixst_a pixblock_size, dst_w_bpp, \ - (dst_w_basereg - pixblock_size * dst_w_bpp / 64), DST_W - - /* Process the remaining trailing pixels in the scanline */ - process_trailing_pixels 1, 1, \ - process_pixblock_head, \ - process_pixblock_tail, \ - process_pixblock_tail_head - advance_to_next_scanline 0b - -.if regs_shortage - pop {r0, r1} -.endif - cleanup - pop {r4-r12, pc} /* exit */ -/* - * This is the start of the loop, designed to process images with small width - * (less than pixblock_size * 2 pixels). In this case neither pipelining - * nor prefetch are used. - */ -8: - /* Process exactly pixblock_size pixels if needed */ - tst W, #pixblock_size - beq 1f - pixld pixblock_size, dst_r_bpp, \ - (dst_r_basereg - pixblock_size * dst_r_bpp / 64), DST_R - fetch_src_pixblock - pixld pixblock_size, mask_bpp, \ - (mask_basereg - pixblock_size * mask_bpp / 64), MASK - process_pixblock_head - process_pixblock_tail - pixst pixblock_size, dst_w_bpp, \ - (dst_w_basereg - pixblock_size * dst_w_bpp / 64), DST_W -1: - /* Process the remaining trailing pixels in the scanline */ - process_trailing_pixels 0, 0, \ - process_pixblock_head, \ - process_pixblock_tail, \ - process_pixblock_tail_head - advance_to_next_scanline 8b -9: -.if regs_shortage - pop {r0, r1} -.endif - cleanup - pop {r4-r12, pc} /* exit */ - - .purgem fetch_src_pixblock - .purgem pixld_src - - .unreq SRC - .unreq MASK - .unreq DST_R - .unreq DST_W - .unreq ORIG_W - .unreq W - .unreq H - .unreq SRC_STRIDE - .unreq DST_STRIDE - .unreq MASK_STRIDE - .unreq PF_CTL - .unreq PF_X - .unreq PF_SRC - .unreq PF_DST - .unreq PF_MASK - .unreq DUMMY - .endfunc -.endm - -/* - * A simplified variant of function generation template for a single - * scanline processing (for implementing pixman combine functions) - */ -.macro generate_composite_function_scanline use_nearest_scaling, \ - fname, \ - src_bpp_, \ - mask_bpp_, \ - dst_w_bpp_, \ - flags, \ - pixblock_size_, \ - init, \ - cleanup, \ - process_pixblock_head, \ - process_pixblock_tail, \ - process_pixblock_tail_head, \ - dst_w_basereg_ = 28, \ - dst_r_basereg_ = 4, \ - src_basereg_ = 0, \ - mask_basereg_ = 24 - - pixman_asm_function fname - - .set PREFETCH_TYPE_CURRENT, PREFETCH_TYPE_NONE -/* - * Make some macro arguments globally visible and accessible - * from other macros - */ - .set src_bpp, src_bpp_ - .set mask_bpp, mask_bpp_ - .set dst_w_bpp, dst_w_bpp_ - .set pixblock_size, pixblock_size_ - .set dst_w_basereg, dst_w_basereg_ - .set dst_r_basereg, dst_r_basereg_ - .set src_basereg, src_basereg_ - .set mask_basereg, mask_basereg_ - -.if use_nearest_scaling != 0 - /* - * Assign symbolic names to registers for nearest scaling - */ - W .req r0 - DST_W .req r1 - SRC .req r2 - VX .req r3 - UNIT_X .req ip - MASK .req lr - TMP1 .req r4 - TMP2 .req r5 - DST_R .req r6 - SRC_WIDTH_FIXED .req r7 - - .macro pixld_src x:vararg - pixld_s x - .endm - - ldr UNIT_X, [sp] - push {r4-r8, lr} - ldr SRC_WIDTH_FIXED, [sp, #(24 + 4)] - .if mask_bpp != 0 - ldr MASK, [sp, #(24 + 8)] - .endif -.else - /* - * Assign symbolic names to registers - */ - W .req r0 /* width (is updated during processing) */ - DST_W .req r1 /* destination buffer pointer for writes */ - SRC .req r2 /* source buffer pointer */ - DST_R .req ip /* destination buffer pointer for reads */ - MASK .req r3 /* mask pointer */ - - .macro pixld_src x:vararg - pixld x - .endm -.endif - -.if (((flags) & FLAG_DST_READWRITE) != 0) - .set dst_r_bpp, dst_w_bpp -.else - .set dst_r_bpp, 0 -.endif -.if (((flags) & FLAG_DEINTERLEAVE_32BPP) != 0) - .set DEINTERLEAVE_32BPP_ENABLED, 1 -.else - .set DEINTERLEAVE_32BPP_ENABLED, 0 -.endif - - .macro fetch_src_pixblock - pixld_src pixblock_size, src_bpp, \ - (src_basereg - pixblock_size * src_bpp / 64), SRC - .endm - - init - mov DST_R, DST_W - - cmp W, #pixblock_size - blt 8f - - ensure_destination_ptr_alignment process_pixblock_head, \ - process_pixblock_tail, \ - process_pixblock_tail_head - - subs W, W, #pixblock_size - blt 7f - - /* Implement "head (tail_head) ... (tail_head) tail" loop pattern */ - pixld_a pixblock_size, dst_r_bpp, \ - (dst_r_basereg - pixblock_size * dst_r_bpp / 64), DST_R - fetch_src_pixblock - pixld pixblock_size, mask_bpp, \ - (mask_basereg - pixblock_size * mask_bpp / 64), MASK - process_pixblock_head - subs W, W, #pixblock_size - blt 2f -1: - process_pixblock_tail_head - subs W, W, #pixblock_size - bge 1b -2: - process_pixblock_tail - pixst_a pixblock_size, dst_w_bpp, \ - (dst_w_basereg - pixblock_size * dst_w_bpp / 64), DST_W -7: - /* Process the remaining trailing pixels in the scanline (dst aligned) */ - process_trailing_pixels 0, 1, \ - process_pixblock_head, \ - process_pixblock_tail, \ - process_pixblock_tail_head - - cleanup -.if use_nearest_scaling != 0 - pop {r4-r8, pc} /* exit */ -.else - bx lr /* exit */ -.endif -8: - /* Process the remaining trailing pixels in the scanline (dst unaligned) */ - process_trailing_pixels 0, 0, \ - process_pixblock_head, \ - process_pixblock_tail, \ - process_pixblock_tail_head - - cleanup - -.if use_nearest_scaling != 0 - pop {r4-r8, pc} /* exit */ - - .unreq DST_R - .unreq SRC - .unreq W - .unreq VX - .unreq UNIT_X - .unreq TMP1 - .unreq TMP2 - .unreq DST_W - .unreq MASK - .unreq SRC_WIDTH_FIXED - -.else - bx lr /* exit */ - - .unreq SRC - .unreq MASK - .unreq DST_R - .unreq DST_W - .unreq W -.endif - - .purgem fetch_src_pixblock - .purgem pixld_src - - .endfunc -.endm - -.macro generate_composite_function_single_scanline x:vararg - generate_composite_function_scanline 0, x -.endm - -.macro generate_composite_function_nearest_scanline x:vararg - generate_composite_function_scanline 1, x -.endm - -/* Default prologue/epilogue, nothing special needs to be done */ - -.macro default_init -.endm - -.macro default_cleanup -.endm - -/* - * Prologue/epilogue variant which additionally saves/restores d8-d15 - * registers (they need to be saved/restored by callee according to ABI). - * This is required if the code needs to use all the NEON registers. - */ - -.macro default_init_need_all_regs - vpush {d8-d15} -.endm - -.macro default_cleanup_need_all_regs - vpop {d8-d15} -.endm - -/******************************************************************************/ diff --git a/submodules/RLottie/Sources/rlottie/src/vector/pixman/pixman-arma64-neon-asm.S b/submodules/RLottie/Sources/rlottie/src/vector/pixman/pixman-arma64-neon-asm.S deleted file mode 100644 index 7705eee0a5..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/pixman/pixman-arma64-neon-asm.S +++ /dev/null @@ -1,418 +0,0 @@ -/* - * Copyright © 2009 Nokia Corporation - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the - * Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Author: Siarhei Siamashka (siarhei.siamashka@nokia.com) - */ - -/* - * This file contains implementations of NEON optimized pixel processing - * functions. There is no full and detailed tutorial, but some functions - * (those which are exposing some new or interesting features) are - * extensively commented and can be used as examples. - * - * You may want to have a look at the comments for following functions: - * - pixman_composite_over_8888_0565_asm_neon - * - pixman_composite_over_n_8_0565_asm_neon - */ - -/* Prevent the stack from becoming executable for no reason... */ -#if defined(__linux__) && defined(__ELF__) -.section .note.GNU-stack,"",%progbits -#endif - -.text -.arch armv8-a -.altmacro -.p2align 2 - -/* Supplementary macro for setting function attributes */ -.macro pixman_asm_function fname -.func fname -.global fname -#ifdef __ELF__ -.hidden fname -.type fname, %function -#endif -fname: -.endm - -#include "pixman-arma64-neon-asm.h" - -/* Global configuration options and preferences */ - -/* - * The code can optionally make use of unaligned memory accesses to improve - * performance of handling leading/trailing pixels for each scanline. - * Configuration variable RESPECT_STRICT_ALIGNMENT can be set to 0 for - * example in linux if unaligned memory accesses are not configured to - * generate.exceptions. - */ -.set RESPECT_STRICT_ALIGNMENT, 1 - -/* - * Set default prefetch type. There is a choice between the following options: - * - * PREFETCH_TYPE_NONE (may be useful for the ARM cores where PLD is set to work - * as NOP to workaround some HW bugs or for whatever other reason) - * - * PREFETCH_TYPE_SIMPLE (may be useful for simple single-issue ARM cores where - * advanced prefetch intruduces heavy overhead) - * - * PREFETCH_TYPE_ADVANCED (useful for superscalar cores such as ARM Cortex-A8 - * which can run ARM and NEON instructions simultaneously so that extra ARM - * instructions do not add (many) extra cycles, but improve prefetch efficiency) - * - * Note: some types of function can't support advanced prefetch and fallback - * to simple one (those which handle 24bpp pixels) - */ -.set PREFETCH_TYPE_DEFAULT, PREFETCH_TYPE_ADVANCED - -/* Prefetch distance in pixels for simple prefetch */ -.set PREFETCH_DISTANCE_SIMPLE, 64 - -/* - * Implementation of pixman_composite_over_8888_0565_asm_neon - * - * This function takes a8r8g8b8 source buffer, r5g6b5 destination buffer and - * performs OVER compositing operation. Function fast_composite_over_8888_0565 - * from pixman-fast-path.c does the same in C and can be used as a reference. - * - * First we need to have some NEON assembly code which can do the actual - * operation on the pixels and provide it to the template macro. - * - * Template macro quite conveniently takes care of emitting all the necessary - * code for memory reading and writing (including quite tricky cases of - * handling unaligned leading/trailing pixels), so we only need to deal with - * the data in NEON registers. - * - * NEON registers allocation in general is recommented to be the following: - * v0, v1, v2, v3 - contain loaded source pixel data - * v4, v5, v6, v7 - contain loaded destination pixels (if they are needed) - * v24, v25, v26, v27 - contain loading mask pixel data (if mask is used) - * v28, v29, v30, v31 - place for storing the result (destination pixels) - * - * As can be seen above, four 64-bit NEON registers are used for keeping - * intermediate pixel data and up to 8 pixels can be processed in one step - * for 32bpp formats (16 pixels for 16bpp, 32 pixels for 8bpp). - * - * This particular function uses the following registers allocation: - * v0, v1, v2, v3 - contain loaded source pixel data - * v4, v5 - contain loaded destination pixels (they are needed) - * v28, v29 - place for storing the result (destination pixels) - */ - -/* - * Step one. We need to have some code to do some arithmetics on pixel data. - * This is implemented as a pair of macros: '*_head' and '*_tail'. When used - * back-to-back, they take pixel data from {v0, v1, v2, v3} and {v4, v5}, - * perform all the needed calculations and write the result to {v28, v29}. - * The rationale for having two macros and not just one will be explained - * later. In practice, any single monolitic function which does the work can - * be split into two parts in any arbitrary way without affecting correctness. - * - * There is one special trick here too. Common template macro can optionally - * make our life a bit easier by doing R, G, B, A color components - * deinterleaving for 32bpp pixel formats (and this feature is used in - * 'pixman_composite_over_8888_0565_asm_neon' function). So it means that - * instead of having 8 packed pixels in {v0, v1, v2, v3} registers, we - * actually use v0 register for blue channel (a vector of eight 8-bit - * values), v1 register for green, v2 for red and v3 for alpha. This - * simple conversion can be also done with a few NEON instructions: - * - * Packed to planar conversion: // vuzp8 is a wrapper macro - * vuzp8 v0, v1 - * vuzp8 v2, v3 - * vuzp8 v1, v3 - * vuzp8 v0, v2 - * - * Planar to packed conversion: // vzip8 is a wrapper macro - * vzip8 v0, v2 - * vzip8 v1, v3 - * vzip8 v2, v3 - * vzip8 v0, v1 - * - * But pixel can be loaded directly in planar format using LD4 / b NEON - * instruction. It is 1 cycle slower than LD1 / s, so this is not always - * desirable, that's why deinterleaving is optional. - * - * But anyway, here is the code: - */ - -.macro pixman_composite_out_reverse_8888_8888_process_pixblock_head - mvn v24.8b, v3.8b /* get inverted alpha */ - /* do alpha blending */ - umull v8.8h, v24.8b, v4.8b - umull v9.8h, v24.8b, v5.8b - umull v10.8h, v24.8b, v6.8b - umull v11.8h, v24.8b, v7.8b -.endm - -.macro pixman_composite_out_reverse_8888_8888_process_pixblock_tail - urshr v14.8h, v8.8h, #8 - urshr v15.8h, v9.8h, #8 - urshr v16.8h, v10.8h, #8 - urshr v17.8h, v11.8h, #8 - raddhn v28.8b, v14.8h, v8.8h - raddhn v29.8b, v15.8h, v9.8h - raddhn v30.8b, v16.8h, v10.8h - raddhn v31.8b, v17.8h, v11.8h -.endm - -/******************************************************************************/ - -.macro pixman_composite_over_8888_8888_process_pixblock_head - pixman_composite_out_reverse_8888_8888_process_pixblock_head -.endm - -.macro pixman_composite_over_8888_8888_process_pixblock_tail - pixman_composite_out_reverse_8888_8888_process_pixblock_tail - uqadd v28.8b, v0.8b, v28.8b - uqadd v29.8b, v1.8b, v29.8b - uqadd v30.8b, v2.8b, v30.8b - uqadd v31.8b, v3.8b, v31.8b -.endm - -.macro pixman_composite_over_8888_8888_process_pixblock_tail_head - ld4 {v4.8b, v5.8b, v6.8b, v7.8b}, [DST_R], #32 - urshr v14.8h, v8.8h, #8 - PF add PF_X, PF_X, #8 - PF tst PF_CTL, #0xF - urshr v15.8h, v9.8h, #8 - urshr v16.8h, v10.8h, #8 - urshr v17.8h, v11.8h, #8 - PF beq 10f - PF add PF_X, PF_X, #8 - PF sub PF_CTL, PF_CTL, #1 -10: - raddhn v28.8b, v14.8h, v8.8h - raddhn v29.8b, v15.8h, v9.8h - PF cmp PF_X, ORIG_W - raddhn v30.8b, v16.8h, v10.8h - raddhn v31.8b, v17.8h, v11.8h - uqadd v28.8b, v0.8b, v28.8b - uqadd v29.8b, v1.8b, v29.8b - uqadd v30.8b, v2.8b, v30.8b - uqadd v31.8b, v3.8b, v31.8b - fetch_src_pixblock - PF lsl DUMMY, PF_X, #src_bpp_shift - PF prfm PREFETCH_MODE, [PF_SRC, DUMMY] - mvn v22.8b, v3.8b - PF lsl DUMMY, PF_X, #dst_bpp_shift - PF prfm PREFETCH_MODE, [PF_DST, DUMMY] - st4 {v28.8b, v29.8b, v30.8b, v31.8b}, [DST_W], #32 - PF ble 10f - PF sub PF_X, PF_X, ORIG_W -10: - umull v8.8h, v22.8b, v4.8b - PF ble 10f - PF subs PF_CTL, PF_CTL, #0x10 -10: - umull v9.8h, v22.8b, v5.8b - PF ble 10f - PF lsl DUMMY, SRC_STRIDE, #src_bpp_shift - PF ldrsb DUMMY, [PF_SRC, DUMMY] - PF add PF_SRC, PF_SRC, #1 -10: - umull v10.8h, v22.8b, v6.8b - PF ble 10f - PF lsl DUMMY, DST_STRIDE, #dst_bpp_shift - PF ldrsb DUMMY, [PF_DST, DUMMY] - PF add PF_DST, PF_DST, #1 -10: - umull v11.8h, v22.8b, v7.8b -.endm - -generate_composite_function \ - pixman_composite_over_8888_8888_asm_neon, 32, 0, 32, \ - FLAG_DST_READWRITE | FLAG_DEINTERLEAVE_32BPP, \ - 8, /* number of pixels, processed in a single block */ \ - 5, /* prefetch distance */ \ - default_init, \ - default_cleanup, \ - pixman_composite_over_8888_8888_process_pixblock_head, \ - pixman_composite_over_8888_8888_process_pixblock_tail, \ - pixman_composite_over_8888_8888_process_pixblock_tail_head - -generate_composite_function_single_scanline \ - pixman_composite_scanline_over_asm_neon, 32, 0, 32, \ - FLAG_DST_READWRITE | FLAG_DEINTERLEAVE_32BPP, \ - 8, /* number of pixels, processed in a single block */ \ - default_init, \ - default_cleanup, \ - pixman_composite_over_8888_8888_process_pixblock_head, \ - pixman_composite_over_8888_8888_process_pixblock_tail, \ - pixman_composite_over_8888_8888_process_pixblock_tail_head - -/******************************************************************************/ - -.macro pixman_composite_over_n_8888_process_pixblock_head - /* deinterleaved source pixels in {v0, v1, v2, v3} */ - /* inverted alpha in {v24} */ - /* destination pixels in {v4, v5, v6, v7} */ - umull v8.8h, v24.8b, v4.8b - umull v9.8h, v24.8b, v5.8b - umull v10.8h, v24.8b, v6.8b - umull v11.8h, v24.8b, v7.8b -.endm - -.macro pixman_composite_over_n_8888_process_pixblock_tail - urshr v14.8h, v8.8h, #8 - urshr v15.8h, v9.8h, #8 - urshr v16.8h, v10.8h, #8 - urshr v17.8h, v11.8h, #8 - raddhn v28.8b, v14.8h, v8.8h - raddhn v29.8b, v15.8h, v9.8h - raddhn v30.8b, v16.8h, v10.8h - raddhn v31.8b, v17.8h, v11.8h - uqadd v28.8b, v0.8b, v28.8b - uqadd v29.8b, v1.8b, v29.8b - uqadd v30.8b, v2.8b, v30.8b - uqadd v31.8b, v3.8b, v31.8b -.endm - -.macro pixman_composite_over_n_8888_process_pixblock_tail_head - urshr v14.8h, v8.8h, #8 - urshr v15.8h, v9.8h, #8 - urshr v16.8h, v10.8h, #8 - urshr v17.8h, v11.8h, #8 - raddhn v28.8b, v14.8h, v8.8h - raddhn v29.8b, v15.8h, v9.8h - raddhn v30.8b, v16.8h, v10.8h - raddhn v31.8b, v17.8h, v11.8h - ld4 {v4.8b, v5.8b, v6.8b, v7.8b}, [DST_R], #32 - uqadd v28.8b, v0.8b, v28.8b - PF add PF_X, PF_X, #8 - PF tst PF_CTL, #0x0F - PF beq 10f - PF add PF_X, PF_X, #8 - PF sub PF_CTL, PF_CTL, #1 -10: - uqadd v29.8b, v1.8b, v29.8b - uqadd v30.8b, v2.8b, v30.8b - uqadd v31.8b, v3.8b, v31.8b - PF cmp PF_X, ORIG_W - umull v8.8h, v24.8b, v4.8b - PF lsl DUMMY, PF_X, #dst_bpp_shift - PF prfm PREFETCH_MODE, [PF_DST, DUMMY] - umull v9.8h, v24.8b, v5.8b - PF ble 10f - PF sub PF_X, PF_X, ORIG_W -10: - umull v10.8h, v24.8b, v6.8b - PF subs PF_CTL, PF_CTL, #0x10 - umull v11.8h, v24.8b, v7.8b - PF ble 10f - PF lsl DUMMY, DST_STRIDE, #dst_bpp_shift - PF ldrsb DUMMY, [PF_DST, DUMMY] - PF add PF_DST, PF_DST, #1 -10: - st4 {v28.8b, v29.8b, v30.8b, v31.8b}, [DST_W], #32 -.endm - -.macro pixman_composite_over_n_8888_init - mov v3.s[0], w4 - dup v0.8b, v3.b[0] - dup v1.8b, v3.b[1] - dup v2.8b, v3.b[2] - dup v3.8b, v3.b[3] - mvn v24.8b, v3.8b /* get inverted alpha */ -.endm - -generate_composite_function \ - pixman_composite_over_n_8888_asm_neon, 0, 0, 32, \ - FLAG_DST_READWRITE | FLAG_DEINTERLEAVE_32BPP, \ - 8, /* number of pixels, processed in a single block */ \ - 5, /* prefetch distance */ \ - pixman_composite_over_n_8888_init, \ - default_cleanup, \ - pixman_composite_over_8888_8888_process_pixblock_head, \ - pixman_composite_over_8888_8888_process_pixblock_tail, \ - pixman_composite_over_n_8888_process_pixblock_tail_head - -/******************************************************************************/ - -.macro pixman_composite_src_n_8888_process_pixblock_head -.endm - -.macro pixman_composite_src_n_8888_process_pixblock_tail -.endm - -.macro pixman_composite_src_n_8888_process_pixblock_tail_head - st1 {v0.2s, v1.2s, v2.2s, v3.2s}, [DST_W], #32 -.endm - -.macro pixman_composite_src_n_8888_init - mov v0.s[0], w4 - dup v3.2s, v0.s[0] - dup v2.2s, v0.s[0] - dup v1.2s, v0.s[0] - dup v0.2s, v0.s[0] -.endm - -.macro pixman_composite_src_n_8888_cleanup -.endm - -generate_composite_function \ - pixman_composite_src_n_8888_asm_neon, 0, 0, 32, \ - FLAG_DST_WRITEONLY, \ - 8, /* number of pixels, processed in a single block */ \ - 0, /* prefetch distance */ \ - pixman_composite_src_n_8888_init, \ - pixman_composite_src_n_8888_cleanup, \ - pixman_composite_src_n_8888_process_pixblock_head, \ - pixman_composite_src_n_8888_process_pixblock_tail, \ - pixman_composite_src_n_8888_process_pixblock_tail_head, \ - 0, /* dst_w_basereg */ \ - 0, /* dst_r_basereg */ \ - 0, /* src_basereg */ \ - 0 /* mask_basereg */ - -/******************************************************************************/ - -.macro pixman_composite_src_8888_8888_process_pixblock_head -.endm - -.macro pixman_composite_src_8888_8888_process_pixblock_tail -.endm - -.macro pixman_composite_src_8888_8888_process_pixblock_tail_head - st1 {v0.2s, v1.2s, v2.2s, v3.2s}, [DST_W], #32 - fetch_src_pixblock - cache_preload 8, 8 -.endm - -generate_composite_function \ - pixman_composite_src_8888_8888_asm_neon, 32, 0, 32, \ - FLAG_DST_WRITEONLY, \ - 8, /* number of pixels, processed in a single block */ \ - 10, /* prefetch distance */ \ - default_init, \ - default_cleanup, \ - pixman_composite_src_8888_8888_process_pixblock_head, \ - pixman_composite_src_8888_8888_process_pixblock_tail, \ - pixman_composite_src_8888_8888_process_pixblock_tail_head, \ - 0, /* dst_w_basereg */ \ - 0, /* dst_r_basereg */ \ - 0, /* src_basereg */ \ - 0 /* mask_basereg */ - -/******************************************************************************/ diff --git a/submodules/RLottie/Sources/rlottie/src/vector/pixman/pixman-arma64-neon-asm.h b/submodules/RLottie/Sources/rlottie/src/vector/pixman/pixman-arma64-neon-asm.h deleted file mode 100644 index 1103084a3e..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/pixman/pixman-arma64-neon-asm.h +++ /dev/null @@ -1,1223 +0,0 @@ -/* - * Copyright © 2009 Nokia Corporation - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the - * Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Author: Siarhei Siamashka (siarhei.siamashka@nokia.com) - */ - -/* - * This file contains a macro ('generate_composite_function') which can - * construct 2D image processing functions, based on a common template. - * Any combinations of source, destination and mask images with 8bpp, - * 16bpp, 24bpp, 32bpp color formats are supported. - * - * This macro takes care of: - * - handling of leading and trailing unaligned pixels - * - doing most of the work related to L2 cache preload - * - encourages the use of software pipelining for better instructions - * scheduling - * - * The user of this macro has to provide some configuration parameters - * (bit depths for the images, prefetch distance, etc.) and a set of - * macros, which should implement basic code chunks responsible for - * pixels processing. See 'pixman-armv8-neon-asm.S' file for the usage - * examples. - * - * TODO: - * - try overlapped pixel method (from Ian Rickards) when processing - * exactly two blocks of pixels - * - maybe add an option to do reverse scanline processing - */ - -/* - * Bit flags for 'generate_composite_function' macro which are used - * to tune generated functions behavior. - */ -.set FLAG_DST_WRITEONLY, 0 -.set FLAG_DST_READWRITE, 1 -.set FLAG_DEINTERLEAVE_32BPP, 2 - -/* - * Constants for selecting preferable prefetch type. - */ -.set PREFETCH_TYPE_NONE, 0 /* No prefetch at all */ -.set PREFETCH_TYPE_SIMPLE, 1 /* A simple, fixed-distance-ahead prefetch */ -.set PREFETCH_TYPE_ADVANCED, 2 /* Advanced fine-grained prefetch */ - -/* - * prefetch mode - * available modes are: - * pldl1keep - * pldl1strm - * pldl2keep - * pldl2strm - * pldl3keep - * pldl3strm - */ -#define PREFETCH_MODE pldl1keep - -/* - * Definitions of supplementary pixld/pixst macros (for partial load/store of - * pixel data). - */ - -.macro pixldst1 op, elem_size, reg1, mem_operand, abits - op {v®1&.&elem_size}, [&mem_operand&], #8 -.endm - -.macro pixldst2 op, elem_size, reg1, reg2, mem_operand, abits - op {v®1&.&elem_size, v®2&.&elem_size}, [&mem_operand&], #16 -.endm - -.macro pixldst4 op, elem_size, reg1, reg2, reg3, reg4, mem_operand, abits - op {v®1&.&elem_size, v®2&.&elem_size, v®3&.&elem_size, v®4&.&elem_size}, [&mem_operand&], #32 -.endm - -.macro pixldst0 op, elem_size, reg1, idx, mem_operand, abits, bytes - op {v®1&.&elem_size}[idx], [&mem_operand&], #&bytes& -.endm - -.macro pixldst3 op, elem_size, reg1, reg2, reg3, mem_operand - op {v®1&.&elem_size, v®2&.&elem_size, v®3&.&elem_size}, [&mem_operand&], #24 -.endm - -.macro pixldst30 op, elem_size, reg1, reg2, reg3, idx, mem_operand - op {v®1&.&elem_size, v®2&.&elem_size, v®3&.&elem_size}[idx], [&mem_operand&], #3 -.endm - -.macro pixldst numbytes, op, elem_size, basereg, mem_operand, abits -.if numbytes == 32 - .if elem_size==32 - pixldst4 op, 2s, %(basereg+4), %(basereg+5), \ - %(basereg+6), %(basereg+7), mem_operand, abits - .elseif elem_size==16 - pixldst4 op, 4h, %(basereg+4), %(basereg+5), \ - %(basereg+6), %(basereg+7), mem_operand, abits - .else - pixldst4 op, 8b, %(basereg+4), %(basereg+5), \ - %(basereg+6), %(basereg+7), mem_operand, abits - .endif -.elseif numbytes == 16 - .if elem_size==32 - pixldst2 op, 2s, %(basereg+2), %(basereg+3), mem_operand, abits - .elseif elem_size==16 - pixldst2 op, 4h, %(basereg+2), %(basereg+3), mem_operand, abits - .else - pixldst2 op, 8b, %(basereg+2), %(basereg+3), mem_operand, abits - .endif -.elseif numbytes == 8 - .if elem_size==32 - pixldst1 op, 2s, %(basereg+1), mem_operand, abits - .elseif elem_size==16 - pixldst1 op, 4h, %(basereg+1), mem_operand, abits - .else - pixldst1 op, 8b, %(basereg+1), mem_operand, abits - .endif -.elseif numbytes == 4 - .if !RESPECT_STRICT_ALIGNMENT || (elem_size == 32) - pixldst0 op, s, %(basereg+0), 1, mem_operand, abits, 4 - .elseif elem_size == 16 - pixldst0 op, h, %(basereg+0), 2, mem_operand, abits, 2 - pixldst0 op, h, %(basereg+0), 3, mem_operand, abits, 2 - .else - pixldst0 op, b, %(basereg+0), 4, mem_operand, abits, 1 - pixldst0 op, b, %(basereg+0), 5, mem_operand, abits, 1 - pixldst0 op, b, %(basereg+0), 6, mem_operand, abits, 1 - pixldst0 op, b, %(basereg+0), 7, mem_operand, abits, 1 - .endif -.elseif numbytes == 2 - .if !RESPECT_STRICT_ALIGNMENT || (elem_size == 16) - pixldst0 op, h, %(basereg+0), 1, mem_operand, abits, 2 - .else - pixldst0 op, b, %(basereg+0), 2, mem_operand, abits, 1 - pixldst0 op, b, %(basereg+0), 3, mem_operand, abits, 1 - .endif -.elseif numbytes == 1 - pixldst0 op, b, %(basereg+0), 1, mem_operand, abits, 1 -.else - .error "unsupported size: numbytes" -.endif -.endm - -.macro pixld numpix, bpp, basereg, mem_operand, abits=0 -.if bpp > 0 -.if (bpp == 32) && (numpix == 8) && (DEINTERLEAVE_32BPP_ENABLED != 0) - pixldst4 ld4, 8b, %(basereg+4), %(basereg+5), \ - %(basereg+6), %(basereg+7), mem_operand, abits -.elseif (bpp == 24) && (numpix == 8) - pixldst3 ld3, 8b, %(basereg+3), %(basereg+4), %(basereg+5), mem_operand -.elseif (bpp == 24) && (numpix == 4) - pixldst30 ld3, b, %(basereg+0), %(basereg+1), %(basereg+2), 4, mem_operand - pixldst30 ld3, b, %(basereg+0), %(basereg+1), %(basereg+2), 5, mem_operand - pixldst30 ld3, b, %(basereg+0), %(basereg+1), %(basereg+2), 6, mem_operand - pixldst30 ld3, b, %(basereg+0), %(basereg+1), %(basereg+2), 7, mem_operand -.elseif (bpp == 24) && (numpix == 2) - pixldst30 ld3, b, %(basereg+0), %(basereg+1), %(basereg+2), 2, mem_operand - pixldst30 ld3, b, %(basereg+0), %(basereg+1), %(basereg+2), 3, mem_operand -.elseif (bpp == 24) && (numpix == 1) - pixldst30 ld3, b, %(basereg+0), %(basereg+1), %(basereg+2), 1, mem_operand -.else - pixldst %(numpix * bpp / 8), ld1, %(bpp), basereg, mem_operand, abits -.endif -.endif -.endm - -.macro pixst numpix, bpp, basereg, mem_operand, abits=0 -.if bpp > 0 -.if (bpp == 32) && (numpix == 8) && (DEINTERLEAVE_32BPP_ENABLED != 0) - pixldst4 st4, 8b, %(basereg+4), %(basereg+5), \ - %(basereg+6), %(basereg+7), mem_operand, abits -.elseif (bpp == 24) && (numpix == 8) - pixldst3 st3, 8b, %(basereg+3), %(basereg+4), %(basereg+5), mem_operand -.elseif (bpp == 24) && (numpix == 4) - pixldst30 st3, b, %(basereg+0), %(basereg+1), %(basereg+2), 4, mem_operand - pixldst30 st3, b, %(basereg+0), %(basereg+1), %(basereg+2), 5, mem_operand - pixldst30 st3, b, %(basereg+0), %(basereg+1), %(basereg+2), 6, mem_operand - pixldst30 st3, b, %(basereg+0), %(basereg+1), %(basereg+2), 7, mem_operand -.elseif (bpp == 24) && (numpix == 2) - pixldst30 st3, b, %(basereg+0), %(basereg+1), %(basereg+2), 2, mem_operand - pixldst30 st3, b, %(basereg+0), %(basereg+1), %(basereg+2), 3, mem_operand -.elseif (bpp == 24) && (numpix == 1) - pixldst30 st3, b, %(basereg+0), %(basereg+1), %(basereg+2), 1, mem_operand -.else - pixldst %(numpix * bpp / 8), st1, %(bpp), basereg, mem_operand, abits -.endif -.endif -.endm - -.macro pixld_a numpix, bpp, basereg, mem_operand -.if (bpp * numpix) <= 128 - pixld numpix, bpp, basereg, mem_operand, %(bpp * numpix) -.else - pixld numpix, bpp, basereg, mem_operand, 128 -.endif -.endm - -.macro pixst_a numpix, bpp, basereg, mem_operand -.if (bpp * numpix) <= 128 - pixst numpix, bpp, basereg, mem_operand, %(bpp * numpix) -.else - pixst numpix, bpp, basereg, mem_operand, 128 -.endif -.endm - -/* - * Pixel fetcher for nearest scaling (needs TMP1, TMP2, VX, UNIT_X register - * aliases to be defined) - */ -.macro pixld1_s elem_size, reg1, mem_operand -.if elem_size == 16 - asr TMP1, VX, #16 - adds VX, VX, UNIT_X - bmi 55f -5: subs VX, VX, SRC_WIDTH_FIXED - bpl 5b -55: - add TMP1, mem_operand, TMP1, lsl #1 - asr TMP2, VX, #16 - adds VX, VX, UNIT_X - bmi 55f -5: subs VX, VX, SRC_WIDTH_FIXED - bpl 5b -55: - add TMP2, mem_operand, TMP2, lsl #1 - ld1 {v®1&.h}[0], [TMP1] - asr TMP1, VX, #16 - adds VX, VX, UNIT_X - bmi 55f -5: subs VX, VX, SRC_WIDTH_FIXED - bpl 5b -55: - add TMP1, mem_operand, TMP1, lsl #1 - ld1 {v®1&.h}[1], [TMP2] - asr TMP2, VX, #16 - adds VX, VX, UNIT_X - bmi 55f -5: subs VX, VX, SRC_WIDTH_FIXED - bpl 5b -55: - add TMP2, mem_operand, TMP2, lsl #1 - ld1 {v®1&.h}[2], [TMP1] - ld1 {v®1&.h}[3], [TMP2] -.elseif elem_size == 32 - asr TMP1, VX, #16 - adds VX, VX, UNIT_X - bmi 55f -5: subs VX, VX, SRC_WIDTH_FIXED - bpl 5b -55: - add TMP1, mem_operand, TMP1, lsl #2 - asr TMP2, VX, #16 - adds VX, VX, UNIT_X - bmi 55f -5: subs VX, VX, SRC_WIDTH_FIXED - bpl 5b -55: - add TMP2, mem_operand, TMP2, lsl #2 - ld1 {v®1&.s}[0], [TMP1] - ld1 {v®1&.s}[1], [TMP2] -.else - .error "unsupported" -.endif -.endm - -.macro pixld2_s elem_size, reg1, reg2, mem_operand -.if 0 /* elem_size == 32 */ - mov TMP1, VX, asr #16 - add VX, VX, UNIT_X, asl #1 - add TMP1, mem_operand, TMP1, asl #2 - mov TMP2, VX, asr #16 - sub VX, VX, UNIT_X - add TMP2, mem_operand, TMP2, asl #2 - ld1 {v®1&.s}[0], [TMP1] - mov TMP1, VX, asr #16 - add VX, VX, UNIT_X, asl #1 - add TMP1, mem_operand, TMP1, asl #2 - ld1 {v®2&.s}[0], [TMP2, :32] - mov TMP2, VX, asr #16 - add VX, VX, UNIT_X - add TMP2, mem_operand, TMP2, asl #2 - ld1 {v®1&.s}[1], [TMP1] - ld1 {v®2&.s}[1], [TMP2] -.else - pixld1_s elem_size, reg1, mem_operand - pixld1_s elem_size, reg2, mem_operand -.endif -.endm - -.macro pixld0_s elem_size, reg1, idx, mem_operand -.if elem_size == 16 - asr TMP1, VX, #16 - adds VX, VX, UNIT_X - bmi 55f -5: subs VX, VX, SRC_WIDTH_FIXED - bpl 5b -55: - add TMP1, mem_operand, TMP1, lsl #1 - ld1 {v®1&.h}[idx], [TMP1] -.elseif elem_size == 32 - asr DUMMY, VX, #16 - mov TMP1, DUMMY - adds VX, VX, UNIT_X - bmi 55f -5: subs VX, VX, SRC_WIDTH_FIXED - bpl 5b -55: - add TMP1, mem_operand, TMP1, lsl #2 - ld1 {v®1&.s}[idx], [TMP1] -.endif -.endm - -.macro pixld_s_internal numbytes, elem_size, basereg, mem_operand -.if numbytes == 32 - pixld2_s elem_size, %(basereg+4), %(basereg+5), mem_operand - pixld2_s elem_size, %(basereg+6), %(basereg+7), mem_operand - pixdeinterleave elem_size, %(basereg+4) -.elseif numbytes == 16 - pixld2_s elem_size, %(basereg+2), %(basereg+3), mem_operand -.elseif numbytes == 8 - pixld1_s elem_size, %(basereg+1), mem_operand -.elseif numbytes == 4 - .if elem_size == 32 - pixld0_s elem_size, %(basereg+0), 1, mem_operand - .elseif elem_size == 16 - pixld0_s elem_size, %(basereg+0), 2, mem_operand - pixld0_s elem_size, %(basereg+0), 3, mem_operand - .else - pixld0_s elem_size, %(basereg+0), 4, mem_operand - pixld0_s elem_size, %(basereg+0), 5, mem_operand - pixld0_s elem_size, %(basereg+0), 6, mem_operand - pixld0_s elem_size, %(basereg+0), 7, mem_operand - .endif -.elseif numbytes == 2 - .if elem_size == 16 - pixld0_s elem_size, %(basereg+0), 1, mem_operand - .else - pixld0_s elem_size, %(basereg+0), 2, mem_operand - pixld0_s elem_size, %(basereg+0), 3, mem_operand - .endif -.elseif numbytes == 1 - pixld0_s elem_size, %(basereg+0), 1, mem_operand -.else - .error "unsupported size: numbytes" -.endif -.endm - -.macro pixld_s numpix, bpp, basereg, mem_operand -.if bpp > 0 - pixld_s_internal %(numpix * bpp / 8), %(bpp), basereg, mem_operand -.endif -.endm - -.macro vuzp8 reg1, reg2 - umov DUMMY, v16.d[0] - uzp1 v16.8b, v®1&.8b, v®2&.8b - uzp2 v®2&.8b, v®1&.8b, v®2&.8b - mov v®1&.8b, v16.8b - mov v16.d[0], DUMMY -.endm - -.macro vzip8 reg1, reg2 - umov DUMMY, v16.d[0] - zip1 v16.8b, v®1&.8b, v®2&.8b - zip2 v®2&.8b, v®1&.8b, v®2&.8b - mov v®1&.8b, v16.8b - mov v16.d[0], DUMMY -.endm - -/* deinterleave B, G, R, A channels for eight 32bpp pixels in 4 registers */ -.macro pixdeinterleave bpp, basereg -.if (bpp == 32) && (DEINTERLEAVE_32BPP_ENABLED != 0) - vuzp8 %(basereg+0), %(basereg+1) - vuzp8 %(basereg+2), %(basereg+3) - vuzp8 %(basereg+1), %(basereg+3) - vuzp8 %(basereg+0), %(basereg+2) -.endif -.endm - -/* interleave B, G, R, A channels for eight 32bpp pixels in 4 registers */ -.macro pixinterleave bpp, basereg -.if (bpp == 32) && (DEINTERLEAVE_32BPP_ENABLED != 0) - vzip8 %(basereg+0), %(basereg+2) - vzip8 %(basereg+1), %(basereg+3) - vzip8 %(basereg+2), %(basereg+3) - vzip8 %(basereg+0), %(basereg+1) -.endif -.endm - -/* - * This is a macro for implementing cache preload. The main idea is that - * cache preload logic is mostly independent from the rest of pixels - * processing code. It starts at the top left pixel and moves forward - * across pixels and can jump across scanlines. Prefetch distance is - * handled in an 'incremental' way: it starts from 0 and advances to the - * optimal distance over time. After reaching optimal prefetch distance, - * it is kept constant. There are some checks which prevent prefetching - * unneeded pixel lines below the image (but it still can prefetch a bit - * more data on the right side of the image - not a big issue and may - * be actually helpful when rendering text glyphs). Additional trick is - * the use of LDR instruction for prefetch instead of PLD when moving to - * the next line, the point is that we have a high chance of getting TLB - * miss in this case, and PLD would be useless. - * - * This sounds like it may introduce a noticeable overhead (when working with - * fully cached data). But in reality, due to having a separate pipeline and - * instruction queue for NEON unit in ARM Cortex-A8, normal ARM code can - * execute simultaneously with NEON and be completely shadowed by it. Thus - * we get no performance overhead at all (*). This looks like a very nice - * feature of Cortex-A8, if used wisely. We don't have a hardware prefetcher, - * but still can implement some rather advanced prefetch logic in software - * for almost zero cost! - * - * (*) The overhead of the prefetcher is visible when running some trivial - * pixels processing like simple copy. Anyway, having prefetch is a must - * when working with the graphics data. - */ -.macro PF a, x:vararg -.if (PREFETCH_TYPE_CURRENT == PREFETCH_TYPE_ADVANCED) - a x -.endif -.endm - -.macro cache_preload std_increment, boost_increment -.if (src_bpp_shift >= 0) || (dst_r_bpp != 0) || (mask_bpp_shift >= 0) -.if std_increment != 0 - PF add PF_X, PF_X, #std_increment -.endif - PF tst PF_CTL, #0xF - PF beq 71f - PF add PF_X, PF_X, #boost_increment - PF sub PF_CTL, PF_CTL, #1 -71: - PF cmp PF_X, ORIG_W -.if src_bpp_shift >= 0 - PF lsl DUMMY, PF_X, #src_bpp_shift - PF prfm PREFETCH_MODE, [PF_SRC, DUMMY] -.endif -.if dst_r_bpp != 0 - PF lsl DUMMY, PF_X, #dst_bpp_shift - PF prfm PREFETCH_MODE, [PF_DST, DUMMY] -.endif -.if mask_bpp_shift >= 0 - PF lsl DUMMY, PF_X, #mask_bpp_shift - PF prfm PREFETCH_MODE, [PF_MASK, DUMMY] -.endif - PF ble 71f - PF sub PF_X, PF_X, ORIG_W - PF subs PF_CTL, PF_CTL, #0x10 -71: - PF ble 72f -.if src_bpp_shift >= 0 - PF lsl DUMMY, SRC_STRIDE, #src_bpp_shift - PF ldrsb DUMMY, [PF_SRC, DUMMY] - PF add PF_SRC, PF_SRC, #1 -.endif -.if dst_r_bpp != 0 - PF lsl DUMMY, DST_STRIDE, #dst_bpp_shift - PF ldrsb DUMMY, [PF_DST, DUMMY] - PF add PF_DST, PF_DST, #1 -.endif -.if mask_bpp_shift >= 0 - PF lsl DUMMY, MASK_STRIDE, #mask_bpp_shift - PF ldrsb DUMMY, [PF_MASK, DUMMY] - PF add PF_MASK, PF_MASK, #1 -.endif -72: -.endif -.endm - -.macro cache_preload_simple -.if (PREFETCH_TYPE_CURRENT == PREFETCH_TYPE_SIMPLE) -.if src_bpp > 0 - prfm PREFETCH_MODE, [SRC, #(PREFETCH_DISTANCE_SIMPLE * src_bpp / 8)] -.endif -.if dst_r_bpp > 0 - prfm PREFETCH_MODE, [DST_R, #(PREFETCH_DISTANCE_SIMPLE * dst_r_bpp / 8)] -.endif -.if mask_bpp > 0 - prfm PREFETCH_MODE, [MASK, #(PREFETCH_DISTANCE_SIMPLE * mask_bpp / 8)] -.endif -.endif -.endm - -.macro fetch_mask_pixblock - pixld pixblock_size, mask_bpp, \ - (mask_basereg - pixblock_size * mask_bpp / 64), MASK -.endm - -/* - * Macro which is used to process leading pixels until destination - * pointer is properly aligned (at 16 bytes boundary). When destination - * buffer uses 16bpp format, this is unnecessary, or even pointless. - */ -.macro ensure_destination_ptr_alignment process_pixblock_head, \ - process_pixblock_tail, \ - process_pixblock_tail_head -.if dst_w_bpp != 24 - tst DST_R, #0xF - beq 52f -.irp lowbit, 1, 2, 4, 8, 16 -local skip1 -.if (dst_w_bpp <= (lowbit * 8)) && ((lowbit * 8) < (pixblock_size * dst_w_bpp)) -.if lowbit < 16 /* we don't need more than 16-byte alignment */ - tst DST_R, #lowbit - beq 51f -.endif - pixld_src (lowbit * 8 / dst_w_bpp), src_bpp, src_basereg, SRC - pixld (lowbit * 8 / dst_w_bpp), mask_bpp, mask_basereg, MASK -.if dst_r_bpp > 0 - pixld_a (lowbit * 8 / dst_r_bpp), dst_r_bpp, dst_r_basereg, DST_R -.else - add DST_R, DST_R, #lowbit -.endif - PF add PF_X, PF_X, #(lowbit * 8 / dst_w_bpp) - sub W, W, #(lowbit * 8 / dst_w_bpp) -51: -.endif -.endr - pixdeinterleave src_bpp, src_basereg - pixdeinterleave mask_bpp, mask_basereg - pixdeinterleave dst_r_bpp, dst_r_basereg - - process_pixblock_head - cache_preload 0, pixblock_size - cache_preload_simple - process_pixblock_tail - - pixinterleave dst_w_bpp, dst_w_basereg - -.irp lowbit, 1, 2, 4, 8, 16 -.if (dst_w_bpp <= (lowbit * 8)) && ((lowbit * 8) < (pixblock_size * dst_w_bpp)) -.if lowbit < 16 /* we don't need more than 16-byte alignment */ - tst DST_W, #lowbit - beq 51f -.endif - pixst_a (lowbit * 8 / dst_w_bpp), dst_w_bpp, dst_w_basereg, DST_W -51: -.endif -.endr -.endif -52: -.endm - -/* - * Special code for processing up to (pixblock_size - 1) remaining - * trailing pixels. As SIMD processing performs operation on - * pixblock_size pixels, anything smaller than this has to be loaded - * and stored in a special way. Loading and storing of pixel data is - * performed in such a way that we fill some 'slots' in the NEON - * registers (some slots naturally are unused), then perform compositing - * operation as usual. In the end, the data is taken from these 'slots' - * and saved to memory. - * - * cache_preload_flag - allows to suppress prefetch if - * set to 0 - * dst_aligned_flag - selects whether destination buffer - * is aligned - */ -.macro process_trailing_pixels cache_preload_flag, \ - dst_aligned_flag, \ - process_pixblock_head, \ - process_pixblock_tail, \ - process_pixblock_tail_head - tst W, #(pixblock_size - 1) - beq 52f -.irp chunk_size, 16, 8, 4, 2, 1 -.if pixblock_size > chunk_size - tst W, #chunk_size - beq 51f - pixld_src chunk_size, src_bpp, src_basereg, SRC - pixld chunk_size, mask_bpp, mask_basereg, MASK -.if dst_aligned_flag != 0 - pixld_a chunk_size, dst_r_bpp, dst_r_basereg, DST_R -.else - pixld chunk_size, dst_r_bpp, dst_r_basereg, DST_R -.endif -.if cache_preload_flag != 0 - PF add PF_X, PF_X, #chunk_size -.endif -51: -.endif -.endr - pixdeinterleave src_bpp, src_basereg - pixdeinterleave mask_bpp, mask_basereg - pixdeinterleave dst_r_bpp, dst_r_basereg - - process_pixblock_head -.if cache_preload_flag != 0 - cache_preload 0, pixblock_size - cache_preload_simple -.endif - process_pixblock_tail - pixinterleave dst_w_bpp, dst_w_basereg -.irp chunk_size, 16, 8, 4, 2, 1 -.if pixblock_size > chunk_size - tst W, #chunk_size - beq 51f -.if dst_aligned_flag != 0 - pixst_a chunk_size, dst_w_bpp, dst_w_basereg, DST_W -.else - pixst chunk_size, dst_w_bpp, dst_w_basereg, DST_W -.endif -51: -.endif -.endr -52: -.endm - -/* - * Macro, which performs all the needed operations to switch to the next - * scanline and start the next loop iteration unless all the scanlines - * are already processed. - */ -.macro advance_to_next_scanline start_of_loop_label - mov W, ORIG_W - add DST_W, DST_W, DST_STRIDE, lsl #dst_bpp_shift -.if src_bpp != 0 - add SRC, SRC, SRC_STRIDE, lsl #src_bpp_shift -.endif -.if mask_bpp != 0 - add MASK, MASK, MASK_STRIDE, lsl #mask_bpp_shift -.endif -.if (dst_w_bpp != 24) - sub DST_W, DST_W, W, lsl #dst_bpp_shift -.endif -.if (src_bpp != 24) && (src_bpp != 0) - sub SRC, SRC, W, lsl #src_bpp_shift -.endif -.if (mask_bpp != 24) && (mask_bpp != 0) - sub MASK, MASK, W, lsl #mask_bpp_shift -.endif - subs H, H, #1 - mov DST_R, DST_W - bge start_of_loop_label -.endm - -/* - * Registers are allocated in the following way by default: - * v0, v1, v2, v3 - reserved for loading source pixel data - * v4, v5, v6, v7 - reserved for loading destination pixel data - * v24, v25, v26, v27 - reserved for loading mask pixel data - * v28, v29, v30, v31 - final destination pixel data for writeback to memory - */ -.macro generate_composite_function fname, \ - src_bpp_, \ - mask_bpp_, \ - dst_w_bpp_, \ - flags, \ - pixblock_size_, \ - prefetch_distance, \ - init, \ - cleanup, \ - process_pixblock_head, \ - process_pixblock_tail, \ - process_pixblock_tail_head, \ - dst_w_basereg_ = 28, \ - dst_r_basereg_ = 4, \ - src_basereg_ = 0, \ - mask_basereg_ = 24 - - pixman_asm_function fname - stp x29, x30, [sp, -16]! - mov x29, sp - sub sp, sp, 232 /* push all registers */ - sub x29, x29, 64 - st1 {v8.8b, v9.8b, v10.8b, v11.8b}, [x29], #32 - st1 {v12.8b, v13.8b, v14.8b, v15.8b}, [x29], #32 - stp x8, x9, [x29, -80] - stp x10, x11, [x29, -96] - stp x12, x13, [x29, -112] - stp x14, x15, [x29, -128] - stp x16, x17, [x29, -144] - stp x18, x19, [x29, -160] - stp x20, x21, [x29, -176] - stp x22, x23, [x29, -192] - stp x24, x25, [x29, -208] - stp x26, x27, [x29, -224] - str x28, [x29, -232] - -/* - * Select prefetch type for this function. If prefetch distance is - * set to 0 or one of the color formats is 24bpp, SIMPLE prefetch - * has to be used instead of ADVANCED. - */ - .set PREFETCH_TYPE_CURRENT, PREFETCH_TYPE_DEFAULT -.if prefetch_distance == 0 - .set PREFETCH_TYPE_CURRENT, PREFETCH_TYPE_NONE -.elseif (PREFETCH_TYPE_CURRENT > PREFETCH_TYPE_SIMPLE) && \ - ((src_bpp_ == 24) || (mask_bpp_ == 24) || (dst_w_bpp_ == 24)) - .set PREFETCH_TYPE_CURRENT, PREFETCH_TYPE_SIMPLE -.endif - -/* - * Make some macro arguments globally visible and accessible - * from other macros - */ - .set src_bpp, src_bpp_ - .set mask_bpp, mask_bpp_ - .set dst_w_bpp, dst_w_bpp_ - .set pixblock_size, pixblock_size_ - .set dst_w_basereg, dst_w_basereg_ - .set dst_r_basereg, dst_r_basereg_ - .set src_basereg, src_basereg_ - .set mask_basereg, mask_basereg_ - - .macro pixld_src x:vararg - pixld x - .endm - .macro fetch_src_pixblock - pixld_src pixblock_size, src_bpp, \ - (src_basereg - pixblock_size * src_bpp / 64), SRC - .endm -/* - * Assign symbolic names to registers - */ - W .req x0 /* width (is updated during processing) */ - H .req x1 /* height (is updated during processing) */ - DST_W .req x2 /* destination buffer pointer for writes */ - DST_STRIDE .req x3 /* destination image stride */ - SRC .req x4 /* source buffer pointer */ - SRC_STRIDE .req x5 /* source image stride */ - MASK .req x6 /* mask pointer */ - MASK_STRIDE .req x7 /* mask stride */ - - DST_R .req x8 /* destination buffer pointer for reads */ - - PF_CTL .req x9 /* combined lines counter and prefetch */ - /* distance increment counter */ - PF_X .req x10 /* pixel index in a scanline for current */ - /* pretetch position */ - PF_SRC .req x11 /* pointer to source scanline start */ - /* for prefetch purposes */ - PF_DST .req x12 /* pointer to destination scanline start */ - /* for prefetch purposes */ - PF_MASK .req x13 /* pointer to mask scanline start */ - /* for prefetch purposes */ - - ORIG_W .req x14 /* saved original width */ - DUMMY .req x15 /* temporary register */ - - sxtw x0, w0 - sxtw x1, w1 - sxtw x3, w3 - sxtw x5, w5 - sxtw x7, w7 - - .set mask_bpp_shift, -1 -.if src_bpp == 32 - .set src_bpp_shift, 2 -.elseif src_bpp == 24 - .set src_bpp_shift, 0 -.elseif src_bpp == 16 - .set src_bpp_shift, 1 -.elseif src_bpp == 8 - .set src_bpp_shift, 0 -.elseif src_bpp == 0 - .set src_bpp_shift, -1 -.else - .error "requested src bpp (src_bpp) is not supported" -.endif -.if mask_bpp == 32 - .set mask_bpp_shift, 2 -.elseif mask_bpp == 24 - .set mask_bpp_shift, 0 -.elseif mask_bpp == 8 - .set mask_bpp_shift, 0 -.elseif mask_bpp == 0 - .set mask_bpp_shift, -1 -.else - .error "requested mask bpp (mask_bpp) is not supported" -.endif -.if dst_w_bpp == 32 - .set dst_bpp_shift, 2 -.elseif dst_w_bpp == 24 - .set dst_bpp_shift, 0 -.elseif dst_w_bpp == 16 - .set dst_bpp_shift, 1 -.elseif dst_w_bpp == 8 - .set dst_bpp_shift, 0 -.else - .error "requested dst bpp (dst_w_bpp) is not supported" -.endif - -.if (((flags) & FLAG_DST_READWRITE) != 0) - .set dst_r_bpp, dst_w_bpp -.else - .set dst_r_bpp, 0 -.endif -.if (((flags) & FLAG_DEINTERLEAVE_32BPP) != 0) - .set DEINTERLEAVE_32BPP_ENABLED, 1 -.else - .set DEINTERLEAVE_32BPP_ENABLED, 0 -.endif - -.if prefetch_distance < 0 || prefetch_distance > 15 - .error "invalid prefetch distance (prefetch_distance)" -.endif - - PF mov PF_X, #0 - mov DST_R, DST_W - -.if src_bpp == 24 - sub SRC_STRIDE, SRC_STRIDE, W - sub SRC_STRIDE, SRC_STRIDE, W, lsl #1 -.endif -.if mask_bpp == 24 - sub MASK_STRIDE, MASK_STRIDE, W - sub MASK_STRIDE, MASK_STRIDE, W, lsl #1 -.endif -.if dst_w_bpp == 24 - sub DST_STRIDE, DST_STRIDE, W - sub DST_STRIDE, DST_STRIDE, W, lsl #1 -.endif - -/* - * Setup advanced prefetcher initial state - */ - PF mov PF_SRC, SRC - PF mov PF_DST, DST_R - PF mov PF_MASK, MASK - /* PF_CTL = prefetch_distance | ((h - 1) << 4) */ - PF lsl DUMMY, H, #4 - PF mov PF_CTL, DUMMY - PF add PF_CTL, PF_CTL, #(prefetch_distance - 0x10) - - init - subs H, H, #1 - mov ORIG_W, W - blt 9f - cmp W, #(pixblock_size * 2) - blt 800f -/* - * This is the start of the pipelined loop, which if optimized for - * long scanlines - */ -0: - ensure_destination_ptr_alignment process_pixblock_head, \ - process_pixblock_tail, \ - process_pixblock_tail_head - - /* Implement "head (tail_head) ... (tail_head) tail" loop pattern */ - pixld_a pixblock_size, dst_r_bpp, \ - (dst_r_basereg - pixblock_size * dst_r_bpp / 64), DST_R - fetch_src_pixblock - pixld pixblock_size, mask_bpp, \ - (mask_basereg - pixblock_size * mask_bpp / 64), MASK - PF add PF_X, PF_X, #pixblock_size - process_pixblock_head - cache_preload 0, pixblock_size - cache_preload_simple - subs W, W, #(pixblock_size * 2) - blt 200f - -100: - process_pixblock_tail_head - cache_preload_simple - subs W, W, #pixblock_size - bge 100b - -200: - process_pixblock_tail - pixst_a pixblock_size, dst_w_bpp, \ - (dst_w_basereg - pixblock_size * dst_w_bpp / 64), DST_W - - /* Process the remaining trailing pixels in the scanline */ - process_trailing_pixels 1, 1, \ - process_pixblock_head, \ - process_pixblock_tail, \ - process_pixblock_tail_head - advance_to_next_scanline 0b - - cleanup -1000: - /* pop all registers */ - sub x29, x29, 64 - ld1 {v8.8b, v9.8b, v10.8b, v11.8b}, [x29], 32 - ld1 {v12.8b, v13.8b, v14.8b, v15.8b}, [x29], 32 - ldp x8, x9, [x29, -80] - ldp x10, x11, [x29, -96] - ldp x12, x13, [x29, -112] - ldp x14, x15, [x29, -128] - ldp x16, x17, [x29, -144] - ldp x18, x19, [x29, -160] - ldp x20, x21, [x29, -176] - ldp x22, x23, [x29, -192] - ldp x24, x25, [x29, -208] - ldp x26, x27, [x29, -224] - ldr x28, [x29, -232] - mov sp, x29 - ldp x29, x30, [sp], 16 - ret /* exit */ -/* - * This is the start of the loop, designed to process images with small width - * (less than pixblock_size * 2 pixels). In this case neither pipelining - * nor prefetch are used. - */ -800: - /* Process exactly pixblock_size pixels if needed */ - tst W, #pixblock_size - beq 100f - pixld pixblock_size, dst_r_bpp, \ - (dst_r_basereg - pixblock_size * dst_r_bpp / 64), DST_R - fetch_src_pixblock - pixld pixblock_size, mask_bpp, \ - (mask_basereg - pixblock_size * mask_bpp / 64), MASK - process_pixblock_head - process_pixblock_tail - pixst pixblock_size, dst_w_bpp, \ - (dst_w_basereg - pixblock_size * dst_w_bpp / 64), DST_W -100: - /* Process the remaining trailing pixels in the scanline */ - process_trailing_pixels 0, 0, \ - process_pixblock_head, \ - process_pixblock_tail, \ - process_pixblock_tail_head - advance_to_next_scanline 800b -9: - cleanup - /* pop all registers */ - sub x29, x29, 64 - ld1 {v8.8b, v9.8b, v10.8b, v11.8b}, [x29], 32 - ld1 {v12.8b, v13.8b, v14.8b, v15.8b}, [x29], 32 - ldp x8, x9, [x29, -80] - ldp x10, x11, [x29, -96] - ldp x12, x13, [x29, -112] - ldp x14, x15, [x29, -128] - ldp x16, x17, [x29, -144] - ldp x18, x19, [x29, -160] - ldp x20, x21, [x29, -176] - ldp x22, x23, [x29, -192] - ldp x24, x25, [x29, -208] - ldp x26, x27, [x29, -224] - ldr x28, [x29, -232] - mov sp, x29 - ldp x29, x30, [sp], 16 - ret /* exit */ - - .purgem fetch_src_pixblock - .purgem pixld_src - - .unreq SRC - .unreq MASK - .unreq DST_R - .unreq DST_W - .unreq ORIG_W - .unreq W - .unreq H - .unreq SRC_STRIDE - .unreq DST_STRIDE - .unreq MASK_STRIDE - .unreq PF_CTL - .unreq PF_X - .unreq PF_SRC - .unreq PF_DST - .unreq PF_MASK - .unreq DUMMY - .endfunc -.endm - -/* - * A simplified variant of function generation template for a single - * scanline processing (for implementing pixman combine functions) - */ -.macro generate_composite_function_scanline use_nearest_scaling, \ - fname, \ - src_bpp_, \ - mask_bpp_, \ - dst_w_bpp_, \ - flags, \ - pixblock_size_, \ - init, \ - cleanup, \ - process_pixblock_head, \ - process_pixblock_tail, \ - process_pixblock_tail_head, \ - dst_w_basereg_ = 28, \ - dst_r_basereg_ = 4, \ - src_basereg_ = 0, \ - mask_basereg_ = 24 - - pixman_asm_function fname - .set PREFETCH_TYPE_CURRENT, PREFETCH_TYPE_NONE - -/* - * Make some macro arguments globally visible and accessible - * from other macros - */ - .set src_bpp, src_bpp_ - .set mask_bpp, mask_bpp_ - .set dst_w_bpp, dst_w_bpp_ - .set pixblock_size, pixblock_size_ - .set dst_w_basereg, dst_w_basereg_ - .set dst_r_basereg, dst_r_basereg_ - .set src_basereg, src_basereg_ - .set mask_basereg, mask_basereg_ - -.if use_nearest_scaling != 0 - /* - * Assign symbolic names to registers for nearest scaling - */ - W .req x0 - DST_W .req x1 - SRC .req x2 - VX .req x3 - UNIT_X .req x4 - SRC_WIDTH_FIXED .req x5 - MASK .req x6 - TMP1 .req x8 - TMP2 .req x9 - DST_R .req x10 - DUMMY .req x30 - - .macro pixld_src x:vararg - pixld_s x - .endm - - sxtw x0, w0 - sxtw x3, w3 - sxtw x4, w4 - sxtw x5, w5 - - stp x29, x30, [sp, -16]! - mov x29, sp - sub sp, sp, 88 - sub x29, x29, 64 - st1 {v8.8b, v9.8b, v10.8b, v11.8b}, [x29], 32 - st1 {v12.8b, v13.8b, v14.8b, v15.8b}, [x29], 32 - stp x8, x9, [x29, -80] - str x10, [x29, -88] -.else - /* - * Assign symbolic names to registers - */ - W .req x0 /* width (is updated during processing) */ - DST_W .req x1 /* destination buffer pointer for writes */ - SRC .req x2 /* source buffer pointer */ - MASK .req x3 /* mask pointer */ - DST_R .req x4 /* destination buffer pointer for reads */ - DUMMY .req x30 - - .macro pixld_src x:vararg - pixld x - .endm - - sxtw x0, w0 - - stp x29, x30, [sp, -16]! - mov x29, sp - sub sp, sp, 64 - sub x29, x29, 64 - st1 {v8.8b, v9.8b, v10.8b, v11.8b}, [x29], 32 - st1 {v12.8b, v13.8b, v14.8b, v15.8b}, [x29], 32 -.endif - -.if (((flags) & FLAG_DST_READWRITE) != 0) - .set dst_r_bpp, dst_w_bpp -.else - .set dst_r_bpp, 0 -.endif -.if (((flags) & FLAG_DEINTERLEAVE_32BPP) != 0) - .set DEINTERLEAVE_32BPP_ENABLED, 1 -.else - .set DEINTERLEAVE_32BPP_ENABLED, 0 -.endif - - .macro fetch_src_pixblock - pixld_src pixblock_size, src_bpp, \ - (src_basereg - pixblock_size * src_bpp / 64), SRC - .endm - - init - mov DST_R, DST_W - - cmp W, #pixblock_size - blt 800f - - ensure_destination_ptr_alignment process_pixblock_head, \ - process_pixblock_tail, \ - process_pixblock_tail_head - - subs W, W, #pixblock_size - blt 700f - - /* Implement "head (tail_head) ... (tail_head) tail" loop pattern */ - pixld_a pixblock_size, dst_r_bpp, \ - (dst_r_basereg - pixblock_size * dst_r_bpp / 64), DST_R - fetch_src_pixblock - pixld pixblock_size, mask_bpp, \ - (mask_basereg - pixblock_size * mask_bpp / 64), MASK - process_pixblock_head - subs W, W, #pixblock_size - blt 200f -100: - process_pixblock_tail_head - subs W, W, #pixblock_size - bge 100b -200: - process_pixblock_tail - pixst_a pixblock_size, dst_w_bpp, \ - (dst_w_basereg - pixblock_size * dst_w_bpp / 64), DST_W -700: - /* Process the remaining trailing pixels in the scanline (dst aligned) */ - process_trailing_pixels 0, 1, \ - process_pixblock_head, \ - process_pixblock_tail, \ - process_pixblock_tail_head - - cleanup -.if use_nearest_scaling != 0 - sub x29, x29, 64 - ld1 {v8.8b, v9.8b, v10.8b, v11.8b}, [x29], 32 - ld1 {v12.8b, v13.8b, v14.8b, v15.8b}, [x29], 32 - ldp x8, x9, [x29, -80] - ldr x10, [x29, -96] - mov sp, x29 - ldp x29, x30, [sp], 16 - ret /* exit */ -.else - sub x29, x29, 64 - ld1 {v8.8b, v9.8b, v10.8b, v11.8b}, [x29], 32 - ld1 {v12.8b, v13.8b, v14.8b, v15.8b}, [x29], 32 - mov sp, x29 - ldp x29, x30, [sp], 16 - ret /* exit */ -.endif -800: - /* Process the remaining trailing pixels in the scanline (dst unaligned) */ - process_trailing_pixels 0, 0, \ - process_pixblock_head, \ - process_pixblock_tail, \ - process_pixblock_tail_head - - cleanup -.if use_nearest_scaling != 0 - sub x29, x29, 64 - ld1 {v8.8b, v9.8b, v10.8b, v11.8b}, [x29], 32 - ld1 {v12.8b, v13.8b, v14.8b, v15.8b}, [x29], 32 - ldp x8, x9, [x29, -80] - ldr x10, [x29, -88] - mov sp, x29 - ldp x29, x30, [sp], 16 - ret /* exit */ - - .unreq DUMMY - .unreq DST_R - .unreq SRC - .unreq W - .unreq VX - .unreq UNIT_X - .unreq TMP1 - .unreq TMP2 - .unreq DST_W - .unreq MASK - .unreq SRC_WIDTH_FIXED - -.else - sub x29, x29, 64 - ld1 {v8.8b, v9.8b, v10.8b, v11.8b}, [x29], 32 - ld1 {v12.8b, v13.8b, v14.8b, v15.8b}, [x29], 32 - mov sp, x29 - ldp x29, x30, [sp], 16 - ret /* exit */ - - .unreq DUMMY - .unreq SRC - .unreq MASK - .unreq DST_R - .unreq DST_W - .unreq W -.endif - - .purgem fetch_src_pixblock - .purgem pixld_src - - .endfunc -.endm - -.macro generate_composite_function_single_scanline x:vararg - generate_composite_function_scanline 0, x -.endm - -.macro generate_composite_function_nearest_scanline x:vararg - generate_composite_function_scanline 1, x -.endm - -/* Default prologue/epilogue, nothing special needs to be done */ - -.macro default_init -.endm - -.macro default_cleanup -.endm - -/* - * Prologue/epilogue variant which additionally saves/restores v8-v15 - * registers (they need to be saved/restored by callee according to ABI). - * This is required if the code needs to use all the NEON registers. - */ - -.macro default_init_need_all_regs -.endm - -.macro default_cleanup_need_all_regs -.endm - -/******************************************************************************/ diff --git a/submodules/RLottie/Sources/rlottie/src/vector/pixman/vregion.cpp b/submodules/RLottie/Sources/rlottie/src/vector/pixman/vregion.cpp deleted file mode 100644 index 3bd38e7f62..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/pixman/vregion.cpp +++ /dev/null @@ -1,2086 +0,0 @@ -/* - * Copyright 1987, 1988, 1989, 1998 The Open Group - * - * Permission to use, copy, modify, distribute, and sell this software and its - * documentation for any purpose is hereby granted without fee, provided that - * the above copyright notice appear in all copies and that both that - * copyright notice and this permission notice appear in supporting - * documentation. - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name of The Open Group shall not be - * used in advertising or otherwise to promote the sale, use or other dealings - * in this Software without prior written authorization from The Open Group. - * - * Copyright 1987, 1988, 1989 by - * Digital Equipment Corporation, Maynard, Massachusetts. - * - * All Rights Reserved - * - * Permission to use, copy, modify, and distribute this software and its - * documentation for any purpose and without fee is hereby granted, - * provided that the above copyright notice appear in all copies and that - * both that copyright notice and this permission notice appear in - * supporting documentation, and that the name of Digital not be - * used in advertising or publicity pertaining to distribution of the - * software without specific, written prior permission. - * - * DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING - * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL - * DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR - * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, - * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, - * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS - * SOFTWARE. - * - * Copyright © 1998 Keith Packard - * - * Permission to use, copy, modify, distribute, and sell this software and its - * documentation for any purpose is hereby granted without fee, provided that - * the above copyright notice appear in all copies and that both that - * copyright notice and this permission notice appear in supporting - * documentation, and that the name of Keith Packard not be used in - * advertising or publicity pertaining to distribution of the software without - * specific, written prior permission. Keith Packard makes no - * representations about the suitability of this software for any purpose. It - * is provided "as is" without express or implied warranty. - * - * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, - * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO - * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR - * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, - * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER - * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - * PERFORMANCE OF THIS SOFTWARE. - */ - -#include -#include -#include -#include -#include - -#define critical_if_fail assert -#define PIXMAN_EXPORT static -#define FALSE 0 -#define TRUE 1 -#define FUNC "" -#define MIN(a, b) (a) < (b) ? (a) : (b) -#define MAX(a, b) (a) > (b) ? (a) : (b) - -typedef int pixman_bool_t; - -typedef struct pixman_rectangle pixman_rectangle_t; - -typedef struct pixman_box box_type_t; -typedef struct pixman_region_data region_data_type_t; -typedef struct pixman_region region_type_t; -typedef int64_t overflow_int_t; - -#define PREFIX(x) pixman_region##x - -#define PIXMAN_REGION_MAX INT32_MAX -#define PIXMAN_REGION_MIN INT32_MIN - -typedef struct { - int x, y; -} point_type_t; - -struct pixman_region_data { - long size; - long numRects; - /* box_type_t rects[size]; in memory but not explicitly declared */ -}; - -struct pixman_rectangle { - int32_t x, y; - uint32_t width, height; -}; - -struct pixman_box { - int32_t x1, y1, x2, y2; -}; - -struct pixman_region { - box_type_t extents; - region_data_type_t *data; -}; - -typedef enum { - PIXMAN_REGION_OUT, - PIXMAN_REGION_IN, - PIXMAN_REGION_PART -} pixman_region_overlap_t; - -static void _pixman_log_error(const char *function, const char *message) -{ - fprintf(stderr, - "*** BUG ***\n" - "In %s: %s\n" - "Set a breakpoint on '_pixman_log_error' to debug\n\n", - function, message); -} - -#define PIXREGION_NIL(reg) ((reg)->data && !(reg)->data->numRects) -/* not a region */ -#define PIXREGION_NAR(reg) ((reg)->data == pixman_broken_data) -#define PIXREGION_NUMRECTS(reg) ((reg)->data ? (reg)->data->numRects : 1) -#define PIXREGION_SIZE(reg) ((reg)->data ? (reg)->data->size : 0) -#define PIXREGION_RECTS(reg) \ - ((reg)->data ? (box_type_t *)((reg)->data + 1) : &(reg)->extents) -#define PIXREGION_BOXPTR(reg) ((box_type_t *)((reg)->data + 1)) -#define PIXREGION_BOX(reg, i) (&PIXREGION_BOXPTR(reg)[i]) -#define PIXREGION_TOP(reg) PIXREGION_BOX(reg, (reg)->data->numRects) -#define PIXREGION_END(reg) PIXREGION_BOX(reg, (reg)->data->numRects - 1) - -#define GOOD_RECT(rect) ((rect)->x1 < (rect)->x2 && (rect)->y1 < (rect)->y2) -#define BAD_RECT(rect) ((rect)->x1 > (rect)->x2 || (rect)->y1 > (rect)->y2) - -#if 0 - -#define GOOD(reg) \ - do { \ - if (!PREFIX(_selfcheck(reg))) \ - _pixman_log_error(FUNC, "Malformed region " #reg); \ - } while (0) - -#else - -#define GOOD(reg) - -#endif - -static const box_type_t PREFIX(_empty_box_) = {0, 0, 0, 0}; -static const region_data_type_t PREFIX(_empty_data_) = {0, 0}; -#if defined(__llvm__) && !defined(__clang__) -static const volatile region_data_type_t PREFIX(_broken_data_) = {0, 0}; -#else -static const region_data_type_t PREFIX(_broken_data_) = {0, 0}; -#endif - -static box_type_t *pixman_region_empty_box = (box_type_t *)&PREFIX(_empty_box_); -static region_data_type_t *pixman_region_empty_data = - (region_data_type_t *)&PREFIX(_empty_data_); -static region_data_type_t *pixman_broken_data = - (region_data_type_t *)&PREFIX(_broken_data_); - -static pixman_bool_t pixman_break(region_type_t *region); - -/* - * The functions in this file implement the Region abstraction used extensively - * throughout the X11 sample server. A Region is simply a set of disjoint - * (non-overlapping) rectangles, plus an "extent" rectangle which is the - * smallest single rectangle that contains all the non-overlapping rectangles. - * - * A Region is implemented as a "y-x-banded" array of rectangles. This array - * imposes two degrees of order. First, all rectangles are sorted by top side - * y coordinate first (y1), and then by left side x coordinate (x1). - * - * Furthermore, the rectangles are grouped into "bands". Each rectangle in a - * band has the same top y coordinate (y1), and each has the same bottom y - * coordinate (y2). Thus all rectangles in a band differ only in their left - * and right side (x1 and x2). Bands are implicit in the array of rectangles: - * there is no separate list of band start pointers. - * - * The y-x band representation does not minimize rectangles. In particular, - * if a rectangle vertically crosses a band (the rectangle has scanlines in - * the y1 to y2 area spanned by the band), then the rectangle may be broken - * down into two or more smaller rectangles stacked one atop the other. - * - * ----------- ----------- - * | | | | band 0 - * | | -------- ----------- -------- - * | | | | in y-x banded | | | | band 1 - * | | | | form is | | | | - * ----------- | | ----------- -------- - * | | | | band 2 - * -------- -------- - * - * An added constraint on the rectangles is that they must cover as much - * horizontal area as possible: no two rectangles within a band are allowed - * to touch. - * - * Whenever possible, bands will be merged together to cover a greater vertical - * distance (and thus reduce the number of rectangles). Two bands can be merged - * only if the bottom of one touches the top of the other and they have - * rectangles in the same places (of the same width, of course). - * - * Adam de Boor wrote most of the original region code. Joel McCormack - * substantially modified or rewrote most of the core arithmetic routines, and - * added pixman_region_validate in order to support several speed improvements - * to pixman_region_validate_tree. Bob Scheifler changed the representation - * to be more compact when empty or a single rectangle, and did a bunch of - * gratuitous reformatting. Carl Worth did further gratuitous reformatting - * while re-merging the server and client region code into libpixregion. - * Soren Sandmann did even more gratuitous reformatting. - */ - -/* true iff two Boxes overlap */ -#define EXTENTCHECK(r1, r2) \ - (!(((r1)->x2 <= (r2)->x1) || ((r1)->x1 >= (r2)->x2) || \ - ((r1)->y2 <= (r2)->y1) || ((r1)->y1 >= (r2)->y2))) - -/* true iff (x,y) is in Box */ -#define INBOX(r, x, y) \ - (((r)->x2 > x) && ((r)->x1 <= x) && ((r)->y2 > y) && ((r)->y1 <= y)) - -/* true iff Box r1 contains Box r2 */ -#define SUBSUMES(r1, r2) \ - (((r1)->x1 <= (r2)->x1) && ((r1)->x2 >= (r2)->x2) && \ - ((r1)->y1 <= (r2)->y1) && ((r1)->y2 >= (r2)->y2)) - -static size_t PIXREGION_SZOF(size_t n) -{ - size_t size = n * sizeof(box_type_t); - - if (n > UINT32_MAX / sizeof(box_type_t)) return 0; - - if (sizeof(region_data_type_t) > UINT32_MAX - size) return 0; - - return size + sizeof(region_data_type_t); -} - -static region_data_type_t *alloc_data(size_t n) -{ - size_t sz = PIXREGION_SZOF(n); - - if (!sz) return NULL; - - return (region_data_type_t *)malloc(sz); -} - -#define FREE_DATA(reg) \ - if ((reg)->data && (reg)->data->size) free((reg)->data) - -#define RECTALLOC_BAIL(region, n, bail) \ - do { \ - if (!(region)->data || \ - (((region)->data->numRects + (n)) > (region)->data->size)) { \ - if (!pixman_rect_alloc(region, n)) goto bail; \ - } \ - } while (0) - -#define RECTALLOC(region, n) \ - do { \ - if (!(region)->data || \ - (((region)->data->numRects + (n)) > (region)->data->size)) { \ - if (!pixman_rect_alloc(region, n)) { \ - return FALSE; \ - } \ - } \ - } while (0) - -#define ADDRECT(next_rect, nx1, ny1, nx2, ny2) \ - do { \ - next_rect->x1 = nx1; \ - next_rect->y1 = ny1; \ - next_rect->x2 = nx2; \ - next_rect->y2 = ny2; \ - next_rect++; \ - } while (0) - -#define NEWRECT(region, next_rect, nx1, ny1, nx2, ny2) \ - do { \ - if (!(region)->data || \ - ((region)->data->numRects == (region)->data->size)) { \ - if (!pixman_rect_alloc(region, 1)) return FALSE; \ - next_rect = PIXREGION_TOP(region); \ - } \ - ADDRECT(next_rect, nx1, ny1, nx2, ny2); \ - region->data->numRects++; \ - critical_if_fail(region->data->numRects <= region->data->size); \ - } while (0) - -#define DOWNSIZE(reg, numRects) \ - do { \ - if (((numRects) < ((reg)->data->size >> 1)) && \ - ((reg)->data->size > 50)) { \ - region_data_type_t *new_data; \ - size_t data_size = PIXREGION_SZOF(numRects); \ - \ - if (!data_size) { \ - new_data = NULL; \ - } else { \ - new_data = \ - (region_data_type_t *)realloc((reg)->data, data_size); \ - } \ - \ - if (new_data) { \ - new_data->size = (numRects); \ - (reg)->data = new_data; \ - } \ - } \ - } while (0) - -PIXMAN_EXPORT pixman_bool_t PREFIX(_equal)(region_type_t *reg1, - region_type_t *reg2) -{ - int i; - box_type_t *rects1; - box_type_t *rects2; - - if (reg1->extents.x1 != reg2->extents.x1) return FALSE; - - if (reg1->extents.x2 != reg2->extents.x2) return FALSE; - - if (reg1->extents.y1 != reg2->extents.y1) return FALSE; - - if (reg1->extents.y2 != reg2->extents.y2) return FALSE; - - if (PIXREGION_NUMRECTS(reg1) != PIXREGION_NUMRECTS(reg2)) return FALSE; - - rects1 = PIXREGION_RECTS(reg1); - rects2 = PIXREGION_RECTS(reg2); - - for (i = 0; i != PIXREGION_NUMRECTS(reg1); i++) { - if (rects1[i].x1 != rects2[i].x1) return FALSE; - - if (rects1[i].x2 != rects2[i].x2) return FALSE; - - if (rects1[i].y1 != rects2[i].y1) return FALSE; - - if (rects1[i].y2 != rects2[i].y2) return FALSE; - } - - return TRUE; -} - -// returns true if both region intersects -PIXMAN_EXPORT pixman_bool_t PREFIX(_intersects)(region_type_t *reg1, - region_type_t *reg2) -{ - box_type_t *rects1 = PIXREGION_RECTS(reg1); - box_type_t *rects2 = PIXREGION_RECTS(reg2); - for (int i = 0; i != PIXREGION_NUMRECTS(reg1); i++) { - for (int j = 0; j != PIXREGION_NUMRECTS(reg2); j++) { - if (EXTENTCHECK(rects1 + i, rects2 + j)) return TRUE; - } - } - return FALSE; -} - -int PREFIX(_print)(region_type_t *rgn) -{ - int num, size; - int i; - box_type_t *rects; - - num = PIXREGION_NUMRECTS(rgn); - size = PIXREGION_SIZE(rgn); - rects = PIXREGION_RECTS(rgn); - - fprintf(stderr, "num: %d size: %d\n", num, size); - fprintf(stderr, "extents: %d %d %d %d\n", rgn->extents.x1, rgn->extents.y1, - rgn->extents.x2, rgn->extents.y2); - - for (i = 0; i < num; i++) { - fprintf(stderr, "%d %d %d %d \n", rects[i].x1, rects[i].y1, rects[i].x2, - rects[i].y2); - } - - fprintf(stderr, "\n"); - - return (num); -} - -PIXMAN_EXPORT void PREFIX(_init)(region_type_t *region) -{ - region->extents = *pixman_region_empty_box; - region->data = pixman_region_empty_data; -} - -PIXMAN_EXPORT pixman_bool_t PREFIX(_union_rect)(region_type_t *dest, - region_type_t *source, int x, - int y, unsigned int width, - unsigned int height); -PIXMAN_EXPORT void PREFIX(_init_rect)(region_type_t *region, int x, int y, - unsigned int width, unsigned int height) -{ - PREFIX(_init)(region); - PREFIX(_union_rect)(region, region, x, y, width, height); -} - -PIXMAN_EXPORT void PREFIX(_fini)(region_type_t *region) -{ - GOOD(region); - FREE_DATA(region); -} - -PIXMAN_EXPORT int PREFIX(_n_rects)(region_type_t *region) -{ - return PIXREGION_NUMRECTS(region); -} - -static pixman_bool_t pixman_break(region_type_t *region) -{ - FREE_DATA(region); - - region->extents = *pixman_region_empty_box; - region->data = pixman_broken_data; - - return FALSE; -} - -static pixman_bool_t pixman_rect_alloc(region_type_t *region, int n) -{ - region_data_type_t *data; - - if (!region->data) { - n++; - region->data = alloc_data(n); - - if (!region->data) return pixman_break(region); - - region->data->numRects = 1; - *PIXREGION_BOXPTR(region) = region->extents; - } else if (!region->data->size) { - region->data = alloc_data(n); - - if (!region->data) return pixman_break(region); - - region->data->numRects = 0; - } else { - size_t data_size; - - if (n == 1) { - n = region->data->numRects; - if (n > 500) /* XXX pick numbers out of a hat */ - n = 250; - } - - n += region->data->numRects; - data_size = PIXREGION_SZOF(n); - - if (!data_size) { - data = NULL; - } else { - data = - (region_data_type_t *)realloc(region->data, PIXREGION_SZOF(n)); - } - - if (!data) return pixman_break(region); - - region->data = data; - } - - region->data->size = n; - - return TRUE; -} - -PIXMAN_EXPORT pixman_bool_t PREFIX(_copy)(region_type_t *dst, - region_type_t *src) -{ - GOOD(dst); - GOOD(src); - - if (dst == src) return TRUE; - - dst->extents = src->extents; - - if (!src->data || !src->data->size) { - FREE_DATA(dst); - dst->data = src->data; - return TRUE; - } - - if (!dst->data || (dst->data->size < src->data->numRects)) { - FREE_DATA(dst); - - dst->data = alloc_data(src->data->numRects); - - if (!dst->data) return pixman_break(dst); - - dst->data->size = src->data->numRects; - } - - dst->data->numRects = src->data->numRects; - - memmove((char *)PIXREGION_BOXPTR(dst), (char *)PIXREGION_BOXPTR(src), - dst->data->numRects * sizeof(box_type_t)); - - return TRUE; -} - -/*====================================================================== - * Generic Region Operator - *====================================================================*/ - -/*- - *----------------------------------------------------------------------- - * pixman_coalesce -- - * Attempt to merge the boxes in the current band with those in the - * previous one. We are guaranteed that the current band extends to - * the end of the rects array. Used only by pixman_op. - * - * Results: - * The new index for the previous band. - * - * Side Effects: - * If coalescing takes place: - * - rectangles in the previous band will have their y2 fields - * altered. - * - region->data->numRects will be decreased. - * - *----------------------------------------------------------------------- - */ -static inline int pixman_coalesce( - region_type_t *region, /* Region to coalesce */ - int prev_start, /* Index of start of previous band */ - int cur_start) /* Index of start of current band */ -{ - box_type_t *prev_box; /* Current box in previous band */ - box_type_t *cur_box; /* Current box in current band */ - int numRects; /* Number rectangles in both bands */ - int y2; /* Bottom of current band */ - - /* - * Figure out how many rectangles are in the band. - */ - numRects = cur_start - prev_start; - critical_if_fail(numRects == region->data->numRects - cur_start); - - if (!numRects) return cur_start; - - /* - * The bands may only be coalesced if the bottom of the previous - * matches the top scanline of the current. - */ - prev_box = PIXREGION_BOX(region, prev_start); - cur_box = PIXREGION_BOX(region, cur_start); - if (prev_box->y2 != cur_box->y1) return cur_start; - - /* - * Make sure the bands have boxes in the same places. This - * assumes that boxes have been added in such a way that they - * cover the most area possible. I.e. two boxes in a band must - * have some horizontal space between them. - */ - y2 = cur_box->y2; - - do { - if ((prev_box->x1 != cur_box->x1) || (prev_box->x2 != cur_box->x2)) - return (cur_start); - - prev_box++; - cur_box++; - numRects--; - } while (numRects); - - /* - * The bands may be merged, so set the bottom y of each box - * in the previous band to the bottom y of the current band. - */ - numRects = cur_start - prev_start; - region->data->numRects -= numRects; - - do { - prev_box--; - prev_box->y2 = y2; - numRects--; - } while (numRects); - - return prev_start; -} - -/* Quicky macro to avoid trivial reject procedure calls to pixman_coalesce */ - -#define COALESCE(new_reg, prev_band, cur_band) \ - do { \ - if (cur_band - prev_band == new_reg->data->numRects - cur_band) \ - prev_band = pixman_coalesce(new_reg, prev_band, cur_band); \ - else \ - prev_band = cur_band; \ - } while (0) - -/*- - *----------------------------------------------------------------------- - * pixman_region_append_non_o -- - * Handle a non-overlapping band for the union and subtract operations. - * Just adds the (top/bottom-clipped) rectangles into the region. - * Doesn't have to check for subsumption or anything. - * - * Results: - * None. - * - * Side Effects: - * region->data->numRects is incremented and the rectangles overwritten - * with the rectangles we're passed. - * - *----------------------------------------------------------------------- - */ -static inline pixman_bool_t pixman_region_append_non_o(region_type_t *region, - box_type_t * r, - box_type_t * r_end, - int y1, int y2) -{ - box_type_t *next_rect; - int new_rects; - - new_rects = r_end - r; - - critical_if_fail(y1 < y2); - critical_if_fail(new_rects != 0); - - /* Make sure we have enough space for all rectangles to be added */ - RECTALLOC(region, new_rects); - next_rect = PIXREGION_TOP(region); - region->data->numRects += new_rects; - - do { - critical_if_fail(r->x1 < r->x2); - ADDRECT(next_rect, r->x1, y1, r->x2, y2); - r++; - } while (r != r_end); - - return TRUE; -} - -#define FIND_BAND(r, r_band_end, r_end, ry1) \ - do { \ - ry1 = r->y1; \ - r_band_end = r + 1; \ - while ((r_band_end != r_end) && (r_band_end->y1 == ry1)) { \ - r_band_end++; \ - } \ - } while (0) - -#define APPEND_REGIONS(new_reg, r, r_end) \ - do { \ - int new_rects; \ - if ((new_rects = r_end - r)) { \ - RECTALLOC_BAIL(new_reg, new_rects, bail); \ - memmove((char *)PIXREGION_TOP(new_reg), (char *)r, \ - new_rects * sizeof(box_type_t)); \ - new_reg->data->numRects += new_rects; \ - } \ - } while (0) - -/*- - *----------------------------------------------------------------------- - * pixman_op -- - * Apply an operation to two regions. Called by pixman_region_union, - *pixman_region_inverse, pixman_region_subtract, pixman_region_intersect.... - *Both regions MUST have at least one rectangle, and cannot be the same object. - * - * Results: - * TRUE if successful. - * - * Side Effects: - * The new region is overwritten. - * overlap set to TRUE if overlap_func ever returns TRUE. - * - * Notes: - * The idea behind this function is to view the two regions as sets. - * Together they cover a rectangle of area that this function divides - * into horizontal bands where points are covered only by one region - * or by both. For the first case, the non_overlap_func is called with - * each the band and the band's upper and lower extents. For the - * second, the overlap_func is called to process the entire band. It - * is responsible for clipping the rectangles in the band, though - * this function provides the boundaries. - * At the end of each band, the new region is coalesced, if possible, - * to reduce the number of rectangles in the region. - * - *----------------------------------------------------------------------- - */ - -typedef pixman_bool_t (*overlap_proc_ptr)(region_type_t *region, box_type_t *r1, - box_type_t *r1_end, box_type_t *r2, - box_type_t *r2_end, int y1, int y2); - -static pixman_bool_t pixman_op( - region_type_t * new_reg, /* Place to store result */ - region_type_t * reg1, /* First region in operation */ - region_type_t * reg2, /* 2d region in operation */ - overlap_proc_ptr overlap_func, /* Function to call for over- - * lapping bands */ - int append_non1, /* Append non-overlapping bands - * in region 1 ? - */ - int append_non2 /* Append non-overlapping bands - * in region 2 ? - */ -) -{ - box_type_t * r1; /* Pointer into first region */ - box_type_t * r2; /* Pointer into 2d region */ - box_type_t * r1_end; /* End of 1st region */ - box_type_t * r2_end; /* End of 2d region */ - int ybot; /* Bottom of intersection */ - int ytop; /* Top of intersection */ - region_data_type_t *old_data; /* Old data for new_reg */ - int prev_band; /* Index of start of - * previous band in new_reg */ - int cur_band; /* Index of start of current - * band in new_reg */ - box_type_t *r1_band_end; /* End of current band in r1 */ - box_type_t *r2_band_end; /* End of current band in r2 */ - int top; /* Top of non-overlapping band */ - int bot; /* Bottom of non-overlapping band*/ - int r1y1; /* Temps for r1->y1 and r2->y1 */ - int r2y1; - int new_size; - int numRects; - - /* - * Break any region computed from a broken region - */ - if (PIXREGION_NAR(reg1) || PIXREGION_NAR(reg2)) - return pixman_break(new_reg); - - /* - * Initialization: - * set r1, r2, r1_end and r2_end appropriately, save the rectangles - * of the destination region until the end in case it's one of - * the two source regions, then mark the "new" region empty, allocating - * another array of rectangles for it to use. - */ - - r1 = PIXREGION_RECTS(reg1); - new_size = PIXREGION_NUMRECTS(reg1); - r1_end = r1 + new_size; - - numRects = PIXREGION_NUMRECTS(reg2); - r2 = PIXREGION_RECTS(reg2); - r2_end = r2 + numRects; - - critical_if_fail(r1 != r1_end); - critical_if_fail(r2 != r2_end); - - old_data = (region_data_type_t *)NULL; - - if (((new_reg == reg1) && (new_size > 1)) || - ((new_reg == reg2) && (numRects > 1))) { - old_data = new_reg->data; - new_reg->data = pixman_region_empty_data; - } - - /* guess at new size */ - if (numRects > new_size) new_size = numRects; - - new_size <<= 1; - - if (!new_reg->data) - new_reg->data = pixman_region_empty_data; - else if (new_reg->data->size) - new_reg->data->numRects = 0; - - if (new_size > new_reg->data->size) { - if (!pixman_rect_alloc(new_reg, new_size)) { - free(old_data); - return FALSE; - } - } - - /* - * Initialize ybot. - * In the upcoming loop, ybot and ytop serve different functions depending - * on whether the band being handled is an overlapping or non-overlapping - * band. - * In the case of a non-overlapping band (only one of the regions - * has points in the band), ybot is the bottom of the most recent - * intersection and thus clips the top of the rectangles in that band. - * ytop is the top of the next intersection between the two regions and - * serves to clip the bottom of the rectangles in the current band. - * For an overlapping band (where the two regions intersect), ytop clips - * the top of the rectangles of both regions and ybot clips the bottoms. - */ - - ybot = MIN(r1->y1, r2->y1); - - /* - * prev_band serves to mark the start of the previous band so rectangles - * can be coalesced into larger rectangles. qv. pixman_coalesce, above. - * In the beginning, there is no previous band, so prev_band == cur_band - * (cur_band is set later on, of course, but the first band will always - * start at index 0). prev_band and cur_band must be indices because of - * the possible expansion, and resultant moving, of the new region's - * array of rectangles. - */ - prev_band = 0; - - do { - /* - * This algorithm proceeds one source-band (as opposed to a - * destination band, which is determined by where the two regions - * intersect) at a time. r1_band_end and r2_band_end serve to mark the - * rectangle after the last one in the current band for their - * respective regions. - */ - critical_if_fail(r1 != r1_end); - critical_if_fail(r2 != r2_end); - - FIND_BAND(r1, r1_band_end, r1_end, r1y1); - FIND_BAND(r2, r2_band_end, r2_end, r2y1); - - /* - * First handle the band that doesn't intersect, if any. - * - * Note that attention is restricted to one band in the - * non-intersecting region at once, so if a region has n - * bands between the current position and the next place it overlaps - * the other, this entire loop will be passed through n times. - */ - if (r1y1 < r2y1) { - if (append_non1) { - top = MAX(r1y1, ybot); - bot = MIN(r1->y2, r2y1); - if (top != bot) { - cur_band = new_reg->data->numRects; - if (!pixman_region_append_non_o(new_reg, r1, r1_band_end, - top, bot)) - goto bail; - COALESCE(new_reg, prev_band, cur_band); - } - } - ytop = r2y1; - } else if (r2y1 < r1y1) { - if (append_non2) { - top = MAX(r2y1, ybot); - bot = MIN(r2->y2, r1y1); - - if (top != bot) { - cur_band = new_reg->data->numRects; - - if (!pixman_region_append_non_o(new_reg, r2, r2_band_end, - top, bot)) - goto bail; - - COALESCE(new_reg, prev_band, cur_band); - } - } - ytop = r1y1; - } else { - ytop = r1y1; - } - - /* - * Now see if we've hit an intersecting band. The two bands only - * intersect if ybot > ytop - */ - ybot = MIN(r1->y2, r2->y2); - if (ybot > ytop) { - cur_band = new_reg->data->numRects; - - if (!(*overlap_func)(new_reg, r1, r1_band_end, r2, r2_band_end, - ytop, ybot)) { - goto bail; - } - - COALESCE(new_reg, prev_band, cur_band); - } - - /* - * If we've finished with a band (y2 == ybot) we skip forward - * in the region to the next band. - */ - if (r1->y2 == ybot) r1 = r1_band_end; - - if (r2->y2 == ybot) r2 = r2_band_end; - - } while (r1 != r1_end && r2 != r2_end); - - /* - * Deal with whichever region (if any) still has rectangles left. - * - * We only need to worry about banding and coalescing for the very first - * band left. After that, we can just group all remaining boxes, - * regardless of how many bands, into one final append to the list. - */ - - if ((r1 != r1_end) && append_non1) { - /* Do first non_overlap1Func call, which may be able to coalesce */ - FIND_BAND(r1, r1_band_end, r1_end, r1y1); - - cur_band = new_reg->data->numRects; - - if (!pixman_region_append_non_o(new_reg, r1, r1_band_end, - MAX(r1y1, ybot), r1->y2)) { - goto bail; - } - - COALESCE(new_reg, prev_band, cur_band); - - /* Just append the rest of the boxes */ - APPEND_REGIONS(new_reg, r1_band_end, r1_end); - } else if ((r2 != r2_end) && append_non2) { - /* Do first non_overlap2Func call, which may be able to coalesce */ - FIND_BAND(r2, r2_band_end, r2_end, r2y1); - - cur_band = new_reg->data->numRects; - - if (!pixman_region_append_non_o(new_reg, r2, r2_band_end, - MAX(r2y1, ybot), r2->y2)) { - goto bail; - } - - COALESCE(new_reg, prev_band, cur_band); - - /* Append rest of boxes */ - APPEND_REGIONS(new_reg, r2_band_end, r2_end); - } - - free(old_data); - - if (!(numRects = new_reg->data->numRects)) { - FREE_DATA(new_reg); - new_reg->data = pixman_region_empty_data; - } else if (numRects == 1) { - new_reg->extents = *PIXREGION_BOXPTR(new_reg); - FREE_DATA(new_reg); - new_reg->data = (region_data_type_t *)NULL; - } else { - DOWNSIZE(new_reg, numRects); - } - - return TRUE; - -bail: - free(old_data); - - return pixman_break(new_reg); -} - -/*- - *----------------------------------------------------------------------- - * pixman_set_extents -- - * Reset the extents of a region to what they should be. Called by - * pixman_region_subtract and pixman_region_intersect as they can't - * figure it out along the way or do so easily, as pixman_region_union can. - * - * Results: - * None. - * - * Side Effects: - * The region's 'extents' structure is overwritten. - * - *----------------------------------------------------------------------- - */ -static void pixman_set_extents(region_type_t *region) -{ - box_type_t *box, *box_end; - - if (!region->data) return; - - if (!region->data->size) { - region->extents.x2 = region->extents.x1; - region->extents.y2 = region->extents.y1; - return; - } - - box = PIXREGION_BOXPTR(region); - box_end = PIXREGION_END(region); - - /* - * Since box is the first rectangle in the region, it must have the - * smallest y1 and since box_end is the last rectangle in the region, - * it must have the largest y2, because of banding. Initialize x1 and - * x2 from box and box_end, resp., as good things to initialize them - * to... - */ - region->extents.x1 = box->x1; - region->extents.y1 = box->y1; - region->extents.x2 = box_end->x2; - region->extents.y2 = box_end->y2; - - critical_if_fail(region->extents.y1 < region->extents.y2); - - while (box <= box_end) { - if (box->x1 < region->extents.x1) region->extents.x1 = box->x1; - if (box->x2 > region->extents.x2) region->extents.x2 = box->x2; - box++; - } - - critical_if_fail(region->extents.x1 < region->extents.x2); -} - -/*====================================================================== - * Region Intersection - *====================================================================*/ -/*- - *----------------------------------------------------------------------- - * pixman_region_intersect_o -- - * Handle an overlapping band for pixman_region_intersect. - * - * Results: - * TRUE if successful. - * - * Side Effects: - * Rectangles may be added to the region. - * - *----------------------------------------------------------------------- - */ -/*ARGSUSED*/ -static pixman_bool_t pixman_region_intersect_o( - region_type_t *region, box_type_t *r1, box_type_t *r1_end, box_type_t *r2, - box_type_t *r2_end, int y1, int y2) -{ - int x1; - int x2; - box_type_t *next_rect; - - next_rect = PIXREGION_TOP(region); - - critical_if_fail(y1 < y2); - critical_if_fail(r1 != r1_end && r2 != r2_end); - - do { - x1 = MAX(r1->x1, r2->x1); - x2 = MIN(r1->x2, r2->x2); - - /* - * If there's any overlap between the two rectangles, add that - * overlap to the new region. - */ - if (x1 < x2) NEWRECT(region, next_rect, x1, y1, x2, y2); - - /* - * Advance the pointer(s) with the leftmost right side, since the next - * rectangle on that list may still overlap the other region's - * current rectangle. - */ - if (r1->x2 == x2) { - r1++; - } - if (r2->x2 == x2) { - r2++; - } - } while ((r1 != r1_end) && (r2 != r2_end)); - - return TRUE; -} - -PIXMAN_EXPORT pixman_bool_t PREFIX(_intersect)(region_type_t *new_reg, - region_type_t *reg1, - region_type_t *reg2) -{ - GOOD(reg1); - GOOD(reg2); - GOOD(new_reg); - - /* check for trivial reject */ - if (PIXREGION_NIL(reg1) || PIXREGION_NIL(reg2) || - !EXTENTCHECK(®1->extents, ®2->extents)) { - /* Covers about 20% of all cases */ - FREE_DATA(new_reg); - new_reg->extents.x2 = new_reg->extents.x1; - new_reg->extents.y2 = new_reg->extents.y1; - if (PIXREGION_NAR(reg1) || PIXREGION_NAR(reg2)) { - new_reg->data = pixman_broken_data; - return FALSE; - } else { - new_reg->data = pixman_region_empty_data; - } - } else if (!reg1->data && !reg2->data) { - /* Covers about 80% of cases that aren't trivially rejected */ - new_reg->extents.x1 = MAX(reg1->extents.x1, reg2->extents.x1); - new_reg->extents.y1 = MAX(reg1->extents.y1, reg2->extents.y1); - new_reg->extents.x2 = MIN(reg1->extents.x2, reg2->extents.x2); - new_reg->extents.y2 = MIN(reg1->extents.y2, reg2->extents.y2); - - FREE_DATA(new_reg); - - new_reg->data = (region_data_type_t *)NULL; - } else if (!reg2->data && SUBSUMES(®2->extents, ®1->extents)) { - return PREFIX(_copy)(new_reg, reg1); - } else if (!reg1->data && SUBSUMES(®1->extents, ®2->extents)) { - return PREFIX(_copy)(new_reg, reg2); - } else if (reg1 == reg2) { - return PREFIX(_copy)(new_reg, reg1); - } else { - /* General purpose intersection */ - - if (!pixman_op(new_reg, reg1, reg2, pixman_region_intersect_o, FALSE, - FALSE)) - return FALSE; - - pixman_set_extents(new_reg); - } - - GOOD(new_reg); - return (TRUE); -} - -#define MERGERECT(r) \ - do { \ - if (r->x1 <= x2) { \ - /* Merge with current rectangle */ \ - if (x2 < r->x2) x2 = r->x2; \ - } else { \ - /* Add current rectangle, start new one */ \ - NEWRECT(region, next_rect, x1, y1, x2, y2); \ - x1 = r->x1; \ - x2 = r->x2; \ - } \ - r++; \ - } while (0) - -/*====================================================================== - * Region Union - *====================================================================*/ - -/*- - *----------------------------------------------------------------------- - * pixman_region_union_o -- - * Handle an overlapping band for the union operation. Picks the - * left-most rectangle each time and merges it into the region. - * - * Results: - * TRUE if successful. - * - * Side Effects: - * region is overwritten. - * overlap is set to TRUE if any boxes overlap. - * - *----------------------------------------------------------------------- - */ -static pixman_bool_t pixman_region_union_o(region_type_t *region, - box_type_t *r1, box_type_t *r1_end, - box_type_t *r2, box_type_t *r2_end, - int y1, int y2) -{ - box_type_t *next_rect; - int x1; /* left and right side of current union */ - int x2; - - critical_if_fail(y1 < y2); - critical_if_fail(r1 != r1_end && r2 != r2_end); - - next_rect = PIXREGION_TOP(region); - - /* Start off current rectangle */ - if (r1->x1 < r2->x1) { - x1 = r1->x1; - x2 = r1->x2; - r1++; - } else { - x1 = r2->x1; - x2 = r2->x2; - r2++; - } - while (r1 != r1_end && r2 != r2_end) { - if (r1->x1 < r2->x1) - MERGERECT(r1); - else - MERGERECT(r2); - } - - /* Finish off whoever (if any) is left */ - if (r1 != r1_end) { - do { - MERGERECT(r1); - } while (r1 != r1_end); - } else if (r2 != r2_end) { - do { - MERGERECT(r2); - } while (r2 != r2_end); - } - - /* Add current rectangle */ - NEWRECT(region, next_rect, x1, y1, x2, y2); - - return TRUE; -} - -PIXMAN_EXPORT pixman_bool_t PREFIX(_intersect_rect)(region_type_t *dest, - region_type_t *source, - int x, int y, - unsigned int width, - unsigned int height) -{ - region_type_t region; - - region.data = NULL; - region.extents.x1 = x; - region.extents.y1 = y; - region.extents.x2 = x + width; - region.extents.y2 = y + height; - - return PREFIX(_intersect)(dest, source, ®ion); -} - -PIXMAN_EXPORT pixman_bool_t PREFIX(_union)(region_type_t *new_reg, - region_type_t *reg1, - region_type_t *reg2); - -/* Convenience function for performing union of region with a - * single rectangle - */ -PIXMAN_EXPORT pixman_bool_t PREFIX(_union_rect)(region_type_t *dest, - region_type_t *source, int x, - int y, unsigned int width, - unsigned int height) -{ - region_type_t region; - - region.extents.x1 = x; - region.extents.y1 = y; - region.extents.x2 = x + width; - region.extents.y2 = y + height; - - if (!GOOD_RECT(®ion.extents)) { - if (BAD_RECT(®ion.extents)) - _pixman_log_error(FUNC, "Invalid rectangle passed"); - return PREFIX(_copy)(dest, source); - } - - region.data = NULL; - - return PREFIX(_union)(dest, source, ®ion); -} - -PIXMAN_EXPORT pixman_bool_t PREFIX(_union)(region_type_t *new_reg, - region_type_t *reg1, - region_type_t *reg2) -{ - /* Return TRUE if some overlap - * between reg1, reg2 - */ - GOOD(reg1); - GOOD(reg2); - GOOD(new_reg); - - /* checks all the simple cases */ - - /* - * Region 1 and 2 are the same - */ - if (reg1 == reg2) return PREFIX(_copy)(new_reg, reg1); - - /* - * Region 1 is empty - */ - if (PIXREGION_NIL(reg1)) { - if (PIXREGION_NAR(reg1)) return pixman_break(new_reg); - - if (new_reg != reg2) return PREFIX(_copy)(new_reg, reg2); - - return TRUE; - } - - /* - * Region 2 is empty - */ - if (PIXREGION_NIL(reg2)) { - if (PIXREGION_NAR(reg2)) return pixman_break(new_reg); - - if (new_reg != reg1) return PREFIX(_copy)(new_reg, reg1); - - return TRUE; - } - - /* - * Region 1 completely subsumes region 2 - */ - if (!reg1->data && SUBSUMES(®1->extents, ®2->extents)) { - if (new_reg != reg1) return PREFIX(_copy)(new_reg, reg1); - - return TRUE; - } - - /* - * Region 2 completely subsumes region 1 - */ - if (!reg2->data && SUBSUMES(®2->extents, ®1->extents)) { - if (new_reg != reg2) return PREFIX(_copy)(new_reg, reg2); - - return TRUE; - } - - if (!pixman_op(new_reg, reg1, reg2, pixman_region_union_o, TRUE, TRUE)) - return FALSE; - - new_reg->extents.x1 = MIN(reg1->extents.x1, reg2->extents.x1); - new_reg->extents.y1 = MIN(reg1->extents.y1, reg2->extents.y1); - new_reg->extents.x2 = MAX(reg1->extents.x2, reg2->extents.x2); - new_reg->extents.y2 = MAX(reg1->extents.y2, reg2->extents.y2); - - GOOD(new_reg); - - return TRUE; -} - -/*====================================================================== - * Region Subtraction - *====================================================================*/ - -/*- - *----------------------------------------------------------------------- - * pixman_region_subtract_o -- - * Overlapping band subtraction. x1 is the left-most point not yet - * checked. - * - * Results: - * TRUE if successful. - * - * Side Effects: - * region may have rectangles added to it. - * - *----------------------------------------------------------------------- - */ -/*ARGSUSED*/ -static pixman_bool_t pixman_region_subtract_o( - region_type_t *region, box_type_t *r1, box_type_t *r1_end, box_type_t *r2, - box_type_t *r2_end, int y1, int y2) -{ - box_type_t *next_rect; - int x1; - - x1 = r1->x1; - - critical_if_fail(y1 < y2); - critical_if_fail(r1 != r1_end && r2 != r2_end); - - next_rect = PIXREGION_TOP(region); - - do { - if (r2->x2 <= x1) { - /* - * Subtrahend entirely to left of minuend: go to next subtrahend. - */ - r2++; - } else if (r2->x1 <= x1) { - /* - * Subtrahend precedes minuend: nuke left edge of minuend. - */ - x1 = r2->x2; - if (x1 >= r1->x2) { - /* - * Minuend completely covered: advance to next minuend and - * reset left fence to edge of new minuend. - */ - r1++; - if (r1 != r1_end) x1 = r1->x1; - } else { - /* - * Subtrahend now used up since it doesn't extend beyond - * minuend - */ - r2++; - } - } else if (r2->x1 < r1->x2) { - /* - * Left part of subtrahend covers part of minuend: add uncovered - * part of minuend to region and skip to next subtrahend. - */ - critical_if_fail(x1 < r2->x1); - NEWRECT(region, next_rect, x1, y1, r2->x1, y2); - - x1 = r2->x2; - if (x1 >= r1->x2) { - /* - * Minuend used up: advance to new... - */ - r1++; - if (r1 != r1_end) x1 = r1->x1; - } else { - /* - * Subtrahend used up - */ - r2++; - } - } else { - /* - * Minuend used up: add any remaining piece before advancing. - */ - if (r1->x2 > x1) NEWRECT(region, next_rect, x1, y1, r1->x2, y2); - - r1++; - - if (r1 != r1_end) x1 = r1->x1; - } - } while ((r1 != r1_end) && (r2 != r2_end)); - - /* - * Add remaining minuend rectangles to region. - */ - while (r1 != r1_end) { - critical_if_fail(x1 < r1->x2); - - NEWRECT(region, next_rect, x1, y1, r1->x2, y2); - - r1++; - if (r1 != r1_end) x1 = r1->x1; - } - return TRUE; -} - -/*- - *----------------------------------------------------------------------- - * pixman_region_subtract -- - * Subtract reg_s from reg_m and leave the result in reg_d. - * S stands for subtrahend, M for minuend and D for difference. - * - * Results: - * TRUE if successful. - * - * Side Effects: - * reg_d is overwritten. - * - *----------------------------------------------------------------------- - */ -PIXMAN_EXPORT pixman_bool_t PREFIX(_subtract)(region_type_t *reg_d, - region_type_t *reg_m, - region_type_t *reg_s) -{ - GOOD(reg_m); - GOOD(reg_s); - GOOD(reg_d); - - /* check for trivial rejects */ - if (PIXREGION_NIL(reg_m) || PIXREGION_NIL(reg_s) || - !EXTENTCHECK(®_m->extents, ®_s->extents)) { - if (PIXREGION_NAR(reg_s)) return pixman_break(reg_d); - - return PREFIX(_copy)(reg_d, reg_m); - } else if (reg_m == reg_s) { - FREE_DATA(reg_d); - reg_d->extents.x2 = reg_d->extents.x1; - reg_d->extents.y2 = reg_d->extents.y1; - reg_d->data = pixman_region_empty_data; - - return TRUE; - } - - /* Add those rectangles in region 1 that aren't in region 2, - do yucky subtraction for overlaps, and - just throw away rectangles in region 2 that aren't in region 1 */ - if (!pixman_op(reg_d, reg_m, reg_s, pixman_region_subtract_o, TRUE, FALSE)) - return FALSE; - - /* - * Can't alter reg_d's extents before we call pixman_op because - * it might be one of the source regions and pixman_op depends - * on the extents of those regions being unaltered. Besides, this - * way there's no checking against rectangles that will be nuked - * due to coalescing, so we have to examine fewer rectangles. - */ - pixman_set_extents(reg_d); - GOOD(reg_d); - return TRUE; -} -#if 0 -/*====================================================================== - * Region Inversion - *====================================================================*/ - -/*- - *----------------------------------------------------------------------- - * pixman_region_inverse -- - * Take a region and a box and return a region that is everything - * in the box but not in the region. The careful reader will note - * that this is the same as subtracting the region from the box... - * - * Results: - * TRUE. - * - * Side Effects: - * new_reg is overwritten. - * - *----------------------------------------------------------------------- - */ -PIXMAN_EXPORT pixman_bool_t -PREFIX (_inverse) (region_type_t *new_reg, /* Destination region */ - region_type_t *reg1, /* Region to invert */ - box_type_t * inv_rect) /* Bounding box for inversion */ -{ - region_type_t inv_reg; /* Quick and dirty region made from the - * bounding box */ - GOOD (reg1); - GOOD (new_reg); - - /* check for trivial rejects */ - if (PIXREGION_NIL (reg1) || !EXTENTCHECK (inv_rect, ®1->extents)) - { - if (PIXREGION_NAR (reg1)) - return pixman_break (new_reg); - - new_reg->extents = *inv_rect; - FREE_DATA (new_reg); - new_reg->data = (region_data_type_t *)NULL; - - return TRUE; - } - - /* Add those rectangles in region 1 that aren't in region 2, - * do yucky subtraction for overlaps, and - * just throw away rectangles in region 2 that aren't in region 1 - */ - inv_reg.extents = *inv_rect; - inv_reg.data = (region_data_type_t *)NULL; - if (!pixman_op (new_reg, &inv_reg, reg1, pixman_region_subtract_o, TRUE, FALSE)) - return FALSE; - - /* - * Can't alter new_reg's extents before we call pixman_op because - * it might be one of the source regions and pixman_op depends - * on the extents of those regions being unaltered. Besides, this - * way there's no checking against rectangles that will be nuked - * due to coalescing, so we have to examine fewer rectangles. - */ - pixman_set_extents (new_reg); - GOOD (new_reg); - return TRUE; -} -#endif -/* In time O(log n), locate the first box whose y2 is greater than y. - * Return @end if no such box exists. - */ -static box_type_t *find_box_for_y(box_type_t *begin, box_type_t *end, int y) -{ - box_type_t *mid; - - if (end == begin) return end; - - if (end - begin == 1) { - if (begin->y2 > y) - return begin; - else - return end; - } - - mid = begin + (end - begin) / 2; - if (mid->y2 > y) { - /* If no box is found in [begin, mid], the function - * will return @mid, which is then known to be the - * correct answer. - */ - return find_box_for_y(begin, mid, y); - } else { - return find_box_for_y(mid, end, y); - } -} - -/* - * rect_in(region, rect) - * This routine takes a pointer to a region and a pointer to a box - * and determines if the box is outside/inside/partly inside the region. - * - * The idea is to travel through the list of rectangles trying to cover the - * passed box with them. Anytime a piece of the rectangle isn't covered - * by a band of rectangles, part_out is set TRUE. Any time a rectangle in - * the region covers part of the box, part_in is set TRUE. The process ends - * when either the box has been completely covered (we reached a band that - * doesn't overlap the box, part_in is TRUE and part_out is false), the - * box has been partially covered (part_in == part_out == TRUE -- because of - * the banding, the first time this is true we know the box is only - * partially in the region) or is outside the region (we reached a band - * that doesn't overlap the box at all and part_in is false) - */ -PIXMAN_EXPORT pixman_region_overlap_t - PREFIX(_contains_rectangle)(region_type_t *region, box_type_t *prect) -{ - box_type_t *pbox; - box_type_t *pbox_end; - int part_in, part_out; - int numRects; - int x, y; - - GOOD(region); - - numRects = PIXREGION_NUMRECTS(region); - - /* useful optimization */ - if (!numRects || !EXTENTCHECK(®ion->extents, prect)) - return (PIXMAN_REGION_OUT); - - if (numRects == 1) { - /* We know that it must be PIXMAN_REGION_IN or PIXMAN_REGION_PART */ - if (SUBSUMES(®ion->extents, prect)) - return (PIXMAN_REGION_IN); - else - return (PIXMAN_REGION_PART); - } - - part_out = FALSE; - part_in = FALSE; - - /* (x,y) starts at upper left of rect, moving to the right and down */ - x = prect->x1; - y = prect->y1; - - /* can stop when both part_out and part_in are TRUE, or we reach prect->y2 - */ - for (pbox = PIXREGION_BOXPTR(region), pbox_end = pbox + numRects; - pbox != pbox_end; pbox++) { - /* getting up to speed or skipping remainder of band */ - if (pbox->y2 <= y) { - if ((pbox = find_box_for_y(pbox, pbox_end, y)) == pbox_end) break; - } - - if (pbox->y1 > y) { - part_out = TRUE; /* missed part of rectangle above */ - if (part_in || (pbox->y1 >= prect->y2)) break; - y = pbox->y1; /* x guaranteed to be == prect->x1 */ - } - - if (pbox->x2 <= x) continue; /* not far enough over yet */ - - if (pbox->x1 > x) { - part_out = TRUE; /* missed part of rectangle to left */ - if (part_in) break; - } - - if (pbox->x1 < prect->x2) { - part_in = TRUE; /* definitely overlap */ - if (part_out) break; - } - - if (pbox->x2 >= prect->x2) { - y = pbox->y2; /* finished with this band */ - if (y >= prect->y2) break; - x = prect->x1; /* reset x out to left again */ - } else { - /* - * Because boxes in a band are maximal width, if the first box - * to overlap the rectangle doesn't completely cover it in that - * band, the rectangle must be partially out, since some of it - * will be uncovered in that band. part_in will have been set true - * by now... - */ - part_out = TRUE; - break; - } - } - - if (part_in) { - if (y < prect->y2) - return PIXMAN_REGION_PART; - else - return PIXMAN_REGION_IN; - } else { - return PIXMAN_REGION_OUT; - } -} - -/* PREFIX(_translate) (region, x, y) - * translates in place - */ - -PIXMAN_EXPORT void PREFIX(_translate)(region_type_t *region, int x, int y) -{ - overflow_int_t x1, x2, y1, y2; - int nbox; - box_type_t * pbox; - - GOOD(region); - region->extents.x1 = x1 = region->extents.x1 + x; - region->extents.y1 = y1 = region->extents.y1 + y; - region->extents.x2 = x2 = region->extents.x2 + x; - region->extents.y2 = y2 = region->extents.y2 + y; - - if (((x1 - PIXMAN_REGION_MIN) | (y1 - PIXMAN_REGION_MIN) | - (PIXMAN_REGION_MAX - x2) | (PIXMAN_REGION_MAX - y2)) >= 0) { - if (region->data && (nbox = region->data->numRects)) { - for (pbox = PIXREGION_BOXPTR(region); nbox--; pbox++) { - pbox->x1 += x; - pbox->y1 += y; - pbox->x2 += x; - pbox->y2 += y; - } - } - return; - } - - if (((x2 - PIXMAN_REGION_MIN) | (y2 - PIXMAN_REGION_MIN) | - (PIXMAN_REGION_MAX - x1) | (PIXMAN_REGION_MAX - y1)) <= 0) { - region->extents.x2 = region->extents.x1; - region->extents.y2 = region->extents.y1; - FREE_DATA(region); - region->data = pixman_region_empty_data; - return; - } - - if (x1 < PIXMAN_REGION_MIN) - region->extents.x1 = PIXMAN_REGION_MIN; - else if (x2 > PIXMAN_REGION_MAX) - region->extents.x2 = PIXMAN_REGION_MAX; - - if (y1 < PIXMAN_REGION_MIN) - region->extents.y1 = PIXMAN_REGION_MIN; - else if (y2 > PIXMAN_REGION_MAX) - region->extents.y2 = PIXMAN_REGION_MAX; - - if (region->data && (nbox = region->data->numRects)) { - box_type_t *pbox_out; - - for (pbox_out = pbox = PIXREGION_BOXPTR(region); nbox--; pbox++) { - pbox_out->x1 = x1 = pbox->x1 + x; - pbox_out->y1 = y1 = pbox->y1 + y; - pbox_out->x2 = x2 = pbox->x2 + x; - pbox_out->y2 = y2 = pbox->y2 + y; - - if (((x2 - PIXMAN_REGION_MIN) | (y2 - PIXMAN_REGION_MIN) | - (PIXMAN_REGION_MAX - x1) | (PIXMAN_REGION_MAX - y1)) <= 0) { - region->data->numRects--; - continue; - } - - if (x1 < PIXMAN_REGION_MIN) - pbox_out->x1 = PIXMAN_REGION_MIN; - else if (x2 > PIXMAN_REGION_MAX) - pbox_out->x2 = PIXMAN_REGION_MAX; - - if (y1 < PIXMAN_REGION_MIN) - pbox_out->y1 = PIXMAN_REGION_MIN; - else if (y2 > PIXMAN_REGION_MAX) - pbox_out->y2 = PIXMAN_REGION_MAX; - - pbox_out++; - } - - if (pbox_out != pbox) { - if (region->data->numRects == 1) { - region->extents = *PIXREGION_BOXPTR(region); - FREE_DATA(region); - region->data = (region_data_type_t *)NULL; - } else { - pixman_set_extents(region); - } - } - } - - GOOD(region); -} - -PIXMAN_EXPORT int PREFIX(_not_empty)(region_type_t *region) -{ - GOOD(region); - - return (!PIXREGION_NIL(region)); -} - -PIXMAN_EXPORT box_type_t *PREFIX(_extents)(region_type_t *region) -{ - GOOD(region); - - return (®ion->extents); -} - -typedef region_type_t VRegionPrivate; - -#include "vregion.h" - -V_BEGIN_NAMESPACE - -static VRegionPrivate regionPrivate = {{0, 0, 0, 0}, NULL}; - -struct VRegionData { - VRegionData() : ref(-1), rgn(®ionPrivate) {} - RefCount ref; - VRegionPrivate *rgn; -}; - -const VRegionData shared_empty; - -inline VRect box_to_rect(box_type_t *box) -{ - return {box->x1, box->y1, box->x2 - box->x1, box->y2 - box->y1}; -} - -void VRegion::cleanUp(VRegionData *x) -{ - if (x->rgn) { - PREFIX(_fini)(x->rgn); - delete x->rgn; - } - delete x; -} - -void VRegion::detach() -{ - if (d->ref.isShared()) *this = copy(); -} - -VRegion VRegion::copy() const -{ - VRegion r; - - r.d = new VRegionData; - r.d->rgn = new VRegionPrivate; - r.d->ref.setOwned(); - PREFIX(_init)(r.d->rgn); - if (d != &shared_empty) PREFIX(_copy)(r.d->rgn, d->rgn); - return r; -} - -VRegion::VRegion() : d(const_cast(&shared_empty)) {} - -VRegion::VRegion(int x, int y, int w, int h) -{ - VRegion tmp(VRect(x, y, w, h)); - tmp.d->ref.ref(); - d = tmp.d; -} - -VRegion::VRegion(const VRect &r) -{ - if (r.empty()) { - d = const_cast(&shared_empty); - } else { - d = new VRegionData; - d->rgn = new VRegionPrivate; - d->ref.setOwned(); - PREFIX(_init_rect)(d->rgn, r.left(), r.top(), r.width(), r.height()); - } -} - -VRegion::VRegion(const VRegion &r) -{ - d = r.d; - d->ref.ref(); -} - -VRegion::VRegion(VRegion &&other) : d(other.d) -{ - other.d = const_cast(&shared_empty); -} - -VRegion &VRegion::operator=(const VRegion &r) -{ - r.d->ref.ref(); - if (!d->ref.deref()) cleanUp(d); - - d = r.d; - return *this; -} - -inline VRegion &VRegion::operator=(VRegion &&other) -{ - if (!d->ref.deref()) cleanUp(d); - d = other.d; - other.d = const_cast(&shared_empty); - return *this; -} - -VRegion::~VRegion() -{ - if (!d->ref.deref()) cleanUp(d); -} - -bool VRegion::empty() const -{ - return d == &shared_empty || !PREFIX(_not_empty)(d->rgn); -} - -void VRegion::translate(const VPoint &p) -{ - if (p == VPoint() || empty()) return; - - detach(); - PREFIX(_translate)(d->rgn, p.x(), p.y()); -} - -VRegion VRegion::translated(const VPoint &p) const -{ - VRegion ret(*this); - ret.translate(p); - return ret; -} - -/* - * Returns \c true if this region is guaranteed to be fully contained in r. - */ -bool VRegion::within(const VRect &r1) const -{ - box_type_t *r2 = PREFIX(_extents)(d->rgn); - - return r2->x1 >= r1.left() && r2->x2 <= r1.right() && r2->y1 >= r1.top() && - r2->y2 <= r1.bottom(); -} - -bool VRegion::contains(const VRect &r) const -{ - box_type_t box = {r.left(), r.top(), r.right(), r.bottom()}; - - pixman_region_overlap_t res = PREFIX(_contains_rectangle)(d->rgn, &box); - if (res == PIXMAN_REGION_IN) return true; - return false; -} - -VRegion VRegion::united(const VRect &r) const -{ - if (empty()) return r; - - if (contains(r)) { - return *this; - } else if (within(r)) { - return r; - } else { - VRegion result; - result.detach(); - PREFIX(_union_rect) - (result.d->rgn, d->rgn, r.left(), r.top(), r.width(), r.height()); - return result; - } -} - -VRegion VRegion::united(const VRegion &r) const -{ - if (empty()) return r; - if (r.empty()) return *this; - if (d == r.d || PREFIX(_equal)(d->rgn, r.d->rgn)) return *this; - VRegion result; - result.detach(); - PREFIX(_union)(result.d->rgn, d->rgn, r.d->rgn); - return result; -} - -VRegion VRegion::intersected(const VRect &r) const -{ - if (empty() || r.empty()) return VRegion(); - - /* this is fully contained in r */ - if (within(r)) return *this; - - /* r is fully contained in this */ - if (contains(r)) return r; - - VRegion result; - result.detach(); - PREFIX(_intersect_rect) - (result.d->rgn, d->rgn, r.left(), r.top(), r.width(), r.height()); - return result; -} - -VRegion VRegion::intersected(const VRegion &r) const -{ - if (empty() || r.empty()) return VRegion(); - - VRegion result; - result.detach(); - PREFIX(_intersect)(result.d->rgn, d->rgn, r.d->rgn); - - return result; -} - -VRegion VRegion::subtracted(const VRegion &r) const -{ - if (empty() || r.empty()) return *this; - if (d == r.d || PREFIX(_equal)(d->rgn, r.d->rgn)) return VRegion(); - - VRegion result; - result.detach(); - PREFIX(_subtract)(result.d->rgn, d->rgn, r.d->rgn); - return result; -} - -int VRegion::rectCount() const -{ - if (empty()) return 0; - return PREFIX(_n_rects)(d->rgn); -} - -VRect VRegion::rectAt(int index) const -{ - VRegionPrivate *reg = d->rgn; - if (!reg) return {}; - - box_type_t *box = PIXREGION_RECTS(reg) + index; - - return box_to_rect(box); -} - -VRegion VRegion::operator+(const VRect &r) const -{ - return united(r); -} - -VRegion VRegion::operator+(const VRegion &r) const -{ - return united(r); -} - -VRegion VRegion::operator-(const VRegion &r) const -{ - return subtracted(r); -} - -VRegion &VRegion::operator+=(const VRect &r) -{ - if (empty()) return *this = r; - if (r.empty()) return *this; - - if (contains(r)) { - return *this; - } else if (within(r)) { - return *this = r; - } else { - detach(); - PREFIX(_union_rect) - (d->rgn, d->rgn, r.left(), r.top(), r.width(), r.height()); - return *this; - } -} - -VRegion &VRegion::operator+=(const VRegion &r) -{ - if (empty()) return *this = r; - if (r.empty()) return *this; - if (d == r.d || PREFIX(_equal)(d->rgn, r.d->rgn)) return *this; - - detach(); - PREFIX(_union)(d->rgn, d->rgn, r.d->rgn); - return *this; -} - -VRegion &VRegion::operator-=(const VRegion &r) -{ - return *this = *this - r; -} - -bool VRegion::operator==(const VRegion &r) const -{ - if (empty()) return r.empty(); - if (r.empty()) return empty(); - - if (d == r.d) - return true; - else - return PREFIX(_equal)(d->rgn, r.d->rgn); -} - -VRect VRegion::boundingRect() const noexcept -{ - if (empty()) return {}; - return box_to_rect(&d->rgn->extents); -} - -inline bool rect_intersects(const VRect &r1, const VRect &r2) -{ - return (r1.right() >= r2.left() && r1.left() <= r2.right() && - r1.bottom() >= r2.top() && r1.top() <= r2.bottom()); -} - -bool VRegion::intersects(const VRegion &r) const -{ - if (empty() || r.empty()) return false; - - return PREFIX(_intersects)(d->rgn, r.d->rgn); -} - -VDebug &operator<<(VDebug &os, const VRegion &o) -{ - os << "[REGION: " - << "[bbox = " << o.boundingRect() << "]"; - os << "[rectCount = " << o.rectCount() << "]"; - os << "[rects = "; - for (int i = 0; i < o.rectCount(); i++) { - os << o.rectAt(i); - } - os << "]" - << "]"; - return os; -} - -V_END_NAMESPACE diff --git a/submodules/RLottie/Sources/rlottie/src/vector/pixman/vregion.h b/submodules/RLottie/Sources/rlottie/src/vector/pixman/vregion.h deleted file mode 100644 index ecb17f2537..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/pixman/vregion.h +++ /dev/null @@ -1,89 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef VREGION_H -#define VREGION_H -#include -#include -#include -#include -#include "vdebug.h" - -V_BEGIN_NAMESPACE - -struct VRegionData; - -class VRegion { -public: - VRegion(); - VRegion(int x, int y, int w, int h); - VRegion(const VRect &r); - VRegion(const VRegion ®ion); - VRegion(VRegion &&other); - ~VRegion(); - VRegion & operator=(const VRegion &); - VRegion & operator=(VRegion &&); - bool empty() const; - bool contains(const VRect &r) const; - VRegion united(const VRect &r) const; - VRegion united(const VRegion &r) const; - VRegion intersected(const VRect &r) const; - VRegion intersected(const VRegion &r) const; - VRegion subtracted(const VRegion &r) const; - void translate(const VPoint &p); - inline void translate(int dx, int dy); - VRegion translated(const VPoint &p) const; - inline VRegion translated(int dx, int dy) const; - int rectCount() const; - VRect rectAt(int index) const; - - VRegion operator+(const VRect &r) const; - VRegion operator+(const VRegion &r) const; - VRegion operator-(const VRegion &r) const; - VRegion &operator+=(const VRect &r); - VRegion &operator+=(const VRegion &r); - VRegion &operator-=(const VRegion &r); - - VRect boundingRect() const noexcept; - bool intersects(const VRegion ®ion) const; - - bool operator==(const VRegion &r) const; - inline bool operator!=(const VRegion &r) const { return !(operator==(r)); } - friend VDebug &operator<<(VDebug &os, const VRegion &o); - -private: - bool within(const VRect &r) const; - VRegion copy() const; - void detach(); - void cleanUp(VRegionData *x); - - struct VRegionData *d; -}; -inline void VRegion::translate(int dx, int dy) -{ - translate(VPoint(dx, dy)); -} - -inline VRegion VRegion::translated(int dx, int dy) const -{ - return translated(VPoint(dx, dy)); -} - -V_END_NAMESPACE - -#endif // VREGION_H diff --git a/submodules/RLottie/Sources/rlottie/src/vector/stb/CMakeLists.txt b/submodules/RLottie/Sources/rlottie/src/vector/stb/CMakeLists.txt deleted file mode 100644 index 9c9a530477..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/stb/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -add_library(rlottie-image-loader SHARED - stb_image.cpp - ) -install(TARGETS rlottie-image-loader - LIBRARY DESTINATION ${LIB_INSTALL_DIR} - ARCHIVE DESTINATION ${LIB_INSTALL_DIR} - ) diff --git a/submodules/RLottie/Sources/rlottie/src/vector/stb/meson.build b/submodules/RLottie/Sources/rlottie/src/vector/stb/meson.build deleted file mode 100644 index 79f19625f5..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/stb/meson.build +++ /dev/null @@ -1,8 +0,0 @@ - -rlottie_image_loader_sources = ['stb_image.cpp'] - -rlottie_image_loader_lib = shared_library('rlottie-image-loader', - rlottie_image_loader_sources, - install : true - ) - diff --git a/submodules/RLottie/Sources/rlottie/src/vector/stb/stb_image.cpp b/submodules/RLottie/Sources/rlottie/src/vector/stb/stb_image.cpp deleted file mode 100644 index c1b3f744d9..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/stb/stb_image.cpp +++ /dev/null @@ -1,65 +0,0 @@ -/* - * configure stb_image about - * the image we will support - */ -#define STB_IMAGE_IMPLEMENTATION - -#define STBI_ONLY_JPEG -#define STBI_ONLY_PNG -#define STBI_NO_HDR -#define STBI_NO_LINEAR -#define STBI_NO_GIF -#define STBI_NO_PIC - -#include "stb_image.h" - -#ifdef _WIN32 -#ifdef LOT_BUILD -#ifdef DLL_EXPORT -#define LOT_EXPORT __declspec(dllexport) -#else -#define LOT_EXPORT -#endif -#else -#define LOT_EXPORT __declspec(dllimport) -#endif -#else -#ifdef __GNUC__ -#if __GNUC__ >= 4 -#define LOT_EXPORT __attribute__((visibility("default"))) -#else -#define LOT_EXPORT -#endif -#else -#define LOT_EXPORT -#endif -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * exported function wrapper from the library - */ - -LOT_EXPORT unsigned char *lottie_image_load(char const *filename, int *x, - int *y, int *comp, int req_comp) -{ - return nullptr; -} - -LOT_EXPORT unsigned char *lottie_image_load_from_data(const char *imageData, - int len, int *x, int *y, - int *comp, int req_comp) -{ - return nullptr; -} - -LOT_EXPORT void lottie_image_free(unsigned char *data) -{ -} - -#ifdef __cplusplus -} -#endif diff --git a/submodules/RLottie/Sources/rlottie/src/vector/stb/stb_image.h b/submodules/RLottie/Sources/rlottie/src/vector/stb/stb_image.h deleted file mode 100644 index b8ab055374..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/stb/stb_image.h +++ /dev/null @@ -1,7468 +0,0 @@ -/* stb_image - v2.19 - public domain image loader - http://nothings.org/stb - no warranty implied; use at your own risk - - Do this: - #define STB_IMAGE_IMPLEMENTATION - before you include this file in *one* C or C++ file to create the implementation. - - // i.e. it should look like this: - #include ... - #include ... - #include ... - #define STB_IMAGE_IMPLEMENTATION - #include "stb_image.h" - - You can #define STBI_ASSERT(x) before the #include to avoid using assert.h. - And #define STBI_MALLOC, STBI_REALLOC, and STBI_FREE to avoid using malloc,realloc,free - - - QUICK NOTES: - Primarily of interest to game developers and other people who can - avoid problematic images and only need the trivial interface - - JPEG baseline & progressive (12 bpc/arithmetic not supported, same as stock IJG lib) - PNG 1/2/4/8/16-bit-per-channel - - TGA (not sure what subset, if a subset) - BMP non-1bpp, non-RLE - PSD (composited view only, no extra channels, 8/16 bit-per-channel) - - GIF (*comp always reports as 4-channel) - HDR (radiance rgbE format) - PIC (Softimage PIC) - PNM (PPM and PGM binary only) - - Animated GIF still needs a proper API, but here's one way to do it: - http://gist.github.com/urraka/685d9a6340b26b830d49 - - - decode from memory or through FILE (define STBI_NO_STDIO to remove code) - - decode from arbitrary I/O callbacks - - SIMD acceleration on x86/x64 (SSE2) and ARM (NEON) - - Full documentation under "DOCUMENTATION" below. - - -LICENSE - - See end of file for license information. - -RECENT REVISION HISTORY: - - 2.19 (2018-02-11) fix warning - 2.18 (2018-01-30) fix warnings - 2.17 (2018-01-29) bugfix, 1-bit BMP, 16-bitness query, fix warnings - 2.16 (2017-07-23) all functions have 16-bit variants; optimizations; bugfixes - 2.15 (2017-03-18) fix png-1,2,4; all Imagenet JPGs; no runtime SSE detection on GCC - 2.14 (2017-03-03) remove deprecated STBI_JPEG_OLD; fixes for Imagenet JPGs - 2.13 (2016-12-04) experimental 16-bit API, only for PNG so far; fixes - 2.12 (2016-04-02) fix typo in 2.11 PSD fix that caused crashes - 2.11 (2016-04-02) 16-bit PNGS; enable SSE2 in non-gcc x64 - RGB-format JPEG; remove white matting in PSD; - allocate large structures on the stack; - correct channel count for PNG & BMP - 2.10 (2016-01-22) avoid warning introduced in 2.09 - 2.09 (2016-01-16) 16-bit TGA; comments in PNM files; STBI_REALLOC_SIZED - - See end of file for full revision history. - - - ============================ Contributors ========================= - - Image formats Extensions, features - Sean Barrett (jpeg, png, bmp) Jetro Lauha (stbi_info) - Nicolas Schulz (hdr, psd) Martin "SpartanJ" Golini (stbi_info) - Jonathan Dummer (tga) James "moose2000" Brown (iPhone PNG) - Jean-Marc Lienher (gif) Ben "Disch" Wenger (io callbacks) - Tom Seddon (pic) Omar Cornut (1/2/4-bit PNG) - Thatcher Ulrich (psd) Nicolas Guillemot (vertical flip) - Ken Miller (pgm, ppm) Richard Mitton (16-bit PSD) - github:urraka (animated gif) Junggon Kim (PNM comments) - Christopher Forseth (animated gif) Daniel Gibson (16-bit TGA) - socks-the-fox (16-bit PNG) - Jeremy Sawicki (handle all ImageNet JPGs) - Optimizations & bugfixes Mikhail Morozov (1-bit BMP) - Fabian "ryg" Giesen Anael Seghezzi (is-16-bit query) - Arseny Kapoulkine - John-Mark Allen - - Bug & warning fixes - Marc LeBlanc David Woo Guillaume George Martins Mozeiko - Christpher Lloyd Jerry Jansson Joseph Thomson Phil Jordan - Dave Moore Roy Eltham Hayaki Saito Nathan Reed - Won Chun Luke Graham Johan Duparc Nick Verigakis - the Horde3D community Thomas Ruf Ronny Chevalier github:rlyeh - Janez Zemva John Bartholomew Michal Cichon github:romigrou - Jonathan Blow Ken Hamada Tero Hanninen github:svdijk - Laurent Gomila Cort Stratton Sergio Gonzalez github:snagar - Aruelien Pocheville Thibault Reuille Cass Everitt github:Zelex - Ryamond Barbiero Paul Du Bois Engin Manap github:grim210 - Aldo Culquicondor Philipp Wiesemann Dale Weiler github:sammyhw - Oriol Ferrer Mesia Josh Tobin Matthew Gregan github:phprus - Julian Raschke Gregory Mullen Baldur Karlsson github:poppolopoppo - Christian Floisand Kevin Schmidt github:darealshinji - Blazej Dariusz Roszkowski github:Michaelangel007 -*/ - -#ifndef STBI_INCLUDE_STB_IMAGE_H -#define STBI_INCLUDE_STB_IMAGE_H - -// DOCUMENTATION -// -// Limitations: -// - no 12-bit-per-channel JPEG -// - no JPEGs with arithmetic coding -// - GIF always returns *comp=4 -// -// Basic usage (see HDR discussion below for HDR usage): -// int x,y,n; -// unsigned char *data = stbi_load(filename, &x, &y, &n, 0); -// // ... process data if not NULL ... -// // ... x = width, y = height, n = # 8-bit components per pixel ... -// // ... replace '0' with '1'..'4' to force that many components per pixel -// // ... but 'n' will always be the number that it would have been if you said 0 -// stbi_image_free(data) -// -// Standard parameters: -// int *x -- outputs image width in pixels -// int *y -- outputs image height in pixels -// int *channels_in_file -- outputs # of image components in image file -// int desired_channels -- if non-zero, # of image components requested in result -// -// The return value from an image loader is an 'unsigned char *' which points -// to the pixel data, or NULL on an allocation failure or if the image is -// corrupt or invalid. The pixel data consists of *y scanlines of *x pixels, -// with each pixel consisting of N interleaved 8-bit components; the first -// pixel pointed to is top-left-most in the image. There is no padding between -// image scanlines or between pixels, regardless of format. The number of -// components N is 'desired_channels' if desired_channels is non-zero, or -// *channels_in_file otherwise. If desired_channels is non-zero, -// *channels_in_file has the number of components that _would_ have been -// output otherwise. E.g. if you set desired_channels to 4, you will always -// get RGBA output, but you can check *channels_in_file to see if it's trivially -// opaque because e.g. there were only 3 channels in the source image. -// -// An output image with N components has the following components interleaved -// in this order in each pixel: -// -// N=#comp components -// 1 grey -// 2 grey, alpha -// 3 red, green, blue -// 4 red, green, blue, alpha -// -// If image loading fails for any reason, the return value will be NULL, -// and *x, *y, *channels_in_file will be unchanged. The function -// stbi_failure_reason() can be queried for an extremely brief, end-user -// unfriendly explanation of why the load failed. Define STBI_NO_FAILURE_STRINGS -// to avoid compiling these strings at all, and STBI_FAILURE_USERMSG to get slightly -// more user-friendly ones. -// -// Paletted PNG, BMP, GIF, and PIC images are automatically depalettized. -// -// =========================================================================== -// -// Philosophy -// -// stb libraries are designed with the following priorities: -// -// 1. easy to use -// 2. easy to maintain -// 3. good performance -// -// Sometimes I let "good performance" creep up in priority over "easy to maintain", -// and for best performance I may provide less-easy-to-use APIs that give higher -// performance, in addition to the easy to use ones. Nevertheless, it's important -// to keep in mind that from the standpoint of you, a client of this library, -// all you care about is #1 and #3, and stb libraries DO NOT emphasize #3 above all. -// -// Some secondary priorities arise directly from the first two, some of which -// make more explicit reasons why performance can't be emphasized. -// -// - Portable ("ease of use") -// - Small source code footprint ("easy to maintain") -// - No dependencies ("ease of use") -// -// =========================================================================== -// -// I/O callbacks -// -// I/O callbacks allow you to read from arbitrary sources, like packaged -// files or some other source. Data read from callbacks are processed -// through a small internal buffer (currently 128 bytes) to try to reduce -// overhead. -// -// The three functions you must define are "read" (reads some bytes of data), -// "skip" (skips some bytes of data), "eof" (reports if the stream is at the end). -// -// =========================================================================== -// -// SIMD support -// -// The JPEG decoder will try to automatically use SIMD kernels on x86 when -// supported by the compiler. For ARM Neon support, you must explicitly -// request it. -// -// (The old do-it-yourself SIMD API is no longer supported in the current -// code.) -// -// On x86, SSE2 will automatically be used when available based on a run-time -// test; if not, the generic C versions are used as a fall-back. On ARM targets, -// the typical path is to have separate builds for NEON and non-NEON devices -// (at least this is true for iOS and Android). Therefore, the NEON support is -// toggled by a build flag: define STBI_NEON to get NEON loops. -// -// If for some reason you do not want to use any of SIMD code, or if -// you have issues compiling it, you can disable it entirely by -// defining STBI_NO_SIMD. -// -// =========================================================================== -// -// HDR image support (disable by defining STBI_NO_HDR) -// -// stb_image now supports loading HDR images in general, and currently -// the Radiance .HDR file format, although the support is provided -// generically. You can still load any file through the existing interface; -// if you attempt to load an HDR file, it will be automatically remapped to -// LDR, assuming gamma 2.2 and an arbitrary scale factor defaulting to 1; -// both of these constants can be reconfigured through this interface: -// -// stbi_hdr_to_ldr_gamma(2.2f); -// stbi_hdr_to_ldr_scale(1.0f); -// -// (note, do not use _inverse_ constants; stbi_image will invert them -// appropriately). -// -// Additionally, there is a new, parallel interface for loading files as -// (linear) floats to preserve the full dynamic range: -// -// float *data = stbi_loadf(filename, &x, &y, &n, 0); -// -// If you load LDR images through this interface, those images will -// be promoted to floating point values, run through the inverse of -// constants corresponding to the above: -// -// stbi_ldr_to_hdr_scale(1.0f); -// stbi_ldr_to_hdr_gamma(2.2f); -// -// Finally, given a filename (or an open file or memory block--see header -// file for details) containing image data, you can query for the "most -// appropriate" interface to use (that is, whether the image is HDR or -// not), using: -// -// stbi_is_hdr(char *filename); -// -// =========================================================================== -// -// iPhone PNG support: -// -// By default we convert iphone-formatted PNGs back to RGB, even though -// they are internally encoded differently. You can disable this conversion -// by by calling stbi_convert_iphone_png_to_rgb(0), in which case -// you will always just get the native iphone "format" through (which -// is BGR stored in RGB). -// -// Call stbi_set_unpremultiply_on_load(1) as well to force a divide per -// pixel to remove any premultiplied alpha *only* if the image file explicitly -// says there's premultiplied data (currently only happens in iPhone images, -// and only if iPhone convert-to-rgb processing is on). -// -// =========================================================================== -// -// ADDITIONAL CONFIGURATION -// -// - You can suppress implementation of any of the decoders to reduce -// your code footprint by #defining one or more of the following -// symbols before creating the implementation. -// -// STBI_NO_JPEG -// STBI_NO_PNG -// STBI_NO_BMP -// STBI_NO_PSD -// STBI_NO_TGA -// STBI_NO_GIF -// STBI_NO_HDR -// STBI_NO_PIC -// STBI_NO_PNM (.ppm and .pgm) -// -// - You can request *only* certain decoders and suppress all other ones -// (this will be more forward-compatible, as addition of new decoders -// doesn't require you to disable them explicitly): -// -// STBI_ONLY_JPEG -// STBI_ONLY_PNG -// STBI_ONLY_BMP -// STBI_ONLY_PSD -// STBI_ONLY_TGA -// STBI_ONLY_GIF -// STBI_ONLY_HDR -// STBI_ONLY_PIC -// STBI_ONLY_PNM (.ppm and .pgm) -// -// - If you use STBI_NO_PNG (or _ONLY_ without PNG), and you still -// want the zlib decoder to be available, #define STBI_SUPPORT_ZLIB -// - - -#ifndef STBI_NO_STDIO -#include -#endif // STBI_NO_STDIO - -#define STBI_VERSION 1 - -enum -{ - STBI_default = 0, // only used for desired_channels - - STBI_grey = 1, - STBI_grey_alpha = 2, - STBI_rgb = 3, - STBI_rgb_alpha = 4 -}; - -typedef unsigned char stbi_uc; -typedef unsigned short stbi_us; - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef STB_IMAGE_STATIC -#define STBIDEF static -#else -#define STBIDEF extern -#endif - -////////////////////////////////////////////////////////////////////////////// -// -// PRIMARY API - works on images of any type -// - -// -// load image by filename, open file, or memory buffer -// - -typedef struct -{ - int (*read) (void *user,char *data,int size); // fill 'data' with 'size' bytes. return number of bytes actually read - void (*skip) (void *user,int n); // skip the next 'n' bytes, or 'unget' the last -n bytes if negative - int (*eof) (void *user); // returns nonzero if we are at end of file/data -} stbi_io_callbacks; - -//////////////////////////////////// -// -// 8-bits-per-channel interface -// - -STBIDEF stbi_uc *stbi_load_from_memory (stbi_uc const *buffer, int len , int *x, int *y, int *channels_in_file, int desired_channels); -STBIDEF stbi_uc *stbi_load_from_callbacks(stbi_io_callbacks const *clbk , void *user, int *x, int *y, int *channels_in_file, int desired_channels); -#ifndef STBI_NO_GIF -STBIDEF stbi_uc *stbi_load_gif_from_memory(stbi_uc const *buffer, int len, int **delays, int *x, int *y, int *z, int *comp, int req_comp); -#endif - - -#ifndef STBI_NO_STDIO -STBIDEF stbi_uc *stbi_load (char const *filename, int *x, int *y, int *channels_in_file, int desired_channels); -STBIDEF stbi_uc *stbi_load_from_file (FILE *f, int *x, int *y, int *channels_in_file, int desired_channels); -// for stbi_load_from_file, file pointer is left pointing immediately after image -#endif - -//////////////////////////////////// -// -// 16-bits-per-channel interface -// - -STBIDEF stbi_us *stbi_load_16_from_memory (stbi_uc const *buffer, int len, int *x, int *y, int *channels_in_file, int desired_channels); -STBIDEF stbi_us *stbi_load_16_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *channels_in_file, int desired_channels); - -#ifndef STBI_NO_STDIO -STBIDEF stbi_us *stbi_load_16 (char const *filename, int *x, int *y, int *channels_in_file, int desired_channels); -STBIDEF stbi_us *stbi_load_from_file_16(FILE *f, int *x, int *y, int *channels_in_file, int desired_channels); -#endif - -//////////////////////////////////// -// -// float-per-channel interface -// -#ifndef STBI_NO_LINEAR - STBIDEF float *stbi_loadf_from_memory (stbi_uc const *buffer, int len, int *x, int *y, int *channels_in_file, int desired_channels); - STBIDEF float *stbi_loadf_from_callbacks (stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *channels_in_file, int desired_channels); - - #ifndef STBI_NO_STDIO - STBIDEF float *stbi_loadf (char const *filename, int *x, int *y, int *channels_in_file, int desired_channels); - STBIDEF float *stbi_loadf_from_file (FILE *f, int *x, int *y, int *channels_in_file, int desired_channels); - #endif -#endif - -#ifndef STBI_NO_HDR - STBIDEF void stbi_hdr_to_ldr_gamma(float gamma); - STBIDEF void stbi_hdr_to_ldr_scale(float scale); -#endif // STBI_NO_HDR - -#ifndef STBI_NO_LINEAR - STBIDEF void stbi_ldr_to_hdr_gamma(float gamma); - STBIDEF void stbi_ldr_to_hdr_scale(float scale); -#endif // STBI_NO_LINEAR - -// stbi_is_hdr is always defined, but always returns false if STBI_NO_HDR -STBIDEF int stbi_is_hdr_from_callbacks(stbi_io_callbacks const *clbk, void *user); -STBIDEF int stbi_is_hdr_from_memory(stbi_uc const *buffer, int len); -#ifndef STBI_NO_STDIO -STBIDEF int stbi_is_hdr (char const *filename); -STBIDEF int stbi_is_hdr_from_file(FILE *f); -#endif // STBI_NO_STDIO - - -// get a VERY brief reason for failure -// NOT THREADSAFE -STBIDEF const char *stbi_failure_reason (void); - -// free the loaded image -- this is just free() -STBIDEF void stbi_image_free (void *retval_from_stbi_load); - -// get image dimensions & components without fully decoding -STBIDEF int stbi_info_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp); -STBIDEF int stbi_info_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp); -STBIDEF int stbi_is_16_bit_from_memory(stbi_uc const *buffer, int len); -STBIDEF int stbi_is_16_bit_from_callbacks(stbi_io_callbacks const *clbk, void *user); - -#ifndef STBI_NO_STDIO -STBIDEF int stbi_info (char const *filename, int *x, int *y, int *comp); -STBIDEF int stbi_info_from_file (FILE *f, int *x, int *y, int *comp); -STBIDEF int stbi_is_16_bit (char const *filename); -STBIDEF int stbi_is_16_bit_from_file(FILE *f); -#endif - - - -// for image formats that explicitly notate that they have premultiplied alpha, -// we just return the colors as stored in the file. set this flag to force -// unpremultiplication. results are undefined if the unpremultiply overflow. -STBIDEF void stbi_set_unpremultiply_on_load(int flag_true_if_should_unpremultiply); - -// indicate whether we should process iphone images back to canonical format, -// or just pass them through "as-is" -STBIDEF void stbi_convert_iphone_png_to_rgb(int flag_true_if_should_convert); - -// flip the image vertically, so the first pixel in the output array is the bottom left -STBIDEF void stbi_set_flip_vertically_on_load(int flag_true_if_should_flip); - -// ZLIB client - used by PNG, available for other purposes - -STBIDEF char *stbi_zlib_decode_malloc_guesssize(const char *buffer, int len, int initial_size, int *outlen); -STBIDEF char *stbi_zlib_decode_malloc_guesssize_headerflag(const char *buffer, int len, int initial_size, int *outlen, int parse_header); -STBIDEF char *stbi_zlib_decode_malloc(const char *buffer, int len, int *outlen); -STBIDEF int stbi_zlib_decode_buffer(char *obuffer, int olen, const char *ibuffer, int ilen); - -STBIDEF char *stbi_zlib_decode_noheader_malloc(const char *buffer, int len, int *outlen); -STBIDEF int stbi_zlib_decode_noheader_buffer(char *obuffer, int olen, const char *ibuffer, int ilen); - - -#ifdef __cplusplus -} -#endif - -// -// -//// end header file ///////////////////////////////////////////////////// -#endif // STBI_INCLUDE_STB_IMAGE_H - -#ifdef STB_IMAGE_IMPLEMENTATION - -#if defined(STBI_ONLY_JPEG) || defined(STBI_ONLY_PNG) || defined(STBI_ONLY_BMP) \ - || defined(STBI_ONLY_TGA) || defined(STBI_ONLY_GIF) || defined(STBI_ONLY_PSD) \ - || defined(STBI_ONLY_HDR) || defined(STBI_ONLY_PIC) || defined(STBI_ONLY_PNM) \ - || defined(STBI_ONLY_ZLIB) - #ifndef STBI_ONLY_JPEG - #define STBI_NO_JPEG - #endif - #ifndef STBI_ONLY_PNG - #define STBI_NO_PNG - #endif - #ifndef STBI_ONLY_BMP - #define STBI_NO_BMP - #endif - #ifndef STBI_ONLY_PSD - #define STBI_NO_PSD - #endif - #ifndef STBI_ONLY_TGA - #define STBI_NO_TGA - #endif - #ifndef STBI_ONLY_GIF - #define STBI_NO_GIF - #endif - #ifndef STBI_ONLY_HDR - #define STBI_NO_HDR - #endif - #ifndef STBI_ONLY_PIC - #define STBI_NO_PIC - #endif - #ifndef STBI_ONLY_PNM - #define STBI_NO_PNM - #endif -#endif - -#if defined(STBI_NO_PNG) && !defined(STBI_SUPPORT_ZLIB) && !defined(STBI_NO_ZLIB) -#define STBI_NO_ZLIB -#endif - - -#include -#include // ptrdiff_t on osx -#include -#include -#include - -#if !defined(STBI_NO_LINEAR) || !defined(STBI_NO_HDR) -#include // ldexp, pow -#endif - -#ifndef STBI_NO_STDIO -#include -#endif - -#ifndef STBI_ASSERT -#include -#define STBI_ASSERT(x) assert(x) -#endif - - -#ifndef _MSC_VER - #ifdef __cplusplus - #define stbi_inline inline - #else - #define stbi_inline - #endif -#else - #define stbi_inline __forceinline -#endif - - -#ifdef _MSC_VER -typedef unsigned short stbi__uint16; -typedef signed short stbi__int16; -typedef unsigned int stbi__uint32; -typedef signed int stbi__int32; -#else -#include -typedef uint16_t stbi__uint16; -typedef int16_t stbi__int16; -typedef uint32_t stbi__uint32; -typedef int32_t stbi__int32; -#endif - -// should produce compiler error if size is wrong -typedef unsigned char validate_uint32[sizeof(stbi__uint32)==4 ? 1 : -1]; - -#ifdef _MSC_VER -#define STBI_NOTUSED(v) (void)(v) -#else -#define STBI_NOTUSED(v) (void)sizeof(v) -#endif - -#ifdef _MSC_VER -#define STBI_HAS_LROTL -#endif - -#ifdef STBI_HAS_LROTL - #define stbi_lrot(x,y) _lrotl(x,y) -#else - #define stbi_lrot(x,y) (((x) << (y)) | ((x) >> (32 - (y)))) -#endif - -#if defined(STBI_MALLOC) && defined(STBI_FREE) && (defined(STBI_REALLOC) || defined(STBI_REALLOC_SIZED)) -// ok -#elif !defined(STBI_MALLOC) && !defined(STBI_FREE) && !defined(STBI_REALLOC) && !defined(STBI_REALLOC_SIZED) -// ok -#else -#error "Must define all or none of STBI_MALLOC, STBI_FREE, and STBI_REALLOC (or STBI_REALLOC_SIZED)." -#endif - -#ifndef STBI_MALLOC -#define STBI_MALLOC(sz) malloc(sz) -#define STBI_REALLOC(p,newsz) realloc(p,newsz) -#define STBI_FREE(p) free(p) -#endif - -#ifndef STBI_REALLOC_SIZED -#define STBI_REALLOC_SIZED(p,oldsz,newsz) STBI_REALLOC(p,newsz) -#endif - -// x86/x64 detection -#if defined(__x86_64__) || defined(_M_X64) -#define STBI__X64_TARGET -#elif defined(__i386) || defined(_M_IX86) -#define STBI__X86_TARGET -#endif - -#if defined(__GNUC__) && defined(STBI__X86_TARGET) && !defined(__SSE2__) && !defined(STBI_NO_SIMD) -// gcc doesn't support sse2 intrinsics unless you compile with -msse2, -// which in turn means it gets to use SSE2 everywhere. This is unfortunate, -// but previous attempts to provide the SSE2 functions with runtime -// detection caused numerous issues. The way architecture extensions are -// exposed in GCC/Clang is, sadly, not really suited for one-file libs. -// New behavior: if compiled with -msse2, we use SSE2 without any -// detection; if not, we don't use it at all. -#define STBI_NO_SIMD -#endif - -#if defined(__MINGW32__) && defined(STBI__X86_TARGET) && !defined(STBI_MINGW_ENABLE_SSE2) && !defined(STBI_NO_SIMD) -// Note that __MINGW32__ doesn't actually mean 32-bit, so we have to avoid STBI__X64_TARGET -// -// 32-bit MinGW wants ESP to be 16-byte aligned, but this is not in the -// Windows ABI and VC++ as well as Windows DLLs don't maintain that invariant. -// As a result, enabling SSE2 on 32-bit MinGW is dangerous when not -// simultaneously enabling "-mstackrealign". -// -// See https://github.com/nothings/stb/issues/81 for more information. -// -// So default to no SSE2 on 32-bit MinGW. If you've read this far and added -// -mstackrealign to your build settings, feel free to #define STBI_MINGW_ENABLE_SSE2. -#define STBI_NO_SIMD -#endif - -#if !defined(STBI_NO_SIMD) && (defined(STBI__X86_TARGET) || defined(STBI__X64_TARGET)) -#define STBI_SSE2 -#include - -#ifdef _MSC_VER - -#if _MSC_VER >= 1400 // not VC6 -#include // __cpuid -static int stbi__cpuid3(void) -{ - int info[4]; - __cpuid(info,1); - return info[3]; -} -#else -static int stbi__cpuid3(void) -{ - int res; - __asm { - mov eax,1 - cpuid - mov res,edx - } - return res; -} -#endif - -#define STBI_SIMD_ALIGN(type, name) __declspec(align(16)) type name - -static int stbi__sse2_available(void) -{ - int info3 = stbi__cpuid3(); - return ((info3 >> 26) & 1) != 0; -} -#else // assume GCC-style if not VC++ -#define STBI_SIMD_ALIGN(type, name) type name __attribute__((aligned(16))) - -static int stbi__sse2_available(void) -{ - // If we're even attempting to compile this on GCC/Clang, that means - // -msse2 is on, which means the compiler is allowed to use SSE2 - // instructions at will, and so are we. - return 1; -} -#endif -#endif - -// ARM NEON -#if defined(STBI_NO_SIMD) && defined(STBI_NEON) -#undef STBI_NEON -#endif - -#ifdef STBI_NEON -#include -// assume GCC or Clang on ARM targets -#define STBI_SIMD_ALIGN(type, name) type name __attribute__((aligned(16))) -#endif - -#ifndef STBI_SIMD_ALIGN -#define STBI_SIMD_ALIGN(type, name) type name -#endif - -/////////////////////////////////////////////// -// -// stbi__context struct and start_xxx functions - -// stbi__context structure is our basic context used by all images, so it -// contains all the IO context, plus some basic image information -typedef struct -{ - stbi__uint32 img_x, img_y; - int img_n, img_out_n; - - stbi_io_callbacks io; - void *io_user_data; - - int read_from_callbacks; - int buflen; - stbi_uc buffer_start[128]; - - stbi_uc *img_buffer, *img_buffer_end; - stbi_uc *img_buffer_original, *img_buffer_original_end; -} stbi__context; - - -static void stbi__refill_buffer(stbi__context *s); - -// initialize a memory-decode context -static void stbi__start_mem(stbi__context *s, stbi_uc const *buffer, int len) -{ - s->io.read = NULL; - s->read_from_callbacks = 0; - s->img_buffer = s->img_buffer_original = (stbi_uc *) buffer; - s->img_buffer_end = s->img_buffer_original_end = (stbi_uc *) buffer+len; -} - -// initialize a callback-based context -static void stbi__start_callbacks(stbi__context *s, stbi_io_callbacks *c, void *user) -{ - s->io = *c; - s->io_user_data = user; - s->buflen = sizeof(s->buffer_start); - s->read_from_callbacks = 1; - s->img_buffer_original = s->buffer_start; - stbi__refill_buffer(s); - s->img_buffer_original_end = s->img_buffer_end; -} - -#ifndef STBI_NO_STDIO - -static int stbi__stdio_read(void *user, char *data, int size) -{ - return (int) fread(data,1,size,(FILE*) user); -} - -static void stbi__stdio_skip(void *user, int n) -{ - fseek((FILE*) user, n, SEEK_CUR); -} - -static int stbi__stdio_eof(void *user) -{ - return feof((FILE*) user); -} - -static stbi_io_callbacks stbi__stdio_callbacks = -{ - stbi__stdio_read, - stbi__stdio_skip, - stbi__stdio_eof, -}; - -static void stbi__start_file(stbi__context *s, FILE *f) -{ - stbi__start_callbacks(s, &stbi__stdio_callbacks, (void *) f); -} - -//static void stop_file(stbi__context *s) { } - -#endif // !STBI_NO_STDIO - -static void stbi__rewind(stbi__context *s) -{ - // conceptually rewind SHOULD rewind to the beginning of the stream, - // but we just rewind to the beginning of the initial buffer, because - // we only use it after doing 'test', which only ever looks at at most 92 bytes - s->img_buffer = s->img_buffer_original; - s->img_buffer_end = s->img_buffer_original_end; -} - -enum -{ - STBI_ORDER_RGB, - STBI_ORDER_BGR -}; - -typedef struct -{ - int bits_per_channel; - int num_channels; - int channel_order; -} stbi__result_info; - -#ifndef STBI_NO_JPEG -static int stbi__jpeg_test(stbi__context *s); -static void *stbi__jpeg_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); -static int stbi__jpeg_info(stbi__context *s, int *x, int *y, int *comp); -#endif - -#ifndef STBI_NO_PNG -static int stbi__png_test(stbi__context *s); -static void *stbi__png_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); -static int stbi__png_info(stbi__context *s, int *x, int *y, int *comp); -static int stbi__png_is16(stbi__context *s); -#endif - -#ifndef STBI_NO_BMP -static int stbi__bmp_test(stbi__context *s); -static void *stbi__bmp_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); -static int stbi__bmp_info(stbi__context *s, int *x, int *y, int *comp); -#endif - -#ifndef STBI_NO_TGA -static int stbi__tga_test(stbi__context *s); -static void *stbi__tga_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); -static int stbi__tga_info(stbi__context *s, int *x, int *y, int *comp); -#endif - -#ifndef STBI_NO_PSD -static int stbi__psd_test(stbi__context *s); -static void *stbi__psd_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri, int bpc); -static int stbi__psd_info(stbi__context *s, int *x, int *y, int *comp); -static int stbi__psd_is16(stbi__context *s); -#endif - -#ifndef STBI_NO_HDR -static int stbi__hdr_test(stbi__context *s); -static float *stbi__hdr_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); -static int stbi__hdr_info(stbi__context *s, int *x, int *y, int *comp); -#endif - -#ifndef STBI_NO_PIC -static int stbi__pic_test(stbi__context *s); -static void *stbi__pic_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); -static int stbi__pic_info(stbi__context *s, int *x, int *y, int *comp); -#endif - -#ifndef STBI_NO_GIF -static int stbi__gif_test(stbi__context *s); -static void *stbi__gif_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); -static void *stbi__load_gif_main(stbi__context *s, int **delays, int *x, int *y, int *z, int *comp, int req_comp); -static int stbi__gif_info(stbi__context *s, int *x, int *y, int *comp); -#endif - -#ifndef STBI_NO_PNM -static int stbi__pnm_test(stbi__context *s); -static void *stbi__pnm_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); -static int stbi__pnm_info(stbi__context *s, int *x, int *y, int *comp); -#endif - -// this is not threadsafe -static const char *stbi__g_failure_reason; - -STBIDEF const char *stbi_failure_reason(void) -{ - return stbi__g_failure_reason; -} - -static int stbi__err(const char *str) -{ - stbi__g_failure_reason = str; - return 0; -} - -static void *stbi__malloc(size_t size) -{ - return STBI_MALLOC(size); -} - -// stb_image uses ints pervasively, including for offset calculations. -// therefore the largest decoded image size we can support with the -// current code, even on 64-bit targets, is INT_MAX. this is not a -// significant limitation for the intended use case. -// -// we do, however, need to make sure our size calculations don't -// overflow. hence a few helper functions for size calculations that -// multiply integers together, making sure that they're non-negative -// and no overflow occurs. - -// return 1 if the sum is valid, 0 on overflow. -// negative terms are considered invalid. -static int stbi__addsizes_valid(int a, int b) -{ - if (b < 0) return 0; - // now 0 <= b <= INT_MAX, hence also - // 0 <= INT_MAX - b <= INTMAX. - // And "a + b <= INT_MAX" (which might overflow) is the - // same as a <= INT_MAX - b (no overflow) - return a <= INT_MAX - b; -} - -// returns 1 if the product is valid, 0 on overflow. -// negative factors are considered invalid. -static int stbi__mul2sizes_valid(int a, int b) -{ - if (a < 0 || b < 0) return 0; - if (b == 0) return 1; // mul-by-0 is always safe - // portable way to check for no overflows in a*b - return a <= INT_MAX/b; -} - -// returns 1 if "a*b + add" has no negative terms/factors and doesn't overflow -static int stbi__mad2sizes_valid(int a, int b, int add) -{ - return stbi__mul2sizes_valid(a, b) && stbi__addsizes_valid(a*b, add); -} - -// returns 1 if "a*b*c + add" has no negative terms/factors and doesn't overflow -static int stbi__mad3sizes_valid(int a, int b, int c, int add) -{ - return stbi__mul2sizes_valid(a, b) && stbi__mul2sizes_valid(a*b, c) && - stbi__addsizes_valid(a*b*c, add); -} - -// returns 1 if "a*b*c*d + add" has no negative terms/factors and doesn't overflow -#if !defined(STBI_NO_LINEAR) || !defined(STBI_NO_HDR) -static int stbi__mad4sizes_valid(int a, int b, int c, int d, int add) -{ - return stbi__mul2sizes_valid(a, b) && stbi__mul2sizes_valid(a*b, c) && - stbi__mul2sizes_valid(a*b*c, d) && stbi__addsizes_valid(a*b*c*d, add); -} -#endif - -// mallocs with size overflow checking -static void *stbi__malloc_mad2(int a, int b, int add) -{ - if (!stbi__mad2sizes_valid(a, b, add)) return NULL; - return stbi__malloc(a*b + add); -} - -static void *stbi__malloc_mad3(int a, int b, int c, int add) -{ - if (!stbi__mad3sizes_valid(a, b, c, add)) return NULL; - return stbi__malloc(a*b*c + add); -} - -#if !defined(STBI_NO_LINEAR) || !defined(STBI_NO_HDR) -static void *stbi__malloc_mad4(int a, int b, int c, int d, int add) -{ - if (!stbi__mad4sizes_valid(a, b, c, d, add)) return NULL; - return stbi__malloc(a*b*c*d + add); -} -#endif - -// stbi__err - error -// stbi__errpf - error returning pointer to float -// stbi__errpuc - error returning pointer to unsigned char - -#ifdef STBI_NO_FAILURE_STRINGS - #define stbi__err(x,y) 0 -#elif defined(STBI_FAILURE_USERMSG) - #define stbi__err(x,y) stbi__err(y) -#else - #define stbi__err(x,y) stbi__err(x) -#endif - -#define stbi__errpf(x,y) ((float *)(size_t) (stbi__err(x,y)?NULL:NULL)) -#define stbi__errpuc(x,y) ((unsigned char *)(size_t) (stbi__err(x,y)?NULL:NULL)) - -STBIDEF void stbi_image_free(void *retval_from_stbi_load) -{ - STBI_FREE(retval_from_stbi_load); -} - -#ifndef STBI_NO_LINEAR -static float *stbi__ldr_to_hdr(stbi_uc *data, int x, int y, int comp); -#endif - -#ifndef STBI_NO_HDR -static stbi_uc *stbi__hdr_to_ldr(float *data, int x, int y, int comp); -#endif - -static int stbi__vertically_flip_on_load = 0; - -STBIDEF void stbi_set_flip_vertically_on_load(int flag_true_if_should_flip) -{ - stbi__vertically_flip_on_load = flag_true_if_should_flip; -} - -static void *stbi__load_main(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri, int /*bpc*/) -{ - memset(ri, 0, sizeof(*ri)); // make sure it's initialized if we add new fields - ri->bits_per_channel = 8; // default is 8 so most paths don't have to be changed - ri->channel_order = STBI_ORDER_RGB; // all current input & output are this, but this is here so we can add BGR order - ri->num_channels = 0; - - #ifndef STBI_NO_JPEG - if (stbi__jpeg_test(s)) return stbi__jpeg_load(s,x,y,comp,req_comp, ri); - #endif - #ifndef STBI_NO_PNG - if (stbi__png_test(s)) return stbi__png_load(s,x,y,comp,req_comp, ri); - #endif - #ifndef STBI_NO_BMP - if (stbi__bmp_test(s)) return stbi__bmp_load(s,x,y,comp,req_comp, ri); - #endif - #ifndef STBI_NO_GIF - if (stbi__gif_test(s)) return stbi__gif_load(s,x,y,comp,req_comp, ri); - #endif - #ifndef STBI_NO_PSD - if (stbi__psd_test(s)) return stbi__psd_load(s,x,y,comp,req_comp, ri, bpc); - #endif - #ifndef STBI_NO_PIC - if (stbi__pic_test(s)) return stbi__pic_load(s,x,y,comp,req_comp, ri); - #endif - #ifndef STBI_NO_PNM - if (stbi__pnm_test(s)) return stbi__pnm_load(s,x,y,comp,req_comp, ri); - #endif - - #ifndef STBI_NO_HDR - if (stbi__hdr_test(s)) { - float *hdr = stbi__hdr_load(s, x,y,comp,req_comp, ri); - return stbi__hdr_to_ldr(hdr, *x, *y, req_comp ? req_comp : *comp); - } - #endif - - #ifndef STBI_NO_TGA - // test tga last because it's a crappy test! - if (stbi__tga_test(s)) - return stbi__tga_load(s,x,y,comp,req_comp, ri); - #endif - - return stbi__errpuc("unknown image type", "Image not of any known type, or corrupt"); -} - -static stbi_uc *stbi__convert_16_to_8(stbi__uint16 *orig, int w, int h, int channels) -{ - int i; - int img_len = w * h * channels; - stbi_uc *reduced; - - reduced = (stbi_uc *) stbi__malloc(img_len); - if (reduced == NULL) return stbi__errpuc("outofmem", "Out of memory"); - - for (i = 0; i < img_len; ++i) - reduced[i] = (stbi_uc)((orig[i] >> 8) & 0xFF); // top half of each byte is sufficient approx of 16->8 bit scaling - - STBI_FREE(orig); - return reduced; -} - -static stbi__uint16 *stbi__convert_8_to_16(stbi_uc *orig, int w, int h, int channels) -{ - int i; - int img_len = w * h * channels; - stbi__uint16 *enlarged; - - enlarged = (stbi__uint16 *) stbi__malloc(img_len*2); - if (enlarged == NULL) return (stbi__uint16 *) stbi__errpuc("outofmem", "Out of memory"); - - for (i = 0; i < img_len; ++i) - enlarged[i] = (stbi__uint16)((orig[i] << 8) + orig[i]); // replicate to high and low byte, maps 0->0, 255->0xffff - - STBI_FREE(orig); - return enlarged; -} - -static void stbi__vertical_flip(void *image, int w, int h, int bytes_per_pixel) -{ - int row; - size_t bytes_per_row = (size_t)w * bytes_per_pixel; - stbi_uc temp[2048]; - stbi_uc *bytes = (stbi_uc *)image; - - for (row = 0; row < (h>>1); row++) { - stbi_uc *row0 = bytes + row*bytes_per_row; - stbi_uc *row1 = bytes + (h - row - 1)*bytes_per_row; - // swap row0 with row1 - size_t bytes_left = bytes_per_row; - while (bytes_left) { - size_t bytes_copy = (bytes_left < sizeof(temp)) ? bytes_left : sizeof(temp); - memcpy(temp, row0, bytes_copy); - memcpy(row0, row1, bytes_copy); - memcpy(row1, temp, bytes_copy); - row0 += bytes_copy; - row1 += bytes_copy; - bytes_left -= bytes_copy; - } - } -} - -#ifndef STBI_NO_GIF -static void stbi__vertical_flip_slices(void *image, int w, int h, int z, int bytes_per_pixel) -{ - int slice; - int slice_size = w * h * bytes_per_pixel; - - stbi_uc *bytes = (stbi_uc *)image; - for (slice = 0; slice < z; ++slice) { - stbi__vertical_flip(bytes, w, h, bytes_per_pixel); - bytes += slice_size; - } -} -#endif - -static unsigned char *stbi__load_and_postprocess_8bit(stbi__context *s, int *x, int *y, int *comp, int req_comp) -{ - stbi__result_info ri; - void *result = stbi__load_main(s, x, y, comp, req_comp, &ri, 8); - - if (result == NULL) - return NULL; - - if (ri.bits_per_channel != 8) { - STBI_ASSERT(ri.bits_per_channel == 16); - result = stbi__convert_16_to_8((stbi__uint16 *) result, *x, *y, req_comp == 0 ? *comp : req_comp); - ri.bits_per_channel = 8; - } - - // @TODO: move stbi__convert_format to here - - if (stbi__vertically_flip_on_load) { - int channels = req_comp ? req_comp : *comp; - stbi__vertical_flip(result, *x, *y, channels * sizeof(stbi_uc)); - } - - return (unsigned char *) result; -} - -static stbi__uint16 *stbi__load_and_postprocess_16bit(stbi__context *s, int *x, int *y, int *comp, int req_comp) -{ - stbi__result_info ri; - void *result = stbi__load_main(s, x, y, comp, req_comp, &ri, 16); - - if (result == NULL) - return NULL; - - if (ri.bits_per_channel != 16) { - STBI_ASSERT(ri.bits_per_channel == 8); - result = stbi__convert_8_to_16((stbi_uc *) result, *x, *y, req_comp == 0 ? *comp : req_comp); - ri.bits_per_channel = 16; - } - - // @TODO: move stbi__convert_format16 to here - // @TODO: special case RGB-to-Y (and RGBA-to-YA) for 8-bit-to-16-bit case to keep more precision - - if (stbi__vertically_flip_on_load) { - int channels = req_comp ? req_comp : *comp; - stbi__vertical_flip(result, *x, *y, channels * sizeof(stbi__uint16)); - } - - return (stbi__uint16 *) result; -} - -#if !defined(STBI_NO_HDR) || !defined(STBI_NO_LINEAR) -static void stbi__float_postprocess(float *result, int *x, int *y, int *comp, int req_comp) -{ - if (stbi__vertically_flip_on_load && result != NULL) { - int channels = req_comp ? req_comp : *comp; - stbi__vertical_flip(result, *x, *y, channels * sizeof(float)); - } -} -#endif - -#ifndef STBI_NO_STDIO - -static FILE *stbi__fopen(char const *filename, char const *mode) -{ - FILE *f; -#if defined(_MSC_VER) && _MSC_VER >= 1400 - if (0 != fopen_s(&f, filename, mode)) - f=0; -#else - f = fopen(filename, mode); -#endif - return f; -} - - -STBIDEF stbi_uc *stbi_load(char const *filename, int *x, int *y, int *comp, int req_comp) -{ - FILE *f = stbi__fopen(filename, "rb"); - unsigned char *result; - if (!f) return stbi__errpuc("can't fopen", "Unable to open file"); - result = stbi_load_from_file(f,x,y,comp,req_comp); - fclose(f); - return result; -} - -STBIDEF stbi_uc *stbi_load_from_file(FILE *f, int *x, int *y, int *comp, int req_comp) -{ - unsigned char *result; - stbi__context s; - stbi__start_file(&s,f); - result = stbi__load_and_postprocess_8bit(&s,x,y,comp,req_comp); - if (result) { - // need to 'unget' all the characters in the IO buffer - fseek(f, - (int) (s.img_buffer_end - s.img_buffer), SEEK_CUR); - } - return result; -} - -STBIDEF stbi__uint16 *stbi_load_from_file_16(FILE *f, int *x, int *y, int *comp, int req_comp) -{ - stbi__uint16 *result; - stbi__context s; - stbi__start_file(&s,f); - result = stbi__load_and_postprocess_16bit(&s,x,y,comp,req_comp); - if (result) { - // need to 'unget' all the characters in the IO buffer - fseek(f, - (int) (s.img_buffer_end - s.img_buffer), SEEK_CUR); - } - return result; -} - -STBIDEF stbi_us *stbi_load_16(char const *filename, int *x, int *y, int *comp, int req_comp) -{ - FILE *f = stbi__fopen(filename, "rb"); - stbi__uint16 *result; - if (!f) return (stbi_us *) stbi__errpuc("can't fopen", "Unable to open file"); - result = stbi_load_from_file_16(f,x,y,comp,req_comp); - fclose(f); - return result; -} - - -#endif //!STBI_NO_STDIO - -STBIDEF stbi_us *stbi_load_16_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *channels_in_file, int desired_channels) -{ - stbi__context s; - stbi__start_mem(&s,buffer,len); - return stbi__load_and_postprocess_16bit(&s,x,y,channels_in_file,desired_channels); -} - -STBIDEF stbi_us *stbi_load_16_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *channels_in_file, int desired_channels) -{ - stbi__context s; - stbi__start_callbacks(&s, (stbi_io_callbacks *)clbk, user); - return stbi__load_and_postprocess_16bit(&s,x,y,channels_in_file,desired_channels); -} - -STBIDEF stbi_uc *stbi_load_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp, int req_comp) -{ - stbi__context s; - stbi__start_mem(&s,buffer,len); - return stbi__load_and_postprocess_8bit(&s,x,y,comp,req_comp); -} - -STBIDEF stbi_uc *stbi_load_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp, int req_comp) -{ - stbi__context s; - stbi__start_callbacks(&s, (stbi_io_callbacks *) clbk, user); - return stbi__load_and_postprocess_8bit(&s,x,y,comp,req_comp); -} - -#ifndef STBI_NO_GIF -STBIDEF stbi_uc *stbi_load_gif_from_memory(stbi_uc const *buffer, int len, int **delays, int *x, int *y, int *z, int *comp, int req_comp) -{ - unsigned char *result; - stbi__context s; - stbi__start_mem(&s,buffer,len); - - result = (unsigned char*) stbi__load_gif_main(&s, delays, x, y, z, comp, req_comp); - if (stbi__vertically_flip_on_load) { - stbi__vertical_flip_slices( result, *x, *y, *z, *comp ); - } - - return result; -} -#endif - -#ifndef STBI_NO_LINEAR -static float *stbi__loadf_main(stbi__context *s, int *x, int *y, int *comp, int req_comp) -{ - unsigned char *data; - #ifndef STBI_NO_HDR - if (stbi__hdr_test(s)) { - stbi__result_info ri; - float *hdr_data = stbi__hdr_load(s,x,y,comp,req_comp, &ri); - if (hdr_data) - stbi__float_postprocess(hdr_data,x,y,comp,req_comp); - return hdr_data; - } - #endif - data = stbi__load_and_postprocess_8bit(s, x, y, comp, req_comp); - if (data) - return stbi__ldr_to_hdr(data, *x, *y, req_comp ? req_comp : *comp); - return stbi__errpf("unknown image type", "Image not of any known type, or corrupt"); -} - -STBIDEF float *stbi_loadf_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp, int req_comp) -{ - stbi__context s; - stbi__start_mem(&s,buffer,len); - return stbi__loadf_main(&s,x,y,comp,req_comp); -} - -STBIDEF float *stbi_loadf_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp, int req_comp) -{ - stbi__context s; - stbi__start_callbacks(&s, (stbi_io_callbacks *) clbk, user); - return stbi__loadf_main(&s,x,y,comp,req_comp); -} - -#ifndef STBI_NO_STDIO -STBIDEF float *stbi_loadf(char const *filename, int *x, int *y, int *comp, int req_comp) -{ - float *result; - FILE *f = stbi__fopen(filename, "rb"); - if (!f) return stbi__errpf("can't fopen", "Unable to open file"); - result = stbi_loadf_from_file(f,x,y,comp,req_comp); - fclose(f); - return result; -} - -STBIDEF float *stbi_loadf_from_file(FILE *f, int *x, int *y, int *comp, int req_comp) -{ - stbi__context s; - stbi__start_file(&s,f); - return stbi__loadf_main(&s,x,y,comp,req_comp); -} -#endif // !STBI_NO_STDIO - -#endif // !STBI_NO_LINEAR - -// these is-hdr-or-not is defined independent of whether STBI_NO_LINEAR is -// defined, for API simplicity; if STBI_NO_LINEAR is defined, it always -// reports false! - -STBIDEF int stbi_is_hdr_from_memory(stbi_uc const *buffer, int len) -{ - #ifndef STBI_NO_HDR - stbi__context s; - stbi__start_mem(&s,buffer,len); - return stbi__hdr_test(&s); - #else - STBI_NOTUSED(buffer); - STBI_NOTUSED(len); - return 0; - #endif -} - -#ifndef STBI_NO_STDIO -STBIDEF int stbi_is_hdr (char const *filename) -{ - FILE *f = stbi__fopen(filename, "rb"); - int result=0; - if (f) { - result = stbi_is_hdr_from_file(f); - fclose(f); - } - return result; -} - -STBIDEF int stbi_is_hdr_from_file(FILE *f) -{ - #ifndef STBI_NO_HDR - long pos = ftell(f); - int res; - stbi__context s; - stbi__start_file(&s,f); - res = stbi__hdr_test(&s); - fseek(f, pos, SEEK_SET); - return res; - #else - STBI_NOTUSED(f); - return 0; - #endif -} -#endif // !STBI_NO_STDIO - -STBIDEF int stbi_is_hdr_from_callbacks(stbi_io_callbacks const *clbk, void *user) -{ - #ifndef STBI_NO_HDR - stbi__context s; - stbi__start_callbacks(&s, (stbi_io_callbacks *) clbk, user); - return stbi__hdr_test(&s); - #else - STBI_NOTUSED(clbk); - STBI_NOTUSED(user); - return 0; - #endif -} - -#ifndef STBI_NO_LINEAR -static float stbi__l2h_gamma=2.2f, stbi__l2h_scale=1.0f; - -STBIDEF void stbi_ldr_to_hdr_gamma(float gamma) { stbi__l2h_gamma = gamma; } -STBIDEF void stbi_ldr_to_hdr_scale(float scale) { stbi__l2h_scale = scale; } -#endif - -static float stbi__h2l_gamma_i=1.0f/2.2f, stbi__h2l_scale_i=1.0f; - -STBIDEF void stbi_hdr_to_ldr_gamma(float gamma) { stbi__h2l_gamma_i = 1/gamma; } -STBIDEF void stbi_hdr_to_ldr_scale(float scale) { stbi__h2l_scale_i = 1/scale; } - - -////////////////////////////////////////////////////////////////////////////// -// -// Common code used by all image loaders -// - -enum -{ - STBI__SCAN_load=0, - STBI__SCAN_type, - STBI__SCAN_header -}; - -static void stbi__refill_buffer(stbi__context *s) -{ - int n = (s->io.read)(s->io_user_data,(char*)s->buffer_start,s->buflen); - if (n == 0) { - // at end of file, treat same as if from memory, but need to handle case - // where s->img_buffer isn't pointing to safe memory, e.g. 0-byte file - s->read_from_callbacks = 0; - s->img_buffer = s->buffer_start; - s->img_buffer_end = s->buffer_start+1; - *s->img_buffer = 0; - } else { - s->img_buffer = s->buffer_start; - s->img_buffer_end = s->buffer_start + n; - } -} - -stbi_inline static stbi_uc stbi__get8(stbi__context *s) -{ - if (s->img_buffer < s->img_buffer_end) - return *s->img_buffer++; - if (s->read_from_callbacks) { - stbi__refill_buffer(s); - return *s->img_buffer++; - } - return 0; -} - -stbi_inline static int stbi__at_eof(stbi__context *s) -{ - if (s->io.read) { - if (!(s->io.eof)(s->io_user_data)) return 0; - // if feof() is true, check if buffer = end - // special case: we've only got the special 0 character at the end - if (s->read_from_callbacks == 0) return 1; - } - - return s->img_buffer >= s->img_buffer_end; -} - -static void stbi__skip(stbi__context *s, int n) -{ - if (n < 0) { - s->img_buffer = s->img_buffer_end; - return; - } - if (s->io.read) { - int blen = (int) (s->img_buffer_end - s->img_buffer); - if (blen < n) { - s->img_buffer = s->img_buffer_end; - (s->io.skip)(s->io_user_data, n - blen); - return; - } - } - s->img_buffer += n; -} - -static int stbi__getn(stbi__context *s, stbi_uc *buffer, int n) -{ - if (s->io.read) { - int blen = (int) (s->img_buffer_end - s->img_buffer); - if (blen < n) { - int res, count; - - memcpy(buffer, s->img_buffer, blen); - - count = (s->io.read)(s->io_user_data, (char*) buffer + blen, n - blen); - res = (count == (n-blen)); - s->img_buffer = s->img_buffer_end; - return res; - } - } - - if (s->img_buffer+n <= s->img_buffer_end) { - memcpy(buffer, s->img_buffer, n); - s->img_buffer += n; - return 1; - } else - return 0; -} - -static int stbi__get16be(stbi__context *s) -{ - int z = stbi__get8(s); - return (z << 8) + stbi__get8(s); -} - -static stbi__uint32 stbi__get32be(stbi__context *s) -{ - stbi__uint32 z = stbi__get16be(s); - return (z << 16) + stbi__get16be(s); -} - -#if defined(STBI_NO_BMP) && defined(STBI_NO_TGA) && defined(STBI_NO_GIF) -// nothing -#else -static int stbi__get16le(stbi__context *s) -{ - int z = stbi__get8(s); - return z + (stbi__get8(s) << 8); -} -#endif - -#ifndef STBI_NO_BMP -static stbi__uint32 stbi__get32le(stbi__context *s) -{ - stbi__uint32 z = stbi__get16le(s); - return z + (stbi__get16le(s) << 16); -} -#endif - -#define STBI__BYTECAST(x) ((stbi_uc) ((x) & 255)) // truncate int to byte without warnings - - -////////////////////////////////////////////////////////////////////////////// -// -// generic converter from built-in img_n to req_comp -// individual types do this automatically as much as possible (e.g. jpeg -// does all cases internally since it needs to colorspace convert anyway, -// and it never has alpha, so very few cases ). png can automatically -// interleave an alpha=255 channel, but falls back to this for other cases -// -// assume data buffer is malloced, so malloc a new one and free that one -// only failure mode is malloc failing - -static stbi_uc stbi__compute_y(int r, int g, int b) -{ - return (stbi_uc) (((r*77) + (g*150) + (29*b)) >> 8); -} - -static unsigned char *stbi__convert_format(unsigned char *data, int img_n, int req_comp, unsigned int x, unsigned int y) -{ - int i,j; - unsigned char *good; - - if (req_comp == img_n) return data; - STBI_ASSERT(req_comp >= 1 && req_comp <= 4); - - good = (unsigned char *) stbi__malloc_mad3(req_comp, x, y, 0); - if (good == NULL) { - STBI_FREE(data); - return stbi__errpuc("outofmem", "Out of memory"); - } - - for (j=0; j < (int) y; ++j) { - unsigned char *src = data + j * x * img_n ; - unsigned char *dest = good + j * x * req_comp; - - #define STBI__COMBO(a,b) ((a)*8+(b)) - #define STBI__CASE(a,b) case STBI__COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b) - // convert source image with img_n components to one with req_comp components; - // avoid switch per pixel, so use switch per scanline and massive macros - switch (STBI__COMBO(img_n, req_comp)) { - STBI__CASE(1,2) { dest[0]=src[0], dest[1]=255; } break; - STBI__CASE(1,3) { dest[0]=dest[1]=dest[2]=src[0]; } break; - STBI__CASE(1,4) { dest[0]=dest[1]=dest[2]=src[0], dest[3]=255; } break; - STBI__CASE(2,1) { dest[0]=src[0]; } break; - STBI__CASE(2,3) { dest[0]=dest[1]=dest[2]=src[0]; } break; - STBI__CASE(2,4) { dest[0]=dest[1]=dest[2]=src[0], dest[3]=src[1]; } break; - STBI__CASE(3,4) { dest[0]=src[0],dest[1]=src[1],dest[2]=src[2],dest[3]=255; } break; - STBI__CASE(3,1) { dest[0]=stbi__compute_y(src[0],src[1],src[2]); } break; - STBI__CASE(3,2) { dest[0]=stbi__compute_y(src[0],src[1],src[2]), dest[1] = 255; } break; - STBI__CASE(4,1) { dest[0]=stbi__compute_y(src[0],src[1],src[2]); } break; - STBI__CASE(4,2) { dest[0]=stbi__compute_y(src[0],src[1],src[2]), dest[1] = src[3]; } break; - STBI__CASE(4,3) { dest[0]=src[0],dest[1]=src[1],dest[2]=src[2]; } break; - default: STBI_ASSERT(0); - } - #undef STBI__CASE - } - - STBI_FREE(data); - return good; -} - -static stbi__uint16 stbi__compute_y_16(int r, int g, int b) -{ - return (stbi__uint16) (((r*77) + (g*150) + (29*b)) >> 8); -} - -static stbi__uint16 *stbi__convert_format16(stbi__uint16 *data, int img_n, int req_comp, unsigned int x, unsigned int y) -{ - int i,j; - stbi__uint16 *good; - - if (req_comp == img_n) return data; - STBI_ASSERT(req_comp >= 1 && req_comp <= 4); - - good = (stbi__uint16 *) stbi__malloc(req_comp * x * y * 2); - if (good == NULL) { - STBI_FREE(data); - return (stbi__uint16 *) stbi__errpuc("outofmem", "Out of memory"); - } - - for (j=0; j < (int) y; ++j) { - stbi__uint16 *src = data + j * x * img_n ; - stbi__uint16 *dest = good + j * x * req_comp; - - #define STBI__COMBO(a,b) ((a)*8+(b)) - #define STBI__CASE(a,b) case STBI__COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b) - // convert source image with img_n components to one with req_comp components; - // avoid switch per pixel, so use switch per scanline and massive macros - switch (STBI__COMBO(img_n, req_comp)) { - STBI__CASE(1,2) { dest[0]=src[0], dest[1]=0xffff; } break; - STBI__CASE(1,3) { dest[0]=dest[1]=dest[2]=src[0]; } break; - STBI__CASE(1,4) { dest[0]=dest[1]=dest[2]=src[0], dest[3]=0xffff; } break; - STBI__CASE(2,1) { dest[0]=src[0]; } break; - STBI__CASE(2,3) { dest[0]=dest[1]=dest[2]=src[0]; } break; - STBI__CASE(2,4) { dest[0]=dest[1]=dest[2]=src[0], dest[3]=src[1]; } break; - STBI__CASE(3,4) { dest[0]=src[0],dest[1]=src[1],dest[2]=src[2],dest[3]=0xffff; } break; - STBI__CASE(3,1) { dest[0]=stbi__compute_y_16(src[0],src[1],src[2]); } break; - STBI__CASE(3,2) { dest[0]=stbi__compute_y_16(src[0],src[1],src[2]), dest[1] = 0xffff; } break; - STBI__CASE(4,1) { dest[0]=stbi__compute_y_16(src[0],src[1],src[2]); } break; - STBI__CASE(4,2) { dest[0]=stbi__compute_y_16(src[0],src[1],src[2]), dest[1] = src[3]; } break; - STBI__CASE(4,3) { dest[0]=src[0],dest[1]=src[1],dest[2]=src[2]; } break; - default: STBI_ASSERT(0); - } - #undef STBI__CASE - } - - STBI_FREE(data); - return good; -} - -#ifndef STBI_NO_LINEAR -static float *stbi__ldr_to_hdr(stbi_uc *data, int x, int y, int comp) -{ - int i,k,n; - float *output; - if (!data) return NULL; - output = (float *) stbi__malloc_mad4(x, y, comp, sizeof(float), 0); - if (output == NULL) { STBI_FREE(data); return stbi__errpf("outofmem", "Out of memory"); } - // compute number of non-alpha components - if (comp & 1) n = comp; else n = comp-1; - for (i=0; i < x*y; ++i) { - for (k=0; k < n; ++k) { - output[i*comp + k] = (float) (pow(data[i*comp+k]/255.0f, stbi__l2h_gamma) * stbi__l2h_scale); - } - if (k < comp) output[i*comp + k] = data[i*comp+k]/255.0f; - } - STBI_FREE(data); - return output; -} -#endif - -#ifndef STBI_NO_HDR -#define stbi__float2int(x) ((int) (x)) -static stbi_uc *stbi__hdr_to_ldr(float *data, int x, int y, int comp) -{ - int i,k,n; - stbi_uc *output; - if (!data) return NULL; - output = (stbi_uc *) stbi__malloc_mad3(x, y, comp, 0); - if (output == NULL) { STBI_FREE(data); return stbi__errpuc("outofmem", "Out of memory"); } - // compute number of non-alpha components - if (comp & 1) n = comp; else n = comp-1; - for (i=0; i < x*y; ++i) { - for (k=0; k < n; ++k) { - float z = (float) pow(data[i*comp+k]*stbi__h2l_scale_i, stbi__h2l_gamma_i) * 255 + 0.5f; - if (z < 0) z = 0; - if (z > 255) z = 255; - output[i*comp + k] = (stbi_uc) stbi__float2int(z); - } - if (k < comp) { - float z = data[i*comp+k] * 255 + 0.5f; - if (z < 0) z = 0; - if (z > 255) z = 255; - output[i*comp + k] = (stbi_uc) stbi__float2int(z); - } - } - STBI_FREE(data); - return output; -} -#endif - -////////////////////////////////////////////////////////////////////////////// -// -// "baseline" JPEG/JFIF decoder -// -// simple implementation -// - doesn't support delayed output of y-dimension -// - simple interface (only one output format: 8-bit interleaved RGB) -// - doesn't try to recover corrupt jpegs -// - doesn't allow partial loading, loading multiple at once -// - still fast on x86 (copying globals into locals doesn't help x86) -// - allocates lots of intermediate memory (full size of all components) -// - non-interleaved case requires this anyway -// - allows good upsampling (see next) -// high-quality -// - upsampled channels are bilinearly interpolated, even across blocks -// - quality integer IDCT derived from IJG's 'slow' -// performance -// - fast huffman; reasonable integer IDCT -// - some SIMD kernels for common paths on targets with SSE2/NEON -// - uses a lot of intermediate memory, could cache poorly - -#ifndef STBI_NO_JPEG - -// huffman decoding acceleration -#define FAST_BITS 9 // larger handles more cases; smaller stomps less cache - -typedef struct -{ - stbi_uc fast[1 << FAST_BITS]; - // weirdly, repacking this into AoS is a 10% speed loss, instead of a win - stbi__uint16 code[256]; - stbi_uc values[256]; - stbi_uc size[257]; - unsigned int maxcode[18]; - int delta[17]; // old 'firstsymbol' - old 'firstcode' -} stbi__huffman; - -typedef struct -{ - stbi__context *s; - stbi__huffman huff_dc[4]; - stbi__huffman huff_ac[4]; - stbi__uint16 dequant[4][64]; - stbi__int16 fast_ac[4][1 << FAST_BITS]; - -// sizes for components, interleaved MCUs - int img_h_max, img_v_max; - int img_mcu_x, img_mcu_y; - int img_mcu_w, img_mcu_h; - -// definition of jpeg image component - struct - { - int id; - int h,v; - int tq; - int hd,ha; - int dc_pred; - - int x,y,w2,h2; - stbi_uc *data; - void *raw_data, *raw_coeff; - stbi_uc *linebuf; - short *coeff; // progressive only - int coeff_w, coeff_h; // number of 8x8 coefficient blocks - } img_comp[4]; - - stbi__uint32 code_buffer; // jpeg entropy-coded buffer - int code_bits; // number of valid bits - unsigned char marker; // marker seen while filling entropy buffer - int nomore; // flag if we saw a marker so must stop - - int progressive; - int spec_start; - int spec_end; - int succ_high; - int succ_low; - int eob_run; - int jfif; - int app14_color_transform; // Adobe APP14 tag - int rgb; - - int scan_n, order[4]; - int restart_interval, todo; - -// kernels - void (*idct_block_kernel)(stbi_uc *out, int out_stride, short data[64]); - void (*YCbCr_to_RGB_kernel)(stbi_uc *out, const stbi_uc *y, const stbi_uc *pcb, const stbi_uc *pcr, int count, int step); - stbi_uc *(*resample_row_hv_2_kernel)(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs); -} stbi__jpeg; - -static int stbi__build_huffman(stbi__huffman *h, int *count) -{ - int i,j,k=0; - unsigned int code; - // build size list for each symbol (from JPEG spec) - for (i=0; i < 16; ++i) - for (j=0; j < count[i]; ++j) - h->size[k++] = (stbi_uc) (i+1); - h->size[k] = 0; - - // compute actual symbols (from jpeg spec) - code = 0; - k = 0; - for(j=1; j <= 16; ++j) { - // compute delta to add to code to compute symbol id - h->delta[j] = k - code; - if (h->size[k] == j) { - while (h->size[k] == j) - h->code[k++] = (stbi__uint16) (code++); - if (code-1 >= (1u << j)) return stbi__err("bad code lengths","Corrupt JPEG"); - } - // compute largest code + 1 for this size, preshifted as needed later - h->maxcode[j] = code << (16-j); - code <<= 1; - } - h->maxcode[j] = 0xffffffff; - - // build non-spec acceleration table; 255 is flag for not-accelerated - memset(h->fast, 255, 1 << FAST_BITS); - for (i=0; i < k; ++i) { - int s = h->size[i]; - if (s <= FAST_BITS) { - int c = h->code[i] << (FAST_BITS-s); - int m = 1 << (FAST_BITS-s); - for (j=0; j < m; ++j) { - h->fast[c+j] = (stbi_uc) i; - } - } - } - return 1; -} - -// build a table that decodes both magnitude and value of small ACs in -// one go. -static void stbi__build_fast_ac(stbi__int16 *fast_ac, stbi__huffman *h) -{ - int i; - for (i=0; i < (1 << FAST_BITS); ++i) { - stbi_uc fast = h->fast[i]; - fast_ac[i] = 0; - if (fast < 255) { - int rs = h->values[fast]; - int run = (rs >> 4) & 15; - int magbits = rs & 15; - int len = h->size[fast]; - - if (magbits && len + magbits <= FAST_BITS) { - // magnitude code followed by receive_extend code - int k = ((i << len) & ((1 << FAST_BITS) - 1)) >> (FAST_BITS - magbits); - int m = 1 << (magbits - 1); - if (k < m) k += (~0U << magbits) + 1; - // if the result is small enough, we can fit it in fast_ac table - if (k >= -128 && k <= 127) - fast_ac[i] = (stbi__int16) ((k * 256) + (run * 16) + (len + magbits)); - } - } - } -} - -static void stbi__grow_buffer_unsafe(stbi__jpeg *j) -{ - do { - unsigned int b = j->nomore ? 0 : stbi__get8(j->s); - if (b == 0xff) { - int c = stbi__get8(j->s); - while (c == 0xff) c = stbi__get8(j->s); // consume fill bytes - if (c != 0) { - j->marker = (unsigned char) c; - j->nomore = 1; - return; - } - } - j->code_buffer |= b << (24 - j->code_bits); - j->code_bits += 8; - } while (j->code_bits <= 24); -} - -// (1 << n) - 1 -static const stbi__uint32 stbi__bmask[17]={0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535}; - -// decode a jpeg huffman value from the bitstream -stbi_inline static int stbi__jpeg_huff_decode(stbi__jpeg *j, stbi__huffman *h) -{ - unsigned int temp; - int c,k; - - if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); - - // look at the top FAST_BITS and determine what symbol ID it is, - // if the code is <= FAST_BITS - c = (j->code_buffer >> (32 - FAST_BITS)) & ((1 << FAST_BITS)-1); - k = h->fast[c]; - if (k < 255) { - int s = h->size[k]; - if (s > j->code_bits) - return -1; - j->code_buffer <<= s; - j->code_bits -= s; - return h->values[k]; - } - - // naive test is to shift the code_buffer down so k bits are - // valid, then test against maxcode. To speed this up, we've - // preshifted maxcode left so that it has (16-k) 0s at the - // end; in other words, regardless of the number of bits, it - // wants to be compared against something shifted to have 16; - // that way we don't need to shift inside the loop. - temp = j->code_buffer >> 16; - for (k=FAST_BITS+1 ; ; ++k) - if (temp < h->maxcode[k]) - break; - if (k == 17) { - // error! code not found - j->code_bits -= 16; - return -1; - } - - if (k > j->code_bits) - return -1; - - // convert the huffman code to the symbol id - c = ((j->code_buffer >> (32 - k)) & stbi__bmask[k]) + h->delta[k]; - STBI_ASSERT((((j->code_buffer) >> (32 - h->size[c])) & stbi__bmask[h->size[c]]) == h->code[c]); - - // convert the id to a symbol - j->code_bits -= k; - j->code_buffer <<= k; - return h->values[c]; -} - -// bias[n] = (-1<code_bits < n) stbi__grow_buffer_unsafe(j); - - sgn = (stbi__int32)j->code_buffer >> 31; // sign bit is always in MSB - k = stbi_lrot(j->code_buffer, n); - STBI_ASSERT(n >= 0 && n < (int) (sizeof(stbi__bmask)/sizeof(*stbi__bmask))); - j->code_buffer = k & ~stbi__bmask[n]; - k &= stbi__bmask[n]; - j->code_bits -= n; - return k + (stbi__jbias[n] & ~sgn); -} - -// get some unsigned bits -stbi_inline static int stbi__jpeg_get_bits(stbi__jpeg *j, int n) -{ - unsigned int k; - if (j->code_bits < n) stbi__grow_buffer_unsafe(j); - k = stbi_lrot(j->code_buffer, n); - j->code_buffer = k & ~stbi__bmask[n]; - k &= stbi__bmask[n]; - j->code_bits -= n; - return k; -} - -stbi_inline static int stbi__jpeg_get_bit(stbi__jpeg *j) -{ - unsigned int k; - if (j->code_bits < 1) stbi__grow_buffer_unsafe(j); - k = j->code_buffer; - j->code_buffer <<= 1; - --j->code_bits; - return k & 0x80000000; -} - -// given a value that's at position X in the zigzag stream, -// where does it appear in the 8x8 matrix coded as row-major? -static const stbi_uc stbi__jpeg_dezigzag[64+15] = -{ - 0, 1, 8, 16, 9, 2, 3, 10, - 17, 24, 32, 25, 18, 11, 4, 5, - 12, 19, 26, 33, 40, 48, 41, 34, - 27, 20, 13, 6, 7, 14, 21, 28, - 35, 42, 49, 56, 57, 50, 43, 36, - 29, 22, 15, 23, 30, 37, 44, 51, - 58, 59, 52, 45, 38, 31, 39, 46, - 53, 60, 61, 54, 47, 55, 62, 63, - // let corrupt input sample past end - 63, 63, 63, 63, 63, 63, 63, 63, - 63, 63, 63, 63, 63, 63, 63 -}; - -// decode one 64-entry block-- -static int stbi__jpeg_decode_block(stbi__jpeg *j, short data[64], stbi__huffman *hdc, stbi__huffman *hac, stbi__int16 *fac, int b, stbi__uint16 *dequant) -{ - int diff,dc,k; - int t; - - if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); - t = stbi__jpeg_huff_decode(j, hdc); - if (t < 0) return stbi__err("bad huffman code","Corrupt JPEG"); - - // 0 all the ac values now so we can do it 32-bits at a time - memset(data,0,64*sizeof(data[0])); - - diff = t ? stbi__extend_receive(j, t) : 0; - dc = j->img_comp[b].dc_pred + diff; - j->img_comp[b].dc_pred = dc; - data[0] = (short) (dc * dequant[0]); - - // decode AC components, see JPEG spec - k = 1; - do { - unsigned int zig; - int c,r,s; - if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); - c = (j->code_buffer >> (32 - FAST_BITS)) & ((1 << FAST_BITS)-1); - r = fac[c]; - if (r) { // fast-AC path - k += (r >> 4) & 15; // run - s = r & 15; // combined length - j->code_buffer <<= s; - j->code_bits -= s; - // decode into unzigzag'd location - zig = stbi__jpeg_dezigzag[k++]; - data[zig] = (short) ((r >> 8) * dequant[zig]); - } else { - int rs = stbi__jpeg_huff_decode(j, hac); - if (rs < 0) return stbi__err("bad huffman code","Corrupt JPEG"); - s = rs & 15; - r = rs >> 4; - if (s == 0) { - if (rs != 0xf0) break; // end block - k += 16; - } else { - k += r; - // decode into unzigzag'd location - zig = stbi__jpeg_dezigzag[k++]; - data[zig] = (short) (stbi__extend_receive(j,s) * dequant[zig]); - } - } - } while (k < 64); - return 1; -} - -static int stbi__jpeg_decode_block_prog_dc(stbi__jpeg *j, short data[64], stbi__huffman *hdc, int b) -{ - int diff,dc; - int t; - if (j->spec_end != 0) return stbi__err("can't merge dc and ac", "Corrupt JPEG"); - - if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); - - if (j->succ_high == 0) { - // first scan for DC coefficient, must be first - memset(data,0,64*sizeof(data[0])); // 0 all the ac values now - t = stbi__jpeg_huff_decode(j, hdc); - diff = t ? stbi__extend_receive(j, t) : 0; - - dc = j->img_comp[b].dc_pred + diff; - j->img_comp[b].dc_pred = dc; - data[0] = (short) (dc << j->succ_low); - } else { - // refinement scan for DC coefficient - if (stbi__jpeg_get_bit(j)) - data[0] += (short) (1 << j->succ_low); - } - return 1; -} - -// @OPTIMIZE: store non-zigzagged during the decode passes, -// and only de-zigzag when dequantizing -static int stbi__jpeg_decode_block_prog_ac(stbi__jpeg *j, short data[64], stbi__huffman *hac, stbi__int16 *fac) -{ - int k; - if (j->spec_start == 0) return stbi__err("can't merge dc and ac", "Corrupt JPEG"); - - if (j->succ_high == 0) { - int shift = j->succ_low; - - if (j->eob_run) { - --j->eob_run; - return 1; - } - - k = j->spec_start; - do { - unsigned int zig; - int c,r,s; - if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); - c = (j->code_buffer >> (32 - FAST_BITS)) & ((1 << FAST_BITS)-1); - r = fac[c]; - if (r) { // fast-AC path - k += (r >> 4) & 15; // run - s = r & 15; // combined length - j->code_buffer <<= s; - j->code_bits -= s; - zig = stbi__jpeg_dezigzag[k++]; - data[zig] = (short) ((r >> 8) << shift); - } else { - int rs = stbi__jpeg_huff_decode(j, hac); - if (rs < 0) return stbi__err("bad huffman code","Corrupt JPEG"); - s = rs & 15; - r = rs >> 4; - if (s == 0) { - if (r < 15) { - j->eob_run = (1 << r); - if (r) - j->eob_run += stbi__jpeg_get_bits(j, r); - --j->eob_run; - break; - } - k += 16; - } else { - k += r; - zig = stbi__jpeg_dezigzag[k++]; - data[zig] = (short) (stbi__extend_receive(j,s) << shift); - } - } - } while (k <= j->spec_end); - } else { - // refinement scan for these AC coefficients - - short bit = (short) (1 << j->succ_low); - - if (j->eob_run) { - --j->eob_run; - for (k = j->spec_start; k <= j->spec_end; ++k) { - short *p = &data[stbi__jpeg_dezigzag[k]]; - if (*p != 0) - if (stbi__jpeg_get_bit(j)) - if ((*p & bit)==0) { - if (*p > 0) - *p += bit; - else - *p -= bit; - } - } - } else { - k = j->spec_start; - do { - int r,s; - int rs = stbi__jpeg_huff_decode(j, hac); // @OPTIMIZE see if we can use the fast path here, advance-by-r is so slow, eh - if (rs < 0) return stbi__err("bad huffman code","Corrupt JPEG"); - s = rs & 15; - r = rs >> 4; - if (s == 0) { - if (r < 15) { - j->eob_run = (1 << r) - 1; - if (r) - j->eob_run += stbi__jpeg_get_bits(j, r); - r = 64; // force end of block - } else { - // r=15 s=0 should write 16 0s, so we just do - // a run of 15 0s and then write s (which is 0), - // so we don't have to do anything special here - } - } else { - if (s != 1) return stbi__err("bad huffman code", "Corrupt JPEG"); - // sign bit - if (stbi__jpeg_get_bit(j)) - s = bit; - else - s = -bit; - } - - // advance by r - while (k <= j->spec_end) { - short *p = &data[stbi__jpeg_dezigzag[k++]]; - if (*p != 0) { - if (stbi__jpeg_get_bit(j)) - if ((*p & bit)==0) { - if (*p > 0) - *p += bit; - else - *p -= bit; - } - } else { - if (r == 0) { - *p = (short) s; - break; - } - --r; - } - } - } while (k <= j->spec_end); - } - } - return 1; -} - -// take a -128..127 value and stbi__clamp it and convert to 0..255 -stbi_inline static stbi_uc stbi__clamp(int x) -{ - // trick to use a single test to catch both cases - if ((unsigned int) x > 255) { - if (x < 0) return 0; - if (x > 255) return 255; - } - return (stbi_uc) x; -} - -#define stbi__f2f(x) ((int) (((x) * 4096 + 0.5))) -#define stbi__fsh(x) ((x) * 4096) - -// derived from jidctint -- DCT_ISLOW -#define STBI__IDCT_1D(s0,s1,s2,s3,s4,s5,s6,s7) \ - int t0,t1,t2,t3,p1,p2,p3,p4,p5,x0,x1,x2,x3; \ - p2 = s2; \ - p3 = s6; \ - p1 = (p2+p3) * stbi__f2f(0.5411961f); \ - t2 = p1 + p3*stbi__f2f(-1.847759065f); \ - t3 = p1 + p2*stbi__f2f( 0.765366865f); \ - p2 = s0; \ - p3 = s4; \ - t0 = stbi__fsh(p2+p3); \ - t1 = stbi__fsh(p2-p3); \ - x0 = t0+t3; \ - x3 = t0-t3; \ - x1 = t1+t2; \ - x2 = t1-t2; \ - t0 = s7; \ - t1 = s5; \ - t2 = s3; \ - t3 = s1; \ - p3 = t0+t2; \ - p4 = t1+t3; \ - p1 = t0+t3; \ - p2 = t1+t2; \ - p5 = (p3+p4)*stbi__f2f( 1.175875602f); \ - t0 = t0*stbi__f2f( 0.298631336f); \ - t1 = t1*stbi__f2f( 2.053119869f); \ - t2 = t2*stbi__f2f( 3.072711026f); \ - t3 = t3*stbi__f2f( 1.501321110f); \ - p1 = p5 + p1*stbi__f2f(-0.899976223f); \ - p2 = p5 + p2*stbi__f2f(-2.562915447f); \ - p3 = p3*stbi__f2f(-1.961570560f); \ - p4 = p4*stbi__f2f(-0.390180644f); \ - t3 += p1+p4; \ - t2 += p2+p3; \ - t1 += p2+p4; \ - t0 += p1+p3; - -static void stbi__idct_block(stbi_uc *out, int out_stride, short data[64]) -{ - int i,val[64],*v=val; - stbi_uc *o; - short *d = data; - - // columns - for (i=0; i < 8; ++i,++d, ++v) { - // if all zeroes, shortcut -- this avoids dequantizing 0s and IDCTing - if (d[ 8]==0 && d[16]==0 && d[24]==0 && d[32]==0 - && d[40]==0 && d[48]==0 && d[56]==0) { - // no shortcut 0 seconds - // (1|2|3|4|5|6|7)==0 0 seconds - // all separate -0.047 seconds - // 1 && 2|3 && 4|5 && 6|7: -0.047 seconds - int dcterm = d[0]*4; - v[0] = v[8] = v[16] = v[24] = v[32] = v[40] = v[48] = v[56] = dcterm; - } else { - STBI__IDCT_1D(d[ 0],d[ 8],d[16],d[24],d[32],d[40],d[48],d[56]) - // constants scaled things up by 1<<12; let's bring them back - // down, but keep 2 extra bits of precision - x0 += 512; x1 += 512; x2 += 512; x3 += 512; - v[ 0] = (x0+t3) >> 10; - v[56] = (x0-t3) >> 10; - v[ 8] = (x1+t2) >> 10; - v[48] = (x1-t2) >> 10; - v[16] = (x2+t1) >> 10; - v[40] = (x2-t1) >> 10; - v[24] = (x3+t0) >> 10; - v[32] = (x3-t0) >> 10; - } - } - - for (i=0, v=val, o=out; i < 8; ++i,v+=8,o+=out_stride) { - // no fast case since the first 1D IDCT spread components out - STBI__IDCT_1D(v[0],v[1],v[2],v[3],v[4],v[5],v[6],v[7]) - // constants scaled things up by 1<<12, plus we had 1<<2 from first - // loop, plus horizontal and vertical each scale by sqrt(8) so together - // we've got an extra 1<<3, so 1<<17 total we need to remove. - // so we want to round that, which means adding 0.5 * 1<<17, - // aka 65536. Also, we'll end up with -128 to 127 that we want - // to encode as 0..255 by adding 128, so we'll add that before the shift - x0 += 65536 + (128<<17); - x1 += 65536 + (128<<17); - x2 += 65536 + (128<<17); - x3 += 65536 + (128<<17); - // tried computing the shifts into temps, or'ing the temps to see - // if any were out of range, but that was slower - o[0] = stbi__clamp((x0+t3) >> 17); - o[7] = stbi__clamp((x0-t3) >> 17); - o[1] = stbi__clamp((x1+t2) >> 17); - o[6] = stbi__clamp((x1-t2) >> 17); - o[2] = stbi__clamp((x2+t1) >> 17); - o[5] = stbi__clamp((x2-t1) >> 17); - o[3] = stbi__clamp((x3+t0) >> 17); - o[4] = stbi__clamp((x3-t0) >> 17); - } -} - -#ifdef STBI_SSE2 -// sse2 integer IDCT. not the fastest possible implementation but it -// produces bit-identical results to the generic C version so it's -// fully "transparent". -static void stbi__idct_simd(stbi_uc *out, int out_stride, short data[64]) -{ - // This is constructed to match our regular (generic) integer IDCT exactly. - __m128i row0, row1, row2, row3, row4, row5, row6, row7; - __m128i tmp; - - // dot product constant: even elems=x, odd elems=y - #define dct_const(x,y) _mm_setr_epi16((x),(y),(x),(y),(x),(y),(x),(y)) - - // out(0) = c0[even]*x + c0[odd]*y (c0, x, y 16-bit, out 32-bit) - // out(1) = c1[even]*x + c1[odd]*y - #define dct_rot(out0,out1, x,y,c0,c1) \ - __m128i c0##lo = _mm_unpacklo_epi16((x),(y)); \ - __m128i c0##hi = _mm_unpackhi_epi16((x),(y)); \ - __m128i out0##_l = _mm_madd_epi16(c0##lo, c0); \ - __m128i out0##_h = _mm_madd_epi16(c0##hi, c0); \ - __m128i out1##_l = _mm_madd_epi16(c0##lo, c1); \ - __m128i out1##_h = _mm_madd_epi16(c0##hi, c1) - - // out = in << 12 (in 16-bit, out 32-bit) - #define dct_widen(out, in) \ - __m128i out##_l = _mm_srai_epi32(_mm_unpacklo_epi16(_mm_setzero_si128(), (in)), 4); \ - __m128i out##_h = _mm_srai_epi32(_mm_unpackhi_epi16(_mm_setzero_si128(), (in)), 4) - - // wide add - #define dct_wadd(out, a, b) \ - __m128i out##_l = _mm_add_epi32(a##_l, b##_l); \ - __m128i out##_h = _mm_add_epi32(a##_h, b##_h) - - // wide sub - #define dct_wsub(out, a, b) \ - __m128i out##_l = _mm_sub_epi32(a##_l, b##_l); \ - __m128i out##_h = _mm_sub_epi32(a##_h, b##_h) - - // butterfly a/b, add bias, then shift by "s" and pack - #define dct_bfly32o(out0, out1, a,b,bias,s) \ - { \ - __m128i abiased_l = _mm_add_epi32(a##_l, bias); \ - __m128i abiased_h = _mm_add_epi32(a##_h, bias); \ - dct_wadd(sum, abiased, b); \ - dct_wsub(dif, abiased, b); \ - out0 = _mm_packs_epi32(_mm_srai_epi32(sum_l, s), _mm_srai_epi32(sum_h, s)); \ - out1 = _mm_packs_epi32(_mm_srai_epi32(dif_l, s), _mm_srai_epi32(dif_h, s)); \ - } - - // 8-bit interleave step (for transposes) - #define dct_interleave8(a, b) \ - tmp = a; \ - a = _mm_unpacklo_epi8(a, b); \ - b = _mm_unpackhi_epi8(tmp, b) - - // 16-bit interleave step (for transposes) - #define dct_interleave16(a, b) \ - tmp = a; \ - a = _mm_unpacklo_epi16(a, b); \ - b = _mm_unpackhi_epi16(tmp, b) - - #define dct_pass(bias,shift) \ - { \ - /* even part */ \ - dct_rot(t2e,t3e, row2,row6, rot0_0,rot0_1); \ - __m128i sum04 = _mm_add_epi16(row0, row4); \ - __m128i dif04 = _mm_sub_epi16(row0, row4); \ - dct_widen(t0e, sum04); \ - dct_widen(t1e, dif04); \ - dct_wadd(x0, t0e, t3e); \ - dct_wsub(x3, t0e, t3e); \ - dct_wadd(x1, t1e, t2e); \ - dct_wsub(x2, t1e, t2e); \ - /* odd part */ \ - dct_rot(y0o,y2o, row7,row3, rot2_0,rot2_1); \ - dct_rot(y1o,y3o, row5,row1, rot3_0,rot3_1); \ - __m128i sum17 = _mm_add_epi16(row1, row7); \ - __m128i sum35 = _mm_add_epi16(row3, row5); \ - dct_rot(y4o,y5o, sum17,sum35, rot1_0,rot1_1); \ - dct_wadd(x4, y0o, y4o); \ - dct_wadd(x5, y1o, y5o); \ - dct_wadd(x6, y2o, y5o); \ - dct_wadd(x7, y3o, y4o); \ - dct_bfly32o(row0,row7, x0,x7,bias,shift); \ - dct_bfly32o(row1,row6, x1,x6,bias,shift); \ - dct_bfly32o(row2,row5, x2,x5,bias,shift); \ - dct_bfly32o(row3,row4, x3,x4,bias,shift); \ - } - - __m128i rot0_0 = dct_const(stbi__f2f(0.5411961f), stbi__f2f(0.5411961f) + stbi__f2f(-1.847759065f)); - __m128i rot0_1 = dct_const(stbi__f2f(0.5411961f) + stbi__f2f( 0.765366865f), stbi__f2f(0.5411961f)); - __m128i rot1_0 = dct_const(stbi__f2f(1.175875602f) + stbi__f2f(-0.899976223f), stbi__f2f(1.175875602f)); - __m128i rot1_1 = dct_const(stbi__f2f(1.175875602f), stbi__f2f(1.175875602f) + stbi__f2f(-2.562915447f)); - __m128i rot2_0 = dct_const(stbi__f2f(-1.961570560f) + stbi__f2f( 0.298631336f), stbi__f2f(-1.961570560f)); - __m128i rot2_1 = dct_const(stbi__f2f(-1.961570560f), stbi__f2f(-1.961570560f) + stbi__f2f( 3.072711026f)); - __m128i rot3_0 = dct_const(stbi__f2f(-0.390180644f) + stbi__f2f( 2.053119869f), stbi__f2f(-0.390180644f)); - __m128i rot3_1 = dct_const(stbi__f2f(-0.390180644f), stbi__f2f(-0.390180644f) + stbi__f2f( 1.501321110f)); - - // rounding biases in column/row passes, see stbi__idct_block for explanation. - __m128i bias_0 = _mm_set1_epi32(512); - __m128i bias_1 = _mm_set1_epi32(65536 + (128<<17)); - - // load - row0 = _mm_load_si128((const __m128i *) (data + 0*8)); - row1 = _mm_load_si128((const __m128i *) (data + 1*8)); - row2 = _mm_load_si128((const __m128i *) (data + 2*8)); - row3 = _mm_load_si128((const __m128i *) (data + 3*8)); - row4 = _mm_load_si128((const __m128i *) (data + 4*8)); - row5 = _mm_load_si128((const __m128i *) (data + 5*8)); - row6 = _mm_load_si128((const __m128i *) (data + 6*8)); - row7 = _mm_load_si128((const __m128i *) (data + 7*8)); - - // column pass - dct_pass(bias_0, 10); - - { - // 16bit 8x8 transpose pass 1 - dct_interleave16(row0, row4); - dct_interleave16(row1, row5); - dct_interleave16(row2, row6); - dct_interleave16(row3, row7); - - // transpose pass 2 - dct_interleave16(row0, row2); - dct_interleave16(row1, row3); - dct_interleave16(row4, row6); - dct_interleave16(row5, row7); - - // transpose pass 3 - dct_interleave16(row0, row1); - dct_interleave16(row2, row3); - dct_interleave16(row4, row5); - dct_interleave16(row6, row7); - } - - // row pass - dct_pass(bias_1, 17); - - { - // pack - __m128i p0 = _mm_packus_epi16(row0, row1); // a0a1a2a3...a7b0b1b2b3...b7 - __m128i p1 = _mm_packus_epi16(row2, row3); - __m128i p2 = _mm_packus_epi16(row4, row5); - __m128i p3 = _mm_packus_epi16(row6, row7); - - // 8bit 8x8 transpose pass 1 - dct_interleave8(p0, p2); // a0e0a1e1... - dct_interleave8(p1, p3); // c0g0c1g1... - - // transpose pass 2 - dct_interleave8(p0, p1); // a0c0e0g0... - dct_interleave8(p2, p3); // b0d0f0h0... - - // transpose pass 3 - dct_interleave8(p0, p2); // a0b0c0d0... - dct_interleave8(p1, p3); // a4b4c4d4... - - // store - _mm_storel_epi64((__m128i *) out, p0); out += out_stride; - _mm_storel_epi64((__m128i *) out, _mm_shuffle_epi32(p0, 0x4e)); out += out_stride; - _mm_storel_epi64((__m128i *) out, p2); out += out_stride; - _mm_storel_epi64((__m128i *) out, _mm_shuffle_epi32(p2, 0x4e)); out += out_stride; - _mm_storel_epi64((__m128i *) out, p1); out += out_stride; - _mm_storel_epi64((__m128i *) out, _mm_shuffle_epi32(p1, 0x4e)); out += out_stride; - _mm_storel_epi64((__m128i *) out, p3); out += out_stride; - _mm_storel_epi64((__m128i *) out, _mm_shuffle_epi32(p3, 0x4e)); - } - -#undef dct_const -#undef dct_rot -#undef dct_widen -#undef dct_wadd -#undef dct_wsub -#undef dct_bfly32o -#undef dct_interleave8 -#undef dct_interleave16 -#undef dct_pass -} - -#endif // STBI_SSE2 - -#ifdef STBI_NEON - -// NEON integer IDCT. should produce bit-identical -// results to the generic C version. -static void stbi__idct_simd(stbi_uc *out, int out_stride, short data[64]) -{ - int16x8_t row0, row1, row2, row3, row4, row5, row6, row7; - - int16x4_t rot0_0 = vdup_n_s16(stbi__f2f(0.5411961f)); - int16x4_t rot0_1 = vdup_n_s16(stbi__f2f(-1.847759065f)); - int16x4_t rot0_2 = vdup_n_s16(stbi__f2f( 0.765366865f)); - int16x4_t rot1_0 = vdup_n_s16(stbi__f2f( 1.175875602f)); - int16x4_t rot1_1 = vdup_n_s16(stbi__f2f(-0.899976223f)); - int16x4_t rot1_2 = vdup_n_s16(stbi__f2f(-2.562915447f)); - int16x4_t rot2_0 = vdup_n_s16(stbi__f2f(-1.961570560f)); - int16x4_t rot2_1 = vdup_n_s16(stbi__f2f(-0.390180644f)); - int16x4_t rot3_0 = vdup_n_s16(stbi__f2f( 0.298631336f)); - int16x4_t rot3_1 = vdup_n_s16(stbi__f2f( 2.053119869f)); - int16x4_t rot3_2 = vdup_n_s16(stbi__f2f( 3.072711026f)); - int16x4_t rot3_3 = vdup_n_s16(stbi__f2f( 1.501321110f)); - -#define dct_long_mul(out, inq, coeff) \ - int32x4_t out##_l = vmull_s16(vget_low_s16(inq), coeff); \ - int32x4_t out##_h = vmull_s16(vget_high_s16(inq), coeff) - -#define dct_long_mac(out, acc, inq, coeff) \ - int32x4_t out##_l = vmlal_s16(acc##_l, vget_low_s16(inq), coeff); \ - int32x4_t out##_h = vmlal_s16(acc##_h, vget_high_s16(inq), coeff) - -#define dct_widen(out, inq) \ - int32x4_t out##_l = vshll_n_s16(vget_low_s16(inq), 12); \ - int32x4_t out##_h = vshll_n_s16(vget_high_s16(inq), 12) - -// wide add -#define dct_wadd(out, a, b) \ - int32x4_t out##_l = vaddq_s32(a##_l, b##_l); \ - int32x4_t out##_h = vaddq_s32(a##_h, b##_h) - -// wide sub -#define dct_wsub(out, a, b) \ - int32x4_t out##_l = vsubq_s32(a##_l, b##_l); \ - int32x4_t out##_h = vsubq_s32(a##_h, b##_h) - -// butterfly a/b, then shift using "shiftop" by "s" and pack -#define dct_bfly32o(out0,out1, a,b,shiftop,s) \ - { \ - dct_wadd(sum, a, b); \ - dct_wsub(dif, a, b); \ - out0 = vcombine_s16(shiftop(sum_l, s), shiftop(sum_h, s)); \ - out1 = vcombine_s16(shiftop(dif_l, s), shiftop(dif_h, s)); \ - } - -#define dct_pass(shiftop, shift) \ - { \ - /* even part */ \ - int16x8_t sum26 = vaddq_s16(row2, row6); \ - dct_long_mul(p1e, sum26, rot0_0); \ - dct_long_mac(t2e, p1e, row6, rot0_1); \ - dct_long_mac(t3e, p1e, row2, rot0_2); \ - int16x8_t sum04 = vaddq_s16(row0, row4); \ - int16x8_t dif04 = vsubq_s16(row0, row4); \ - dct_widen(t0e, sum04); \ - dct_widen(t1e, dif04); \ - dct_wadd(x0, t0e, t3e); \ - dct_wsub(x3, t0e, t3e); \ - dct_wadd(x1, t1e, t2e); \ - dct_wsub(x2, t1e, t2e); \ - /* odd part */ \ - int16x8_t sum15 = vaddq_s16(row1, row5); \ - int16x8_t sum17 = vaddq_s16(row1, row7); \ - int16x8_t sum35 = vaddq_s16(row3, row5); \ - int16x8_t sum37 = vaddq_s16(row3, row7); \ - int16x8_t sumodd = vaddq_s16(sum17, sum35); \ - dct_long_mul(p5o, sumodd, rot1_0); \ - dct_long_mac(p1o, p5o, sum17, rot1_1); \ - dct_long_mac(p2o, p5o, sum35, rot1_2); \ - dct_long_mul(p3o, sum37, rot2_0); \ - dct_long_mul(p4o, sum15, rot2_1); \ - dct_wadd(sump13o, p1o, p3o); \ - dct_wadd(sump24o, p2o, p4o); \ - dct_wadd(sump23o, p2o, p3o); \ - dct_wadd(sump14o, p1o, p4o); \ - dct_long_mac(x4, sump13o, row7, rot3_0); \ - dct_long_mac(x5, sump24o, row5, rot3_1); \ - dct_long_mac(x6, sump23o, row3, rot3_2); \ - dct_long_mac(x7, sump14o, row1, rot3_3); \ - dct_bfly32o(row0,row7, x0,x7,shiftop,shift); \ - dct_bfly32o(row1,row6, x1,x6,shiftop,shift); \ - dct_bfly32o(row2,row5, x2,x5,shiftop,shift); \ - dct_bfly32o(row3,row4, x3,x4,shiftop,shift); \ - } - - // load - row0 = vld1q_s16(data + 0*8); - row1 = vld1q_s16(data + 1*8); - row2 = vld1q_s16(data + 2*8); - row3 = vld1q_s16(data + 3*8); - row4 = vld1q_s16(data + 4*8); - row5 = vld1q_s16(data + 5*8); - row6 = vld1q_s16(data + 6*8); - row7 = vld1q_s16(data + 7*8); - - // add DC bias - row0 = vaddq_s16(row0, vsetq_lane_s16(1024, vdupq_n_s16(0), 0)); - - // column pass - dct_pass(vrshrn_n_s32, 10); - - // 16bit 8x8 transpose - { -// these three map to a single VTRN.16, VTRN.32, and VSWP, respectively. -// whether compilers actually get this is another story, sadly. -#define dct_trn16(x, y) { int16x8x2_t t = vtrnq_s16(x, y); x = t.val[0]; y = t.val[1]; } -#define dct_trn32(x, y) { int32x4x2_t t = vtrnq_s32(vreinterpretq_s32_s16(x), vreinterpretq_s32_s16(y)); x = vreinterpretq_s16_s32(t.val[0]); y = vreinterpretq_s16_s32(t.val[1]); } -#define dct_trn64(x, y) { int16x8_t x0 = x; int16x8_t y0 = y; x = vcombine_s16(vget_low_s16(x0), vget_low_s16(y0)); y = vcombine_s16(vget_high_s16(x0), vget_high_s16(y0)); } - - // pass 1 - dct_trn16(row0, row1); // a0b0a2b2a4b4a6b6 - dct_trn16(row2, row3); - dct_trn16(row4, row5); - dct_trn16(row6, row7); - - // pass 2 - dct_trn32(row0, row2); // a0b0c0d0a4b4c4d4 - dct_trn32(row1, row3); - dct_trn32(row4, row6); - dct_trn32(row5, row7); - - // pass 3 - dct_trn64(row0, row4); // a0b0c0d0e0f0g0h0 - dct_trn64(row1, row5); - dct_trn64(row2, row6); - dct_trn64(row3, row7); - -#undef dct_trn16 -#undef dct_trn32 -#undef dct_trn64 - } - - // row pass - // vrshrn_n_s32 only supports shifts up to 16, we need - // 17. so do a non-rounding shift of 16 first then follow - // up with a rounding shift by 1. - dct_pass(vshrn_n_s32, 16); - - { - // pack and round - uint8x8_t p0 = vqrshrun_n_s16(row0, 1); - uint8x8_t p1 = vqrshrun_n_s16(row1, 1); - uint8x8_t p2 = vqrshrun_n_s16(row2, 1); - uint8x8_t p3 = vqrshrun_n_s16(row3, 1); - uint8x8_t p4 = vqrshrun_n_s16(row4, 1); - uint8x8_t p5 = vqrshrun_n_s16(row5, 1); - uint8x8_t p6 = vqrshrun_n_s16(row6, 1); - uint8x8_t p7 = vqrshrun_n_s16(row7, 1); - - // again, these can translate into one instruction, but often don't. -#define dct_trn8_8(x, y) { uint8x8x2_t t = vtrn_u8(x, y); x = t.val[0]; y = t.val[1]; } -#define dct_trn8_16(x, y) { uint16x4x2_t t = vtrn_u16(vreinterpret_u16_u8(x), vreinterpret_u16_u8(y)); x = vreinterpret_u8_u16(t.val[0]); y = vreinterpret_u8_u16(t.val[1]); } -#define dct_trn8_32(x, y) { uint32x2x2_t t = vtrn_u32(vreinterpret_u32_u8(x), vreinterpret_u32_u8(y)); x = vreinterpret_u8_u32(t.val[0]); y = vreinterpret_u8_u32(t.val[1]); } - - // sadly can't use interleaved stores here since we only write - // 8 bytes to each scan line! - - // 8x8 8-bit transpose pass 1 - dct_trn8_8(p0, p1); - dct_trn8_8(p2, p3); - dct_trn8_8(p4, p5); - dct_trn8_8(p6, p7); - - // pass 2 - dct_trn8_16(p0, p2); - dct_trn8_16(p1, p3); - dct_trn8_16(p4, p6); - dct_trn8_16(p5, p7); - - // pass 3 - dct_trn8_32(p0, p4); - dct_trn8_32(p1, p5); - dct_trn8_32(p2, p6); - dct_trn8_32(p3, p7); - - // store - vst1_u8(out, p0); out += out_stride; - vst1_u8(out, p1); out += out_stride; - vst1_u8(out, p2); out += out_stride; - vst1_u8(out, p3); out += out_stride; - vst1_u8(out, p4); out += out_stride; - vst1_u8(out, p5); out += out_stride; - vst1_u8(out, p6); out += out_stride; - vst1_u8(out, p7); - -#undef dct_trn8_8 -#undef dct_trn8_16 -#undef dct_trn8_32 - } - -#undef dct_long_mul -#undef dct_long_mac -#undef dct_widen -#undef dct_wadd -#undef dct_wsub -#undef dct_bfly32o -#undef dct_pass -} - -#endif // STBI_NEON - -#define STBI__MARKER_none 0xff -// if there's a pending marker from the entropy stream, return that -// otherwise, fetch from the stream and get a marker. if there's no -// marker, return 0xff, which is never a valid marker value -static stbi_uc stbi__get_marker(stbi__jpeg *j) -{ - stbi_uc x; - if (j->marker != STBI__MARKER_none) { x = j->marker; j->marker = STBI__MARKER_none; return x; } - x = stbi__get8(j->s); - if (x != 0xff) return STBI__MARKER_none; - while (x == 0xff) - x = stbi__get8(j->s); // consume repeated 0xff fill bytes - return x; -} - -// in each scan, we'll have scan_n components, and the order -// of the components is specified by order[] -#define STBI__RESTART(x) ((x) >= 0xd0 && (x) <= 0xd7) - -// after a restart interval, stbi__jpeg_reset the entropy decoder and -// the dc prediction -static void stbi__jpeg_reset(stbi__jpeg *j) -{ - j->code_bits = 0; - j->code_buffer = 0; - j->nomore = 0; - j->img_comp[0].dc_pred = j->img_comp[1].dc_pred = j->img_comp[2].dc_pred = j->img_comp[3].dc_pred = 0; - j->marker = STBI__MARKER_none; - j->todo = j->restart_interval ? j->restart_interval : 0x7fffffff; - j->eob_run = 0; - // no more than 1<<31 MCUs if no restart_interal? that's plenty safe, - // since we don't even allow 1<<30 pixels -} - -static int stbi__parse_entropy_coded_data(stbi__jpeg *z) -{ - stbi__jpeg_reset(z); - if (!z->progressive) { - if (z->scan_n == 1) { - int i,j; - STBI_SIMD_ALIGN(short, data[64]); - int n = z->order[0]; - // non-interleaved data, we just need to process one block at a time, - // in trivial scanline order - // number of blocks to do just depends on how many actual "pixels" this - // component has, independent of interleaved MCU blocking and such - int w = (z->img_comp[n].x+7) >> 3; - int h = (z->img_comp[n].y+7) >> 3; - for (j=0; j < h; ++j) { - for (i=0; i < w; ++i) { - int ha = z->img_comp[n].ha; - if (!stbi__jpeg_decode_block(z, data, z->huff_dc+z->img_comp[n].hd, z->huff_ac+ha, z->fast_ac[ha], n, z->dequant[z->img_comp[n].tq])) return 0; - z->idct_block_kernel(z->img_comp[n].data+z->img_comp[n].w2*j*8+i*8, z->img_comp[n].w2, data); - // every data block is an MCU, so countdown the restart interval - if (--z->todo <= 0) { - if (z->code_bits < 24) stbi__grow_buffer_unsafe(z); - // if it's NOT a restart, then just bail, so we get corrupt data - // rather than no data - if (!STBI__RESTART(z->marker)) return 1; - stbi__jpeg_reset(z); - } - } - } - return 1; - } else { // interleaved - int i,j,k,x,y; - STBI_SIMD_ALIGN(short, data[64]); - for (j=0; j < z->img_mcu_y; ++j) { - for (i=0; i < z->img_mcu_x; ++i) { - // scan an interleaved mcu... process scan_n components in order - for (k=0; k < z->scan_n; ++k) { - int n = z->order[k]; - // scan out an mcu's worth of this component; that's just determined - // by the basic H and V specified for the component - for (y=0; y < z->img_comp[n].v; ++y) { - for (x=0; x < z->img_comp[n].h; ++x) { - int x2 = (i*z->img_comp[n].h + x)*8; - int y2 = (j*z->img_comp[n].v + y)*8; - int ha = z->img_comp[n].ha; - if (!stbi__jpeg_decode_block(z, data, z->huff_dc+z->img_comp[n].hd, z->huff_ac+ha, z->fast_ac[ha], n, z->dequant[z->img_comp[n].tq])) return 0; - z->idct_block_kernel(z->img_comp[n].data+z->img_comp[n].w2*y2+x2, z->img_comp[n].w2, data); - } - } - } - // after all interleaved components, that's an interleaved MCU, - // so now count down the restart interval - if (--z->todo <= 0) { - if (z->code_bits < 24) stbi__grow_buffer_unsafe(z); - if (!STBI__RESTART(z->marker)) return 1; - stbi__jpeg_reset(z); - } - } - } - return 1; - } - } else { - if (z->scan_n == 1) { - int i,j; - int n = z->order[0]; - // non-interleaved data, we just need to process one block at a time, - // in trivial scanline order - // number of blocks to do just depends on how many actual "pixels" this - // component has, independent of interleaved MCU blocking and such - int w = (z->img_comp[n].x+7) >> 3; - int h = (z->img_comp[n].y+7) >> 3; - for (j=0; j < h; ++j) { - for (i=0; i < w; ++i) { - short *data = z->img_comp[n].coeff + 64 * (i + j * z->img_comp[n].coeff_w); - if (z->spec_start == 0) { - if (!stbi__jpeg_decode_block_prog_dc(z, data, &z->huff_dc[z->img_comp[n].hd], n)) - return 0; - } else { - int ha = z->img_comp[n].ha; - if (!stbi__jpeg_decode_block_prog_ac(z, data, &z->huff_ac[ha], z->fast_ac[ha])) - return 0; - } - // every data block is an MCU, so countdown the restart interval - if (--z->todo <= 0) { - if (z->code_bits < 24) stbi__grow_buffer_unsafe(z); - if (!STBI__RESTART(z->marker)) return 1; - stbi__jpeg_reset(z); - } - } - } - return 1; - } else { // interleaved - int i,j,k,x,y; - for (j=0; j < z->img_mcu_y; ++j) { - for (i=0; i < z->img_mcu_x; ++i) { - // scan an interleaved mcu... process scan_n components in order - for (k=0; k < z->scan_n; ++k) { - int n = z->order[k]; - // scan out an mcu's worth of this component; that's just determined - // by the basic H and V specified for the component - for (y=0; y < z->img_comp[n].v; ++y) { - for (x=0; x < z->img_comp[n].h; ++x) { - int x2 = (i*z->img_comp[n].h + x); - int y2 = (j*z->img_comp[n].v + y); - short *data = z->img_comp[n].coeff + 64 * (x2 + y2 * z->img_comp[n].coeff_w); - if (!stbi__jpeg_decode_block_prog_dc(z, data, &z->huff_dc[z->img_comp[n].hd], n)) - return 0; - } - } - } - // after all interleaved components, that's an interleaved MCU, - // so now count down the restart interval - if (--z->todo <= 0) { - if (z->code_bits < 24) stbi__grow_buffer_unsafe(z); - if (!STBI__RESTART(z->marker)) return 1; - stbi__jpeg_reset(z); - } - } - } - return 1; - } - } -} - -static void stbi__jpeg_dequantize(short *data, stbi__uint16 *dequant) -{ - int i; - for (i=0; i < 64; ++i) - data[i] *= dequant[i]; -} - -static void stbi__jpeg_finish(stbi__jpeg *z) -{ - if (z->progressive) { - // dequantize and idct the data - int i,j,n; - for (n=0; n < z->s->img_n; ++n) { - int w = (z->img_comp[n].x+7) >> 3; - int h = (z->img_comp[n].y+7) >> 3; - for (j=0; j < h; ++j) { - for (i=0; i < w; ++i) { - short *data = z->img_comp[n].coeff + 64 * (i + j * z->img_comp[n].coeff_w); - stbi__jpeg_dequantize(data, z->dequant[z->img_comp[n].tq]); - z->idct_block_kernel(z->img_comp[n].data+z->img_comp[n].w2*j*8+i*8, z->img_comp[n].w2, data); - } - } - } - } -} - -static int stbi__process_marker(stbi__jpeg *z, int m) -{ - int L; - switch (m) { - case STBI__MARKER_none: // no marker found - return stbi__err("expected marker","Corrupt JPEG"); - - case 0xDD: // DRI - specify restart interval - if (stbi__get16be(z->s) != 4) return stbi__err("bad DRI len","Corrupt JPEG"); - z->restart_interval = stbi__get16be(z->s); - return 1; - - case 0xDB: // DQT - define quantization table - L = stbi__get16be(z->s)-2; - while (L > 0) { - int q = stbi__get8(z->s); - int p = q >> 4, sixteen = (p != 0); - int t = q & 15,i; - if (p != 0 && p != 1) return stbi__err("bad DQT type","Corrupt JPEG"); - if (t > 3) return stbi__err("bad DQT table","Corrupt JPEG"); - - for (i=0; i < 64; ++i) - z->dequant[t][stbi__jpeg_dezigzag[i]] = (stbi__uint16)(sixteen ? stbi__get16be(z->s) : stbi__get8(z->s)); - L -= (sixteen ? 129 : 65); - } - return L==0; - - case 0xC4: // DHT - define huffman table - L = stbi__get16be(z->s)-2; - while (L > 0) { - stbi_uc *v; - int sizes[16],i,n=0; - int q = stbi__get8(z->s); - int tc = q >> 4; - int th = q & 15; - if (tc > 1 || th > 3) return stbi__err("bad DHT header","Corrupt JPEG"); - for (i=0; i < 16; ++i) { - sizes[i] = stbi__get8(z->s); - n += sizes[i]; - } - L -= 17; - if (tc == 0) { - if (!stbi__build_huffman(z->huff_dc+th, sizes)) return 0; - v = z->huff_dc[th].values; - } else { - if (!stbi__build_huffman(z->huff_ac+th, sizes)) return 0; - v = z->huff_ac[th].values; - } - for (i=0; i < n; ++i) - v[i] = stbi__get8(z->s); - if (tc != 0) - stbi__build_fast_ac(z->fast_ac[th], z->huff_ac + th); - L -= n; - } - return L==0; - } - - // check for comment block or APP blocks - if ((m >= 0xE0 && m <= 0xEF) || m == 0xFE) { - L = stbi__get16be(z->s); - if (L < 2) { - if (m == 0xFE) - return stbi__err("bad COM len","Corrupt JPEG"); - else - return stbi__err("bad APP len","Corrupt JPEG"); - } - L -= 2; - - if (m == 0xE0 && L >= 5) { // JFIF APP0 segment - static const unsigned char tag[5] = {'J','F','I','F','\0'}; - int ok = 1; - int i; - for (i=0; i < 5; ++i) - if (stbi__get8(z->s) != tag[i]) - ok = 0; - L -= 5; - if (ok) - z->jfif = 1; - } else if (m == 0xEE && L >= 12) { // Adobe APP14 segment - static const unsigned char tag[6] = {'A','d','o','b','e','\0'}; - int ok = 1; - int i; - for (i=0; i < 6; ++i) - if (stbi__get8(z->s) != tag[i]) - ok = 0; - L -= 6; - if (ok) { - stbi__get8(z->s); // version - stbi__get16be(z->s); // flags0 - stbi__get16be(z->s); // flags1 - z->app14_color_transform = stbi__get8(z->s); // color transform - L -= 6; - } - } - - stbi__skip(z->s, L); - return 1; - } - - return stbi__err("unknown marker","Corrupt JPEG"); -} - -// after we see SOS -static int stbi__process_scan_header(stbi__jpeg *z) -{ - int i; - int Ls = stbi__get16be(z->s); - z->scan_n = stbi__get8(z->s); - if (z->scan_n < 1 || z->scan_n > 4 || z->scan_n > (int) z->s->img_n) return stbi__err("bad SOS component count","Corrupt JPEG"); - if (Ls != 6+2*z->scan_n) return stbi__err("bad SOS len","Corrupt JPEG"); - for (i=0; i < z->scan_n; ++i) { - int id = stbi__get8(z->s), which; - int q = stbi__get8(z->s); - for (which = 0; which < z->s->img_n; ++which) - if (z->img_comp[which].id == id) - break; - if (which == z->s->img_n) return 0; // no match - z->img_comp[which].hd = q >> 4; if (z->img_comp[which].hd > 3) return stbi__err("bad DC huff","Corrupt JPEG"); - z->img_comp[which].ha = q & 15; if (z->img_comp[which].ha > 3) return stbi__err("bad AC huff","Corrupt JPEG"); - z->order[i] = which; - } - - { - int aa; - z->spec_start = stbi__get8(z->s); - z->spec_end = stbi__get8(z->s); // should be 63, but might be 0 - aa = stbi__get8(z->s); - z->succ_high = (aa >> 4); - z->succ_low = (aa & 15); - if (z->progressive) { - if (z->spec_start > 63 || z->spec_end > 63 || z->spec_start > z->spec_end || z->succ_high > 13 || z->succ_low > 13) - return stbi__err("bad SOS", "Corrupt JPEG"); - } else { - if (z->spec_start != 0) return stbi__err("bad SOS","Corrupt JPEG"); - if (z->succ_high != 0 || z->succ_low != 0) return stbi__err("bad SOS","Corrupt JPEG"); - z->spec_end = 63; - } - } - - return 1; -} - -static int stbi__free_jpeg_components(stbi__jpeg *z, int ncomp, int why) -{ - int i; - for (i=0; i < ncomp; ++i) { - if (z->img_comp[i].raw_data) { - STBI_FREE(z->img_comp[i].raw_data); - z->img_comp[i].raw_data = NULL; - z->img_comp[i].data = NULL; - } - if (z->img_comp[i].raw_coeff) { - STBI_FREE(z->img_comp[i].raw_coeff); - z->img_comp[i].raw_coeff = 0; - z->img_comp[i].coeff = 0; - } - if (z->img_comp[i].linebuf) { - STBI_FREE(z->img_comp[i].linebuf); - z->img_comp[i].linebuf = NULL; - } - } - return why; -} - -static int stbi__process_frame_header(stbi__jpeg *z, int scan) -{ - stbi__context *s = z->s; - int Lf,p,i,q, h_max=1,v_max=1,c; - Lf = stbi__get16be(s); if (Lf < 11) return stbi__err("bad SOF len","Corrupt JPEG"); // JPEG - p = stbi__get8(s); if (p != 8) return stbi__err("only 8-bit","JPEG format not supported: 8-bit only"); // JPEG baseline - s->img_y = stbi__get16be(s); if (s->img_y == 0) return stbi__err("no header height", "JPEG format not supported: delayed height"); // Legal, but we don't handle it--but neither does IJG - s->img_x = stbi__get16be(s); if (s->img_x == 0) return stbi__err("0 width","Corrupt JPEG"); // JPEG requires - c = stbi__get8(s); - if (c != 3 && c != 1 && c != 4) return stbi__err("bad component count","Corrupt JPEG"); - s->img_n = c; - for (i=0; i < c; ++i) { - z->img_comp[i].data = NULL; - z->img_comp[i].linebuf = NULL; - } - - if (Lf != 8+3*s->img_n) return stbi__err("bad SOF len","Corrupt JPEG"); - - z->rgb = 0; - for (i=0; i < s->img_n; ++i) { - static const unsigned char rgb[3] = { 'R', 'G', 'B' }; - z->img_comp[i].id = stbi__get8(s); - if (s->img_n == 3 && z->img_comp[i].id == rgb[i]) - ++z->rgb; - q = stbi__get8(s); - z->img_comp[i].h = (q >> 4); if (!z->img_comp[i].h || z->img_comp[i].h > 4) return stbi__err("bad H","Corrupt JPEG"); - z->img_comp[i].v = q & 15; if (!z->img_comp[i].v || z->img_comp[i].v > 4) return stbi__err("bad V","Corrupt JPEG"); - z->img_comp[i].tq = stbi__get8(s); if (z->img_comp[i].tq > 3) return stbi__err("bad TQ","Corrupt JPEG"); - } - - if (scan != STBI__SCAN_load) return 1; - - if (!stbi__mad3sizes_valid(s->img_x, s->img_y, s->img_n, 0)) return stbi__err("too large", "Image too large to decode"); - - for (i=0; i < s->img_n; ++i) { - if (z->img_comp[i].h > h_max) h_max = z->img_comp[i].h; - if (z->img_comp[i].v > v_max) v_max = z->img_comp[i].v; - } - - // compute interleaved mcu info - z->img_h_max = h_max; - z->img_v_max = v_max; - z->img_mcu_w = h_max * 8; - z->img_mcu_h = v_max * 8; - // these sizes can't be more than 17 bits - z->img_mcu_x = (s->img_x + z->img_mcu_w-1) / z->img_mcu_w; - z->img_mcu_y = (s->img_y + z->img_mcu_h-1) / z->img_mcu_h; - - for (i=0; i < s->img_n; ++i) { - // number of effective pixels (e.g. for non-interleaved MCU) - z->img_comp[i].x = (s->img_x * z->img_comp[i].h + h_max-1) / h_max; - z->img_comp[i].y = (s->img_y * z->img_comp[i].v + v_max-1) / v_max; - // to simplify generation, we'll allocate enough memory to decode - // the bogus oversized data from using interleaved MCUs and their - // big blocks (e.g. a 16x16 iMCU on an image of width 33); we won't - // discard the extra data until colorspace conversion - // - // img_mcu_x, img_mcu_y: <=17 bits; comp[i].h and .v are <=4 (checked earlier) - // so these muls can't overflow with 32-bit ints (which we require) - z->img_comp[i].w2 = z->img_mcu_x * z->img_comp[i].h * 8; - z->img_comp[i].h2 = z->img_mcu_y * z->img_comp[i].v * 8; - z->img_comp[i].coeff = 0; - z->img_comp[i].raw_coeff = 0; - z->img_comp[i].linebuf = NULL; - z->img_comp[i].raw_data = stbi__malloc_mad2(z->img_comp[i].w2, z->img_comp[i].h2, 15); - if (z->img_comp[i].raw_data == NULL) - return stbi__free_jpeg_components(z, i+1, stbi__err("outofmem", "Out of memory")); - // align blocks for idct using mmx/sse - z->img_comp[i].data = (stbi_uc*) (((size_t) z->img_comp[i].raw_data + 15) & ~15); - if (z->progressive) { - // w2, h2 are multiples of 8 (see above) - z->img_comp[i].coeff_w = z->img_comp[i].w2 / 8; - z->img_comp[i].coeff_h = z->img_comp[i].h2 / 8; - z->img_comp[i].raw_coeff = stbi__malloc_mad3(z->img_comp[i].w2, z->img_comp[i].h2, sizeof(short), 15); - if (z->img_comp[i].raw_coeff == NULL) - return stbi__free_jpeg_components(z, i+1, stbi__err("outofmem", "Out of memory")); - z->img_comp[i].coeff = (short*) (((size_t) z->img_comp[i].raw_coeff + 15) & ~15); - } - } - - return 1; -} - -// use comparisons since in some cases we handle more than one case (e.g. SOF) -#define stbi__DNL(x) ((x) == 0xdc) -#define stbi__SOI(x) ((x) == 0xd8) -#define stbi__EOI(x) ((x) == 0xd9) -#define stbi__SOF(x) ((x) == 0xc0 || (x) == 0xc1 || (x) == 0xc2) -#define stbi__SOS(x) ((x) == 0xda) - -#define stbi__SOF_progressive(x) ((x) == 0xc2) - -static int stbi__decode_jpeg_header(stbi__jpeg *z, int scan) -{ - int m; - z->jfif = 0; - z->app14_color_transform = -1; // valid values are 0,1,2 - z->marker = STBI__MARKER_none; // initialize cached marker to empty - m = stbi__get_marker(z); - if (!stbi__SOI(m)) return stbi__err("no SOI","Corrupt JPEG"); - if (scan == STBI__SCAN_type) return 1; - m = stbi__get_marker(z); - while (!stbi__SOF(m)) { - if (!stbi__process_marker(z,m)) return 0; - m = stbi__get_marker(z); - while (m == STBI__MARKER_none) { - // some files have extra padding after their blocks, so ok, we'll scan - if (stbi__at_eof(z->s)) return stbi__err("no SOF", "Corrupt JPEG"); - m = stbi__get_marker(z); - } - } - z->progressive = stbi__SOF_progressive(m); - if (!stbi__process_frame_header(z, scan)) return 0; - return 1; -} - -// decode image to YCbCr format -static int stbi__decode_jpeg_image(stbi__jpeg *j) -{ - int m; - for (m = 0; m < 4; m++) { - j->img_comp[m].raw_data = NULL; - j->img_comp[m].raw_coeff = NULL; - } - j->restart_interval = 0; - if (!stbi__decode_jpeg_header(j, STBI__SCAN_load)) return 0; - m = stbi__get_marker(j); - while (!stbi__EOI(m)) { - if (stbi__SOS(m)) { - if (!stbi__process_scan_header(j)) return 0; - if (!stbi__parse_entropy_coded_data(j)) return 0; - if (j->marker == STBI__MARKER_none ) { - // handle 0s at the end of image data from IP Kamera 9060 - while (!stbi__at_eof(j->s)) { - int x = stbi__get8(j->s); - if (x == 255) { - j->marker = stbi__get8(j->s); - break; - } - } - // if we reach eof without hitting a marker, stbi__get_marker() below will fail and we'll eventually return 0 - } - } else if (stbi__DNL(m)) { - int Ld = stbi__get16be(j->s); - stbi__uint32 NL = stbi__get16be(j->s); - if (Ld != 4) return stbi__err("bad DNL len", "Corrupt JPEG"); - if (NL != j->s->img_y) return stbi__err("bad DNL height", "Corrupt JPEG"); - } else { - if (!stbi__process_marker(j, m)) return 0; - } - m = stbi__get_marker(j); - } - if (j->progressive) - stbi__jpeg_finish(j); - return 1; -} - -// static jfif-centered resampling (across block boundaries) - -typedef stbi_uc *(*resample_row_func)(stbi_uc *out, stbi_uc *in0, stbi_uc *in1, - int w, int hs); - -#define stbi__div4(x) ((stbi_uc) ((x) >> 2)) - -static stbi_uc *resample_row_1(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) -{ - STBI_NOTUSED(out); - STBI_NOTUSED(in_far); - STBI_NOTUSED(w); - STBI_NOTUSED(hs); - return in_near; -} - -static stbi_uc* stbi__resample_row_v_2(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) -{ - // need to generate two samples vertically for every one in input - int i; - STBI_NOTUSED(hs); - for (i=0; i < w; ++i) - out[i] = stbi__div4(3*in_near[i] + in_far[i] + 2); - return out; -} - -static stbi_uc* stbi__resample_row_h_2(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) -{ - // need to generate two samples horizontally for every one in input - int i; - stbi_uc *input = in_near; - - if (w == 1) { - // if only one sample, can't do any interpolation - out[0] = out[1] = input[0]; - return out; - } - - out[0] = input[0]; - out[1] = stbi__div4(input[0]*3 + input[1] + 2); - for (i=1; i < w-1; ++i) { - int n = 3*input[i]+2; - out[i*2+0] = stbi__div4(n+input[i-1]); - out[i*2+1] = stbi__div4(n+input[i+1]); - } - out[i*2+0] = stbi__div4(input[w-2]*3 + input[w-1] + 2); - out[i*2+1] = input[w-1]; - - STBI_NOTUSED(in_far); - STBI_NOTUSED(hs); - - return out; -} - -#define stbi__div16(x) ((stbi_uc) ((x) >> 4)) - -static stbi_uc *stbi__resample_row_hv_2(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) -{ - // need to generate 2x2 samples for every one in input - int i,t0,t1; - if (w == 1) { - out[0] = out[1] = stbi__div4(3*in_near[0] + in_far[0] + 2); - return out; - } - - t1 = 3*in_near[0] + in_far[0]; - out[0] = stbi__div4(t1+2); - for (i=1; i < w; ++i) { - t0 = t1; - t1 = 3*in_near[i]+in_far[i]; - out[i*2-1] = stbi__div16(3*t0 + t1 + 8); - out[i*2 ] = stbi__div16(3*t1 + t0 + 8); - } - out[w*2-1] = stbi__div4(t1+2); - - STBI_NOTUSED(hs); - - return out; -} - -#if defined(STBI_SSE2) || defined(STBI_NEON) -static stbi_uc *stbi__resample_row_hv_2_simd(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) -{ - // need to generate 2x2 samples for every one in input - int i=0,t0,t1; - - if (w == 1) { - out[0] = out[1] = stbi__div4(3*in_near[0] + in_far[0] + 2); - return out; - } - - t1 = 3*in_near[0] + in_far[0]; - // process groups of 8 pixels for as long as we can. - // note we can't handle the last pixel in a row in this loop - // because we need to handle the filter boundary conditions. - for (; i < ((w-1) & ~7); i += 8) { -#if defined(STBI_SSE2) - // load and perform the vertical filtering pass - // this uses 3*x + y = 4*x + (y - x) - __m128i zero = _mm_setzero_si128(); - __m128i farb = _mm_loadl_epi64((__m128i *) (in_far + i)); - __m128i nearb = _mm_loadl_epi64((__m128i *) (in_near + i)); - __m128i farw = _mm_unpacklo_epi8(farb, zero); - __m128i nearw = _mm_unpacklo_epi8(nearb, zero); - __m128i diff = _mm_sub_epi16(farw, nearw); - __m128i nears = _mm_slli_epi16(nearw, 2); - __m128i curr = _mm_add_epi16(nears, diff); // current row - - // horizontal filter works the same based on shifted vers of current - // row. "prev" is current row shifted right by 1 pixel; we need to - // insert the previous pixel value (from t1). - // "next" is current row shifted left by 1 pixel, with first pixel - // of next block of 8 pixels added in. - __m128i prv0 = _mm_slli_si128(curr, 2); - __m128i nxt0 = _mm_srli_si128(curr, 2); - __m128i prev = _mm_insert_epi16(prv0, t1, 0); - __m128i next = _mm_insert_epi16(nxt0, 3*in_near[i+8] + in_far[i+8], 7); - - // horizontal filter, polyphase implementation since it's convenient: - // even pixels = 3*cur + prev = cur*4 + (prev - cur) - // odd pixels = 3*cur + next = cur*4 + (next - cur) - // note the shared term. - __m128i bias = _mm_set1_epi16(8); - __m128i curs = _mm_slli_epi16(curr, 2); - __m128i prvd = _mm_sub_epi16(prev, curr); - __m128i nxtd = _mm_sub_epi16(next, curr); - __m128i curb = _mm_add_epi16(curs, bias); - __m128i even = _mm_add_epi16(prvd, curb); - __m128i odd = _mm_add_epi16(nxtd, curb); - - // interleave even and odd pixels, then undo scaling. - __m128i int0 = _mm_unpacklo_epi16(even, odd); - __m128i int1 = _mm_unpackhi_epi16(even, odd); - __m128i de0 = _mm_srli_epi16(int0, 4); - __m128i de1 = _mm_srli_epi16(int1, 4); - - // pack and write output - __m128i outv = _mm_packus_epi16(de0, de1); - _mm_storeu_si128((__m128i *) (out + i*2), outv); -#elif defined(STBI_NEON) - // load and perform the vertical filtering pass - // this uses 3*x + y = 4*x + (y - x) - uint8x8_t farb = vld1_u8(in_far + i); - uint8x8_t nearb = vld1_u8(in_near + i); - int16x8_t diff = vreinterpretq_s16_u16(vsubl_u8(farb, nearb)); - int16x8_t nears = vreinterpretq_s16_u16(vshll_n_u8(nearb, 2)); - int16x8_t curr = vaddq_s16(nears, diff); // current row - - // horizontal filter works the same based on shifted vers of current - // row. "prev" is current row shifted right by 1 pixel; we need to - // insert the previous pixel value (from t1). - // "next" is current row shifted left by 1 pixel, with first pixel - // of next block of 8 pixels added in. - int16x8_t prv0 = vextq_s16(curr, curr, 7); - int16x8_t nxt0 = vextq_s16(curr, curr, 1); - int16x8_t prev = vsetq_lane_s16(t1, prv0, 0); - int16x8_t next = vsetq_lane_s16(3*in_near[i+8] + in_far[i+8], nxt0, 7); - - // horizontal filter, polyphase implementation since it's convenient: - // even pixels = 3*cur + prev = cur*4 + (prev - cur) - // odd pixels = 3*cur + next = cur*4 + (next - cur) - // note the shared term. - int16x8_t curs = vshlq_n_s16(curr, 2); - int16x8_t prvd = vsubq_s16(prev, curr); - int16x8_t nxtd = vsubq_s16(next, curr); - int16x8_t even = vaddq_s16(curs, prvd); - int16x8_t odd = vaddq_s16(curs, nxtd); - - // undo scaling and round, then store with even/odd phases interleaved - uint8x8x2_t o; - o.val[0] = vqrshrun_n_s16(even, 4); - o.val[1] = vqrshrun_n_s16(odd, 4); - vst2_u8(out + i*2, o); -#endif - - // "previous" value for next iter - t1 = 3*in_near[i+7] + in_far[i+7]; - } - - t0 = t1; - t1 = 3*in_near[i] + in_far[i]; - out[i*2] = stbi__div16(3*t1 + t0 + 8); - - for (++i; i < w; ++i) { - t0 = t1; - t1 = 3*in_near[i]+in_far[i]; - out[i*2-1] = stbi__div16(3*t0 + t1 + 8); - out[i*2 ] = stbi__div16(3*t1 + t0 + 8); - } - out[w*2-1] = stbi__div4(t1+2); - - STBI_NOTUSED(hs); - - return out; -} -#endif - -static stbi_uc *stbi__resample_row_generic(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) -{ - // resample with nearest-neighbor - int i,j; - STBI_NOTUSED(in_far); - for (i=0; i < w; ++i) - for (j=0; j < hs; ++j) - out[i*hs+j] = in_near[i]; - return out; -} - -// this is a reduced-precision calculation of YCbCr-to-RGB introduced -// to make sure the code produces the same results in both SIMD and scalar -#define stbi__float2fixed(x) (((int) ((x) * 4096.0f + 0.5f)) << 8) -static void stbi__YCbCr_to_RGB_row(stbi_uc *out, const stbi_uc *y, const stbi_uc *pcb, const stbi_uc *pcr, int count, int step) -{ - int i; - for (i=0; i < count; ++i) { - int y_fixed = (y[i] << 20) + (1<<19); // rounding - int r,g,b; - int cr = pcr[i] - 128; - int cb = pcb[i] - 128; - r = y_fixed + cr* stbi__float2fixed(1.40200f); - g = y_fixed + (cr*-stbi__float2fixed(0.71414f)) + ((cb*-stbi__float2fixed(0.34414f)) & 0xffff0000); - b = y_fixed + cb* stbi__float2fixed(1.77200f); - r >>= 20; - g >>= 20; - b >>= 20; - if ((unsigned) r > 255) { if (r < 0) r = 0; else r = 255; } - if ((unsigned) g > 255) { if (g < 0) g = 0; else g = 255; } - if ((unsigned) b > 255) { if (b < 0) b = 0; else b = 255; } - out[0] = (stbi_uc)r; - out[1] = (stbi_uc)g; - out[2] = (stbi_uc)b; - out[3] = 255; - out += step; - } -} - -#if defined(STBI_SSE2) || defined(STBI_NEON) -static void stbi__YCbCr_to_RGB_simd(stbi_uc *out, stbi_uc const *y, stbi_uc const *pcb, stbi_uc const *pcr, int count, int step) -{ - int i = 0; - -#ifdef STBI_SSE2 - // step == 3 is pretty ugly on the final interleave, and i'm not convinced - // it's useful in practice (you wouldn't use it for textures, for example). - // so just accelerate step == 4 case. - if (step == 4) { - // this is a fairly straightforward implementation and not super-optimized. - __m128i signflip = _mm_set1_epi8(-0x80); - __m128i cr_const0 = _mm_set1_epi16( (short) ( 1.40200f*4096.0f+0.5f)); - __m128i cr_const1 = _mm_set1_epi16( - (short) ( 0.71414f*4096.0f+0.5f)); - __m128i cb_const0 = _mm_set1_epi16( - (short) ( 0.34414f*4096.0f+0.5f)); - __m128i cb_const1 = _mm_set1_epi16( (short) ( 1.77200f*4096.0f+0.5f)); - __m128i y_bias = _mm_set1_epi8((char) (unsigned char) 128); - __m128i xw = _mm_set1_epi16(255); // alpha channel - - for (; i+7 < count; i += 8) { - // load - __m128i y_bytes = _mm_loadl_epi64((__m128i *) (y+i)); - __m128i cr_bytes = _mm_loadl_epi64((__m128i *) (pcr+i)); - __m128i cb_bytes = _mm_loadl_epi64((__m128i *) (pcb+i)); - __m128i cr_biased = _mm_xor_si128(cr_bytes, signflip); // -128 - __m128i cb_biased = _mm_xor_si128(cb_bytes, signflip); // -128 - - // unpack to short (and left-shift cr, cb by 8) - __m128i yw = _mm_unpacklo_epi8(y_bias, y_bytes); - __m128i crw = _mm_unpacklo_epi8(_mm_setzero_si128(), cr_biased); - __m128i cbw = _mm_unpacklo_epi8(_mm_setzero_si128(), cb_biased); - - // color transform - __m128i yws = _mm_srli_epi16(yw, 4); - __m128i cr0 = _mm_mulhi_epi16(cr_const0, crw); - __m128i cb0 = _mm_mulhi_epi16(cb_const0, cbw); - __m128i cb1 = _mm_mulhi_epi16(cbw, cb_const1); - __m128i cr1 = _mm_mulhi_epi16(crw, cr_const1); - __m128i rws = _mm_add_epi16(cr0, yws); - __m128i gwt = _mm_add_epi16(cb0, yws); - __m128i bws = _mm_add_epi16(yws, cb1); - __m128i gws = _mm_add_epi16(gwt, cr1); - - // descale - __m128i rw = _mm_srai_epi16(rws, 4); - __m128i bw = _mm_srai_epi16(bws, 4); - __m128i gw = _mm_srai_epi16(gws, 4); - - // back to byte, set up for transpose - __m128i brb = _mm_packus_epi16(rw, bw); - __m128i gxb = _mm_packus_epi16(gw, xw); - - // transpose to interleave channels - __m128i t0 = _mm_unpacklo_epi8(brb, gxb); - __m128i t1 = _mm_unpackhi_epi8(brb, gxb); - __m128i o0 = _mm_unpacklo_epi16(t0, t1); - __m128i o1 = _mm_unpackhi_epi16(t0, t1); - - // store - _mm_storeu_si128((__m128i *) (out + 0), o0); - _mm_storeu_si128((__m128i *) (out + 16), o1); - out += 32; - } - } -#endif - -#ifdef STBI_NEON - // in this version, step=3 support would be easy to add. but is there demand? - if (step == 4) { - // this is a fairly straightforward implementation and not super-optimized. - uint8x8_t signflip = vdup_n_u8(0x80); - int16x8_t cr_const0 = vdupq_n_s16( (short) ( 1.40200f*4096.0f+0.5f)); - int16x8_t cr_const1 = vdupq_n_s16( - (short) ( 0.71414f*4096.0f+0.5f)); - int16x8_t cb_const0 = vdupq_n_s16( - (short) ( 0.34414f*4096.0f+0.5f)); - int16x8_t cb_const1 = vdupq_n_s16( (short) ( 1.77200f*4096.0f+0.5f)); - - for (; i+7 < count; i += 8) { - // load - uint8x8_t y_bytes = vld1_u8(y + i); - uint8x8_t cr_bytes = vld1_u8(pcr + i); - uint8x8_t cb_bytes = vld1_u8(pcb + i); - int8x8_t cr_biased = vreinterpret_s8_u8(vsub_u8(cr_bytes, signflip)); - int8x8_t cb_biased = vreinterpret_s8_u8(vsub_u8(cb_bytes, signflip)); - - // expand to s16 - int16x8_t yws = vreinterpretq_s16_u16(vshll_n_u8(y_bytes, 4)); - int16x8_t crw = vshll_n_s8(cr_biased, 7); - int16x8_t cbw = vshll_n_s8(cb_biased, 7); - - // color transform - int16x8_t cr0 = vqdmulhq_s16(crw, cr_const0); - int16x8_t cb0 = vqdmulhq_s16(cbw, cb_const0); - int16x8_t cr1 = vqdmulhq_s16(crw, cr_const1); - int16x8_t cb1 = vqdmulhq_s16(cbw, cb_const1); - int16x8_t rws = vaddq_s16(yws, cr0); - int16x8_t gws = vaddq_s16(vaddq_s16(yws, cb0), cr1); - int16x8_t bws = vaddq_s16(yws, cb1); - - // undo scaling, round, convert to byte - uint8x8x4_t o; - o.val[0] = vqrshrun_n_s16(rws, 4); - o.val[1] = vqrshrun_n_s16(gws, 4); - o.val[2] = vqrshrun_n_s16(bws, 4); - o.val[3] = vdup_n_u8(255); - - // store, interleaving r/g/b/a - vst4_u8(out, o); - out += 8*4; - } - } -#endif - - for (; i < count; ++i) { - int y_fixed = (y[i] << 20) + (1<<19); // rounding - int r,g,b; - int cr = pcr[i] - 128; - int cb = pcb[i] - 128; - r = y_fixed + cr* stbi__float2fixed(1.40200f); - g = y_fixed + cr*-stbi__float2fixed(0.71414f) + ((cb*-stbi__float2fixed(0.34414f)) & 0xffff0000); - b = y_fixed + cb* stbi__float2fixed(1.77200f); - r >>= 20; - g >>= 20; - b >>= 20; - if ((unsigned) r > 255) { if (r < 0) r = 0; else r = 255; } - if ((unsigned) g > 255) { if (g < 0) g = 0; else g = 255; } - if ((unsigned) b > 255) { if (b < 0) b = 0; else b = 255; } - out[0] = (stbi_uc)r; - out[1] = (stbi_uc)g; - out[2] = (stbi_uc)b; - out[3] = 255; - out += step; - } -} -#endif - -// set up the kernels -static void stbi__setup_jpeg(stbi__jpeg *j) -{ - j->idct_block_kernel = stbi__idct_block; - j->YCbCr_to_RGB_kernel = stbi__YCbCr_to_RGB_row; - j->resample_row_hv_2_kernel = stbi__resample_row_hv_2; - -#ifdef STBI_SSE2 - if (stbi__sse2_available()) { - j->idct_block_kernel = stbi__idct_simd; - j->YCbCr_to_RGB_kernel = stbi__YCbCr_to_RGB_simd; - j->resample_row_hv_2_kernel = stbi__resample_row_hv_2_simd; - } -#endif - -#ifdef STBI_NEON - j->idct_block_kernel = stbi__idct_simd; - j->YCbCr_to_RGB_kernel = stbi__YCbCr_to_RGB_simd; - j->resample_row_hv_2_kernel = stbi__resample_row_hv_2_simd; -#endif -} - -// clean up the temporary component buffers -static void stbi__cleanup_jpeg(stbi__jpeg *j) -{ - stbi__free_jpeg_components(j, j->s->img_n, 0); -} - -typedef struct -{ - resample_row_func resample; - stbi_uc *line0,*line1; - int hs,vs; // expansion factor in each axis - int w_lores; // horizontal pixels pre-expansion - int ystep; // how far through vertical expansion we are - int ypos; // which pre-expansion row we're on -} stbi__resample; - -// fast 0..255 * 0..255 => 0..255 rounded multiplication -static stbi_uc stbi__blinn_8x8(stbi_uc x, stbi_uc y) -{ - unsigned int t = x*y + 128; - return (stbi_uc) ((t + (t >>8)) >> 8); -} - -static stbi_uc *load_jpeg_image(stbi__jpeg *z, int *out_x, int *out_y, int *comp, int req_comp) -{ - int n, decode_n, is_rgb; - z->s->img_n = 0; // make stbi__cleanup_jpeg safe - - // validate req_comp - if (req_comp < 0 || req_comp > 4) return stbi__errpuc("bad req_comp", "Internal error"); - - // load a jpeg image from whichever source, but leave in YCbCr format - if (!stbi__decode_jpeg_image(z)) { stbi__cleanup_jpeg(z); return NULL; } - - // determine actual number of components to generate - n = req_comp ? req_comp : z->s->img_n >= 3 ? 3 : 1; - - is_rgb = z->s->img_n == 3 && (z->rgb == 3 || (z->app14_color_transform == 0 && !z->jfif)); - - if (z->s->img_n == 3 && n < 3 && !is_rgb) - decode_n = 1; - else - decode_n = z->s->img_n; - - // resample and color-convert - { - int k; - unsigned int i,j; - stbi_uc *output; - stbi_uc *coutput[4]; - - stbi__resample res_comp[4]; - - for (k=0; k < decode_n; ++k) { - stbi__resample *r = &res_comp[k]; - - // allocate line buffer big enough for upsampling off the edges - // with upsample factor of 4 - z->img_comp[k].linebuf = (stbi_uc *) stbi__malloc(z->s->img_x + 3); - if (!z->img_comp[k].linebuf) { stbi__cleanup_jpeg(z); return stbi__errpuc("outofmem", "Out of memory"); } - - r->hs = z->img_h_max / z->img_comp[k].h; - r->vs = z->img_v_max / z->img_comp[k].v; - r->ystep = r->vs >> 1; - r->w_lores = (z->s->img_x + r->hs-1) / r->hs; - r->ypos = 0; - r->line0 = r->line1 = z->img_comp[k].data; - - if (r->hs == 1 && r->vs == 1) r->resample = resample_row_1; - else if (r->hs == 1 && r->vs == 2) r->resample = stbi__resample_row_v_2; - else if (r->hs == 2 && r->vs == 1) r->resample = stbi__resample_row_h_2; - else if (r->hs == 2 && r->vs == 2) r->resample = z->resample_row_hv_2_kernel; - else r->resample = stbi__resample_row_generic; - } - - // can't error after this so, this is safe - output = (stbi_uc *) stbi__malloc_mad3(n, z->s->img_x, z->s->img_y, 1); - if (!output) { stbi__cleanup_jpeg(z); return stbi__errpuc("outofmem", "Out of memory"); } - - // now go ahead and resample - for (j=0; j < z->s->img_y; ++j) { - stbi_uc *out = output + n * z->s->img_x * j; - for (k=0; k < decode_n; ++k) { - stbi__resample *r = &res_comp[k]; - int y_bot = r->ystep >= (r->vs >> 1); - coutput[k] = r->resample(z->img_comp[k].linebuf, - y_bot ? r->line1 : r->line0, - y_bot ? r->line0 : r->line1, - r->w_lores, r->hs); - if (++r->ystep >= r->vs) { - r->ystep = 0; - r->line0 = r->line1; - if (++r->ypos < z->img_comp[k].y) - r->line1 += z->img_comp[k].w2; - } - } - if (n >= 3) { - stbi_uc *y = coutput[0]; - if (z->s->img_n == 3) { - if (is_rgb) { - for (i=0; i < z->s->img_x; ++i) { - out[0] = y[i]; - out[1] = coutput[1][i]; - out[2] = coutput[2][i]; - out[3] = 255; - out += n; - } - } else { - z->YCbCr_to_RGB_kernel(out, y, coutput[1], coutput[2], z->s->img_x, n); - } - } else if (z->s->img_n == 4) { - if (z->app14_color_transform == 0) { // CMYK - for (i=0; i < z->s->img_x; ++i) { - stbi_uc m = coutput[3][i]; - out[0] = stbi__blinn_8x8(coutput[0][i], m); - out[1] = stbi__blinn_8x8(coutput[1][i], m); - out[2] = stbi__blinn_8x8(coutput[2][i], m); - out[3] = 255; - out += n; - } - } else if (z->app14_color_transform == 2) { // YCCK - z->YCbCr_to_RGB_kernel(out, y, coutput[1], coutput[2], z->s->img_x, n); - for (i=0; i < z->s->img_x; ++i) { - stbi_uc m = coutput[3][i]; - out[0] = stbi__blinn_8x8(255 - out[0], m); - out[1] = stbi__blinn_8x8(255 - out[1], m); - out[2] = stbi__blinn_8x8(255 - out[2], m); - out += n; - } - } else { // YCbCr + alpha? Ignore the fourth channel for now - z->YCbCr_to_RGB_kernel(out, y, coutput[1], coutput[2], z->s->img_x, n); - } - } else - for (i=0; i < z->s->img_x; ++i) { - out[0] = out[1] = out[2] = y[i]; - out[3] = 255; // not used if n==3 - out += n; - } - } else { - if (is_rgb) { - if (n == 1) - for (i=0; i < z->s->img_x; ++i) - *out++ = stbi__compute_y(coutput[0][i], coutput[1][i], coutput[2][i]); - else { - for (i=0; i < z->s->img_x; ++i, out += 2) { - out[0] = stbi__compute_y(coutput[0][i], coutput[1][i], coutput[2][i]); - out[1] = 255; - } - } - } else if (z->s->img_n == 4 && z->app14_color_transform == 0) { - for (i=0; i < z->s->img_x; ++i) { - stbi_uc m = coutput[3][i]; - stbi_uc r = stbi__blinn_8x8(coutput[0][i], m); - stbi_uc g = stbi__blinn_8x8(coutput[1][i], m); - stbi_uc b = stbi__blinn_8x8(coutput[2][i], m); - out[0] = stbi__compute_y(r, g, b); - out[1] = 255; - out += n; - } - } else if (z->s->img_n == 4 && z->app14_color_transform == 2) { - for (i=0; i < z->s->img_x; ++i) { - out[0] = stbi__blinn_8x8(255 - coutput[0][i], coutput[3][i]); - out[1] = 255; - out += n; - } - } else { - stbi_uc *y = coutput[0]; - if (n == 1) - for (i=0; i < z->s->img_x; ++i) out[i] = y[i]; - else - for (i=0; i < z->s->img_x; ++i) *out++ = y[i], *out++ = 255; - } - } - } - stbi__cleanup_jpeg(z); - *out_x = z->s->img_x; - *out_y = z->s->img_y; - if (comp) *comp = z->s->img_n >= 3 ? 3 : 1; // report original components, not output - return output; - } -} - -static void *stbi__jpeg_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) -{ - unsigned char* result; - stbi__jpeg* j = (stbi__jpeg*) stbi__malloc(sizeof(stbi__jpeg)); - STBI_NOTUSED(ri); - j->s = s; - stbi__setup_jpeg(j); - result = load_jpeg_image(j, x,y,comp,req_comp); - STBI_FREE(j); - return result; -} - -static int stbi__jpeg_test(stbi__context *s) -{ - int r; - stbi__jpeg* j = (stbi__jpeg*)stbi__malloc(sizeof(stbi__jpeg)); - j->s = s; - stbi__setup_jpeg(j); - r = stbi__decode_jpeg_header(j, STBI__SCAN_type); - stbi__rewind(s); - STBI_FREE(j); - return r; -} - -static int stbi__jpeg_info_raw(stbi__jpeg *j, int *x, int *y, int *comp) -{ - if (!stbi__decode_jpeg_header(j, STBI__SCAN_header)) { - stbi__rewind( j->s ); - return 0; - } - if (x) *x = j->s->img_x; - if (y) *y = j->s->img_y; - if (comp) *comp = j->s->img_n >= 3 ? 3 : 1; - return 1; -} - -static int stbi__jpeg_info(stbi__context *s, int *x, int *y, int *comp) -{ - int result; - stbi__jpeg* j = (stbi__jpeg*) (stbi__malloc(sizeof(stbi__jpeg))); - if (!j) { - stbi__errpuc("outofmem", "Out of memory"); - return 0; - } - j->s = s; - result = stbi__jpeg_info_raw(j, x, y, comp); - STBI_FREE(j); - return result; -} -#endif - -// public domain zlib decode v0.2 Sean Barrett 2006-11-18 -// simple implementation -// - all input must be provided in an upfront buffer -// - all output is written to a single output buffer (can malloc/realloc) -// performance -// - fast huffman - -#ifndef STBI_NO_ZLIB - -// fast-way is faster to check than jpeg huffman, but slow way is slower -#define STBI__ZFAST_BITS 9 // accelerate all cases in default tables -#define STBI__ZFAST_MASK ((1 << STBI__ZFAST_BITS) - 1) - -// zlib-style huffman encoding -// (jpegs packs from left, zlib from right, so can't share code) -typedef struct -{ - stbi__uint16 fast[1 << STBI__ZFAST_BITS]; - stbi__uint16 firstcode[16]; - int maxcode[17]; - stbi__uint16 firstsymbol[16]; - stbi_uc size[288]; - stbi__uint16 value[288]; -} stbi__zhuffman; - -stbi_inline static int stbi__bitreverse16(int n) -{ - n = ((n & 0xAAAA) >> 1) | ((n & 0x5555) << 1); - n = ((n & 0xCCCC) >> 2) | ((n & 0x3333) << 2); - n = ((n & 0xF0F0) >> 4) | ((n & 0x0F0F) << 4); - n = ((n & 0xFF00) >> 8) | ((n & 0x00FF) << 8); - return n; -} - -stbi_inline static int stbi__bit_reverse(int v, int bits) -{ - STBI_ASSERT(bits <= 16); - // to bit reverse n bits, reverse 16 and shift - // e.g. 11 bits, bit reverse and shift away 5 - return stbi__bitreverse16(v) >> (16-bits); -} - -static int stbi__zbuild_huffman(stbi__zhuffman *z, const stbi_uc *sizelist, int num) -{ - int i,k=0; - int code, next_code[16], sizes[17]; - - // DEFLATE spec for generating codes - memset(sizes, 0, sizeof(sizes)); - memset(z->fast, 0, sizeof(z->fast)); - for (i=0; i < num; ++i) - ++sizes[sizelist[i]]; - sizes[0] = 0; - for (i=1; i < 16; ++i) - if (sizes[i] > (1 << i)) - return stbi__err("bad sizes", "Corrupt PNG"); - code = 0; - for (i=1; i < 16; ++i) { - next_code[i] = code; - z->firstcode[i] = (stbi__uint16) code; - z->firstsymbol[i] = (stbi__uint16) k; - code = (code + sizes[i]); - if (sizes[i]) - if (code-1 >= (1 << i)) return stbi__err("bad codelengths","Corrupt PNG"); - z->maxcode[i] = code << (16-i); // preshift for inner loop - code <<= 1; - k += sizes[i]; - } - z->maxcode[16] = 0x10000; // sentinel - for (i=0; i < num; ++i) { - int s = sizelist[i]; - if (s) { - int c = next_code[s] - z->firstcode[s] + z->firstsymbol[s]; - stbi__uint16 fastv = (stbi__uint16) ((s << 9) | i); - z->size [c] = (stbi_uc ) s; - z->value[c] = (stbi__uint16) i; - if (s <= STBI__ZFAST_BITS) { - int j = stbi__bit_reverse(next_code[s],s); - while (j < (1 << STBI__ZFAST_BITS)) { - z->fast[j] = fastv; - j += (1 << s); - } - } - ++next_code[s]; - } - } - return 1; -} - -// zlib-from-memory implementation for PNG reading -// because PNG allows splitting the zlib stream arbitrarily, -// and it's annoying structurally to have PNG call ZLIB call PNG, -// we require PNG read all the IDATs and combine them into a single -// memory buffer - -typedef struct -{ - stbi_uc *zbuffer, *zbuffer_end; - int num_bits; - stbi__uint32 code_buffer; - - char *zout; - char *zout_start; - char *zout_end; - int z_expandable; - - stbi__zhuffman z_length, z_distance; -} stbi__zbuf; - -stbi_inline static stbi_uc stbi__zget8(stbi__zbuf *z) -{ - if (z->zbuffer >= z->zbuffer_end) return 0; - return *z->zbuffer++; -} - -static void stbi__fill_bits(stbi__zbuf *z) -{ - do { - STBI_ASSERT(z->code_buffer < (1U << z->num_bits)); - z->code_buffer |= (unsigned int) stbi__zget8(z) << z->num_bits; - z->num_bits += 8; - } while (z->num_bits <= 24); -} - -stbi_inline static unsigned int stbi__zreceive(stbi__zbuf *z, int n) -{ - unsigned int k; - if (z->num_bits < n) stbi__fill_bits(z); - k = z->code_buffer & ((1 << n) - 1); - z->code_buffer >>= n; - z->num_bits -= n; - return k; -} - -static int stbi__zhuffman_decode_slowpath(stbi__zbuf *a, stbi__zhuffman *z) -{ - int b,s,k; - // not resolved by fast table, so compute it the slow way - // use jpeg approach, which requires MSbits at top - k = stbi__bit_reverse(a->code_buffer, 16); - for (s=STBI__ZFAST_BITS+1; ; ++s) - if (k < z->maxcode[s]) - break; - if (s == 16) return -1; // invalid code! - // code size is s, so: - b = (k >> (16-s)) - z->firstcode[s] + z->firstsymbol[s]; - STBI_ASSERT(z->size[b] == s); - a->code_buffer >>= s; - a->num_bits -= s; - return z->value[b]; -} - -stbi_inline static int stbi__zhuffman_decode(stbi__zbuf *a, stbi__zhuffman *z) -{ - int b,s; - if (a->num_bits < 16) stbi__fill_bits(a); - b = z->fast[a->code_buffer & STBI__ZFAST_MASK]; - if (b) { - s = b >> 9; - a->code_buffer >>= s; - a->num_bits -= s; - return b & 511; - } - return stbi__zhuffman_decode_slowpath(a, z); -} - -static int stbi__zexpand(stbi__zbuf *z, char *zout, int n) // need to make room for n bytes -{ - char *q; - int cur, limit, old_limit; - z->zout = zout; - if (!z->z_expandable) return stbi__err("output buffer limit","Corrupt PNG"); - cur = (int) (z->zout - z->zout_start); - limit = old_limit = (int) (z->zout_end - z->zout_start); - while (cur + n > limit) - limit *= 2; - q = (char *) STBI_REALLOC_SIZED(z->zout_start, old_limit, limit); - STBI_NOTUSED(old_limit); - if (q == NULL) return stbi__err("outofmem", "Out of memory"); - z->zout_start = q; - z->zout = q + cur; - z->zout_end = q + limit; - return 1; -} - -static const int stbi__zlength_base[31] = { - 3,4,5,6,7,8,9,10,11,13, - 15,17,19,23,27,31,35,43,51,59, - 67,83,99,115,131,163,195,227,258,0,0 }; - -static const int stbi__zlength_extra[31]= -{ 0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0 }; - -static const int stbi__zdist_base[32] = { 1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193, -257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0}; - -static const int stbi__zdist_extra[32] = -{ 0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13}; - -static int stbi__parse_huffman_block(stbi__zbuf *a) -{ - char *zout = a->zout; - for(;;) { - int z = stbi__zhuffman_decode(a, &a->z_length); - if (z < 256) { - if (z < 0) return stbi__err("bad huffman code","Corrupt PNG"); // error in huffman codes - if (zout >= a->zout_end) { - if (!stbi__zexpand(a, zout, 1)) return 0; - zout = a->zout; - } - *zout++ = (char) z; - } else { - stbi_uc *p; - int len,dist; - if (z == 256) { - a->zout = zout; - return 1; - } - z -= 257; - len = stbi__zlength_base[z]; - if (stbi__zlength_extra[z]) len += stbi__zreceive(a, stbi__zlength_extra[z]); - z = stbi__zhuffman_decode(a, &a->z_distance); - if (z < 0) return stbi__err("bad huffman code","Corrupt PNG"); - dist = stbi__zdist_base[z]; - if (stbi__zdist_extra[z]) dist += stbi__zreceive(a, stbi__zdist_extra[z]); - if (zout - a->zout_start < dist) return stbi__err("bad dist","Corrupt PNG"); - if (zout + len > a->zout_end) { - if (!stbi__zexpand(a, zout, len)) return 0; - zout = a->zout; - } - p = (stbi_uc *) (zout - dist); - if (dist == 1) { // run of one byte; common in images. - stbi_uc v = *p; - if (len) { do *zout++ = v; while (--len); } - } else { - if (len) { do *zout++ = *p++; while (--len); } - } - } - } -} - -static int stbi__compute_huffman_codes(stbi__zbuf *a) -{ - static const stbi_uc length_dezigzag[19] = { 16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15 }; - stbi__zhuffman z_codelength; - stbi_uc lencodes[286+32+137];//padding for maximum single op - stbi_uc codelength_sizes[19]; - int i,n; - - int hlit = stbi__zreceive(a,5) + 257; - int hdist = stbi__zreceive(a,5) + 1; - int hclen = stbi__zreceive(a,4) + 4; - int ntot = hlit + hdist; - - memset(codelength_sizes, 0, sizeof(codelength_sizes)); - for (i=0; i < hclen; ++i) { - int s = stbi__zreceive(a,3); - codelength_sizes[length_dezigzag[i]] = (stbi_uc) s; - } - if (!stbi__zbuild_huffman(&z_codelength, codelength_sizes, 19)) return 0; - - n = 0; - while (n < ntot) { - int c = stbi__zhuffman_decode(a, &z_codelength); - if (c < 0 || c >= 19) return stbi__err("bad codelengths", "Corrupt PNG"); - if (c < 16) - lencodes[n++] = (stbi_uc) c; - else { - stbi_uc fill = 0; - if (c == 16) { - c = stbi__zreceive(a,2)+3; - if (n == 0) return stbi__err("bad codelengths", "Corrupt PNG"); - fill = lencodes[n-1]; - } else if (c == 17) - c = stbi__zreceive(a,3)+3; - else { - STBI_ASSERT(c == 18); - c = stbi__zreceive(a,7)+11; - } - if (ntot - n < c) return stbi__err("bad codelengths", "Corrupt PNG"); - memset(lencodes+n, fill, c); - n += c; - } - } - if (n != ntot) return stbi__err("bad codelengths","Corrupt PNG"); - if (!stbi__zbuild_huffman(&a->z_length, lencodes, hlit)) return 0; - if (!stbi__zbuild_huffman(&a->z_distance, lencodes+hlit, hdist)) return 0; - return 1; -} - -static int stbi__parse_uncompressed_block(stbi__zbuf *a) -{ - stbi_uc header[4]; - int len,nlen,k; - if (a->num_bits & 7) - stbi__zreceive(a, a->num_bits & 7); // discard - // drain the bit-packed data into header - k = 0; - while (a->num_bits > 0) { - header[k++] = (stbi_uc) (a->code_buffer & 255); // suppress MSVC run-time check - a->code_buffer >>= 8; - a->num_bits -= 8; - } - STBI_ASSERT(a->num_bits == 0); - // now fill header the normal way - while (k < 4) - header[k++] = stbi__zget8(a); - len = header[1] * 256 + header[0]; - nlen = header[3] * 256 + header[2]; - if (nlen != (len ^ 0xffff)) return stbi__err("zlib corrupt","Corrupt PNG"); - if (a->zbuffer + len > a->zbuffer_end) return stbi__err("read past buffer","Corrupt PNG"); - if (a->zout + len > a->zout_end) - if (!stbi__zexpand(a, a->zout, len)) return 0; - memcpy(a->zout, a->zbuffer, len); - a->zbuffer += len; - a->zout += len; - return 1; -} - -static int stbi__parse_zlib_header(stbi__zbuf *a) -{ - int cmf = stbi__zget8(a); - int cm = cmf & 15; - /* int cinfo = cmf >> 4; */ - int flg = stbi__zget8(a); - if ((cmf*256+flg) % 31 != 0) return stbi__err("bad zlib header","Corrupt PNG"); // zlib spec - if (flg & 32) return stbi__err("no preset dict","Corrupt PNG"); // preset dictionary not allowed in png - if (cm != 8) return stbi__err("bad compression","Corrupt PNG"); // DEFLATE required for png - // window = 1 << (8 + cinfo)... but who cares, we fully buffer output - return 1; -} - -static const stbi_uc stbi__zdefault_length[288] = -{ - 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, - 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, - 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, - 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, - 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, - 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, - 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, - 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, - 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, 7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8 -}; -static const stbi_uc stbi__zdefault_distance[32] = -{ - 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5 -}; -/* -Init algorithm: -{ - int i; // use <= to match clearly with spec - for (i=0; i <= 143; ++i) stbi__zdefault_length[i] = 8; - for ( ; i <= 255; ++i) stbi__zdefault_length[i] = 9; - for ( ; i <= 279; ++i) stbi__zdefault_length[i] = 7; - for ( ; i <= 287; ++i) stbi__zdefault_length[i] = 8; - - for (i=0; i <= 31; ++i) stbi__zdefault_distance[i] = 5; -} -*/ - -static int stbi__parse_zlib(stbi__zbuf *a, int parse_header) -{ - int final, type; - if (parse_header) - if (!stbi__parse_zlib_header(a)) return 0; - a->num_bits = 0; - a->code_buffer = 0; - do { - final = stbi__zreceive(a,1); - type = stbi__zreceive(a,2); - if (type == 0) { - if (!stbi__parse_uncompressed_block(a)) return 0; - } else if (type == 3) { - return 0; - } else { - if (type == 1) { - // use fixed code lengths - if (!stbi__zbuild_huffman(&a->z_length , stbi__zdefault_length , 288)) return 0; - if (!stbi__zbuild_huffman(&a->z_distance, stbi__zdefault_distance, 32)) return 0; - } else { - if (!stbi__compute_huffman_codes(a)) return 0; - } - if (!stbi__parse_huffman_block(a)) return 0; - } - } while (!final); - return 1; -} - -static int stbi__do_zlib(stbi__zbuf *a, char *obuf, int olen, int exp, int parse_header) -{ - a->zout_start = obuf; - a->zout = obuf; - a->zout_end = obuf + olen; - a->z_expandable = exp; - - return stbi__parse_zlib(a, parse_header); -} - -STBIDEF char *stbi_zlib_decode_malloc_guesssize(const char *buffer, int len, int initial_size, int *outlen) -{ - stbi__zbuf a; - char *p = (char *) stbi__malloc(initial_size); - if (p == NULL) return NULL; - a.zbuffer = (stbi_uc *) buffer; - a.zbuffer_end = (stbi_uc *) buffer + len; - if (stbi__do_zlib(&a, p, initial_size, 1, 1)) { - if (outlen) *outlen = (int) (a.zout - a.zout_start); - return a.zout_start; - } else { - STBI_FREE(a.zout_start); - return NULL; - } -} - -STBIDEF char *stbi_zlib_decode_malloc(char const *buffer, int len, int *outlen) -{ - return stbi_zlib_decode_malloc_guesssize(buffer, len, 16384, outlen); -} - -STBIDEF char *stbi_zlib_decode_malloc_guesssize_headerflag(const char *buffer, int len, int initial_size, int *outlen, int parse_header) -{ - stbi__zbuf a; - char *p = (char *) stbi__malloc(initial_size); - if (p == NULL) return NULL; - a.zbuffer = (stbi_uc *) buffer; - a.zbuffer_end = (stbi_uc *) buffer + len; - if (stbi__do_zlib(&a, p, initial_size, 1, parse_header)) { - if (outlen) *outlen = (int) (a.zout - a.zout_start); - return a.zout_start; - } else { - STBI_FREE(a.zout_start); - return NULL; - } -} - -STBIDEF int stbi_zlib_decode_buffer(char *obuffer, int olen, char const *ibuffer, int ilen) -{ - stbi__zbuf a; - a.zbuffer = (stbi_uc *) ibuffer; - a.zbuffer_end = (stbi_uc *) ibuffer + ilen; - if (stbi__do_zlib(&a, obuffer, olen, 0, 1)) - return (int) (a.zout - a.zout_start); - else - return -1; -} - -STBIDEF char *stbi_zlib_decode_noheader_malloc(char const *buffer, int len, int *outlen) -{ - stbi__zbuf a; - char *p = (char *) stbi__malloc(16384); - if (p == NULL) return NULL; - a.zbuffer = (stbi_uc *) buffer; - a.zbuffer_end = (stbi_uc *) buffer+len; - if (stbi__do_zlib(&a, p, 16384, 1, 0)) { - if (outlen) *outlen = (int) (a.zout - a.zout_start); - return a.zout_start; - } else { - STBI_FREE(a.zout_start); - return NULL; - } -} - -STBIDEF int stbi_zlib_decode_noheader_buffer(char *obuffer, int olen, const char *ibuffer, int ilen) -{ - stbi__zbuf a; - a.zbuffer = (stbi_uc *) ibuffer; - a.zbuffer_end = (stbi_uc *) ibuffer + ilen; - if (stbi__do_zlib(&a, obuffer, olen, 0, 0)) - return (int) (a.zout - a.zout_start); - else - return -1; -} -#endif - -// public domain "baseline" PNG decoder v0.10 Sean Barrett 2006-11-18 -// simple implementation -// - only 8-bit samples -// - no CRC checking -// - allocates lots of intermediate memory -// - avoids problem of streaming data between subsystems -// - avoids explicit window management -// performance -// - uses stb_zlib, a PD zlib implementation with fast huffman decoding - -#ifndef STBI_NO_PNG -typedef struct -{ - stbi__uint32 length; - stbi__uint32 type; -} stbi__pngchunk; - -static stbi__pngchunk stbi__get_chunk_header(stbi__context *s) -{ - stbi__pngchunk c; - c.length = stbi__get32be(s); - c.type = stbi__get32be(s); - return c; -} - -static int stbi__check_png_header(stbi__context *s) -{ - static const stbi_uc png_sig[8] = { 137,80,78,71,13,10,26,10 }; - int i; - for (i=0; i < 8; ++i) - if (stbi__get8(s) != png_sig[i]) return stbi__err("bad png sig","Not a PNG"); - return 1; -} - -typedef struct -{ - stbi__context *s; - stbi_uc *idata, *expanded, *out; - int depth; -} stbi__png; - - -enum { - STBI__F_none=0, - STBI__F_sub=1, - STBI__F_up=2, - STBI__F_avg=3, - STBI__F_paeth=4, - // synthetic filters used for first scanline to avoid needing a dummy row of 0s - STBI__F_avg_first, - STBI__F_paeth_first -}; - -static stbi_uc first_row_filter[5] = -{ - STBI__F_none, - STBI__F_sub, - STBI__F_none, - STBI__F_avg_first, - STBI__F_paeth_first -}; - -static int stbi__paeth(int a, int b, int c) -{ - int p = a + b - c; - int pa = abs(p-a); - int pb = abs(p-b); - int pc = abs(p-c); - if (pa <= pb && pa <= pc) return a; - if (pb <= pc) return b; - return c; -} - -static const stbi_uc stbi__depth_scale_table[9] = { 0, 0xff, 0x55, 0, 0x11, 0,0,0, 0x01 }; - -// create the png data from post-deflated data -static int stbi__create_png_image_raw(stbi__png *a, stbi_uc *raw, stbi__uint32 raw_len, int out_n, stbi__uint32 x, stbi__uint32 y, int depth, int color) -{ - int bytes = (depth == 16? 2 : 1); - stbi__context *s = a->s; - stbi__uint32 i,j,stride = x*out_n*bytes; - stbi__uint32 img_len, img_width_bytes; - int k; - int img_n = s->img_n; // copy it into a local for later - - int output_bytes = out_n*bytes; - int filter_bytes = img_n*bytes; - int width = x; - - STBI_ASSERT(out_n == s->img_n || out_n == s->img_n+1); - a->out = (stbi_uc *) stbi__malloc_mad3(x, y, output_bytes, 0); // extra bytes to write off the end into - if (!a->out) return stbi__err("outofmem", "Out of memory"); - - if (!stbi__mad3sizes_valid(img_n, x, depth, 7)) return stbi__err("too large", "Corrupt PNG"); - img_width_bytes = (((img_n * x * depth) + 7) >> 3); - img_len = (img_width_bytes + 1) * y; - - // we used to check for exact match between raw_len and img_len on non-interlaced PNGs, - // but issue #276 reported a PNG in the wild that had extra data at the end (all zeros), - // so just check for raw_len < img_len always. - if (raw_len < img_len) return stbi__err("not enough pixels","Corrupt PNG"); - - for (j=0; j < y; ++j) { - stbi_uc *cur = a->out + stride*j; - stbi_uc *prior; - int filter = *raw++; - - if (filter > 4) - return stbi__err("invalid filter","Corrupt PNG"); - - if (depth < 8) { - STBI_ASSERT(img_width_bytes <= x); - cur += x*out_n - img_width_bytes; // store output to the rightmost img_len bytes, so we can decode in place - filter_bytes = 1; - width = img_width_bytes; - } - prior = cur - stride; // bugfix: need to compute this after 'cur +=' computation above - - // if first row, use special filter that doesn't sample previous row - if (j == 0) filter = first_row_filter[filter]; - - // handle first byte explicitly - for (k=0; k < filter_bytes; ++k) { - switch (filter) { - case STBI__F_none : cur[k] = raw[k]; break; - case STBI__F_sub : cur[k] = raw[k]; break; - case STBI__F_up : cur[k] = STBI__BYTECAST(raw[k] + prior[k]); break; - case STBI__F_avg : cur[k] = STBI__BYTECAST(raw[k] + (prior[k]>>1)); break; - case STBI__F_paeth : cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(0,prior[k],0)); break; - case STBI__F_avg_first : cur[k] = raw[k]; break; - case STBI__F_paeth_first: cur[k] = raw[k]; break; - } - } - - if (depth == 8) { - if (img_n != out_n) - cur[img_n] = 255; // first pixel - raw += img_n; - cur += out_n; - prior += out_n; - } else if (depth == 16) { - if (img_n != out_n) { - cur[filter_bytes] = 255; // first pixel top byte - cur[filter_bytes+1] = 255; // first pixel bottom byte - } - raw += filter_bytes; - cur += output_bytes; - prior += output_bytes; - } else { - raw += 1; - cur += 1; - prior += 1; - } - - // this is a little gross, so that we don't switch per-pixel or per-component - if (depth < 8 || img_n == out_n) { - int nk = (width - 1)*filter_bytes; - #define STBI__CASE(f) \ - case f: \ - for (k=0; k < nk; ++k) - switch (filter) { - // "none" filter turns into a memcpy here; make that explicit. - case STBI__F_none: memcpy(cur, raw, nk); break; - STBI__CASE(STBI__F_sub) { cur[k] = STBI__BYTECAST(raw[k] + cur[k-filter_bytes]); } break; - STBI__CASE(STBI__F_up) { cur[k] = STBI__BYTECAST(raw[k] + prior[k]); } break; - STBI__CASE(STBI__F_avg) { cur[k] = STBI__BYTECAST(raw[k] + ((prior[k] + cur[k-filter_bytes])>>1)); } break; - STBI__CASE(STBI__F_paeth) { cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-filter_bytes],prior[k],prior[k-filter_bytes])); } break; - STBI__CASE(STBI__F_avg_first) { cur[k] = STBI__BYTECAST(raw[k] + (cur[k-filter_bytes] >> 1)); } break; - STBI__CASE(STBI__F_paeth_first) { cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-filter_bytes],0,0)); } break; - } - #undef STBI__CASE - raw += nk; - } else { - STBI_ASSERT(img_n+1 == out_n); - #define STBI__CASE(f) \ - case f: \ - for (i=x-1; i >= 1; --i, cur[filter_bytes]=255,raw+=filter_bytes,cur+=output_bytes,prior+=output_bytes) \ - for (k=0; k < filter_bytes; ++k) - switch (filter) { - STBI__CASE(STBI__F_none) { cur[k] = raw[k]; } break; - STBI__CASE(STBI__F_sub) { cur[k] = STBI__BYTECAST(raw[k] + cur[k- output_bytes]); } break; - STBI__CASE(STBI__F_up) { cur[k] = STBI__BYTECAST(raw[k] + prior[k]); } break; - STBI__CASE(STBI__F_avg) { cur[k] = STBI__BYTECAST(raw[k] + ((prior[k] + cur[k- output_bytes])>>1)); } break; - STBI__CASE(STBI__F_paeth) { cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k- output_bytes],prior[k],prior[k- output_bytes])); } break; - STBI__CASE(STBI__F_avg_first) { cur[k] = STBI__BYTECAST(raw[k] + (cur[k- output_bytes] >> 1)); } break; - STBI__CASE(STBI__F_paeth_first) { cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k- output_bytes],0,0)); } break; - } - #undef STBI__CASE - - // the loop above sets the high byte of the pixels' alpha, but for - // 16 bit png files we also need the low byte set. we'll do that here. - if (depth == 16) { - cur = a->out + stride*j; // start at the beginning of the row again - for (i=0; i < x; ++i,cur+=output_bytes) { - cur[filter_bytes+1] = 255; - } - } - } - } - - // we make a separate pass to expand bits to pixels; for performance, - // this could run two scanlines behind the above code, so it won't - // intefere with filtering but will still be in the cache. - if (depth < 8) { - for (j=0; j < y; ++j) { - stbi_uc *cur = a->out + stride*j; - stbi_uc *in = a->out + stride*j + x*out_n - img_width_bytes; - // unpack 1/2/4-bit into a 8-bit buffer. allows us to keep the common 8-bit path optimal at minimal cost for 1/2/4-bit - // png guarante byte alignment, if width is not multiple of 8/4/2 we'll decode dummy trailing data that will be skipped in the later loop - stbi_uc scale = (color == 0) ? stbi__depth_scale_table[depth] : 1; // scale grayscale values to 0..255 range - - // note that the final byte might overshoot and write more data than desired. - // we can allocate enough data that this never writes out of memory, but it - // could also overwrite the next scanline. can it overwrite non-empty data - // on the next scanline? yes, consider 1-pixel-wide scanlines with 1-bit-per-pixel. - // so we need to explicitly clamp the final ones - - if (depth == 4) { - for (k=x*img_n; k >= 2; k-=2, ++in) { - *cur++ = scale * ((*in >> 4) ); - *cur++ = scale * ((*in ) & 0x0f); - } - if (k > 0) *cur++ = scale * ((*in >> 4) ); - } else if (depth == 2) { - for (k=x*img_n; k >= 4; k-=4, ++in) { - *cur++ = scale * ((*in >> 6) ); - *cur++ = scale * ((*in >> 4) & 0x03); - *cur++ = scale * ((*in >> 2) & 0x03); - *cur++ = scale * ((*in ) & 0x03); - } - if (k > 0) *cur++ = scale * ((*in >> 6) ); - if (k > 1) *cur++ = scale * ((*in >> 4) & 0x03); - if (k > 2) *cur++ = scale * ((*in >> 2) & 0x03); - } else if (depth == 1) { - for (k=x*img_n; k >= 8; k-=8, ++in) { - *cur++ = scale * ((*in >> 7) ); - *cur++ = scale * ((*in >> 6) & 0x01); - *cur++ = scale * ((*in >> 5) & 0x01); - *cur++ = scale * ((*in >> 4) & 0x01); - *cur++ = scale * ((*in >> 3) & 0x01); - *cur++ = scale * ((*in >> 2) & 0x01); - *cur++ = scale * ((*in >> 1) & 0x01); - *cur++ = scale * ((*in ) & 0x01); - } - if (k > 0) *cur++ = scale * ((*in >> 7) ); - if (k > 1) *cur++ = scale * ((*in >> 6) & 0x01); - if (k > 2) *cur++ = scale * ((*in >> 5) & 0x01); - if (k > 3) *cur++ = scale * ((*in >> 4) & 0x01); - if (k > 4) *cur++ = scale * ((*in >> 3) & 0x01); - if (k > 5) *cur++ = scale * ((*in >> 2) & 0x01); - if (k > 6) *cur++ = scale * ((*in >> 1) & 0x01); - } - if (img_n != out_n) { - int q; - // insert alpha = 255 - cur = a->out + stride*j; - if (img_n == 1) { - for (q=x-1; q >= 0; --q) { - cur[q*2+1] = 255; - cur[q*2+0] = cur[q]; - } - } else { - STBI_ASSERT(img_n == 3); - for (q=x-1; q >= 0; --q) { - cur[q*4+3] = 255; - cur[q*4+2] = cur[q*3+2]; - cur[q*4+1] = cur[q*3+1]; - cur[q*4+0] = cur[q*3+0]; - } - } - } - } - } else if (depth == 16) { - // force the image data from big-endian to platform-native. - // this is done in a separate pass due to the decoding relying - // on the data being untouched, but could probably be done - // per-line during decode if care is taken. - stbi_uc *cur = a->out; - stbi__uint16 *cur16 = (stbi__uint16*)cur; - - for(i=0; i < x*y*out_n; ++i,cur16++,cur+=2) { - *cur16 = (cur[0] << 8) | cur[1]; - } - } - - return 1; -} - -static int stbi__create_png_image(stbi__png *a, stbi_uc *image_data, stbi__uint32 image_data_len, int out_n, int depth, int color, int interlaced) -{ - int bytes = (depth == 16 ? 2 : 1); - int out_bytes = out_n * bytes; - stbi_uc *final; - int p; - if (!interlaced) - return stbi__create_png_image_raw(a, image_data, image_data_len, out_n, a->s->img_x, a->s->img_y, depth, color); - - // de-interlacing - final = (stbi_uc *) stbi__malloc_mad3(a->s->img_x, a->s->img_y, out_bytes, 0); - for (p=0; p < 7; ++p) { - int xorig[] = { 0,4,0,2,0,1,0 }; - int yorig[] = { 0,0,4,0,2,0,1 }; - int xspc[] = { 8,8,4,4,2,2,1 }; - int yspc[] = { 8,8,8,4,4,2,2 }; - int i,j,x,y; - // pass1_x[4] = 0, pass1_x[5] = 1, pass1_x[12] = 1 - x = (a->s->img_x - xorig[p] + xspc[p]-1) / xspc[p]; - y = (a->s->img_y - yorig[p] + yspc[p]-1) / yspc[p]; - if (x && y) { - stbi__uint32 img_len = ((((a->s->img_n * x * depth) + 7) >> 3) + 1) * y; - if (!stbi__create_png_image_raw(a, image_data, image_data_len, out_n, x, y, depth, color)) { - STBI_FREE(final); - return 0; - } - for (j=0; j < y; ++j) { - for (i=0; i < x; ++i) { - int out_y = j*yspc[p]+yorig[p]; - int out_x = i*xspc[p]+xorig[p]; - memcpy(final + out_y*a->s->img_x*out_bytes + out_x*out_bytes, - a->out + (j*x+i)*out_bytes, out_bytes); - } - } - STBI_FREE(a->out); - image_data += img_len; - image_data_len -= img_len; - } - } - a->out = final; - - return 1; -} - -static int stbi__compute_transparency(stbi__png *z, stbi_uc tc[3], int out_n) -{ - stbi__context *s = z->s; - stbi__uint32 i, pixel_count = s->img_x * s->img_y; - stbi_uc *p = z->out; - - // compute color-based transparency, assuming we've - // already got 255 as the alpha value in the output - STBI_ASSERT(out_n == 2 || out_n == 4); - - if (out_n == 2) { - for (i=0; i < pixel_count; ++i) { - p[1] = (p[0] == tc[0] ? 0 : 255); - p += 2; - } - } else { - for (i=0; i < pixel_count; ++i) { - if (p[0] == tc[0] && p[1] == tc[1] && p[2] == tc[2]) - p[3] = 0; - p += 4; - } - } - return 1; -} - -static int stbi__compute_transparency16(stbi__png *z, stbi__uint16 tc[3], int out_n) -{ - stbi__context *s = z->s; - stbi__uint32 i, pixel_count = s->img_x * s->img_y; - stbi__uint16 *p = (stbi__uint16*) z->out; - - // compute color-based transparency, assuming we've - // already got 65535 as the alpha value in the output - STBI_ASSERT(out_n == 2 || out_n == 4); - - if (out_n == 2) { - for (i = 0; i < pixel_count; ++i) { - p[1] = (p[0] == tc[0] ? 0 : 65535); - p += 2; - } - } else { - for (i = 0; i < pixel_count; ++i) { - if (p[0] == tc[0] && p[1] == tc[1] && p[2] == tc[2]) - p[3] = 0; - p += 4; - } - } - return 1; -} - -static int stbi__expand_png_palette(stbi__png *a, stbi_uc *palette, int len, int pal_img_n) -{ - stbi__uint32 i, pixel_count = a->s->img_x * a->s->img_y; - stbi_uc *p, *temp_out, *orig = a->out; - - p = (stbi_uc *) stbi__malloc_mad2(pixel_count, pal_img_n, 0); - if (p == NULL) return stbi__err("outofmem", "Out of memory"); - - // between here and free(out) below, exitting would leak - temp_out = p; - - if (pal_img_n == 3) { - for (i=0; i < pixel_count; ++i) { - int n = orig[i]*4; - p[0] = palette[n ]; - p[1] = palette[n+1]; - p[2] = palette[n+2]; - p += 3; - } - } else { - for (i=0; i < pixel_count; ++i) { - int n = orig[i]*4; - p[0] = palette[n ]; - p[1] = palette[n+1]; - p[2] = palette[n+2]; - p[3] = palette[n+3]; - p += 4; - } - } - STBI_FREE(a->out); - a->out = temp_out; - - STBI_NOTUSED(len); - - return 1; -} - -static int stbi__unpremultiply_on_load = 0; -static int stbi__de_iphone_flag = 0; - -STBIDEF void stbi_set_unpremultiply_on_load(int flag_true_if_should_unpremultiply) -{ - stbi__unpremultiply_on_load = flag_true_if_should_unpremultiply; -} - -STBIDEF void stbi_convert_iphone_png_to_rgb(int flag_true_if_should_convert) -{ - stbi__de_iphone_flag = flag_true_if_should_convert; -} - -static void stbi__de_iphone(stbi__png *z) -{ - stbi__context *s = z->s; - stbi__uint32 i, pixel_count = s->img_x * s->img_y; - stbi_uc *p = z->out; - - if (s->img_out_n == 3) { // convert bgr to rgb - for (i=0; i < pixel_count; ++i) { - stbi_uc t = p[0]; - p[0] = p[2]; - p[2] = t; - p += 3; - } - } else { - STBI_ASSERT(s->img_out_n == 4); - if (stbi__unpremultiply_on_load) { - // convert bgr to rgb and unpremultiply - for (i=0; i < pixel_count; ++i) { - stbi_uc a = p[3]; - stbi_uc t = p[0]; - if (a) { - stbi_uc half = a / 2; - p[0] = (p[2] * 255 + half) / a; - p[1] = (p[1] * 255 + half) / a; - p[2] = ( t * 255 + half) / a; - } else { - p[0] = p[2]; - p[2] = t; - } - p += 4; - } - } else { - // convert bgr to rgb - for (i=0; i < pixel_count; ++i) { - stbi_uc t = p[0]; - p[0] = p[2]; - p[2] = t; - p += 4; - } - } - } -} - -#define STBI__PNG_TYPE(a,b,c,d) (((unsigned) (a) << 24) + ((unsigned) (b) << 16) + ((unsigned) (c) << 8) + (unsigned) (d)) - -static int stbi__parse_png_file(stbi__png *z, int scan, int req_comp) -{ - stbi_uc palette[1024], pal_img_n=0; - stbi_uc has_trans=0, tc[3]; - stbi__uint16 tc16[3]; - stbi__uint32 ioff=0, idata_limit=0, i, pal_len=0; - int first=1,k,interlace=0, color=0, is_iphone=0; - stbi__context *s = z->s; - - z->expanded = NULL; - z->idata = NULL; - z->out = NULL; - - if (!stbi__check_png_header(s)) return 0; - - if (scan == STBI__SCAN_type) return 1; - - for (;;) { - stbi__pngchunk c = stbi__get_chunk_header(s); - switch (c.type) { - case STBI__PNG_TYPE('C','g','B','I'): - is_iphone = 1; - stbi__skip(s, c.length); - break; - case STBI__PNG_TYPE('I','H','D','R'): { - int comp,filter; - if (!first) return stbi__err("multiple IHDR","Corrupt PNG"); - first = 0; - if (c.length != 13) return stbi__err("bad IHDR len","Corrupt PNG"); - s->img_x = stbi__get32be(s); if (s->img_x > (1 << 24)) return stbi__err("too large","Very large image (corrupt?)"); - s->img_y = stbi__get32be(s); if (s->img_y > (1 << 24)) return stbi__err("too large","Very large image (corrupt?)"); - z->depth = stbi__get8(s); if (z->depth != 1 && z->depth != 2 && z->depth != 4 && z->depth != 8 && z->depth != 16) return stbi__err("1/2/4/8/16-bit only","PNG not supported: 1/2/4/8/16-bit only"); - color = stbi__get8(s); if (color > 6) return stbi__err("bad ctype","Corrupt PNG"); - if (color == 3 && z->depth == 16) return stbi__err("bad ctype","Corrupt PNG"); - if (color == 3) pal_img_n = 3; else if (color & 1) return stbi__err("bad ctype","Corrupt PNG"); - comp = stbi__get8(s); if (comp) return stbi__err("bad comp method","Corrupt PNG"); - filter= stbi__get8(s); if (filter) return stbi__err("bad filter method","Corrupt PNG"); - interlace = stbi__get8(s); if (interlace>1) return stbi__err("bad interlace method","Corrupt PNG"); - if (!s->img_x || !s->img_y) return stbi__err("0-pixel image","Corrupt PNG"); - if (!pal_img_n) { - s->img_n = (color & 2 ? 3 : 1) + (color & 4 ? 1 : 0); - if ((1 << 30) / s->img_x / s->img_n < s->img_y) return stbi__err("too large", "Image too large to decode"); - if (scan == STBI__SCAN_header) return 1; - } else { - // if paletted, then pal_n is our final components, and - // img_n is # components to decompress/filter. - s->img_n = 1; - if ((1 << 30) / s->img_x / 4 < s->img_y) return stbi__err("too large","Corrupt PNG"); - // if SCAN_header, have to scan to see if we have a tRNS - } - break; - } - - case STBI__PNG_TYPE('P','L','T','E'): { - if (first) return stbi__err("first not IHDR", "Corrupt PNG"); - if (c.length > 256*3) return stbi__err("invalid PLTE","Corrupt PNG"); - pal_len = c.length / 3; - if (pal_len * 3 != c.length) return stbi__err("invalid PLTE","Corrupt PNG"); - for (i=0; i < pal_len; ++i) { - palette[i*4+0] = stbi__get8(s); - palette[i*4+1] = stbi__get8(s); - palette[i*4+2] = stbi__get8(s); - palette[i*4+3] = 255; - } - break; - } - - case STBI__PNG_TYPE('t','R','N','S'): { - if (first) return stbi__err("first not IHDR", "Corrupt PNG"); - if (z->idata) return stbi__err("tRNS after IDAT","Corrupt PNG"); - if (pal_img_n) { - if (scan == STBI__SCAN_header) { s->img_n = 4; return 1; } - if (pal_len == 0) return stbi__err("tRNS before PLTE","Corrupt PNG"); - if (c.length > pal_len) return stbi__err("bad tRNS len","Corrupt PNG"); - pal_img_n = 4; - for (i=0; i < c.length; ++i) - palette[i*4+3] = stbi__get8(s); - } else { - if (!(s->img_n & 1)) return stbi__err("tRNS with alpha","Corrupt PNG"); - if (c.length != (stbi__uint32) s->img_n*2) return stbi__err("bad tRNS len","Corrupt PNG"); - has_trans = 1; - if (z->depth == 16) { - for (k = 0; k < s->img_n; ++k) tc16[k] = (stbi__uint16)stbi__get16be(s); // copy the values as-is - } else { - for (k = 0; k < s->img_n; ++k) tc[k] = (stbi_uc)(stbi__get16be(s) & 255) * stbi__depth_scale_table[z->depth]; // non 8-bit images will be larger - } - } - break; - } - - case STBI__PNG_TYPE('I','D','A','T'): { - if (first) return stbi__err("first not IHDR", "Corrupt PNG"); - if (pal_img_n && !pal_len) return stbi__err("no PLTE","Corrupt PNG"); - if (scan == STBI__SCAN_header) { s->img_n = pal_img_n; return 1; } - if ((int)(ioff + c.length) < (int)ioff) return 0; - if (ioff + c.length > idata_limit) { - stbi__uint32 idata_limit_old = idata_limit; - stbi_uc *p; - if (idata_limit == 0) idata_limit = c.length > 4096 ? c.length : 4096; - while (ioff + c.length > idata_limit) - idata_limit *= 2; - STBI_NOTUSED(idata_limit_old); - p = (stbi_uc *) STBI_REALLOC_SIZED(z->idata, idata_limit_old, idata_limit); if (p == NULL) return stbi__err("outofmem", "Out of memory"); - z->idata = p; - } - if (!stbi__getn(s, z->idata+ioff,c.length)) return stbi__err("outofdata","Corrupt PNG"); - ioff += c.length; - break; - } - - case STBI__PNG_TYPE('I','E','N','D'): { - stbi__uint32 raw_len, bpl; - if (first) return stbi__err("first not IHDR", "Corrupt PNG"); - if (scan != STBI__SCAN_load) return 1; - if (z->idata == NULL) return stbi__err("no IDAT","Corrupt PNG"); - // initial guess for decoded data size to avoid unnecessary reallocs - bpl = (s->img_x * z->depth + 7) / 8; // bytes per line, per component - raw_len = bpl * s->img_y * s->img_n /* pixels */ + s->img_y /* filter mode per row */; - z->expanded = (stbi_uc *) stbi_zlib_decode_malloc_guesssize_headerflag((char *) z->idata, ioff, raw_len, (int *) &raw_len, !is_iphone); - if (z->expanded == NULL) return 0; // zlib should set error - STBI_FREE(z->idata); z->idata = NULL; - if ((req_comp == s->img_n+1 && req_comp != 3 && !pal_img_n) || has_trans) - s->img_out_n = s->img_n+1; - else - s->img_out_n = s->img_n; - if (!stbi__create_png_image(z, z->expanded, raw_len, s->img_out_n, z->depth, color, interlace)) return 0; - if (has_trans) { - if (z->depth == 16) { - if (!stbi__compute_transparency16(z, tc16, s->img_out_n)) return 0; - } else { - if (!stbi__compute_transparency(z, tc, s->img_out_n)) return 0; - } - } - if (is_iphone && stbi__de_iphone_flag && s->img_out_n > 2) - stbi__de_iphone(z); - if (pal_img_n) { - // pal_img_n == 3 or 4 - s->img_n = pal_img_n; // record the actual colors we had - s->img_out_n = pal_img_n; - if (req_comp >= 3) s->img_out_n = req_comp; - if (!stbi__expand_png_palette(z, palette, pal_len, s->img_out_n)) - return 0; - } else if (has_trans) { - // non-paletted image with tRNS -> source image has (constant) alpha - ++s->img_n; - } - STBI_FREE(z->expanded); z->expanded = NULL; - return 1; - } - - default: - // if critical, fail - if (first) return stbi__err("first not IHDR", "Corrupt PNG"); - if ((c.type & (1 << 29)) == 0) { - #ifndef STBI_NO_FAILURE_STRINGS - // not threadsafe - static char invalid_chunk[] = "XXXX PNG chunk not known"; - invalid_chunk[0] = STBI__BYTECAST(c.type >> 24); - invalid_chunk[1] = STBI__BYTECAST(c.type >> 16); - invalid_chunk[2] = STBI__BYTECAST(c.type >> 8); - invalid_chunk[3] = STBI__BYTECAST(c.type >> 0); - #endif - return stbi__err(invalid_chunk, "PNG not supported: unknown PNG chunk type"); - } - stbi__skip(s, c.length); - break; - } - // end of PNG chunk, read and skip CRC - stbi__get32be(s); - } -} - -static void *stbi__do_png(stbi__png *p, int *x, int *y, int *n, int req_comp, stbi__result_info *ri) -{ - void *result=NULL; - if (req_comp < 0 || req_comp > 4) return stbi__errpuc("bad req_comp", "Internal error"); - if (stbi__parse_png_file(p, STBI__SCAN_load, req_comp)) { - if (p->depth < 8) - ri->bits_per_channel = 8; - else - ri->bits_per_channel = p->depth; - result = p->out; - p->out = NULL; - if (req_comp && req_comp != p->s->img_out_n) { - if (ri->bits_per_channel == 8) - result = stbi__convert_format((unsigned char *) result, p->s->img_out_n, req_comp, p->s->img_x, p->s->img_y); - else - result = stbi__convert_format16((stbi__uint16 *) result, p->s->img_out_n, req_comp, p->s->img_x, p->s->img_y); - p->s->img_out_n = req_comp; - if (result == NULL) return result; - } - *x = p->s->img_x; - *y = p->s->img_y; - if (n) *n = p->s->img_n; - } - STBI_FREE(p->out); p->out = NULL; - STBI_FREE(p->expanded); p->expanded = NULL; - STBI_FREE(p->idata); p->idata = NULL; - - return result; -} - -static void *stbi__png_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) -{ - stbi__png p; - p.s = s; - return stbi__do_png(&p, x,y,comp,req_comp, ri); -} - -static int stbi__png_test(stbi__context *s) -{ - int r; - r = stbi__check_png_header(s); - stbi__rewind(s); - return r; -} - -static int stbi__png_info_raw(stbi__png *p, int *x, int *y, int *comp) -{ - if (!stbi__parse_png_file(p, STBI__SCAN_header, 0)) { - stbi__rewind( p->s ); - return 0; - } - if (x) *x = p->s->img_x; - if (y) *y = p->s->img_y; - if (comp) *comp = p->s->img_n; - return 1; -} - -static int stbi__png_info(stbi__context *s, int *x, int *y, int *comp) -{ - stbi__png p; - p.s = s; - return stbi__png_info_raw(&p, x, y, comp); -} - -static int stbi__png_is16(stbi__context *s) -{ - stbi__png p; - p.s = s; - if (!stbi__png_info_raw(&p, NULL, NULL, NULL)) - return 0; - if (p.depth != 16) { - stbi__rewind(p.s); - return 0; - } - return 1; -} -#endif - -// Microsoft/Windows BMP image - -#ifndef STBI_NO_BMP -static int stbi__bmp_test_raw(stbi__context *s) -{ - int r; - int sz; - if (stbi__get8(s) != 'B') return 0; - if (stbi__get8(s) != 'M') return 0; - stbi__get32le(s); // discard filesize - stbi__get16le(s); // discard reserved - stbi__get16le(s); // discard reserved - stbi__get32le(s); // discard data offset - sz = stbi__get32le(s); - r = (sz == 12 || sz == 40 || sz == 56 || sz == 108 || sz == 124); - return r; -} - -static int stbi__bmp_test(stbi__context *s) -{ - int r = stbi__bmp_test_raw(s); - stbi__rewind(s); - return r; -} - - -// returns 0..31 for the highest set bit -static int stbi__high_bit(unsigned int z) -{ - int n=0; - if (z == 0) return -1; - if (z >= 0x10000) n += 16, z >>= 16; - if (z >= 0x00100) n += 8, z >>= 8; - if (z >= 0x00010) n += 4, z >>= 4; - if (z >= 0x00004) n += 2, z >>= 2; - if (z >= 0x00002) n += 1, z >>= 1; - return n; -} - -static int stbi__bitcount(unsigned int a) -{ - a = (a & 0x55555555) + ((a >> 1) & 0x55555555); // max 2 - a = (a & 0x33333333) + ((a >> 2) & 0x33333333); // max 4 - a = (a + (a >> 4)) & 0x0f0f0f0f; // max 8 per 4, now 8 bits - a = (a + (a >> 8)); // max 16 per 8 bits - a = (a + (a >> 16)); // max 32 per 8 bits - return a & 0xff; -} - -// extract an arbitrarily-aligned N-bit value (N=bits) -// from v, and then make it 8-bits long and fractionally -// extend it to full full range. -static int stbi__shiftsigned(int v, int shift, int bits) -{ - static unsigned int mul_table[9] = { - 0, - 0xff/*0b11111111*/, 0x55/*0b01010101*/, 0x49/*0b01001001*/, 0x11/*0b00010001*/, - 0x21/*0b00100001*/, 0x41/*0b01000001*/, 0x81/*0b10000001*/, 0x01/*0b00000001*/, - }; - static unsigned int shift_table[9] = { - 0, 0,0,1,0,2,4,6,0, - }; - if (shift < 0) - v <<= -shift; - else - v >>= shift; - STBI_ASSERT(v >= 0 && v < 256); - v >>= (8-bits); - STBI_ASSERT(bits >= 0 && bits <= 8); - return (int) ((unsigned) v * mul_table[bits]) >> shift_table[bits]; -} - -typedef struct -{ - int bpp, offset, hsz; - unsigned int mr,mg,mb,ma, all_a; -} stbi__bmp_data; - -static void *stbi__bmp_parse_header(stbi__context *s, stbi__bmp_data *info) -{ - int hsz; - if (stbi__get8(s) != 'B' || stbi__get8(s) != 'M') return stbi__errpuc("not BMP", "Corrupt BMP"); - stbi__get32le(s); // discard filesize - stbi__get16le(s); // discard reserved - stbi__get16le(s); // discard reserved - info->offset = stbi__get32le(s); - info->hsz = hsz = stbi__get32le(s); - info->mr = info->mg = info->mb = info->ma = 0; - - if (hsz != 12 && hsz != 40 && hsz != 56 && hsz != 108 && hsz != 124) return stbi__errpuc("unknown BMP", "BMP type not supported: unknown"); - if (hsz == 12) { - s->img_x = stbi__get16le(s); - s->img_y = stbi__get16le(s); - } else { - s->img_x = stbi__get32le(s); - s->img_y = stbi__get32le(s); - } - if (stbi__get16le(s) != 1) return stbi__errpuc("bad BMP", "bad BMP"); - info->bpp = stbi__get16le(s); - if (hsz != 12) { - int compress = stbi__get32le(s); - if (compress == 1 || compress == 2) return stbi__errpuc("BMP RLE", "BMP type not supported: RLE"); - stbi__get32le(s); // discard sizeof - stbi__get32le(s); // discard hres - stbi__get32le(s); // discard vres - stbi__get32le(s); // discard colorsused - stbi__get32le(s); // discard max important - if (hsz == 40 || hsz == 56) { - if (hsz == 56) { - stbi__get32le(s); - stbi__get32le(s); - stbi__get32le(s); - stbi__get32le(s); - } - if (info->bpp == 16 || info->bpp == 32) { - if (compress == 0) { - if (info->bpp == 32) { - info->mr = 0xffu << 16; - info->mg = 0xffu << 8; - info->mb = 0xffu << 0; - info->ma = 0xffu << 24; - info->all_a = 0; // if all_a is 0 at end, then we loaded alpha channel but it was all 0 - } else { - info->mr = 31u << 10; - info->mg = 31u << 5; - info->mb = 31u << 0; - } - } else if (compress == 3) { - info->mr = stbi__get32le(s); - info->mg = stbi__get32le(s); - info->mb = stbi__get32le(s); - // not documented, but generated by photoshop and handled by mspaint - if (info->mr == info->mg && info->mg == info->mb) { - // ?!?!? - return stbi__errpuc("bad BMP", "bad BMP"); - } - } else - return stbi__errpuc("bad BMP", "bad BMP"); - } - } else { - int i; - if (hsz != 108 && hsz != 124) - return stbi__errpuc("bad BMP", "bad BMP"); - info->mr = stbi__get32le(s); - info->mg = stbi__get32le(s); - info->mb = stbi__get32le(s); - info->ma = stbi__get32le(s); - stbi__get32le(s); // discard color space - for (i=0; i < 12; ++i) - stbi__get32le(s); // discard color space parameters - if (hsz == 124) { - stbi__get32le(s); // discard rendering intent - stbi__get32le(s); // discard offset of profile data - stbi__get32le(s); // discard size of profile data - stbi__get32le(s); // discard reserved - } - } - } - return (void *) 1; -} - - -static void *stbi__bmp_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) -{ - stbi_uc *out; - unsigned int mr=0,mg=0,mb=0,ma=0, all_a; - stbi_uc pal[256][4]; - int psize=0,i,j,width; - int flip_vertically, pad, target; - stbi__bmp_data info; - STBI_NOTUSED(ri); - - info.all_a = 255; - if (stbi__bmp_parse_header(s, &info) == NULL) - return NULL; // error code already set - - flip_vertically = ((int) s->img_y) > 0; - s->img_y = abs((int) s->img_y); - - mr = info.mr; - mg = info.mg; - mb = info.mb; - ma = info.ma; - all_a = info.all_a; - - if (info.hsz == 12) { - if (info.bpp < 24) - psize = (info.offset - 14 - 24) / 3; - } else { - if (info.bpp < 16) - psize = (info.offset - 14 - info.hsz) >> 2; - } - - s->img_n = ma ? 4 : 3; - if (req_comp && req_comp >= 3) // we can directly decode 3 or 4 - target = req_comp; - else - target = s->img_n; // if they want monochrome, we'll post-convert - - // sanity-check size - if (!stbi__mad3sizes_valid(target, s->img_x, s->img_y, 0)) - return stbi__errpuc("too large", "Corrupt BMP"); - - out = (stbi_uc *) stbi__malloc_mad3(target, s->img_x, s->img_y, 0); - if (!out) return stbi__errpuc("outofmem", "Out of memory"); - if (info.bpp < 16) { - int z=0; - if (psize == 0 || psize > 256) { STBI_FREE(out); return stbi__errpuc("invalid", "Corrupt BMP"); } - for (i=0; i < psize; ++i) { - pal[i][2] = stbi__get8(s); - pal[i][1] = stbi__get8(s); - pal[i][0] = stbi__get8(s); - if (info.hsz != 12) stbi__get8(s); - pal[i][3] = 255; - } - stbi__skip(s, info.offset - 14 - info.hsz - psize * (info.hsz == 12 ? 3 : 4)); - if (info.bpp == 1) width = (s->img_x + 7) >> 3; - else if (info.bpp == 4) width = (s->img_x + 1) >> 1; - else if (info.bpp == 8) width = s->img_x; - else { STBI_FREE(out); return stbi__errpuc("bad bpp", "Corrupt BMP"); } - pad = (-width)&3; - if (info.bpp == 1) { - for (j=0; j < (int) s->img_y; ++j) { - int bit_offset = 7, v = stbi__get8(s); - for (i=0; i < (int) s->img_x; ++i) { - int color = (v>>bit_offset)&0x1; - out[z++] = pal[color][0]; - out[z++] = pal[color][1]; - out[z++] = pal[color][2]; - if((--bit_offset) < 0) { - bit_offset = 7; - v = stbi__get8(s); - } - } - stbi__skip(s, pad); - } - } else { - for (j=0; j < (int) s->img_y; ++j) { - for (i=0; i < (int) s->img_x; i += 2) { - int v=stbi__get8(s),v2=0; - if (info.bpp == 4) { - v2 = v & 15; - v >>= 4; - } - out[z++] = pal[v][0]; - out[z++] = pal[v][1]; - out[z++] = pal[v][2]; - if (target == 4) out[z++] = 255; - if (i+1 == (int) s->img_x) break; - v = (info.bpp == 8) ? stbi__get8(s) : v2; - out[z++] = pal[v][0]; - out[z++] = pal[v][1]; - out[z++] = pal[v][2]; - if (target == 4) out[z++] = 255; - } - stbi__skip(s, pad); - } - } - } else { - int rshift=0,gshift=0,bshift=0,ashift=0,rcount=0,gcount=0,bcount=0,acount=0; - int z = 0; - int easy=0; - stbi__skip(s, info.offset - 14 - info.hsz); - if (info.bpp == 24) width = 3 * s->img_x; - else if (info.bpp == 16) width = 2*s->img_x; - else /* bpp = 32 and pad = 0 */ width=0; - pad = (-width) & 3; - if (info.bpp == 24) { - easy = 1; - } else if (info.bpp == 32) { - if (mb == 0xff && mg == 0xff00 && mr == 0x00ff0000 && ma == 0xff000000) - easy = 2; - } - if (!easy) { - if (!mr || !mg || !mb) { STBI_FREE(out); return stbi__errpuc("bad masks", "Corrupt BMP"); } - // right shift amt to put high bit in position #7 - rshift = stbi__high_bit(mr)-7; rcount = stbi__bitcount(mr); - gshift = stbi__high_bit(mg)-7; gcount = stbi__bitcount(mg); - bshift = stbi__high_bit(mb)-7; bcount = stbi__bitcount(mb); - ashift = stbi__high_bit(ma)-7; acount = stbi__bitcount(ma); - } - for (j=0; j < (int) s->img_y; ++j) { - if (easy) { - for (i=0; i < (int) s->img_x; ++i) { - unsigned char a; - out[z+2] = stbi__get8(s); - out[z+1] = stbi__get8(s); - out[z+0] = stbi__get8(s); - z += 3; - a = (easy == 2 ? stbi__get8(s) : 255); - all_a |= a; - if (target == 4) out[z++] = a; - } - } else { - int bpp = info.bpp; - for (i=0; i < (int) s->img_x; ++i) { - stbi__uint32 v = (bpp == 16 ? (stbi__uint32) stbi__get16le(s) : stbi__get32le(s)); - unsigned int a; - out[z++] = STBI__BYTECAST(stbi__shiftsigned(v & mr, rshift, rcount)); - out[z++] = STBI__BYTECAST(stbi__shiftsigned(v & mg, gshift, gcount)); - out[z++] = STBI__BYTECAST(stbi__shiftsigned(v & mb, bshift, bcount)); - a = (ma ? stbi__shiftsigned(v & ma, ashift, acount) : 255); - all_a |= a; - if (target == 4) out[z++] = STBI__BYTECAST(a); - } - } - stbi__skip(s, pad); - } - } - - // if alpha channel is all 0s, replace with all 255s - if (target == 4 && all_a == 0) - for (i=4*s->img_x*s->img_y-1; i >= 0; i -= 4) - out[i] = 255; - - if (flip_vertically) { - stbi_uc t; - for (j=0; j < (int) s->img_y>>1; ++j) { - stbi_uc *p1 = out + j *s->img_x*target; - stbi_uc *p2 = out + (s->img_y-1-j)*s->img_x*target; - for (i=0; i < (int) s->img_x*target; ++i) { - t = p1[i], p1[i] = p2[i], p2[i] = t; - } - } - } - - if (req_comp && req_comp != target) { - out = stbi__convert_format(out, target, req_comp, s->img_x, s->img_y); - if (out == NULL) return out; // stbi__convert_format frees input on failure - } - - *x = s->img_x; - *y = s->img_y; - if (comp) *comp = s->img_n; - return out; -} -#endif - -// Targa Truevision - TGA -// by Jonathan Dummer -#ifndef STBI_NO_TGA -// returns STBI_rgb or whatever, 0 on error -static int stbi__tga_get_comp(int bits_per_pixel, int is_grey, int* is_rgb16) -{ - // only RGB or RGBA (incl. 16bit) or grey allowed - if (is_rgb16) *is_rgb16 = 0; - switch(bits_per_pixel) { - case 8: return STBI_grey; - case 16: if(is_grey) return STBI_grey_alpha; - // fallthrough - case 15: if(is_rgb16) *is_rgb16 = 1; - return STBI_rgb; - case 24: // fallthrough - case 32: return bits_per_pixel/8; - default: return 0; - } -} - -static int stbi__tga_info(stbi__context *s, int *x, int *y, int *comp) -{ - int tga_w, tga_h, tga_comp, tga_image_type, tga_bits_per_pixel, tga_colormap_bpp; - int sz, tga_colormap_type; - stbi__get8(s); // discard Offset - tga_colormap_type = stbi__get8(s); // colormap type - if( tga_colormap_type > 1 ) { - stbi__rewind(s); - return 0; // only RGB or indexed allowed - } - tga_image_type = stbi__get8(s); // image type - if ( tga_colormap_type == 1 ) { // colormapped (paletted) image - if (tga_image_type != 1 && tga_image_type != 9) { - stbi__rewind(s); - return 0; - } - stbi__skip(s,4); // skip index of first colormap entry and number of entries - sz = stbi__get8(s); // check bits per palette color entry - if ( (sz != 8) && (sz != 15) && (sz != 16) && (sz != 24) && (sz != 32) ) { - stbi__rewind(s); - return 0; - } - stbi__skip(s,4); // skip image x and y origin - tga_colormap_bpp = sz; - } else { // "normal" image w/o colormap - only RGB or grey allowed, +/- RLE - if ( (tga_image_type != 2) && (tga_image_type != 3) && (tga_image_type != 10) && (tga_image_type != 11) ) { - stbi__rewind(s); - return 0; // only RGB or grey allowed, +/- RLE - } - stbi__skip(s,9); // skip colormap specification and image x/y origin - tga_colormap_bpp = 0; - } - tga_w = stbi__get16le(s); - if( tga_w < 1 ) { - stbi__rewind(s); - return 0; // test width - } - tga_h = stbi__get16le(s); - if( tga_h < 1 ) { - stbi__rewind(s); - return 0; // test height - } - tga_bits_per_pixel = stbi__get8(s); // bits per pixel - stbi__get8(s); // ignore alpha bits - if (tga_colormap_bpp != 0) { - if((tga_bits_per_pixel != 8) && (tga_bits_per_pixel != 16)) { - // when using a colormap, tga_bits_per_pixel is the size of the indexes - // I don't think anything but 8 or 16bit indexes makes sense - stbi__rewind(s); - return 0; - } - tga_comp = stbi__tga_get_comp(tga_colormap_bpp, 0, NULL); - } else { - tga_comp = stbi__tga_get_comp(tga_bits_per_pixel, (tga_image_type == 3) || (tga_image_type == 11), NULL); - } - if(!tga_comp) { - stbi__rewind(s); - return 0; - } - if (x) *x = tga_w; - if (y) *y = tga_h; - if (comp) *comp = tga_comp; - return 1; // seems to have passed everything -} - -static int stbi__tga_test(stbi__context *s) -{ - int res = 0; - int sz, tga_color_type; - stbi__get8(s); // discard Offset - tga_color_type = stbi__get8(s); // color type - if ( tga_color_type > 1 ) goto errorEnd; // only RGB or indexed allowed - sz = stbi__get8(s); // image type - if ( tga_color_type == 1 ) { // colormapped (paletted) image - if (sz != 1 && sz != 9) goto errorEnd; // colortype 1 demands image type 1 or 9 - stbi__skip(s,4); // skip index of first colormap entry and number of entries - sz = stbi__get8(s); // check bits per palette color entry - if ( (sz != 8) && (sz != 15) && (sz != 16) && (sz != 24) && (sz != 32) ) goto errorEnd; - stbi__skip(s,4); // skip image x and y origin - } else { // "normal" image w/o colormap - if ( (sz != 2) && (sz != 3) && (sz != 10) && (sz != 11) ) goto errorEnd; // only RGB or grey allowed, +/- RLE - stbi__skip(s,9); // skip colormap specification and image x/y origin - } - if ( stbi__get16le(s) < 1 ) goto errorEnd; // test width - if ( stbi__get16le(s) < 1 ) goto errorEnd; // test height - sz = stbi__get8(s); // bits per pixel - if ( (tga_color_type == 1) && (sz != 8) && (sz != 16) ) goto errorEnd; // for colormapped images, bpp is size of an index - if ( (sz != 8) && (sz != 15) && (sz != 16) && (sz != 24) && (sz != 32) ) goto errorEnd; - - res = 1; // if we got this far, everything's good and we can return 1 instead of 0 - -errorEnd: - stbi__rewind(s); - return res; -} - -// read 16bit value and convert to 24bit RGB -static void stbi__tga_read_rgb16(stbi__context *s, stbi_uc* out) -{ - stbi__uint16 px = (stbi__uint16)stbi__get16le(s); - stbi__uint16 fiveBitMask = 31; - // we have 3 channels with 5bits each - int r = (px >> 10) & fiveBitMask; - int g = (px >> 5) & fiveBitMask; - int b = px & fiveBitMask; - // Note that this saves the data in RGB(A) order, so it doesn't need to be swapped later - out[0] = (stbi_uc)((r * 255)/31); - out[1] = (stbi_uc)((g * 255)/31); - out[2] = (stbi_uc)((b * 255)/31); - - // some people claim that the most significant bit might be used for alpha - // (possibly if an alpha-bit is set in the "image descriptor byte") - // but that only made 16bit test images completely translucent.. - // so let's treat all 15 and 16bit TGAs as RGB with no alpha. -} - -static void *stbi__tga_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) -{ - // read in the TGA header stuff - int tga_offset = stbi__get8(s); - int tga_indexed = stbi__get8(s); - int tga_image_type = stbi__get8(s); - int tga_is_RLE = 0; - int tga_palette_start = stbi__get16le(s); - int tga_palette_len = stbi__get16le(s); - int tga_palette_bits = stbi__get8(s); - int tga_x_origin = stbi__get16le(s); - int tga_y_origin = stbi__get16le(s); - int tga_width = stbi__get16le(s); - int tga_height = stbi__get16le(s); - int tga_bits_per_pixel = stbi__get8(s); - int tga_comp, tga_rgb16=0; - int tga_inverted = stbi__get8(s); - // int tga_alpha_bits = tga_inverted & 15; // the 4 lowest bits - unused (useless?) - // image data - unsigned char *tga_data; - unsigned char *tga_palette = NULL; - int i, j; - unsigned char raw_data[4] = {0}; - int RLE_count = 0; - int RLE_repeating = 0; - int read_next_pixel = 1; - STBI_NOTUSED(ri); - - // do a tiny bit of precessing - if ( tga_image_type >= 8 ) - { - tga_image_type -= 8; - tga_is_RLE = 1; - } - tga_inverted = 1 - ((tga_inverted >> 5) & 1); - - // If I'm paletted, then I'll use the number of bits from the palette - if ( tga_indexed ) tga_comp = stbi__tga_get_comp(tga_palette_bits, 0, &tga_rgb16); - else tga_comp = stbi__tga_get_comp(tga_bits_per_pixel, (tga_image_type == 3), &tga_rgb16); - - if(!tga_comp) // shouldn't really happen, stbi__tga_test() should have ensured basic consistency - return stbi__errpuc("bad format", "Can't find out TGA pixelformat"); - - // tga info - *x = tga_width; - *y = tga_height; - if (comp) *comp = tga_comp; - - if (!stbi__mad3sizes_valid(tga_width, tga_height, tga_comp, 0)) - return stbi__errpuc("too large", "Corrupt TGA"); - - tga_data = (unsigned char*)stbi__malloc_mad3(tga_width, tga_height, tga_comp, 0); - if (!tga_data) return stbi__errpuc("outofmem", "Out of memory"); - - // skip to the data's starting position (offset usually = 0) - stbi__skip(s, tga_offset ); - - if ( !tga_indexed && !tga_is_RLE && !tga_rgb16 ) { - for (i=0; i < tga_height; ++i) { - int row = tga_inverted ? tga_height -i - 1 : i; - stbi_uc *tga_row = tga_data + row*tga_width*tga_comp; - stbi__getn(s, tga_row, tga_width * tga_comp); - } - } else { - // do I need to load a palette? - if ( tga_indexed) - { - // any data to skip? (offset usually = 0) - stbi__skip(s, tga_palette_start ); - // load the palette - tga_palette = (unsigned char*)stbi__malloc_mad2(tga_palette_len, tga_comp, 0); - if (!tga_palette) { - STBI_FREE(tga_data); - return stbi__errpuc("outofmem", "Out of memory"); - } - if (tga_rgb16) { - stbi_uc *pal_entry = tga_palette; - STBI_ASSERT(tga_comp == STBI_rgb); - for (i=0; i < tga_palette_len; ++i) { - stbi__tga_read_rgb16(s, pal_entry); - pal_entry += tga_comp; - } - } else if (!stbi__getn(s, tga_palette, tga_palette_len * tga_comp)) { - STBI_FREE(tga_data); - STBI_FREE(tga_palette); - return stbi__errpuc("bad palette", "Corrupt TGA"); - } - } - // load the data - for (i=0; i < tga_width * tga_height; ++i) - { - // if I'm in RLE mode, do I need to get a RLE stbi__pngchunk? - if ( tga_is_RLE ) - { - if ( RLE_count == 0 ) - { - // yep, get the next byte as a RLE command - int RLE_cmd = stbi__get8(s); - RLE_count = 1 + (RLE_cmd & 127); - RLE_repeating = RLE_cmd >> 7; - read_next_pixel = 1; - } else if ( !RLE_repeating ) - { - read_next_pixel = 1; - } - } else - { - read_next_pixel = 1; - } - // OK, if I need to read a pixel, do it now - if ( read_next_pixel ) - { - // load however much data we did have - if ( tga_indexed ) - { - // read in index, then perform the lookup - int pal_idx = (tga_bits_per_pixel == 8) ? stbi__get8(s) : stbi__get16le(s); - if ( pal_idx >= tga_palette_len ) { - // invalid index - pal_idx = 0; - } - pal_idx *= tga_comp; - for (j = 0; j < tga_comp; ++j) { - raw_data[j] = tga_palette[pal_idx+j]; - } - } else if(tga_rgb16) { - STBI_ASSERT(tga_comp == STBI_rgb); - stbi__tga_read_rgb16(s, raw_data); - } else { - // read in the data raw - for (j = 0; j < tga_comp; ++j) { - raw_data[j] = stbi__get8(s); - } - } - // clear the reading flag for the next pixel - read_next_pixel = 0; - } // end of reading a pixel - - // copy data - for (j = 0; j < tga_comp; ++j) - tga_data[i*tga_comp+j] = raw_data[j]; - - // in case we're in RLE mode, keep counting down - --RLE_count; - } - // do I need to invert the image? - if ( tga_inverted ) - { - for (j = 0; j*2 < tga_height; ++j) - { - int index1 = j * tga_width * tga_comp; - int index2 = (tga_height - 1 - j) * tga_width * tga_comp; - for (i = tga_width * tga_comp; i > 0; --i) - { - unsigned char temp = tga_data[index1]; - tga_data[index1] = tga_data[index2]; - tga_data[index2] = temp; - ++index1; - ++index2; - } - } - } - // clear my palette, if I had one - if ( tga_palette != NULL ) - { - STBI_FREE( tga_palette ); - } - } - - // swap RGB - if the source data was RGB16, it already is in the right order - if (tga_comp >= 3 && !tga_rgb16) - { - unsigned char* tga_pixel = tga_data; - for (i=0; i < tga_width * tga_height; ++i) - { - unsigned char temp = tga_pixel[0]; - tga_pixel[0] = tga_pixel[2]; - tga_pixel[2] = temp; - tga_pixel += tga_comp; - } - } - - // convert to target component count - if (req_comp && req_comp != tga_comp) - tga_data = stbi__convert_format(tga_data, tga_comp, req_comp, tga_width, tga_height); - - // the things I do to get rid of an error message, and yet keep - // Microsoft's C compilers happy... [8^( - tga_palette_start = tga_palette_len = tga_palette_bits = - tga_x_origin = tga_y_origin = 0; - // OK, done - return tga_data; -} -#endif - -// ************************************************************************************************* -// Photoshop PSD loader -- PD by Thatcher Ulrich, integration by Nicolas Schulz, tweaked by STB - -#ifndef STBI_NO_PSD -static int stbi__psd_test(stbi__context *s) -{ - int r = (stbi__get32be(s) == 0x38425053); - stbi__rewind(s); - return r; -} - -static int stbi__psd_decode_rle(stbi__context *s, stbi_uc *p, int pixelCount) -{ - int count, nleft, len; - - count = 0; - while ((nleft = pixelCount - count) > 0) { - len = stbi__get8(s); - if (len == 128) { - // No-op. - } else if (len < 128) { - // Copy next len+1 bytes literally. - len++; - if (len > nleft) return 0; // corrupt data - count += len; - while (len) { - *p = stbi__get8(s); - p += 4; - len--; - } - } else if (len > 128) { - stbi_uc val; - // Next -len+1 bytes in the dest are replicated from next source byte. - // (Interpret len as a negative 8-bit int.) - len = 257 - len; - if (len > nleft) return 0; // corrupt data - val = stbi__get8(s); - count += len; - while (len) { - *p = val; - p += 4; - len--; - } - } - } - - return 1; -} - -static void *stbi__psd_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri, int bpc) -{ - int pixelCount; - int channelCount, compression; - int channel, i; - int bitdepth; - int w,h; - stbi_uc *out; - STBI_NOTUSED(ri); - - // Check identifier - if (stbi__get32be(s) != 0x38425053) // "8BPS" - return stbi__errpuc("not PSD", "Corrupt PSD image"); - - // Check file type version. - if (stbi__get16be(s) != 1) - return stbi__errpuc("wrong version", "Unsupported version of PSD image"); - - // Skip 6 reserved bytes. - stbi__skip(s, 6 ); - - // Read the number of channels (R, G, B, A, etc). - channelCount = stbi__get16be(s); - if (channelCount < 0 || channelCount > 16) - return stbi__errpuc("wrong channel count", "Unsupported number of channels in PSD image"); - - // Read the rows and columns of the image. - h = stbi__get32be(s); - w = stbi__get32be(s); - - // Make sure the depth is 8 bits. - bitdepth = stbi__get16be(s); - if (bitdepth != 8 && bitdepth != 16) - return stbi__errpuc("unsupported bit depth", "PSD bit depth is not 8 or 16 bit"); - - // Make sure the color mode is RGB. - // Valid options are: - // 0: Bitmap - // 1: Grayscale - // 2: Indexed color - // 3: RGB color - // 4: CMYK color - // 7: Multichannel - // 8: Duotone - // 9: Lab color - if (stbi__get16be(s) != 3) - return stbi__errpuc("wrong color format", "PSD is not in RGB color format"); - - // Skip the Mode Data. (It's the palette for indexed color; other info for other modes.) - stbi__skip(s,stbi__get32be(s) ); - - // Skip the image resources. (resolution, pen tool paths, etc) - stbi__skip(s, stbi__get32be(s) ); - - // Skip the reserved data. - stbi__skip(s, stbi__get32be(s) ); - - // Find out if the data is compressed. - // Known values: - // 0: no compression - // 1: RLE compressed - compression = stbi__get16be(s); - if (compression > 1) - return stbi__errpuc("bad compression", "PSD has an unknown compression format"); - - // Check size - if (!stbi__mad3sizes_valid(4, w, h, 0)) - return stbi__errpuc("too large", "Corrupt PSD"); - - // Create the destination image. - - if (!compression && bitdepth == 16 && bpc == 16) { - out = (stbi_uc *) stbi__malloc_mad3(8, w, h, 0); - ri->bits_per_channel = 16; - } else - out = (stbi_uc *) stbi__malloc(4 * w*h); - - if (!out) return stbi__errpuc("outofmem", "Out of memory"); - pixelCount = w*h; - - // Initialize the data to zero. - //memset( out, 0, pixelCount * 4 ); - - // Finally, the image data. - if (compression) { - // RLE as used by .PSD and .TIFF - // Loop until you get the number of unpacked bytes you are expecting: - // Read the next source byte into n. - // If n is between 0 and 127 inclusive, copy the next n+1 bytes literally. - // Else if n is between -127 and -1 inclusive, copy the next byte -n+1 times. - // Else if n is 128, noop. - // Endloop - - // The RLE-compressed data is preceeded by a 2-byte data count for each row in the data, - // which we're going to just skip. - stbi__skip(s, h * channelCount * 2 ); - - // Read the RLE data by channel. - for (channel = 0; channel < 4; channel++) { - stbi_uc *p; - - p = out+channel; - if (channel >= channelCount) { - // Fill this channel with default data. - for (i = 0; i < pixelCount; i++, p += 4) - *p = (channel == 3 ? 255 : 0); - } else { - // Read the RLE data. - if (!stbi__psd_decode_rle(s, p, pixelCount)) { - STBI_FREE(out); - return stbi__errpuc("corrupt", "bad RLE data"); - } - } - } - - } else { - // We're at the raw image data. It's each channel in order (Red, Green, Blue, Alpha, ...) - // where each channel consists of an 8-bit (or 16-bit) value for each pixel in the image. - - // Read the data by channel. - for (channel = 0; channel < 4; channel++) { - if (channel >= channelCount) { - // Fill this channel with default data. - if (bitdepth == 16 && bpc == 16) { - stbi__uint16 *q = ((stbi__uint16 *) out) + channel; - stbi__uint16 val = channel == 3 ? 65535 : 0; - for (i = 0; i < pixelCount; i++, q += 4) - *q = val; - } else { - stbi_uc *p = out+channel; - stbi_uc val = channel == 3 ? 255 : 0; - for (i = 0; i < pixelCount; i++, p += 4) - *p = val; - } - } else { - if (ri->bits_per_channel == 16) { // output bpc - stbi__uint16 *q = ((stbi__uint16 *) out) + channel; - for (i = 0; i < pixelCount; i++, q += 4) - *q = (stbi__uint16) stbi__get16be(s); - } else { - stbi_uc *p = out+channel; - if (bitdepth == 16) { // input bpc - for (i = 0; i < pixelCount; i++, p += 4) - *p = (stbi_uc) (stbi__get16be(s) >> 8); - } else { - for (i = 0; i < pixelCount; i++, p += 4) - *p = stbi__get8(s); - } - } - } - } - } - - // remove weird white matte from PSD - if (channelCount >= 4) { - if (ri->bits_per_channel == 16) { - for (i=0; i < w*h; ++i) { - stbi__uint16 *pixel = (stbi__uint16 *) out + 4*i; - if (pixel[3] != 0 && pixel[3] != 65535) { - float a = pixel[3] / 65535.0f; - float ra = 1.0f / a; - float inv_a = 65535.0f * (1 - ra); - pixel[0] = (stbi__uint16) (pixel[0]*ra + inv_a); - pixel[1] = (stbi__uint16) (pixel[1]*ra + inv_a); - pixel[2] = (stbi__uint16) (pixel[2]*ra + inv_a); - } - } - } else { - for (i=0; i < w*h; ++i) { - unsigned char *pixel = out + 4*i; - if (pixel[3] != 0 && pixel[3] != 255) { - float a = pixel[3] / 255.0f; - float ra = 1.0f / a; - float inv_a = 255.0f * (1 - ra); - pixel[0] = (unsigned char) (pixel[0]*ra + inv_a); - pixel[1] = (unsigned char) (pixel[1]*ra + inv_a); - pixel[2] = (unsigned char) (pixel[2]*ra + inv_a); - } - } - } - } - - // convert to desired output format - if (req_comp && req_comp != 4) { - if (ri->bits_per_channel == 16) - out = (stbi_uc *) stbi__convert_format16((stbi__uint16 *) out, 4, req_comp, w, h); - else - out = stbi__convert_format(out, 4, req_comp, w, h); - if (out == NULL) return out; // stbi__convert_format frees input on failure - } - - if (comp) *comp = 4; - *y = h; - *x = w; - - return out; -} -#endif - -// ************************************************************************************************* -// Softimage PIC loader -// by Tom Seddon -// -// See http://softimage.wiki.softimage.com/index.php/INFO:_PIC_file_format -// See http://ozviz.wasp.uwa.edu.au/~pbourke/dataformats/softimagepic/ - -#ifndef STBI_NO_PIC -static int stbi__pic_is4(stbi__context *s,const char *str) -{ - int i; - for (i=0; i<4; ++i) - if (stbi__get8(s) != (stbi_uc)str[i]) - return 0; - - return 1; -} - -static int stbi__pic_test_core(stbi__context *s) -{ - int i; - - if (!stbi__pic_is4(s,"\x53\x80\xF6\x34")) - return 0; - - for(i=0;i<84;++i) - stbi__get8(s); - - if (!stbi__pic_is4(s,"PICT")) - return 0; - - return 1; -} - -typedef struct -{ - stbi_uc size,type,channel; -} stbi__pic_packet; - -static stbi_uc *stbi__readval(stbi__context *s, int channel, stbi_uc *dest) -{ - int mask=0x80, i; - - for (i=0; i<4; ++i, mask>>=1) { - if (channel & mask) { - if (stbi__at_eof(s)) return stbi__errpuc("bad file","PIC file too short"); - dest[i]=stbi__get8(s); - } - } - - return dest; -} - -static void stbi__copyval(int channel,stbi_uc *dest,const stbi_uc *src) -{ - int mask=0x80,i; - - for (i=0;i<4; ++i, mask>>=1) - if (channel&mask) - dest[i]=src[i]; -} - -static stbi_uc *stbi__pic_load_core(stbi__context *s,int width,int height,int *comp, stbi_uc *result) -{ - int act_comp=0,num_packets=0,y,chained; - stbi__pic_packet packets[10]; - - // this will (should...) cater for even some bizarre stuff like having data - // for the same channel in multiple packets. - do { - stbi__pic_packet *packet; - - if (num_packets==sizeof(packets)/sizeof(packets[0])) - return stbi__errpuc("bad format","too many packets"); - - packet = &packets[num_packets++]; - - chained = stbi__get8(s); - packet->size = stbi__get8(s); - packet->type = stbi__get8(s); - packet->channel = stbi__get8(s); - - act_comp |= packet->channel; - - if (stbi__at_eof(s)) return stbi__errpuc("bad file","file too short (reading packets)"); - if (packet->size != 8) return stbi__errpuc("bad format","packet isn't 8bpp"); - } while (chained); - - *comp = (act_comp & 0x10 ? 4 : 3); // has alpha channel? - - for(y=0; ytype) { - default: - return stbi__errpuc("bad format","packet has bad compression type"); - - case 0: {//uncompressed - int x; - - for(x=0;xchannel,dest)) - return 0; - break; - } - - case 1://Pure RLE - { - int left=width, i; - - while (left>0) { - stbi_uc count,value[4]; - - count=stbi__get8(s); - if (stbi__at_eof(s)) return stbi__errpuc("bad file","file too short (pure read count)"); - - if (count > left) - count = (stbi_uc) left; - - if (!stbi__readval(s,packet->channel,value)) return 0; - - for(i=0; ichannel,dest,value); - left -= count; - } - } - break; - - case 2: {//Mixed RLE - int left=width; - while (left>0) { - int count = stbi__get8(s), i; - if (stbi__at_eof(s)) return stbi__errpuc("bad file","file too short (mixed read count)"); - - if (count >= 128) { // Repeated - stbi_uc value[4]; - - if (count==128) - count = stbi__get16be(s); - else - count -= 127; - if (count > left) - return stbi__errpuc("bad file","scanline overrun"); - - if (!stbi__readval(s,packet->channel,value)) - return 0; - - for(i=0;ichannel,dest,value); - } else { // Raw - ++count; - if (count>left) return stbi__errpuc("bad file","scanline overrun"); - - for(i=0;ichannel,dest)) - return 0; - } - left-=count; - } - break; - } - } - } - } - - return result; -} - -static void *stbi__pic_load(stbi__context *s,int *px,int *py,int *comp,int req_comp, stbi__result_info *ri) -{ - stbi_uc *result; - int i, x,y, internal_comp; - STBI_NOTUSED(ri); - - if (!comp) comp = &internal_comp; - - for (i=0; i<92; ++i) - stbi__get8(s); - - x = stbi__get16be(s); - y = stbi__get16be(s); - if (stbi__at_eof(s)) return stbi__errpuc("bad file","file too short (pic header)"); - if (!stbi__mad3sizes_valid(x, y, 4, 0)) return stbi__errpuc("too large", "PIC image too large to decode"); - - stbi__get32be(s); //skip `ratio' - stbi__get16be(s); //skip `fields' - stbi__get16be(s); //skip `pad' - - // intermediate buffer is RGBA - result = (stbi_uc *) stbi__malloc_mad3(x, y, 4, 0); - memset(result, 0xff, x*y*4); - - if (!stbi__pic_load_core(s,x,y,comp, result)) { - STBI_FREE(result); - result=0; - } - *px = x; - *py = y; - if (req_comp == 0) req_comp = *comp; - result=stbi__convert_format(result,4,req_comp,x,y); - - return result; -} - -static int stbi__pic_test(stbi__context *s) -{ - int r = stbi__pic_test_core(s); - stbi__rewind(s); - return r; -} -#endif - -// ************************************************************************************************* -// GIF loader -- public domain by Jean-Marc Lienher -- simplified/shrunk by stb - -#ifndef STBI_NO_GIF -typedef struct -{ - stbi__int16 prefix; - stbi_uc first; - stbi_uc suffix; -} stbi__gif_lzw; - -typedef struct -{ - int w,h; - stbi_uc *out; // output buffer (always 4 components) - stbi_uc *background; // The current "background" as far as a gif is concerned - stbi_uc *history; - int flags, bgindex, ratio, transparent, eflags; - stbi_uc pal[256][4]; - stbi_uc lpal[256][4]; - stbi__gif_lzw codes[8192]; - stbi_uc *color_table; - int parse, step; - int lflags; - int start_x, start_y; - int max_x, max_y; - int cur_x, cur_y; - int line_size; - int delay; -} stbi__gif; - -static int stbi__gif_test_raw(stbi__context *s) -{ - int sz; - if (stbi__get8(s) != 'G' || stbi__get8(s) != 'I' || stbi__get8(s) != 'F' || stbi__get8(s) != '8') return 0; - sz = stbi__get8(s); - if (sz != '9' && sz != '7') return 0; - if (stbi__get8(s) != 'a') return 0; - return 1; -} - -static int stbi__gif_test(stbi__context *s) -{ - int r = stbi__gif_test_raw(s); - stbi__rewind(s); - return r; -} - -static void stbi__gif_parse_colortable(stbi__context *s, stbi_uc pal[256][4], int num_entries, int transp) -{ - int i; - for (i=0; i < num_entries; ++i) { - pal[i][2] = stbi__get8(s); - pal[i][1] = stbi__get8(s); - pal[i][0] = stbi__get8(s); - pal[i][3] = transp == i ? 0 : 255; - } -} - -static int stbi__gif_header(stbi__context *s, stbi__gif *g, int *comp, int is_info) -{ - stbi_uc version; - if (stbi__get8(s) != 'G' || stbi__get8(s) != 'I' || stbi__get8(s) != 'F' || stbi__get8(s) != '8') - return stbi__err("not GIF", "Corrupt GIF"); - - version = stbi__get8(s); - if (version != '7' && version != '9') return stbi__err("not GIF", "Corrupt GIF"); - if (stbi__get8(s) != 'a') return stbi__err("not GIF", "Corrupt GIF"); - - stbi__g_failure_reason = ""; - g->w = stbi__get16le(s); - g->h = stbi__get16le(s); - g->flags = stbi__get8(s); - g->bgindex = stbi__get8(s); - g->ratio = stbi__get8(s); - g->transparent = -1; - - if (comp != 0) *comp = 4; // can't actually tell whether it's 3 or 4 until we parse the comments - - if (is_info) return 1; - - if (g->flags & 0x80) - stbi__gif_parse_colortable(s,g->pal, 2 << (g->flags & 7), -1); - - return 1; -} - -static int stbi__gif_info_raw(stbi__context *s, int *x, int *y, int *comp) -{ - stbi__gif* g = (stbi__gif*) stbi__malloc(sizeof(stbi__gif)); - if (!stbi__gif_header(s, g, comp, 1)) { - STBI_FREE(g); - stbi__rewind( s ); - return 0; - } - if (x) *x = g->w; - if (y) *y = g->h; - STBI_FREE(g); - return 1; -} - -static void stbi__out_gif_code(stbi__gif *g, stbi__uint16 code) -{ - stbi_uc *p, *c; - int idx; - - // recurse to decode the prefixes, since the linked-list is backwards, - // and working backwards through an interleaved image would be nasty - if (g->codes[code].prefix >= 0) - stbi__out_gif_code(g, g->codes[code].prefix); - - if (g->cur_y >= g->max_y) return; - - idx = g->cur_x + g->cur_y; - p = &g->out[idx]; - g->history[idx / 4] = 1; - - c = &g->color_table[g->codes[code].suffix * 4]; - if (c[3] > 128) { // don't render transparent pixels; - p[0] = c[2]; - p[1] = c[1]; - p[2] = c[0]; - p[3] = c[3]; - } - g->cur_x += 4; - - if (g->cur_x >= g->max_x) { - g->cur_x = g->start_x; - g->cur_y += g->step; - - while (g->cur_y >= g->max_y && g->parse > 0) { - g->step = (1 << g->parse) * g->line_size; - g->cur_y = g->start_y + (g->step >> 1); - --g->parse; - } - } -} - -static stbi_uc *stbi__process_gif_raster(stbi__context *s, stbi__gif *g) -{ - stbi_uc lzw_cs; - stbi__int32 len, init_code; - stbi__uint32 first; - stbi__int32 codesize, codemask, avail, oldcode, bits, valid_bits, clear; - stbi__gif_lzw *p; - - lzw_cs = stbi__get8(s); - if (lzw_cs > 12) return NULL; - clear = 1 << lzw_cs; - first = 1; - codesize = lzw_cs + 1; - codemask = (1 << codesize) - 1; - bits = 0; - valid_bits = 0; - for (init_code = 0; init_code < clear; init_code++) { - g->codes[init_code].prefix = -1; - g->codes[init_code].first = (stbi_uc) init_code; - g->codes[init_code].suffix = (stbi_uc) init_code; - } - - // support no starting clear code - avail = clear+2; - oldcode = -1; - - len = 0; - for(;;) { - if (valid_bits < codesize) { - if (len == 0) { - len = stbi__get8(s); // start new block - if (len == 0) - return g->out; - } - --len; - bits |= (stbi__int32) stbi__get8(s) << valid_bits; - valid_bits += 8; - } else { - stbi__int32 code = bits & codemask; - bits >>= codesize; - valid_bits -= codesize; - // @OPTIMIZE: is there some way we can accelerate the non-clear path? - if (code == clear) { // clear code - codesize = lzw_cs + 1; - codemask = (1 << codesize) - 1; - avail = clear + 2; - oldcode = -1; - first = 0; - } else if (code == clear + 1) { // end of stream code - stbi__skip(s, len); - while ((len = stbi__get8(s)) > 0) - stbi__skip(s,len); - return g->out; - } else if (code <= avail) { - if (first) { - return stbi__errpuc("no clear code", "Corrupt GIF"); - } - - if (oldcode >= 0) { - p = &g->codes[avail++]; - if (avail > 8192) { - return stbi__errpuc("too many codes", "Corrupt GIF"); - } - - p->prefix = (stbi__int16) oldcode; - p->first = g->codes[oldcode].first; - p->suffix = (code == avail) ? p->first : g->codes[code].first; - } else if (code == avail) - return stbi__errpuc("illegal code in raster", "Corrupt GIF"); - - stbi__out_gif_code(g, (stbi__uint16) code); - - if ((avail & codemask) == 0 && avail <= 0x0FFF) { - codesize++; - codemask = (1 << codesize) - 1; - } - - oldcode = code; - } else { - return stbi__errpuc("illegal code in raster", "Corrupt GIF"); - } - } - } -} - -// this function is designed to support animated gifs, although stb_image doesn't support it -// two back is the image from two frames ago, used for a very specific disposal format -static stbi_uc *stbi__gif_load_next(stbi__context *s, stbi__gif *g, int *comp, int req_comp, stbi_uc *two_back) -{ - int dispose; - int first_frame; - int pi; - int pcount; - - // on first frame, any non-written pixels get the background colour (non-transparent) - first_frame = 0; - if (g->out == 0) { - if (!stbi__gif_header(s, g, comp,0)) return 0; // stbi__g_failure_reason set by stbi__gif_header - g->out = (stbi_uc *) stbi__malloc(4 * g->w * g->h); - g->background = (stbi_uc *) stbi__malloc(4 * g->w * g->h); - g->history = (stbi_uc *) stbi__malloc(g->w * g->h); - if (g->out == 0) return stbi__errpuc("outofmem", "Out of memory"); - - // image is treated as "tranparent" at the start - ie, nothing overwrites the current background; - // background colour is only used for pixels that are not rendered first frame, after that "background" - // color refers to teh color that was there the previous frame. - memset( g->out, 0x00, 4 * g->w * g->h ); - memset( g->background, 0x00, 4 * g->w * g->h ); // state of the background (starts transparent) - memset( g->history, 0x00, g->w * g->h ); // pixels that were affected previous frame - first_frame = 1; - } else { - // second frame - how do we dispoase of the previous one? - dispose = (g->eflags & 0x1C) >> 2; - pcount = g->w * g->h; - - if ((dispose == 3) && (two_back == 0)) { - dispose = 2; // if I don't have an image to revert back to, default to the old background - } - - if (dispose == 3) { // use previous graphic - for (pi = 0; pi < pcount; ++pi) { - if (g->history[pi]) { - memcpy( &g->out[pi * 4], &two_back[pi * 4], 4 ); - } - } - } else if (dispose == 2) { - // restore what was changed last frame to background before that frame; - for (pi = 0; pi < pcount; ++pi) { - if (g->history[pi]) { - memcpy( &g->out[pi * 4], &g->background[pi * 4], 4 ); - } - } - } else { - // This is a non-disposal case eithe way, so just - // leave the pixels as is, and they will become the new background - // 1: do not dispose - // 0: not specified. - } - - // background is what out is after the undoing of the previou frame; - memcpy( g->background, g->out, 4 * g->w * g->h ); - } - - // clear my history; - memset( g->history, 0x00, g->w * g->h ); // pixels that were affected previous frame - - for (;;) { - int tag = stbi__get8(s); - switch (tag) { - case 0x2C: /* Image Descriptor */ - { - stbi__int32 x, y, w, h; - stbi_uc *o; - - x = stbi__get16le(s); - y = stbi__get16le(s); - w = stbi__get16le(s); - h = stbi__get16le(s); - if (((x + w) > (g->w)) || ((y + h) > (g->h))) - return stbi__errpuc("bad Image Descriptor", "Corrupt GIF"); - - g->line_size = g->w * 4; - g->start_x = x * 4; - g->start_y = y * g->line_size; - g->max_x = g->start_x + w * 4; - g->max_y = g->start_y + h * g->line_size; - g->cur_x = g->start_x; - g->cur_y = g->start_y; - - g->lflags = stbi__get8(s); - - if (g->lflags & 0x40) { - g->step = 8 * g->line_size; // first interlaced spacing - g->parse = 3; - } else { - g->step = g->line_size; - g->parse = 0; - } - - if (g->lflags & 0x80) { - stbi__gif_parse_colortable(s,g->lpal, 2 << (g->lflags & 7), g->eflags & 0x01 ? g->transparent : -1); - g->color_table = (stbi_uc *) g->lpal; - } else if (g->flags & 0x80) { - g->color_table = (stbi_uc *) g->pal; - } else - return stbi__errpuc("missing color table", "Corrupt GIF"); - - o = stbi__process_gif_raster(s, g); - if (o == NULL) return NULL; - - // if this was the first frame, - pcount = g->w * g->h; - if (first_frame && (g->bgindex > 0)) { - // if first frame, any pixel not drawn to gets the background color - for (pi = 0; pi < pcount; ++pi) { - if (g->history[pi] == 0) { - g->pal[g->bgindex][3] = 255; // just in case it was made transparent, undo that; It will be reset next frame if need be; - memcpy( &g->out[pi * 4], &g->pal[g->bgindex], 4 ); - } - } - } - - return o; - } - - case 0x21: // Comment Extension. - { - int len; - int ext = stbi__get8(s); - if (ext == 0xF9) { // Graphic Control Extension. - len = stbi__get8(s); - if (len == 4) { - g->eflags = stbi__get8(s); - g->delay = 10 * stbi__get16le(s); // delay - 1/100th of a second, saving as 1/1000ths. - - // unset old transparent - if (g->transparent >= 0) { - g->pal[g->transparent][3] = 255; - } - if (g->eflags & 0x01) { - g->transparent = stbi__get8(s); - if (g->transparent >= 0) { - g->pal[g->transparent][3] = 0; - } - } else { - // don't need transparent - stbi__skip(s, 1); - g->transparent = -1; - } - } else { - stbi__skip(s, len); - break; - } - } - while ((len = stbi__get8(s)) != 0) { - stbi__skip(s, len); - } - break; - } - - case 0x3B: // gif stream termination code - return (stbi_uc *) s; // using '1' causes warning on some compilers - - default: - return stbi__errpuc("unknown code", "Corrupt GIF"); - } - } -} - -static void *stbi__load_gif_main(stbi__context *s, int **delays, int *x, int *y, int *z, int *comp, int req_comp) -{ - if (stbi__gif_test(s)) { - int layers = 0; - stbi_uc *u = 0; - stbi_uc *out = 0; - stbi_uc *two_back = 0; - stbi__gif g; - int stride; - memset(&g, 0, sizeof(g)); - if (delays) { - *delays = 0; - } - - do { - u = stbi__gif_load_next(s, &g, comp, req_comp, two_back); - if (u == (stbi_uc *) s) u = 0; // end of animated gif marker - - if (u) { - *x = g.w; - *y = g.h; - ++layers; - stride = g.w * g.h * 4; - - if (out) { - out = (stbi_uc*) STBI_REALLOC( out, layers * stride ); - if (delays) { - *delays = (int*) STBI_REALLOC( *delays, sizeof(int) * layers ); - } - } else { - out = (stbi_uc*)stbi__malloc( layers * stride ); - if (delays) { - *delays = (int*) stbi__malloc( layers * sizeof(int) ); - } - } - memcpy( out + ((layers - 1) * stride), u, stride ); - if (layers >= 2) { - two_back = out - 2 * stride; - } - - if (delays) { - (*delays)[layers - 1U] = g.delay; - } - } - } while (u != 0); - - // free temp buffer; - STBI_FREE(g.out); - STBI_FREE(g.history); - STBI_FREE(g.background); - - // do the final conversion after loading everything; - if (req_comp && req_comp != 4) - out = stbi__convert_format(out, 4, req_comp, layers * g.w, g.h); - - *z = layers; - return out; - } else { - return stbi__errpuc("not GIF", "Image was not as a gif type."); - } -} - -static void *stbi__gif_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) -{ - stbi_uc *u = 0; - stbi__gif g; - memset(&g, 0, sizeof(g)); - - u = stbi__gif_load_next(s, &g, comp, req_comp, 0); - if (u == (stbi_uc *) s) u = 0; // end of animated gif marker - if (u) { - *x = g.w; - *y = g.h; - - // moved conversion to after successful load so that the same - // can be done for multiple frames. - if (req_comp && req_comp != 4) - u = stbi__convert_format(u, 4, req_comp, g.w, g.h); - } - - // free buffers needed for multiple frame loading; - STBI_FREE(g.history); - STBI_FREE(g.background); - - return u; -} - -static int stbi__gif_info(stbi__context *s, int *x, int *y, int *comp) -{ - return stbi__gif_info_raw(s,x,y,comp); -} -#endif - -// ************************************************************************************************* -// Radiance RGBE HDR loader -// originally by Nicolas Schulz -#ifndef STBI_NO_HDR -static int stbi__hdr_test_core(stbi__context *s, const char *signature) -{ - int i; - for (i=0; signature[i]; ++i) - if (stbi__get8(s) != signature[i]) - return 0; - stbi__rewind(s); - return 1; -} - -static int stbi__hdr_test(stbi__context* s) -{ - int r = stbi__hdr_test_core(s, "#?RADIANCE\n"); - stbi__rewind(s); - if(!r) { - r = stbi__hdr_test_core(s, "#?RGBE\n"); - stbi__rewind(s); - } - return r; -} - -#define STBI__HDR_BUFLEN 1024 -static char *stbi__hdr_gettoken(stbi__context *z, char *buffer) -{ - int len=0; - char c = '\0'; - - c = (char) stbi__get8(z); - - while (!stbi__at_eof(z) && c != '\n') { - buffer[len++] = c; - if (len == STBI__HDR_BUFLEN-1) { - // flush to end of line - while (!stbi__at_eof(z) && stbi__get8(z) != '\n') - ; - break; - } - c = (char) stbi__get8(z); - } - - buffer[len] = 0; - return buffer; -} - -static void stbi__hdr_convert(float *output, stbi_uc *input, int req_comp) -{ - if ( input[3] != 0 ) { - float f1; - // Exponent - f1 = (float) ldexp(1.0f, input[3] - (int)(128 + 8)); - if (req_comp <= 2) - output[0] = (input[0] + input[1] + input[2]) * f1 / 3; - else { - output[0] = input[0] * f1; - output[1] = input[1] * f1; - output[2] = input[2] * f1; - } - if (req_comp == 2) output[1] = 1; - if (req_comp == 4) output[3] = 1; - } else { - switch (req_comp) { - case 4: output[3] = 1; /* fallthrough */ - case 3: output[0] = output[1] = output[2] = 0; - break; - case 2: output[1] = 1; /* fallthrough */ - case 1: output[0] = 0; - break; - } - } -} - -static float *stbi__hdr_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) -{ - char buffer[STBI__HDR_BUFLEN]; - char *token; - int valid = 0; - int width, height; - stbi_uc *scanline; - float *hdr_data; - int len; - unsigned char count, value; - int i, j, k, c1,c2, z; - const char *headerToken; - STBI_NOTUSED(ri); - - // Check identifier - headerToken = stbi__hdr_gettoken(s,buffer); - if (strcmp(headerToken, "#?RADIANCE") != 0 && strcmp(headerToken, "#?RGBE") != 0) - return stbi__errpf("not HDR", "Corrupt HDR image"); - - // Parse header - for(;;) { - token = stbi__hdr_gettoken(s,buffer); - if (token[0] == 0) break; - if (strcmp(token, "FORMAT=32-bit_rle_rgbe") == 0) valid = 1; - } - - if (!valid) return stbi__errpf("unsupported format", "Unsupported HDR format"); - - // Parse width and height - // can't use sscanf() if we're not using stdio! - token = stbi__hdr_gettoken(s,buffer); - if (strncmp(token, "-Y ", 3)) return stbi__errpf("unsupported data layout", "Unsupported HDR format"); - token += 3; - height = (int) strtol(token, &token, 10); - while (*token == ' ') ++token; - if (strncmp(token, "+X ", 3)) return stbi__errpf("unsupported data layout", "Unsupported HDR format"); - token += 3; - width = (int) strtol(token, NULL, 10); - - *x = width; - *y = height; - - if (comp) *comp = 3; - if (req_comp == 0) req_comp = 3; - - if (!stbi__mad4sizes_valid(width, height, req_comp, sizeof(float), 0)) - return stbi__errpf("too large", "HDR image is too large"); - - // Read data - hdr_data = (float *) stbi__malloc_mad4(width, height, req_comp, sizeof(float), 0); - if (!hdr_data) - return stbi__errpf("outofmem", "Out of memory"); - - // Load image data - // image data is stored as some number of sca - if ( width < 8 || width >= 32768) { - // Read flat data - for (j=0; j < height; ++j) { - for (i=0; i < width; ++i) { - stbi_uc rgbe[4]; - main_decode_loop: - stbi__getn(s, rgbe, 4); - stbi__hdr_convert(hdr_data + j * width * req_comp + i * req_comp, rgbe, req_comp); - } - } - } else { - // Read RLE-encoded data - scanline = NULL; - - for (j = 0; j < height; ++j) { - c1 = stbi__get8(s); - c2 = stbi__get8(s); - len = stbi__get8(s); - if (c1 != 2 || c2 != 2 || (len & 0x80)) { - // not run-length encoded, so we have to actually use THIS data as a decoded - // pixel (note this can't be a valid pixel--one of RGB must be >= 128) - stbi_uc rgbe[4]; - rgbe[0] = (stbi_uc) c1; - rgbe[1] = (stbi_uc) c2; - rgbe[2] = (stbi_uc) len; - rgbe[3] = (stbi_uc) stbi__get8(s); - stbi__hdr_convert(hdr_data, rgbe, req_comp); - i = 1; - j = 0; - STBI_FREE(scanline); - goto main_decode_loop; // yes, this makes no sense - } - len <<= 8; - len |= stbi__get8(s); - if (len != width) { STBI_FREE(hdr_data); STBI_FREE(scanline); return stbi__errpf("invalid decoded scanline length", "corrupt HDR"); } - if (scanline == NULL) { - scanline = (stbi_uc *) stbi__malloc_mad2(width, 4, 0); - if (!scanline) { - STBI_FREE(hdr_data); - return stbi__errpf("outofmem", "Out of memory"); - } - } - - for (k = 0; k < 4; ++k) { - int nleft; - i = 0; - while ((nleft = width - i) > 0) { - count = stbi__get8(s); - if (count > 128) { - // Run - value = stbi__get8(s); - count -= 128; - if (count > nleft) { STBI_FREE(hdr_data); STBI_FREE(scanline); return stbi__errpf("corrupt", "bad RLE data in HDR"); } - for (z = 0; z < count; ++z) - scanline[i++ * 4 + k] = value; - } else { - // Dump - if (count > nleft) { STBI_FREE(hdr_data); STBI_FREE(scanline); return stbi__errpf("corrupt", "bad RLE data in HDR"); } - for (z = 0; z < count; ++z) - scanline[i++ * 4 + k] = stbi__get8(s); - } - } - } - for (i=0; i < width; ++i) - stbi__hdr_convert(hdr_data+(j*width + i)*req_comp, scanline + i*4, req_comp); - } - if (scanline) - STBI_FREE(scanline); - } - - return hdr_data; -} - -static int stbi__hdr_info(stbi__context *s, int *x, int *y, int *comp) -{ - char buffer[STBI__HDR_BUFLEN]; - char *token; - int valid = 0; - int dummy; - - if (!x) x = &dummy; - if (!y) y = &dummy; - if (!comp) comp = &dummy; - - if (stbi__hdr_test(s) == 0) { - stbi__rewind( s ); - return 0; - } - - for(;;) { - token = stbi__hdr_gettoken(s,buffer); - if (token[0] == 0) break; - if (strcmp(token, "FORMAT=32-bit_rle_rgbe") == 0) valid = 1; - } - - if (!valid) { - stbi__rewind( s ); - return 0; - } - token = stbi__hdr_gettoken(s,buffer); - if (strncmp(token, "-Y ", 3)) { - stbi__rewind( s ); - return 0; - } - token += 3; - *y = (int) strtol(token, &token, 10); - while (*token == ' ') ++token; - if (strncmp(token, "+X ", 3)) { - stbi__rewind( s ); - return 0; - } - token += 3; - *x = (int) strtol(token, NULL, 10); - *comp = 3; - return 1; -} -#endif // STBI_NO_HDR - -#ifndef STBI_NO_BMP -static int stbi__bmp_info(stbi__context *s, int *x, int *y, int *comp) -{ - void *p; - stbi__bmp_data info; - - info.all_a = 255; - p = stbi__bmp_parse_header(s, &info); - stbi__rewind( s ); - if (p == NULL) - return 0; - if (x) *x = s->img_x; - if (y) *y = s->img_y; - if (comp) *comp = info.ma ? 4 : 3; - return 1; -} -#endif - -#ifndef STBI_NO_PSD -static int stbi__psd_info(stbi__context *s, int *x, int *y, int *comp) -{ - int channelCount, dummy, depth; - if (!x) x = &dummy; - if (!y) y = &dummy; - if (!comp) comp = &dummy; - if (stbi__get32be(s) != 0x38425053) { - stbi__rewind( s ); - return 0; - } - if (stbi__get16be(s) != 1) { - stbi__rewind( s ); - return 0; - } - stbi__skip(s, 6); - channelCount = stbi__get16be(s); - if (channelCount < 0 || channelCount > 16) { - stbi__rewind( s ); - return 0; - } - *y = stbi__get32be(s); - *x = stbi__get32be(s); - depth = stbi__get16be(s); - if (depth != 8 && depth != 16) { - stbi__rewind( s ); - return 0; - } - if (stbi__get16be(s) != 3) { - stbi__rewind( s ); - return 0; - } - *comp = 4; - return 1; -} - -static int stbi__psd_is16(stbi__context *s) -{ - int channelCount, depth; - if (stbi__get32be(s) != 0x38425053) { - stbi__rewind( s ); - return 0; - } - if (stbi__get16be(s) != 1) { - stbi__rewind( s ); - return 0; - } - stbi__skip(s, 6); - channelCount = stbi__get16be(s); - if (channelCount < 0 || channelCount > 16) { - stbi__rewind( s ); - return 0; - } - (void) stbi__get32be(s); - (void) stbi__get32be(s); - depth = stbi__get16be(s); - if (depth != 16) { - stbi__rewind( s ); - return 0; - } - return 1; -} -#endif - -#ifndef STBI_NO_PIC -static int stbi__pic_info(stbi__context *s, int *x, int *y, int *comp) -{ - int act_comp=0,num_packets=0,chained,dummy; - stbi__pic_packet packets[10]; - - if (!x) x = &dummy; - if (!y) y = &dummy; - if (!comp) comp = &dummy; - - if (!stbi__pic_is4(s,"\x53\x80\xF6\x34")) { - stbi__rewind(s); - return 0; - } - - stbi__skip(s, 88); - - *x = stbi__get16be(s); - *y = stbi__get16be(s); - if (stbi__at_eof(s)) { - stbi__rewind( s); - return 0; - } - if ( (*x) != 0 && (1 << 28) / (*x) < (*y)) { - stbi__rewind( s ); - return 0; - } - - stbi__skip(s, 8); - - do { - stbi__pic_packet *packet; - - if (num_packets==sizeof(packets)/sizeof(packets[0])) - return 0; - - packet = &packets[num_packets++]; - chained = stbi__get8(s); - packet->size = stbi__get8(s); - packet->type = stbi__get8(s); - packet->channel = stbi__get8(s); - act_comp |= packet->channel; - - if (stbi__at_eof(s)) { - stbi__rewind( s ); - return 0; - } - if (packet->size != 8) { - stbi__rewind( s ); - return 0; - } - } while (chained); - - *comp = (act_comp & 0x10 ? 4 : 3); - - return 1; -} -#endif - -// ************************************************************************************************* -// Portable Gray Map and Portable Pixel Map loader -// by Ken Miller -// -// PGM: http://netpbm.sourceforge.net/doc/pgm.html -// PPM: http://netpbm.sourceforge.net/doc/ppm.html -// -// Known limitations: -// Does not support comments in the header section -// Does not support ASCII image data (formats P2 and P3) -// Does not support 16-bit-per-channel - -#ifndef STBI_NO_PNM - -static int stbi__pnm_test(stbi__context *s) -{ - char p, t; - p = (char) stbi__get8(s); - t = (char) stbi__get8(s); - if (p != 'P' || (t != '5' && t != '6')) { - stbi__rewind( s ); - return 0; - } - return 1; -} - -static void *stbi__pnm_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) -{ - stbi_uc *out; - STBI_NOTUSED(ri); - - if (!stbi__pnm_info(s, (int *)&s->img_x, (int *)&s->img_y, (int *)&s->img_n)) - return 0; - - *x = s->img_x; - *y = s->img_y; - if (comp) *comp = s->img_n; - - if (!stbi__mad3sizes_valid(s->img_n, s->img_x, s->img_y, 0)) - return stbi__errpuc("too large", "PNM too large"); - - out = (stbi_uc *) stbi__malloc_mad3(s->img_n, s->img_x, s->img_y, 0); - if (!out) return stbi__errpuc("outofmem", "Out of memory"); - stbi__getn(s, out, s->img_n * s->img_x * s->img_y); - - if (req_comp && req_comp != s->img_n) { - out = stbi__convert_format(out, s->img_n, req_comp, s->img_x, s->img_y); - if (out == NULL) return out; // stbi__convert_format frees input on failure - } - return out; -} - -static int stbi__pnm_isspace(char c) -{ - return c == ' ' || c == '\t' || c == '\n' || c == '\v' || c == '\f' || c == '\r'; -} - -static void stbi__pnm_skip_whitespace(stbi__context *s, char *c) -{ - for (;;) { - while (!stbi__at_eof(s) && stbi__pnm_isspace(*c)) - *c = (char) stbi__get8(s); - - if (stbi__at_eof(s) || *c != '#') - break; - - while (!stbi__at_eof(s) && *c != '\n' && *c != '\r' ) - *c = (char) stbi__get8(s); - } -} - -static int stbi__pnm_isdigit(char c) -{ - return c >= '0' && c <= '9'; -} - -static int stbi__pnm_getinteger(stbi__context *s, char *c) -{ - int value = 0; - - while (!stbi__at_eof(s) && stbi__pnm_isdigit(*c)) { - value = value*10 + (*c - '0'); - *c = (char) stbi__get8(s); - } - - return value; -} - -static int stbi__pnm_info(stbi__context *s, int *x, int *y, int *comp) -{ - int maxv, dummy; - char c, p, t; - - if (!x) x = &dummy; - if (!y) y = &dummy; - if (!comp) comp = &dummy; - - stbi__rewind(s); - - // Get identifier - p = (char) stbi__get8(s); - t = (char) stbi__get8(s); - if (p != 'P' || (t != '5' && t != '6')) { - stbi__rewind(s); - return 0; - } - - *comp = (t == '6') ? 3 : 1; // '5' is 1-component .pgm; '6' is 3-component .ppm - - c = (char) stbi__get8(s); - stbi__pnm_skip_whitespace(s, &c); - - *x = stbi__pnm_getinteger(s, &c); // read width - stbi__pnm_skip_whitespace(s, &c); - - *y = stbi__pnm_getinteger(s, &c); // read height - stbi__pnm_skip_whitespace(s, &c); - - maxv = stbi__pnm_getinteger(s, &c); // read max value - - if (maxv > 255) - return stbi__err("max value > 255", "PPM image not 8-bit"); - else - return 1; -} -#endif - -static int stbi__info_main(stbi__context *s, int *x, int *y, int *comp) -{ - #ifndef STBI_NO_JPEG - if (stbi__jpeg_info(s, x, y, comp)) return 1; - #endif - - #ifndef STBI_NO_PNG - if (stbi__png_info(s, x, y, comp)) return 1; - #endif - - #ifndef STBI_NO_GIF - if (stbi__gif_info(s, x, y, comp)) return 1; - #endif - - #ifndef STBI_NO_BMP - if (stbi__bmp_info(s, x, y, comp)) return 1; - #endif - - #ifndef STBI_NO_PSD - if (stbi__psd_info(s, x, y, comp)) return 1; - #endif - - #ifndef STBI_NO_PIC - if (stbi__pic_info(s, x, y, comp)) return 1; - #endif - - #ifndef STBI_NO_PNM - if (stbi__pnm_info(s, x, y, comp)) return 1; - #endif - - #ifndef STBI_NO_HDR - if (stbi__hdr_info(s, x, y, comp)) return 1; - #endif - - // test tga last because it's a crappy test! - #ifndef STBI_NO_TGA - if (stbi__tga_info(s, x, y, comp)) - return 1; - #endif - return stbi__err("unknown image type", "Image not of any known type, or corrupt"); -} - -static int stbi__is_16_main(stbi__context *s) -{ - #ifndef STBI_NO_PNG - if (stbi__png_is16(s)) return 1; - #endif - - #ifndef STBI_NO_PSD - if (stbi__psd_is16(s)) return 1; - #endif - - return 0; -} - -#ifndef STBI_NO_STDIO -STBIDEF int stbi_info(char const *filename, int *x, int *y, int *comp) -{ - FILE *f = stbi__fopen(filename, "rb"); - int result; - if (!f) return stbi__err("can't fopen", "Unable to open file"); - result = stbi_info_from_file(f, x, y, comp); - fclose(f); - return result; -} - -STBIDEF int stbi_info_from_file(FILE *f, int *x, int *y, int *comp) -{ - int r; - stbi__context s; - long pos = ftell(f); - stbi__start_file(&s, f); - r = stbi__info_main(&s,x,y,comp); - fseek(f,pos,SEEK_SET); - return r; -} - -STBIDEF int stbi_is_16_bit(char const *filename) -{ - FILE *f = stbi__fopen(filename, "rb"); - int result; - if (!f) return stbi__err("can't fopen", "Unable to open file"); - result = stbi_is_16_bit_from_file(f); - fclose(f); - return result; -} - -STBIDEF int stbi_is_16_bit_from_file(FILE *f) -{ - int r; - stbi__context s; - long pos = ftell(f); - stbi__start_file(&s, f); - r = stbi__is_16_main(&s); - fseek(f,pos,SEEK_SET); - return r; -} -#endif // !STBI_NO_STDIO - -STBIDEF int stbi_info_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp) -{ - stbi__context s; - stbi__start_mem(&s,buffer,len); - return stbi__info_main(&s,x,y,comp); -} - -STBIDEF int stbi_info_from_callbacks(stbi_io_callbacks const *c, void *user, int *x, int *y, int *comp) -{ - stbi__context s; - stbi__start_callbacks(&s, (stbi_io_callbacks *) c, user); - return stbi__info_main(&s,x,y,comp); -} - -STBIDEF int stbi_is_16_bit_from_memory(stbi_uc const *buffer, int len) -{ - stbi__context s; - stbi__start_mem(&s,buffer,len); - return stbi__is_16_main(&s); -} - -STBIDEF int stbi_is_16_bit_from_callbacks(stbi_io_callbacks const *c, void *user) -{ - stbi__context s; - stbi__start_callbacks(&s, (stbi_io_callbacks *) c, user); - return stbi__is_16_main(&s); -} - -#endif // STB_IMAGE_IMPLEMENTATION - -/* - revision history: - 2.19 (2018-02-11) fix warning - 2.18 (2018-01-30) fix warnings - 2.17 (2018-01-29) change sbti__shiftsigned to avoid clang -O2 bug - 1-bit BMP - *_is_16_bit api - avoid warnings - 2.16 (2017-07-23) all functions have 16-bit variants; - STBI_NO_STDIO works again; - compilation fixes; - fix rounding in unpremultiply; - optimize vertical flip; - disable raw_len validation; - documentation fixes - 2.15 (2017-03-18) fix png-1,2,4 bug; now all Imagenet JPGs decode; - warning fixes; disable run-time SSE detection on gcc; - uniform handling of optional "return" values; - thread-safe initialization of zlib tables - 2.14 (2017-03-03) remove deprecated STBI_JPEG_OLD; fixes for Imagenet JPGs - 2.13 (2016-11-29) add 16-bit API, only supported for PNG right now - 2.12 (2016-04-02) fix typo in 2.11 PSD fix that caused crashes - 2.11 (2016-04-02) allocate large structures on the stack - remove white matting for transparent PSD - fix reported channel count for PNG & BMP - re-enable SSE2 in non-gcc 64-bit - support RGB-formatted JPEG - read 16-bit PNGs (only as 8-bit) - 2.10 (2016-01-22) avoid warning introduced in 2.09 by STBI_REALLOC_SIZED - 2.09 (2016-01-16) allow comments in PNM files - 16-bit-per-pixel TGA (not bit-per-component) - info() for TGA could break due to .hdr handling - info() for BMP to shares code instead of sloppy parse - can use STBI_REALLOC_SIZED if allocator doesn't support realloc - code cleanup - 2.08 (2015-09-13) fix to 2.07 cleanup, reading RGB PSD as RGBA - 2.07 (2015-09-13) fix compiler warnings - partial animated GIF support - limited 16-bpc PSD support - #ifdef unused functions - bug with < 92 byte PIC,PNM,HDR,TGA - 2.06 (2015-04-19) fix bug where PSD returns wrong '*comp' value - 2.05 (2015-04-19) fix bug in progressive JPEG handling, fix warning - 2.04 (2015-04-15) try to re-enable SIMD on MinGW 64-bit - 2.03 (2015-04-12) extra corruption checking (mmozeiko) - stbi_set_flip_vertically_on_load (nguillemot) - fix NEON support; fix mingw support - 2.02 (2015-01-19) fix incorrect assert, fix warning - 2.01 (2015-01-17) fix various warnings; suppress SIMD on gcc 32-bit without -msse2 - 2.00b (2014-12-25) fix STBI_MALLOC in progressive JPEG - 2.00 (2014-12-25) optimize JPG, including x86 SSE2 & NEON SIMD (ryg) - progressive JPEG (stb) - PGM/PPM support (Ken Miller) - STBI_MALLOC,STBI_REALLOC,STBI_FREE - GIF bugfix -- seemingly never worked - STBI_NO_*, STBI_ONLY_* - 1.48 (2014-12-14) fix incorrectly-named assert() - 1.47 (2014-12-14) 1/2/4-bit PNG support, both direct and paletted (Omar Cornut & stb) - optimize PNG (ryg) - fix bug in interlaced PNG with user-specified channel count (stb) - 1.46 (2014-08-26) - fix broken tRNS chunk (colorkey-style transparency) in non-paletted PNG - 1.45 (2014-08-16) - fix MSVC-ARM internal compiler error by wrapping malloc - 1.44 (2014-08-07) - various warning fixes from Ronny Chevalier - 1.43 (2014-07-15) - fix MSVC-only compiler problem in code changed in 1.42 - 1.42 (2014-07-09) - don't define _CRT_SECURE_NO_WARNINGS (affects user code) - fixes to stbi__cleanup_jpeg path - added STBI_ASSERT to avoid requiring assert.h - 1.41 (2014-06-25) - fix search&replace from 1.36 that messed up comments/error messages - 1.40 (2014-06-22) - fix gcc struct-initialization warning - 1.39 (2014-06-15) - fix to TGA optimization when req_comp != number of components in TGA; - fix to GIF loading because BMP wasn't rewinding (whoops, no GIFs in my test suite) - add support for BMP version 5 (more ignored fields) - 1.38 (2014-06-06) - suppress MSVC warnings on integer casts truncating values - fix accidental rename of 'skip' field of I/O - 1.37 (2014-06-04) - remove duplicate typedef - 1.36 (2014-06-03) - convert to header file single-file library - if de-iphone isn't set, load iphone images color-swapped instead of returning NULL - 1.35 (2014-05-27) - various warnings - fix broken STBI_SIMD path - fix bug where stbi_load_from_file no longer left file pointer in correct place - fix broken non-easy path for 32-bit BMP (possibly never used) - TGA optimization by Arseny Kapoulkine - 1.34 (unknown) - use STBI_NOTUSED in stbi__resample_row_generic(), fix one more leak in tga failure case - 1.33 (2011-07-14) - make stbi_is_hdr work in STBI_NO_HDR (as specified), minor compiler-friendly improvements - 1.32 (2011-07-13) - support for "info" function for all supported filetypes (SpartanJ) - 1.31 (2011-06-20) - a few more leak fixes, bug in PNG handling (SpartanJ) - 1.30 (2011-06-11) - added ability to load files via callbacks to accomidate custom input streams (Ben Wenger) - removed deprecated format-specific test/load functions - removed support for installable file formats (stbi_loader) -- would have been broken for IO callbacks anyway - error cases in bmp and tga give messages and don't leak (Raymond Barbiero, grisha) - fix inefficiency in decoding 32-bit BMP (David Woo) - 1.29 (2010-08-16) - various warning fixes from Aurelien Pocheville - 1.28 (2010-08-01) - fix bug in GIF palette transparency (SpartanJ) - 1.27 (2010-08-01) - cast-to-stbi_uc to fix warnings - 1.26 (2010-07-24) - fix bug in file buffering for PNG reported by SpartanJ - 1.25 (2010-07-17) - refix trans_data warning (Won Chun) - 1.24 (2010-07-12) - perf improvements reading from files on platforms with lock-heavy fgetc() - minor perf improvements for jpeg - deprecated type-specific functions so we'll get feedback if they're needed - attempt to fix trans_data warning (Won Chun) - 1.23 fixed bug in iPhone support - 1.22 (2010-07-10) - removed image *writing* support - stbi_info support from Jetro Lauha - GIF support from Jean-Marc Lienher - iPhone PNG-extensions from James Brown - warning-fixes from Nicolas Schulz and Janez Zemva (i.stbi__err. Janez (U+017D)emva) - 1.21 fix use of 'stbi_uc' in header (reported by jon blow) - 1.20 added support for Softimage PIC, by Tom Seddon - 1.19 bug in interlaced PNG corruption check (found by ryg) - 1.18 (2008-08-02) - fix a threading bug (local mutable static) - 1.17 support interlaced PNG - 1.16 major bugfix - stbi__convert_format converted one too many pixels - 1.15 initialize some fields for thread safety - 1.14 fix threadsafe conversion bug - header-file-only version (#define STBI_HEADER_FILE_ONLY before including) - 1.13 threadsafe - 1.12 const qualifiers in the API - 1.11 Support installable IDCT, colorspace conversion routines - 1.10 Fixes for 64-bit (don't use "unsigned long") - optimized upsampling by Fabian "ryg" Giesen - 1.09 Fix format-conversion for PSD code (bad global variables!) - 1.08 Thatcher Ulrich's PSD code integrated by Nicolas Schulz - 1.07 attempt to fix C++ warning/errors again - 1.06 attempt to fix C++ warning/errors again - 1.05 fix TGA loading to return correct *comp and use good luminance calc - 1.04 default float alpha is 1, not 255; use 'void *' for stbi_image_free - 1.03 bugfixes to STBI_NO_STDIO, STBI_NO_HDR - 1.02 support for (subset of) HDR files, float interface for preferred access to them - 1.01 fix bug: possible bug in handling right-side up bmps... not sure - fix bug: the stbi__bmp_load() and stbi__tga_load() functions didn't work at all - 1.00 interface to zlib that skips zlib header - 0.99 correct handling of alpha in palette - 0.98 TGA loader by lonesock; dynamically add loaders (untested) - 0.97 jpeg errors on too large a file; also catch another malloc failure - 0.96 fix detection of invalid v value - particleman@mollyrocket forum - 0.95 during header scan, seek to markers in case of padding - 0.94 STBI_NO_STDIO to disable stdio usage; rename all #defines the same - 0.93 handle jpegtran output; verbose errors - 0.92 read 4,8,16,24,32-bit BMP files of several formats - 0.91 output 24-bit Windows 3.0 BMP files - 0.90 fix a few more warnings; bump version number to approach 1.0 - 0.61 bugfixes due to Marc LeBlanc, Christopher Lloyd - 0.60 fix compiling as c++ - 0.59 fix warnings: merge Dave Moore's -Wall fixes - 0.58 fix bug: zlib uncompressed mode len/nlen was wrong endian - 0.57 fix bug: jpg last huffman symbol before marker was >9 bits but less than 16 available - 0.56 fix bug: zlib uncompressed mode len vs. nlen - 0.55 fix bug: restart_interval not initialized to 0 - 0.54 allow NULL for 'int *comp' - 0.53 fix bug in png 3->4; speedup png decoding - 0.52 png handles req_comp=3,4 directly; minor cleanup; jpeg comments - 0.51 obey req_comp requests, 1-component jpegs return as 1-component, - on 'test' only check type, not whether we support this variant - 0.50 (2006-11-19) - first released version -*/ - - -/* ------------------------------------------------------------------------------- -This software is available under 2 licenses -- choose whichever you prefer. ------------------------------------------------------------------------------- -ALTERNATIVE A - MIT License -Copyright (c) 2017 Sean Barrett -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. ------------------------------------------------------------------------------- -ALTERNATIVE B - Public Domain (www.unlicense.org) -This is free and unencumbered software released into the public domain. -Anyone is free to copy, modify, publish, use, compile, sell, or distribute this -software, either in source code form or as a compiled binary, for any purpose, -commercial or non-commercial, and by any means. -In jurisdictions that recognize copyright laws, the author or authors of this -software dedicate any and all copyright interest in the software to the public -domain. We make this dedication for the benefit of the public at large and to -the detriment of our heirs and successors. We intend this dedication to be an -overt act of relinquishment in perpetuity of all present and future rights to -this software under copyright law. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------- -*/ diff --git a/submodules/RLottie/Sources/rlottie/src/vector/vbezier.cpp b/submodules/RLottie/Sources/rlottie/src/vector/vbezier.cpp deleted file mode 100644 index c5d7a173da..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/vbezier.cpp +++ /dev/null @@ -1,138 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "vbezier.h" -#include -#include "vline.h" - -V_BEGIN_NAMESPACE - -VBezier VBezier::fromPoints(const VPointF &p1, const VPointF &p2, - const VPointF &p3, const VPointF &p4) -{ - VBezier b; - b.x1 = p1.x(); - b.y1 = p1.y(); - b.x2 = p2.x(); - b.y2 = p2.y(); - b.x3 = p3.x(); - b.y3 = p3.y(); - b.x4 = p4.x(); - b.y4 = p4.y(); - return b; -} - -float VBezier::length() const -{ - VBezier left, right; /* bez poly splits */ - float len = 0.0; /* arc length */ - float chord; /* chord length */ - float length; - - len = len + VLine::length(x1, y1, x2, y2); - len = len + VLine::length(x2, y2, x3, y3); - len = len + VLine::length(x3, y3, x4, y4); - - chord = VLine::length(x1, y1, x4, y4); - - if ((len - chord) > 0.01) { - split(&left, &right); /* split in two */ - length = left.length() + /* try left side */ - right.length(); /* try right side */ - - return length; - } - - return len; -} - -VBezier VBezier::onInterval(float t0, float t1) const -{ - if (t0 == 0 && t1 == 1) return *this; - - VBezier bezier = *this; - - VBezier result; - bezier.parameterSplitLeft(t0, &result); - float trueT = (t1 - t0) / (1 - t0); - bezier.parameterSplitLeft(trueT, &result); - - return result; -} - -float VBezier::tAtLength(float l) const -{ - float len = length(); - float t = 1.0; - const float error = 0.01; - if (l > len || vCompare(l, len)) return t; - - t *= 0.5; - - float lastBigger = 1.0; - while (1) { - VBezier right = *this; - VBezier left; - right.parameterSplitLeft(t, &left); - float lLen = left.length(); - if (fabs(lLen - l) < error) break; - - if (lLen < l) { - t += (lastBigger - t) * 0.5; - } else { - lastBigger = t; - t -= t * 0.5; - } - } - return t; -} - -void VBezier::splitAtLength(float len, VBezier *left, VBezier *right) -{ - float t; - - *right = *this; - t = right->tAtLength(len); - right->parameterSplitLeft(t, left); -} - -VPointF VBezier::derivative(float t) const -{ - // p'(t) = 3 * (-(1-2t+t^2) * p0 + (1 - 4 * t + 3 * t^2) * p1 + (2 * t - 3 * - // t^2) * p2 + t^2 * p3) - - float m_t = 1. - t; - - float d = t * t; - float a = -m_t * m_t; - float b = 1 - 4 * t + 3 * d; - float c = 2 * t - 3 * d; - - return 3 * VPointF(a * x1 + b * x2 + c * x3 + d * x4, - a * y1 + b * y2 + c * y3 + d * y4); -} - -float VBezier::angleAt(float t) const -{ - if (t < 0 || t > 1) { - return 0; - } - return VLine({}, derivative(t)).angle(); -} - -V_END_NAMESPACE diff --git a/submodules/RLottie/Sources/rlottie/src/vector/vbezier.h b/submodules/RLottie/Sources/rlottie/src/vector/vbezier.h deleted file mode 100644 index b07e7824da..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/vbezier.h +++ /dev/null @@ -1,134 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef VBEZIER_H -#define VBEZIER_H - -#include - -V_BEGIN_NAMESPACE - -class VBezier { -public: - VBezier() = default; - VPointF pointAt(float t) const; - float angleAt(float t) const; - VBezier onInterval(float t0, float t1) const; - float length() const; - static void coefficients(float t, float &a, float &b, float &c, float &d); - static VBezier fromPoints(const VPointF &start, const VPointF &cp1, - const VPointF &cp2, const VPointF &end); - inline void parameterSplitLeft(float t, VBezier *left); - inline void split(VBezier *firstHalf, VBezier *secondHalf) const; - float tAtLength(float len) const; - void splitAtLength(float len, VBezier *left, VBezier *right); - VPointF pt1() const { return {x1, y1}; } - VPointF pt2() const { return {x2, y2}; } - VPointF pt3() const { return {x3, y3}; } - VPointF pt4() const { return {x4, y4}; } - -private: - VPointF derivative(float t) const; - float x1, y1, x2, y2, x3, y3, x4, y4; -}; - -inline void VBezier::coefficients(float t, float &a, float &b, float &c, - float &d) -{ - float m_t = 1. - t; - b = m_t * m_t; - c = t * t; - d = c * t; - a = b * m_t; - b *= 3. * t; - c *= 3. * m_t; -} - -inline VPointF VBezier::pointAt(float t) const -{ - // numerically more stable: - float x, y; - - float m_t = 1. - t; - { - float a = x1 * m_t + x2 * t; - float b = x2 * m_t + x3 * t; - float c = x3 * m_t + x4 * t; - a = a * m_t + b * t; - b = b * m_t + c * t; - x = a * m_t + b * t; - } - { - float a = y1 * m_t + y2 * t; - float b = y2 * m_t + y3 * t; - float c = y3 * m_t + y4 * t; - a = a * m_t + b * t; - b = b * m_t + c * t; - y = a * m_t + b * t; - } - return {x, y}; -} - -inline void VBezier::parameterSplitLeft(float t, VBezier *left) -{ - left->x1 = x1; - left->y1 = y1; - - left->x2 = x1 + t * (x2 - x1); - left->y2 = y1 + t * (y2 - y1); - - left->x3 = x2 + t * (x3 - x2); // temporary holding spot - left->y3 = y2 + t * (y3 - y2); // temporary holding spot - - x3 = x3 + t * (x4 - x3); - y3 = y3 + t * (y4 - y3); - - x2 = left->x3 + t * (x3 - left->x3); - y2 = left->y3 + t * (y3 - left->y3); - - left->x3 = left->x2 + t * (left->x3 - left->x2); - left->y3 = left->y2 + t * (left->y3 - left->y2); - - left->x4 = x1 = left->x3 + t * (x2 - left->x3); - left->y4 = y1 = left->y3 + t * (y2 - left->y3); -} - -inline void VBezier::split(VBezier *firstHalf, VBezier *secondHalf) const -{ - float c = (x2 + x3) * .5; - firstHalf->x2 = (x1 + x2) * .5; - secondHalf->x3 = (x3 + x4) * .5; - firstHalf->x1 = x1; - secondHalf->x4 = x4; - firstHalf->x3 = (firstHalf->x2 + c) * .5; - secondHalf->x2 = (secondHalf->x3 + c) * .5; - firstHalf->x4 = secondHalf->x1 = (firstHalf->x3 + secondHalf->x2) * .5; - - c = (y2 + y3) / 2; - firstHalf->y2 = (y1 + y2) * .5; - secondHalf->y3 = (y3 + y4) * .5; - firstHalf->y1 = y1; - secondHalf->y4 = y4; - firstHalf->y3 = (firstHalf->y2 + c) * .5; - secondHalf->y2 = (secondHalf->y3 + c) * .5; - firstHalf->y4 = secondHalf->y1 = (firstHalf->y3 + secondHalf->y2) * .5; -} - -V_END_NAMESPACE - -#endif // VBEZIER_H diff --git a/submodules/RLottie/Sources/rlottie/src/vector/vbitmap.cpp b/submodules/RLottie/Sources/rlottie/src/vector/vbitmap.cpp deleted file mode 100644 index 20963a65e0..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/vbitmap.cpp +++ /dev/null @@ -1,227 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "vbitmap.h" -#include -#include "vdrawhelper.h" -#include "vglobal.h" - -V_BEGIN_NAMESPACE - -struct VBitmap::Impl { - uchar * mData{nullptr}; - uint mWidth{0}; - uint mHeight{0}; - uint mStride{0}; - uint mBytes{0}; - uint mDepth{0}; - VBitmap::Format mFormat{VBitmap::Format::Invalid}; - bool mOwnData; - bool mRoData; - - Impl() = delete; - - Impl(uint width, uint height, VBitmap::Format format) - : mOwnData(true), mRoData(false) - { - reset(width, height, format); - } - - void reset(uint width, uint height, VBitmap::Format format) - { - if (mOwnData && mData) delete (mData); - - mDepth = depth(format); - uint stride = ((width * mDepth + 31) >> 5) - << 2; // bytes per scanline (must be multiple of 4) - - mWidth = width; - mHeight = height; - mFormat = format; - mStride = stride; - mBytes = mStride * mHeight; - mData = reinterpret_cast(::operator new(mBytes)); - } - - Impl(uchar *data, uint w, uint h, uint bytesPerLine, VBitmap::Format format) - : mOwnData(false), mRoData(false) - { - mWidth = w; - mHeight = h; - mFormat = format; - mStride = bytesPerLine; - mBytes = mStride * mHeight; - mData = data; - mDepth = depth(format); - } - - ~Impl() - { - if (mOwnData && mData) ::operator delete(mData); - } - - uint stride() const { return mStride; } - uint width() const { return mWidth; } - uint height() const { return mHeight; } - VBitmap::Format format() const { return mFormat; } - uchar * data() { return mData; } - - static uint depth(VBitmap::Format format) - { - uint depth = 1; - switch (format) { - case VBitmap::Format::Alpha8: - depth = 8; - break; - case VBitmap::Format::ARGB32: - case VBitmap::Format::ARGB32_Premultiplied: - depth = 32; - break; - default: - break; - } - return depth; - } - void fill(uint /*pixel*/) - { - //@TODO - } - - void updateLuma() - { - if (mFormat != VBitmap::Format::ARGB32_Premultiplied) return; - - for (uint col = 0; col < mHeight; col++) { - uint *pixel = (uint *)(mData + mStride * col); - for (uint row = 0; row < mWidth; row++) { - int alpha = vAlpha(*pixel); - if (alpha == 0) { - pixel++; - continue; - } - - int red = vRed(*pixel); - int green = vGreen(*pixel); - int blue = vBlue(*pixel); - - if (alpha != 255) { - // un multiply - red = (red * 255) / alpha; - green = (green * 255) / alpha; - blue = (blue * 255) / alpha; - } - int luminosity = (0.299 * red + 0.587 * green + 0.114 * blue); - *pixel = luminosity << 24; - pixel++; - } - } - } -}; - -VBitmap::VBitmap(uint width, uint height, VBitmap::Format format) -{ - if (width <= 0 || height <= 0 || format == Format::Invalid) return; - - mImpl = std::make_shared(width, height, format); -} - -VBitmap::VBitmap(uchar *data, uint width, uint height, uint bytesPerLine, - VBitmap::Format format) -{ - if (!data || width <= 0 || height <= 0 || bytesPerLine <= 0 || - format == Format::Invalid) - return; - - mImpl = std::make_shared(data, width, height, bytesPerLine, format); -} - -void VBitmap::reset(uint w, uint h, VBitmap::Format format) -{ - if (mImpl) { - if (w == mImpl->width() && h == mImpl->height() && - format == mImpl->format()) { - return; - } - mImpl->reset(w, h, format); - } else { - mImpl = std::make_shared(w, h, format); - } -} - -uint VBitmap::stride() const -{ - return mImpl ? mImpl->stride() : 0; -} - -uint VBitmap::width() const -{ - return mImpl ? mImpl->width() : 0; -} - -uint VBitmap::height() const -{ - return mImpl ? mImpl->height() : 0; -} - -uint VBitmap::depth() const -{ - return mImpl ? mImpl->mDepth : 0; -} - -uchar *VBitmap::data() -{ - return mImpl ? mImpl->data() : nullptr; -} - -uchar *VBitmap::data() const -{ - return mImpl ? mImpl->data() : nullptr; -} - -bool VBitmap::valid() const -{ - return mImpl ? true : false; -} - -VBitmap::Format VBitmap::format() const -{ - return mImpl ? mImpl->format() : VBitmap::Format::Invalid; -} - -void VBitmap::fill(uint pixel) -{ - if (mImpl) mImpl->fill(pixel); -} - -/* - * This is special function which converts - * RGB value to Luminosity and stores it in - * the Alpha component of the pixel. - * After this conversion the bitmap data is no more - * in RGB space. but the Alpha component contains the - * Luminosity value of the pixel in HSL color space. - * NOTE: this api has its own special usecase - * make sure you know what you are doing before using - * this api. - */ -void VBitmap::updateLuma() -{ - if (mImpl) mImpl->updateLuma(); -} - -V_END_NAMESPACE diff --git a/submodules/RLottie/Sources/rlottie/src/vector/vbitmap.h b/submodules/RLottie/Sources/rlottie/src/vector/vbitmap.h deleted file mode 100644 index a21c680a24..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/vbitmap.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef VBITMAP_H -#define VBITMAP_H - -#include "vrect.h" -#include - -V_BEGIN_NAMESPACE - -class VBitmap { -public: - enum class Format: uchar { - Invalid, - Alpha8, - ARGB32, - ARGB32_Premultiplied - }; - - VBitmap() = default; - VBitmap(uint w, uint h, VBitmap::Format format); - VBitmap(uchar *data, uint w, uint h, uint bytesPerLine, VBitmap::Format format); - - void reset(uint w, uint h, VBitmap::Format format=Format::ARGB32_Premultiplied); - uint stride() const; - uint width() const; - uint height() const; - uint depth() const; - VBitmap::Format format() const; - bool valid() const; - uchar * data(); - uchar * data() const; - - void fill(uint pixel); - void updateLuma(); -private: - struct Impl; - std::shared_ptr mImpl; -}; - -V_END_NAMESPACE - -#endif // VBITMAP_H diff --git a/submodules/RLottie/Sources/rlottie/src/vector/vbrush.cpp b/submodules/RLottie/Sources/rlottie/src/vector/vbrush.cpp deleted file mode 100644 index cdc114ecfe..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/vbrush.cpp +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "vbrush.h" - -V_BEGIN_NAMESPACE - -VGradient::VGradient(VGradient::Type type) - : mType(type), - mSpread(VGradient::Spread::Pad), - mMode(VGradient::Mode::Absolute) -{ -} - -void VGradient::setStops(const VGradientStops &stops) -{ - mStops = stops; -} - -VLinearGradient::VLinearGradient(const VPointF &start, const VPointF &stop) - : VGradient(VGradient::Type::Linear) -{ - linear.x1 = start.x(); - linear.y1 = start.y(); - linear.x1 = stop.x(); - linear.y1 = stop.y(); -} - -VLinearGradient::VLinearGradient(float xStart, float yStart, float xStop, - float yStop) - : VGradient(VGradient::Type::Linear) -{ - linear.x1 = xStart; - linear.y1 = yStart; - linear.x1 = xStop; - linear.y1 = yStop; -} - -VRadialGradient::VRadialGradient(const VPointF ¢er, float cradius, - const VPointF &focalPoint, float fradius) - : VGradient(VGradient::Type::Radial) -{ - radial.cx = center.x(); - radial.cy = center.y(); - radial.fx = focalPoint.x(); - radial.fy = focalPoint.y(); - radial.cradius = cradius; - radial.fradius = fradius; -} - -VRadialGradient::VRadialGradient(float cx, float cy, float cradius, float fx, - float fy, float fradius) - : VGradient(VGradient::Type::Radial) -{ - radial.cx = cx; - radial.cy = cy; - radial.fx = fx; - radial.fy = fy; - radial.cradius = cradius; - radial.fradius = fradius; -} - -VBrush::VBrush(const VColor &color) : mType(VBrush::Type::Solid), mColor(color) -{ -} - -VBrush::VBrush(int r, int g, int b, int a) - : mType(VBrush::Type::Solid), mColor(r, g, b, a) - -{ -} - -VBrush::VBrush(const VGradient *gradient) -{ - if (!gradient) return; - - mGradient = gradient; - - if (gradient->mType == VGradient::Type::Linear) { - mType = VBrush::Type::LinearGradient; - } else if (gradient->mType == VGradient::Type::Radial) { - mType = VBrush::Type::RadialGradient; - } -} - -VBrush::VBrush(const VBitmap &texture) -{ - if (!texture.valid()) return; - - mType = VBrush::Type::Texture; - mTexture = texture; -} - -void VBrush::setMatrix(const VMatrix &m) -{ - mMatrix = m; -} - -V_END_NAMESPACE diff --git a/submodules/RLottie/Sources/rlottie/src/vector/vbrush.h b/submodules/RLottie/Sources/rlottie/src/vector/vbrush.h deleted file mode 100644 index 348e2ec877..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/vbrush.h +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef VBRUSH_H -#define VBRUSH_H - -#include -#include "vglobal.h" -#include "vmatrix.h" -#include "vpoint.h" -#include "vbitmap.h" - -V_BEGIN_NAMESPACE - -typedef std::pair VGradientStop; -typedef std::vector VGradientStops; -class VGradient { -public: - enum class Mode { Absolute, Relative }; - enum class Spread { Pad, Repeat, Reflect }; - enum class Type { Linear, Radial }; - VGradient(VGradient::Type type); - void setStops(const VGradientStops &stops); - void setAlpha(float alpha) {mAlpha = alpha;} - float alpha() const {return mAlpha;} - VGradient() = default; - -public: - static constexpr int colorTableSize = 1024; - VGradient::Type mType; - VGradient::Spread mSpread; - VGradient::Mode mMode; - VGradientStops mStops; - float mAlpha{1.0}; - union { - struct { - float x1, y1, x2, y2; - } linear; - struct { - float cx, cy, fx, fy, cradius, fradius; - } radial; - }; - VMatrix mMatrix; -}; - -class VLinearGradient : public VGradient { -public: - VLinearGradient(const VPointF &start, const VPointF &stop); - VLinearGradient(float xStart, float yStart, float xStop, float yStop); -}; - -class VRadialGradient : public VGradient { -public: - VRadialGradient(const VPointF ¢er, float cradius, - const VPointF &focalPoint, float fradius); - VRadialGradient(float cx, float cy, float cradius, float fx, float fy, - float fradius); -}; - -class VBrush { -public: - enum class Type { NoBrush, Solid, LinearGradient, RadialGradient, Texture }; - VBrush() = default; - VBrush(const VColor &color); - VBrush(const VGradient *gradient); - VBrush(int r, int g, int b, int a); - VBrush(const VBitmap &texture); - inline VBrush::Type type() const { return mType; } - void setMatrix(const VMatrix &m); -public: - VBrush::Type mType{Type::NoBrush}; - VColor mColor; - const VGradient *mGradient{nullptr}; - VBitmap mTexture; - VMatrix mMatrix; -}; - -V_END_NAMESPACE - -#endif // VBRUSH_H diff --git a/submodules/RLottie/Sources/rlottie/src/vector/vcompositionfunctions.cpp b/submodules/RLottie/Sources/rlottie/src/vector/vcompositionfunctions.cpp deleted file mode 100644 index 52ac0dbe0e..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/vcompositionfunctions.cpp +++ /dev/null @@ -1,174 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "vdrawhelper.h" - -/* - result = s - dest = s * ca + d * cia -*/ -void comp_func_solid_Source(uint32_t *dest, int length, uint32_t color, - uint32_t const_alpha) -{ - int ialpha, i; - - if (const_alpha == 255) { - memfill32(dest, color, length); - } else { - ialpha = 255 - const_alpha; - color = BYTE_MUL(color, const_alpha); - for (i = 0; i < length; ++i) - dest[i] = color + BYTE_MUL(dest[i], ialpha); - } -} - -/* - r = s + d * sia - dest = r * ca + d * cia - = (s + d * sia) * ca + d * cia - = s * ca + d * (sia * ca + cia) - = s * ca + d * (1 - sa*ca) - = s' + d ( 1 - s'a) -*/ -void comp_func_solid_SourceOver(uint32_t *dest, int length, uint32_t color, - uint32_t const_alpha) -{ - int ialpha, i; - - if (const_alpha != 255) color = BYTE_MUL(color, const_alpha); - ialpha = 255 - vAlpha(color); - for (i = 0; i < length; ++i) dest[i] = color + BYTE_MUL(dest[i], ialpha); -} - -/* - result = d * sa - dest = d * sa * ca + d * cia - = d * (sa * ca + cia) -*/ -static void comp_func_solid_DestinationIn(uint *dest, int length, uint color, - uint const_alpha) -{ - uint a = vAlpha(color); - if (const_alpha != 255) { - a = BYTE_MUL(a, const_alpha) + 255 - const_alpha; - } - for (int i = 0; i < length; ++i) { - dest[i] = BYTE_MUL(dest[i], a); - } -} - -/* - result = d * sia - dest = d * sia * ca + d * cia - = d * (sia * ca + cia) -*/ -static void comp_func_solid_DestinationOut(uint *dest, int length, uint color, - uint const_alpha) -{ - uint a = vAlpha(~color); - if (const_alpha != 255) a = BYTE_MUL(a, const_alpha) + 255 - const_alpha; - for (int i = 0; i < length; ++i) { - dest[i] = BYTE_MUL(dest[i], a); - } -} - -void comp_func_Source(uint32_t *dest, const uint32_t *src, int length, - uint32_t const_alpha) -{ - if (const_alpha == 255) { - memcpy(dest, src, size_t(length) * sizeof(uint)); - } else { - uint ialpha = 255 - const_alpha; - for (int i = 0; i < length; ++i) { - dest[i] = - INTERPOLATE_PIXEL_255(src[i], const_alpha, dest[i], ialpha); - } - } -} - -/* s' = s * ca - * d' = s' + d (1 - s'a) - */ -void comp_func_SourceOver(uint32_t *dest, const uint32_t *src, int length, - uint32_t const_alpha) -{ - uint s, sia; - - if (const_alpha == 255) { - for (int i = 0; i < length; ++i) { - s = src[i]; - if (s >= 0xff000000) - dest[i] = s; - else if (s != 0) { - sia = vAlpha(~s); - dest[i] = s + BYTE_MUL(dest[i], sia); - } - } - } else { - /* source' = source * const_alpha - * dest = source' + dest ( 1- source'a) - */ - for (int i = 0; i < length; ++i) { - uint s = BYTE_MUL(src[i], const_alpha); - sia = vAlpha(~s); - dest[i] = s + BYTE_MUL(dest[i], sia); - } - } -} - -void comp_func_DestinationIn(uint *dest, const uint *src, int length, - uint const_alpha) -{ - if (const_alpha == 255) { - for (int i = 0; i < length; ++i) { - dest[i] = BYTE_MUL(dest[i], vAlpha(src[i])); - } - } else { - uint cia = 255 - const_alpha; - for (int i = 0; i < length; ++i) { - uint a = BYTE_MUL(vAlpha(src[i]), const_alpha) + cia; - dest[i] = BYTE_MUL(dest[i], a); - } - } -} - -void comp_func_DestinationOut(uint *dest, const uint *src, int length, - uint const_alpha) -{ - if (const_alpha == 255) { - for (int i = 0; i < length; ++i) { - dest[i] = BYTE_MUL(dest[i], vAlpha(~src[i])); - } - } else { - uint cia = 255 - const_alpha; - for (int i = 0; i < length; ++i) { - uint sia = BYTE_MUL(vAlpha(~src[i]), const_alpha) + cia; - dest[i] = BYTE_MUL(dest[i], sia); - } - } -} - -CompositionFunctionSolid COMP_functionForModeSolid_C[] = { - comp_func_solid_Source, comp_func_solid_SourceOver, - comp_func_solid_DestinationIn, comp_func_solid_DestinationOut}; - -CompositionFunction COMP_functionForMode_C[] = { - comp_func_Source, comp_func_SourceOver, comp_func_DestinationIn, - comp_func_DestinationOut}; - -void vInitBlendFunctions() {} diff --git a/submodules/RLottie/Sources/rlottie/src/vector/vcowptr.h b/submodules/RLottie/Sources/rlottie/src/vector/vcowptr.h deleted file mode 100644 index dcc283ad1e..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/vcowptr.h +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef VCOWPTR_H -#define VCOWPTR_H - -#include -#include "vglobal.h" - -template -class vcow_ptr { - struct model { - std::atomic mRef{1}; - - model() = default; - - template - explicit model(Args&&... args) : mValue(std::forward(args)...) - { - } - - T mValue; - }; - model* mModel; - -public: - using element_type = T; - - vcow_ptr() - { - static model default_s; - mModel = &default_s; - ++mModel->mRef; - } - - ~vcow_ptr() - { - if (mModel && (--mModel->mRef == 0)) delete mModel; - } - - template - vcow_ptr(Args&&... args) : mModel(new model(std::forward(args)...)) - { - } - - vcow_ptr(const vcow_ptr& x) noexcept : mModel(x.mModel) - { - assert(mModel); - ++mModel->mRef; - } - vcow_ptr(vcow_ptr&& x) noexcept : mModel(x.mModel) - { - assert(mModel); - x.mModel = nullptr; - } - - auto operator=(const vcow_ptr& x) noexcept -> vcow_ptr& - { - return *this = vcow_ptr(x); - } - - auto operator=(vcow_ptr&& x) noexcept -> vcow_ptr& - { - auto tmp = std::move(x); - swap(*this, tmp); - return *this; - } - - auto operator*() const noexcept -> const element_type& { return read(); } - - auto operator-> () const noexcept -> const element_type* { return &read(); } - - int refCount() const noexcept - { - assert(mModel); - - return mModel->mRef; - } - - bool unique() const noexcept - { - assert(mModel); - - return mModel->mRef == 1; - } - - auto write() -> element_type& - { - if (!unique()) *this = vcow_ptr(read()); - - return mModel->mValue; - } - - auto read() const noexcept -> const element_type& - { - assert(mModel); - - return mModel->mValue; - } - - friend inline void swap(vcow_ptr& x, vcow_ptr& y) noexcept - { - std::swap(x.mModel, y.mModel); - } -}; - -#endif // VCOWPTR_H diff --git a/submodules/RLottie/Sources/rlottie/src/vector/vdasher.cpp b/submodules/RLottie/Sources/rlottie/src/vector/vdasher.cpp deleted file mode 100644 index a6ca9abcea..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/vdasher.cpp +++ /dev/null @@ -1,215 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "vbezier.h" - -#include - -#include "vdasher.h" -#include "vline.h" - -V_BEGIN_NAMESPACE - -VDasher::VDasher(const float *dashArray, size_t size) -{ - mDashArray = reinterpret_cast(dashArray); - mArraySize = size / 2; - if (size % 2) mDashOffset = dashArray[size - 1]; - mIndex = 0; - mCurrentLength = 0; - mDiscard = false; -} - -void VDasher::moveTo(const VPointF &p) -{ - mDiscard = false; - mStartNewSegment = true; - mCurPt = p; - mIndex = 0; - - if (!vCompare(mDashOffset, 0.0f)) { - float totalLength = 0.0; - for (size_t i = 0; i < mArraySize; i++) { - totalLength = mDashArray[i].length + mDashArray[i].gap; - } - float normalizeLen = std::fmod(mDashOffset, totalLength); - if (normalizeLen < 0.0f) { - normalizeLen = totalLength + normalizeLen; - } - // now the length is less than total length and +ve - // findout the current dash index , dashlength and gap. - for (size_t i = 0; i < mArraySize; i++) { - if (normalizeLen < mDashArray[i].length) { - mIndex = i; - mCurrentLength = mDashArray[i].length - normalizeLen; - mDiscard = false; - break; - } - normalizeLen -= mDashArray[i].length; - if (normalizeLen < mDashArray[i].gap) { - mIndex = i; - mCurrentLength = mDashArray[i].gap - normalizeLen; - mDiscard = true; - break; - } - normalizeLen -= mDashArray[i].gap; - } - } else { - mCurrentLength = mDashArray[mIndex].length; - } - if (vIsZero(mCurrentLength)) updateActiveSegment(); -} - -void VDasher::addLine(const VPointF &p) -{ - if (mDiscard) return; - - if (mStartNewSegment) { - mResult.moveTo(mCurPt); - mStartNewSegment = false; - } - mResult.lineTo(p); -} - -void VDasher::updateActiveSegment() -{ - mStartNewSegment = true; - - if (mDiscard) { - mDiscard = false; - mIndex = (mIndex + 1) % mArraySize; - mCurrentLength = mDashArray[mIndex].length; - } else { - mDiscard = true; - mCurrentLength = mDashArray[mIndex].gap; - } - if (vIsZero(mCurrentLength)) updateActiveSegment(); -} - -void VDasher::lineTo(const VPointF &p) -{ - VLine left, right; - VLine line(mCurPt, p); - float length = line.length(); - - if (length <= mCurrentLength) { - mCurrentLength -= length; - addLine(p); - } else { - while (length > mCurrentLength) { - length -= mCurrentLength; - line.splitAtLength(mCurrentLength, left, right); - - addLine(left.p2()); - updateActiveSegment(); - - line = right; - mCurPt = line.p1(); - } - // handle remainder - if (length > 1.0f) { - mCurrentLength -= length; - addLine(line.p2()); - } - } - - if (mCurrentLength < 1.0f) updateActiveSegment(); - - mCurPt = p; -} - -void VDasher::addCubic(const VPointF &cp1, const VPointF &cp2, const VPointF &e) -{ - if (mDiscard) return; - - if (mStartNewSegment) { - mResult.moveTo(mCurPt); - mStartNewSegment = false; - } - mResult.cubicTo(cp1, cp2, e); -} - -void VDasher::cubicTo(const VPointF &cp1, const VPointF &cp2, const VPointF &e) -{ - VBezier left, right; - VBezier b = VBezier::fromPoints(mCurPt, cp1, cp2, e); - float bezLen = b.length(); - - if (bezLen <= mCurrentLength) { - mCurrentLength -= bezLen; - addCubic(cp1, cp2, e); - } else { - while (bezLen > mCurrentLength) { - bezLen -= mCurrentLength; - b.splitAtLength(mCurrentLength, &left, &right); - - addCubic(left.pt2(), left.pt3(), left.pt4()); - updateActiveSegment(); - - b = right; - mCurPt = b.pt1(); - } - // handle remainder - if (bezLen > 1.0f) { - mCurrentLength -= bezLen; - addCubic(b.pt2(), b.pt3(), b.pt4()); - } - } - - if (mCurrentLength < 1.0f) updateActiveSegment(); - - mCurPt = e; -} - -VPath VDasher::dashed(const VPath &path) -{ - if (path.empty()) return VPath(); - - mResult = {}; - mResult.reserve(path.points().size(), path.elements().size()); - mIndex = 0; - const std::vector &elms = path.elements(); - const std::vector & pts = path.points(); - const VPointF * ptPtr = pts.data(); - - for (auto &i : elms) { - switch (i) { - case VPath::Element::MoveTo: { - moveTo(*ptPtr++); - break; - } - case VPath::Element::LineTo: { - lineTo(*ptPtr++); - break; - } - case VPath::Element::CubicTo: { - cubicTo(*ptPtr, *(ptPtr + 1), *(ptPtr + 2)); - ptPtr += 3; - break; - } - case VPath::Element::Close: { - // The point is already joined to start point in VPath - // no need to do anything here. - break; - } - } - } - return std::move(mResult); -} - -V_END_NAMESPACE diff --git a/submodules/RLottie/Sources/rlottie/src/vector/vdasher.h b/submodules/RLottie/Sources/rlottie/src/vector/vdasher.h deleted file mode 100644 index 224a2a8f28..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/vdasher.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef VDASHER_H -#define VDASHER_H -#include "vpath.h" - -V_BEGIN_NAMESPACE - -class VDasher { -public: - VDasher(const float *dashArray, size_t size); - VPath dashed(const VPath &path); - -private: - void moveTo(const VPointF &p); - void lineTo(const VPointF &p); - void cubicTo(const VPointF &cp1, const VPointF &cp2, const VPointF &e); - void close(); - void addLine(const VPointF &p); - void addCubic(const VPointF &cp1, const VPointF &cp2, const VPointF &e); - void updateActiveSegment(); - -private: - struct Dash { - float length; - float gap; - }; - const VDasher::Dash *mDashArray; - size_t mArraySize{0}; - VPointF mCurPt; - size_t mIndex{0}; /* index to the dash Array */ - float mCurrentLength; - bool mDiscard; - float mDashOffset{0}; - VPath mResult; - bool mStartNewSegment=true; -}; - -V_END_NAMESPACE - -#endif // VDASHER_H diff --git a/submodules/RLottie/Sources/rlottie/src/vector/vdebug.cpp b/submodules/RLottie/Sources/rlottie/src/vector/vdebug.cpp deleted file mode 100644 index 8a0c19cef5..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/vdebug.cpp +++ /dev/null @@ -1,754 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "vdebug.h" - -#ifdef LOTTIE_LOGGING_SUPPORT - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace { - -/* Returns microseconds since epoch */ -uint64_t timestamp_now() -{ - return std::chrono::duration_cast( - std::chrono::high_resolution_clock::now().time_since_epoch()) - .count(); -} - -/* I want [2016-10-13 00:01:23.528514] */ -void format_timestamp(std::ostream& os, uint64_t timestamp) -{ - // The next 3 lines do not work on MSVC! - // auto duration = std::chrono::microseconds(timestamp); - // std::chrono::high_resolution_clock::time_point time_point(duration); - // std::time_t time_t = - // std::chrono::high_resolution_clock::to_time_t(time_point); - std::time_t time_t = timestamp / 1000000; - auto gmtime = std::gmtime(&time_t); - char buffer[32]; - strftime(buffer, 32, "%Y-%m-%d %T.", gmtime); - char microseconds[7]; - snprintf(microseconds, 7, "%06llu", - (long long unsigned int)timestamp % 1000000); - os << '[' << buffer << microseconds << ']'; -} - -std::thread::id this_thread_id() -{ - static thread_local const std::thread::id id = std::this_thread::get_id(); - return id; -} - -template -struct TupleIndex; - -template -struct TupleIndex > { - static constexpr const std::size_t value = 0; -}; - -template -struct TupleIndex > { - static constexpr const std::size_t value = - 1 + TupleIndex >::value; -}; - -} // anonymous namespace - -typedef std::tuple - SupportedTypes; - -char const* to_string(LogLevel loglevel) -{ - switch (loglevel) { - case LogLevel::OFF: - return "OFF"; - case LogLevel::INFO: - return "INFO"; - case LogLevel::WARN: - return "WARN"; - case LogLevel::CRIT: - return "CRIT"; - } - return "XXXX"; -} - -template -void VDebug::encode(Arg arg) -{ - *reinterpret_cast(buffer()) = arg; - m_bytes_used += sizeof(Arg); -} - -template -void VDebug::encode(Arg arg, uint8_t type_id) -{ - resize_buffer_if_needed(sizeof(Arg) + sizeof(uint8_t)); - encode(type_id); - encode(arg); -} - -VDebug::VDebug(LogLevel level, char const* file, char const* function, - uint32_t line) - : m_bytes_used(0), m_buffer_size(sizeof(m_stack_buffer)) -{ - encode(timestamp_now()); - encode(this_thread_id()); - encode(string_literal_t(file)); - encode(string_literal_t(function)); - encode(line); - encode(level); - if (level == LogLevel::INFO) { - m_logAll = false; - } else { - m_logAll = true; - } -} - -VDebug::~VDebug() = default; - -void VDebug::stringify(std::ostream& os) -{ - char* b = !m_heap_buffer ? m_stack_buffer : m_heap_buffer.get(); - char const* const end = b + m_bytes_used; - uint64_t timestamp = *reinterpret_cast(b); - b += sizeof(uint64_t); - std::thread::id threadid = *reinterpret_cast(b); - b += sizeof(std::thread::id); - string_literal_t file = *reinterpret_cast(b); - b += sizeof(string_literal_t); - string_literal_t function = *reinterpret_cast(b); - b += sizeof(string_literal_t); - uint32_t line = *reinterpret_cast(b); - b += sizeof(uint32_t); - LogLevel loglevel = *reinterpret_cast(b); - b += sizeof(LogLevel); - if (m_logAll) { - format_timestamp(os, timestamp); - - os << '[' << to_string(loglevel) << ']' << '[' << threadid << ']' << '[' - << file.m_s << ':' << function.m_s << ':' << line << "] "; - } - - stringify(os, b, end); - os << std::endl; - - if (loglevel >= LogLevel::CRIT) os.flush(); -} - -template -char* decode(std::ostream& os, char* b, Arg* /*dummy*/) -{ - Arg arg = *reinterpret_cast(b); - os << arg; - return b + sizeof(Arg); -} - -template <> -char* decode(std::ostream& os, char* b, VDebug::string_literal_t* /*dummy*/) -{ - VDebug::string_literal_t s = - *reinterpret_cast(b); - os << s.m_s; - return b + sizeof(VDebug::string_literal_t); -} - -template <> -char* decode(std::ostream& os, char* b, char** /*dummy*/) -{ - while (*b != '\0') { - os << *b; - ++b; - } - return ++b; -} - -void VDebug::stringify(std::ostream& os, char* start, char const* const end) -{ - if (start == end) return; - - int type_id = static_cast(*start); - start++; - - switch (type_id) { - case 0: - stringify( - os, - decode(os, start, - static_cast::type*>( - nullptr)), - end); - return; - case 1: - stringify( - os, - decode(os, start, - static_cast::type*>( - nullptr)), - end); - return; - case 2: - stringify( - os, - decode(os, start, - static_cast::type*>( - nullptr)), - end); - return; - case 3: - stringify( - os, - decode(os, start, - static_cast::type*>( - nullptr)), - end); - return; - case 4: - stringify( - os, - decode(os, start, - static_cast::type*>( - nullptr)), - end); - return; - case 5: - stringify( - os, - decode(os, start, - static_cast::type*>( - nullptr)), - end); - return; - case 6: - stringify( - os, - decode(os, start, - static_cast::type*>( - nullptr)), - end); - return; - case 7: - stringify( - os, - decode(os, start, - static_cast::type*>( - nullptr)), - end); - return; - } -} - -char* VDebug::buffer() -{ - return !m_heap_buffer ? &m_stack_buffer[m_bytes_used] - : &(m_heap_buffer.get())[m_bytes_used]; -} - -void VDebug::resize_buffer_if_needed(size_t additional_bytes) -{ - size_t const required_size = m_bytes_used + additional_bytes; - - if (required_size <= m_buffer_size) return; - - if (!m_heap_buffer) { - m_buffer_size = std::max(static_cast(512), required_size); - m_heap_buffer = std::make_unique(m_buffer_size); - memcpy(m_heap_buffer.get(), m_stack_buffer, m_bytes_used); - return; - } else { - m_buffer_size = - std::max(static_cast(2 * m_buffer_size), required_size); - std::unique_ptr new_heap_buffer(new char[m_buffer_size]); - memcpy(new_heap_buffer.get(), m_heap_buffer.get(), m_bytes_used); - m_heap_buffer.swap(new_heap_buffer); - } -} - -void VDebug::encode(char const* arg) -{ - if (arg != nullptr) encode_c_string(arg, strlen(arg)); -} - -void VDebug::encode(char* arg) -{ - if (arg != nullptr) encode_c_string(arg, strlen(arg)); -} - -void VDebug::encode_c_string(char const* arg, size_t length) -{ - if (length == 0) return; - - resize_buffer_if_needed(1 + length + 1); - char* b = buffer(); - auto type_id = TupleIndex::value; - *reinterpret_cast(b++) = static_cast(type_id); - memcpy(b, arg, length + 1); - m_bytes_used += 1 + length + 1; -} - -void VDebug::encode(string_literal_t arg) -{ - encode( - arg, TupleIndex::value); -} - -VDebug& VDebug::operator<<(std::string const& arg) -{ - encode_c_string(arg.c_str(), arg.length()); - return *this; -} - -VDebug& VDebug::operator<<(int32_t arg) -{ - encode(arg, TupleIndex::value); - return *this; -} - -VDebug& VDebug::operator<<(uint32_t arg) -{ - encode(arg, TupleIndex::value); - return *this; -} - -// VDebug& VDebug::operator<<(int64_t arg) -// { -// encode < int64_t >(arg, TupleIndex < int64_t, SupportedTypes >::value); -// return *this; -// } - -// VDebug& VDebug::operator<<(uint64_t arg) -// { -// encode < uint64_t >(arg, TupleIndex < uint64_t, SupportedTypes >::value); -// return *this; -// } -VDebug& VDebug::operator<<(unsigned long arg) -{ - encode(arg, TupleIndex::value); - return *this; -} - -VDebug& VDebug::operator<<(long arg) -{ - encode(arg, TupleIndex::value); - return *this; -} - -VDebug& VDebug::operator<<(double arg) -{ - encode(arg, TupleIndex::value); - return *this; -} - -VDebug& VDebug::operator<<(char arg) -{ - encode(arg, TupleIndex::value); - return *this; -} - -struct BufferBase { - virtual ~BufferBase() = default; - virtual void push(VDebug&& logline) = 0; - virtual bool try_pop(VDebug& logline) = 0; -}; - -struct SpinLock { - SpinLock(std::atomic_flag& flag) : m_flag(flag) - { - while (m_flag.test_and_set(std::memory_order_acquire)) - ; - } - - ~SpinLock() { m_flag.clear(std::memory_order_release); } - -private: - std::atomic_flag& m_flag; -}; - -/* Multi Producer Single Consumer Ring Buffer */ -class RingBuffer : public BufferBase { -public: - struct alignas(64) Item { - Item() - : flag(), written(0), logline(LogLevel::INFO, nullptr, nullptr, 0) - { - } - - std::atomic_flag flag; - char written; - char padding[256 - sizeof(std::atomic_flag) - sizeof(char) - - sizeof(VDebug)]; - VDebug logline; - }; - - RingBuffer(size_t const size) - : m_size(size), - m_ring(static_cast(std::malloc(size * sizeof(Item)))), - m_write_index(0), - m_read_index(0) - { - for (size_t i = 0; i < m_size; ++i) { - new (&m_ring[i]) Item(); - } - static_assert(sizeof(Item) == 256, "Unexpected size != 256"); - } - - ~RingBuffer() override - { - for (size_t i = 0; i < m_size; ++i) { - m_ring[i].~Item(); - } - std::free(m_ring); - } - - void push(VDebug&& logline) override - { - unsigned int write_index = - m_write_index.fetch_add(1, std::memory_order_relaxed) % m_size; - Item& item = m_ring[write_index]; - SpinLock spinlock(item.flag); - item.logline = std::move(logline); - item.written = 1; - } - - bool try_pop(VDebug& logline) override - { - Item& item = m_ring[m_read_index % m_size]; - SpinLock spinlock(item.flag); - if (item.written == 1) { - logline = std::move(item.logline); - item.written = 0; - ++m_read_index; - return true; - } - return false; - } - - RingBuffer(RingBuffer const&) = delete; - RingBuffer& operator=(RingBuffer const&) = delete; - -private: - size_t const m_size; - Item* m_ring; - std::atomic m_write_index; - -public: - char pad[64]; - -private: - unsigned int m_read_index; -}; - -class Buffer { -public: - struct Item { - Item(VDebug&& logline) : logline(std::move(logline)) {} - char padding[256 - sizeof(VDebug)]; - VDebug logline; - }; - - static constexpr const size_t size = - 32768; // 8MB. Helps reduce memory fragmentation - - Buffer() : m_buffer(static_cast(std::malloc(size * sizeof(Item)))) - { - for (size_t i = 0; i <= size; ++i) { - m_write_state[i].store(0, std::memory_order_relaxed); - } - static_assert(sizeof(Item) == 256, "Unexpected size != 256"); - } - - ~Buffer() - { - unsigned int write_count = m_write_state[size].load(); - for (size_t i = 0; i < write_count; ++i) { - m_buffer[i].~Item(); - } - std::free(m_buffer); - } - - // Returns true if we need to switch to next buffer - bool push(VDebug&& logline, unsigned int const write_index) - { - new (&m_buffer[write_index]) Item(std::move(logline)); - m_write_state[write_index].store(1, std::memory_order_release); - return m_write_state[size].fetch_add(1, std::memory_order_acquire) + - 1 == - size; - } - - bool try_pop(VDebug& logline, unsigned int const read_index) - { - if (m_write_state[read_index].load(std::memory_order_acquire)) { - Item& item = m_buffer[read_index]; - logline = std::move(item.logline); - return true; - } - return false; - } - - Buffer(Buffer const&) = delete; - Buffer& operator=(Buffer const&) = delete; - -private: - Item* m_buffer; - std::atomic m_write_state[size + 1]; -}; - -class QueueBuffer : public BufferBase { -public: - QueueBuffer(QueueBuffer const&) = delete; - QueueBuffer& operator=(QueueBuffer const&) = delete; - - QueueBuffer() - : m_current_read_buffer{nullptr}, - m_write_index(0), - m_flag(), - m_read_index(0) - { - setup_next_write_buffer(); - } - - void push(VDebug&& logline) override - { - unsigned int write_index = - m_write_index.fetch_add(1, std::memory_order_relaxed); - if (write_index < Buffer::size) { - if (m_current_write_buffer.load(std::memory_order_acquire) - ->push(std::move(logline), write_index)) { - setup_next_write_buffer(); - } - } else { - while (m_write_index.load(std::memory_order_acquire) >= - Buffer::size) - ; - push(std::move(logline)); - } - } - - bool try_pop(VDebug& logline) override - { - if (m_current_read_buffer == nullptr) - m_current_read_buffer = get_next_read_buffer(); - - Buffer* read_buffer = m_current_read_buffer; - - if (read_buffer == nullptr) return false; - - if (read_buffer->try_pop(logline, m_read_index)) { - m_read_index++; - if (m_read_index == Buffer::size) { - m_read_index = 0; - m_current_read_buffer = nullptr; - SpinLock spinlock(m_flag); - m_buffers.pop(); - } - return true; - } - - return false; - } - -private: - void setup_next_write_buffer() - { - std::unique_ptr next_write_buffer(new Buffer()); - m_current_write_buffer.store(next_write_buffer.get(), - std::memory_order_release); - SpinLock spinlock(m_flag); - m_buffers.push(std::move(next_write_buffer)); - m_write_index.store(0, std::memory_order_relaxed); - } - - Buffer* get_next_read_buffer() - { - SpinLock spinlock(m_flag); - return m_buffers.empty() ? nullptr : m_buffers.front().get(); - } - -private: - std::queue > m_buffers; - std::atomic m_current_write_buffer; - Buffer* m_current_read_buffer; - std::atomic m_write_index; - std::atomic_flag m_flag; - unsigned int m_read_index; -}; - -class FileWriter { -public: - FileWriter(std::string const& log_directory, - std::string const& log_file_name, uint32_t log_file_roll_size_mb) - : m_log_file_roll_size_bytes(log_file_roll_size_mb * 1024 * 1024), - m_name(log_directory + log_file_name) - { - roll_file(); - } - - void write(VDebug& logline) - { - auto pos = m_os->tellp(); - logline.stringify(*m_os); - m_bytes_written += m_os->tellp() - pos; - if (m_bytes_written > m_log_file_roll_size_bytes) { - roll_file(); - } - } - -private: - void roll_file() - { - if (m_os) { - m_os->flush(); - m_os->close(); - } - - m_bytes_written = 0; - m_os = std::make_unique(); - // TODO Optimize this part. Does it even matter ? - std::string log_file_name = m_name; - log_file_name.append("."); - log_file_name.append(std::to_string(++m_file_number)); - log_file_name.append(".txt"); - m_os->open(log_file_name, std::ofstream::out | std::ofstream::trunc); - } - -private: - uint32_t m_file_number = 0; - std::streamoff m_bytes_written = 0; - uint32_t const m_log_file_roll_size_bytes; - std::string const m_name; - std::unique_ptr m_os; -}; - -class NanoLogger { -public: - NanoLogger(NonGuaranteedLogger ngl, std::string const& log_directory, - std::string const& log_file_name, uint32_t log_file_roll_size_mb) - : m_state(State::INIT), - m_buffer_base( - new RingBuffer(std::max(1u, ngl.ring_buffer_size_mb) * 1024 * 4)), - m_file_writer(log_directory, log_file_name, - std::max(1u, log_file_roll_size_mb)), - m_thread(&NanoLogger::pop, this) - { - m_state.store(State::READY, std::memory_order_release); - } - - NanoLogger(GuaranteedLogger /*gl*/, std::string const& log_directory, - std::string const& log_file_name, uint32_t log_file_roll_size_mb) - : m_state(State::INIT), - m_buffer_base(new QueueBuffer()), - m_file_writer(log_directory, log_file_name, - std::max(1u, log_file_roll_size_mb)), - m_thread(&NanoLogger::pop, this) - { - m_state.store(State::READY, std::memory_order_release); - } - - ~NanoLogger() - { - m_state.store(State::SHUTDOWN); - m_thread.join(); - } - - void add(VDebug&& logline) { m_buffer_base->push(std::move(logline)); } - - void pop() - { - // Wait for constructor to complete and pull all stores done there to - // this thread / core. - while (m_state.load(std::memory_order_acquire) == State::INIT) - std::this_thread::sleep_for(std::chrono::microseconds(50)); - - VDebug logline(LogLevel::INFO, nullptr, nullptr, 0); - - while (m_state.load() == State::READY) { - if (m_buffer_base->try_pop(logline)) - m_file_writer.write(logline); - else - std::this_thread::sleep_for(std::chrono::microseconds(50)); - } - - // Pop and log all remaining entries - while (m_buffer_base->try_pop(logline)) { - m_file_writer.write(logline); - } - } - -private: - enum class State { INIT, READY, SHUTDOWN }; - - std::atomic m_state; - std::unique_ptr m_buffer_base; - FileWriter m_file_writer; - std::thread m_thread; -}; - -std::unique_ptr nanologger; -std::atomic atomic_nanologger; - -bool VDebugServer::operator==(VDebug& logline) -{ - atomic_nanologger.load(std::memory_order_acquire)->add(std::move(logline)); - return true; -} - -void initialize(NonGuaranteedLogger ngl, std::string const& log_directory, - std::string const& log_file_name, - uint32_t log_file_roll_size_mb) -{ - nanologger = std::make_unique(ngl, log_directory, log_file_name, - log_file_roll_size_mb); - atomic_nanologger.store(nanologger.get(), std::memory_order_seq_cst); -} - -void initialize(GuaranteedLogger gl, std::string const& log_directory, - std::string const& log_file_name, - uint32_t log_file_roll_size_mb) -{ - nanologger = std::make_unique(gl, log_directory, log_file_name, - log_file_roll_size_mb); - atomic_nanologger.store(nanologger.get(), std::memory_order_seq_cst); -} - -std::atomic loglevel = {0}; - -void set_log_level(LogLevel level) -{ - loglevel.store(static_cast(level), std::memory_order_release); -} - -bool is_logged(LogLevel level) -{ - return static_cast(level) >= - loglevel.load(std::memory_order_relaxed); -} - -#endif // LOTTIE_LOGGING_SUPPORT diff --git a/submodules/RLottie/Sources/rlottie/src/vector/vdebug.h b/submodules/RLottie/Sources/rlottie/src/vector/vdebug.h deleted file mode 100644 index 83ffdb028b..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/vdebug.h +++ /dev/null @@ -1,183 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef VDEBUG_H -#define VDEBUG_H - -#include "config.h" - -#ifdef LOTTIE_LOGGING_SUPPORT - -#include -#include -#include -#include -#include - -enum class LogLevel : uint8_t { INFO, WARN, CRIT, OFF }; - -class VDebug { -public: - VDebug(); - VDebug& debug() { return *this; } - VDebug(LogLevel level, char const* file, char const* function, - uint32_t line); - ~VDebug(); - - VDebug(VDebug&&) = default; - VDebug& operator=(VDebug&&) = default; - - void stringify(std::ostream& os); - - VDebug& operator<<(char arg); - VDebug& operator<<(int32_t arg); - VDebug& operator<<(uint32_t arg); - // VDebug& operator<<(int64_t arg); - // VDebug& operator<<(uint64_t arg); - - VDebug& operator<<(long arg); - VDebug& operator<<(unsigned long arg); - VDebug& operator<<(double arg); - VDebug& operator<<(std::string const& arg); - - template - VDebug& operator<<(const char (&arg)[N]) - { - encode(string_literal_t(arg)); - return *this; - } - - template - typename std::enable_if::value, - VDebug&>::type - operator<<(Arg const& arg) - { - encode(arg); - return *this; - } - - template - typename std::enable_if::value, VDebug&>::type - operator<<(Arg const& arg) - { - encode(arg); - return *this; - } - - struct string_literal_t { - explicit string_literal_t(char const* s) : m_s(s) {} - char const* m_s; - }; - -private: - char* buffer(); - - template - void encode(Arg arg); - - template - void encode(Arg arg, uint8_t type_id); - - void encode(char* arg); - void encode(char const* arg); - void encode(string_literal_t arg); - void encode_c_string(char const* arg, size_t length); - void resize_buffer_if_needed(size_t additional_bytes); - void stringify(std::ostream& os, char* start, char const* const end); - -private: - size_t m_bytes_used{0}; - size_t m_buffer_size{0}; - std::unique_ptr m_heap_buffer; - bool m_logAll; - char m_stack_buffer[256 - sizeof(bool) - 2 * sizeof(size_t) - - sizeof(decltype(m_heap_buffer)) - 8 /* Reserved */]; -}; - -struct VDebugServer { - /* - * Ideally this should have been operator+= - * Could not get that to compile, so here we are... - */ - bool operator==(VDebug&); -}; - -void set_log_level(LogLevel level); - -bool is_logged(LogLevel level); - -/* - * Non guaranteed logging. Uses a ring buffer to hold log lines. - * When the ring gets full, the previous log line in the slot will be dropped. - * Does not block producer even if the ring buffer is full. - * ring_buffer_size_mb - LogLines are pushed into a mpsc ring buffer whose size - * is determined by this parameter. Since each LogLine is 256 bytes, - * ring_buffer_size = ring_buffer_size_mb * 1024 * 1024 / 256 - */ -struct NonGuaranteedLogger { - NonGuaranteedLogger(uint32_t ring_buffer_size_mb_) - : ring_buffer_size_mb(ring_buffer_size_mb_) - { - } - uint32_t ring_buffer_size_mb; -}; - -/* - * Provides a guarantee log lines will not be dropped. - */ -struct GuaranteedLogger { -}; - -/* - * Ensure initialize() is called prior to any log statements. - * log_directory - where to create the logs. For example - "/tmp/" - * log_file_name - root of the file name. For example - "nanolog" - * This will create log files of the form - - * /tmp/nanolog.1.txt - * /tmp/nanolog.2.txt - * etc. - * log_file_roll_size_mb - mega bytes after which we roll to next log file. - */ -void initialize(GuaranteedLogger gl, std::string const& log_directory, - std::string const& log_file_name, - uint32_t log_file_roll_size_mb); -void initialize(NonGuaranteedLogger ngl, std::string const& log_directory, - std::string const& log_file_name, - uint32_t log_file_roll_size_mb); - -#define VDEBUG_LOG(LEVEL) \ - VDebugServer() == VDebug(LEVEL, __FILE__, __func__, __LINE__).debug() -#define vDebug is_logged(LogLevel::INFO) && VDEBUG_LOG(LogLevel::INFO) -#define vWarning is_logged(LogLevel::WARN) && VDEBUG_LOG(LogLevel::WARN) -#define vCritical is_logged(LogLevel::CRIT) && VDEBUG_LOG(LogLevel::CRIT) - -#else - -struct VDebug -{ - template - VDebug& operator<<(const Args &){return *this;} -}; - -#define vDebug VDebug() -#define vWarning VDebug() -#define vCritical VDebug() - -#endif //LOTTIE_LOGGING_SUPPORT - -#endif // VDEBUG_H diff --git a/submodules/RLottie/Sources/rlottie/src/vector/vdrawable.cpp b/submodules/RLottie/Sources/rlottie/src/vector/vdrawable.cpp deleted file mode 100644 index 946054f2cc..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/vdrawable.cpp +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "vdrawable.h" -#include "vdasher.h" -#include "vraster.h" - -void VDrawable::preprocess(const VRect &clip) -{ - if (mFlag & (DirtyState::Path)) { - if (mStroke.enable) { - if (mStroke.mDash.size()) { - VDasher dasher(mStroke.mDash.data(), mStroke.mDash.size()); - mPath = dasher.dashed(mPath); - } - mRasterizer.rasterize(std::move(mPath), mStroke.cap, mStroke.join, - mStroke.width, mStroke.meterLimit, clip); - } else { - mRasterizer.rasterize(std::move(mPath), mFillRule, clip); - } - mPath = {}; - mFlag &= ~DirtyFlag(DirtyState::Path); - } -} - -VRle VDrawable::rle() -{ - return mRasterizer.rle(); -} - -void VDrawable::setStrokeInfo(CapStyle cap, JoinStyle join, float meterLimit, - float strokeWidth) -{ - if ((mStroke.cap == cap) && (mStroke.join == join) && - vCompare(mStroke.meterLimit, meterLimit) && - vCompare(mStroke.width, strokeWidth)) - return; - - mStroke.enable = true; - mStroke.cap = cap; - mStroke.join = join; - mStroke.meterLimit = meterLimit; - mStroke.width = strokeWidth; - mFlag |= DirtyState::Path; -} - -void VDrawable::setDashInfo(float *array, uint size) -{ - bool hasChanged = false; - - if (mStroke.mDash.size() == size) { - for (uint i = 0; i < size; i++) { - if (!vCompare(mStroke.mDash[i], array[i])) { - hasChanged = true; - break; - } - } - } else { - hasChanged = true; - } - - if (!hasChanged) return; - - mStroke.mDash.clear(); - - for (uint i = 0; i < size; i++) { - mStroke.mDash.push_back(array[i]); - } - mFlag |= DirtyState::Path; -} - -void VDrawable::setPath(const VPath &path) -{ - mPath = path; - mFlag |= DirtyState::Path; -} diff --git a/submodules/RLottie/Sources/rlottie/src/vector/vdrawable.h b/submodules/RLottie/Sources/rlottie/src/vector/vdrawable.h deleted file mode 100644 index 861d9be1a0..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/vdrawable.h +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef VDRAWABLE_H -#define VDRAWABLE_H -#include -#include "vbrush.h" -#include "vpath.h" -#include "vrle.h" -#include "vraster.h" - -class VDrawable { -public: - enum class DirtyState { - None = 0x00000000, - Path = 0x00000001, - Stroke = 0x00000010, - Brush = 0x00000100, - All = (None | Path | Stroke | Brush) - }; - enum class Type : unsigned char{ - Fill, - Stroke, - }; - typedef vFlag DirtyFlag; - void setPath(const VPath &path); - void setFillRule(FillRule rule) { mFillRule = rule; } - void setBrush(const VBrush &brush) { mBrush = brush; } - void setStrokeInfo(CapStyle cap, JoinStyle join, float meterLimit, - float strokeWidth); - void setDashInfo(float *array, uint size); - void preprocess(const VRect &clip); - VRle rle(); - -public: - struct StrokeInfo { - std::vector mDash; - float width{0.0}; - float meterLimit{10}; - bool enable{false}; - CapStyle cap{CapStyle::Flat}; - JoinStyle join{JoinStyle::Bevel}; - }; - VRasterizer mRasterizer; - VBrush mBrush; - VPath mPath; - StrokeInfo mStroke; - DirtyFlag mFlag{DirtyState::All}; - FillRule mFillRule{FillRule::Winding}; - VDrawable::Type mType{Type::Fill}; -}; - -#endif // VDRAWABLE_H diff --git a/submodules/RLottie/Sources/rlottie/src/vector/vdrawhelper.cpp b/submodules/RLottie/Sources/rlottie/src/vector/vdrawhelper.cpp deleted file mode 100644 index 2b1c7b2759..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/vdrawhelper.cpp +++ /dev/null @@ -1,945 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtGui module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "vdrawhelper.h" -#include -#include -#include -#include -#include - -class VGradientCache { -public: - struct CacheInfo : public VColorTable { - inline CacheInfo(VGradientStops s) : stops(std::move(s)) {} - VGradientStops stops; - }; - using VCacheData = std::shared_ptr; - using VCacheKey = int64_t; - using VGradientColorTableHash = - std::unordered_multimap; - - bool generateGradientColorTable(const VGradientStops &stops, float alpha, - uint32_t *colorTable, int size); - VCacheData getBuffer(const VGradient &gradient) - { - VCacheKey hash_val = 0; - VCacheData info; - const VGradientStops &stops = gradient.mStops; - for (uint i = 0; i < stops.size() && i <= 2; i++) - hash_val += (stops[i].second.premulARGB() * gradient.alpha()); - - { - std::lock_guard guard(mMutex); - - size_t count = mCache.count(hash_val); - if (!count) { - // key is not present in the hash - info = addCacheElement(hash_val, gradient); - } else if (count == 1) { - auto search = mCache.find(hash_val); - if (search->second->stops == stops) { - info = search->second; - } else { - // didn't find an exact match - info = addCacheElement(hash_val, gradient); - } - } else { - // we have a multiple data with same key - auto range = mCache.equal_range(hash_val); - for (auto it = range.first; it != range.second; ++it) { - if (it->second->stops == stops) { - info = it->second; - break; - } - } - if (!info) { - // didn't find an exact match - info = addCacheElement(hash_val, gradient); - } - } - } - return info; - } - -protected: - uint maxCacheSize() const { return 60; } - VCacheData addCacheElement(VCacheKey hash_val, const VGradient &gradient) - { - if (mCache.size() == maxCacheSize()) { - uint count = maxCacheSize() / 10; - while (count--) { - mCache.erase(mCache.begin()); - } - } - auto cache_entry = std::make_shared(gradient.mStops); - cache_entry->alpha = generateGradientColorTable( - gradient.mStops, gradient.alpha(), cache_entry->buffer32, - VGradient::colorTableSize); - mCache.insert(std::make_pair(hash_val, cache_entry)); - return cache_entry; - } - - VGradientColorTableHash mCache; - std::mutex mMutex; -}; - -bool VGradientCache::generateGradientColorTable(const VGradientStops &stops, - float opacity, - uint32_t *colorTable, int size) -{ - int dist, idist, pos = 0, i; - bool alpha = false; - int stopCount = stops.size(); - const VGradientStop *curr, *next, *start; - uint32_t curColor, nextColor; - float delta, t, incr, fpos; - - if (!vCompare(opacity, 1.0f)) alpha = true; - - start = stops.data(); - curr = start; - if (!curr->second.isOpaque()) alpha = true; - curColor = curr->second.premulARGB(opacity); - incr = 1.0 / (float)size; - fpos = 1.5 * incr; - - colorTable[pos++] = curColor; - - while (fpos <= curr->first) { - colorTable[pos] = colorTable[pos - 1]; - pos++; - fpos += incr; - } - - for (i = 0; i < stopCount - 1; ++i) { - curr = (start + i); - next = (start + i + 1); - delta = 1 / (next->first - curr->first); - if (!next->second.isOpaque()) alpha = true; - nextColor = next->second.premulARGB(opacity); - while (fpos < next->first && pos < size) { - t = (fpos - curr->first) * delta; - dist = (int)(255 * t); - idist = 255 - dist; - colorTable[pos] = - INTERPOLATE_PIXEL_255(curColor, idist, nextColor, dist); - ++pos; - fpos += incr; - } - curColor = nextColor; - } - - for (; pos < size; ++pos) colorTable[pos] = curColor; - - // Make sure the last color stop is represented at the end of the table - colorTable[size - 1] = curColor; - return alpha; -} - -static VGradientCache VGradientCacheInstance; - -void VRasterBuffer::clear() -{ - memset(mBuffer, 0, mHeight * mBytesPerLine); -} - -VBitmap::Format VRasterBuffer::prepare(VBitmap *image) -{ - mBuffer = image->data(); - mWidth = image->width(); - mHeight = image->height(); - mBytesPerPixel = 4; - mBytesPerLine = image->stride(); - - mFormat = image->format(); - return mFormat; -} - -void VSpanData::init(VRasterBuffer *image) -{ - mRasterBuffer = image; - setDrawRegion(VRect(0, 0, image->width(), image->height())); - mType = VSpanData::Type::None; - mBlendFunc = nullptr; - mUnclippedBlendFunc = nullptr; -} - -extern CompositionFunction COMP_functionForMode_C[]; -extern CompositionFunctionSolid COMP_functionForModeSolid_C[]; -static const CompositionFunction * functionForMode = COMP_functionForMode_C; -static const CompositionFunctionSolid *functionForModeSolid = - COMP_functionForModeSolid_C; - -/* - * Gradient Draw routines - * - */ - -#define FIXPT_BITS 8 -#define FIXPT_SIZE (1 << FIXPT_BITS) -static inline void getLinearGradientValues(LinearGradientValues *v, - const VSpanData * data) -{ - const VGradientData *grad = &data->mGradient; - v->dx = grad->linear.x2 - grad->linear.x1; - v->dy = grad->linear.y2 - grad->linear.y1; - v->l = v->dx * v->dx + v->dy * v->dy; - v->off = 0; - if (v->l != 0) { - v->dx /= v->l; - v->dy /= v->l; - v->off = -v->dx * grad->linear.x1 - v->dy * grad->linear.y1; - } -} - -static inline void getRadialGradientValues(RadialGradientValues *v, - const VSpanData * data) -{ - const VGradientData &gradient = data->mGradient; - v->dx = gradient.radial.cx - gradient.radial.fx; - v->dy = gradient.radial.cy - gradient.radial.fy; - - v->dr = gradient.radial.cradius - gradient.radial.fradius; - v->sqrfr = gradient.radial.fradius * gradient.radial.fradius; - - v->a = v->dr * v->dr - v->dx * v->dx - v->dy * v->dy; - v->inv2a = 1 / (2 * v->a); - - v->extended = !vIsZero(gradient.radial.fradius) || v->a <= 0; -} - -static inline int gradientClamp(const VGradientData *grad, int ipos) -{ - int limit; - - if (grad->mSpread == VGradient::Spread::Repeat) { - ipos = ipos % VGradient::colorTableSize; - ipos = ipos < 0 ? VGradient::colorTableSize + ipos : ipos; - } else if (grad->mSpread == VGradient::Spread::Reflect) { - limit = VGradient::colorTableSize * 2; - ipos = ipos % limit; - ipos = ipos < 0 ? limit + ipos : ipos; - ipos = ipos >= VGradient::colorTableSize ? limit - 1 - ipos : ipos; - } else { - if (ipos < 0) - ipos = 0; - else if (ipos >= VGradient::colorTableSize) - ipos = VGradient::colorTableSize - 1; - } - return ipos; -} - -static uint32_t gradientPixelFixed(const VGradientData *grad, int fixed_pos) -{ - int ipos = (fixed_pos + (FIXPT_SIZE / 2)) >> FIXPT_BITS; - - return grad->mColorTable[gradientClamp(grad, ipos)]; -} - -static inline uint32_t gradientPixel(const VGradientData *grad, float pos) -{ - int ipos = (int)(pos * (VGradient::colorTableSize - 1) + (float)(0.5)); - - return grad->mColorTable[gradientClamp(grad, ipos)]; -} - -void fetch_linear_gradient(uint32_t *buffer, const Operator *op, - const VSpanData *data, int y, int x, int length) -{ - float t, inc; - const VGradientData *gradient = &data->mGradient; - - bool affine = true; - float rx = 0, ry = 0; - if (op->linear.l == 0) { - t = inc = 0; - } else { - rx = data->m21 * (y + float(0.5)) + data->m11 * (x + float(0.5)) + - data->dx; - ry = data->m22 * (y + float(0.5)) + data->m12 * (x + float(0.5)) + - data->dy; - t = op->linear.dx * rx + op->linear.dy * ry + op->linear.off; - inc = op->linear.dx * data->m11 + op->linear.dy * data->m12; - affine = !data->m13 && !data->m23; - - if (affine) { - t *= (VGradient::colorTableSize - 1); - inc *= (VGradient::colorTableSize - 1); - } - } - - const uint32_t *end = buffer + length; - if (affine) { - if (inc > float(-1e-5) && inc < float(1e-5)) { - memfill32(buffer, gradientPixelFixed(gradient, int(t * FIXPT_SIZE)), - length); - } else { - if (t + inc * length < float(INT_MAX >> (FIXPT_BITS + 1)) && - t + inc * length > float(INT_MIN >> (FIXPT_BITS + 1))) { - // we can use fixed point math - int t_fixed = int(t * FIXPT_SIZE); - int inc_fixed = int(inc * FIXPT_SIZE); - while (buffer < end) { - *buffer = gradientPixelFixed(gradient, t_fixed); - t_fixed += inc_fixed; - ++buffer; - } - } else { - // we have to fall back to float math - while (buffer < end) { - *buffer = - gradientPixel(gradient, t / VGradient::colorTableSize); - t += inc; - ++buffer; - } - } - } - } else { // fall back to float math here as well - float rw = data->m23 * (y + float(0.5)) + data->m13 * (x + float(0.5)) + - data->m33; - while (buffer < end) { - float x = rx / rw; - float y = ry / rw; - t = (op->linear.dx * x + op->linear.dy * y) + op->linear.off; - - *buffer = gradientPixel(gradient, t); - rx += data->m11; - ry += data->m12; - rw += data->m13; - if (!rw) { - rw += data->m13; - } - ++buffer; - } - } -} - -static inline float radialDeterminant(float a, float b, float c) -{ - return (b * b) - (4 * a * c); -} - -static void fetch(uint32_t *buffer, uint32_t *end, const Operator *op, - const VSpanData *data, float det, float delta_det, - float delta_delta_det, float b, float delta_b) -{ - if (op->radial.extended) { - while (buffer < end) { - uint32_t result = 0; - if (det >= 0) { - float w = std::sqrt(det) - b; - if (data->mGradient.radial.fradius + op->radial.dr * w >= 0) - result = gradientPixel(&data->mGradient, w); - } - - *buffer = result; - - det += delta_det; - delta_det += delta_delta_det; - b += delta_b; - - ++buffer; - } - } else { - while (buffer < end) { - *buffer++ = gradientPixel(&data->mGradient, std::sqrt(det) - b); - - det += delta_det; - delta_det += delta_delta_det; - b += delta_b; - } - } -} - -void fetch_radial_gradient(uint32_t *buffer, const Operator *op, - const VSpanData *data, int y, int x, int length) -{ - // avoid division by zero - if (vIsZero(op->radial.a)) { - memfill32(buffer, 0, length); - return; - } - - float rx = - data->m21 * (y + float(0.5)) + data->dx + data->m11 * (x + float(0.5)); - float ry = - data->m22 * (y + float(0.5)) + data->dy + data->m12 * (x + float(0.5)); - bool affine = !data->m13 && !data->m23; - - uint32_t *end = buffer + length; - if (affine) { - rx -= data->mGradient.radial.fx; - ry -= data->mGradient.radial.fy; - - float inv_a = 1 / float(2 * op->radial.a); - - const float delta_rx = data->m11; - const float delta_ry = data->m12; - - float b = 2 * (op->radial.dr * data->mGradient.radial.fradius + - rx * op->radial.dx + ry * op->radial.dy); - float delta_b = - 2 * (delta_rx * op->radial.dx + delta_ry * op->radial.dy); - const float b_delta_b = 2 * b * delta_b; - const float delta_b_delta_b = 2 * delta_b * delta_b; - - const float bb = b * b; - const float delta_bb = delta_b * delta_b; - - b *= inv_a; - delta_b *= inv_a; - - const float rxrxryry = rx * rx + ry * ry; - const float delta_rxrxryry = delta_rx * delta_rx + delta_ry * delta_ry; - const float rx_plus_ry = 2 * (rx * delta_rx + ry * delta_ry); - const float delta_rx_plus_ry = 2 * delta_rxrxryry; - - inv_a *= inv_a; - - float det = - (bb - 4 * op->radial.a * (op->radial.sqrfr - rxrxryry)) * inv_a; - float delta_det = (b_delta_b + delta_bb + - 4 * op->radial.a * (rx_plus_ry + delta_rxrxryry)) * - inv_a; - const float delta_delta_det = - (delta_b_delta_b + 4 * op->radial.a * delta_rx_plus_ry) * inv_a; - - fetch(buffer, end, op, data, det, delta_det, delta_delta_det, b, - delta_b); - } else { - float rw = data->m23 * (y + float(0.5)) + data->m33 + - data->m13 * (x + float(0.5)); - - while (buffer < end) { - if (rw == 0) { - *buffer = 0; - } else { - float invRw = 1 / rw; - float gx = rx * invRw - data->mGradient.radial.fx; - float gy = ry * invRw - data->mGradient.radial.fy; - float b = 2 * (op->radial.dr * data->mGradient.radial.fradius + - gx * op->radial.dx + gy * op->radial.dy); - float det = radialDeterminant( - op->radial.a, b, op->radial.sqrfr - (gx * gx + gy * gy)); - - uint32_t result = 0; - if (det >= 0) { - float detSqrt = std::sqrt(det); - - float s0 = (-b - detSqrt) * op->radial.inv2a; - float s1 = (-b + detSqrt) * op->radial.inv2a; - - float s = vMax(s0, s1); - - if (data->mGradient.radial.fradius + op->radial.dr * s >= 0) - result = gradientPixel(&data->mGradient, s); - } - - *buffer = result; - } - - rx += data->m11; - ry += data->m12; - rw += data->m13; - - ++buffer; - } - } -} - -static inline Operator getOperator(const VSpanData *data, const VRle::Span *, - size_t) -{ - Operator op; - bool solidSource = false; - - switch (data->mType) { - case VSpanData::Type::Solid: - solidSource = (vAlpha(data->mSolid) == 255); - op.srcFetch = nullptr; - break; - case VSpanData::Type::LinearGradient: - solidSource = false; - getLinearGradientValues(&op.linear, data); - op.srcFetch = &fetch_linear_gradient; - break; - case VSpanData::Type::RadialGradient: - solidSource = false; - getRadialGradientValues(&op.radial, data); - op.srcFetch = &fetch_radial_gradient; - break; - default: - op.srcFetch = nullptr; - break; - } - - op.mode = data->mCompositionMode; - if (op.mode == VPainter::CompModeSrcOver && solidSource) - op.mode = VPainter::CompModeSrc; - - op.funcSolid = functionForModeSolid[op.mode]; - op.func = functionForMode[op.mode]; - - return op; -} - -static void blendColorARGB(size_t count, const VRle::Span *spans, - void *userData) -{ - VSpanData *data = (VSpanData *)(userData); - Operator op = getOperator(data, spans, count); - const uint color = data->mSolid; - - if (op.mode == VPainter::CompModeSrc) { - // inline for performance - while (count--) { - uint *target = data->buffer(spans->x, spans->y); - if (spans->coverage == 255) { - memfill32(target, color, spans->len); - } else { - uint c = BYTE_MUL(color, spans->coverage); - int ialpha = 255 - spans->coverage; - for (int i = 0; i < spans->len; ++i) - target[i] = c + BYTE_MUL(target[i], ialpha); - } - ++spans; - } - return; - } - - while (count--) { - uint *target = data->buffer(spans->x, spans->y); - op.funcSolid(target, spans->len, color, spans->coverage); - ++spans; - } -} - -#define BLEND_GRADIENT_BUFFER_SIZE 2048 -static void blendGradientARGB(size_t count, const VRle::Span *spans, - void *userData) -{ - VSpanData *data = (VSpanData *)(userData); - Operator op = getOperator(data, spans, count); - - unsigned int buffer[BLEND_GRADIENT_BUFFER_SIZE]; - - if (!op.srcFetch) return; - - while (count--) { - uint *target = data->buffer(spans->x, spans->y); - int length = spans->len; - while (length) { - int l = std::min(length, BLEND_GRADIENT_BUFFER_SIZE); - op.srcFetch(buffer, &op, data, spans->y, spans->x, l); - op.func(target, buffer, l, spans->coverage); - target += l; - length -= l; - } - ++spans; - } -} - -template -constexpr const T &clamp(const T &v, const T &lo, const T &hi) -{ - return v < lo ? lo : hi < v ? hi : v; -} - -static const int buffer_size = 1024; -static const int fixed_scale = 1 << 16; -static void blend_transformed_argb(size_t count, const VRle::Span *spans, - void *userData) -{ - VSpanData *data = reinterpret_cast(userData); - if (data->mBitmap.format != VBitmap::Format::ARGB32_Premultiplied && - data->mBitmap.format != VBitmap::Format::ARGB32) { - //@TODO other formats not yet handled. - return; - } - - Operator op = getOperator(data, spans, count); - uint buffer[buffer_size]; - - const int image_x1 = data->mBitmap.x1; - const int image_y1 = data->mBitmap.y1; - const int image_x2 = data->mBitmap.x2 - 1; - const int image_y2 = data->mBitmap.y2 - 1; - - if (data->fast_matrix) { - // The increment pr x in the scanline - int fdx = (int)(data->m11 * fixed_scale); - int fdy = (int)(data->m12 * fixed_scale); - - while (count--) { - uint *target = data->buffer(spans->x, spans->y); - - const float cx = spans->x + float(0.5); - const float cy = spans->y + float(0.5); - - int x = - int((data->m21 * cy + data->m11 * cx + data->dx) * fixed_scale); - int y = - int((data->m22 * cy + data->m12 * cx + data->dy) * fixed_scale); - - int length = spans->len; - const int coverage = - (spans->coverage * data->mBitmap.const_alpha) >> 8; - while (length) { - int l = std::min(length, buffer_size); - const uint *end = buffer + l; - uint * b = buffer; - while (b < end) { - int px = clamp(x >> 16, image_x1, image_x2); - int py = clamp(y >> 16, image_y1, image_y2); - *b = reinterpret_cast( - data->mBitmap.scanLine(py))[px]; - - x += fdx; - y += fdy; - ++b; - } - op.func(target, buffer, l, coverage); - target += l; - length -= l; - } - ++spans; - } - } else { - const float fdx = data->m11; - const float fdy = data->m12; - const float fdw = data->m13; - while (count--) { - uint *target = data->buffer(spans->x, spans->y); - - const float cx = spans->x + float(0.5); - const float cy = spans->y + float(0.5); - - float x = data->m21 * cy + data->m11 * cx + data->dx; - float y = data->m22 * cy + data->m12 * cx + data->dy; - float w = data->m23 * cy + data->m13 * cx + data->m33; - - int length = spans->len; - const int coverage = - (spans->coverage * data->mBitmap.const_alpha) >> 8; - while (length) { - int l = std::min(length, buffer_size); - const uint *end = buffer + l; - uint * b = buffer; - while (b < end) { - const float iw = w == 0 ? 1 : 1 / w; - const float tx = x * iw; - const float ty = y * iw; - const int px = - clamp(int(tx) - (tx < 0), image_x1, image_x2); - const int py = - clamp(int(ty) - (ty < 0), image_y1, image_y2); - - *b = reinterpret_cast( - data->mBitmap.scanLine(py))[px]; - x += fdx; - y += fdy; - w += fdw; - - ++b; - } - op.func(target, buffer, l, coverage); - target += l; - length -= l; - } - ++spans; - } - } -} - -static void blend_untransformed_argb(size_t count, const VRle::Span *spans, - void *userData) -{ - VSpanData *data = reinterpret_cast(userData); - if (data->mBitmap.format != VBitmap::Format::ARGB32_Premultiplied && - data->mBitmap.format != VBitmap::Format::ARGB32) { - //@TODO other formats not yet handled. - return; - } - - Operator op = getOperator(data, spans, count); - - const int image_width = data->mBitmap.width; - const int image_height = data->mBitmap.height; - - int xoff = data->dx; - int yoff = data->dy; - - while (count--) { - int x = spans->x; - int length = spans->len; - int sx = xoff + x; - int sy = yoff + spans->y; - if (sy >= 0 && sy < image_height && sx < image_width) { - if (sx < 0) { - x -= sx; - length += sx; - sx = 0; - } - if (sx + length > image_width) length = image_width - sx; - if (length > 0) { - const int coverage = - (spans->coverage * data->mBitmap.const_alpha) >> 8; - const uint *src = (const uint *)data->mBitmap.scanLine(sy) + sx; - uint * dest = data->buffer(x, spans->y); - op.func(dest, src, length, coverage); - } - } - ++spans; - } -} - -void VSpanData::setup(const VBrush &brush, VPainter::CompositionMode /*mode*/, - int /*alpha*/) -{ - transformType = VMatrix::MatrixType::None; - - switch (brush.type()) { - case VBrush::Type::NoBrush: - mType = VSpanData::Type::None; - break; - case VBrush::Type::Solid: - mType = VSpanData::Type::Solid; - mSolid = brush.mColor.premulARGB(); - break; - case VBrush::Type::LinearGradient: { - mType = VSpanData::Type::LinearGradient; - mColorTable = VGradientCacheInstance.getBuffer(*brush.mGradient); - mGradient.mColorTable = mColorTable->buffer32; - mGradient.mColorTableAlpha = mColorTable->alpha; - mGradient.linear.x1 = brush.mGradient->linear.x1; - mGradient.linear.y1 = brush.mGradient->linear.y1; - mGradient.linear.x2 = brush.mGradient->linear.x2; - mGradient.linear.y2 = brush.mGradient->linear.y2; - mGradient.mSpread = brush.mGradient->mSpread; - setupMatrix(brush.mGradient->mMatrix); - break; - } - case VBrush::Type::RadialGradient: { - mType = VSpanData::Type::RadialGradient; - mColorTable = VGradientCacheInstance.getBuffer(*brush.mGradient); - mGradient.mColorTable = mColorTable->buffer32; - mGradient.mColorTableAlpha = mColorTable->alpha; - mGradient.radial.cx = brush.mGradient->radial.cx; - mGradient.radial.cy = brush.mGradient->radial.cy; - mGradient.radial.fx = brush.mGradient->radial.fx; - mGradient.radial.fy = brush.mGradient->radial.fy; - mGradient.radial.cradius = brush.mGradient->radial.cradius; - mGradient.radial.fradius = brush.mGradient->radial.fradius; - mGradient.mSpread = brush.mGradient->mSpread; - setupMatrix(brush.mGradient->mMatrix); - break; - } - case VBrush::Type::Texture: { - mType = VSpanData::Type::Texture; - initTexture( - &brush.mTexture, 255, VBitmapData::Plain, - VRect(0, 0, brush.mTexture.width(), brush.mTexture.height())); - setupMatrix(brush.mMatrix); - break; - } - default: - break; - } - updateSpanFunc(); -} - -void VSpanData::setupMatrix(const VMatrix &matrix) -{ - VMatrix inv = matrix.inverted(); - m11 = inv.m11; - m12 = inv.m12; - m13 = inv.m13; - m21 = inv.m21; - m22 = inv.m22; - m23 = inv.m23; - m33 = inv.m33; - dx = inv.mtx; - dy = inv.mty; - transformType = inv.type(); - - const bool affine = inv.isAffine(); - const float f1 = m11 * m11 + m21 * m21; - const float f2 = m12 * m12 + m22 * m22; - fast_matrix = affine && f1 < 1e4 && f2 < 1e4 && f1 > (1.0 / 65536) && - f2 > (1.0 / 65536) && fabs(dx) < 1e4 && fabs(dy) < 1e4; -} - -void VSpanData::initTexture(const VBitmap *bitmap, int alpha, - VBitmapData::Type type, const VRect &sourceRect) -{ - mType = VSpanData::Type::Texture; - - mBitmap.imageData = bitmap->data(); - mBitmap.width = bitmap->width(); - mBitmap.height = bitmap->height(); - mBitmap.bytesPerLine = bitmap->stride(); - mBitmap.format = bitmap->format(); - mBitmap.x1 = sourceRect.x(); - mBitmap.y1 = sourceRect.y(); - mBitmap.x2 = std::min(mBitmap.x1 + sourceRect.width(), mBitmap.width); - mBitmap.y2 = std::min(mBitmap.y1 + sourceRect.height(), mBitmap.height); - - mBitmap.const_alpha = alpha; - mBitmap.type = type; - - updateSpanFunc(); -} - -void VSpanData::updateSpanFunc() -{ - switch (mType) { - case VSpanData::Type::None: - mUnclippedBlendFunc = nullptr; - break; - case VSpanData::Type::Solid: - mUnclippedBlendFunc = &blendColorARGB; - break; - case VSpanData::Type::LinearGradient: - case VSpanData::Type::RadialGradient: { - mUnclippedBlendFunc = &blendGradientARGB; - break; - } - case VSpanData::Type::Texture: { - //@TODO update proper image function. - if (transformType <= VMatrix::MatrixType::Translate) { - mUnclippedBlendFunc = &blend_untransformed_argb; - } else { - mUnclippedBlendFunc = &blend_transformed_argb; - } - break; - } - } -} - -#if !defined(__SSE2__)// && !defined(__ARM_NEON__) -void memfill32(uint32_t *dest, uint32_t value, int length) -{ - int n; - - if (length <= 0) return; - - // Cute hack to align future memcopy operation - // and do unroll the loop a bit. Not sure it is - // the most efficient, but will do for now. - n = (length + 7) / 8; - switch (length & 0x07) { - case 0: - do { - *dest++ = value; - VECTOR_FALLTHROUGH; - case 7: - *dest++ = value; - VECTOR_FALLTHROUGH; - case 6: - *dest++ = value; - VECTOR_FALLTHROUGH; - case 5: - *dest++ = value; - VECTOR_FALLTHROUGH; - case 4: - *dest++ = value; - VECTOR_FALLTHROUGH; - case 3: - *dest++ = value; - VECTOR_FALLTHROUGH; - case 2: - *dest++ = value; - VECTOR_FALLTHROUGH; - case 1: - *dest++ = value; - } while (--n > 0); - } -} -#endif - -void vInitDrawhelperFunctions() -{ - vInitBlendFunctions(); - -#if 0 // defined(__ARM_NEON__) - // update fast path for NEON - extern void comp_func_solid_SourceOver_neon( - uint32_t * dest, int length, uint32_t color, uint32_t const_alpha); - - COMP_functionForModeSolid_C[VPainter::CompModeSrcOver] = - comp_func_solid_SourceOver_neon; -#endif - -#if defined(__SSE2__) - // update fast path for SSE2 - extern void comp_func_solid_SourceOver_sse2( - uint32_t * dest, int length, uint32_t color, uint32_t const_alpha); - extern void comp_func_solid_Source_sse2( - uint32_t * dest, int length, uint32_t color, uint32_t const_alpha); - extern void comp_func_Source_sse2(uint32_t * dest, const uint32_t *src, - int length, uint32_t const_alpha); - extern void comp_func_SourceOver_sse2(uint32_t * dest, const uint32_t *src, - int length, uint32_t const_alpha); - - COMP_functionForModeSolid_C[VPainter::CompModeSrc] = - comp_func_solid_Source_sse2; - COMP_functionForModeSolid_C[VPainter::CompModeSrcOver] = - comp_func_solid_SourceOver_sse2; - - COMP_functionForMode_C[VPainter::CompModeSrc] = comp_func_Source_sse2; - // COMP_functionForMode_C[VPainter::CompModeSrcOver] = - // comp_func_SourceOver_sse2; -#endif -} - -V_CONSTRUCTOR_FUNCTION(vInitDrawhelperFunctions) diff --git a/submodules/RLottie/Sources/rlottie/src/vector/vdrawhelper.h b/submodules/RLottie/Sources/rlottie/src/vector/vdrawhelper.h deleted file mode 100644 index a0245d7784..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/vdrawhelper.h +++ /dev/null @@ -1,248 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef VDRAWHELPER_H -#define VDRAWHELPER_H - -#include -#include -#include "assert.h" -#include "vbitmap.h" -#include "vbrush.h" -#include "vpainter.h" -#include "vrect.h" -#include "vrle.h" - -V_USE_NAMESPACE - -struct VSpanData; -struct Operator; - -typedef void (*CompositionFunctionSolid)(uint32_t *dest, int length, - uint32_t color, uint32_t const_alpha); -typedef void (*CompositionFunction)(uint32_t *dest, const uint32_t *src, - int length, uint32_t const_alpha); -typedef void (*SourceFetchProc)(uint32_t *buffer, const Operator *o, - const VSpanData *data, int y, int x, - int length); -typedef void (*ProcessRleSpan)(size_t count, const VRle::Span *spans, - void *userData); - -extern void memfill32(uint32_t *dest, uint32_t value, int count); - -struct LinearGradientValues { - float dx; - float dy; - float l; - float off; -}; - -struct RadialGradientValues { - float dx; - float dy; - float dr; - float sqrfr; - float a; - float inv2a; - bool extended; -}; - -struct Operator { - VPainter::CompositionMode mode; - SourceFetchProc srcFetch; - CompositionFunctionSolid funcSolid; - CompositionFunction func; - union { - LinearGradientValues linear; - RadialGradientValues radial; - }; -}; - -class VRasterBuffer { -public: - VBitmap::Format prepare(VBitmap *image); - void clear(); - - void resetBuffer(int val = 0); - - inline uchar *scanLine(int y) - { - assert(y >= 0); - assert(y < mHeight); - return mBuffer + y * mBytesPerLine; - } - - int width() const { return mWidth; } - int height() const { return mHeight; } - int bytesPerLine() const { return mBytesPerLine; } - int bytesPerPixel() const { return mBytesPerPixel; } - - VBitmap::Format mFormat{VBitmap::Format::ARGB32_Premultiplied}; -private: - int mWidth{0}; - int mHeight{0}; - int mBytesPerLine{0}; - int mBytesPerPixel{0}; - uchar *mBuffer{nullptr}; -}; - -struct VGradientData { - VGradient::Spread mSpread; - union { - struct { - float x1, y1, x2, y2; - } linear; - struct { - float cx, cy, fx, fy, cradius, fradius; - } radial; - }; - const uint32_t *mColorTable; - bool mColorTableAlpha; -}; - -struct VBitmapData -{ - const uchar *imageData; - const uchar *scanLine(int y) const { return imageData + y*bytesPerLine; } - - int width; - int height; - // clip rect - int x1; - int y1; - int x2; - int y2; - uint bytesPerLine; - VBitmap::Format format; - bool hasAlpha; - enum Type { - Plain, - Tiled - }; - Type type; - int const_alpha; -}; - -struct VColorTable -{ - uint32_t buffer32[VGradient::colorTableSize]; - bool alpha{true}; -}; - -struct VSpanData { - enum class Type { None, Solid, LinearGradient, RadialGradient, Texture }; - - void updateSpanFunc(); - void init(VRasterBuffer *image); - void setup(const VBrush & brush, - VPainter::CompositionMode mode = VPainter::CompModeSrcOver, - int alpha = 255); - void setupMatrix(const VMatrix &matrix); - - VRect clipRect() const - { - return VRect(0, 0, mDrawableSize.width(), mDrawableSize.height()); - } - - void setDrawRegion(const VRect ®ion) - { - mOffset = VPoint(region.left(), region.top()); - mDrawableSize = VSize(region.width(), region.height()); - } - - uint *buffer(int x, int y) const - { - return (uint *)(mRasterBuffer->scanLine(y + mOffset.y())) + x + mOffset.x(); - } - void initTexture(const VBitmap *image, int alpha, VBitmapData::Type type, const VRect &sourceRect); - - VPainter::CompositionMode mCompositionMode{VPainter::CompositionMode::CompModeSrcOver}; - VRasterBuffer * mRasterBuffer; - ProcessRleSpan mBlendFunc; - ProcessRleSpan mUnclippedBlendFunc; - VSpanData::Type mType; - std::shared_ptr mColorTable{nullptr}; - VPoint mOffset; // offset to the subsurface - VSize mDrawableSize;// suburface size - union { - uint32_t mSolid; - VGradientData mGradient; - VBitmapData mBitmap; - }; - float m11, m12, m13, m21, m22, m23, m33, dx, dy; // inverse xform matrix - bool fast_matrix{true}; - VMatrix::MatrixType transformType{VMatrix::MatrixType::None}; -}; - -void vInitDrawhelperFunctions(); -extern void vInitBlendFunctions(); - -#define BYTE_MUL(c, a) \ - ((((((c) >> 8) & 0x00ff00ff) * (a)) & 0xff00ff00) + \ - (((((c)&0x00ff00ff) * (a)) >> 8) & 0x00ff00ff)) - -inline constexpr int vRed(uint32_t c) -{ - return ((c >> 16) & 0xff); -} - -inline constexpr int vGreen(uint32_t c) -{ - return ((c >> 8) & 0xff); -} - -inline constexpr int vBlue(uint32_t c) -{ - return (c & 0xff); -} - -inline constexpr int vAlpha(uint32_t c) -{ - return c >> 24; -} - -static inline uint INTERPOLATE_PIXEL_255(uint x, uint a, uint y, uint b) -{ - uint t = (x & 0xff00ff) * a + (y & 0xff00ff) * b; - t >>= 8; - t &= 0xff00ff; - x = ((x >> 8) & 0xff00ff) * a + ((y >> 8) & 0xff00ff) * b; - x &= 0xff00ff00; - x |= t; - return x; -} - -#define LOOP_ALIGNED_U1_A4(DEST, LENGTH, UOP, A4OP) \ - { \ - while ((uintptr_t)DEST & 0xF && LENGTH) \ - UOP \ - \ - while (LENGTH) \ - { \ - switch (LENGTH) { \ - case 3: \ - case 2: \ - case 1: \ - UOP break; \ - default: \ - A4OP break; \ - } \ - } \ - } - -#endif // QDRAWHELPER_P_H diff --git a/submodules/RLottie/Sources/rlottie/src/vector/vdrawhelper_neon.cpp b/submodules/RLottie/Sources/rlottie/src/vector/vdrawhelper_neon.cpp deleted file mode 100644 index 25a2fed5f1..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/vdrawhelper_neon.cpp +++ /dev/null @@ -1,27 +0,0 @@ -#if defined(__ARM_NEON__) - -#include "vdrawhelper.h" - -extern "C" void pixman_composite_src_n_8888_asm_neon(int32_t w, int32_t h, - uint32_t *dst, - int32_t dst_stride, - uint32_t src); - -extern "C" void pixman_composite_over_n_8888_asm_neon(int32_t w, int32_t h, - uint32_t *dst, - int32_t dst_stride, - uint32_t src); - -void memfill32(uint32_t *dest, uint32_t value, int length) -{ - pixman_composite_src_n_8888_asm_neon(length, 1, dest, length, value); -} - -void comp_func_solid_SourceOver_neon(uint32_t *dest, int length, uint32_t color, - uint32_t const_alpha) -{ - if (const_alpha != 255) color = BYTE_MUL(color, const_alpha); - - pixman_composite_over_n_8888_asm_neon(length, 1, dest, length, color); -} -#endif diff --git a/submodules/RLottie/Sources/rlottie/src/vector/vdrawhelper_sse2.cpp b/submodules/RLottie/Sources/rlottie/src/vector/vdrawhelper_sse2.cpp deleted file mode 100644 index c2133d31fa..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/vdrawhelper_sse2.cpp +++ /dev/null @@ -1,498 +0,0 @@ -#if defined(__SSE2__) - -#include "vdrawhelper.h" - -#include /* for SSE2 intrinsics */ -#include /* for _mm_shuffle_pi16 and _MM_SHUFFLE */ - -// Each 32bits components of alphaChannel must be in the form 0x00AA00AA -inline static __m128i v4_byte_mul_sse2(__m128i c, __m128i a) -{ - const __m128i ag_mask = _mm_set1_epi32(0xFF00FF00); - const __m128i rb_mask = _mm_set1_epi32(0x00FF00FF); - - /* for AG */ - __m128i v_ag = _mm_and_si128(ag_mask, c); - v_ag = _mm_srli_epi32(v_ag, 8); - v_ag = _mm_mullo_epi16(a, v_ag); - v_ag = _mm_and_si128(ag_mask, v_ag); - - /* for RB */ - __m128i v_rb = _mm_and_si128(rb_mask, c); - v_rb = _mm_mullo_epi16(a, v_rb); - v_rb = _mm_srli_epi32(v_rb, 8); - v_rb = _mm_and_si128(rb_mask, v_rb); - - /* combine */ - return _mm_add_epi32(v_ag, v_rb); -} - -static inline __m128i v4_ialpha_sse2(__m128i c) -{ - __m128i a = _mm_srli_epi32(c, 24); - - return _mm_sub_epi32(_mm_set1_epi32(0xff), a); -} - -static inline __m128i v4_interpolate_color_sse2(__m128i a, __m128i c0, - __m128i c1) -{ - const __m128i rb_mask = _mm_set1_epi32(0xFF00FF00); - const __m128i zero = _mm_setzero_si128(); - - __m128i a_l = a; - __m128i a_h = a; - a_l = _mm_unpacklo_epi16(a_l, a_l); - a_h = _mm_unpackhi_epi16(a_h, a_h); - - __m128i a_t = _mm_slli_epi64(a_l, 32); - __m128i a_t0 = _mm_slli_epi64(a_h, 32); - - a_l = _mm_add_epi32(a_l, a_t); - a_h = _mm_add_epi32(a_h, a_t0); - - __m128i c0_l = c0; - __m128i c0_h = c0; - - c0_l = _mm_unpacklo_epi8(c0_l, zero); - c0_h = _mm_unpackhi_epi8(c0_h, zero); - - __m128i c1_l = c1; - __m128i c1_h = c1; - - c1_l = _mm_unpacklo_epi8(c1_l, zero); - c1_h = _mm_unpackhi_epi8(c1_h, zero); - - __m128i cl_sub = _mm_sub_epi16(c0_l, c1_l); - __m128i ch_sub = _mm_sub_epi16(c0_h, c1_h); - - cl_sub = _mm_mullo_epi16(cl_sub, a_l); - ch_sub = _mm_mullo_epi16(ch_sub, a_h); - - __m128i c1ls = _mm_slli_epi16(c1_l, 8); - __m128i c1hs = _mm_slli_epi16(c1_h, 8); - - cl_sub = _mm_add_epi16(cl_sub, c1ls); - ch_sub = _mm_add_epi16(ch_sub, c1hs); - - cl_sub = _mm_and_si128(cl_sub, rb_mask); - ch_sub = _mm_and_si128(ch_sub, rb_mask); - - cl_sub = _mm_srli_epi64(cl_sub, 8); - ch_sub = _mm_srli_epi64(ch_sub, 8); - - cl_sub = _mm_packus_epi16(cl_sub, cl_sub); - ch_sub = _mm_packus_epi16(ch_sub, ch_sub); - - return (__m128i)_mm_shuffle_ps((__m128)cl_sub, (__m128)ch_sub, 0x44); -} - -// Load src and dest vector -#define V4_FETCH_SRC_DEST \ - __m128i v_src = _mm_loadu_si128((__m128i*)src); \ - __m128i v_dest = _mm_load_si128((__m128i*)dest); - -#define V4_FETCH_SRC __m128i v_src = _mm_loadu_si128((__m128i*)src); - -#define V4_STORE_DEST _mm_store_si128((__m128i*)dest, v_src); - -#define V4_SRC_DEST_LEN_INC \ - dest += 4; \ - src += 4; \ - length -= 4; - -// Multiply src color with const_alpha -#define V4_ALPHA_MULTIPLY v_src = v4_byte_mul_sse2(v_src, v_alpha); - -// dest = src + dest * sia -#define V4_COMP_OP_SRC_OVER \ - __m128i v_sia = v4_ialpha_sse2(v_src); \ - v_sia = _mm_add_epi32(v_sia, _mm_slli_epi32(v_sia, 16)); \ - v_dest = v4_byte_mul_sse2(v_dest, v_sia); \ - v_src = _mm_add_epi32(v_src, v_dest); - -// dest = src + dest * sia -#define V4_COMP_OP_SRC \ - v_src = v4_interpolate_color_sse2(v_alpha, v_src, v_dest); - -void memfill32(uint32_t* dest, uint32_t value, int length) -{ - __m128i vector_data = _mm_set_epi32(value, value, value, value); - - // run till memory alligned to 16byte memory - while (length && ((uintptr_t)dest & 0xf)) { - *dest++ = value; - length--; - } - - while (length >= 32) { - _mm_store_si128((__m128i*)(dest), vector_data); - _mm_store_si128((__m128i*)(dest + 4), vector_data); - _mm_store_si128((__m128i*)(dest + 8), vector_data); - _mm_store_si128((__m128i*)(dest + 12), vector_data); - _mm_store_si128((__m128i*)(dest + 16), vector_data); - _mm_store_si128((__m128i*)(dest + 20), vector_data); - _mm_store_si128((__m128i*)(dest + 24), vector_data); - _mm_store_si128((__m128i*)(dest + 28), vector_data); - - dest += 32; - length -= 32; - } - - if (length >= 16) { - _mm_store_si128((__m128i*)(dest), vector_data); - _mm_store_si128((__m128i*)(dest + 4), vector_data); - _mm_store_si128((__m128i*)(dest + 8), vector_data); - _mm_store_si128((__m128i*)(dest + 12), vector_data); - - dest += 16; - length -= 16; - } - - if (length >= 8) { - _mm_store_si128((__m128i*)(dest), vector_data); - _mm_store_si128((__m128i*)(dest + 4), vector_data); - - dest += 8; - length -= 8; - } - - if (length >= 4) { - _mm_store_si128((__m128i*)(dest), vector_data); - - dest += 4; - length -= 4; - } - - while (length) { - *dest++ = value; - length--; - } -} - -// dest = color + (dest * alpha) -inline static void comp_func_helper_sse2(uint32_t* dest, int length, - uint32_t color, uint32_t alpha) -{ - const __m128i v_color = _mm_set1_epi32(color); - const __m128i v_a = _mm_set1_epi16(alpha); - - LOOP_ALIGNED_U1_A4(dest, length, - { /* UOP */ - *dest = color + BYTE_MUL(*dest, alpha); - dest++; - length--; - }, - { /* A4OP */ - __m128i v_dest = _mm_load_si128((__m128i*)dest); - - v_dest = v4_byte_mul_sse2(v_dest, v_a); - v_dest = _mm_add_epi32(v_dest, v_color); - - _mm_store_si128((__m128i*)dest, v_dest); - - dest += 4; - length -= 4; - }) -} - -void comp_func_solid_Source_sse2(uint32_t* dest, int length, uint32_t color, - uint32_t const_alpha) -{ - if (const_alpha == 255) { - memfill32(dest, color, length); - } else { - int ialpha; - - ialpha = 255 - const_alpha; - color = BYTE_MUL(color, const_alpha); - comp_func_helper_sse2(dest, length, color, ialpha); - } -} - -void comp_func_solid_SourceOver_sse2(uint32_t* dest, int length, uint32_t color, - uint32_t const_alpha) -{ - int ialpha; - - if (const_alpha != 255) color = BYTE_MUL(color, const_alpha); - ialpha = 255 - vAlpha(color); - comp_func_helper_sse2(dest, length, color, ialpha); -} - -void comp_func_Source_sse2(uint32_t* dest, const uint32_t* src, int length, - uint32_t const_alpha) -{ - int ialpha; - if (const_alpha == 255) { - memcpy(dest, src, length * sizeof(uint32_t)); - } else { - ialpha = 255 - const_alpha; - __m128i v_alpha = _mm_set1_epi32(const_alpha); - - LOOP_ALIGNED_U1_A4(dest, length, - { /* UOP */ - *dest = INTERPOLATE_PIXEL_255(*src, const_alpha, - *dest, ialpha); - dest++; - src++; - length--; - }, - {/* A4OP */ - V4_FETCH_SRC_DEST V4_COMP_OP_SRC V4_STORE_DEST - V4_SRC_DEST_LEN_INC}) - } -} - -void comp_func_SourceOver_sse2_1(uint32_t* dest, const uint32_t* src, - int length, uint32_t const_alpha) -{ - uint32_t s, sia; - - if (const_alpha == 255) { - LOOP_ALIGNED_U1_A4(dest, length, - { /* UOP */ - s = *src; - sia = vAlpha(~s); - *dest = s + BYTE_MUL(*dest, sia); - dest++; - src++; - length--; - }, - {/* A4OP */ - V4_FETCH_SRC_DEST V4_COMP_OP_SRC_OVER V4_STORE_DEST - V4_SRC_DEST_LEN_INC}) - } else { - __m128i v_alpha = _mm_set1_epi32(const_alpha); - LOOP_ALIGNED_U1_A4( - dest, length, - { /* UOP */ - s = BYTE_MUL(*src, const_alpha); - sia = vAlpha(~s); - *dest = s + BYTE_MUL(*dest, sia); - dest++; - src++; - length--; - }, - {/* A4OP */ - V4_FETCH_SRC_DEST V4_ALPHA_MULTIPLY V4_COMP_OP_SRC_OVER - V4_STORE_DEST V4_SRC_DEST_LEN_INC}) - } -} - -// Pixman implementation -#define force_inline inline - -static force_inline __m128i unpack_32_1x128(uint32_t data) -{ - return _mm_unpacklo_epi8(_mm_cvtsi32_si128(data), _mm_setzero_si128()); -} - -static force_inline void unpack_128_2x128(__m128i data, __m128i* data_lo, - __m128i* data_hi) -{ - *data_lo = _mm_unpacklo_epi8(data, _mm_setzero_si128()); - *data_hi = _mm_unpackhi_epi8(data, _mm_setzero_si128()); -} - -static force_inline uint32_t pack_1x128_32(__m128i data) -{ - return _mm_cvtsi128_si32(_mm_packus_epi16(data, _mm_setzero_si128())); -} - -static force_inline __m128i pack_2x128_128(__m128i lo, __m128i hi) -{ - return _mm_packus_epi16(lo, hi); -} - -/* load 4 pixels from a 16-byte boundary aligned address */ -static force_inline __m128i load_128_aligned(__m128i* src) -{ - return _mm_load_si128(src); -} - -/* load 4 pixels from a unaligned address */ -static force_inline __m128i load_128_unaligned(const __m128i* src) -{ - return _mm_loadu_si128(src); -} - -/* save 4 pixels on a 16-byte boundary aligned address */ -static force_inline void save_128_aligned(__m128i* dst, __m128i data) -{ - _mm_store_si128(dst, data); -} - -static force_inline int is_opaque(__m128i x) -{ - __m128i ffs = _mm_cmpeq_epi8(x, x); - - return (_mm_movemask_epi8(_mm_cmpeq_epi8(x, ffs)) & 0x8888) == 0x8888; -} - -static force_inline int is_zero(__m128i x) -{ - return _mm_movemask_epi8(_mm_cmpeq_epi8(x, _mm_setzero_si128())) == 0xffff; -} - -static force_inline __m128i expand_alpha_1x128(__m128i data) -{ - return _mm_shufflehi_epi16( - _mm_shufflelo_epi16(data, _MM_SHUFFLE(3, 3, 3, 3)), - _MM_SHUFFLE(3, 3, 3, 3)); -} - -static force_inline __m128i create_mask_16_128(uint16_t mask) -{ - return _mm_set1_epi16(mask); -} - -static __m128i mask_0080 = create_mask_16_128(0x0080); -static __m128i mask_00ff = create_mask_16_128(0x00ff); -static __m128i mask_0101 = create_mask_16_128(0x0101); - -static force_inline __m128i negate_1x128(__m128i data) -{ - return _mm_xor_si128(data, mask_00ff); -} - -static force_inline void negate_2x128(__m128i data_lo, __m128i data_hi, - __m128i* neg_lo, __m128i* neg_hi) -{ - *neg_lo = _mm_xor_si128(data_lo, mask_00ff); - *neg_hi = _mm_xor_si128(data_hi, mask_00ff); -} - -static force_inline __m128i pix_multiply_1x128(__m128i data, __m128i alpha) -{ - return _mm_mulhi_epu16( - _mm_adds_epu16(_mm_mullo_epi16(data, alpha), mask_0080), mask_0101); -} - -static force_inline void pix_multiply_2x128(__m128i* data_lo, __m128i* data_hi, - __m128i* alpha_lo, - __m128i* alpha_hi, __m128i* ret_lo, - __m128i* ret_hi) -{ - __m128i lo, hi; - - lo = _mm_mullo_epi16(*data_lo, *alpha_lo); - hi = _mm_mullo_epi16(*data_hi, *alpha_hi); - lo = _mm_adds_epu16(lo, mask_0080); - hi = _mm_adds_epu16(hi, mask_0080); - *ret_lo = _mm_mulhi_epu16(lo, mask_0101); - *ret_hi = _mm_mulhi_epu16(hi, mask_0101); -} - -static force_inline __m128i over_1x128(__m128i src, __m128i alpha, __m128i dst) -{ - return _mm_adds_epu8(src, pix_multiply_1x128(dst, negate_1x128(alpha))); -} - -static force_inline void expand_alpha_2x128(__m128i data_lo, __m128i data_hi, - __m128i* alpha_lo, - __m128i* alpha_hi) -{ - __m128i lo, hi; - - lo = _mm_shufflelo_epi16(data_lo, _MM_SHUFFLE(3, 3, 3, 3)); - hi = _mm_shufflelo_epi16(data_hi, _MM_SHUFFLE(3, 3, 3, 3)); - - *alpha_lo = _mm_shufflehi_epi16(lo, _MM_SHUFFLE(3, 3, 3, 3)); - *alpha_hi = _mm_shufflehi_epi16(hi, _MM_SHUFFLE(3, 3, 3, 3)); -} - -static force_inline void over_2x128(__m128i* src_lo, __m128i* src_hi, - __m128i* alpha_lo, __m128i* alpha_hi, - __m128i* dst_lo, __m128i* dst_hi) -{ - __m128i t1, t2; - - negate_2x128(*alpha_lo, *alpha_hi, &t1, &t2); - - pix_multiply_2x128(dst_lo, dst_hi, &t1, &t2, dst_lo, dst_hi); - - *dst_lo = _mm_adds_epu8(*src_lo, *dst_lo); - *dst_hi = _mm_adds_epu8(*src_hi, *dst_hi); -} - -static force_inline uint32_t core_combine_over_u_pixel_sse2(uint32_t src, - uint32_t dst) -{ - uint8_t a; - __m128i xmms; - - a = src >> 24; - - if (a == 0xff) { - return src; - } else if (src) { - xmms = unpack_32_1x128(src); - return pack_1x128_32( - over_1x128(xmms, expand_alpha_1x128(xmms), unpack_32_1x128(dst))); - } - - return dst; -} - -// static force_inline void -// core_combine_over_u_sse2_no_mask (uint32_t * pd, -// const uint32_t* ps, -// int w) -void comp_func_SourceOver_sse2(uint32_t* pd, const uint32_t* ps, int w, - uint32_t) -{ - uint32_t s, d; - - /* Align dst on a 16-byte boundary */ - while (w && ((uintptr_t)pd & 15)) { - d = *pd; - s = *ps; - - if (s) *pd = core_combine_over_u_pixel_sse2(s, d); - pd++; - ps++; - w--; - } - - while (w >= 4) { - __m128i src; - __m128i src_hi, src_lo, dst_hi, dst_lo; - __m128i alpha_hi, alpha_lo; - - src = load_128_unaligned((__m128i*)ps); - - if (!is_zero(src)) { - if (is_opaque(src)) { - save_128_aligned((__m128i*)pd, src); - } else { - __m128i dst = load_128_aligned((__m128i*)pd); - - unpack_128_2x128(src, &src_lo, &src_hi); - unpack_128_2x128(dst, &dst_lo, &dst_hi); - - expand_alpha_2x128(src_lo, src_hi, &alpha_lo, &alpha_hi); - over_2x128(&src_lo, &src_hi, &alpha_lo, &alpha_hi, &dst_lo, - &dst_hi); - - save_128_aligned((__m128i*)pd, pack_2x128_128(dst_lo, dst_hi)); - } - } - - ps += 4; - pd += 4; - w -= 4; - } - while (w) { - d = *pd; - s = *ps; - - if (s) *pd = core_combine_over_u_pixel_sse2(s, d); - pd++; - ps++; - - w--; - } -} - -#endif diff --git a/submodules/RLottie/Sources/rlottie/src/vector/velapsedtimer.cpp b/submodules/RLottie/Sources/rlottie/src/vector/velapsedtimer.cpp deleted file mode 100644 index 4c74027476..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/velapsedtimer.cpp +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "velapsedtimer.h" - -void VElapsedTimer::start() -{ - clock = std::chrono::high_resolution_clock::now(); - m_valid = true; -} - -double VElapsedTimer::restart() -{ - double elapsedTime = elapsed(); - start(); - return elapsedTime; -} - -double VElapsedTimer::elapsed() const -{ - if (!isValid()) return 0; - return std::chrono::duration( - std::chrono::high_resolution_clock::now() - clock) - .count(); -} - -bool VElapsedTimer::hasExpired(double time) -{ - double elapsedTime = elapsed(); - if (elapsedTime > time) return true; - return false; -} diff --git a/submodules/RLottie/Sources/rlottie/src/vector/velapsedtimer.h b/submodules/RLottie/Sources/rlottie/src/vector/velapsedtimer.h deleted file mode 100644 index 108fd66549..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/velapsedtimer.h +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef VELAPSEDTIMER_H -#define VELAPSEDTIMER_H - -#include -#include "vglobal.h" - -class VElapsedTimer { -public: - double elapsed() const; - bool hasExpired(double millsec); - void start(); - double restart(); - inline bool isValid() const { return m_valid; } - -private: - std::chrono::high_resolution_clock::time_point clock; - bool m_valid{false}; -}; -#endif // VELAPSEDTIMER_H diff --git a/submodules/RLottie/Sources/rlottie/src/vector/vglobal.h b/submodules/RLottie/Sources/rlottie/src/vector/vglobal.h deleted file mode 100644 index 98837fd235..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/vglobal.h +++ /dev/null @@ -1,323 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef VGLOBAL_H -#define VGLOBAL_H - -#include -#include -#include -#include -#include - -typedef uint32_t uint; -typedef uint16_t ushort; -typedef uint8_t uchar; - -#if !defined(V_NAMESPACE) - -#define V_USE_NAMESPACE -#define V_BEGIN_NAMESPACE -#define V_END_NAMESPACE - -#else /* user namespace */ - -#define V_USE_NAMESPACE using namespace ::V_NAMESPACE; -#define V_BEGIN_NAMESPACE namespace V_NAMESPACE { -#define V_END_NAMESPACE } - -#endif - -#ifndef __has_attribute -# define __has_attribute(x) 0 -#endif /* !__has_attribute */ - -#if __has_attribute(unused) -# define V_UNUSED __attribute__((__unused__)) -#else -# define V_UNUSED -#endif /* V_UNUSED */ - -#if __has_attribute(warn_unused_result) -# define V_REQUIRED_RESULT __attribute__((__warn_unused_result__)) -#else -# define V_REQUIRED_RESULT -#endif /* V_REQUIRED_RESULT */ - -#define V_CONSTEXPR constexpr -#define V_NOTHROW noexcept - -#include "vdebug.h" - -#if __GNUC__ >= 7 -#define VECTOR_FALLTHROUGH __attribute__ ((fallthrough)); -#else -#define VECTOR_FALLTHROUGH -#endif - -#include -class RefCount { -public: - inline RefCount(int i) : atomic(i) {} - inline bool ref() - { - int count = atomic.load(); - if (count == 0) // !isSharable - return false; - if (count != -1) // !isStatic - atomic.fetch_add(1); - return true; - } - inline bool deref() - { - int count = atomic.load(); - if (count == 0) // !isSharable - return false; - if (count == -1) // isStatic - return true; - atomic.fetch_sub(1); - return --count; - } - bool isShared() const - { - int count = atomic.load(); - return (count != 1) && (count != 0); - } - bool isStatic() const - { - // Persistent object, never deleted - int count = atomic.load(); - return count == -1; - } - inline int count() const { return atomic; } - void setOwned() { atomic.store(1); } - -private: - std::atomic atomic; -}; - -template -V_CONSTEXPR inline const T &vMin(const T &a, const T &b) -{ - return (a < b) ? a : b; -} -template -V_CONSTEXPR inline const T &vMax(const T &a, const T &b) -{ - return (a < b) ? b : a; -} - -static const double EPSILON_DOUBLE = 0.000000000001f; -static const float EPSILON_FLOAT = 0.000001f; - -static inline bool vCompare(float p1, float p2) -{ - return (std::abs(p1 - p2) < EPSILON_FLOAT); -} - -static inline bool vIsZero(float f) -{ - return (std::abs(f) <= EPSILON_FLOAT); -} - -static inline bool vIsZero(double f) -{ - return (std::abs(f) <= EPSILON_DOUBLE); -} - -class vFlagHelper { - int i; - -public: - constexpr inline vFlagHelper(int ai) noexcept : i(ai) {} - constexpr inline operator int() const noexcept { return i; } - - constexpr inline vFlagHelper(uint ai) noexcept : i(int(ai)) {} - constexpr inline vFlagHelper(short ai) noexcept : i(int(ai)) {} - constexpr inline vFlagHelper(ushort ai) noexcept : i(int(uint(ai))) {} - constexpr inline operator uint() const noexcept { return uint(i); } -}; - -template -class vFlag { -public: - static_assert( - (sizeof(Enum) <= sizeof(int)), - "vFlag only supports int as storage so bigger type will overflow"); - static_assert((std::is_enum::value), - "vFlag is only usable on enumeration types."); - - typedef typename std::conditional< - std::is_unsigned::type>::value, - unsigned int, signed int>::type Int; - - typedef Enum enum_type; - // compiler-generated copy/move ctor/assignment operators are fine! - - constexpr inline vFlag(Enum f) noexcept : i(Int(f)) {} - constexpr inline vFlag() noexcept : i(0) {} - constexpr inline vFlag(vFlagHelper f) noexcept : i(f) {} - - inline vFlag &operator&=(int mask) noexcept - { - i &= mask; - return *this; - } - inline vFlag &operator&=(uint mask) noexcept - { - i &= mask; - return *this; - } - inline vFlag &operator&=(Enum mask) noexcept - { - i &= Int(mask); - return *this; - } - inline vFlag &operator|=(vFlag f) noexcept - { - i |= f.i; - return *this; - } - inline vFlag &operator|=(Enum f) noexcept - { - i |= Int(f); - return *this; - } - inline vFlag &operator^=(vFlag f) noexcept - { - i ^= f.i; - return *this; - } - inline vFlag &operator^=(Enum f) noexcept - { - i ^= Int(f); - return *this; - } - - constexpr inline operator Int() const noexcept { return i; } - - constexpr inline vFlag operator|(vFlag f) const - { - return vFlag(vFlagHelper(i | f.i)); - } - constexpr inline vFlag operator|(Enum f) const noexcept - { - return vFlag(vFlagHelper(i | Int(f))); - } - constexpr inline vFlag operator^(vFlag f) const noexcept - { - return vFlag(vFlagHelper(i ^ f.i)); - } - constexpr inline vFlag operator^(Enum f) const noexcept - { - return vFlag(vFlagHelper(i ^ Int(f))); - } - constexpr inline vFlag operator&(int mask) const noexcept - { - return vFlag(vFlagHelper(i & mask)); - } - constexpr inline vFlag operator&(uint mask) const noexcept - { - return vFlag(vFlagHelper(i & mask)); - } - constexpr inline vFlag operator&(Enum f) const noexcept - { - return vFlag(vFlagHelper(i & Int(f))); - } - constexpr inline vFlag operator~() const noexcept - { - return vFlag(vFlagHelper(~i)); - } - - constexpr inline bool operator!() const noexcept { return !i; } - - constexpr inline bool testFlag(Enum f) const noexcept - { - return (i & Int(f)) == Int(f) && (Int(f) != 0 || i == Int(f)); - } - inline vFlag &setFlag(Enum f, bool on = true) noexcept - { - return on ? (*this |= f) : (*this &= ~f); - } - - Int i; -}; - -class VColor { -public: - inline VColor() noexcept { a = r = g = b = 0; } - inline VColor(int red, int green, int blue, int alpha = 255) noexcept - { - r = red; - g = green; - b = blue; - a = alpha; - } - inline int red() const noexcept { return r; } - inline int green() const noexcept { return g; } - inline int blue() const noexcept { return b; } - inline int alpha() const noexcept { return a; } - inline void setRed(int red) noexcept { r = red; } - inline void setGreen(int green) noexcept { g = green; } - inline void setBlue(int blue) noexcept { b = blue; } - inline void setAlpha(int alpha) noexcept { a = alpha; } - inline bool isOpaque() const { return a == 255; } - inline bool operator==(const VColor &o) const - { - return ((a == o.a) && (r == o.r) && (g == o.g) && (b == o.b)); - } - uint premulARGB() const - { - int pr = (r * a) / 255; - int pg = (g * a) / 255; - int pb = (b * a) / 255; - return uint((a << 24) | (pr << 16) | (pg << 8) | (pb)); - } - - uint premulARGB(float opacity) const - { - int alpha = a * opacity; - int pr = (r * alpha) / 255; - int pg = (g * alpha) / 255; - int pb = (b * alpha) / 255; - return uint((alpha << 24) | (pr << 16) | (pg << 8) | (pb)); - } - -public: - uchar a; - uchar r; - uchar g; - uchar b; -}; - -enum class FillRule: unsigned char { EvenOdd, Winding }; -enum class JoinStyle: unsigned char { Miter, Bevel, Round }; -enum class CapStyle: unsigned char { Flat, Square, Round }; - -#ifndef V_CONSTRUCTOR_FUNCTION -#define V_CONSTRUCTOR_FUNCTION0(AFUNC) \ - namespace { \ - static const struct AFUNC##_ctor_class_ { \ - inline AFUNC##_ctor_class_() { AFUNC(); } \ - } AFUNC##_ctor_instance_; \ - } - -#define V_CONSTRUCTOR_FUNCTION(AFUNC) V_CONSTRUCTOR_FUNCTION0(AFUNC) -#endif - -#endif // VGLOBAL_H diff --git a/submodules/RLottie/Sources/rlottie/src/vector/vimageloader.cpp b/submodules/RLottie/Sources/rlottie/src/vector/vimageloader.cpp deleted file mode 100644 index d8f29f93a6..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/vimageloader.cpp +++ /dev/null @@ -1,28 +0,0 @@ -#include "vimageloader.h" -#include "config.h" -#include "vdebug.h" -#ifndef WIN32 -#include -#else -#include -#endif -#include - -#include "vimageloader.h" - -struct VImageLoader::Impl { -}; - -VImageLoader::VImageLoader() : mImpl(std::make_unique()) {} - -VImageLoader::~VImageLoader() {} - -VBitmap VImageLoader::load(const char *fileName) -{ - return VBitmap(); -} - -VBitmap VImageLoader::load(const char *data, int len) -{ - return VBitmap(); -} diff --git a/submodules/RLottie/Sources/rlottie/src/vector/vimageloader.h b/submodules/RLottie/Sources/rlottie/src/vector/vimageloader.h deleted file mode 100644 index 2ca4cec39a..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/vimageloader.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef VIMAGELOADER_H -#define VIMAGELOADER_H - -#include - -#include "vbitmap.h" - -class VImageLoader -{ -public: - static VImageLoader& instance() - { - static VImageLoader singleton; - return singleton; - } - - VBitmap load(const char *fileName); - VBitmap load(const char *data, int len); - ~VImageLoader(); -private: - VImageLoader(); - struct Impl; - std::unique_ptr mImpl; -}; - -#endif // VIMAGELOADER_H diff --git a/submodules/RLottie/Sources/rlottie/src/vector/vinterpolator.cpp b/submodules/RLottie/Sources/rlottie/src/vector/vinterpolator.cpp deleted file mode 100644 index 94f454ad33..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/vinterpolator.cpp +++ /dev/null @@ -1,154 +0,0 @@ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is the Mozilla SMIL module. - * - * The Initial Developer of the Original Code is Brian Birtles. - * Portions created by the Initial Developer are Copyright (C) 2005 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * Brian Birtles - * - * Alternatively, the contents of this file may be used under the terms of - * either of the GNU General Public License Version 2 or later (the "GPL"), - * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -#include "vinterpolator.h" -#include - -V_BEGIN_NAMESPACE - -#define NEWTON_ITERATIONS 4 -#define NEWTON_MIN_SLOPE 0.02 -#define SUBDIVISION_PRECISION 0.0000001 -#define SUBDIVISION_MAX_ITERATIONS 10 - -const float VInterpolator::kSampleStepSize = - 1.0 / float(VInterpolator::kSplineTableSize - 1); - -void VInterpolator::init(float aX1, float aY1, float aX2, float aY2) -{ - mX1 = aX1; - mY1 = aY1; - mX2 = aX2; - mY2 = aY2; - - if (mX1 != mY1 || mX2 != mY2) CalcSampleValues(); -} - -/*static*/ float VInterpolator::CalcBezier(float aT, float aA1, float aA2) -{ - // use Horner's scheme to evaluate the Bezier polynomial - return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT; -} - -void VInterpolator::CalcSampleValues() -{ - for (int i = 0; i < kSplineTableSize; ++i) { - mSampleValues[i] = CalcBezier(float(i) * kSampleStepSize, mX1, mX2); - } -} - -float VInterpolator::GetSlope(float aT, float aA1, float aA2) -{ - return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1); -} - -float VInterpolator::value(float aX) const -{ - if (mX1 == mY1 && mX2 == mY2) return aX; - - return CalcBezier(GetTForX(aX), mY1, mY2); -} - -float VInterpolator::GetTForX(float aX) const -{ - // Find interval where t lies - float intervalStart = 0.0; - const float* currentSample = &mSampleValues[1]; - const float* const lastSample = &mSampleValues[kSplineTableSize - 1]; - for (; currentSample != lastSample && *currentSample <= aX; - ++currentSample) { - intervalStart += kSampleStepSize; - } - --currentSample; // t now lies between *currentSample and *currentSample+1 - - // Interpolate to provide an initial guess for t - float dist = - (aX - *currentSample) / (*(currentSample + 1) - *currentSample); - float guessForT = intervalStart + dist * kSampleStepSize; - - // Check the slope to see what strategy to use. If the slope is too small - // Newton-Raphson iteration won't converge on a root so we use bisection - // instead. - float initialSlope = GetSlope(guessForT, mX1, mX2); - if (initialSlope >= NEWTON_MIN_SLOPE) { - return NewtonRaphsonIterate(aX, guessForT); - } else if (initialSlope == 0.0) { - return guessForT; - } else { - return BinarySubdivide(aX, intervalStart, - intervalStart + kSampleStepSize); - } -} - -float VInterpolator::NewtonRaphsonIterate(float aX, float aGuessT) const -{ - // Refine guess with Newton-Raphson iteration - for (int i = 0; i < NEWTON_ITERATIONS; ++i) { - // We're trying to find where f(t) = aX, - // so we're actually looking for a root for: CalcBezier(t) - aX - float currentX = CalcBezier(aGuessT, mX1, mX2) - aX; - float currentSlope = GetSlope(aGuessT, mX1, mX2); - - if (currentSlope == 0.0) return aGuessT; - - aGuessT -= currentX / currentSlope; - } - - return aGuessT; -} - -float VInterpolator::BinarySubdivide(float aX, float aA, float aB) const -{ - float currentX; - float currentT; - int i = 0; - - do { - currentT = aA + (aB - aA) / 2.0; - currentX = CalcBezier(currentT, mX1, mX2) - aX; - - if (currentX > 0.0) { - aB = currentT; - } else { - aA = currentT; - } - } while (fabs(currentX) > SUBDIVISION_PRECISION && - ++i < SUBDIVISION_MAX_ITERATIONS); - - return currentT; -} - -V_END_NAMESPACE diff --git a/submodules/RLottie/Sources/rlottie/src/vector/vinterpolator.h b/submodules/RLottie/Sources/rlottie/src/vector/vinterpolator.h deleted file mode 100644 index 77aaaae26e..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/vinterpolator.h +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef VINTERPOLATOR_H -#define VINTERPOLATOR_H - -#include "vpoint.h" - -V_BEGIN_NAMESPACE - -class VInterpolator { -public: - VInterpolator() - { /* caller must call Init later */ - } - - VInterpolator(float aX1, float aY1, float aX2, float aY2) - { - init(aX1, aY1, aX2, aY2); - } - - VInterpolator(VPointF pt1, VPointF pt2) - { - init(pt1.x(), pt1.y(), pt2.x(), pt2.y()); - } - - void init(float aX1, float aY1, float aX2, float aY2); - - float value(float aX) const; - - void GetSplineDerivativeValues(float aX, float& aDX, float& aDY) const; - -private: - void CalcSampleValues(); - - /** - * Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2. - */ - static float CalcBezier(float aT, float aA1, float aA2); - - /** - * Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2. - */ - static float GetSlope(float aT, float aA1, float aA2); - - float GetTForX(float aX) const; - - float NewtonRaphsonIterate(float aX, float aGuessT) const; - - float BinarySubdivide(float aX, float aA, float aB) const; - - static float A(float aA1, float aA2) { return 1.0 - 3.0 * aA2 + 3.0 * aA1; } - - static float B(float aA1, float aA2) { return 3.0 * aA2 - 6.0 * aA1; } - - static float C(float aA1) { return 3.0 * aA1; } - - float mX1; - float mY1; - float mX2; - float mY2; - enum { kSplineTableSize = 11 }; - float mSampleValues[kSplineTableSize]; - static const float kSampleStepSize; -}; - -V_END_NAMESPACE - -#endif // VINTERPOLATOR_H diff --git a/submodules/RLottie/Sources/rlottie/src/vector/vline.h b/submodules/RLottie/Sources/rlottie/src/vector/vline.h deleted file mode 100644 index f466e31772..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/vline.h +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef VLINE_H -#define VLINE_H - -#include "vglobal.h" -#include "vpoint.h" - -V_BEGIN_NAMESPACE - -class VLine { -public: - VLine() = default; - VLine(float x1, float y1, float x2, float y2) - : mX1(x1), mY1(y1), mX2(x2), mY2(y2) - { - } - VLine(const VPointF &p1, const VPointF &p2) - : mX1(p1.x()), mY1(p1.y()), mX2(p2.x()), mY2(p2.y()) - { - } - float length() const { return length(mX1, mY1, mX2, mY2);} - void splitAtLength(float length, VLine &left, VLine &right) const; - VPointF p1() const { return {mX1, mY1}; } - VPointF p2() const { return {mX2, mY2}; } - float angle() const; - static float length(float x1, float y1, float x2, float y2); - -private: - float mX1{0}; - float mY1{0}; - float mX2{0}; - float mY2{0}; -}; - -inline float VLine::angle() const -{ - const float dx = mX2 - mX1; - const float dy = mY2 - mY1; - - const float theta = std::atan2(dy, dx) * 180.0 / M_PI; - return theta; -} - -// approximate sqrt(x*x + y*y) using alpha max plus beta min algorithm. -// With alpha = 1, beta = 3/8, giving results with the largest error less -// than 7% compared to the exact value. -inline float VLine::length(float x1, float y1, float x2, float y2) -{ - float x = x2 - x1; - float y = y2 - y1; - - x = x < 0 ? -x : x; - y = y < 0 ? -y : y; - - return (x > y ? x + 0.375 * y : y + 0.375 * x); -} - -inline void VLine::splitAtLength(float lengthAt, VLine &left, VLine &right) const -{ - float len = length(); - float dx = ((mX2 - mX1) / len) * lengthAt; - float dy = ((mY2 - mY1) / len) * lengthAt; - - left.mX1 = mX1; - left.mY1 = mY1; - left.mX2 = left.mX1 + dx; - left.mY2 = left.mY1 + dy; - - right.mX1 = left.mX2; - right.mY1 = left.mY2; - right.mX2 = mX2; - right.mY2 = mY2; -} - -#endif //VLINE_H diff --git a/submodules/RLottie/Sources/rlottie/src/vector/vmatrix.cpp b/submodules/RLottie/Sources/rlottie/src/vector/vmatrix.cpp deleted file mode 100644 index 334e33e7dd..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/vmatrix.cpp +++ /dev/null @@ -1,731 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "vmatrix.h" -#include -#include -#include -#include - -V_BEGIN_NAMESPACE - -/* m11 m21 mtx - * m12 m22 mty - * m13 m23 m33 - */ - -inline float VMatrix::determinant() const -{ - return m11 * (m33 * m22 - mty * m23) - m21 * (m33 * m12 - mty * m13) + - mtx * (m23 * m12 - m22 * m13); -} - -bool VMatrix::isAffine() const -{ - return type() < MatrixType::Project; -} - -bool VMatrix::isIdentity() const -{ - return type() == MatrixType::None; -} - -bool VMatrix::isInvertible() const -{ - return !vIsZero(determinant()); -} - -bool VMatrix::isScaling() const -{ - return type() >= MatrixType::Scale; -} -bool VMatrix::isRotating() const -{ - return type() >= MatrixType::Rotate; -} - -bool VMatrix::isTranslating() const -{ - return type() >= MatrixType::Translate; -} - -VMatrix &VMatrix::operator*=(float num) -{ - if (num == 1.) return *this; - - m11 *= num; - m12 *= num; - m13 *= num; - m21 *= num; - m22 *= num; - m23 *= num; - mtx *= num; - mty *= num; - m33 *= num; - if (dirty < MatrixType::Scale) dirty = MatrixType::Scale; - - return *this; -} - -VMatrix &VMatrix::operator/=(float div) -{ - if (div == 0) return *this; - - div = 1 / div; - return operator*=(div); -} - -VMatrix::MatrixType VMatrix::type() const -{ - if (dirty == MatrixType::None || dirty < mType) return mType; - - switch (dirty) { - case MatrixType::Project: - if (!vIsZero(m13) || !vIsZero(m23) || !vIsZero(m33 - 1)) { - mType = MatrixType::Project; - break; - } - VECTOR_FALLTHROUGH - case MatrixType::Shear: - case MatrixType::Rotate: - if (!vIsZero(m12) || !vIsZero(m21)) { - const float dot = m11 * m12 + m21 * m22; - if (vIsZero(dot)) - mType = MatrixType::Rotate; - else - mType = MatrixType::Shear; - break; - } - VECTOR_FALLTHROUGH - case MatrixType::Scale: - if (!vIsZero(m11 - 1) || !vIsZero(m22 - 1)) { - mType = MatrixType::Scale; - break; - } - VECTOR_FALLTHROUGH - case MatrixType::Translate: - if (!vIsZero(mtx) || !vIsZero(mty)) { - mType = MatrixType::Translate; - break; - } - VECTOR_FALLTHROUGH - case MatrixType::None: - mType = MatrixType::None; - break; - } - - dirty = MatrixType::None; - return mType; -} - -VMatrix &VMatrix::translate(float dx, float dy) -{ - if (dx == 0 && dy == 0) return *this; - - switch (type()) { - case MatrixType::None: - mtx = dx; - mty = dy; - break; - case MatrixType::Translate: - mtx += dx; - mty += dy; - break; - case MatrixType::Scale: - mtx += dx * m11; - mty += dy * m22; - break; - case MatrixType::Project: - m33 += dx * m13 + dy * m23; - VECTOR_FALLTHROUGH - case MatrixType::Shear: - case MatrixType::Rotate: - mtx += dx * m11 + dy * m21; - mty += dy * m22 + dx * m12; - break; - } - if (dirty < MatrixType::Translate) dirty = MatrixType::Translate; - return *this; -} - -VMatrix &VMatrix::scale(float sx, float sy) -{ - if (sx == 1 && sy == 1) return *this; - - switch (type()) { - case MatrixType::None: - case MatrixType::Translate: - m11 = sx; - m22 = sy; - break; - case MatrixType::Project: - m13 *= sx; - m23 *= sy; - VECTOR_FALLTHROUGH - case MatrixType::Rotate: - case MatrixType::Shear: - m12 *= sx; - m21 *= sy; - VECTOR_FALLTHROUGH - case MatrixType::Scale: - m11 *= sx; - m22 *= sy; - break; - } - if (dirty < MatrixType::Scale) dirty = MatrixType::Scale; - return *this; -} - -VMatrix &VMatrix::shear(float sh, float sv) -{ - if (sh == 0 && sv == 0) return *this; - - switch (type()) { - case MatrixType::None: - case MatrixType::Translate: - m12 = sv; - m21 = sh; - break; - case MatrixType::Scale: - m12 = sv * m22; - m21 = sh * m11; - break; - case MatrixType::Project: { - float tm13 = sv * m23; - float tm23 = sh * m13; - m13 += tm13; - m23 += tm23; - VECTOR_FALLTHROUGH - } - case MatrixType::Rotate: - case MatrixType::Shear: { - float tm11 = sv * m21; - float tm22 = sh * m12; - float tm12 = sv * m22; - float tm21 = sh * m11; - m11 += tm11; - m12 += tm12; - m21 += tm21; - m22 += tm22; - break; - } - } - if (dirty < MatrixType::Shear) dirty = MatrixType::Shear; - return *this; -} - -static const float deg2rad = float(0.017453292519943295769); // pi/180 -static const float inv_dist_to_plane = 1. / 1024.; - -VMatrix &VMatrix::rotate(float a, Axis axis) -{ - if (a == 0) return *this; - - float sina = 0; - float cosa = 0; - if (a == 90. || a == -270.) - sina = 1.; - else if (a == 270. || a == -90.) - sina = -1.; - else if (a == 180.) - cosa = -1.; - else { - float b = deg2rad * a; // convert to radians - sina = std::sin(b); // fast and convenient - cosa = std::cos(b); - } - - if (axis == Axis::Z) { - switch (type()) { - case MatrixType::None: - case MatrixType::Translate: - m11 = cosa; - m12 = sina; - m21 = -sina; - m22 = cosa; - break; - case MatrixType::Scale: { - float tm11 = cosa * m11; - float tm12 = sina * m22; - float tm21 = -sina * m11; - float tm22 = cosa * m22; - m11 = tm11; - m12 = tm12; - m21 = tm21; - m22 = tm22; - break; - } - case MatrixType::Project: { - float tm13 = cosa * m13 + sina * m23; - float tm23 = -sina * m13 + cosa * m23; - m13 = tm13; - m23 = tm23; - VECTOR_FALLTHROUGH - } - case MatrixType::Rotate: - case MatrixType::Shear: { - float tm11 = cosa * m11 + sina * m21; - float tm12 = cosa * m12 + sina * m22; - float tm21 = -sina * m11 + cosa * m21; - float tm22 = -sina * m12 + cosa * m22; - m11 = tm11; - m12 = tm12; - m21 = tm21; - m22 = tm22; - break; - } - } - if (dirty < MatrixType::Rotate) dirty = MatrixType::Rotate; - } else { - VMatrix result; - if (axis == Axis::Y) { - result.m11 = cosa; - result.m13 = -sina * inv_dist_to_plane; - } else { - result.m22 = cosa; - result.m23 = -sina * inv_dist_to_plane; - } - result.mType = MatrixType::Project; - *this = result * *this; - } - - return *this; -} - -VMatrix VMatrix::operator*(const VMatrix &m) const -{ - const MatrixType otherType = m.type(); - if (otherType == MatrixType::None) return *this; - - const MatrixType thisType = type(); - if (thisType == MatrixType::None) return m; - - VMatrix t; - MatrixType type = vMax(thisType, otherType); - switch (type) { - case MatrixType::None: - break; - case MatrixType::Translate: - t.mtx = mtx + m.mtx; - t.mty += mty + m.mty; - break; - case MatrixType::Scale: { - float m11v = m11 * m.m11; - float m22v = m22 * m.m22; - - float m31v = mtx * m.m11 + m.mtx; - float m32v = mty * m.m22 + m.mty; - - t.m11 = m11v; - t.m22 = m22v; - t.mtx = m31v; - t.mty = m32v; - break; - } - case MatrixType::Rotate: - case MatrixType::Shear: { - float m11v = m11 * m.m11 + m12 * m.m21; - float m12v = m11 * m.m12 + m12 * m.m22; - - float m21v = m21 * m.m11 + m22 * m.m21; - float m22v = m21 * m.m12 + m22 * m.m22; - - float m31v = mtx * m.m11 + mty * m.m21 + m.mtx; - float m32v = mtx * m.m12 + mty * m.m22 + m.mty; - - t.m11 = m11v; - t.m12 = m12v; - t.m21 = m21v; - t.m22 = m22v; - t.mtx = m31v; - t.mty = m32v; - break; - } - case MatrixType::Project: { - float m11v = m11 * m.m11 + m12 * m.m21 + m13 * m.mtx; - float m12v = m11 * m.m12 + m12 * m.m22 + m13 * m.mty; - float m13v = m11 * m.m13 + m12 * m.m23 + m13 * m.m33; - - float m21v = m21 * m.m11 + m22 * m.m21 + m23 * m.mtx; - float m22v = m21 * m.m12 + m22 * m.m22 + m23 * m.mty; - float m23v = m21 * m.m13 + m22 * m.m23 + m23 * m.m33; - - float m31v = mtx * m.m11 + mty * m.m21 + m33 * m.mtx; - float m32v = mtx * m.m12 + mty * m.m22 + m33 * m.mty; - float m33v = mtx * m.m13 + mty * m.m23 + m33 * m.m33; - - t.m11 = m11v; - t.m12 = m12v; - t.m13 = m13v; - t.m21 = m21v; - t.m22 = m22v; - t.m23 = m23v; - t.mtx = m31v; - t.mty = m32v; - t.m33 = m33v; - } - } - - t.dirty = type; - t.mType = type; - - return t; -} - -VMatrix &VMatrix::operator*=(const VMatrix &o) -{ - const MatrixType otherType = o.type(); - if (otherType == MatrixType::None) return *this; - - const MatrixType thisType = type(); - if (thisType == MatrixType::None) return operator=(o); - - MatrixType t = vMax(thisType, otherType); - switch (t) { - case MatrixType::None: - break; - case MatrixType::Translate: - mtx += o.mtx; - mty += o.mty; - break; - case MatrixType::Scale: { - float m11v = m11 * o.m11; - float m22v = m22 * o.m22; - - float m31v = mtx * o.m11 + o.mtx; - float m32v = mty * o.m22 + o.mty; - - m11 = m11v; - m22 = m22v; - mtx = m31v; - mty = m32v; - break; - } - case MatrixType::Rotate: - case MatrixType::Shear: { - float m11v = m11 * o.m11 + m12 * o.m21; - float m12v = m11 * o.m12 + m12 * o.m22; - - float m21v = m21 * o.m11 + m22 * o.m21; - float m22v = m21 * o.m12 + m22 * o.m22; - - float m31v = mtx * o.m11 + mty * o.m21 + o.mtx; - float m32v = mtx * o.m12 + mty * o.m22 + o.mty; - - m11 = m11v; - m12 = m12v; - m21 = m21v; - m22 = m22v; - mtx = m31v; - mty = m32v; - break; - } - case MatrixType::Project: { - float m11v = m11 * o.m11 + m12 * o.m21 + m13 * o.mtx; - float m12v = m11 * o.m12 + m12 * o.m22 + m13 * o.mty; - float m13v = m11 * o.m13 + m12 * o.m23 + m13 * o.m33; - - float m21v = m21 * o.m11 + m22 * o.m21 + m23 * o.mtx; - float m22v = m21 * o.m12 + m22 * o.m22 + m23 * o.mty; - float m23v = m21 * o.m13 + m22 * o.m23 + m23 * o.m33; - - float m31v = mtx * o.m11 + mty * o.m21 + m33 * o.mtx; - float m32v = mtx * o.m12 + mty * o.m22 + m33 * o.mty; - float m33v = mtx * o.m13 + mty * o.m23 + m33 * o.m33; - - m11 = m11v; - m12 = m12v; - m13 = m13v; - m21 = m21v; - m22 = m22v; - m23 = m23v; - mtx = m31v; - mty = m32v; - m33 = m33v; - } - } - - dirty = t; - mType = t; - - return *this; -} - -VMatrix VMatrix::adjoint() const -{ - float h11, h12, h13, h21, h22, h23, h31, h32, h33; - h11 = m22 * m33 - m23 * mty; - h21 = m23 * mtx - m21 * m33; - h31 = m21 * mty - m22 * mtx; - h12 = m13 * mty - m12 * m33; - h22 = m11 * m33 - m13 * mtx; - h32 = m12 * mtx - m11 * mty; - h13 = m12 * m23 - m13 * m22; - h23 = m13 * m21 - m11 * m23; - h33 = m11 * m22 - m12 * m21; - - VMatrix res; - res.m11 = h11; - res.m12 = h12; - res.m13 = h13; - res.m21 = h21; - res.m22 = h22; - res.m23 = h23; - res.mtx = h31; - res.mty = h32; - res.m33 = h33; - res.mType = MatrixType::None; - res.dirty = MatrixType::Project; - - return res; -} - -VMatrix VMatrix::inverted(bool *invertible) const -{ - VMatrix invert; - bool inv = true; - - switch (type()) { - case MatrixType::None: - break; - case MatrixType::Translate: - invert.mtx = -mtx; - invert.mty = -mty; - break; - case MatrixType::Scale: - inv = !vIsZero(m11); - inv &= !vIsZero(m22); - if (inv) { - invert.m11 = 1. / m11; - invert.m22 = 1. / m22; - invert.mtx = -mtx * invert.m11; - invert.mty = -mty * invert.m22; - } - break; - default: - // general case - float det = determinant(); - inv = !vIsZero(det); - if (inv) invert = (adjoint() /= det); - // TODO Test above line - break; - } - - if (invertible) *invertible = inv; - - if (inv) { - // inverting doesn't change the type - invert.mType = mType; - invert.dirty = dirty; - } - - return invert; -} - -bool VMatrix::operator==(const VMatrix &o) const -{ - return fuzzyCompare(o); -} - -bool VMatrix::operator!=(const VMatrix &o) const -{ - return !operator==(o); -} - -bool VMatrix::fuzzyCompare(const VMatrix &o) const -{ - return vCompare(m11, o.m11) && vCompare(m12, o.m12) && - vCompare(m21, o.m21) && vCompare(m22, o.m22) && - vCompare(mtx, o.mtx) && vCompare(mty, o.mty); -} - -#define V_NEAR_CLIP 0.000001 -#ifdef MAP -#undef MAP -#endif -#define MAP(x, y, nx, ny) \ - do { \ - float FX_ = x; \ - float FY_ = y; \ - switch (t) { \ - case MatrixType::None: \ - nx = FX_; \ - ny = FY_; \ - break; \ - case MatrixType::Translate: \ - nx = FX_ + mtx; \ - ny = FY_ + mty; \ - break; \ - case MatrixType::Scale: \ - nx = m11 * FX_ + mtx; \ - ny = m22 * FY_ + mty; \ - break; \ - case MatrixType::Rotate: \ - case MatrixType::Shear: \ - case MatrixType::Project: \ - nx = m11 * FX_ + m21 * FY_ + mtx; \ - ny = m12 * FX_ + m22 * FY_ + mty; \ - if (t == MatrixType::Project) { \ - float w = (m13 * FX_ + m23 * FY_ + m33); \ - if (w < V_NEAR_CLIP) w = V_NEAR_CLIP; \ - w = 1. / w; \ - nx *= w; \ - ny *= w; \ - } \ - } \ - } while (0) - -VRect VMatrix::map(const VRect &rect) const -{ - VMatrix::MatrixType t = type(); - if (t <= MatrixType::Translate) - return rect.translated(std::round(mtx), std::round(mty)); - - if (t <= MatrixType::Scale) { - int x = std::round(m11 * rect.x() + mtx); - int y = std::round(m22 * rect.y() + mty); - int w = std::round(m11 * rect.width()); - int h = std::round(m22 * rect.height()); - if (w < 0) { - w = -w; - x -= w; - } - if (h < 0) { - h = -h; - y -= h; - } - return {x, y, w, h}; - } else if (t < MatrixType::Project) { - // see mapToPolygon for explanations of the algorithm. - float x = 0, y = 0; - MAP(rect.left(), rect.top(), x, y); - float xmin = x; - float ymin = y; - float xmax = x; - float ymax = y; - MAP(rect.right() + 1, rect.top(), x, y); - xmin = vMin(xmin, x); - ymin = vMin(ymin, y); - xmax = vMax(xmax, x); - ymax = vMax(ymax, y); - MAP(rect.right() + 1, rect.bottom() + 1, x, y); - xmin = vMin(xmin, x); - ymin = vMin(ymin, y); - xmax = vMax(xmax, x); - ymax = vMax(ymax, y); - MAP(rect.left(), rect.bottom() + 1, x, y); - xmin = vMin(xmin, x); - ymin = vMin(ymin, y); - xmax = vMax(xmax, x); - ymax = vMax(ymax, y); - return VRect(std::round(xmin), std::round(ymin), - std::round(xmax) - std::round(xmin), - std::round(ymax) - std::round(ymin)); - } else { - // Not supported - assert(0); - } -} - -VRegion VMatrix::map(const VRegion &r) const -{ - VMatrix::MatrixType t = type(); - if (t == MatrixType::None) return r; - - if (t == MatrixType::Translate) { - VRegion copy(r); - copy.translate(std::round(mtx), std::round(mty)); - return copy; - } - - if (t == MatrixType::Scale && r.rectCount() == 1) - return VRegion(map(r.boundingRect())); - // handle mapping of region properly - assert(0); - return r; -} - -VPointF VMatrix::map(const VPointF &p) const -{ - float fx = p.x(); - float fy = p.y(); - - float x = 0, y = 0; - - VMatrix::MatrixType t = type(); - switch (t) { - case MatrixType::None: - x = fx; - y = fy; - break; - case MatrixType::Translate: - x = fx + mtx; - y = fy + mty; - break; - case MatrixType::Scale: - x = m11 * fx + mtx; - y = m22 * fy + mty; - break; - case MatrixType::Rotate: - case MatrixType::Shear: - case MatrixType::Project: - x = m11 * fx + m21 * fy + mtx; - y = m12 * fx + m22 * fy + mty; - if (t == MatrixType::Project) { - float w = 1. / (m13 * fx + m23 * fy + m33); - x *= w; - y *= w; - } - } - return {x, y}; -} -static std::string type_helper(VMatrix::MatrixType t) -{ - switch (t) { - case VMatrix::MatrixType::None: - return "MatrixType::None"; - break; - case VMatrix::MatrixType::Translate: - return "MatrixType::Translate"; - break; - case VMatrix::MatrixType::Scale: - return "MatrixType::Scale"; - break; - case VMatrix::MatrixType::Rotate: - return "MatrixType::Rotate"; - break; - case VMatrix::MatrixType::Shear: - return "MatrixType::Shear"; - break; - case VMatrix::MatrixType::Project: - return "MatrixType::Project"; - break; - } - return ""; -} -std::ostream &operator<<(std::ostream &os, const VMatrix &o) -{ - os << "[Matrix: " - << "type =" << type_helper(o.type()) << ", Data : " << o.m11 << " " - << o.m12 << " " << o.m13 << " " << o.m21 << " " << o.m22 << " " << o.m23 - << " " << o.mtx << " " << o.mty << " " << o.m33 << " " - << "]" << std::endl; - return os; -} - -V_END_NAMESPACE diff --git a/submodules/RLottie/Sources/rlottie/src/vector/vmatrix.h b/submodules/RLottie/Sources/rlottie/src/vector/vmatrix.h deleted file mode 100644 index f762343300..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/vmatrix.h +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef VMATRIX_H -#define VMATRIX_H -#include "vglobal.h" -#include "vpoint.h" -#include "vregion.h" - -V_BEGIN_NAMESPACE - -struct VMatrixData; -class VMatrix { -public: - enum class Axis { X, Y, Z }; - enum class MatrixType: unsigned char { - None = 0x00, - Translate = 0x01, - Scale = 0x02, - Rotate = 0x04, - Shear = 0x08, - Project = 0x10 - }; - VMatrix() = default; - bool isAffine() const; - bool isIdentity() const; - bool isInvertible() const; - bool isScaling() const; - bool isRotating() const; - bool isTranslating() const; - MatrixType type() const; - inline float determinant() const; - - float m_11() const { return m11;} - float m_12() const { return m12;} - float m_13() const { return m13;} - - float m_21() const { return m21;} - float m_22() const { return m22;} - float m_23() const { return m23;} - - float m_tx() const { return mtx;} - float m_ty() const { return mty;} - float m_33() const { return m33;} - - VMatrix &translate(VPointF pos) { return translate(pos.x(), pos.y()); }; - VMatrix &translate(float dx, float dy); - VMatrix &scale(VPointF s) { return scale(s.x(), s.y()); }; - VMatrix &scale(float sx, float sy); - VMatrix &shear(float sh, float sv); - VMatrix &rotate(float a, Axis axis = VMatrix::Axis::Z); - VMatrix &rotateRadians(float a, Axis axis = VMatrix::Axis::Z); - - VPointF map(const VPointF &p) const; - inline VPointF map(float x, float y) const; - VRect map(const VRect &r) const; - VRegion map(const VRegion &r) const; - - V_REQUIRED_RESULT VMatrix inverted(bool *invertible = nullptr) const; - V_REQUIRED_RESULT VMatrix adjoint() const; - - VMatrix operator*(const VMatrix &o) const; - VMatrix & operator*=(const VMatrix &); - VMatrix & operator*=(float mul); - VMatrix & operator/=(float div); - bool operator==(const VMatrix &) const; - bool operator!=(const VMatrix &) const; - bool fuzzyCompare(const VMatrix &) const; - friend std::ostream &operator<<(std::ostream &os, const VMatrix &o); - -private: - friend struct VSpanData; - float m11{1}, m12{0}, m13{0}; - float m21{0}, m22{1}, m23{0}; - float mtx{0}, mty{0}, m33{1}; - mutable MatrixType mType{MatrixType::None}; - mutable MatrixType dirty{MatrixType::None}; -}; - -inline VPointF VMatrix::map(float x, float y) const -{ - return map(VPointF(x, y)); -} - -V_END_NAMESPACE - -#endif // VMATRIX_H diff --git a/submodules/RLottie/Sources/rlottie/src/vector/vpainter.cpp b/submodules/RLottie/Sources/rlottie/src/vector/vpainter.cpp deleted file mode 100644 index cdcaa11f43..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/vpainter.cpp +++ /dev/null @@ -1,206 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "vpainter.h" -#include -#include "vdrawhelper.h" - -V_BEGIN_NAMESPACE - -class VPainterImpl { -public: - void drawRle(const VPoint &pos, const VRle &rle); - void drawRle(const VRle &rle, const VRle &clip); - void setCompositionMode(VPainter::CompositionMode mode) - { - mSpanData.mCompositionMode = mode; - } - void drawBitmapUntransform(const VRect &target, const VBitmap &bitmap, - const VRect &source, uint8_t const_alpha); - -public: - VRasterBuffer mBuffer; - VSpanData mSpanData; -}; - -void VPainterImpl::drawRle(const VPoint &, const VRle &rle) -{ - if (rle.empty()) return; - // mSpanData.updateSpanFunc(); - - if (!mSpanData.mUnclippedBlendFunc) return; - - // do draw after applying clip. - rle.intersect(mSpanData.clipRect(), mSpanData.mUnclippedBlendFunc, - &mSpanData); -} - -void VPainterImpl::drawRle(const VRle &rle, const VRle &clip) -{ - if (rle.empty() || clip.empty()) return; - - if (!mSpanData.mUnclippedBlendFunc) return; - - rle.intersect(clip, mSpanData.mUnclippedBlendFunc, &mSpanData); -} - -static void fillRect(const VRect &r, VSpanData *data) -{ - int x1, x2, y1, y2; - - x1 = std::max(r.x(), 0); - x2 = std::min(r.x() + r.width(), data->mDrawableSize.width()); - y1 = std::max(r.y(), 0); - y2 = std::min(r.y() + r.height(), data->mDrawableSize.height()); - - if (x2 <= x1 || y2 <= y1) return; - - const int nspans = 256; - VRle::Span spans[nspans]; - - int y = y1; - while (y < y2) { - int n = std::min(nspans, y2 - y); - int i = 0; - while (i < n) { - spans[i].x = x1; - spans[i].len = x2 - x1; - spans[i].y = y + i; - spans[i].coverage = 255; - ++i; - } - - data->mUnclippedBlendFunc(n, spans, data); - y += n; - } -} - -void VPainterImpl::drawBitmapUntransform(const VRect & target, - const VBitmap &bitmap, - const VRect & source, - uint8_t const_alpha) -{ - mSpanData.initTexture(&bitmap, const_alpha, VBitmapData::Plain, source); - if (!mSpanData.mUnclippedBlendFunc) return; - mSpanData.dx = -target.x(); - mSpanData.dy = -target.y(); - - VRect rr = source.translated(target.x(), target.y()); - - fillRect(rr, &mSpanData); -} - -VPainter::~VPainter() -{ - delete mImpl; -} - -VPainter::VPainter() -{ - mImpl = new VPainterImpl; -} - -VPainter::VPainter(VBitmap *buffer) -{ - mImpl = new VPainterImpl; - begin(buffer); -} -bool VPainter::begin(VBitmap *buffer) -{ - mImpl->mBuffer.prepare(buffer); - mImpl->mSpanData.init(&mImpl->mBuffer); - // TODO find a better api to clear the surface - mImpl->mBuffer.clear(); - return true; -} -void VPainter::end() {} - -void VPainter::setDrawRegion(const VRect ®ion) -{ - mImpl->mSpanData.setDrawRegion(region); -} - -void VPainter::setBrush(const VBrush &brush) -{ - mImpl->mSpanData.setup(brush); -} - -void VPainter::setCompositionMode(CompositionMode mode) -{ - mImpl->setCompositionMode(mode); -} - -void VPainter::drawRle(const VPoint &pos, const VRle &rle) -{ - mImpl->drawRle(pos, rle); -} - -void VPainter::drawRle(const VRle &rle, const VRle &clip) -{ - mImpl->drawRle(rle, clip); -} - -VRect VPainter::clipBoundingRect() const -{ - return mImpl->mSpanData.clipRect(); -} - -void VPainter::drawBitmap(const VPoint &point, const VBitmap &bitmap, - const VRect &source, uint8_t const_alpha) -{ - if (!bitmap.valid()) return; - - drawBitmap(VRect(point.x(), point.y(), bitmap.width(), bitmap.height()), - bitmap, source, const_alpha); -} - -void VPainter::drawBitmap(const VRect &target, const VBitmap &bitmap, - const VRect &source, uint8_t const_alpha) -{ - if (!bitmap.valid()) return; - - // clear any existing brush data. - setBrush(VBrush()); - - if (target.size() == source.size()) { - mImpl->drawBitmapUntransform(target, bitmap, source, const_alpha); - } else { - // @TODO scaling - } -} - -void VPainter::drawBitmap(const VPoint &point, const VBitmap &bitmap, - uint8_t const_alpha) -{ - if (!bitmap.valid()) return; - - drawBitmap(VRect(point.x(), point.y(), bitmap.width(), bitmap.height()), - bitmap, VRect(0, 0, bitmap.width(), bitmap.height()), - const_alpha); -} - -void VPainter::drawBitmap(const VRect &rect, const VBitmap &bitmap, - uint8_t const_alpha) -{ - if (!bitmap.valid()) return; - - drawBitmap(rect, bitmap, VRect(0, 0, bitmap.width(), bitmap.height()), - const_alpha); -} - -V_END_NAMESPACE diff --git a/submodules/RLottie/Sources/rlottie/src/vector/vpainter.h b/submodules/RLottie/Sources/rlottie/src/vector/vpainter.h deleted file mode 100644 index 2d523370d1..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/vpainter.h +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef VPAINTER_H -#define VPAINTER_H - -#include "vbrush.h" -#include "vpoint.h" -#include "vrle.h" - -V_BEGIN_NAMESPACE - -class VBitmap; -class VPainterImpl; -class VPainter { -public: - enum CompositionMode { - CompModeSrc, - CompModeSrcOver, - CompModeDestIn, - CompModeDestOut - }; - ~VPainter(); - VPainter(); - VPainter(VBitmap *buffer); - bool begin(VBitmap *buffer); - void end(); - void setDrawRegion(const VRect ®ion); // sub surface rendering area. - void setBrush(const VBrush &brush); - void setCompositionMode(CompositionMode mode); - void drawRle(const VPoint &pos, const VRle &rle); - void drawRle(const VRle &rle, const VRle &clip); - VRect clipBoundingRect() const; - - void drawBitmap(const VPoint &point, const VBitmap &bitmap, const VRect &source, uint8_t const_alpha = 255); - void drawBitmap(const VRect &target, const VBitmap &bitmap, const VRect &source, uint8_t const_alpha = 255); - void drawBitmap(const VPoint &point, const VBitmap &bitmap, uint8_t const_alpha = 255); - void drawBitmap(const VRect &rect, const VBitmap &bitmap, uint8_t const_alpha = 255); -private: - VPainterImpl *mImpl; -}; - -V_END_NAMESPACE - -#endif // VPAINTER_H diff --git a/submodules/RLottie/Sources/rlottie/src/vector/vpath.cpp b/submodules/RLottie/Sources/rlottie/src/vector/vpath.cpp deleted file mode 100644 index a82cbdf2cd..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/vpath.cpp +++ /dev/null @@ -1,699 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "vpath.h" -#include -#include -#include -#include "vbezier.h" -#include "vdebug.h" -#include "vline.h" -#include "vrect.h" - -V_BEGIN_NAMESPACE - -void VPath::VPathData::transform(const VMatrix &m) -{ - for (auto &i : m_points) { - i = m.map(i); - } - mLengthDirty = true; -} - -float VPath::VPathData::length() const -{ - if (!mLengthDirty) return mLength; - - mLengthDirty = false; - mLength = 0.0; - - size_t i = 0; - for (auto e : m_elements) { - switch (e) { - case VPath::Element::MoveTo: - i++; - break; - case VPath::Element::LineTo: { - mLength += VLine(m_points[i - 1], m_points[i]).length(); - i++; - break; - } - case VPath::Element::CubicTo: { - mLength += VBezier::fromPoints(m_points[i - 1], m_points[i], - m_points[i + 1], m_points[i + 2]) - .length(); - i += 3; - break; - } - case VPath::Element::Close: - break; - } - } - - return mLength; -} - -void VPath::VPathData::checkNewSegment() -{ - if (mNewSegment) { - moveTo(0, 0); - mNewSegment = false; - } -} - -void VPath::VPathData::moveTo(float x, float y) -{ - mStartPoint = {x, y}; - mNewSegment = false; - m_elements.emplace_back(VPath::Element::MoveTo); - m_points.emplace_back(x, y); - m_segments++; - mLengthDirty = true; -} - -void VPath::VPathData::lineTo(float x, float y) -{ - checkNewSegment(); - m_elements.emplace_back(VPath::Element::LineTo); - m_points.emplace_back(x, y); - mLengthDirty = true; -} - -void VPath::VPathData::cubicTo(float cx1, float cy1, float cx2, float cy2, - float ex, float ey) -{ - checkNewSegment(); - m_elements.emplace_back(VPath::Element::CubicTo); - m_points.emplace_back(cx1, cy1); - m_points.emplace_back(cx2, cy2); - m_points.emplace_back(ex, ey); - mLengthDirty = true; -} - -void VPath::VPathData::close() -{ - if (empty()) return; - - const VPointF &lastPt = m_points.back(); - if (!fuzzyCompare(mStartPoint, lastPt)) { - lineTo(mStartPoint.x(), mStartPoint.y()); - } - m_elements.push_back(VPath::Element::Close); - mNewSegment = true; - mLengthDirty = true; -} - -void VPath::VPathData::reset() -{ - if (empty()) return; - - m_elements.clear(); - m_points.clear(); - m_segments = 0; - mLength = 0; - mLengthDirty = false; -} - -size_t VPath::VPathData::segments() const -{ - return m_segments; -} - -void VPath::VPathData::reserve(size_t pts, size_t elms) -{ - if (m_points.capacity() < m_points.size() + pts) - m_points.reserve(m_points.size() + pts); - if (m_elements.capacity() < m_elements.size() + elms) - m_elements.reserve(m_elements.size() + elms); -} - -static VPointF curvesForArc(const VRectF &, float, float, VPointF *, size_t *); -static constexpr float PATH_KAPPA = 0.5522847498f; -static constexpr float K_PI = float(M_PI); - -void VPath::VPathData::arcTo(const VRectF &rect, float startAngle, - float sweepLength, bool forceMoveTo) -{ - size_t point_count = 0; - VPointF pts[15]; - VPointF curve_start = - curvesForArc(rect, startAngle, sweepLength, pts, &point_count); - - reserve(point_count + 1, point_count / 3 + 1); - if (empty() || forceMoveTo) { - moveTo(curve_start.x(), curve_start.y()); - } else { - lineTo(curve_start.x(), curve_start.y()); - } - for (size_t i = 0; i < point_count; i += 3) { - cubicTo(pts[i].x(), pts[i].y(), pts[i + 1].x(), pts[i + 1].y(), - pts[i + 2].x(), pts[i + 2].y()); - } -} - -void VPath::VPathData::addCircle(float cx, float cy, float radius, - VPath::Direction dir) -{ - addOval(VRectF(cx - radius, cy - radius, 2 * radius, 2 * radius), dir); -} - -void VPath::VPathData::addOval(const VRectF &rect, VPath::Direction dir) -{ - if (rect.empty()) return; - - float x = rect.x(); - float y = rect.y(); - - float w = rect.width(); - float w2 = rect.width() / 2; - float w2k = w2 * PATH_KAPPA; - - float h = rect.height(); - float h2 = rect.height() / 2; - float h2k = h2 * PATH_KAPPA; - - reserve(13, 6); // 1Move + 4Cubic + 1Close - if (dir == VPath::Direction::CW) { - // moveto 12 o'clock. - moveTo(x + w2, y); - // 12 -> 3 o'clock - cubicTo(x + w2 + w2k, y, x + w, y + h2 - h2k, x + w, y + h2); - // 3 -> 6 o'clock - cubicTo(x + w, y + h2 + h2k, x + w2 + w2k, y + h, x + w2, y + h); - // 6 -> 9 o'clock - cubicTo(x + w2 - w2k, y + h, x, y + h2 + h2k, x, y + h2); - // 9 -> 12 o'clock - cubicTo(x, y + h2 - h2k, x + w2 - w2k, y, x + w2, y); - } else { - // moveto 12 o'clock. - moveTo(x + w2, y); - // 12 -> 9 o'clock - cubicTo(x + w2 - w2k, y, x, y + h2 - h2k, x, y + h2); - // 9 -> 6 o'clock - cubicTo(x, y + h2 + h2k, x + w2 - w2k, y + h, x + w2, y + h); - // 6 -> 3 o'clock - cubicTo(x + w2 + w2k, y + h, x + w, y + h2 + h2k, x + w, y + h2); - // 3 -> 12 o'clock - cubicTo(x + w, y + h2 - h2k, x + w2 + w2k, y, x + w2, y); - } - close(); -} - -void VPath::VPathData::addRect(const VRectF &rect, VPath::Direction dir) -{ - if (rect.empty()) return; - - float x = rect.x(); - float y = rect.y(); - float w = rect.width(); - float h = rect.height(); - - reserve(5, 6); // 1Move + 4Line + 1Close - if (dir == VPath::Direction::CW) { - moveTo(x + w, y); - lineTo(x + w, y + h); - lineTo(x, y + h); - lineTo(x, y); - close(); - } else { - moveTo(x + w, y); - lineTo(x, y); - lineTo(x, y + h); - lineTo(x + w, y + h); - close(); - } -} - -void VPath::VPathData::addRoundRect(const VRectF &rect, float roundness, - VPath::Direction dir) -{ - if (2 * roundness > rect.width()) roundness = rect.width() / 2.0f; - if (2 * roundness > rect.height()) roundness = rect.height() / 2.0f; - addRoundRect(rect, roundness, roundness, dir); -} - -void VPath::VPathData::addRoundRect(const VRectF &rect, float rx, float ry, - VPath::Direction dir) -{ - if (vCompare(rx, 0.f) || vCompare(ry, 0.f)) { - addRect(rect, dir); - return; - } - - float x = rect.x(); - float y = rect.y(); - float w = rect.width(); - float h = rect.height(); - // clamp the rx and ry radius value. - rx = 2 * rx; - ry = 2 * ry; - if (rx > w) rx = w; - if (ry > h) ry = h; - - reserve(17, 10); // 1Move + 4Cubic + 1Close - if (dir == VPath::Direction::CW) { - moveTo(x + w, y + ry / 2.f); - arcTo(VRectF(x + w - rx, y + h - ry, rx, ry), 0, -90, false); - arcTo(VRectF(x, y + h - ry, rx, ry), -90, -90, false); - arcTo(VRectF(x, y, rx, ry), -180, -90, false); - arcTo(VRectF(x + w - rx, y, rx, ry), -270, -90, false); - close(); - } else { - moveTo(x + w, y + ry / 2.f); - arcTo(VRectF(x + w - rx, y, rx, ry), 0, 90, false); - arcTo(VRectF(x, y, rx, ry), 90, 90, false); - arcTo(VRectF(x, y + h - ry, rx, ry), 180, 90, false); - arcTo(VRectF(x + w - rx, y + h - ry, rx, ry), 270, 90, false); - close(); - } -} - -static float tForArcAngle(float angle); -void findEllipseCoords(const VRectF &r, float angle, float length, - VPointF *startPoint, VPointF *endPoint) -{ - if (r.empty()) { - if (startPoint) *startPoint = VPointF(); - if (endPoint) *endPoint = VPointF(); - return; - } - - float w2 = r.width() / 2; - float h2 = r.height() / 2; - - float angles[2] = {angle, angle + length}; - VPointF *points[2] = {startPoint, endPoint}; - - for (int i = 0; i < 2; ++i) { - if (!points[i]) continue; - - float theta = angles[i] - 360 * floorf(angles[i] / 360); - float t = theta / 90; - // truncate - int quadrant = int(t); - t -= quadrant; - - t = tForArcAngle(90 * t); - - // swap x and y? - if (quadrant & 1) t = 1 - t; - - float a, b, c, d; - VBezier::coefficients(t, a, b, c, d); - VPointF p(a + b + c * PATH_KAPPA, d + c + b * PATH_KAPPA); - - // left quadrants - if (quadrant == 1 || quadrant == 2) p.rx() = -p.x(); - - // top quadrants - if (quadrant == 0 || quadrant == 1) p.ry() = -p.y(); - - *points[i] = r.center() + VPointF(w2 * p.x(), h2 * p.y()); - } -} - -static float tForArcAngle(float angle) -{ - float radians, cos_angle, sin_angle, tc, ts, t; - - if (vCompare(angle, 0.f)) return 0; - if (vCompare(angle, 90.0f)) return 1; - - radians = (angle / 180) * K_PI; - - cos_angle = cosf(radians); - sin_angle = sinf(radians); - - // initial guess - tc = angle / 90; - - // do some iterations of newton's method to approximate cos_angle - // finds the zero of the function b.pointAt(tc).x() - cos_angle - tc -= ((((2 - 3 * PATH_KAPPA) * tc + 3 * (PATH_KAPPA - 1)) * tc) * tc + 1 - - cos_angle) // value - / (((6 - 9 * PATH_KAPPA) * tc + 6 * (PATH_KAPPA - 1)) * - tc); // derivative - tc -= ((((2 - 3 * PATH_KAPPA) * tc + 3 * (PATH_KAPPA - 1)) * tc) * tc + 1 - - cos_angle) // value - / (((6 - 9 * PATH_KAPPA) * tc + 6 * (PATH_KAPPA - 1)) * - tc); // derivative - - // initial guess - ts = tc; - // do some iterations of newton's method to approximate sin_angle - // finds the zero of the function b.pointAt(tc).y() - sin_angle - ts -= ((((3 * PATH_KAPPA - 2) * ts - 6 * PATH_KAPPA + 3) * ts + - 3 * PATH_KAPPA) * - ts - - sin_angle) / - (((9 * PATH_KAPPA - 6) * ts + 12 * PATH_KAPPA - 6) * ts + - 3 * PATH_KAPPA); - ts -= ((((3 * PATH_KAPPA - 2) * ts - 6 * PATH_KAPPA + 3) * ts + - 3 * PATH_KAPPA) * - ts - - sin_angle) / - (((9 * PATH_KAPPA - 6) * ts + 12 * PATH_KAPPA - 6) * ts + - 3 * PATH_KAPPA); - - // use the average of the t that best approximates cos_angle - // and the t that best approximates sin_angle - t = 0.5f * (tc + ts); - return t; -} - -// The return value is the starting point of the arc -static VPointF curvesForArc(const VRectF &rect, float startAngle, - float sweepLength, VPointF *curves, - size_t *point_count) -{ - if (rect.empty()) { - return {}; - } - - float x = rect.x(); - float y = rect.y(); - - float w = rect.width(); - float w2 = rect.width() / 2; - float w2k = w2 * PATH_KAPPA; - - float h = rect.height(); - float h2 = rect.height() / 2; - float h2k = h2 * PATH_KAPPA; - - VPointF points[16] = { - // start point - VPointF(x + w, y + h2), - - // 0 -> 270 degrees - VPointF(x + w, y + h2 + h2k), VPointF(x + w2 + w2k, y + h), - VPointF(x + w2, y + h), - - // 270 -> 180 degrees - VPointF(x + w2 - w2k, y + h), VPointF(x, y + h2 + h2k), - VPointF(x, y + h2), - - // 180 -> 90 degrees - VPointF(x, y + h2 - h2k), VPointF(x + w2 - w2k, y), VPointF(x + w2, y), - - // 90 -> 0 degrees - VPointF(x + w2 + w2k, y), VPointF(x + w, y + h2 - h2k), - VPointF(x + w, y + h2)}; - - if (sweepLength > 360) - sweepLength = 360; - else if (sweepLength < -360) - sweepLength = -360; - - // Special case fast paths - if (startAngle == 0.0f) { - if (vCompare(sweepLength, 360)) { - for (int i = 11; i >= 0; --i) curves[(*point_count)++] = points[i]; - return points[12]; - } else if (vCompare(sweepLength, -360)) { - for (int i = 1; i <= 12; ++i) curves[(*point_count)++] = points[i]; - return points[0]; - } - } - - int startSegment = int(floorf(startAngle / 90.0f)); - int endSegment = int(floorf((startAngle + sweepLength) / 90.0f)); - - float startT = (startAngle - startSegment * 90) / 90; - float endT = (startAngle + sweepLength - endSegment * 90) / 90; - - int delta = sweepLength > 0 ? 1 : -1; - if (delta < 0) { - startT = 1 - startT; - endT = 1 - endT; - } - - // avoid empty start segment - if (vIsZero(startT - float(1))) { - startT = 0; - startSegment += delta; - } - - // avoid empty end segment - if (vIsZero(endT)) { - endT = 1; - endSegment -= delta; - } - - startT = tForArcAngle(startT * 90); - endT = tForArcAngle(endT * 90); - - const bool splitAtStart = !vIsZero(startT); - const bool splitAtEnd = !vIsZero(endT - float(1)); - - const int end = endSegment + delta; - - // empty arc? - if (startSegment == end) { - const int quadrant = 3 - ((startSegment % 4) + 4) % 4; - const int j = 3 * quadrant; - return delta > 0 ? points[j + 3] : points[j]; - } - - VPointF startPoint, endPoint; - findEllipseCoords(rect, startAngle, sweepLength, &startPoint, &endPoint); - - for (int i = startSegment; i != end; i += delta) { - const int quadrant = 3 - ((i % 4) + 4) % 4; - const int j = 3 * quadrant; - - VBezier b; - if (delta > 0) - b = VBezier::fromPoints(points[j + 3], points[j + 2], points[j + 1], - points[j]); - else - b = VBezier::fromPoints(points[j], points[j + 1], points[j + 2], - points[j + 3]); - - // empty arc? - if (startSegment == endSegment && vCompare(startT, endT)) - return startPoint; - - if (i == startSegment) { - if (i == endSegment && splitAtEnd) - b = b.onInterval(startT, endT); - else if (splitAtStart) - b = b.onInterval(startT, 1); - } else if (i == endSegment && splitAtEnd) { - b = b.onInterval(0, endT); - } - - // push control points - curves[(*point_count)++] = b.pt2(); - curves[(*point_count)++] = b.pt3(); - curves[(*point_count)++] = b.pt4(); - } - - curves[*(point_count)-1] = endPoint; - - return startPoint; -} - -void VPath::VPathData::addPolystar(float points, float innerRadius, - float outerRadius, float innerRoundness, - float outerRoundness, float startAngle, - float cx, float cy, VPath::Direction dir) -{ - const static float POLYSTAR_MAGIC_NUMBER = 0.47829f / 0.28f; - float currentAngle = (startAngle - 90.0f) * K_PI / 180.0f; - float x; - float y; - float partialPointRadius = 0; - float anglePerPoint = (2.0f * K_PI / points); - float halfAnglePerPoint = anglePerPoint / 2.0f; - float partialPointAmount = points - floorf(points); - bool longSegment = false; - size_t numPoints = size_t(ceilf(points) * 2); - float angleDir = ((dir == VPath::Direction::CW) ? 1.0 : -1.0); - bool hasRoundness = false; - - innerRoundness /= 100.0f; - outerRoundness /= 100.0f; - - if (!vCompare(partialPointAmount, 0)) { - currentAngle += - halfAnglePerPoint * (1.0f - partialPointAmount) * angleDir; - } - - if (!vCompare(partialPointAmount, 0)) { - partialPointRadius = - innerRadius + partialPointAmount * (outerRadius - innerRadius); - x = partialPointRadius * cosf(currentAngle); - y = partialPointRadius * sinf(currentAngle); - currentAngle += anglePerPoint * partialPointAmount / 2.0f * angleDir; - } else { - x = outerRadius * cosf(currentAngle); - y = outerRadius * sinf(currentAngle); - currentAngle += halfAnglePerPoint * angleDir; - } - - if (vIsZero(innerRoundness) && vIsZero(outerRoundness)) { - reserve(numPoints + 2, numPoints + 3); - } else { - reserve(numPoints * 3 + 2, numPoints + 3); - hasRoundness = true; - } - - moveTo(x + cx, y + cy); - - for (size_t i = 0; i < numPoints; i++) { - float radius = longSegment ? outerRadius : innerRadius; - float dTheta = halfAnglePerPoint; - if (!vIsZero(partialPointRadius) && i == numPoints - 2) { - dTheta = anglePerPoint * partialPointAmount / 2.0f; - } - if (!vIsZero(partialPointRadius) && i == numPoints - 1) { - radius = partialPointRadius; - } - float previousX = x; - float previousY = y; - x = radius * cosf(currentAngle); - y = radius * sinf(currentAngle); - - if (hasRoundness) { - float cp1Theta = - (atan2f(previousY, previousX) - K_PI / 2.0f * angleDir); - float cp1Dx = cosf(cp1Theta); - float cp1Dy = sinf(cp1Theta); - float cp2Theta = (atan2f(y, x) - K_PI / 2.0f * angleDir); - float cp2Dx = cosf(cp2Theta); - float cp2Dy = sinf(cp2Theta); - - float cp1Roundness = longSegment ? innerRoundness : outerRoundness; - float cp2Roundness = longSegment ? outerRoundness : innerRoundness; - float cp1Radius = longSegment ? innerRadius : outerRadius; - float cp2Radius = longSegment ? outerRadius : innerRadius; - - float cp1x = cp1Radius * cp1Roundness * POLYSTAR_MAGIC_NUMBER * - cp1Dx / points; - float cp1y = cp1Radius * cp1Roundness * POLYSTAR_MAGIC_NUMBER * - cp1Dy / points; - float cp2x = cp2Radius * cp2Roundness * POLYSTAR_MAGIC_NUMBER * - cp2Dx / points; - float cp2y = cp2Radius * cp2Roundness * POLYSTAR_MAGIC_NUMBER * - cp2Dy / points; - - if (!vIsZero(partialPointAmount) && - ((i == 0) || (i == numPoints - 1))) { - cp1x *= partialPointAmount; - cp1y *= partialPointAmount; - cp2x *= partialPointAmount; - cp2y *= partialPointAmount; - } - - cubicTo(previousX - cp1x + cx, previousY - cp1y + cy, x + cp2x + cx, - y + cp2y + cy, x + cx, y + cy); - } else { - lineTo(x + cx, y + cy); - } - - currentAngle += dTheta * angleDir; - longSegment = !longSegment; - } - - close(); -} - -void VPath::VPathData::addPolygon(float points, float radius, float roundness, - float startAngle, float cx, float cy, - VPath::Direction dir) -{ - // TODO: Need to support floating point number for number of points - const static float POLYGON_MAGIC_NUMBER = 0.25; - float currentAngle = (startAngle - 90.0f) * K_PI / 180.0f; - float x; - float y; - float anglePerPoint = 2.0f * K_PI / floorf(points); - size_t numPoints = size_t(floorf(points)); - float angleDir = ((dir == VPath::Direction::CW) ? 1.0 : -1.0); - bool hasRoundness = false; - - roundness /= 100.0f; - - currentAngle = (currentAngle - 90.0f) * K_PI / 180.0f; - x = radius * cosf(currentAngle); - y = radius * sinf(currentAngle); - currentAngle += anglePerPoint * angleDir; - - if (vIsZero(roundness)) { - reserve(numPoints + 2, numPoints + 3); - } else { - reserve(numPoints * 3 + 2, numPoints + 3); - hasRoundness = true; - } - - moveTo(x + cx, y + cy); - - for (size_t i = 0; i < numPoints; i++) { - float previousX = x; - float previousY = y; - x = (radius * cosf(currentAngle)); - y = (radius * sinf(currentAngle)); - - if (hasRoundness) { - float cp1Theta = - (atan2f(previousY, previousX) - K_PI / 2.0f * angleDir); - float cp1Dx = cosf(cp1Theta); - float cp1Dy = sinf(cp1Theta); - float cp2Theta = atan2f(y, x) - K_PI / 2.0f * angleDir; - float cp2Dx = cosf(cp2Theta); - float cp2Dy = sinf(cp2Theta); - - float cp1x = radius * roundness * POLYGON_MAGIC_NUMBER * cp1Dx; - float cp1y = radius * roundness * POLYGON_MAGIC_NUMBER * cp1Dy; - float cp2x = radius * roundness * POLYGON_MAGIC_NUMBER * cp2Dx; - float cp2y = radius * roundness * POLYGON_MAGIC_NUMBER * cp2Dy; - - cubicTo(previousX - cp1x + cx, previousY - cp1y + cy, x + cp2x + cx, - y + cp2y + cy, x, y); - } else { - lineTo(x + cx, y + cy); - } - - currentAngle += anglePerPoint * angleDir; - } - - close(); -} - -void VPath::VPathData::addPath(const VPathData &path) -{ - size_t segment = path.segments(); - - // make sure enough memory available - if (m_points.capacity() < m_points.size() + path.m_points.size()) - m_points.reserve(m_points.size() + path.m_points.size()); - - if (m_elements.capacity() < m_elements.size() + path.m_elements.size()) - m_elements.reserve(m_elements.size() + path.m_elements.size()); - - std::copy(path.m_points.begin(), path.m_points.end(), - back_inserter(m_points)); - std::copy(path.m_elements.begin(), path.m_elements.end(), - back_inserter(m_elements)); - - m_segments += segment; - mLengthDirty = true; -} - -V_END_NAMESPACE diff --git a/submodules/RLottie/Sources/rlottie/src/vector/vpath.h b/submodules/RLottie/Sources/rlottie/src/vector/vpath.h deleted file mode 100644 index 1c4bf0b781..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/vpath.h +++ /dev/null @@ -1,273 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef VPATH_H -#define VPATH_H -#include -#include "vcowptr.h" -#include "vmatrix.h" -#include "vpoint.h" -#include "vrect.h" - -V_BEGIN_NAMESPACE - -struct VPathData; -class VPath { -public: - enum class Direction { CCW, CW }; - - enum class Element : uchar { MoveTo, LineTo, CubicTo, Close }; - bool empty() const; - bool null() const; - void moveTo(const VPointF &p); - void moveTo(float x, float y); - void lineTo(const VPointF &p); - void lineTo(float x, float y); - void cubicTo(const VPointF &c1, const VPointF &c2, const VPointF &e); - void cubicTo(float c1x, float c1y, float c2x, float c2y, float ex, - float ey); - void arcTo(const VRectF &rect, float startAngle, float sweepLength, - bool forceMoveTo); - void close(); - void reset(); - void reserve(size_t pts, size_t elms); - size_t segments() const; - void addCircle(float cx, float cy, float radius, - VPath::Direction dir = Direction::CW); - void addOval(const VRectF &rect, VPath::Direction dir = Direction::CW); - void addRoundRect(const VRectF &rect, float rx, float ry, - VPath::Direction dir = Direction::CW); - void addRoundRect(const VRectF &rect, float roundness, - VPath::Direction dir = Direction::CW); - void addRect(const VRectF &rect, VPath::Direction dir = Direction::CW); - void addPolystar(float points, float innerRadius, float outerRadius, - float innerRoundness, float outerRoundness, - float startAngle, float cx, float cy, - VPath::Direction dir = Direction::CW); - void addPolygon(float points, float radius, float roundness, - float startAngle, float cx, float cy, - VPath::Direction dir = Direction::CW); - void addPath(const VPath &path); - void transform(const VMatrix &m); - float length() const; - const std::vector &elements() const; - const std::vector & points() const; - void clone(const VPath &srcPath); - bool unique() const { return d.unique();} - int refCount() const { return d.refCount();} - -private: - struct VPathData { - bool empty() const { return m_elements.empty(); } - bool null() const { return empty() && !m_elements.capacity();} - void moveTo(float x, float y); - void lineTo(float x, float y); - void cubicTo(float cx1, float cy1, float cx2, float cy2, float ex, float ey); - void close(); - void reset(); - void reserve(size_t, size_t); - void checkNewSegment(); - size_t segments() const; - void transform(const VMatrix &m); - float length() const; - void addRoundRect(const VRectF &, float, float, VPath::Direction); - void addRoundRect(const VRectF &, float, VPath::Direction); - void addRect(const VRectF &, VPath::Direction); - void arcTo(const VRectF &, float, float, bool); - void addCircle(float, float, float, VPath::Direction); - void addOval(const VRectF &, VPath::Direction); - void addPolystar(float points, float innerRadius, float outerRadius, - float innerRoundness, float outerRoundness, - float startAngle, float cx, float cy, - VPath::Direction dir = Direction::CW); - void addPolygon(float points, float radius, float roundness, - float startAngle, float cx, float cy, - VPath::Direction dir = Direction::CW); - void addPath(const VPathData &path); - void clone(const VPath::VPathData &o) { *this = o;} - const std::vector &elements() const - { - return m_elements; - } - const std::vector &points() const { return m_points; } - std::vector m_points; - std::vector m_elements; - unsigned int m_segments; - VPointF mStartPoint; - mutable float mLength{0}; - mutable bool mLengthDirty{true}; - bool mNewSegment; - }; - - vcow_ptr d; -}; - -inline bool VPath::empty() const -{ - return d->empty(); -} - -/* - * path is empty as well as null(no memory for data allocated yet). - */ -inline bool VPath::null() const -{ - return d->null(); -} - -inline void VPath::moveTo(const VPointF &p) -{ - d.write().moveTo(p.x(), p.y()); -} - -inline void VPath::lineTo(const VPointF &p) -{ - d.write().lineTo(p.x(), p.y()); -} - -inline void VPath::close() -{ - d.write().close(); -} - -inline void VPath::reset() -{ - d.write().reset(); -} - -inline void VPath::reserve(size_t pts, size_t elms) -{ - d.write().reserve(pts, elms); -} - -inline size_t VPath::segments() const -{ - return d->segments(); -} - -inline float VPath::length() const -{ - return d->length(); -} - -inline void VPath::cubicTo(const VPointF &c1, const VPointF &c2, - const VPointF &e) -{ - d.write().cubicTo(c1.x(), c1.y(), c2.x(), c2.y(), e.x(), e.y()); -} - -inline void VPath::lineTo(float x, float y) -{ - d.write().lineTo(x, y); -} - -inline void VPath::moveTo(float x, float y) -{ - d.write().moveTo(x, y); -} - -inline void VPath::cubicTo(float c1x, float c1y, float c2x, float c2y, float ex, - float ey) -{ - d.write().cubicTo(c1x, c1y, c2x, c2y, ex, ey); -} - -inline void VPath::transform(const VMatrix &m) -{ - d.write().transform(m); -} - -inline void VPath::arcTo(const VRectF &rect, float startAngle, - float sweepLength, bool forceMoveTo) -{ - d.write().arcTo(rect, startAngle, sweepLength, forceMoveTo); -} - -inline void VPath::addRect(const VRectF &rect, VPath::Direction dir) -{ - d.write().addRect(rect, dir); -} - -inline void VPath::addRoundRect(const VRectF &rect, float rx, float ry, - VPath::Direction dir) -{ - d.write().addRoundRect(rect, rx, ry, dir); -} - -inline void VPath::addRoundRect(const VRectF &rect, float roundness, - VPath::Direction dir) -{ - d.write().addRoundRect(rect, roundness, dir); -} - -inline void VPath::addCircle(float cx, float cy, float radius, - VPath::Direction dir) -{ - d.write().addCircle(cx, cy, radius, dir); -} - -inline void VPath::addOval(const VRectF &rect, VPath::Direction dir) -{ - d.write().addOval(rect, dir); -} - -inline void VPath::addPolystar(float points, float innerRadius, - float outerRadius, float innerRoundness, - float outerRoundness, float startAngle, float cx, - float cy, VPath::Direction dir) -{ - d.write().addPolystar(points, innerRadius, outerRadius, innerRoundness, - outerRoundness, startAngle, cx, cy, dir); -} - -inline void VPath::addPolygon(float points, float radius, float roundness, - float startAngle, float cx, float cy, - VPath::Direction dir) -{ - d.write().addPolygon(points, radius, roundness, startAngle, cx, cy, dir); -} - -inline void VPath::addPath(const VPath &path) -{ - if (path.empty()) return; - - if (null()) { - *this = path; - } else { - d.write().addPath(path.d.read()); - } -} - -inline const std::vector &VPath::elements() const -{ - return d->elements(); -} - -inline const std::vector &VPath::points() const -{ - return d->points(); -} - -inline void VPath::clone(const VPath &o) -{ - d.write().clone(o.d.read()); -} - -V_END_NAMESPACE - -#endif // VPATH_H diff --git a/submodules/RLottie/Sources/rlottie/src/vector/vpathmesure.cpp b/submodules/RLottie/Sources/rlottie/src/vector/vpathmesure.cpp deleted file mode 100644 index f0f305b075..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/vpathmesure.cpp +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "vpathmesure.h" -#include -#include "vbezier.h" -#include "vdasher.h" - -V_BEGIN_NAMESPACE - -/* - * start and end value must be normalized to [0 - 1] - * Path mesure trims the path from [start --> end] - * if start > end it treates as a loop and trims as two segment - * [0-->end] and [start --> 1] - */ -VPath VPathMesure::trim(const VPath &path) -{ - if (vCompare(mStart, mEnd)) return VPath(); - - if ((vCompare(mStart, 0.0f) && (vCompare(mEnd, 1.0f))) || - (vCompare(mStart, 1.0f) && (vCompare(mEnd, 0.0f)))) - return path; - - float length = path.length(); - - if (mStart < mEnd) { - float array[4] = { - 0.0f, length * mStart, // 1st segment - (mEnd - mStart) * length, - std::numeric_limits::max(), // 2nd segment - }; - VDasher dasher(array, 4); - return dasher.dashed(path); - } else { - float array[4] = { - length * mEnd, (mStart - mEnd) * length, // 1st segment - (1 - mStart) * length, - std::numeric_limits::max(), // 2nd segment - }; - VDasher dasher(array, 4); - return dasher.dashed(path); - } -} - -V_END_NAMESPACE diff --git a/submodules/RLottie/Sources/rlottie/src/vector/vpathmesure.h b/submodules/RLottie/Sources/rlottie/src/vector/vpathmesure.h deleted file mode 100644 index de3e824052..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/vpathmesure.h +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef VPATHMESURE_H -#define VPATHMESURE_H - -#include "vpath.h" - -V_BEGIN_NAMESPACE - -class VPathMesure { -public: - void setStart(float start){mStart = start;} - void setEnd(float end){mEnd = end;} - VPath trim(const VPath &path); -private: - float mStart{0.0f}; - float mEnd{1.0f}; -}; - -V_END_NAMESPACE - -#endif // VPATHMESURE_H diff --git a/submodules/RLottie/Sources/rlottie/src/vector/vpoint.h b/submodules/RLottie/Sources/rlottie/src/vector/vpoint.h deleted file mode 100644 index 1a84cb17cb..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/vpoint.h +++ /dev/null @@ -1,207 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef VPOINT_H -#define VPOINT_H - -#include "vglobal.h" - -V_BEGIN_NAMESPACE - -class VPointF { -public: - VPointF() = default; - constexpr inline VPointF(float x, float y) noexcept : mx(x), my(y) {} - constexpr inline float x() const noexcept { return mx; } - constexpr inline float y() const noexcept { return my; } - inline float & rx() noexcept { return mx; } - inline float & ry() noexcept { return my; } - inline void setX(float x) { mx = x; } - inline void setY(float y) { my = y; } - inline VPointF operator-() noexcept { return {-mx, -my}; } - inline VPointF & operator+=(const VPointF &p) noexcept; - inline VPointF & operator-=(const VPointF &p) noexcept; - friend const VPointF operator+(const VPointF &p1, const VPointF &p2) - { - return VPointF(p1.mx + p2.mx, p1.my + p2.my); - } - inline friend bool fuzzyCompare(const VPointF &p1, const VPointF &p2); - inline friend VDebug & operator<<(VDebug &os, const VPointF &o); - - friend inline VPointF operator-(const VPointF &p1, const VPointF &p2); - friend inline const VPointF operator*(const VPointF &, float val); - friend inline const VPointF operator*(float val, const VPointF &); - friend inline const VPointF operator/(const VPointF &, float val); - friend inline const VPointF operator/(float val, const VPointF &); - -private: - float mx{0}; - float my{0}; -}; - -inline bool fuzzyCompare(const VPointF &p1, const VPointF &p2) -{ - return (vCompare(p1.mx, p2.mx) && vCompare(p1.my, p2.my)); -} - -inline VPointF operator-(const VPointF &p1, const VPointF &p2) -{ - return {p1.mx - p2.mx, p1.my - p2.my}; -} - -inline const VPointF operator*(const VPointF &p, float c) -{ - return VPointF(p.mx * c, p.my * c); -} - -inline const VPointF operator*(float c, const VPointF &p) -{ - return VPointF(p.mx * c, p.my * c); -} - -inline const VPointF operator/(const VPointF &p, float c) -{ - return VPointF(p.mx / c, p.my / c); -} - -inline const VPointF operator/(float c, const VPointF &p) -{ - return VPointF(p.mx / c, p.my / c); -} - -inline VDebug &operator<<(VDebug &os, const VPointF &o) -{ - os << "{P " << o.x() << "," << o.y() << "}"; - return os; -} - -inline VPointF &VPointF::operator+=(const VPointF &p) noexcept -{ - mx += p.mx; - my += p.my; - return *this; -} - -inline VPointF &VPointF::operator-=(const VPointF &p) noexcept -{ - mx -= p.mx; - my -= p.my; - return *this; -} - -class VPoint { -public: - VPoint() = default; - constexpr inline VPoint(int x, int y) noexcept : mx(x), my(y) {} - constexpr inline int x() const noexcept { return mx; } - constexpr inline int y() const noexcept { return my; } - inline void setX(int x) { mx = x; } - inline void setY(int y) { my = y; } - inline VPoint & operator+=(const VPoint &p) noexcept; - inline VPoint & operator-=(const VPoint &p) noexcept; - constexpr inline bool operator==(const VPoint &o) const; - constexpr inline bool operator!=(const VPoint &o) const - { - return !(operator==(o)); - } - friend inline VPoint operator-(const VPoint &p1, const VPoint &p2); - inline friend VDebug &operator<<(VDebug &os, const VPoint &o); - -private: - int mx{0}; - int my{0}; -}; -inline VDebug &operator<<(VDebug &os, const VPoint &o) -{ - os << "{P " << o.x() << "," << o.y() << "}"; - return os; -} - -inline VPoint operator-(const VPoint &p1, const VPoint &p2) -{ - return {p1.mx - p2.mx, p1.my - p2.my}; -} - -constexpr inline bool VPoint::operator==(const VPoint &o) const -{ - return (mx == o.x() && my == o.y()); -} - -inline VPoint &VPoint::operator+=(const VPoint &p) noexcept -{ - mx += p.mx; - my += p.my; - return *this; -} - -inline VPoint &VPoint::operator-=(const VPoint &p) noexcept -{ - mx -= p.mx; - my -= p.my; - return *this; -} - -class VSize { -public: - VSize() = default; - constexpr inline VSize(int w, int h) noexcept : mw(w), mh(h) {} - bool empty() const {return (mw <= 0 || mh <= 0);} - constexpr inline int width() const noexcept { return mw; } - constexpr inline int height() const noexcept { return mh; } - inline void setWidth(int w) { mw = w; } - inline void setHeight(int h) { mh = h; } - inline VSize & operator+=(const VSize &p) noexcept; - inline VSize & operator-=(const VSize &p) noexcept; - constexpr inline bool operator==(const VSize &o) const; - constexpr inline bool operator!=(const VSize &o) const - { - return !(operator==(o)); - } - inline friend VDebug &operator<<(VDebug &os, const VSize &o); - -private: - int mw{0}; - int mh{0}; -}; -inline VDebug &operator<<(VDebug &os, const VSize &o) -{ - os << "{P " << o.width() << "," << o.height() << "}"; - return os; -} -constexpr inline bool VSize::operator==(const VSize &o) const -{ - return (mw == o.width() && mh == o.height()); -} - -inline VSize &VSize::operator+=(const VSize &p) noexcept -{ - mw += p.mw; - mh += p.mh; - return *this; -} - -inline VSize &VSize::operator-=(const VSize &p) noexcept -{ - mw -= p.mw; - mh -= p.mh; - return *this; -} - -V_END_NAMESPACE - -#endif // VPOINT_H diff --git a/submodules/RLottie/Sources/rlottie/src/vector/vraster.cpp b/submodules/RLottie/Sources/rlottie/src/vector/vraster.cpp deleted file mode 100644 index fec83e83b5..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/vraster.cpp +++ /dev/null @@ -1,544 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "vraster.h" -#include -#include -#include "config.h" -#include "v_ft_raster.h" -#include "v_ft_stroker.h" -#include "vdebug.h" -#include "vmatrix.h" -#include "vpath.h" -#include "vrle.h" - -V_BEGIN_NAMESPACE - -template -class dyn_array { -public: - explicit dyn_array(size_t size) - : mCapacity(size), mData(std::make_unique(mCapacity)) - { - } - void reserve(size_t size) - { - if (mCapacity > size) return; - mCapacity = size; - mData = std::make_unique(mCapacity); - } - T * data() const { return mData.get(); } - dyn_array &operator=(dyn_array &&) noexcept = delete; - -private: - size_t mCapacity{0}; - std::unique_ptr mData{nullptr}; -}; - -struct FTOutline { -public: - void reset(); - void grow(size_t, size_t); - void convert(const VPath &path); - void convert(CapStyle, JoinStyle, float, float); - void moveTo(const VPointF &pt); - void lineTo(const VPointF &pt); - void cubicTo(const VPointF &ctr1, const VPointF &ctr2, const VPointF end); - void close(); - void end(); - void transform(const VMatrix &m); - SW_FT_Pos TO_FT_COORD(float x) - { - return SW_FT_Pos(x * 64); - } // to freetype 26.6 coordinate. - SW_FT_Outline ft; - bool closed{false}; - SW_FT_Stroker_LineCap ftCap; - SW_FT_Stroker_LineJoin ftJoin; - SW_FT_Fixed ftWidth; - SW_FT_Fixed ftMeterLimit; - dyn_array mPointMemory{100}; - dyn_array mTagMemory{100}; - dyn_array mContourMemory{10}; - dyn_array mContourFlagMemory{10}; -}; - -void FTOutline::reset() -{ - ft.n_points = ft.n_contours = 0; - ft.flags = 0x0; -} - -void FTOutline::grow(size_t points, size_t segments) -{ - reset(); - mPointMemory.reserve(points + segments); - mTagMemory.reserve(points + segments); - mContourMemory.reserve(segments); - mContourFlagMemory.reserve(segments); - - ft.points = mPointMemory.data(); - ft.tags = mTagMemory.data(); - ft.contours = mContourMemory.data(); - ft.contours_flag = mContourFlagMemory.data(); -} - -void FTOutline::convert(const VPath &path) -{ - const std::vector &elements = path.elements(); - const std::vector & points = path.points(); - - grow(points.size(), path.segments()); - - size_t index = 0; - for (auto element : elements) { - switch (element) { - case VPath::Element::MoveTo: - moveTo(points[index]); - index++; - break; - case VPath::Element::LineTo: - lineTo(points[index]); - index++; - break; - case VPath::Element::CubicTo: - cubicTo(points[index], points[index + 1], points[index + 2]); - index = index + 3; - break; - case VPath::Element::Close: - close(); - break; - } - } - end(); -} - -void FTOutline::convert(CapStyle cap, JoinStyle join, float width, - float meterLimit) -{ - // map strokeWidth to freetype. It uses as the radius of the pen not the - // diameter - width = width / 2.0f; - // convert to freetype co-ordinate - // IMP: stroker takes radius in 26.6 co-ordinate - ftWidth = SW_FT_Fixed(width * (1 << 6)); - // IMP: stroker takes meterlimit in 16.16 co-ordinate - ftMeterLimit = SW_FT_Fixed(meterLimit * (1 << 16)); - - // map to freetype capstyle - switch (cap) { - case CapStyle::Square: - ftCap = SW_FT_STROKER_LINECAP_SQUARE; - break; - case CapStyle::Round: - ftCap = SW_FT_STROKER_LINECAP_ROUND; - break; - default: - ftCap = SW_FT_STROKER_LINECAP_BUTT; - break; - } - switch (join) { - case JoinStyle::Bevel: - ftJoin = SW_FT_STROKER_LINEJOIN_BEVEL; - break; - case JoinStyle::Round: - ftJoin = SW_FT_STROKER_LINEJOIN_ROUND; - break; - default: - ftJoin = SW_FT_STROKER_LINEJOIN_MITER_FIXED; - break; - } -} - -void FTOutline::moveTo(const VPointF &pt) -{ - ft.points[ft.n_points].x = TO_FT_COORD(pt.x()); - ft.points[ft.n_points].y = TO_FT_COORD(pt.y()); - ft.tags[ft.n_points] = SW_FT_CURVE_TAG_ON; - if (ft.n_points) { - ft.contours[ft.n_contours] = ft.n_points - 1; - ft.n_contours++; - } - // mark the current contour as open - // will be updated if ther is a close tag at the end. - ft.contours_flag[ft.n_contours] = 1; - - ft.n_points++; -} - -void FTOutline::lineTo(const VPointF &pt) -{ - ft.points[ft.n_points].x = TO_FT_COORD(pt.x()); - ft.points[ft.n_points].y = TO_FT_COORD(pt.y()); - ft.tags[ft.n_points] = SW_FT_CURVE_TAG_ON; - ft.n_points++; -} - -void FTOutline::cubicTo(const VPointF &cp1, const VPointF &cp2, - const VPointF ep) -{ - ft.points[ft.n_points].x = TO_FT_COORD(cp1.x()); - ft.points[ft.n_points].y = TO_FT_COORD(cp1.y()); - ft.tags[ft.n_points] = SW_FT_CURVE_TAG_CUBIC; - ft.n_points++; - - ft.points[ft.n_points].x = TO_FT_COORD(cp2.x()); - ft.points[ft.n_points].y = TO_FT_COORD(cp2.y()); - ft.tags[ft.n_points] = SW_FT_CURVE_TAG_CUBIC; - ft.n_points++; - - ft.points[ft.n_points].x = TO_FT_COORD(ep.x()); - ft.points[ft.n_points].y = TO_FT_COORD(ep.y()); - ft.tags[ft.n_points] = SW_FT_CURVE_TAG_ON; - ft.n_points++; -} -void FTOutline::close() -{ - // mark the contour as a close path. - ft.contours_flag[ft.n_contours] = 0; - - int index; - if (ft.n_contours) { - index = ft.contours[ft.n_contours - 1] + 1; - } else { - index = 0; - } - - // make sure atleast 1 point exists in the segment. - if (ft.n_points == index) { - closed = false; - return; - } - - ft.points[ft.n_points].x = ft.points[index].x; - ft.points[ft.n_points].y = ft.points[index].y; - ft.tags[ft.n_points] = SW_FT_CURVE_TAG_ON; - ft.n_points++; -} - -void FTOutline::end() -{ - if (ft.n_points) { - ft.contours[ft.n_contours] = ft.n_points - 1; - ft.n_contours++; - } -} - -static void rleGenerationCb(int count, const SW_FT_Span *spans, void *user) -{ - VRle *rle = static_cast(user); - auto *rleSpan = reinterpret_cast(spans); - rle->addSpan(rleSpan, count); -} - -static void bboxCb(int x, int y, int w, int h, void *user) -{ - VRle *rle = static_cast(user); - rle->setBoundingRect({x, y, w, h}); -} - -class SharedRle { -public: - SharedRle() = default; - VRle &unsafe() { return _rle; } - void notify() - { - { - std::lock_guard lock(_mutex); - _ready = true; - } - _cv.notify_one(); - } - VRle &get() - { - if (!_pending) return _rle; - - std::unique_lock lock(_mutex); - while (!_ready) _cv.wait(lock); - _pending = false; - return _rle; - } - - void reset() - { - _ready = false; - _pending = true; - } - -private: - VRle _rle; - std::mutex _mutex; - std::condition_variable _cv; - bool _ready{true}; - bool _pending{false}; -}; - -struct VRleTask { - SharedRle mRle; - VPath mPath; - float mStrokeWidth; - float mMeterLimit; - VRect mClip; - FillRule mFillRule; - CapStyle mCap; - JoinStyle mJoin; - bool mGenerateStroke; - - VRle &rle() { return mRle.get(); } - - void update(VPath path, FillRule fillRule, const VRect &clip) - { - mRle.reset(); - mPath = std::move(path); - mFillRule = fillRule; - mClip = clip; - mGenerateStroke = false; - } - - void update(VPath path, CapStyle cap, JoinStyle join, float width, - float meterLimit, const VRect &clip) - { - mRle.reset(); - mPath = std::move(path); - mCap = cap; - mJoin = join; - mStrokeWidth = width; - mMeterLimit = meterLimit; - mClip = clip; - mGenerateStroke = true; - } - void render(FTOutline &outRef) - { - SW_FT_Raster_Params params; - - mRle.unsafe().reset(); - - params.flags = SW_FT_RASTER_FLAG_DIRECT | SW_FT_RASTER_FLAG_AA; - params.gray_spans = &rleGenerationCb; - params.bbox_cb = &bboxCb; - params.user = &mRle.unsafe(); - params.source = &outRef.ft; - - if (!mClip.empty()) { - params.flags |= SW_FT_RASTER_FLAG_CLIP; - - params.clip_box.xMin = mClip.left(); - params.clip_box.yMin = mClip.top(); - params.clip_box.xMax = mClip.right(); - params.clip_box.yMax = mClip.bottom(); - } - // compute rle - sw_ft_grays_raster.raster_render(nullptr, ¶ms); - } - - void update(FTOutline &outRef, SW_FT_Stroker &stroker) - { - if (mGenerateStroke) { // Stroke Task - outRef.convert(mPath); - outRef.convert(mCap, mJoin, mStrokeWidth, mMeterLimit); - - uint points, contors; - - SW_FT_Stroker_Set(stroker, outRef.ftWidth, outRef.ftCap, - outRef.ftJoin, outRef.ftMeterLimit); - SW_FT_Stroker_ParseOutline(stroker, &outRef.ft); - SW_FT_Stroker_GetCounts(stroker, &points, &contors); - - outRef.grow(points, contors); - - SW_FT_Stroker_Export(stroker, &outRef.ft); - - } else { // Fill Task - outRef.convert(mPath); - int fillRuleFlag = SW_FT_OUTLINE_NONE; - switch (mFillRule) { - case FillRule::EvenOdd: - fillRuleFlag = SW_FT_OUTLINE_EVEN_ODD_FILL; - break; - default: - fillRuleFlag = SW_FT_OUTLINE_NONE; - break; - } - outRef.ft.flags = fillRuleFlag; - } - - render(outRef); - - mPath = VPath(); - - mRle.notify(); - } -}; - -using VTask = std::shared_ptr; - -#ifdef LOTTIE_THREAD_SUPPORT - -#include -#include "vtaskqueue.h" - -class RleTaskScheduler { - const unsigned _count{std::thread::hardware_concurrency()}; - std::vector _threads; - std::vector> _q{_count}; - std::atomic _index{0}; - - void run(unsigned i) - { - /* - * initalize per thread objects. - */ - FTOutline outlineRef; - SW_FT_Stroker stroker; - SW_FT_Stroker_New(&stroker); - - // Task Loop - VTask task; - while (true) { - bool success = false; - - for (unsigned n = 0; n != _count * 32; ++n) { - if (_q[(i + n) % _count].try_pop(task)) { - success = true; - break; - } - } - - if (!success && !_q[i].pop(task)) break; - - (*task)(outlineRef, stroker); - } - - // cleanup - SW_FT_Stroker_Done(stroker); - } - - RleTaskScheduler() - { - for (unsigned n = 0; n != _count; ++n) { - _threads.emplace_back([&, n] { run(n); }); - } - } - -public: - static RleTaskScheduler &instance() - { - static RleTaskScheduler singleton; - return singleton; - } - - ~RleTaskScheduler() - { - for (auto &e : _q) e.done(); - - for (auto &e : _threads) e.join(); - } - - void process(VTask task) - { - auto i = _index++; - - for (unsigned n = 0; n != _count; ++n) { - if (_q[(i + n) % _count].try_push(std::move(task))) return; - } - - if (_count > 0) { - _q[i % _count].push(std::move(task)); - } - } -}; - -#else - -class RleTaskScheduler { -public: - FTOutline outlineRef; - SW_FT_Stroker stroker; - -public: - static RleTaskScheduler &instance() - { - static RleTaskScheduler singleton; - return singleton; - } - - RleTaskScheduler() { SW_FT_Stroker_New(&stroker); } - - ~RleTaskScheduler() { SW_FT_Stroker_Done(stroker); } - - void process(VTask task) { (*task).update(outlineRef, stroker); } -}; -#endif - -struct VRasterizer::VRasterizerImpl { - VRleTask mTask; - FTOutline outlineRef; - SW_FT_Stroker stroker; - - VRasterizerImpl() { - SW_FT_Stroker_New(&stroker); - } - - ~VRasterizerImpl() { - SW_FT_Stroker_Done(stroker); - } - - VRle & rle() { return mTask.rle(); } - VRleTask &task() { return mTask; } -}; - -VRle VRasterizer::rle() -{ - if (!d) return VRle(); - return d->rle(); -} - -void VRasterizer::init() -{ - if (!d) d = std::make_shared(); -} - -void VRasterizer::updateRequest() -{ - d->task().update(d->outlineRef, d->stroker); -} - -void VRasterizer::rasterize(VPath path, FillRule fillRule, const VRect &clip) -{ - init(); - if (path.empty()) { - d->rle().reset(); - return; - } - d->task().update(std::move(path), fillRule, clip); - updateRequest(); -} - -void VRasterizer::rasterize(VPath path, CapStyle cap, JoinStyle join, - float width, float meterLimit, const VRect &clip) -{ - init(); - if (path.empty() || vIsZero(width)) { - d->rle().reset(); - return; - } - d->task().update(std::move(path), cap, join, width, meterLimit, clip); - updateRequest(); -} - -V_END_NAMESPACE diff --git a/submodules/RLottie/Sources/rlottie/src/vector/vraster.h b/submodules/RLottie/Sources/rlottie/src/vector/vraster.h deleted file mode 100644 index 987f9ad2bf..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/vraster.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef VRASTER_H -#define VRASTER_H -#include -#include "vglobal.h" -#include "vrect.h" - -V_BEGIN_NAMESPACE - -class VPath; -class VRle; - -class VRasterizer -{ -public: - void rasterize(VPath path, FillRule fillRule = FillRule::Winding, const VRect &clip = VRect()); - void rasterize(VPath path, CapStyle cap, JoinStyle join, float width, - float meterLimit, const VRect &clip = VRect()); - VRle rle(); -private: - struct VRasterizerImpl; - void init(); - void updateRequest(); - std::shared_ptr d{nullptr}; -}; - -V_END_NAMESPACE - -#endif // VRASTER_H diff --git a/submodules/RLottie/Sources/rlottie/src/vector/vrect.cpp b/submodules/RLottie/Sources/rlottie/src/vector/vrect.cpp deleted file mode 100644 index bc5b008735..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/vrect.cpp +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "vrect.h" -#include - -VRect VRect::operator&(const VRect &r) const -{ - if (empty()) return VRect(); - - int l1 = x1; - int r1 = x1; - if (x2 - x1 + 1 < 0) - l1 = x2; - else - r1 = x2; - - int l2 = r.x1; - int r2 = r.x1; - if (r.x2 - r.x1 + 1 < 0) - l2 = r.x2; - else - r2 = r.x2; - - if (l1 > r2 || l2 > r1) return VRect(); - - int t1 = y1; - int b1 = y1; - if (y2 - y1 + 1 < 0) - t1 = y2; - else - b1 = y2; - - int t2 = r.y1; - int b2 = r.y1; - if (r.y2 - r.y1 + 1 < 0) - t2 = r.y2; - else - b2 = r.y2; - - if (t1 > b2 || t2 > b1) return VRect(); - - VRect tmp; - tmp.x1 = std::max(l1, l2); - tmp.x2 = std::min(r1, r2); - tmp.y1 = std::max(t1, t2); - tmp.y2 = std::min(b1, b2); - return tmp; -} diff --git a/submodules/RLottie/Sources/rlottie/src/vector/vrect.h b/submodules/RLottie/Sources/rlottie/src/vector/vrect.h deleted file mode 100644 index 494579bcea..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/vrect.h +++ /dev/null @@ -1,166 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef VRECT_H -#define VRECT_H -#include "vglobal.h" -#include "vpoint.h" - -V_BEGIN_NAMESPACE -class VRectF; - -class VRect { -public: - VRect() = default; - VRect(int x, int y, int w, int h):x1(x),y1(y),x2(x+w),y2(y+h){} - explicit VRect(const VRectF &r); - V_CONSTEXPR bool empty() const {return x1 >= x2 || y1 >= y2;} - V_CONSTEXPR int left() const {return x1;} - V_CONSTEXPR int top() const {return y1;} - V_CONSTEXPR int right() const {return x2;} - V_CONSTEXPR int bottom() const {return y2;} - V_CONSTEXPR int width() const {return x2-x1;} - V_CONSTEXPR int height() const {return y2-y1;} - V_CONSTEXPR int x() const {return x1;} - V_CONSTEXPR int y() const {return y1;} - VSize size() const {return {width(), height()};} - void setLeft(int l) { x1 = l; } - void setTop(int t) { y1 = t; } - void setRight(int r) { x2 = r; } - void setBottom(int b) { y2 = b; } - void setWidth(int w) { x2 = x1 + w; } - void setHeight(int h) { y2 = y1 + h; } - VRect translated(int dx, int dy) const; - void translate(int dx, int dy); - bool contains(const VRect &r, bool proper = false) const; - bool intersects(const VRect &r); - friend V_CONSTEXPR inline bool operator==(const VRect &, - const VRect &) noexcept; - friend V_CONSTEXPR inline bool operator!=(const VRect &, - const VRect &) noexcept; - friend VDebug & operator<<(VDebug &os, const VRect &o); - - VRect intersected(const VRect &r) const; - VRect operator&(const VRect &r) const; - -private: - int x1{0}; - int y1{0}; - int x2{0}; - int y2{0}; -}; - -inline VRect VRect::intersected(const VRect &r) const -{ - return *this & r; -} - -inline bool VRect::intersects(const VRect &r) -{ - return (right() > r.left() && left() < r.right() && bottom() > r.top() && - top() < r.bottom()); -} - -inline VDebug &operator<<(VDebug &os, const VRect &o) -{ - os << "{R " << o.x() << "," << o.y() << "," << o.width() << "," - << o.height() << "}"; - return os; -} -V_CONSTEXPR inline bool operator==(const VRect &r1, const VRect &r2) noexcept -{ - return r1.x1 == r2.x1 && r1.x2 == r2.x2 && r1.y1 == r2.y1 && r1.y2 == r2.y2; -} - -V_CONSTEXPR inline bool operator!=(const VRect &r1, const VRect &r2) noexcept -{ - return r1.x1 != r2.x1 || r1.x2 != r2.x2 || r1.y1 != r2.y1 || r1.y2 != r2.y2; -} - -inline VRect VRect::translated(int dx, int dy) const -{ - return {x1 + dx, y1 + dy, x2 - x1, y2 - y1}; -} - -inline void VRect::translate(int dx, int dy) -{ - x1 += dx; - y1 += dy; - x2 += dx; - y2 += dy; -} - -inline bool VRect::contains(const VRect &r, bool proper) const -{ - if (!proper) { - if ((x1 <= r.x1) && (x2 >= r.x2) && (y1 <= r.y1) && (y2 >= r.y2)) - return true; - return false; - } else { - if ((x1 < r.x1) && (x2 > r.x2) && (y1 < r.y1) && (y2 > r.y2)) - return true; - return false; - } -} - -class VRectF { -public: - VRectF() = default; - VRectF(float x, float y, float w, float h):x1(x),y1(y),x2(x+w),y2(y+h){} - explicit VRectF(const VRect &r):x1(r.left()),y1(r.top()), - x2(r.right()),y2(r.bottom()){} - - V_CONSTEXPR bool empty() const {return x1 >= x2 || y1 >= y2;} - V_CONSTEXPR float left() const {return x1;} - V_CONSTEXPR float top() const {return y1;} - V_CONSTEXPR float right() const {return x2;} - V_CONSTEXPR float bottom() const {return y2;} - V_CONSTEXPR float width() const {return x2-x1;} - V_CONSTEXPR float height() const {return y2-y1;} - V_CONSTEXPR float x() const {return x1;} - V_CONSTEXPR float y() const {return y1;} - V_CONSTEXPR inline VPointF center() const - { - return {x1 + (x2 - x1) / 2.f, y1 + (y2 - y1) / 2.f}; - } - void setLeft(float l) { x1 = l; } - void setTop(float t) { y1 = t; } - void setRight(float r) { x2 = r; } - void setBottom(float b) { y2 = b; } - void setWidth(float w) { x2 = x1 + w; } - void setHeight(float h) { y2 = y1 + h; } - void translate(float dx, float dy) - { - x1 += dx; - y1 += dy; - x2 += dx; - y2 += dy; - } - -private: - float x1{0}; - float y1{0}; - float x2{0}; - float y2{0}; -}; - -inline VRect::VRect(const VRectF &r):x1(r.left()),y1(r.top()), - x2(r.right()),y2(r.bottom()){} -V_END_NAMESPACE - -#endif // VRECT_H diff --git a/submodules/RLottie/Sources/rlottie/src/vector/vrle.cpp b/submodules/RLottie/Sources/rlottie/src/vector/vrle.cpp deleted file mode 100644 index 988ea3af48..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/vrle.cpp +++ /dev/null @@ -1,731 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "vrle.h" -#include -#include -#include -#include -#include -#include "vdebug.h" -#include "vglobal.h" -#include "vregion.h" - -V_BEGIN_NAMESPACE - -enum class Operation { Add, Xor }; - -struct VRleHelper { - size_t alloc; - size_t size; - VRle::Span *spans; -}; -static void rleIntersectWithRle(VRleHelper *, int, int, VRleHelper *, - VRleHelper *); -static void rleIntersectWithRect(const VRect &, VRleHelper *, VRleHelper *); -static void rleOpGeneric(VRleHelper *, VRleHelper *, VRleHelper *, - Operation op); -static void rleSubstractWithRle(VRleHelper *, VRleHelper *, VRleHelper *); - -static inline uchar divBy255(int x) -{ - return (x + (x >> 8) + 0x80) >> 8; -} - -inline static void copyArrayToVector(const VRle::Span *span, size_t count, - std::vector &v) -{ - // make sure enough memory available - if (v.capacity() < v.size() + count) v.reserve(v.size() + count); - std::copy(span, span + count, back_inserter(v)); -} - -void VRle::VRleData::addSpan(const VRle::Span *span, size_t count) -{ - copyArrayToVector(span, count, mSpans); - mBboxDirty = true; -} - -VRect VRle::VRleData::bbox() const -{ - updateBbox(); - return mBbox; -} - -void VRle::VRleData::setBbox(const VRect &bbox) const -{ - mBboxDirty = false; - mBbox = bbox; -} - -void VRle::VRleData::reset() -{ - mSpans.clear(); - mBbox = VRect(); - mOffset = VPoint(); - mBboxDirty = false; -} - -void VRle::VRleData::clone(const VRle::VRleData &o) -{ - *this = o; -} - -void VRle::VRleData::translate(const VPoint &p) -{ - // take care of last offset if applied - mOffset = p - mOffset; - int x = mOffset.x(); - int y = mOffset.y(); - for (auto &i : mSpans) { - i.x = i.x + x; - i.y = i.y + y; - } - updateBbox(); - mBbox.translate(mOffset.x(), mOffset.y()); -} - -void VRle::VRleData::addRect(const VRect &rect) -{ - int x = rect.left(); - int y = rect.top(); - int width = rect.width(); - int height = rect.height(); - - mSpans.reserve(size_t(height)); - - VRle::Span span; - for (int i = 0; i < height; i++) { - span.x = x; - span.y = y + i; - span.len = width; - span.coverage = 255; - mSpans.push_back(span); - } - updateBbox(); -} - -void VRle::VRleData::updateBbox() const -{ - if (!mBboxDirty) return; - - mBboxDirty = false; - - int l = std::numeric_limits::max(); - const VRle::Span *span = mSpans.data(); - - mBbox = VRect(); - size_t sz = mSpans.size(); - if (sz) { - int t = span[0].y; - int b = span[sz - 1].y; - int r = 0; - for (size_t i = 0; i < sz; i++) { - if (span[i].x < l) l = span[i].x; - if (span[i].x + span[i].len > r) r = span[i].x + span[i].len; - } - mBbox = VRect(l, t, r - l, b - t + 1); - } -} - -void VRle::VRleData::invert() -{ - for (auto &i : mSpans) { - i.coverage = 255 - i.coverage; - } -} - -void VRle::VRleData::operator*=(int alpha) -{ - alpha &= 0xff; - for (auto &i : mSpans) { - i.coverage = divBy255(i.coverage * alpha); - } -} - -void VRle::VRleData::opIntersect(const VRect &r, VRle::VRleSpanCb cb, - void *userData) const -{ - if (empty()) return; - - if (r.contains(bbox())) { - cb(mSpans.size(), mSpans.data(), userData); - return; - } - - VRect clip = r; - VRleHelper tresult, tmp_obj; - std::array array; - - // setup the tresult object - tresult.size = array.size(); - tresult.alloc = array.size(); - tresult.spans = array.data(); - - // setup tmp object - tmp_obj.size = mSpans.size(); - tmp_obj.spans = const_cast(mSpans.data()); - - // run till all the spans are processed - while (tmp_obj.size) { - rleIntersectWithRect(clip, &tmp_obj, &tresult); - if (tresult.size) { - cb(tresult.size, tresult.spans, userData); - } - tresult.size = 0; - } -} - -// res = a - b; -void VRle::VRleData::opSubstract(const VRle::VRleData &a, - const VRle::VRleData &b) -{ - // if two rle are disjoint - if (!a.bbox().intersects(b.bbox())) { - mSpans = a.mSpans; - } else { - VRle::Span * aPtr = const_cast(a.mSpans.data()); - const VRle::Span *aEnd = a.mSpans.data() + a.mSpans.size(); - VRle::Span * bPtr = const_cast(b.mSpans.data()); - const VRle::Span *bEnd = b.mSpans.data() + b.mSpans.size(); - - // 1. forward till both y intersect - while ((aPtr != aEnd) && (aPtr->y < bPtr->y)) aPtr++; - size_t sizeA = size_t(aPtr - a.mSpans.data()); - if (sizeA) copyArrayToVector(a.mSpans.data(), sizeA, mSpans); - - // 2. forward b till it intersect with a. - while ((bPtr != bEnd) && (bPtr->y < aPtr->y)) bPtr++; - size_t sizeB = size_t(bPtr - b.mSpans.data()); - - // 2. calculate the intersect region - VRleHelper tresult, aObj, bObj; - std::array array; - - // setup the tresult object - tresult.size = array.size(); - tresult.alloc = array.size(); - tresult.spans = array.data(); - - // setup a object - aObj.size = a.mSpans.size() - sizeA; - aObj.spans = aPtr; - - // setup b object - bObj.size = b.mSpans.size() - sizeB; - bObj.spans = bPtr; - - // run till all the spans are processed - while (aObj.size && bObj.size) { - rleSubstractWithRle(&aObj, &bObj, &tresult); - if (tresult.size) { - copyArrayToVector(tresult.spans, tresult.size, mSpans); - } - tresult.size = 0; - } - // 3. copy the rest of a - if (aObj.size) copyArrayToVector(aObj.spans, aObj.size, mSpans); - } - - mBboxDirty = true; -} - -void VRle::VRleData::opGeneric(const VRle::VRleData &a, const VRle::VRleData &b, - OpCode code) -{ - // This routine assumes, obj1(span_y) < obj2(span_y). - - // reserve some space for the result vector. - mSpans.reserve(a.mSpans.size() + b.mSpans.size()); - - // if two rle are disjoint - if (!a.bbox().intersects(b.bbox())) { - if (a.mSpans[0].y < b.mSpans[0].y) { - copyArrayToVector(a.mSpans.data(), a.mSpans.size(), mSpans); - copyArrayToVector(b.mSpans.data(), b.mSpans.size(), mSpans); - } else { - copyArrayToVector(b.mSpans.data(), b.mSpans.size(), mSpans); - copyArrayToVector(a.mSpans.data(), a.mSpans.size(), mSpans); - } - } else { - VRle::Span * aPtr = const_cast(a.mSpans.data()); - const VRle::Span *aEnd = a.mSpans.data() + a.mSpans.size(); - VRle::Span * bPtr = const_cast(b.mSpans.data()); - const VRle::Span *bEnd = b.mSpans.data() + b.mSpans.size(); - - // 1. forward a till it intersects with b - while ((aPtr != aEnd) && (aPtr->y < bPtr->y)) aPtr++; - size_t sizeA = size_t(aPtr - a.mSpans.data()); - if (sizeA) copyArrayToVector(a.mSpans.data(), sizeA, mSpans); - - // 2. forward b till it intersects with a - while ((bPtr != bEnd) && (bPtr->y < aPtr->y)) bPtr++; - size_t sizeB = size_t(bPtr - b.mSpans.data()); - if (sizeB) copyArrayToVector(b.mSpans.data(), sizeB, mSpans); - - // 3. calculate the intersect region - VRleHelper tresult, aObj, bObj; - std::array array; - - // setup the tresult object - tresult.size = array.size(); - tresult.alloc = array.size(); - tresult.spans = array.data(); - - // setup a object - aObj.size = a.mSpans.size() - sizeA; - aObj.spans = aPtr; - - // setup b object - bObj.size = b.mSpans.size() - sizeB; - bObj.spans = bPtr; - - Operation op = Operation::Add; - switch (code) { - case OpCode::Add: - op = Operation::Add; - break; - case OpCode::Xor: - op = Operation::Xor; - break; - } - // run till all the spans are processed - while (aObj.size && bObj.size) { - rleOpGeneric(&aObj, &bObj, &tresult, op); - if (tresult.size) { - copyArrayToVector(tresult.spans, tresult.size, mSpans); - } - tresult.size = 0; - } - // 3. copy the rest - if (bObj.size) copyArrayToVector(bObj.spans, bObj.size, mSpans); - if (aObj.size) copyArrayToVector(aObj.spans, aObj.size, mSpans); - } - - // update result bounding box - VRegion reg(a.bbox()); - reg += b.bbox(); - mBbox = reg.boundingRect(); - mBboxDirty = false; -} - -static void rle_cb(size_t count, const VRle::Span *spans, void *userData) -{ - auto vector = static_cast *>(userData); - copyArrayToVector(spans, count, *vector); -} - -void opIntersectHelper(const VRle::VRleData &obj1, const VRle::VRleData &obj2, - VRle::VRleSpanCb cb, void *userData) -{ - VRleHelper result, source, clip; - std::array array; - - // setup the tresult object - result.size = array.size(); - result.alloc = array.size(); - result.spans = array.data(); - - // setup tmp object - source.size = obj1.mSpans.size(); - source.spans = const_cast(obj1.mSpans.data()); - - // setup tmp clip object - clip.size = obj2.mSpans.size(); - clip.spans = const_cast(obj2.mSpans.data()); - - // run till all the spans are processed - while (source.size) { - rleIntersectWithRle(&clip, 0, 0, &source, &result); - if (result.size) { - cb(result.size, result.spans, userData); - } - result.size = 0; - } -} - -void VRle::VRleData::opIntersect(const VRle::VRleData &obj1, - const VRle::VRleData &obj2) -{ - opIntersectHelper(obj1, obj2, rle_cb, &mSpans); - updateBbox(); -} - -#define VMIN(a, b) ((a) < (b) ? (a) : (b)) -#define VMAX(a, b) ((a) > (b) ? (a) : (b)) - -/* - * This function will clip a rle list with another rle object - * tmp_clip : The rle list that will be use to clip the rle - * tmp_obj : holds the list of spans that has to be clipped - * result : will hold the result after the processing - * NOTE: if the algorithm runs out of the result buffer list - * it will stop and update the tmp_obj with the span list - * that are yet to be processed as well as the tpm_clip object - * with the unprocessed clip spans. - */ -static void rleIntersectWithRle(VRleHelper *tmp_clip, int clip_offset_x, - int clip_offset_y, VRleHelper *tmp_obj, - VRleHelper *result) -{ - VRle::Span *out = result->spans; - int available = result->alloc; - VRle::Span *spans = tmp_obj->spans; - VRle::Span *end = tmp_obj->spans + tmp_obj->size; - VRle::Span *clipSpans = tmp_clip->spans; - VRle::Span *clipEnd = tmp_clip->spans + tmp_clip->size; - int sx1, sx2, cx1, cx2, x, len; - - while (available && spans < end) { - if (clipSpans >= clipEnd) { - spans = end; - break; - } - if ((clipSpans->y + clip_offset_y) > spans->y) { - ++spans; - continue; - } - if (spans->y != (clipSpans->y + clip_offset_y)) { - ++clipSpans; - continue; - } - // assert(spans->y == (clipSpans->y + clip_offset_y)); - sx1 = spans->x; - sx2 = sx1 + spans->len; - cx1 = (clipSpans->x + clip_offset_x); - cx2 = cx1 + clipSpans->len; - - if (cx1 < sx1 && cx2 < sx1) { - ++clipSpans; - continue; - } else if (sx1 < cx1 && sx2 < cx1) { - ++spans; - continue; - } - x = std::max(sx1, cx1); - len = std::min(sx2, cx2) - x; - if (len) { - out->x = std::max(sx1, cx1); - out->len = (std::min(sx2, cx2) - out->x); - out->y = spans->y; - out->coverage = divBy255(spans->coverage * clipSpans->coverage); - ++out; - --available; - } - if (sx2 < cx2) { - ++spans; - } else { - ++clipSpans; - } - } - - // update the span list that yet to be processed - tmp_obj->spans = spans; - tmp_obj->size = end - spans; - - // update the clip list that yet to be processed - tmp_clip->spans = clipSpans; - tmp_clip->size = clipEnd - clipSpans; - - // update the result - result->size = result->alloc - available; -} - -/* - * This function will clip a rle list with a given rect - * clip : The clip rect that will be use to clip the rle - * tmp_obj : holds the list of spans that has to be clipped - * result : will hold the result after the processing - * NOTE: if the algorithm runs out of the result buffer list - * it will stop and update the tmp_obj with the span list - * that are yet to be processed - */ -static void rleIntersectWithRect(const VRect &clip, VRleHelper *tmp_obj, - VRleHelper *result) -{ - VRle::Span *out = result->spans; - int available = result->alloc; - VRle::Span *spans = tmp_obj->spans; - VRle::Span *end = tmp_obj->spans + tmp_obj->size; - short minx, miny, maxx, maxy; - - minx = clip.left(); - miny = clip.top(); - maxx = clip.right() - 1; - maxy = clip.bottom() - 1; - - while (available && spans < end) { - if (spans->y > maxy) { - spans = end; // update spans so that we can breakout - break; - } - if (spans->y < miny || spans->x > maxx || - spans->x + spans->len <= minx) { - ++spans; - continue; - } - if (spans->x < minx) { - out->len = VMIN(spans->len - (minx - spans->x), maxx - minx + 1); - out->x = minx; - } else { - out->x = spans->x; - out->len = VMIN(spans->len, (maxx - spans->x + 1)); - } - if (out->len != 0) { - out->y = spans->y; - out->coverage = spans->coverage; - ++out; - --available; - } - ++spans; - } - - // update the span list that yet to be processed - tmp_obj->spans = spans; - tmp_obj->size = end - spans; - - // update the result - result->size = result->alloc - available; -} - -void blitXor(VRle::Span *spans, int count, uchar *buffer, int offsetX) -{ - while (count--) { - int x = spans->x + offsetX; - int l = spans->len; - uchar *ptr = buffer + x; - while (l--) { - int da = *ptr; - *ptr = divBy255((255 - spans->coverage) * (da) + - spans->coverage * (255 - da)); - ptr++; - } - spans++; - } -} - -void blitDestinationOut(VRle::Span *spans, int count, uchar *buffer, - int offsetX) -{ - while (count--) { - int x = spans->x + offsetX; - int l = spans->len; - uchar *ptr = buffer + x; - while (l--) { - *ptr = divBy255((255 - spans->coverage) * (*ptr)); - ptr++; - } - spans++; - } -} - -void blitSrcOver(VRle::Span *spans, int count, uchar *buffer, int offsetX) -{ - while (count--) { - int x = spans->x + offsetX; - int l = spans->len; - uchar *ptr = buffer + x; - while (l--) { - *ptr = spans->coverage + divBy255((255 - spans->coverage) * (*ptr)); - ptr++; - } - spans++; - } -} - -void blit(VRle::Span *spans, int count, uchar *buffer, int offsetX) -{ - while (count--) { - int x = spans->x + offsetX; - int l = spans->len; - uchar *ptr = buffer + x; - while (l--) { - *ptr = std::max(spans->coverage, *ptr); - ptr++; - } - spans++; - } -} - -size_t bufferToRle(uchar *buffer, int size, int offsetX, int y, VRle::Span *out) -{ - size_t count = 0; - uchar value = buffer[0]; - int curIndex = 0; - - size = offsetX < 0 ? size + offsetX : size; - for (int i = 0; i < size; i++) { - uchar curValue = buffer[0]; - if (value != curValue) { - if (value) { - out->y = y; - out->x = offsetX + curIndex; - out->len = i - curIndex; - out->coverage = value; - out++; - count++; - } - curIndex = i; - value = curValue; - } - buffer++; - } - if (value) { - out->y = y; - out->x = offsetX + curIndex; - out->len = size - curIndex; - out->coverage = value; - count++; - } - return count; -} - -static void rleOpGeneric(VRleHelper *a, VRleHelper *b, VRleHelper *result, - Operation op) -{ - std::array temp; - VRle::Span * out = result->spans; - size_t available = result->alloc; - VRle::Span * aPtr = a->spans; - VRle::Span * aEnd = a->spans + a->size; - VRle::Span * bPtr = b->spans; - VRle::Span * bEnd = b->spans + b->size; - - while (available && aPtr < aEnd && bPtr < bEnd) { - if (aPtr->y < bPtr->y) { - *out++ = *aPtr++; - available--; - } else if (bPtr->y < aPtr->y) { - *out++ = *bPtr++; - available--; - } else { // same y - VRle::Span *aStart = aPtr; - VRle::Span *bStart = bPtr; - - int y = aPtr->y; - - while (aPtr < aEnd && aPtr->y == y) aPtr++; - while (bPtr < bEnd && bPtr->y == y) bPtr++; - - int aLength = (aPtr - 1)->x + (aPtr - 1)->len; - int bLength = (bPtr - 1)->x + (bPtr - 1)->len; - int offset = std::min(aStart->x, bStart->x); - - std::array array = {{0}}; - blit(aStart, (aPtr - aStart), array.data(), -offset); - if (op == Operation::Add) - blitSrcOver(bStart, (bPtr - bStart), array.data(), -offset); - else if (op == Operation::Xor) - blitXor(bStart, (bPtr - bStart), array.data(), -offset); - VRle::Span *tResult = temp.data(); - size_t size = bufferToRle(array.data(), std::max(aLength, bLength), - offset, y, tResult); - if (available >= size) { - while (size--) { - *out++ = *tResult++; - available--; - } - } else { - aPtr = aStart; - bPtr = bStart; - break; - } - } - } - // update the span list that yet to be processed - a->spans = aPtr; - a->size = aEnd - aPtr; - - // update the clip list that yet to be processed - b->spans = bPtr; - b->size = bEnd - bPtr; - - // update the result - result->size = result->alloc - available; -} - -static void rleSubstractWithRle(VRleHelper *a, VRleHelper *b, - VRleHelper *result) -{ - std::array temp; - VRle::Span * out = result->spans; - size_t available = result->alloc; - VRle::Span * aPtr = a->spans; - VRle::Span * aEnd = a->spans + a->size; - VRle::Span * bPtr = b->spans; - VRle::Span * bEnd = b->spans + b->size; - - while (available && aPtr < aEnd && bPtr < bEnd) { - if (aPtr->y < bPtr->y) { - *out++ = *aPtr++; - available--; - } else if (bPtr->y < aPtr->y) { - bPtr++; - } else { // same y - VRle::Span *aStart = aPtr; - VRle::Span *bStart = bPtr; - - int y = aPtr->y; - - while (aPtr < aEnd && aPtr->y == y) aPtr++; - while (bPtr < bEnd && bPtr->y == y) bPtr++; - - int aLength = (aPtr - 1)->x + (aPtr - 1)->len; - int bLength = (bPtr - 1)->x + (bPtr - 1)->len; - int offset = std::min(aStart->x, bStart->x); - - std::array array = {{0}}; - blit(aStart, (aPtr - aStart), array.data(), -offset); - blitDestinationOut(bStart, (bPtr - bStart), array.data(), -offset); - VRle::Span *tResult = temp.data(); - size_t size = bufferToRle(array.data(), std::max(aLength, bLength), - offset, y, tResult); - if (available >= size) { - while (size--) { - *out++ = *tResult++; - available--; - } - } else { - aPtr = aStart; - bPtr = bStart; - break; - } - } - } - // update the span list that yet to be processed - a->spans = aPtr; - a->size = size_t(aEnd - aPtr); - - // update the clip list that yet to be processed - b->spans = bPtr; - b->size = size_t(bEnd - bPtr); - - // update the result - result->size = result->alloc - available; -} - -VRle VRle::toRle(const VRect &rect) -{ - if (rect.empty()) return VRle(); - - VRle result; - result.d.write().addRect(rect); - return result; -} - -V_END_NAMESPACE diff --git a/submodules/RLottie/Sources/rlottie/src/vector/vrle.h b/submodules/RLottie/Sources/rlottie/src/vector/vrle.h deleted file mode 100644 index b8d97db3c7..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/vrle.h +++ /dev/null @@ -1,198 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef VRLE_H -#define VRLE_H - -#include -#include "vcowptr.h" -#include "vglobal.h" -#include "vpoint.h" -#include "vrect.h" - -V_BEGIN_NAMESPACE - -class VRle { -public: - struct Span { - short x; - short y; - ushort len; - uchar coverage; - }; - typedef void (*VRleSpanCb)(size_t count, const VRle::Span *spans, - void *userData); - bool empty() const; - VRect boundingRect() const; - void setBoundingRect(const VRect &bbox); - void addSpan(const VRle::Span *span, size_t count); - - void reset(); - void translate(const VPoint &p); - void invert(); - - void operator*=(int alpha); - - void intersect(const VRect &r, VRleSpanCb cb, void *userData) const; - void intersect(const VRle &rle, VRleSpanCb cb, void *userData) const; - - VRle operator&(const VRle &o) const; - VRle operator-(const VRle &o) const; - VRle operator+(const VRle &o) const; - VRle operator^(const VRle &o) const; - - static VRle toRle(const VRect &rect); - - bool unique() const {return d.unique();} - int refCount() const { return d.refCount();} - void clone(const VRle &o); - -private: - struct VRleData { - enum class OpCode { - Add, - Xor - }; - bool empty() const { return mSpans.empty(); } - void addSpan(const VRle::Span *span, size_t count); - void updateBbox() const; - VRect bbox() const; - void setBbox(const VRect &bbox) const; - void reset(); - void translate(const VPoint &p); - void operator*=(int alpha); - void invert(); - void opIntersect(const VRect &, VRle::VRleSpanCb, void *) const; - void opGeneric(const VRle::VRleData &, const VRle::VRleData &, OpCode code); - void opSubstract(const VRle::VRleData &, const VRle::VRleData &); - void opIntersect(const VRle::VRleData &, const VRle::VRleData &); - void addRect(const VRect &rect); - void clone(const VRle::VRleData &); - std::vector mSpans; - VPoint mOffset; - mutable VRect mBbox; - mutable bool mBboxDirty = true; - }; - friend void opIntersectHelper(const VRle::VRleData &obj1, - const VRle::VRleData &obj2, - VRle::VRleSpanCb cb, void *userData); - vcow_ptr d; -}; - -inline bool VRle::empty() const -{ - return d->empty(); -} - -inline void VRle::addSpan(const VRle::Span *span, size_t count) -{ - d.write().addSpan(span, count); -} - -inline VRect VRle::boundingRect() const -{ - return d->bbox(); -} - -inline void VRle::setBoundingRect(const VRect & bbox) -{ - d->setBbox(bbox); -} - -inline void VRle::invert() -{ - d.write().invert(); -} - -inline void VRle::operator*=(int alpha) -{ - d.write() *= alpha; -} - -inline VRle VRle::operator&(const VRle &o) const -{ - if (empty() || o.empty()) return VRle(); - - VRle result; - result.d.write().opIntersect(d.read(), o.d.read()); - - return result; -} - -inline VRle VRle::operator+(const VRle &o) const -{ - if (empty()) return o; - if (o.empty()) return *this; - - VRle result; - result.d.write().opGeneric(d.read(), o.d.read(), VRleData::OpCode::Add); - - return result; -} - -inline VRle VRle::operator^(const VRle &o) const -{ - if (empty()) return o; - if (o.empty()) return *this; - - VRle result; - result.d.write().opGeneric(d.read(), o.d.read(), VRleData::OpCode::Xor); - - return result; -} - -inline VRle VRle::operator-(const VRle &o) const -{ - if (empty()) return VRle(); - if (o.empty()) return *this; - - VRle result; - result.d.write().opSubstract(d.read(), o.d.read()); - - return result; -} - -inline void VRle::reset() -{ - d.write().reset(); -} - -inline void VRle::clone(const VRle &o) -{ - d.write().clone(o.d.read()); -} - -inline void VRle::translate(const VPoint &p) -{ - d.write().translate(p); -} - -inline void VRle::intersect(const VRect &r, VRleSpanCb cb, void *userData) const -{ - d->opIntersect(r, cb, userData); -} - -inline void VRle::intersect(const VRle &r, VRleSpanCb cb, void *userData) const -{ - if (empty() || r.empty()) return; - opIntersectHelper(d.read(), r.d.read(), cb, userData); -} - -V_END_NAMESPACE - -#endif // VRLE_H diff --git a/submodules/RLottie/Sources/rlottie/src/vector/vstackallocator.h b/submodules/RLottie/Sources/rlottie/src/vector/vstackallocator.h deleted file mode 100644 index 5989133978..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/vstackallocator.h +++ /dev/null @@ -1,152 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef VSTACK_ALLOCATOR_H -#define VSTACK_ALLOCATOR_H - -#include -#include - -template -class arena -{ - alignas(alignment) char buf_[N]; - char* ptr_; - -public: - ~arena() {ptr_ = nullptr;} - arena() noexcept : ptr_(buf_) {} - arena(const arena&) = delete; - arena& operator=(const arena&) = delete; - - template char* allocate(std::size_t n); - void deallocate(char* p, std::size_t n) noexcept; - - static constexpr std::size_t size() noexcept {return N;} - std::size_t used() const noexcept {return static_cast(ptr_ - buf_);} - void reset() noexcept {ptr_ = buf_;} - -private: - static - std::size_t - align_up(std::size_t n) noexcept - {return (n + (alignment-1)) & ~(alignment-1);} - - bool - pointer_in_buffer(char* p) noexcept - {return buf_ <= p && p <= buf_ + N;} -}; - -template -template -char* -arena::allocate(std::size_t n) -{ - static_assert(ReqAlign <= alignment, "alignment is too small for this arena"); - assert(pointer_in_buffer(ptr_) && "stack_alloc has outlived arena"); - auto const aligned_n = align_up(n); - if (static_cast(buf_ + N - ptr_) >= aligned_n) - { - char* r = ptr_; - ptr_ += aligned_n; - return r; - } - - static_assert(alignment <= alignof(std::max_align_t), "you've chosen an " - "alignment that is larger than alignof(std::max_align_t), and " - "cannot be guaranteed by normal operator new"); - return static_cast(::operator new(n)); -} - -template -void -arena::deallocate(char* p, std::size_t n) noexcept -{ - assert(pointer_in_buffer(ptr_) && "stack_alloc has outlived arena"); - if (pointer_in_buffer(p)) - { - n = align_up(n); - if (p + n == ptr_) - ptr_ = p; - } - else - ::operator delete(p); -} - -template -class stack_alloc -{ -public: - using value_type = T; - static auto constexpr alignment = Align; - static auto constexpr size = N; - using arena_type = arena; - -private: - arena_type& a_; - -public: - stack_alloc(const stack_alloc&) = default; - stack_alloc& operator=(const stack_alloc&) = delete; - - stack_alloc(arena_type& a) noexcept : a_(a) - { - static_assert(size % alignment == 0, - "size N needs to be a multiple of alignment Align"); - } - template - stack_alloc(const stack_alloc& a) noexcept - : a_(a.a_) {} - - template struct rebind {using other = stack_alloc<_Up, N, alignment>;}; - - T* allocate(std::size_t n) - { - return reinterpret_cast(a_.template allocate(n*sizeof(T))); - } - void deallocate(T* p, std::size_t n) noexcept - { - a_.deallocate(reinterpret_cast(p), n*sizeof(T)); - } - - template - friend - bool - operator==(const stack_alloc& x, const stack_alloc& y) noexcept; - - template friend class stack_alloc; -}; - -template -inline -bool -operator==(const stack_alloc& x, const stack_alloc& y) noexcept -{ - return N == M && A1 == A2 && &x.a_ == &y.a_; -} - -template -inline -bool -operator!=(const stack_alloc& x, const stack_alloc& y) noexcept -{ - return !(x == y); -} - -#endif // VSTACK_ALLOCATOR_H diff --git a/submodules/RLottie/Sources/rlottie/src/vector/vtaskqueue.h b/submodules/RLottie/Sources/rlottie/src/vector/vtaskqueue.h deleted file mode 100644 index 62c04360dc..0000000000 --- a/submodules/RLottie/Sources/rlottie/src/vector/vtaskqueue.h +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef VTASKQUEUE_H -#define VTASKQUEUE_H - -#include - -template -class TaskQueue { - using lock_t = std::unique_lock; - std::deque _q; - bool _done{false}; - std::mutex _mutex; - std::condition_variable _ready; - -public: - bool try_pop(Task &task) - { - lock_t lock{_mutex, std::try_to_lock}; - if (!lock || _q.empty()) return false; - task = std::move(_q.front()); - _q.pop_front(); - return true; - } - - bool try_push(Task &&task) - { - { - lock_t lock{_mutex, std::try_to_lock}; - if (!lock) return false; - _q.push_back(std::move(task)); - } - _ready.notify_one(); - return true; - } - - void done() - { - { - lock_t lock{_mutex}; - _done = true; - } - _ready.notify_all(); - } - - bool pop(Task &task) - { - lock_t lock{_mutex}; - while (_q.empty() && !_done) _ready.wait(lock); - if (_q.empty()) return false; - task = std::move(_q.front()); - _q.pop_front(); - return true; - } - - void push(Task &&task) - { - { - lock_t lock{_mutex}; - _q.push_back(std::move(task)); - } - _ready.notify_one(); - } - -}; - -#endif // VTASKQUEUE_H diff --git a/submodules/RLottie/Sources/rlottie/test/meson.build b/submodules/RLottie/Sources/rlottie/test/meson.build deleted file mode 100644 index 312e53e1d0..0000000000 --- a/submodules/RLottie/Sources/rlottie/test/meson.build +++ /dev/null @@ -1,25 +0,0 @@ - -vector_test_sources = files('testsuite.cpp') -vector_test_sources += files('test_vpath.cpp') - -gtest_dep = dependency('gtest') - -vector_testsuite = executable('vectorTestSuite', - vector_test_sources, - include_directories : inc, - dependencies : [gtest_dep, library_deps]) - -test('Vector Testsuite', vector_testsuite) - - -animation_test_sources = files('testsuite.cpp') -animation_test_sources += files('test_lottieanimation.cpp') -animation_test_sources += files('test_lottieanimation_capi.cpp') - -animation_testsuite = executable('animationTestSuite', - animation_test_sources, - include_directories : inc, - link_with : rlottie_lib, - dependencies : gtest_dep) - -test('Animation Testsuite', animation_testsuite) diff --git a/submodules/RLottie/Sources/rlottie/test/test_lottieanimation.cpp b/submodules/RLottie/Sources/rlottie/test/test_lottieanimation.cpp deleted file mode 100644 index 6647946a60..0000000000 --- a/submodules/RLottie/Sources/rlottie/test/test_lottieanimation.cpp +++ /dev/null @@ -1,34 +0,0 @@ -#include -#include "rlottie.h" - -class AnimationTest : public ::testing::Test { -public: - void SetUp() - { - animationInvalid = rlottie::Animation::loadFromFile("wrong_file.json"); - std::string filePath = DEMO_DIR; - filePath +="mask.json"; - animation = rlottie::Animation::loadFromFile(filePath); - - } - void TearDown() - { - - } -public: - std::unique_ptr animationInvalid; - std::unique_ptr animation; -}; - -TEST_F(AnimationTest, loadFromFile_N) { - ASSERT_FALSE(animationInvalid); -} - -TEST_F(AnimationTest, loadFromFile) { - ASSERT_TRUE(animation != nullptr); - ASSERT_EQ(animation->totalFrame(), 30); - size_t width, height; - animation->size(width, height); - ASSERT_EQ(width, 500); - ASSERT_EQ(height, 500); -} diff --git a/submodules/RLottie/Sources/rlottie/test/test_lottieanimation_capi.cpp b/submodules/RLottie/Sources/rlottie/test/test_lottieanimation_capi.cpp deleted file mode 100644 index ac058e011f..0000000000 --- a/submodules/RLottie/Sources/rlottie/test/test_lottieanimation_capi.cpp +++ /dev/null @@ -1,34 +0,0 @@ -#include -#include "lottieanimation_capi.h" - -class AnimationCApiTest : public ::testing::Test { -public: - void SetUp() - { - animationInvalid = lottie_animation_from_file("wrong_file.json"); - std::string filePath = DEMO_DIR; - filePath +="mask.json"; - animation = lottie_animation_from_file(filePath.c_str()); - - } - void TearDown() - { - if (animation) lottie_animation_destroy(animation); - } -public: - Lottie_Animation *animationInvalid; - Lottie_Animation *animation; -}; - -TEST_F(AnimationCApiTest, loadFromFile_N) { - ASSERT_FALSE(animationInvalid); -} - -TEST_F(AnimationCApiTest, loadFromFile) { - ASSERT_TRUE(animation); - ASSERT_EQ(lottie_animation_get_totalframe(animation), 30); - size_t width, height; - lottie_animation_get_size(animation, &width, &height); - ASSERT_EQ(width, 500); - ASSERT_EQ(height, 500); -} diff --git a/submodules/RLottie/Sources/rlottie/test/test_vpath.cpp b/submodules/RLottie/Sources/rlottie/test/test_vpath.cpp deleted file mode 100644 index 01e2d3c106..0000000000 --- a/submodules/RLottie/Sources/rlottie/test/test_vpath.cpp +++ /dev/null @@ -1,190 +0,0 @@ -#include -#include "vpath.h" - -class VPathTest : public ::testing::Test { -public: - void SetUp() - { - pathRect.addRect({-10, -20, 100, 100}); - pathRoundRect.addRoundRect({0, 0, 100, 100}, 5, 5); - pathRoundRectZeroCorner.addRoundRect({0, 0, 100, 100}, 0, 0); - pathRoundRectHalfCircle.addRoundRect({0, 0, 100, 100}, 60, 60); - pathOval.addOval({0,0,100,50}); - pathOvalCircle.addOval({0,0,100,100}); - pathCircle.addCircle(0, 0, 100); - pathCircleZeroRadius.addCircle(10, 10, 0); - pathPolygon.addPolygon(10, 50, 5, 0, 0, 0); - pathPolystar.addPolystar(10, 50, 100, 7, 14, 0, 0, 0); - pathPolygonZero.addPolygon(10, 50, 0, 0, 0, 0); - pathPolystarZero.addPolystar(10, 50, 100, 0, 0, 0, 0, 0); - } - void TearDown() - { - - } -public: - VPath pathEmpty; - VPath pathRect; - VPath pathRoundRect; - VPath pathRoundRectZeroCorner; - VPath pathRoundRectHalfCircle; - VPath pathOval; - VPath pathOvalCircle; - VPath pathCircle; - VPath pathCircleZeroRadius; - VPath pathPolygon; - VPath pathPolystar; - VPath pathPolygonZero; - VPath pathPolystarZero; -}; - -TEST_F(VPathTest, emptyPath) { - ASSERT_EQ(sizeof(pathEmpty), sizeof(void *)); - ASSERT_TRUE(pathEmpty.empty()); - ASSERT_FALSE(pathEmpty.segments()); - ASSERT_EQ(pathEmpty.segments() , 0); - ASSERT_EQ(pathEmpty.elements().size() , 0); - ASSERT_EQ(pathEmpty.elements().capacity() , pathEmpty.elements().size()); - ASSERT_EQ(pathEmpty.points().size() , 0); - ASSERT_EQ(pathEmpty.points().capacity() , pathEmpty.points().size()); -} - -TEST_F(VPathTest, reset) { - pathRect.reset(); - ASSERT_TRUE(pathRect.empty()); - ASSERT_EQ(pathRect.segments() , 0); - ASSERT_GE(pathRect.points().capacity(), 1); - ASSERT_GE(pathRect.elements().capacity(), 1); -} - -TEST_F(VPathTest, reserve) { - pathEmpty.reserve(10, 10); - ASSERT_EQ(pathEmpty.points().capacity(), 10); - ASSERT_GE(pathEmpty.elements().capacity(), 10); - ASSERT_EQ(pathEmpty.segments() , 0); - ASSERT_EQ(pathEmpty.points().size(), 0); - ASSERT_GE(pathEmpty.elements().size(), 0); -} - -TEST_F(VPathTest, clone) { - VPath pathClone; - pathClone.clone(pathOval); - ASSERT_TRUE(pathClone.unique()); - ASSERT_EQ(pathClone.segments(), pathOval.segments()); - ASSERT_EQ(pathClone.points().size(), pathOval.points().size()); - ASSERT_NE(pathClone.points().data(), pathOval.points().data()); - ASSERT_EQ(pathClone.elements().size(), pathOval.elements().size()); - ASSERT_NE(pathClone.elements().data(), pathOval.elements().data()); -} - -TEST_F(VPathTest, copyOnWrite) { - VPath pathCopy; - pathCopy = pathOval; - ASSERT_EQ(pathCopy.segments(), pathOval.segments()); - ASSERT_EQ(pathCopy.points().size(), pathOval.points().size()); - ASSERT_EQ(pathCopy.points().data(), pathOval.points().data()); - ASSERT_EQ(pathCopy.elements().size(), pathOval.elements().size()); - ASSERT_EQ(pathCopy.elements().data(), pathOval.elements().data()); -} - -TEST_F(VPathTest, addRect) { - ASSERT_FALSE(pathRect.empty()); - ASSERT_EQ(pathRect.segments() , 1); - ASSERT_EQ(pathRect.elements().capacity() , pathRect.elements().size()); - ASSERT_EQ(pathRect.points().capacity() , pathRect.points().size()); -} - -TEST_F(VPathTest, addRect_N) { - pathEmpty.addRect({}); - ASSERT_TRUE(pathEmpty.empty()); - ASSERT_EQ(pathEmpty.segments() , 0); -} - -TEST_F(VPathTest, addRoundRect) { - ASSERT_FALSE(pathRoundRect.empty()); - ASSERT_EQ(pathRoundRect.segments() , 1); - ASSERT_EQ(pathRoundRect.elements().capacity() , pathRoundRect.elements().size()); - ASSERT_EQ(pathRoundRect.points().capacity() , pathRoundRect.points().size()); -} - -TEST_F(VPathTest, addRoundRectZeoCorner) { - ASSERT_FALSE(pathRoundRectZeroCorner.empty()); - ASSERT_EQ(pathRoundRectZeroCorner.segments() , 1); - ASSERT_EQ(pathRoundRectZeroCorner.elements().size() , pathRect.elements().size()); - ASSERT_EQ(pathRoundRectZeroCorner.elements().capacity() , pathRoundRectZeroCorner.elements().size()); - ASSERT_EQ(pathRoundRectZeroCorner.points().size() , pathRect.points().size()); - ASSERT_EQ(pathRoundRectZeroCorner.points().capacity() , pathRoundRectZeroCorner.points().size()); -} - -TEST_F(VPathTest, addRoundRectHalfCircle) { - ASSERT_FALSE(pathRoundRectHalfCircle.empty()); - ASSERT_EQ(pathRoundRectHalfCircle.segments() , 1); - ASSERT_EQ(pathRoundRectHalfCircle.elements().capacity() , pathRoundRectHalfCircle.elements().size()); - ASSERT_EQ(pathRoundRectHalfCircle.points().capacity() , pathRoundRectHalfCircle.points().size()); -} - -TEST_F(VPathTest, addOval) { - ASSERT_FALSE(pathOval.empty()); - ASSERT_EQ(pathOval.segments() , 1); - ASSERT_EQ(pathOval.elements().capacity() , pathOval.elements().size()); - ASSERT_EQ(pathOval.points().capacity() , pathOval.points().size()); -} - -TEST_F(VPathTest, addOvalCircle) { - ASSERT_FALSE(pathOvalCircle.empty()); - ASSERT_EQ(pathOvalCircle.segments() , 1); - ASSERT_EQ(pathOvalCircle.elements().size() , pathOval.elements().size()); - ASSERT_EQ(pathOvalCircle.elements().capacity() , pathOvalCircle.elements().size()); - ASSERT_EQ(pathOvalCircle.points().size() , pathOval.points().size()); - ASSERT_EQ(pathOvalCircle.points().capacity() , pathOvalCircle.points().size()); -} - -TEST_F(VPathTest, addCircle) { - ASSERT_FALSE(pathCircle.empty()); - ASSERT_EQ(pathCircle.segments() , 1); - ASSERT_EQ(pathCircle.elements().size() , pathOval.elements().size()); - ASSERT_EQ(pathCircle.elements().capacity() , pathCircle.elements().size()); - ASSERT_EQ(pathCircle.points().size() , pathOval.points().size()); - ASSERT_EQ(pathCircle.points().capacity() , pathCircle.points().size()); -} - -TEST_F(VPathTest, addCircleZeroRadius) { - ASSERT_TRUE(pathCircleZeroRadius.empty()); - ASSERT_EQ(pathCircleZeroRadius.segments() , 0); -} - -TEST_F(VPathTest, length) { - ASSERT_EQ(pathRect.length(), 400); -} - -TEST_F(VPathTest, lengthEmptyPath) { - ASSERT_EQ(pathEmpty.length(), 0); -} - -TEST_F(VPathTest, addPolygon) { - ASSERT_FALSE(pathPolygon.empty()); - ASSERT_EQ(pathPolygon.segments() , 1); - ASSERT_EQ(pathPolygon.elements().size() , pathPolygon.elements().capacity()); - ASSERT_EQ(pathPolygon.points().size() , pathPolygon.points().capacity()); -} - -TEST_F(VPathTest, addPolygonZeroRoundness) { - ASSERT_FALSE(pathPolygonZero.empty()); - ASSERT_EQ(pathPolygonZero.segments() , 1); - ASSERT_EQ(pathPolygonZero.elements().size() , pathPolygonZero.elements().capacity()); - ASSERT_EQ(pathPolygonZero.points().size() , pathPolygonZero.points().capacity()); -} - -TEST_F(VPathTest, addPolystar) { - ASSERT_FALSE(pathPolystar.empty()); - ASSERT_EQ(pathPolystar.segments() , 1); - ASSERT_EQ(pathPolystar.elements().size() , pathPolystar.elements().capacity()); - ASSERT_EQ(pathPolystar.points().size() , pathPolystar.points().capacity()); -} - -TEST_F(VPathTest, addPolystarZeroRoundness) { - ASSERT_FALSE(pathPolystarZero.empty()); - ASSERT_EQ(pathPolystarZero.segments() , 1); - ASSERT_EQ(pathPolystarZero.elements().size() , pathPolystarZero.elements().capacity()); - ASSERT_EQ(pathPolystarZero.points().size() , pathPolystarZero.points().capacity()); -} diff --git a/submodules/RLottie/Sources/rlottie/test/testsgregion.cpp b/submodules/RLottie/Sources/rlottie/test/testsgregion.cpp deleted file mode 100644 index abdc4225b2..0000000000 --- a/submodules/RLottie/Sources/rlottie/test/testsgregion.cpp +++ /dev/null @@ -1,120 +0,0 @@ -#include -#include"vregion.h" -#include"vdebug.h" -#include"vpoint.h" -class VRegionTest : public ::testing::Test { -public: - VRegionTest():rgn1(-10, -10, 20, 20) - { - } - void SetUp() - { - rect1 = VRect(-10, -10, 20, 20); - rect2 = VRect(-15, 5, 10, 10); - rgn2 += rect2; - rgn3 = rgn1; - } - void TearDown() - { - - } -public: - VRegion emptyRgn; - VRegion rgn1; - VRegion rgn2; - VRegion rgn3; - VRect rect1; - VRect rect2; - VRect rect3; - -}; - -TEST_F(VRegionTest, constructor) { - ASSERT_EQ(rgn1.rectCount() , 1); - ASSERT_TRUE(rgn1.rectAt(0) == rect1); - ASSERT_TRUE(rgn1==rgn3); - ASSERT_TRUE(rgn1!=rgn2); -} - -TEST_F(VRegionTest, moveSemantics) { - // move assignment - - rgn1 = rect1; - VRegion tmp; - tmp = std::move(rgn1); - ASSERT_TRUE(rgn1.empty()); - - // move construction - rgn1 = rect1; - VRegion mvrgn = std::move(rgn1); - ASSERT_TRUE(rgn1.empty()); - ASSERT_TRUE(mvrgn == rect1); -} -TEST_F(VRegionTest, isEmpty) { - ASSERT_TRUE(emptyRgn.empty()); - ASSERT_TRUE(emptyRgn == VRegion()); - ASSERT_TRUE(emptyRgn.rectCount() == 0); - ASSERT_TRUE(emptyRgn.boundingRect() == VRect()); -} - -TEST_F(VRegionTest, boundingRect) { - { - VRect rect; - VRegion region(rect); - ASSERT_TRUE(region.boundingRect() == rect); - } - { - VRect rect(10, -20, 30, 40); - VRegion region(rect); - ASSERT_TRUE(region.boundingRect() == rect); - } - { - VRect rect(15,25,10,10); - VRegion region(rect); - ASSERT_TRUE(region.boundingRect() == rect); - } -} - -TEST_F(VRegionTest, swap) { - VRegion r1(VRect(0, 0,10,10)); - VRegion r2(VRect(10,10,10,10)); - std::swap(r1 ,r2); - ASSERT_TRUE(r1.rectAt(0) == VRect(10,10,10,10)); - ASSERT_TRUE(r2.rectAt(0) == VRect(0, 0,10,10)); -} - -TEST_F(VRegionTest, substracted) { - VRegion r1(VRect(0, 0,20,20)); - VRegion r2 = r1.subtracted(VRect(5,5,5,5)); - VRegion expected; - expected += VRect(0,0,20,5); - expected += VRect(0,5,5,5); - expected += VRect(10,5,10,5); - expected += VRect(0,10,20,10); - ASSERT_TRUE(r2.rectCount() == expected.rectCount()); - ASSERT_TRUE(r2 == expected); - r2 += VRect(5,5,5,5); - ASSERT_TRUE(r2 == r1); -} - -TEST_F(VRegionTest, translate) { - VRegion r1(VRect(0, 0,20,20)); - VPoint offset(10,10); - VRegion r2 = r1.translated(offset); - r1.translate(offset); - ASSERT_TRUE(r2 == r2); -} - -TEST_F(VRegionTest, intersects) { - VRegion r1(VRect(0, 0,20,20)); - VRegion r2(VRect(20, 20,10,10)); - ASSERT_FALSE(r1.intersects(r2)); - r2 += VRect(5, 0,20,20); - ASSERT_TRUE(r1.intersects(r2)); -} - -TEST_F(VRegionTest, contains) { - VRegion r1(VRect(0, 0,20,20)); - ASSERT_TRUE(r1.contains(VRect(5,5,10,10))); - ASSERT_FALSE(r1.contains(VRect(11,5,10,10))); -} diff --git a/submodules/RLottie/Sources/rlottie/test/testsuite.cpp b/submodules/RLottie/Sources/rlottie/test/testsuite.cpp deleted file mode 100644 index 64becff4b6..0000000000 --- a/submodules/RLottie/Sources/rlottie/test/testsuite.cpp +++ /dev/null @@ -1,6 +0,0 @@ -#include - -int main(int argc, char **argv) { - testing::InitGoogleTest(&argc, argv); - return RUN_ALL_TESTS(); -}