From 5c4ba4a35141968832ad7955f3b0af80f0a683d4 Mon Sep 17 00:00:00 2001 From: PonyCui Date: Wed, 25 Apr 2018 15:08:18 +0800 Subject: [PATCH 001/104] add SVGAImageView and SVGAVideoEntity to SVGA.h; add URLRequest params to SVGAParser; update to 2.1.3; --- SVGAPlayer-React.podspec | 2 +- SVGAPlayer.podspec | 2 +- Source/SVGA.h | 2 ++ Source/SVGAParser.h | 4 ++++ Source/SVGAParser.m | 18 ++++++++++++------ 5 files changed, 20 insertions(+), 8 deletions(-) diff --git a/SVGAPlayer-React.podspec b/SVGAPlayer-React.podspec index 42ba6b71..6ffb0dfa 100644 --- a/SVGAPlayer-React.podspec +++ b/SVGAPlayer-React.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = "SVGAPlayer" - s.version = "2.1.1" + s.version = "2.1.3" s.summary = "SVGAPlayer 是一个高性能的动画播放器" s.description = <<-DESC SVGA 是一个私有的动画格式,由 YY UED 主导开发。 diff --git a/SVGAPlayer.podspec b/SVGAPlayer.podspec index ce2fcb15..5c1e2e91 100644 --- a/SVGAPlayer.podspec +++ b/SVGAPlayer.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = "SVGAPlayer" - s.version = "2.1.2" + s.version = "2.1.3" s.summary = "SVGAPlayer 是一个高性能的动画播放器" s.description = <<-DESC SVGA 是一个私有的动画格式,由 YY UED 主导开发。 diff --git a/Source/SVGA.h b/Source/SVGA.h index 71c624a3..118ff4fd 100644 --- a/Source/SVGA.h +++ b/Source/SVGA.h @@ -9,6 +9,8 @@ #import #import "SVGAParser.h" #import "SVGAPlayer.h" +#import "SVGAImageView.h" +#import "SVGAVideoEntity.h" #import "SVGAExporter.h" @interface SVGA : NSObject diff --git a/Source/SVGAParser.h b/Source/SVGAParser.h index 39e4bd12..09ac7812 100644 --- a/Source/SVGAParser.h +++ b/Source/SVGAParser.h @@ -16,6 +16,10 @@ completionBlock:(void ( ^ _Nonnull )(SVGAVideoEntity * _Nullable videoItem))completionBlock failureBlock:(void ( ^ _Nullable)(NSError * _Nullable error))failureBlock; +- (void)parseWithURLRequest:(nonnull NSURLRequest *)URLRequest + completionBlock:(void ( ^ _Nonnull )(SVGAVideoEntity * _Nullable videoItem))completionBlock + failureBlock:(void ( ^ _Nullable)(NSError * _Nullable error))failureBlock; + - (void)parseWithData:(nonnull NSData *)data cacheKey:(nonnull NSString *)cacheKey completionBlock:(void ( ^ _Nullable)(SVGAVideoEntity * _Nonnull videoItem))completionBlock diff --git a/Source/SVGAParser.m b/Source/SVGAParser.m index 9930cd89..9f88c2b2 100644 --- a/Source/SVGAParser.m +++ b/Source/SVGAParser.m @@ -32,15 +32,21 @@ + (void)load { - (void)parseWithURL:(nonnull NSURL *)URL completionBlock:(void ( ^ _Nonnull )(SVGAVideoEntity * _Nullable videoItem))completionBlock failureBlock:(void ( ^ _Nullable)(NSError * _Nullable error))failureBlock { - if ([[NSFileManager defaultManager] fileExistsAtPath:[self cacheDirectory:[self cacheKey:URL]]]) { - [self parseWithCacheKey:[self cacheKey:URL] completionBlock:^(SVGAVideoEntity * _Nonnull videoItem) { + [self parseWithURLRequest:[NSURLRequest requestWithURL:URL cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:20.0] + completionBlock:completionBlock + failureBlock:failureBlock]; +} + +- (void)parseWithURLRequest:(NSURLRequest *)URLRequest completionBlock:(void (^)(SVGAVideoEntity * _Nullable))completionBlock failureBlock:(void (^)(NSError * _Nullable))failureBlock { + if ([[NSFileManager defaultManager] fileExistsAtPath:[self cacheDirectory:[self cacheKey:URLRequest.URL]]]) { + [self parseWithCacheKey:[self cacheKey:URLRequest.URL] completionBlock:^(SVGAVideoEntity * _Nonnull videoItem) { if (completionBlock) { [[NSOperationQueue mainQueue] addOperationWithBlock:^{ completionBlock(videoItem); }]; } } failureBlock:^(NSError * _Nonnull error) { - [self clearCache:[self cacheKey:URL]]; + [self clearCache:[self cacheKey:URLRequest.URL]]; if (failureBlock) { [[NSOperationQueue mainQueue] addOperationWithBlock:^{ failureBlock(error); @@ -49,16 +55,16 @@ - (void)parseWithURL:(nonnull NSURL *)URL }]; return; } - [[[NSURLSession sharedSession] dataTaskWithURL:URL completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) { + [[[NSURLSession sharedSession] dataTaskWithRequest:URLRequest completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) { if (error == nil && data != nil) { - [self parseWithData:data cacheKey:[self cacheKey:URL] completionBlock:^(SVGAVideoEntity * _Nonnull videoItem) { + [self parseWithData:data cacheKey:[self cacheKey:URLRequest.URL] completionBlock:^(SVGAVideoEntity * _Nonnull videoItem) { if (completionBlock) { [[NSOperationQueue mainQueue] addOperationWithBlock:^{ completionBlock(videoItem); }]; } } failureBlock:^(NSError * _Nonnull error) { - [self clearCache:[self cacheKey:URL]]; + [self clearCache:[self cacheKey:URLRequest.URL]]; if (failureBlock) { [[NSOperationQueue mainQueue] addOperationWithBlock:^{ failureBlock(error); From 79097670df0e3e2ad26ec8fb0db4485bd79e2497 Mon Sep 17 00:00:00 2001 From: ZhuLida Date: Tue, 19 Jun 2018 14:13:04 +0800 Subject: [PATCH 002/104] FIX : crash in SVGAParser --- Source/SVGAParser.m | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Source/SVGAParser.m b/Source/SVGAParser.m index 9f88c2b2..16f20269 100644 --- a/Source/SVGAParser.m +++ b/Source/SVGAParser.m @@ -184,6 +184,9 @@ - (void)parseWithData:(nonnull NSData *)data } return; } + if (!data || data.length < 5) { + return; + } NSData *tag = [data subdataWithRange:NSMakeRange(0, 4)]; if (![[tag description] isEqualToString:@"<504b0304>"]) { // Maybe is SVGA 2.0.0 From a958c82f8333874f1b0527bf09edfa1e0d2e3d39 Mon Sep 17 00:00:00 2001 From: ZhuLida Date: Tue, 19 Jun 2018 14:26:29 +0800 Subject: [PATCH 003/104] FIX : crash in SVGAParser --- Source/SVGAParser.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/SVGAParser.m b/Source/SVGAParser.m index 16f20269..9d9d6ba5 100644 --- a/Source/SVGAParser.m +++ b/Source/SVGAParser.m @@ -184,7 +184,7 @@ - (void)parseWithData:(nonnull NSData *)data } return; } - if (!data || data.length < 5) { + if (!data || data.length < 4) { return; } NSData *tag = [data subdataWithRange:NSMakeRange(0, 4)]; From 52be4cba1906895c9100885c335d8690ebe810b3 Mon Sep 17 00:00:00 2001 From: PonyCui Date: Mon, 23 Jul 2018 14:12:38 +0800 Subject: [PATCH 004/104] Bug-fixed: add classtype asserts to avoid crash. --- Source/SVGAParser.m | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/SVGAParser.m b/Source/SVGAParser.m index 9f88c2b2..cd229121 100644 --- a/Source/SVGAParser.m +++ b/Source/SVGAParser.m @@ -119,7 +119,7 @@ - (void)parseWithCacheKey:(nonnull NSString *)cacheKey NSError *err; NSData *protoData = [NSData dataWithContentsOfFile:[cacheDir stringByAppendingString:@"/movie.binary"]]; SVGAProtoMovieEntity *protoObject = [SVGAProtoMovieEntity parseFromData:protoData error:&err]; - if (!err) { + if (!err && [protoObject isKindOfClass:[SVGAProtoMovieEntity class]]) { SVGAVideoEntity *videoItem = [[SVGAVideoEntity alloc] initWithProtoObject:protoObject cacheDir:cacheDir]; [videoItem resetImagesWithProtoObject:protoObject]; [videoItem resetSpritesWithProtoObject:protoObject]; @@ -191,7 +191,7 @@ - (void)parseWithData:(nonnull NSData *)data NSData *inflateData = [self zlibInflate:data]; NSError *err; SVGAProtoMovieEntity *protoObject = [SVGAProtoMovieEntity parseFromData:inflateData error:&err]; - if (!err) { + if (!err && [protoObject isKindOfClass:[SVGAProtoMovieEntity class]]) { SVGAVideoEntity *videoItem = [[SVGAVideoEntity alloc] initWithProtoObject:protoObject cacheDir:@""]; [videoItem resetImagesWithProtoObject:protoObject]; [videoItem resetSpritesWithProtoObject:protoObject]; From 93686d6cffed6a06cac1d64a44d35a932fe64a92 Mon Sep 17 00:00:00 2001 From: PonyCui Date: Mon, 23 Jul 2018 14:13:24 +0800 Subject: [PATCH 005/104] update to 2.1.4 --- SVGAPlayer-React.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SVGAPlayer-React.podspec b/SVGAPlayer-React.podspec index 6ffb0dfa..b60308d0 100644 --- a/SVGAPlayer-React.podspec +++ b/SVGAPlayer-React.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = "SVGAPlayer" - s.version = "2.1.3" + s.version = "2.1.4" s.summary = "SVGAPlayer 是一个高性能的动画播放器" s.description = <<-DESC SVGA 是一个私有的动画格式,由 YY UED 主导开发。 From 8d99fe0d2864abd96d29085180914978f7f9a023 Mon Sep 17 00:00:00 2001 From: PonyCui Date: Mon, 23 Jul 2018 14:16:50 +0800 Subject: [PATCH 006/104] update to 2.1.4 --- SVGAPlayer.podspec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SVGAPlayer.podspec b/SVGAPlayer.podspec index 5c1e2e91..387057cd 100644 --- a/SVGAPlayer.podspec +++ b/SVGAPlayer.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = "SVGAPlayer" - s.version = "2.1.3" + s.version = "2.1.4" s.summary = "SVGAPlayer 是一个高性能的动画播放器" s.description = <<-DESC SVGA 是一个私有的动画格式,由 YY UED 主导开发。 @@ -29,4 +29,4 @@ Pod::Spec.new do |s| 'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1', } end -end \ No newline at end of file +end From 702f91dd4dae7cc1a6f16f49ad10e7c21631c595 Mon Sep 17 00:00:00 2001 From: PonyCui Date: Sun, 26 Aug 2018 19:16:15 +0800 Subject: [PATCH 007/104] Update readme.md --- readme.md | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/readme.md b/readme.md index 0572428a..c2b1bef2 100644 --- a/readme.md +++ b/readme.md @@ -1,12 +1,9 @@ # SVGAPlayer -## Version +## 咨询服务 -### 2.1.0 - -* Add range play mode. - -### 2.0.0 +* 如果你发现 SVGAPlayer 存在 BUG,请在 GitHub 上按照模板提交 issue。 +* 如果有使用上的问题,请勿提交 issue(会被立刻关闭),请至[知乎付费问答](https://www.zhihu.com/zhi/people/1011556735563157504)提问,我们会全程跟踪你的疑问。 #### New Features @@ -150,4 +147,4 @@ You can set a block, it will callback while frame step. [self.aPlayer setDrawingBlock:^(CALayer *contentLayer, NSInteger frameIndex) { // do thing by yourself } forKey:@"99"]; -``` \ No newline at end of file +``` From e8aea48061d9aa0013b883b9a78786c674cf9e0d Mon Sep 17 00:00:00 2001 From: PonyCui Date: Thu, 18 Oct 2018 17:37:18 +0800 Subject: [PATCH 008/104] Add audio support. --- Podfile.lock | 16 ++-- SVGAPlayer.xcodeproj/project.pbxproj | 84 +++++--------------- SVGAPlayer/Samples/heartbeat.svga | Bin 0 -> 127165 bytes SVGAPlayer/ViewController.m | 6 ++ Source/SVGAAudioEntity.h | 22 ++++++ Source/SVGAAudioEntity.m | 34 ++++++++ Source/SVGAAudioLayer.h | 21 +++++ Source/SVGAAudioLayer.m | 37 +++++++++ Source/SVGAParser.m | 2 + Source/SVGAPlayer.m | 31 ++++++++ Source/SVGAVideoEntity.h | 5 +- Source/SVGAVideoEntity.m | 33 +++++++- Source/pbobjc/Svga.pbobjc.h | 32 ++++++++ Source/pbobjc/Svga.pbobjc.m | 111 +++++++++++++++++++++++++-- 14 files changed, 352 insertions(+), 82 deletions(-) create mode 100644 SVGAPlayer/Samples/heartbeat.svga create mode 100644 Source/SVGAAudioEntity.h create mode 100644 Source/SVGAAudioEntity.m create mode 100644 Source/SVGAAudioLayer.h create mode 100644 Source/SVGAAudioLayer.m diff --git a/Podfile.lock b/Podfile.lock index 7ebd505a..011f7bcb 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -1,5 +1,5 @@ PODS: - - Protobuf (3.4.0) + - Protobuf (3.6.1) - React/ART (0.45.1): - React/Core - React/Core (0.45.1): @@ -28,7 +28,7 @@ PODS: - React/RCTWebSocket (0.45.1): - React/Core - SSZipArchive (1.8.1) - - Yoga (1.6.0) + - Yoga (1.9.0) DEPENDENCIES: - Protobuf (~> 3.4) @@ -46,16 +46,22 @@ DEPENDENCIES: - SSZipArchive (~> 1.8.1) - Yoga +SPEC REPOS: + https://github.com/cocoapods/specs.git: + - Protobuf + - SSZipArchive + - Yoga + EXTERNAL SOURCES: React: :podspec: https://raw.githubusercontent.com/yyued/react-native-runtime-ios/0.45.1/React.podspec SPEC CHECKSUMS: - Protobuf: 03eef2ee0b674770735cf79d9c4d3659cf6908e8 + Protobuf: 1eb9700044745f00181c136ef21b8ff3ad5a0fd5 React: 505e0132cd9aaba1a56e47ef509220dd794ec9be SSZipArchive: 04547dfa448be5ed7ecbaf7eaf8a6e9eb9b42997 - Yoga: 81670877477311136b1b3f69a6307ce62e1c89cf + Yoga: aaae8abea68951f60bee05f6277d3eed90bb91bb PODFILE CHECKSUM: b7d71960f4fe0b08fd7d4651b412bb8bec6c19f2 -COCOAPODS: 1.3.1 +COCOAPODS: 1.5.3 diff --git a/SVGAPlayer.xcodeproj/project.pbxproj b/SVGAPlayer.xcodeproj/project.pbxproj index e68744f5..b60eb041 100644 --- a/SVGAPlayer.xcodeproj/project.pbxproj +++ b/SVGAPlayer.xcodeproj/project.pbxproj @@ -8,6 +8,9 @@ /* Begin PBXBuildFile section */ 4B62B1C5E6CE2BE2D914927B /* libPods-SVGAPlayer React.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 92332F7A897BF4379D765B05 /* libPods-SVGAPlayer React.a */; }; + 63712E6521787950001AE014 /* heartbeat.svga in Resources */ = {isa = PBXBuildFile; fileRef = 63712E6421787950001AE014 /* heartbeat.svga */; }; + 63712E6821787A45001AE014 /* SVGAAudioEntity.m in Sources */ = {isa = PBXBuildFile; fileRef = 63712E6721787A45001AE014 /* SVGAAudioEntity.m */; }; + 63E817012178809D001D2D62 /* SVGAAudioLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 63E817002178809D001D2D62 /* SVGAAudioLayer.m */; }; 80D4C7254846B96B9C6EED83 /* libPods-SVGAPlayer.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DDA5FF396660C7C932DF9B8 /* libPods-SVGAPlayer.a */; }; 904D41F81D223DD20085A21A /* SVGABezierPath.m in Sources */ = {isa = PBXBuildFile; fileRef = 904D41F71D223DD20085A21A /* SVGABezierPath.m */; }; 9052FC631E6EB8D4007BC925 /* SVGAExporter.m in Sources */ = {isa = PBXBuildFile; fileRef = 9052FC621E6EB8D4007BC925 /* SVGAExporter.m */; }; @@ -55,6 +58,11 @@ /* Begin PBXFileReference section */ 1DDA5FF396660C7C932DF9B8 /* libPods-SVGAPlayer.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-SVGAPlayer.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 2EF4851C027B3C0E45E3C5C0 /* Pods-SVGAPlayer React.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SVGAPlayer React.debug.xcconfig"; path = "Pods/Target Support Files/Pods-SVGAPlayer React/Pods-SVGAPlayer React.debug.xcconfig"; sourceTree = ""; }; + 63712E6421787950001AE014 /* heartbeat.svga */ = {isa = PBXFileReference; lastKnownFileType = file; path = heartbeat.svga; sourceTree = ""; }; + 63712E6621787A45001AE014 /* SVGAAudioEntity.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SVGAAudioEntity.h; sourceTree = ""; }; + 63712E6721787A45001AE014 /* SVGAAudioEntity.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SVGAAudioEntity.m; sourceTree = ""; }; + 63E816FF2178809D001D2D62 /* SVGAAudioLayer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SVGAAudioLayer.h; sourceTree = ""; }; + 63E817002178809D001D2D62 /* SVGAAudioLayer.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SVGAAudioLayer.m; sourceTree = ""; }; 8AD65028FA2D122A34DC4A63 /* Pods-SVGAPlayer.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SVGAPlayer.debug.xcconfig"; path = "Pods/Target Support Files/Pods-SVGAPlayer/Pods-SVGAPlayer.debug.xcconfig"; sourceTree = ""; }; 904D41F61D223DD20085A21A /* SVGABezierPath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGABezierPath.h; sourceTree = ""; }; 904D41F71D223DD20085A21A /* SVGABezierPath.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SVGABezierPath.m; sourceTree = ""; }; @@ -193,6 +201,8 @@ 90A676FC1D13A82A008A69F3 /* SVGAParser.m */, 90A677011D13AE19008A69F3 /* SVGAVideoEntity.h */, 90A677021D13AE19008A69F3 /* SVGAVideoEntity.m */, + 63712E6621787A45001AE014 /* SVGAAudioEntity.h */, + 63712E6721787A45001AE014 /* SVGAAudioEntity.m */, 90A364D51E5AECBD009347F1 /* SVGAVideoSpriteEntity.h */, 90A364D61E5AECBD009347F1 /* SVGAVideoSpriteEntity.m */, 90A364D81E5AED04009347F1 /* SVGAVideoSpriteFrameEntity.h */, @@ -203,6 +213,8 @@ 90A364D01E5AEC11009347F1 /* SVGABitmapLayer.m */, 90A364D21E5AEC1B009347F1 /* SVGAVectorLayer.h */, 90A364D31E5AEC1C009347F1 /* SVGAVectorLayer.m */, + 63E816FF2178809D001D2D62 /* SVGAAudioLayer.h */, + 63E817002178809D001D2D62 /* SVGAAudioLayer.m */, 90A677041D13BF77008A69F3 /* SVGAPlayer.h */, 90A677051D13BF77008A69F3 /* SVGAPlayer.m */, 90DB59B31F96026E00894727 /* SVGAImageView.h */, @@ -227,6 +239,7 @@ 90D7C9FA1F7E2AA3006E74F0 /* Samples */ = { isa = PBXGroup; children = ( + 63712E6421787950001AE014 /* heartbeat.svga */, 90D7CA1A1F7FB114006E74F0 /* rose_1.5.0.svga */, 90D7CA191F7FB114006E74F0 /* rose_2.0.0.svga */, ); @@ -263,8 +276,6 @@ 90A676D91D13A6DF008A69F3 /* Sources */, 90A676DA1D13A6DF008A69F3 /* Frameworks */, 90A676DB1D13A6DF008A69F3 /* Resources */, - 90CFF6F7E27D61F7415658A8 /* [CP] Embed Pods Frameworks */, - 30824E0A5B95B78BA26133C9 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -283,8 +294,6 @@ 90CB64CB1EF290F400DAA382 /* Sources */, 90CB64DA1EF290F400DAA382 /* Frameworks */, 90CB64DC1EF290F400DAA382 /* Resources */, - 97FF02AF76FF679B16FE6BE5 /* [CP] Embed Pods Frameworks */, - 954F7371F8B4658670CCA7D4 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -306,7 +315,7 @@ TargetAttributes = { 90A676DC1D13A6DF008A69F3 = { CreatedOnToolsVersion = 7.3; - DevelopmentTeam = 8M2FQ87SLP; + DevelopmentTeam = 544P5CH38C; }; 90CB64C91EF290F400DAA382 = { DevelopmentTeam = 8M2FQ87SLP; @@ -339,6 +348,7 @@ files = ( 90A676F01D13A6DF008A69F3 /* LaunchScreen.storyboard in Resources */, 90A676ED1D13A6DF008A69F3 /* Assets.xcassets in Resources */, + 63712E6521787950001AE014 /* heartbeat.svga in Resources */, 90A676EB1D13A6DF008A69F3 /* Main.storyboard in Resources */, 90CB64F91EF297E800DAA382 /* SVGAPlayer React-Info.plist in Resources */, 90D7CA1C1F7FB114006E74F0 /* rose_1.5.0.svga in Resources */, @@ -359,21 +369,6 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 30824E0A5B95B78BA26133C9 /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "[CP] Copy Pods Resources"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-SVGAPlayer/Pods-SVGAPlayer-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; 890FC763F2C82314110A5C8F /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -392,51 +387,6 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 90CFF6F7E27D61F7415658A8 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "[CP] Embed Pods Frameworks"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-SVGAPlayer/Pods-SVGAPlayer-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - 954F7371F8B4658670CCA7D4 /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "[CP] Copy Pods Resources"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-SVGAPlayer React/Pods-SVGAPlayer React-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; - 97FF02AF76FF679B16FE6BE5 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "[CP] Embed Pods Frameworks"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-SVGAPlayer React/Pods-SVGAPlayer React-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; CD70B01EE331E392E355CD26 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -466,6 +416,8 @@ 9052FC631E6EB8D4007BC925 /* SVGAExporter.m in Sources */, 90A677031D13AE19008A69F3 /* SVGAVideoEntity.m in Sources */, 90A364DA1E5AED04009347F1 /* SVGAVideoSpriteFrameEntity.m in Sources */, + 63712E6821787A45001AE014 /* SVGAAudioEntity.m in Sources */, + 63E817012178809D001D2D62 /* SVGAAudioLayer.m in Sources */, 90A364D11E5AEC11009347F1 /* SVGABitmapLayer.m in Sources */, 904D41F81D223DD20085A21A /* SVGABezierPath.m in Sources */, 90A364D71E5AECBD009347F1 /* SVGAVideoSpriteEntity.m in Sources */, @@ -613,6 +565,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; + DEVELOPMENT_TEAM = 544P5CH38C; INFOPLIST_FILE = SVGAPlayer/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; @@ -629,6 +582,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; + DEVELOPMENT_TEAM = 544P5CH38C; INFOPLIST_FILE = SVGAPlayer/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; diff --git a/SVGAPlayer/Samples/heartbeat.svga b/SVGAPlayer/Samples/heartbeat.svga new file mode 100644 index 0000000000000000000000000000000000000000..64f010de340b5535eaa530d0e5fbba877c63793a GIT binary patch literal 127165 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 Cu?s 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 wuDBJm?g;s-pif1) + +@class SVGAProtoAudioEntity; + +@interface SVGAAudioEntity : NSObject + +@property (nonatomic, readonly) NSString *audioKey; +@property (nonatomic, readonly) NSInteger startFrame; +@property (nonatomic, readonly) NSInteger endFrame; +@property (nonatomic, readonly) NSInteger startTime; + +- (instancetype)initWithProtoObject:(SVGAProtoAudioEntity *)protoObject; + +@end diff --git a/Source/SVGAAudioEntity.m b/Source/SVGAAudioEntity.m new file mode 100644 index 00000000..f44fc5ce --- /dev/null +++ b/Source/SVGAAudioEntity.m @@ -0,0 +1,34 @@ +// +// SVGAAudioEntity.m +// SVGAPlayer +// +// Created by PonyCui on 2018/10/18. +// Copyright © 2018年 UED Center. All rights reserved. +// + +#import "SVGAAudioEntity.h" +#import "Svga.pbobjc.h" + +@interface SVGAAudioEntity () + +@property (nonatomic, readwrite) NSString *audioKey; +@property (nonatomic, readwrite) NSInteger startFrame; +@property (nonatomic, readwrite) NSInteger endFrame; +@property (nonatomic, readwrite) NSInteger startTime; + +@end + +@implementation SVGAAudioEntity + +- (instancetype)initWithProtoObject:(SVGAProtoAudioEntity *)protoObject { + self = [super init]; + if (self) { + _audioKey = protoObject.audioKey; + _startFrame = protoObject.startFrame; + _endFrame = protoObject.endFrame; + _startTime = protoObject.startTime; + } + return self; +} + +@end diff --git a/Source/SVGAAudioLayer.h b/Source/SVGAAudioLayer.h new file mode 100644 index 00000000..e11db244 --- /dev/null +++ b/Source/SVGAAudioLayer.h @@ -0,0 +1,21 @@ +// +// SVGAAudioLayer.h +// SVGAPlayer +// +// Created by PonyCui on 2018/10/18. +// Copyright © 2018年 UED Center. All rights reserved. +// + +#import +#import + +@class SVGAAudioEntity, SVGAVideoEntity; + +@interface SVGAAudioLayer : NSObject + +@property (nonatomic, readonly) AVAudioPlayer *audioPlayer; +@property (nonatomic, readonly) SVGAAudioEntity *audioItem; + +- (instancetype)initWithAudioItem:(SVGAAudioEntity *)audioItem videoItem:(SVGAVideoEntity *)videoItem; + +@end diff --git a/Source/SVGAAudioLayer.m b/Source/SVGAAudioLayer.m new file mode 100644 index 00000000..f6ec7f29 --- /dev/null +++ b/Source/SVGAAudioLayer.m @@ -0,0 +1,37 @@ +// +// SVGAAudioLayer.m +// SVGAPlayer +// +// Created by PonyCui on 2018/10/18. +// Copyright © 2018年 UED Center. All rights reserved. +// + +#import "SVGAAudioLayer.h" +#import "SVGAAudioEntity.h" +#import "SVGAVideoEntity.h" + +@interface SVGAAudioLayer () + +@property (nonatomic, readwrite) AVAudioPlayer *audioPlayer; +@property (nonatomic, readwrite) SVGAAudioEntity *audioItem; + +@end + +@implementation SVGAAudioLayer + +- (instancetype)initWithAudioItem:(SVGAAudioEntity *)audioItem videoItem:(SVGAVideoEntity *)videoItem +{ + self = [super init]; + if (self) { + _audioItem = audioItem; + if (audioItem.audioKey != nil && videoItem.audiosData[audioItem.audioKey] != nil) { + _audioPlayer = [[AVAudioPlayer alloc] initWithData:videoItem.audiosData[audioItem.audioKey] + fileTypeHint:@"mp3" + error:NULL]; + [_audioPlayer prepareToPlay]; + } + } + return self; +} + +@end diff --git a/Source/SVGAParser.m b/Source/SVGAParser.m index 5914a6a7..a2ef8fba 100644 --- a/Source/SVGAParser.m +++ b/Source/SVGAParser.m @@ -123,6 +123,7 @@ - (void)parseWithCacheKey:(nonnull NSString *)cacheKey SVGAVideoEntity *videoItem = [[SVGAVideoEntity alloc] initWithProtoObject:protoObject cacheDir:cacheDir]; [videoItem resetImagesWithProtoObject:protoObject]; [videoItem resetSpritesWithProtoObject:protoObject]; + [videoItem resetAudiosWithProtoObject:protoObject]; [videoItem saveCache:cacheKey]; if (completionBlock) { [[NSOperationQueue mainQueue] addOperationWithBlock:^{ @@ -198,6 +199,7 @@ - (void)parseWithData:(nonnull NSData *)data SVGAVideoEntity *videoItem = [[SVGAVideoEntity alloc] initWithProtoObject:protoObject cacheDir:@""]; [videoItem resetImagesWithProtoObject:protoObject]; [videoItem resetSpritesWithProtoObject:protoObject]; + [videoItem resetAudiosWithProtoObject:protoObject]; [videoItem saveCache:cacheKey]; if (completionBlock) { [[NSOperationQueue mainQueue] addOperationWithBlock:^{ diff --git a/Source/SVGAPlayer.m b/Source/SVGAPlayer.m index 7a338e13..a771d6c6 100644 --- a/Source/SVGAPlayer.m +++ b/Source/SVGAPlayer.m @@ -13,10 +13,13 @@ #import "SVGAContentLayer.h" #import "SVGABitmapLayer.h" #import "SVGAVectorLayer.h" +#import "SVGAAudioLayer.h" +#import "SVGAAudioEntity.h" @interface SVGAPlayer () @property (nonatomic, strong) CALayer *drawLayer; +@property (nonatomic, strong) NSArray *audioLayers; @property (nonatomic, strong) CADisplayLink *displayLink; @property (nonatomic, assign) NSInteger currentFrame; @property (nonatomic, copy) NSDictionary *dynamicObjects; @@ -25,6 +28,7 @@ @interface SVGAPlayer () @property (nonatomic, copy) NSDictionary *dynamicHiddens; @property (nonatomic, assign) int loopCount; @property (nonatomic, assign) NSRange currentRange; +@property (nonatomic, assign) BOOL forwardAnimating; @property (nonatomic, assign) BOOL reversing; @end @@ -53,6 +57,7 @@ - (void)startAnimation { self.displayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(next)]; self.displayLink.frameInterval = 60 / self.videoItem.FPS; [self.displayLink addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSRunLoopCommonModes]; + self.forwardAnimating = !self.reversing; } - (void)startAnimationWithRange:(NSRange)range reverse:(BOOL)reverse { @@ -76,12 +81,14 @@ - (void)stopAnimation { } - (void)stopAnimation:(BOOL)clear { + self.forwardAnimating = NO; if (self.displayLink != nil) { [self.displayLink invalidate]; } if (clear) { [self clear]; } + [self clearAudios]; self.displayLink = nil; } @@ -89,6 +96,12 @@ - (void)clear { [self.drawLayer removeFromSuperlayer]; } +- (void)clearAudios { + for (SVGAAudioLayer *layer in self.audioLayers) { + [layer.audioPlayer stop]; + } +} + - (void)stepToFrame:(NSInteger)frame andPlay:(BOOL)andPlay { if (frame >= self.videoItem.frames || frame < 0) { return; @@ -149,6 +162,12 @@ - (void)draw { } }]; [self.layer addSublayer:self.drawLayer]; + NSMutableArray *audioLayers = [NSMutableArray array]; + [self.videoItem.audios enumerateObjectsUsingBlock:^(SVGAAudioEntity * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { + SVGAAudioLayer *audioLayer = [[SVGAAudioLayer alloc] initWithAudioItem:obj videoItem:self.videoItem]; + [audioLayers addObject:audioLayer]; + }]; + self.audioLayers = audioLayers; [self update]; [self resize]; } @@ -239,6 +258,17 @@ - (void)update { } } [CATransaction setDisableActions:NO]; + if (self.forwardAnimating && self.audioLayers.count > 0) { + for (SVGAAudioLayer *layer in self.audioLayers) { + if (layer.audioItem.startFrame == self.currentFrame) { + [layer.audioPlayer setCurrentTime:(NSTimeInterval)(layer.audioItem.startTime / 1000)]; + [layer.audioPlayer play]; + } + else if (layer.audioItem.endFrame <= self.currentFrame) { + [layer.audioPlayer stop]; + } + } + } } - (void)next { @@ -253,6 +283,7 @@ - (void)next { self.currentFrame++; if (self.currentFrame >= MIN(self.videoItem.frames, self.currentRange.location + self.currentRange.length)) { self.currentFrame = MAX(0, self.currentRange.location); + [self clearAudios]; self.loopCount++; } } diff --git a/Source/SVGAVideoEntity.h b/Source/SVGAVideoEntity.h index 80405f1d..55f03046 100644 --- a/Source/SVGAVideoEntity.h +++ b/Source/SVGAVideoEntity.h @@ -9,7 +9,7 @@ #import #import -@class SVGAVideoEntity, SVGAVideoSpriteEntity, SVGAVideoSpriteFrameEntity, SVGABitmapLayer, SVGAVectorLayer; +@class SVGAVideoEntity, SVGAVideoSpriteEntity, SVGAVideoSpriteFrameEntity, SVGABitmapLayer, SVGAVectorLayer, SVGAAudioEntity; @class SVGAProtoMovieEntity; @interface SVGAVideoEntity : NSObject @@ -18,7 +18,9 @@ @property (nonatomic, readonly) int FPS; @property (nonatomic, readonly) int frames; @property (nonatomic, readonly) NSDictionary *images; +@property (nonatomic, readonly) NSDictionary *audiosData; @property (nonatomic, readonly) NSArray *sprites; +@property (nonatomic, readonly) NSArray *audios; - (instancetype)initWithJSONObject:(NSDictionary *)JSONObject cacheDir:(NSString *)cacheDir; - (void)resetImagesWithJSONObject:(NSDictionary *)JSONObject; @@ -27,6 +29,7 @@ - (instancetype)initWithProtoObject:(SVGAProtoMovieEntity *)protoObject cacheDir:(NSString *)cacheDir; - (void)resetImagesWithProtoObject:(SVGAProtoMovieEntity *)protoObject; - (void)resetSpritesWithProtoObject:(SVGAProtoMovieEntity *)protoObject; +- (void)resetAudiosWithProtoObject:(SVGAProtoMovieEntity *)protoObject; + (SVGAVideoEntity *)readCache:(NSString *)cacheKey; - (void)saveCache:(NSString *)cacheKey; diff --git a/Source/SVGAVideoEntity.m b/Source/SVGAVideoEntity.m index f869c122..a4ec941e 100644 --- a/Source/SVGAVideoEntity.m +++ b/Source/SVGAVideoEntity.m @@ -6,9 +6,11 @@ // Copyright © 2016年 UED Center. All rights reserved. // +#import #import "SVGAVideoEntity.h" #import "SVGABezierPath.h" #import "SVGAVideoSpriteEntity.h" +#import "SVGAAudioEntity.h" #import "Svga.pbobjc.h" @interface SVGAVideoEntity () @@ -17,7 +19,9 @@ @interface SVGAVideoEntity () @property (nonatomic, assign) int FPS; @property (nonatomic, assign) int frames; @property (nonatomic, copy) NSDictionary *images; +@property (nonatomic, copy) NSDictionary *audiosData; @property (nonatomic, copy) NSArray *sprites; +@property (nonatomic, copy) NSArray *audios; @property (nonatomic, copy) NSString *cacheDir; @end @@ -129,6 +133,7 @@ - (void)resetMovieWithProtoObject:(SVGAProtoMovieEntity *)protoObject { - (void)resetImagesWithProtoObject:(SVGAProtoMovieEntity *)protoObject { NSMutableDictionary *images = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *audiosData = [[NSMutableDictionary alloc] init]; NSDictionary *protoImages = [protoObject.images copy]; for (NSString *key in protoImages) { NSString *fileName = [[NSString alloc] initWithData:protoImages[key] encoding:NSUTF8StringEncoding]; @@ -147,14 +152,22 @@ - (void)resetImagesWithProtoObject:(SVGAProtoMovieEntity *)protoObject { } } } - else { - UIImage *image = [[UIImage alloc] initWithData:protoImages[key] scale:2.0]; - if (image != nil) { - [images setObject:image forKey:key]; + else if ([protoImages[key] isKindOfClass:[NSData class]]) { + NSData *fileTag = [protoImages[key] subdataWithRange:NSMakeRange(0, 4)]; + if (![[fileTag description] isEqualToString:@"<89504e47>"]) { + // mp3 + [audiosData setObject:protoImages[key] forKey:key]; + } + else { + UIImage *image = [[UIImage alloc] initWithData:protoImages[key] scale:2.0]; + if (image != nil) { + [images setObject:image forKey:key]; + } } } } self.images = images; + self.audiosData = audiosData; } - (void)resetSpritesWithProtoObject:(SVGAProtoMovieEntity *)protoObject { @@ -168,6 +181,18 @@ - (void)resetSpritesWithProtoObject:(SVGAProtoMovieEntity *)protoObject { }]; self.sprites = sprites; } + +- (void)resetAudiosWithProtoObject:(SVGAProtoMovieEntity *)protoObject { + NSMutableArray *audios = [[NSMutableArray alloc] init]; + NSArray *protoAudios = [protoObject.audiosArray copy]; + [protoAudios enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { + if ([obj isKindOfClass:[SVGAProtoAudioEntity class]]) { + SVGAAudioEntity *audioItem = [[SVGAAudioEntity alloc] initWithProtoObject:obj]; + [audios addObject:audioItem]; + } + }]; + self.audios = audios; +} + (SVGAVideoEntity *)readCache:(NSString *)cacheKey { return [videoCache objectForKey:cacheKey]; diff --git a/Source/pbobjc/Svga.pbobjc.h b/Source/pbobjc/Svga.pbobjc.h index 19b974df..b8f25eb4 100644 --- a/Source/pbobjc/Svga.pbobjc.h +++ b/Source/pbobjc/Svga.pbobjc.h @@ -27,6 +27,7 @@ CF_EXTERN_C_BEGIN +@class SVGAProtoAudioEntity; @class SVGAProtoFrameEntity; @class SVGAProtoLayout; @class SVGAProtoMovieParams; @@ -174,6 +175,31 @@ typedef GPB_ENUM(SVGAProtoSpriteEntity_FieldNumber) { @end +#pragma mark - SVGAProtoAudioEntity + +typedef GPB_ENUM(SVGAProtoAudioEntity_FieldNumber) { + SVGAProtoAudioEntity_FieldNumber_AudioKey = 1, + SVGAProtoAudioEntity_FieldNumber_StartFrame = 2, + SVGAProtoAudioEntity_FieldNumber_EndFrame = 3, + SVGAProtoAudioEntity_FieldNumber_StartTime = 4, +}; + +@interface SVGAProtoAudioEntity : GPBMessage + +/** 音频文件名 */ +@property(nonatomic, readwrite, copy, null_resettable) NSString *audioKey; + +/** 音频播放起始帧 */ +@property(nonatomic, readwrite) int32_t startFrame; + +/** 音频播放结束帧 */ +@property(nonatomic, readwrite) int32_t endFrame; + +/** 音频播放起始时间(相对音频长度) */ +@property(nonatomic, readwrite) int32_t startTime; + +@end + #pragma mark - SVGAProtoLayout typedef GPB_ENUM(SVGAProtoLayout_FieldNumber) { @@ -481,6 +507,7 @@ typedef GPB_ENUM(SVGAProtoMovieEntity_FieldNumber) { SVGAProtoMovieEntity_FieldNumber_Params = 2, SVGAProtoMovieEntity_FieldNumber_Images = 3, SVGAProtoMovieEntity_FieldNumber_SpritesArray = 4, + SVGAProtoMovieEntity_FieldNumber_AudiosArray = 5, }; @interface SVGAProtoMovieEntity : GPBMessage @@ -503,6 +530,11 @@ typedef GPB_ENUM(SVGAProtoMovieEntity_FieldNumber) { /** The number of items in @c spritesArray without causing the array to be created. */ @property(nonatomic, readonly) NSUInteger spritesArray_Count; +/** 音频列表 */ +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *audiosArray; +/** The number of items in @c audiosArray without causing the array to be created. */ +@property(nonatomic, readonly) NSUInteger audiosArray_Count; + @end NS_ASSUME_NONNULL_END diff --git a/Source/pbobjc/Svga.pbobjc.m b/Source/pbobjc/Svga.pbobjc.m index e517c431..82185a32 100644 --- a/Source/pbobjc/Svga.pbobjc.m +++ b/Source/pbobjc/Svga.pbobjc.m @@ -13,7 +13,9 @@ #import "GPBProtocolBuffers_RuntimeSupport.h" #endif - #import "Svga.pbobjc.h" +#import + +#import "Svga.pbobjc.h" // @@protoc_insertion_point(imports) #pragma clang diagnostic push @@ -184,6 +186,87 @@ + (GPBDescriptor *)descriptor { @end +#pragma mark - SVGAProtoAudioEntity + +@implementation SVGAProtoAudioEntity + +@dynamic audioKey; +@dynamic startFrame; +@dynamic endFrame; +@dynamic startTime; + +typedef struct SVGAProtoAudioEntity__storage_ { + uint32_t _has_storage_[1]; + int32_t startFrame; + int32_t endFrame; + int32_t startTime; + NSString *audioKey; +} SVGAProtoAudioEntity__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "audioKey", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoAudioEntity_FieldNumber_AudioKey, + .hasIndex = 0, + .offset = (uint32_t)offsetof(SVGAProtoAudioEntity__storage_, audioKey), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeString, + }, + { + .name = "startFrame", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoAudioEntity_FieldNumber_StartFrame, + .hasIndex = 1, + .offset = (uint32_t)offsetof(SVGAProtoAudioEntity__storage_, startFrame), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeInt32, + }, + { + .name = "endFrame", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoAudioEntity_FieldNumber_EndFrame, + .hasIndex = 2, + .offset = (uint32_t)offsetof(SVGAProtoAudioEntity__storage_, endFrame), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeInt32, + }, + { + .name = "startTime", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoAudioEntity_FieldNumber_StartTime, + .hasIndex = 3, + .offset = (uint32_t)offsetof(SVGAProtoAudioEntity__storage_, startTime), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeInt32, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[SVGAProtoAudioEntity class] + rootClass:[SVGAProtoSvgaRoot class] + file:SVGAProtoSvgaRoot_FileDescriptor() + fields:fields + fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) + storageSize:sizeof(SVGAProtoAudioEntity__storage_) + flags:GPBDescriptorInitializationFlag_None]; +#if !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS + static const char *extraTextFormatInfo = + "\004\001\010\000\002\n\000\003\010\000\004\t\000"; + [localDescriptor setupExtraTextInfo:extraTextFormatInfo]; +#endif // !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; +} + +@end + #pragma mark - SVGAProtoLayout @implementation SVGAProtoLayout @@ -483,7 +566,7 @@ void SVGAProtoShapeEntity_ClearArgsOneOfCase(SVGAProtoShapeEntity *message) { #pragma mark - Enum SVGAProtoShapeEntity_ShapeType GPBEnumDescriptor *SVGAProtoShapeEntity_ShapeType_EnumDescriptor(void) { - static GPBEnumDescriptor *descriptor = NULL; + static _Atomic(GPBEnumDescriptor*) descriptor = nil; if (!descriptor) { static const char *valueNames = "Shape\000Rect\000Ellipse\000Keep\000"; @@ -499,7 +582,8 @@ void SVGAProtoShapeEntity_ClearArgsOneOfCase(SVGAProtoShapeEntity *message) { values:values count:(uint32_t)(sizeof(values) / sizeof(int32_t)) enumVerifier:SVGAProtoShapeEntity_ShapeType_IsValidValue]; - if (!OSAtomicCompareAndSwapPtrBarrier(nil, worker, (void * volatile *)&descriptor)) { + GPBEnumDescriptor *expected = nil; + if (!atomic_compare_exchange_strong(&descriptor, &expected, worker)) { [worker release]; } } @@ -901,7 +985,7 @@ void SetSVGAProtoShapeEntity_ShapeStyle_LineJoin_RawValue(SVGAProtoShapeEntity_S #pragma mark - Enum SVGAProtoShapeEntity_ShapeStyle_LineCap GPBEnumDescriptor *SVGAProtoShapeEntity_ShapeStyle_LineCap_EnumDescriptor(void) { - static GPBEnumDescriptor *descriptor = NULL; + static _Atomic(GPBEnumDescriptor*) descriptor = nil; if (!descriptor) { static const char *valueNames = "LineCapButt\000LineCapRound\000LineCapSquare\000"; @@ -918,7 +1002,8 @@ void SetSVGAProtoShapeEntity_ShapeStyle_LineJoin_RawValue(SVGAProtoShapeEntity_S count:(uint32_t)(sizeof(values) / sizeof(int32_t)) enumVerifier:SVGAProtoShapeEntity_ShapeStyle_LineCap_IsValidValue extraTextFormatInfo:extraTextFormatInfo]; - if (!OSAtomicCompareAndSwapPtrBarrier(nil, worker, (void * volatile *)&descriptor)) { + GPBEnumDescriptor *expected = nil; + if (!atomic_compare_exchange_strong(&descriptor, &expected, worker)) { [worker release]; } } @@ -939,7 +1024,7 @@ BOOL SVGAProtoShapeEntity_ShapeStyle_LineCap_IsValidValue(int32_t value__) { #pragma mark - Enum SVGAProtoShapeEntity_ShapeStyle_LineJoin GPBEnumDescriptor *SVGAProtoShapeEntity_ShapeStyle_LineJoin_EnumDescriptor(void) { - static GPBEnumDescriptor *descriptor = NULL; + static _Atomic(GPBEnumDescriptor*) descriptor = nil; if (!descriptor) { static const char *valueNames = "LineJoinMiter\000LineJoinRound\000LineJoinBeve" @@ -957,7 +1042,8 @@ BOOL SVGAProtoShapeEntity_ShapeStyle_LineCap_IsValidValue(int32_t value__) { count:(uint32_t)(sizeof(values) / sizeof(int32_t)) enumVerifier:SVGAProtoShapeEntity_ShapeStyle_LineJoin_IsValidValue extraTextFormatInfo:extraTextFormatInfo]; - if (!OSAtomicCompareAndSwapPtrBarrier(nil, worker, (void * volatile *)&descriptor)) { + GPBEnumDescriptor *expected = nil; + if (!atomic_compare_exchange_strong(&descriptor, &expected, worker)) { [worker release]; } } @@ -1152,6 +1238,7 @@ @implementation SVGAProtoMovieEntity @dynamic hasParams, params; @dynamic images, images_Count; @dynamic spritesArray, spritesArray_Count; +@dynamic audiosArray, audiosArray_Count; typedef struct SVGAProtoMovieEntity__storage_ { uint32_t _has_storage_[1]; @@ -1159,6 +1246,7 @@ @implementation SVGAProtoMovieEntity SVGAProtoMovieParams *params; NSMutableDictionary *images; NSMutableArray *spritesArray; + NSMutableArray *audiosArray; } SVGAProtoMovieEntity__storage_; // This method is threadsafe because it is initially called @@ -1203,6 +1291,15 @@ + (GPBDescriptor *)descriptor { .flags = GPBFieldRepeated, .dataType = GPBDataTypeMessage, }, + { + .name = "audiosArray", + .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoAudioEntity), + .number = SVGAProtoMovieEntity_FieldNumber_AudiosArray, + .hasIndex = GPBNoHasBit, + .offset = (uint32_t)offsetof(SVGAProtoMovieEntity__storage_, audiosArray), + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + }, }; GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[SVGAProtoMovieEntity class] From d67b4018d46ad05485119577d4f7ae43a7b17360 Mon Sep 17 00:00:00 2001 From: PonyCui Date: Thu, 1 Nov 2018 12:24:13 +0800 Subject: [PATCH 009/104] Release: 2.3.0 --- SVGAPlayer-React.podspec | 2 +- SVGAPlayer.podspec | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/SVGAPlayer-React.podspec b/SVGAPlayer-React.podspec index b60308d0..23b7676a 100644 --- a/SVGAPlayer-React.podspec +++ b/SVGAPlayer-React.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = "SVGAPlayer" - s.version = "2.1.4" + s.version = "2.3.0" s.summary = "SVGAPlayer 是一个高性能的动画播放器" s.description = <<-DESC SVGA 是一个私有的动画格式,由 YY UED 主导开发。 diff --git a/SVGAPlayer.podspec b/SVGAPlayer.podspec index 387057cd..f50cfae5 100644 --- a/SVGAPlayer.podspec +++ b/SVGAPlayer.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = "SVGAPlayer" - s.version = "2.1.4" + s.version = "2.3.0" s.summary = "SVGAPlayer 是一个高性能的动画播放器" s.description = <<-DESC SVGA 是一个私有的动画格式,由 YY UED 主导开发。 From 8a5d277a73861af27954d0266fbcd29ddd8a8bca Mon Sep 17 00:00:00 2001 From: PonyCui Date: Thu, 1 Nov 2018 12:25:59 +0800 Subject: [PATCH 010/104] add framework dependency. --- SVGAPlayer.podspec | 1 + 1 file changed, 1 insertion(+) diff --git a/SVGAPlayer.podspec b/SVGAPlayer.podspec index f50cfae5..fd52e6cf 100644 --- a/SVGAPlayer.podspec +++ b/SVGAPlayer.podspec @@ -19,6 +19,7 @@ Pod::Spec.new do |s| ss.requires_arc = true ss.dependency 'SSZipArchive', '1.8.1' ss.library = "z" + ss.framework = "AVFoundation" ss.dependency 'SVGAPlayer/ProtoFiles' end s.subspec 'ProtoFiles' do |ss| From da5ad5be0d858b46d72758a1b7b471b48b5523ac Mon Sep 17 00:00:00 2001 From: SmallBlackCat Date: Thu, 13 Dec 2018 15:19:23 +0800 Subject: [PATCH 011/104] Update SVGAPlayer.m MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 【修复】多次设置AttributedText谍影的问题 --- Source/SVGAPlayer.m | 1 + 1 file changed, 1 insertion(+) diff --git a/Source/SVGAPlayer.m b/Source/SVGAPlayer.m index a771d6c6..0a1001e1 100644 --- a/Source/SVGAPlayer.m +++ b/Source/SVGAPlayer.m @@ -373,6 +373,7 @@ - (void)setAttributedText:(NSAttributedString *)attributedText forKey:(NSString if (textLayer == nil) { textLayer = [CATextLayer layer]; [layer addSublayer:textLayer]; + layer.textLayer = textLayer; } } } From 116a91fd94a76caf042126a216bc8bd3012dae06 Mon Sep 17 00:00:00 2001 From: PonyCui Date: Tue, 18 Dec 2018 22:14:39 +0800 Subject: [PATCH 012/104] fix: add enabledMemoryCache option to SVGAParser, disable memory cache to default. fix: use SSZipArchiver 2.1.4 --- Podfile | 4 ++-- Podfile.lock | 10 ++++----- SVGAPlayer-React.podspec | 4 ++-- SVGAPlayer.podspec | 4 ++-- .../xcschemes/xcschememanagement.plist | 19 +++++++++++++++++ .../UserInterfaceState.xcuserstate | Bin 0 -> 21701 bytes Source/SVGAParser.h | 2 ++ Source/SVGAParser.m | 20 +++++++++++++----- Source/SVGAVectorLayer.m | 5 ++++- 9 files changed, 51 insertions(+), 17 deletions(-) create mode 100644 SVGAPlayer.xcodeproj/xcuserdata/saiakirahui.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 SVGAPlayer.xcworkspace/xcuserdata/saiakirahui.xcuserdatad/UserInterfaceState.xcuserstate diff --git a/Podfile b/Podfile index d54f6910..66cf3a27 100644 --- a/Podfile +++ b/Podfile @@ -2,14 +2,14 @@ platform :ios, '8.0' target 'SVGAPlayer' do - pod 'SSZipArchive', '~> 1.8.1' + pod 'SSZipArchive', '~> 2.1.4' pod 'Protobuf', '~> 3.4' end target 'SVGAPlayer React' do - pod 'SSZipArchive', '~> 1.8.1' + pod 'SSZipArchive', '~> 2.1.4' pod 'React', :podspec => 'https://raw.githubusercontent.com/yyued/react-native-runtime-ios/0.45.1/React.podspec', :subspecs => [ 'Core', 'ART', diff --git a/Podfile.lock b/Podfile.lock index 011f7bcb..96533f8c 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -27,7 +27,7 @@ PODS: - React/Core - React/RCTWebSocket (0.45.1): - React/Core - - SSZipArchive (1.8.1) + - SSZipArchive (2.1.4) - Yoga (1.9.0) DEPENDENCIES: @@ -43,7 +43,7 @@ DEPENDENCIES: - React/RCTText (from `https://raw.githubusercontent.com/yyued/react-native-runtime-ios/0.45.1/React.podspec`) - React/RCTVibration (from `https://raw.githubusercontent.com/yyued/react-native-runtime-ios/0.45.1/React.podspec`) - React/RCTWebSocket (from `https://raw.githubusercontent.com/yyued/react-native-runtime-ios/0.45.1/React.podspec`) - - SSZipArchive (~> 1.8.1) + - SSZipArchive (~> 2.1.4) - Yoga SPEC REPOS: @@ -59,9 +59,9 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: Protobuf: 1eb9700044745f00181c136ef21b8ff3ad5a0fd5 React: 505e0132cd9aaba1a56e47ef509220dd794ec9be - SSZipArchive: 04547dfa448be5ed7ecbaf7eaf8a6e9eb9b42997 + SSZipArchive: 41455d4b8d2b6ab93990820b50dc697c2554a322 Yoga: aaae8abea68951f60bee05f6277d3eed90bb91bb -PODFILE CHECKSUM: b7d71960f4fe0b08fd7d4651b412bb8bec6c19f2 +PODFILE CHECKSUM: 7f6714245d47e69d2933463289e4c4d6de65b831 -COCOAPODS: 1.5.3 +COCOAPODS: 1.6.0.beta.2 diff --git a/SVGAPlayer-React.podspec b/SVGAPlayer-React.podspec index 23b7676a..f0eea885 100644 --- a/SVGAPlayer-React.podspec +++ b/SVGAPlayer-React.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = "SVGAPlayer" - s.version = "2.3.0" + s.version = "2.3.1" s.summary = "SVGAPlayer 是一个高性能的动画播放器" s.description = <<-DESC SVGA 是一个私有的动画格式,由 YY UED 主导开发。 @@ -16,7 +16,7 @@ Pod::Spec.new do |s| s.subspec 'Core' do |ss| ss.source_files = "Source/*.{h,m}", "React/*.{h,m}" ss.requires_arc = true - ss.dependency 'SSZipArchive', '1.8.1' + ss.dependency 'SSZipArchive', '2.1.4' ss.library = "z" ss.dependency 'SVGAPlayer/ProtoFiles' end diff --git a/SVGAPlayer.podspec b/SVGAPlayer.podspec index fd52e6cf..b2e9a3e4 100644 --- a/SVGAPlayer.podspec +++ b/SVGAPlayer.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = "SVGAPlayer" - s.version = "2.3.0" + s.version = "2.3.1" s.summary = "SVGAPlayer 是一个高性能的动画播放器" s.description = <<-DESC SVGA 是一个私有的动画格式,由 YY UED 主导开发。 @@ -17,7 +17,7 @@ Pod::Spec.new do |s| s.subspec 'Core' do |ss| ss.source_files = "Source/*.{h,m}" ss.requires_arc = true - ss.dependency 'SSZipArchive', '1.8.1' + ss.dependency 'SSZipArchive', '2.1.4' ss.library = "z" ss.framework = "AVFoundation" ss.dependency 'SVGAPlayer/ProtoFiles' diff --git a/SVGAPlayer.xcodeproj/xcuserdata/saiakirahui.xcuserdatad/xcschemes/xcschememanagement.plist b/SVGAPlayer.xcodeproj/xcuserdata/saiakirahui.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 00000000..45700c10 --- /dev/null +++ b/SVGAPlayer.xcodeproj/xcuserdata/saiakirahui.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,19 @@ + + + + + SchemeUserState + + SVGAPlayer React.xcscheme + + orderHint + 7 + + SVGAPlayer.xcscheme + + orderHint + 6 + + + + diff --git a/SVGAPlayer.xcworkspace/xcuserdata/saiakirahui.xcuserdatad/UserInterfaceState.xcuserstate b/SVGAPlayer.xcworkspace/xcuserdata/saiakirahui.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..cb27b8a057b0891e155552bf6fa9e47316b23ac4 GIT binary patch literal 21701 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 Qh7rC+aCNomr}v=$2feVavH$=8 literal 0 HcmV?d00001 diff --git a/Source/SVGAParser.h b/Source/SVGAParser.h index 09ac7812..91ea6726 100644 --- a/Source/SVGAParser.h +++ b/Source/SVGAParser.h @@ -12,6 +12,8 @@ @interface SVGAParser : NSObject +@property (nonatomic, assign) BOOL enabledMemoryCache; + - (void)parseWithURL:(nonnull NSURL *)URL completionBlock:(void ( ^ _Nonnull )(SVGAVideoEntity * _Nullable videoItem))completionBlock failureBlock:(void ( ^ _Nullable)(NSError * _Nullable error))failureBlock; diff --git a/Source/SVGAParser.m b/Source/SVGAParser.m index a2ef8fba..0b68b823 100644 --- a/Source/SVGAParser.m +++ b/Source/SVGAParser.m @@ -124,7 +124,9 @@ - (void)parseWithCacheKey:(nonnull NSString *)cacheKey [videoItem resetImagesWithProtoObject:protoObject]; [videoItem resetSpritesWithProtoObject:protoObject]; [videoItem resetAudiosWithProtoObject:protoObject]; - [videoItem saveCache:cacheKey]; + if (self.enabledMemoryCache) { + [videoItem saveCache:cacheKey]; + } if (completionBlock) { [[NSOperationQueue mainQueue] addOperationWithBlock:^{ completionBlock(videoItem); @@ -148,7 +150,9 @@ - (void)parseWithCacheKey:(nonnull NSString *)cacheKey SVGAVideoEntity *videoItem = [[SVGAVideoEntity alloc] initWithJSONObject:JSONObject cacheDir:cacheDir]; [videoItem resetImagesWithJSONObject:JSONObject]; [videoItem resetSpritesWithJSONObject:JSONObject]; - [videoItem saveCache:cacheKey]; + if (self.enabledMemoryCache) { + [videoItem saveCache:cacheKey]; + } if (completionBlock) { [[NSOperationQueue mainQueue] addOperationWithBlock:^{ completionBlock(videoItem); @@ -200,7 +204,9 @@ - (void)parseWithData:(nonnull NSData *)data [videoItem resetImagesWithProtoObject:protoObject]; [videoItem resetSpritesWithProtoObject:protoObject]; [videoItem resetAudiosWithProtoObject:protoObject]; - [videoItem saveCache:cacheKey]; + if (self.enabledMemoryCache) { + [videoItem saveCache:cacheKey]; + } if (completionBlock) { [[NSOperationQueue mainQueue] addOperationWithBlock:^{ completionBlock(videoItem); @@ -253,7 +259,9 @@ - (void)parseWithData:(nonnull NSData *)data SVGAVideoEntity *videoItem = [[SVGAVideoEntity alloc] initWithProtoObject:protoObject cacheDir:cacheDir]; [videoItem resetImagesWithProtoObject:protoObject]; [videoItem resetSpritesWithProtoObject:protoObject]; - [videoItem saveCache:cacheKey]; + if (self.enabledMemoryCache) { + [videoItem saveCache:cacheKey]; + } if (completionBlock) { [[NSOperationQueue mainQueue] addOperationWithBlock:^{ completionBlock(videoItem); @@ -277,7 +285,9 @@ - (void)parseWithData:(nonnull NSData *)data SVGAVideoEntity *videoItem = [[SVGAVideoEntity alloc] initWithJSONObject:JSONObject cacheDir:cacheDir]; [videoItem resetImagesWithJSONObject:JSONObject]; [videoItem resetSpritesWithJSONObject:JSONObject]; - [videoItem saveCache:cacheKey]; + if (self.enabledMemoryCache) { + [videoItem saveCache:cacheKey]; + } if (completionBlock) { [[NSOperationQueue mainQueue] addOperationWithBlock:^{ completionBlock(videoItem); diff --git a/Source/SVGAVectorLayer.m b/Source/SVGAVectorLayer.m index 111bb2b4..72083bbd 100644 --- a/Source/SVGAVectorLayer.m +++ b/Source/SVGAVectorLayer.m @@ -55,7 +55,10 @@ - (void)stepToFrame:(NSInteger)frame { } - (BOOL)isKeepFrame:(SVGAVideoSpriteFrameEntity *)frameItem { - if ([frameItem.shapes.firstObject isKindOfClass:[NSDictionary class]]) { + if (frameItem.shapes.count == 0) { + return NO; + } + else if ([frameItem.shapes.firstObject isKindOfClass:[NSDictionary class]]) { return [frameItem.shapes.firstObject[@"type"] isKindOfClass:[NSString class]] && [frameItem.shapes.firstObject[@"type"] isEqualToString:@"keep"]; } From 01914ecf4f54161c6c4f258cf04a10e6c4cb336a Mon Sep 17 00:00:00 2001 From: PonyCui Date: Thu, 20 Dec 2018 14:32:43 +0800 Subject: [PATCH 013/104] doc: update readme. --- readme.md | 163 ++++++++++++++++----------------------------------- readme.zh.md | 85 +++++++++++++++++++++++++++ 2 files changed, 137 insertions(+), 111 deletions(-) create mode 100644 readme.zh.md diff --git a/readme.md b/readme.md index c2b1bef2..ced57dd2 100644 --- a/readme.md +++ b/readme.md @@ -1,150 +1,91 @@ # SVGAPlayer -## 咨询服务 +[简体中文](./readme.zh.md) -* 如果你发现 SVGAPlayer 存在 BUG,请在 GitHub 上按照模板提交 issue。 -* 如果有使用上的问题,请勿提交 issue(会被立刻关闭),请至[知乎付费问答](https://www.zhihu.com/zhi/people/1011556735563157504)提问,我们会全程跟踪你的疑问。 +SVGAPlayer is a light-weight animation renderer. You use [tools](http://svga.io/designer.html) to export `svga` file from `Adobe Animate CC` or `Adobe After Effects`, and then use SVGAPlayer to render animation on mobile application. -#### New Features +`SVGAPlayer-iOS` render animation natively via iOS CoreAnimation Framework, brings you a high-performance, low-cost animation experience. -* Add SVGA-Format 2.0.0 support. -* Add SVGAImageView. -* Add more UIViewContentMode support. +If wonder more information, go to this [website](http://svga.io/). -#### Improvements +## Usage -* SVGAParser now can works up-to 8 concurrent tasks. -* Improves BezierPath performance. +Here introduce `SVGAPlayer-iOS` usage. Wonder exporting usage? Click [here](http://svga.io/designer.html). -## SVGA Format +### Install Via CocoaPods -@see https://github.com/yyued/SVGA-Format +You want to add pod 'SVGAPlayer', '~> 2.3' similar to the following to your Podfile: -## Install +target 'MyApp' do + pod 'SVGAPlayer', '~> 2.3' +end -### CocoaPods +Then run a `pod install` inside your terminal, or from CocoaPods.app. -Add following dependency to Podfile -``` -pod 'SVGAPlayer' +### Locate files + +SVGAPlayer could load svga file from application bundle or remote server. + +### Using code + +#### Create a `SVGAPlayer` instance. + +```objectivec +SVGAPlayer *player = [[SVGAPlayer alloc] initWithFrame:CGRectMake(0, 0, 200, 200)]; +[self.view addSubview:player]; // Add subview by yourself. ``` -## Usage +#### Create a `SVGAParser` instance, parse from bundle like this. +```objectivec +SVGAParser *parser = [[SVGAParser alloc] init]; +[parser parseWithNamed:@"posche" inBundle:nil completionBlock:^(SVGAVideoEntity * _Nonnull videoItem) { + +} failureBlock:nil]; +``` -### code +#### Create a `SVGAParser` instance, parse from remote server like this. ```objectivec SVGAParser *parser = [[SVGAParser alloc] init]; -SVGAPlayer *player = [[SVGAPlayer alloc] initWithFrame:CGRectMake(0, 0, 200, 200)]; -[self.view addSubview:player]; -[parser parseWithURL:[NSURL URLWithString:@"http://uedfe.yypm.com/assets/svga-samples/angel.svga"] completionBlock:^(SVGAVideoEntity * _Nullable videoItem) { +[parser parseWithURL:[NSURL URLWithString:@"https://github.com/yyued/SVGA-Samples/blob/master/posche.svga?raw=true"] completionBlock:^(SVGAVideoEntity * _Nullable videoItem) { + +} failureBlock:nil]; +``` + +#### Set videoItem to `SVGAPlayer`, play it as you want. + +```objectivec +[parser parseWithURL:[NSURL URLWithString:@"https://github.com/yyued/SVGA-Samples/blob/master/posche.svga?raw=true"] completionBlock:^(SVGAVideoEntity * _Nullable videoItem) { if (videoItem != nil) { player.videoItem = videoItem; [player startAnimation]; } } failureBlock:nil]; - ``` -### xib - -1. Add UIView to IB layout area. -2. Let UIView subclass SVGAImageView. -3. Input imageName on IB Properties Area. -4. Animation will start after loaded. +### Cache -## Cache +`SVGAParser` use `NSURLSession` request remote data via network. You may use following ways to control cache. -SVGAParser use NSURLSession request remote data via network. You may use following ways to control cache. - -### Response Header +#### Response Header Server response SVGA files in Body, and response header either. response header has cache-control / etag / expired keys, all these keys telling NSURLSession how to handle cache. -### Request NSData By Yourself +#### Request NSData By Yourself If you couldn't fix Server Response Header, You should build NSURLRequest with CachePolicy by yourself, and fetch NSData. Deliver NSData to SVGAParser, as usual. -## API - -### Properties -* id delegate; - Callbacks -* SVGAVideoEntity *videoItem; - Animation Instance -* Int loops; - Loop Count,0 = Infinity Loop -* BOOL clearsAfterStop; - Clears Canvas After Animation Stop -* String fillMode; - defaults to Forward,optional Forward / Backward,fillMode = Forward,Animation will pause on last frame while finished,fillMode = Backward , Animation will pause on first frame. +## Features -### Methods +Here are many feature samples. -* (void)startAnimation; - Play Animation from 0 frame. -* (void)startAnimationWithRange:(NSRange)range reverse:(BOOL)reverse; -* (void)pauseAnimation; - Pause Animation and keep on current frame. -* (void)stopAnimation; - Stop Animation,Clears Canvas while clearsAfterStop == YES. -* (void)clear; - Clear Canvas force. -* (void)stepToFrame:(NSInteger)frame andPlay:(BOOL)andPlay; - Step to N frame, and then Play Animation if andPlay === true. -* (void)stepToPercentage:(CGFloat)percentage andPlay:(BOOL)andPlay; - Step to x%, and then Play Animation if andPlay === true. -* (void)setImage:(UIImage *)image forKey:(NSString *)aKey; - Set Dynamic Image. -* (void)setImageWithURL:(NSURL *)URL forKey:(NSString *)aKey; - Set Dynamic Image via remote URL. -* (void)setAttributedText:(NSAttributedString *)attributedText forKey:(NSString *)aKey; - Set Dynamic Text. -* (void)clearDynamicObjects; - Clear all dynamic Images and Texts. +* [Replace an element with Bitmap.](https://github.com/yyued/SVGAPlayer-iOS/wiki/Dynamic-Image) +* [Add text above an element.](https://github.com/yyued/SVGAPlayer-iOS/wiki/Dynamic-Text) +* [Hides an element dynamicaly.](https://github.com/yyued/SVGAPlayer-iOS/wiki/Dynamic-Hidden) +* [Use a custom drawer for element.](https://github.com/yyued/SVGAPlayer-iOS/wiki/Dynamic-Drawer) -### SVGAPlayerDelegate +## APIs -* @optional -* - (void)svgaPlayerDidFinishedAnimation:(SVGAPlayer *)player; - Call after animation finished. -* - (void)svgaPlayerDidAnimatedToFrame:(NSInteger)frame; - Call after animation play to specific frame. -* - (void)svgaPlayerDidAnimatedToPercentage:(CGFloat)percentage; - Call after animation play to specific percentage. - -### Dynamic Object - -Use this way to replace specific image, or add text to it. (可以通过以下方式,替换动画文件中的指定图像,以及动态添加富文本。) - -#### Dynamic Image - -```objectivec -CALayer *iconLayer = [CALayer layer]; -iconLayer.cornerRadius = 84.0; -iconLayer.masksToBounds = YES; -iconLayer.borderWidth = 4.0; -iconLayer.borderColor = [UIColor colorWithRed:0xea/255.0 green:0xb3/255.0 blue:0x7d/255.0 alpha:1.0].CGColor; -[self.aPlayer setImage:iconImage forKey:@"99" referenceLayer:iconLayer]; -``` - -* Ask designer tell you the imageKey(or unzip the svga file, find it). - -#### Dynamic Text - -```objectivec -NSShadow *shadow = [NSShadow new]; -shadow.shadowColor = [UIColor blackColor]; -shadow.shadowOffset = CGSizeMake(0, 1); -NSAttributedString *text = [[NSAttributedString alloc] initWithString:@"崔小姐不吃鱼 送了魔法奇缘" - attributes:@{ - NSForegroundColorAttributeName: [UIColor colorWithRed:0xff/255.0 green:0xe0/255.0 blue:0xa4/255.0 alpha:1.0], - NSFontAttributeName: [UIFont boldSystemFontOfSize:30.0], - NSShadowAttributeName: shadow, - }]; -[self.aPlayer setAttributedText:text forKey:@"banner"]; -``` - -* Ask designer tell you the imageKey(or unzip the svga file, find it). - -#### Dynamic Hidden - -Now use setHidden to hide an element prevents drawing. - -```objectivec -[self.aPlayer setHidden:YES forKey:@"99"]; -``` - -#### Dynamic Drawing - -You can set a block, it will callback while frame step. - -```objectivec -[self.aPlayer setDrawingBlock:^(CALayer *contentLayer, NSInteger frameIndex) { - // do thing by yourself -} forKey:@"99"]; -``` +Head on over to [https://github.com/yyued/SVGAPlayer-iOS/wiki/APIs](https://github.com/yyued/SVGAPlayer-iOS/wiki/APIs) \ No newline at end of file diff --git a/readme.zh.md b/readme.zh.md new file mode 100644 index 00000000..48765513 --- /dev/null +++ b/readme.zh.md @@ -0,0 +1,85 @@ +# SVGAPlayer + +`SVGAPlayer` 是一个轻量的动画渲染库。你可以使用[工具](http://svga.io/designer.html)从 `Adobe Animate CC` 或者 `Adobe After Effects` 中导出动画文件,然后使用 `SVGAPlayer` 在移动设备上渲染并播放。 + +`SVGAPlayer-iOS` 使用原生 CoreAnimation 库渲染动画,为你提供高性能、低开销的动画体验。 + +如果你想要了解更多细节,请访问[官方网站](http://svga.io/)。 + +## 用法 + +我们在这里介绍 `SVGAPlayer-iOS` 的用法。想要知道如何导出动画,点击[这里](http://svga.io/designer.html)。 + +### 使用 CocoaPods 安装依赖 + +添加依赖 'SVGAPlayer', '~> 2.3' 到 Podfile 文件中: + +target 'MyApp' do + pod 'SVGAPlayer', '~> 2.3' +end + +然后在终端执行 `pod install`。 + +### 放置 svga 文件 + +SVGAPlayer 可以从应用包,或者远端服务器上加载动画文件。 + +### 代码 + +#### 创建一个 `SVGAPlayer` 实例 + +```objectivec +SVGAPlayer *player = [[SVGAPlayer alloc] initWithFrame:CGRectMake(0, 0, 200, 200)]; +[self.view addSubview:player]; // Add subview by yourself. +``` + +#### 创建一个 `SVGAParser` 实例,使用以下方法从应用包中加载动画。 +```objectivec +SVGAParser *parser = [[SVGAParser alloc] init]; +[parser parseWithNamed:@"posche" inBundle:nil completionBlock:^(SVGAVideoEntity * _Nonnull videoItem) { + +} failureBlock:nil]; +``` + +#### 创建一个 `SVGAParser` 实例,使用以下方法从远端服务器中加载动画。 + +```objectivec +SVGAParser *parser = [[SVGAParser alloc] init]; +[parser parseWithURL:[NSURL URLWithString:@"https://github.com/yyued/SVGA-Samples/blob/master/posche.svga?raw=true"] completionBlock:^(SVGAVideoEntity * _Nullable videoItem) { + +} failureBlock:nil]; +``` + +#### 将 videoItem 赋值给 `SVGAPlayer`,然后播放动画。 + +```objectivec +[parser parseWithURL:[NSURL URLWithString:@"https://github.com/yyued/SVGA-Samples/blob/master/posche.svga?raw=true"] completionBlock:^(SVGAVideoEntity * _Nullable videoItem) { + if (videoItem != nil) { + player.videoItem = videoItem; + [player startAnimation]; + } +} failureBlock:nil]; +``` + +### 缓存 + +`SVGAParser` 使用 `NSURLSession` 请求远端数据,你需要通过以下方式缓存动画文件。 + +#### HTTP 结果头部信息 + +如果服务器返回的头部信息包含 cache-control / etag / expired 这些键值,这个请求会被合理地缓存到本地。 + +#### 自行缓存 NSData + +如果你没有办法控制服务器返回的头部信息,你可以自行获取对应的 svga 文件 `NSData` 数据,然后使用 `SVGAParser` 解析这些数据。 + +## 功能示例 + +* [使用位图替换指定元素。](https://github.com/yyued/SVGAPlayer-iOS/wiki/Dynamic-Image) +* [在指定元素上绘制文本。](https://github.com/yyued/SVGAPlayer-iOS/wiki/Dynamic-Text) +* [隐藏指定元素。](https://github.com/yyued/SVGAPlayer-iOS/wiki/Dynamic-Hidden) +* [在指定元素上自由绘制。](https://github.com/yyued/SVGAPlayer-iOS/wiki/Dynamic-Drawer) + +## APIs + +请参阅此处 [https://github.com/yyued/SVGAPlayer-iOS/wiki/APIs](https://github.com/yyued/SVGAPlayer-iOS/wiki/APIs) \ No newline at end of file From 7e906332023fc07ca61f66b95bc98fa67c85a6c4 Mon Sep 17 00:00:00 2001 From: PonyCui Date: Thu, 20 Dec 2018 15:14:53 +0800 Subject: [PATCH 014/104] doc: Add donate. --- backer/alipay.jpg | Bin 0 -> 103137 bytes backer/donate.md | 9 +++++++++ backer/hire.md | 9 +++++++++ backer/wechat.jpg | Bin 0 -> 111164 bytes readme.md | 9 +++++++++ readme.zh.md | 9 +++++++++ 6 files changed, 36 insertions(+) create mode 100644 backer/alipay.jpg create mode 100644 backer/donate.md create mode 100644 backer/hire.md create mode 100644 backer/wechat.jpg diff --git a/backer/alipay.jpg b/backer/alipay.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c0ff3a8a63749e163de107d811b707a533539465 GIT binary patch literal 103137 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�X~E1n?ly>fW55VVjemTkyuSSBPEn-4Jf%vl8Z8Pyth|I zKuKp?ezO@2<<~;HcnX0C*%r9hrVdbSa7W0k85dO2XLCSu5ilpOA{3xl2O<>GLRn2r zYFINIX;ywsb->*BzNJzD+AYdz6}Dfn>=K$h_X5TB&nP&9j<7Y@xkIgmE|6FXXU5*) z@>%&uNggCPJu6WPv_}#pph%=smpo7JQ-dOrc0IQWxd0-O?A?4bK_pTRCW5&d6>)k( z-<#a#t_oBSDjtthI^LuM*Zr1T63vG#)>&Cu80EnLY2p|&WHdx#vZ(?Uld>aYHIX-7K0Pt^+>w^$--3B1n<=g}z#6x^b4d`-Wq4>0Mj`hDP=@%haLZu& z2LBqtA94leJr$aQT!GLm5w8Jusi`}pltG6f69lt=I~wQzf0Yd|F;vz-Os*L23P_Ls zHZx;CV2xvif8N>5&IQ57p^#*hI%ubAR*+T>w|{1ng3{JN=NzmN`VaF!nD-UHER)MS z3Q~59nYG{#kT_6cO65c!bQK5!q~I|_72_yyz{93{dWiJ$0+5aTlLABzG};-*+jwU{ zIQU>ls>Os%Q>HqfwhLCUalf_@%y=Dy6bB4{D7O?+2@#;&Qb;9~0p*rrcSoJ9Thl?p z=xfQ#wcsSRbGpQpb5XBUTSjgTPCn$MVR0U$F!BL+MNeh;==L4mZXjfQQM=4*7bK!p z31}3AA7^t1TG5=NIJ7py$;-t7AoTK{=IF1Y)Q=I>w%!erh_SbM1bw`6h{y>3z~KK1Y5GIBMC(1AW}<3^xiEf?d=v=rY2eC8j&q=Z2;yZ-auKvsW{fF+lv4ehTQw z5>N|^)HOV9*zfSPkJhk|fu~Z4a?!TG;c00+Yuwu~hp>8w>ezItBpD@=N*&XMw02w_gVkgmLa1ythD79wY?- z5bZVZ1En8&S`FZ79npjkwNfl$a&B`{lL)24<7^J=zV2)nja1` z#xr7`(G8GDaiXF}yr&&H-O_IE1ycADk@eYpF~`eb%*Cgx!?QGIdWLM0!2R-Ygm-#L zoZc=~ElDo669;C|l7U4oNHU`3G!QO>SYnX=F24nUG&SN5>@}2lq`wtHwl_ek4M^e9 zx2oD$Q+TYZHe%C=`_k?~s*PI$Y3qS%!xjM%yTD}U+)*B6qf=5g10fUf;H^`L@CwOXkQQ zTQFdg14&h0&cRzwL*eUyI+uI_3ST$8#~zmo!qxP|LH^(24a<5EC5bBz@x09trWn)Dz?~NbEa6k+LknLok0D1VZvJ^=5HfBN0Fei!BBP~FQr@Lp} zvQgd~$662saGb0LK|qP=2@9PQUi#oHKT<+oszq6NL)v~+e3Xptg4GW)O+Ei* zk=eYq#+-%}_$xoGo>kjH%9Q9Yto}THNUBE@BMqAasb1x?EQ+&NpWm8PPhVTAqYjel zfpqP=kW>$}8veSx&2i8=Iz~EabdXbxQ{d5ciV1Ju_ETP3K5T1I;WjRbK}^u(CWM9@zt&EV>5@zo>ukX1#d0h^U9T(yEN>6c7di zKN-jp83Kl~8)m2x3jOY&CX|yNo?{MdjnnZi$HEje6uUUj-Bzn8yLcmEU1NYv12X|N z-}Vh_nQy9Jp}_%AH9}#WRW4}hZ;1r&t_q>j>v3GH6QG#}XL8_r_z z%~{MY5N#m~@(mxmQdSJ0)Dc)R-GG%oaE0~096yhQzF2>HqZ$S{EGFXTk4+{oZhs1R zD%bMn*lBG&6YZ;G<#H3&b7P##{smf&#;zW&Z4V37(E75QxNL!qbhR+??gU!PM^9hQ zZPzj^)s~PO9BS_Hxm$ZL<0!jIa7wm1h(U(4aL37g3xJ`QZ8Ax;>mhh7MMa2KedIK4 zg!ufNDD(&2+8EdjMADsHTBHsHWZugha3*Nvs0;MJIeWD31~6~bTch2eXqk~@FrS{M zXF_=wUJo64V+hW`F_ck1mA)`bkW@LhF`7$DcXtEmk$`o=QygRcFcUTbqJ35ok){lR zHsT^wlHGgYY?6@+432Bh0IJDM1nss1?~Vod(#b_qr+h$Ad<{5VCKrf}&kG5f`n(n_ zzn^mZ(0;+(f)^>(BA_!AGicFU3N(o9<{TF)y2T>(L)FTQZff0Izu9g>vr7J3XUtGN zkX$rpGCTk9Tui|?6v+T*=K5|=KC@l!uUX21X7fKiD_crTa*SmhH$FDW1lV;li?J>n zGh750Imbb+)RC5qxWu%rxoHcbV8*C72X*Npg8&)`;ogjUBc@N0Fc(?w;t7oVSp^fn z&KF~y;%GIa=AuVqYOohIR0Ds|wd{(2h<__H!^#;VJzT9rNn;3t*8*`c-ZNuBDMRoc z*5}6<+8(G7jYd800>+>6PUwyraJhtj(`~~y)m?ObL7=VfYF3~AM^x^YLGZ8L4)}ZU zG7!ZCUi~GH37s<&SPq7abJC~0Yk7vi6#_ZzAO$eUKfzcRSnsq{V7cI%{c`cIYF3mR z63cBqvjr(LXBORkKY-Rn!*Q0wisUWM*2v6%{nDCC@9Y15{-%e@t5@~Me_-`P{qCCo z`A@%5?Cm!_&iZfsfZwz;{@?fk|F+8qCr_CoJA5ft+0L9xGMASI^DB+V+jvwz=}P)# z9w=rnxlBH`MeWG2%gW2E=Hc154_t7Ntld0|e@viTfaaR8Wg}wV1Dt{IAm)*viU>i{ z@o$t_Lg2)SFoy>_bE`|>*hEK864)VSKzE;D3{<{|X|ERPBwd+5x1ONJB(&xWxkp1sm(cf*&|97tF z?{+Z%J6F`50Mc+m0f?dWHNLT_W+K$HhWy$mi`BpqdROzZEQ|4)1?sE2Ud-$n89dqi z4l_8OmHmNPb*BRV5kEv&VRyzShK(XV-NFCiT@YX21poa#pu770etaJv-@h;4=a296 z>G!$t`&#+EcKC0orSPA7=5@aIt^aRo|8MoXpL_qyuIJ@{+4a2oFT0+Ozg|x*LQ=qJO*+8#w8IG%X&1=5B+BS z{bo*OSIniS?4M{|W#>DubYevZOa7QE1Dl(X^B!$Z((X*{sw8KNCE6)G?-NQCyliLZ zzv7! ziT)au+aEp0xGc`}tx`Zm`|GgW9W7(~WOLXBdFP9Yov+*ar-=x3+lIubsbGw`lmmS& zdFlhxe8(AScEc3$akTt&vSJNk{_OZ?wtKmmJ?uqY=a2s|6fDoQD4s=B8Q?%?A21x~rbIK4;%IVOwDztQWnw?L0tg;cGJAnrlox+S;{o^XsA;*wZT8P4Rb+ z;!yl8{4E*^g?S81)klTANrfZkXH4qtZRb9j9xAARc9GxltlBcdAqGa!Vvti!LCm&4 zvZmru=iI=t=R(t-!sP6CHr|pOO+Ada=5d^jQB!y#Y@Hv(LSv~lE85p(SL#IZ6PYlg z1>=@V(MyWOld5}Cj_-N2{r4&;-B|bYjo$mVb_&r1E-T91N&ZO0yo|Bm45XjSpKhl0 zEwr(djeqPZ7f*kwS#|K#9*IW_cGC4mKM(pvMpf+U(WaVqbFyca&y6o! z!&z9i24+>e(iM|qr1(OdX?+vZ>^6H{eD($}Zl92UA*Z&PdafHw!(rkPOe#-!$E--Q z3VrLKX6E^+&;*tITY0eS34vj})(-(>HsJwHHKcgJVl2tJv@A3!o$mBPt~Y!uto4u{ z8jQsFM(`4Oo&?XUogz|+*3GCJ4;B5+H5I&rWuR}KYn?ra-#U~#=*sNus7xC%-7eX} zjggU;NxgBAF1$fzi+jtN^0=s&pQHCzX{^s$-r$AOr^v9}LpWMToBO~;rJ zN41Rx&|AzN9FP2A;f^I>c7#r{-1&4%yDyc*hmk2K>vJZKpbLu~-*aj{f(vQF6`u>` zS?4!29rW*JHsNtDe$)e|O+^W2QKS6HM5KA1r$)tnHS9xbk*E9PTl zI;14)R7x>wux7`^SnF&*8+vBjkA)Sq#h7`L%((o|8;7=IR7>Zla*H+C)rV=LlF|_S7||v}6pZw665w!ANgySvfttkbM@zE3M9$plI8?Z;6anNLVA6^Z$~29Qe!Ux`KA z5I#m~pc-zE2WEg_lFSH&D2$iGmX-r^$AQJ>x;7=&BXP%KvxVI&haR^L1<@~ZtYcor zZ6@_OIXf+zaRI2sP`)f#$)}>u zzPo+V!noTvD}8(+d~o8ReK%*Fx&YU%{&lAJ8h9hDsQWTutvJJjY58MI7uC8*1s{Jd z-NhHDf2jWY>(`|5f&PDsBWM+$0{1oIE6U?_}2w4L1uR+REqv^2E9!P9+ScpJ~I^TX>5RME$+ z0@IU;gFg7f3=Vy|rt$W(`P_*mcO!2;RM3IV z@ryFZ&DHjy-o912{mzB`T&8zQ!|gV=ZPBg2j=sZnzDCw}#d8=dBv$N%}v@Ck2ACUgqn$QAO{ctA?wa?*vY>uWjhDYm%SC%LrrUEfhL0}e9&e8Nob+E2Sx|ItW%Q1vstVNB}@9D&Z@(R-W{=nVX2t=kzJ#;ogZee zkPgb_!RUk$!RxYA*M?-Ner&<>GF{8Q{tFjWKRiBRc*?>Ixew7?Z>$vL-xnHYl`XNk zk2WaOchY%J^Nlf%Qk8GalB_&&bYF{U=(G+m4XoeXQSS3rdLHA0}2q9wU9Xs~)V8z@@d~jRO z{W@N7RMf_w?TP|V*9gVw01ka>1lej1*X@2!Qzupi7%u#|ND|6$tCcDm->cuN1ZK34dWEq9=6i=5-qu57$|L z-Ep+VrNZt@g7oQ>4Ch59hn{Iy%Gt-JhjWCq&=DUxg+*;lu7|_nH|+4Gfkjxx3s?DG zaDE)KSnbf|Nv_S>hxPMuX}V=>(%^zSekx6K2gjlPnOG2(5bVuIKQ_~fkN0<^Q+vX% zT){qI_#69XWu#wn@UfBQ@;I|aV!+oE8x*L~Fr;FJiu2x0izm+vKdq7WUREjY@ulP~ zEe)oN4PhKFG}{Kg@!lw&tClO*`Q9H-4lJB(KkRMUj*lplFOTw#OdC(Kr61p0(6yPX zAZ>S1y9oABP?zoPHjMm)ybY*UvxVewjh7PEp9&-G6d(e$fMa zs|D}l4S~f6khBK9>aIh@KvQ(m)0|W5G@lVLJ-yc6Y4qW?_+~<<^yMN6{-BSvdJ6{x zH7u5g<-VSBPU(6Nah6$xQ!7Tesm2LZTQV@(cAr*%G@jAKFJgJD*t$p0Q5Hw`5VH~&E(twXOdHw@ zxWYI?kj+*euaJjl93MHYb-@0`^aL{J`qf{}Y6U}Hur?~_85O491fus6tQpS}@PpujTAU%t)!w z-P6ZvPlLltsHCvnT056b>Z&UCN)9aZFlj19| zo-r+Z)axcH)!#oablFvZZ?M&?h+}G>f+R|uW&ye=3al9>`|(7}=(|MEqKuI&pZQWF zoAs6hYWQnxpB9f#S?4s2EaZ$N@-8-6nA0q>_+vh^=}btx(Neg2b#Yhfb^ixP_VI-E z<$T&|ov#H3IDrLll>E|Sk&K6T+BlB}F{1e4b;xyFxT7Qx4>qOyw*s+Pa1A#MNF@$c zz8T?{_BSz_Jb1B!ry@OaKvlFcRL*;|+kxHh?&)oMUPa)#cs=vU$cg~VUAg6ow+;Dt z%c8#HRVT&ls++YPVZ>yEgm-yNOAfAjV=rbtqMd_TQt+8AU}NHHg~#8PWJg~hF~S)R z{Bca8FKL^}D;KBG3|IW5_?dmzep#m@;IAE6b(-Ec4TOS0tvoW38rUmbagJH{0_Brj zDvIv^GDPBH)-qE&d{Y?WexrUoX1#}ds5hTayJO#~3ie((yFctmYTBs}!Z;CTA=(@_ zEDUTI$QD0kgIE22A?y?^PYaeUI16c z#P>cn-hZwLx8s?0UXqzXY8h-csK5c3QYVV9i;oYMZ=4%<%Em-*M-2GO<#95TfdFN6 z?_p+T#}NIwF~4Na`IXdRSJ+FT`53Z6 zz_E}r>W>dZDoq)k9`!~*1B#6F+z7B(Be)T5jZ0C+hiPNsc=gEnSnFZ^ggk?Zc@~|^ z4nu?!eUquzK-SpPnN|Zocl$VLmpogU=ECeV+s2y7jR%h;L_e`6$#r>Alx_W zyAav97na3ttNp21R+9NRj~guQsTHq63Bv`FCgDdqfC0pQDXsb1gW>?edB(0PIgNfU zjp`I2jnX zEfIPbA6<&^R6r$&9j9Pa}m*9!ard-xd3#RZ=(HK{ElYT7P~F^Ngpa!b2M zq({zJkMZQjkIpnQPwjXr*mBI67y~;35CGZsR=d@By~>EQrK@IjzYkVL9oe*H?>v9E zg%&f1r2`A5Gm#lAGk+7tg11d|2Q$Sr%iNsd?q$^RKI7)zh->lAZ~Gn}b`oNGEq9_w80d%7Z|xa9c<*yY^KJj-3x*MBw(*RV|RMI;J*^=C1 z|7l7(D_;9$x^znC-0P&nf*_RicpZh>5csHHOZX|A(ZF$tF{6EMi4@@=ADFw6BP#gx zn%jGl-L*I1JJlG*GGIKD)zF@BlBgp=adOTMGNz%Y^WZDmD4T+Jx#lJWf)t-}>1_CM#y2gh@6;R84W zWx9GeGh-yZJgnt9syaI+fcVCZC-&UjHq2-}4s*{bIT|0cL}CsfEKKibTyJM8Qm1zO zSXpHBneEDw+5{GLAi$r}{W@%6Z!TE>_-XO9{A62_+F0W#^C`DxWG1d8S&YHG z@R?1o^GMIFrVUj|VJFe1c{z5d+c1g8B*dU!%m*N3rw1h}A;ejBEN6B6Wg@DyCfd~_ z@f>~m)6{lqak~J%VnsE;TXva5;CNH7-zZiiIp;$m*N8Cipx3deOjoU{lLzjPvGWEm z%Q_46h7<&&ldyUxYIeUMFH|d_#wZcIN0XA%TnIfZ8>A#Te^M4x-aFgJx3k>vy#3u@ zEOd@qh*=gdRC9d*J9i#BrJaTB#EaL6VePwJN3=PYXs$YZ4yN}~(4o>gI28+3vD(0H zoMCO-p#80uzD4S>Qmmb~)rOub+_>q)&J~LffdYrF>=RYJ56|JJtC0gUlVkM7(ij7b zth{q)OK)q#wb2_NkX_x#CrN?wvvRpJjCv9?vJcO!rvQz)VQk*M?kqYJK@VryV2_%N z_j)y`6!Qq>YKY+OJ`o$U=7N*M%uvy+2xw;spewS``0-c{4FfTj5mf_8yX%(@uH)W%^#{V(~W&ZhgHGnrKdfjWV+i6+jo^3SSibL zPldO<@gyB#&R3`Lh3?ro72Se_0q2-DTi^}nxRh7WurX#$u%do8=R-F zOy6;x+{diXo8T6HXlCAy8&_s8M@$O@h4J6G#>Df#sn@l*PP;S8&&*3cIU$RPn{}>G zAM+vKD@c2FDa|wwoBOm#q;dEG5fNaAEG83&^6vmU@>zO)a%2hLie>8$hA-Vbe6X)7 zP88mJ+ebg&C;v7@LVLWys9Jn>r4pqDrekJB()*9|NHG_l0w;k7^B#BNeh?a}XU7!C z2ctxRd!m7%2)QTHK&y$LQOUKx z$XWmhuGB1&(kZOTI;_8IoP1BfMrW?xQs(u{V} z&xIR*&Mhk&hffCy2Jou$^YDCF_Kh|kMYL%QjO!0d-eHN*7Lf} zkD8m)J}BM7=QVI$pBdfx11-Ld?b5~&KY*TBn+dEmp*QmrZ?SMwp4`k|wm-n%woabo z81p&fpL;1ffYkG3>8biM$ubPlzigCiHM(L_Yr_1ArXJh*tU9rA`CzJhy)kxl;!q^5qer|BA3T>N@XVl#A6!Az=yDT+X@do;pv5kR z%gW4f*vcc%WQMF$U={s0Kg3#Tf&bk7*SZ37OtdRdhe_hzS#$xi#Nc(O;bgI16pUo- zCavOjQuu{h)8>_l@+tpW({5DfOpcPVY%i` zSk^2ZWf4H-C;MqNgLW&{gD=*KrdG-i=y5VsQ$NiI`$W&|=M*wnu4lO+itg2;INB`9 zqF36ByzTpuUAH5hGA&D~V6PF-aUwXE&su5Mv5%)@Uw^V)2^GoXKB&^|TO}f2U6ncL zY@tuHYi<~BKR)J+&ALJkbjF;0!|VO*%JHqA+0vL7@|ex3c(GD#uO z_?Bw>ny#riQ+7Q?=1vQ?SEY3dojUgxT@bh`qWfT|#7VerP-D!D8=PNuXj+YFPQX{Kzft zg4xV#SEj~(oCA4h%a77V#{TVGpSo*&b2F>8L1aKf6f?WpsI%Z_B8cwnR21~dioVt= zIJ{C8b%|2k@XqoUmjRud56gN0*j85slmk}toO?kTR$?>HqKncQCqdh6-Q%!lJfEF9^ziyt<&pYrGm2FBdqk9jpvQ!NIj@+M#Rd& z4w#&YJuz03IZwW)-`BU%^L(mA*L6B4W>GJ>hRIgWFDGB-4G!j|N^hCh5>B;rZ+_ zYz>~d;&Ttq)|lEU<@Scvw*wpF-SK2#L5t-b4QKu$*6c`ZNGe@?Oh2Mo*NRO`zYWhj zXDFeNL}YSdwckfh`5NUa4IR)jXTGB;W=2x|Fd8p?Z+mL_B%WJ(d)9td@lk2{Qu+-_ zZ%EbQUzms=gmJ(oD^073D8<5AR^G`5B{93GSaA{A7wwT-th+Z&PaiM{*BgMV3V?RMg`r80k7ZPO;}kz2+K|mzi-5{>}PnX^pZ-Zu6B%< zqUd{cngo}EdJ}rZg)b9jH+9Y>6Q)6?Rkf0HR&q3vk_az}Cv(U-)}+oC9QiO&Z2p|f z6<)pb`AFaGO7rvZUw<8;aMZV*i1uE1lFD++8XbI^%Q)8d{Deb?=;27+Uh7J3{S6l{ zT-I_caf+_)pe@Vg;%iy%Su2d;uw_tmTtEdff>fAu)xc$2^Mvl26z-j67E{#Um-EVVp8)r|v}*%tR|5pyPX2mKOrcr|`38_*mivA9 zZzwvY2E7mFy<%q`wYxLC-hzK5zP$zBGG$3NIYcvGB$Q~M#*}t@`e_+liz)2mR*G^? zr@_e!-o9r3&F+^_<4SmXa%^QqneLd9VKrTGYSvS=?ArVCyASp()ya&|-4UKdhlp>7;&_t4gy;CLpvfjL=+{w|> z12RLW3lQ)0-zH^PY;eY*t~#Cae*tT#89i)Ew~Uiwr;rCYnwJ9R`pUZoq)Rr72pB%r zuI{q#)UvZR3mnQ;G@TzQUC%nU?!qrwd#9@O6O8>2@&ksH0c}RL>Lv3QwUw7~Zg9NM zwV<@)=4Q@%V3-aG*=wDDhs)Z+lb%^coy>Ebn-Q8&vc7rk&7hxR>Plx$)+Xb9$oif% zu8Us4kBNx009}a*mXQ*gMj%MVNX=3d}wJ6%{gdNvvbpo}V1D9s0sH`5A(Im>RXKEaeM2fVt z4{m<_yofLJ@V2OT2jgc+A}FLe4Kv~pS0mwZKpicwO^Q}1&L-n8_OxE^?aZ+d7rFbc zj^oW}eNFs|87hk9z)-iOdqrowl=8FlP^~_8K<9ly$7EMggsg_Op>?J46VU_a`*3KU z41AlkBSN>NkS-fLUn5~`Tz{aF*LD$$y;!J{vWt6=bDtp$;L3agGX^g(D;@{6m$Pg@ z_AToctv3=q(ci3O8DgmAb#?5=#g7`WDS24^w%{r9q9xC?k~GG7xAzCSaC;IGPCX4O zUvDf~mXbl5k+#%1b(DB?r3I&wU&lmksD_s>?^lvWfzdNBYK>^QTJ*GAp*_>vwdC5t zjkKvWv$R3!y2%sa0ac9#V|PK5luOxLUK?h4nq@JrWM0^#7D)|}MVAuks7H@Wr4mK! z6w)J3*x2JWkwxN|Cx6zylfG+X{;Ki+txfbg@AG$U%-c|}ss8MZN`(3! zPZ5gxqrZPM?t{^TI)H-#9OY{oDp7!%gNlZO>YxdLfR8#v^{f2xZvY4k?IAjP21X`k z@P<-$fSQVihMJb<&>>n7HB^B=fu-d*bmZ9S^K_iXx9LSaxD+16zhMx&P*l%-t)C!% z=FWp)MkXF!K7Ij-Ej&R#82xrhQRI_mZCeWs~csX66=_R(Eaf>>V7PoISm~ zANu(E`9FRV5*ijB5t)$q?0Hi1igOxwXCXo%Cb(CtTng_zf2L_cvsJfr|r#i<*{}hL-*( zTvXIPKLO{UJ#_3e-I4Rg^tU}YMHL<~a9xOhQ&i6=cIFy^`_6-YCLVD`oCNVFXulx) z*8mIt{{`7U0Q)Cg6M!~2^?w#>@JmBY4ZbQGu+V}afaMU~peF#Ifx|0oAw zC%<~2rltkIjC69 za#CJJB;7*lTwlB%n@dh3-`vgpf@*nm06@a_>&e}gdDLaH`z9OEdEMWYnd948v*wvR z@5;HG>ju+k)i$i{0EprHqqck-^~jnR`ThrlnEAWPS2Vsab!UATDn?QKT`Ac| z${xD+`+?EFs}KD;bp=tF>*P36|L*@wv9#Qa9BV}pf?fl{-HRw$?C@3elrC$$nq&}SMd zXl1Gu4j~egdQRKq6ME;-jlGc&CImMz4E9;gEMU``Rqa`9DU6X!PfSmsoF*8{y^-!e7l=_nu{#2-2z}tj++nv}9D=d`me*KfzI}E>U$LmFw6q#&eHLv$=#36@dF%TC6@|qL^q}AP#%vWpO@_VNrE?O^ zQEFp0)8e6uqr^6%I1!z&sL$$|y3sq%x#L&9U!_G$ifSmgIX0vyc++&%UE{QeY?7-x zS-sHF$6cv5SD^Q+p;%zviLC4QBm0jrH6K4->r1=>FO3VXzBC6FMs`z}uye!J-hs1l zcIV9%pCnIfK#4&yEdW+N7`;}e(41u*^0B}tWj%@LC%er>V~>5w^OJ-8XQkIeUywCl#VD~;9uB6#X@N{T;?%? zn6TJ)mFBBN3~X4mxKv;9y&MD<`U6)MDxTm}ShC_8$-^Fc=6*l$`ucjcx!j zPmrQ8og@^(M4T((%?AMAa^bY}$SUXM(keppTE=bM-S=bTFXh;rE3-Td?Nf`Z)|1qu zUe8&Mu)lkFa^DuckZZc1q+vLRiqPUGT_RdH(KkHI5Kxlp<#A3wTrwbAT5!prLPgns ztuzO6#HuaTyCxdDL*Ufx&dB)OrThu+eR59{2NN)uH4HEyU|P}qOB|%CmM+YgKbNQW zVWfBV+m~%#CGmHwDxORs&(8Bw@Uct&K7i6$OSLm7wAmmC1mGaR)-$gUZ7uLFS9cR~A8N#xSDU>v)! z;G8nJg1*GT2L#3y71lO(+IKwNx{u?+;!el5n(V)!@RI3C2Y_63tpa5PDRKZjv2NZ) zJn%);j~6>C;|_ln4PG1A5aXWex=L&VT-#PxX%Mg3x--W2<{eh8=L2c3k@)v)d}nZ| z=JhBWj>rSxs=_o$%rbp$(1bU9hq#~9+B z4YmMx7$4CSb0_cd>=J^JaU)&X#1-~)QiHTczerKXeO@xY8S$BTEpszTU` zVn!J2d#e#jq2Jg#>mB)LOY=Ec8H4d&Q@7}E-fbE;eItZRw}&o2ra97{xV=yiki1%s z_RXvlNRA|1eyDvv$Dr7KB%mnAQf%tx4aLKSVr3yO{1Ph;i5Z=@KkAUW)tNzK5%rJ> zpP)L=-88i%AQRVsiAehN&8LEfgv zP%7OXuA7zj-g!W|mdW?jOcUf&ZnP_z^UVsp*sW+T=IUOP{|oCV7V{>v?g07pn-{*` zSe9?~^rN-A2wUJ|r#*MrnP;I69R+99I^pXKkA@e+8{^nXsoRC#_QfL_`ni*i1Kkf@ zZ^cjZmzG2>3mWPqsU{g%ql!~FB6N%siLH$VCiAW{4enw0kzG(uiXh^o^*WoAnK@o1 zxHLayZ48||==B0WVLqg|R~pSNufwveuaZ);apXMw>Y|n`k@t~?6k)y@1%bNAP|a3j zFx4(upZXQ8p`2FLj`3FKWbG^LtW`QwWU^(y)_De*-<#ZOqQ>_f6@spw?+3kFp6lh+dkP6?4;A2zo>cZkdQ z+#xe4kp!KDcA2JrK+O|S6{r_^;gEyDe{VrI6OTu{A-!zGP74#2o~Y%dq1+{EhSQpy z6wTS&vTY;vzI3QnCS+R&v$AoQ>HvteSs0D4j~St^ihymHlB#FRUQCK7d6cTFOOLOI ze6iM-`7l~q^6fE7D9Ws^kfZPXjtXLyMp$+I??<^EzIxbj!wJ!c-ns zN}DA(@AO-7C&N=OlxUemGhc4cn_zAWmot`1v1WiT1_?=!LgPq2~}zuO}N3& zl$c7%MLE=HeaHFKXE6G5wwN2;SW$CJak2B1wxvz@b|Q2;`e}C1xJL->yPiWH5P~sm z%zVd$H1mOUX6N~Su@e47Q&F!yX9mGe{Jw|kLFd^YOz#^ zFLc@oD&|XtF|(*g8O1xXNHK(Hm|;KJa!&YUp=$wI`yGrwK*}sKVAhELOLz6X!|69% zOLwH$SzYE9zwj+vw9OT9Uga1ro5Fv0`kta;!-$&_VBFL^QVy>sllK$6Ga?`~8rC^3 zkP>Kf284X7U&cG6udtez=)a&lvbt@s^3ut+JnlTv?8vtzs+-H*8VSn1vU<Xbcegnq;qsBkWRg*MC7{;7CSGg zYYJCoAW3&G^i`k6b+WPg!eL?hgZE_S%S%6%#~h2C<{LVtBjgbj{_gb&(^;xV&2Gjz zf&H7eb-0YE{*+p{?eifdGGq<%?bKWPgQ0(q%zy&S=~5`GZ-7;G(UA8`=76dg1rrYk z>3;Dz_mjHO?VR$*RZeteC)2xdyyAp+C*w5<(D}Gk{n<2{%Puv%%{Guha)5iDFX!cw zRFZF8lg-f#v+5DWZt*b;*#Mud;&TndpCWHuvt$l$o(;13ad81I|moC zx(V0!d_M^vwf1$JLgZ8oK0g3_xR;rIC)&fli{i2pB_bq;w|c|Ul}Wxc9MvAV&b#1D zfNLYo z=fg5@EFJGU{vyd-e#+YL@JZp0Jl*#~pE~M;+tzgXw&~-rkWmvHHWEQkh~2zKw99lV zCPiJZ7{2q#qqG3`;zW!k>dDj3Ep$};{OFI8eOm_kUxsDx%_e-)a81cH5uMNBi;n9l zl_F-aRr6TN+HNwH{#eZd#W>e)mvX<$YaQ)U5)&7bXNZ@=A>({HAt74UV`bw3a2>~d z=e2boQV5qZyfWh@Sp9$P=EMKNGW&{IA6W4`jKGP)q+^!Kv^UCh@4I0Cp{~d~hmt%1N|_Kg zL%MHz6y-w&kT7J-EiF0z6*u=ykDiE zy?3s8&s1CGiIP-|h?Mn8n2PbF%~F!#AxfBw)~4d@g#OnLCe|86bV^6b$J^o_`xl;H zs}JWFW;q-=&q}pB^oTsVk_v5ZoUb{)Ziy{*c^Re7#^|^!D6_p5n{)uUl?@gQFiIAu zpDbL@<~84_pgp9UWETD7^xZ{}tTq#I2)k_G^p3rzN=T?8jCN_>X1LVV%2f&PO(Tp> zbMcm0(R?<@Y?|ayX>AgfAevw#E&|8@(7D41#J9ca7r&MO)NRwppM&(OL{Yd9X2kWz zxF?mok4yEGjuX}!-g~=V4YXL!!JB?Cb=7G~QZaj4+^+t))CBTEBkYc~>ut)g8hzY7 zBtSkvvU7b`Z6jVo*fP1g>tz);ipRmXUVN=iFi1%wx3XktN{kb$AH6lIKL9fQFHq5n zoPW*sEv(T-m^c!(cgpwL?%Irvp)!kllZ>DD&RAwqX`C@nOcry!r=sz)3f)N{DBR6P zpZ`AJpyE2)ayr%iOESx>96K!V-c!aty!V z_S~1pUz5K?olJ8Ue4vUI@lx{&TM)Y?LUPDkb$n*dELZ0JU@i9kyAgjyUY-hTgR|uq zk|nz~vSOti5D~VnbHbY995UbGkZ7EYr_j^i=rBI37S8d!f*MEF`(&_L3odXh0cU_qOXP|*l~!UdI$WTf$x;5p z)_!B`Qtx-@dsEXJc)%h3M> z7Iu!)$JK>1-ILBSG@iuU#Fcth3GEJuiaT=vM(V65Xj&wDas{Y(oj!|WAsJ-@N{eASVg5)N;t3!(H(y5g==@IfN_G~-KUp{$m9@RuC zZz8!Tnhy7uXS!?`?XKh?r%?2Tbpjz}nT}JNOsbH`&(LfiD<6Cyf!VkPZ&%QM0Hlv> z%27I8h!-OFy66YBqu!%uw+f;$tKi}GbP|;71!n?_|3<=p7#B4Ox<8|Ru)FdT6G<)Q|DF7A^UxeKRxyV-RtP z(rwn-#3q6^^fZF(Y|9-0+&0g&(o~_P$p!}iogC$2JxR(u=NM{Mj@-NG97*wmH97ge+BjOxU4UiB5O^sLTNgK) zAv3oyCf8+^3Pk$sm)H1O_a2;}*kjT@dl%R&M663DLZ_d<{E=w+CF$(l)J+cv2*hU6 z{x-COjzBP;nQ20O!4P1JmpA8NjoliY0fkG%yM-$+!YJK0Le}xj1Z`OFxQ1~q5o`Na z`^Rw?g2SEI`zMDtU-afGyGrauv#9QNz&5^W3fM5?OunzQ?}}r(_R&Kqm-Qek6!V8t zkOJl?Z>mr_plSCjGw@gfvX3Ko!db-?&vXKMbt;&vT9yy3VD&oo76D9?}k zKhrqckx4uYHN#wt8`OkRnCP=l#b^53J7`9KXUce+iBj8?vEJDv#d&=#36zAD%m%@` zp3PHs&u28$^1rQRJF^S(XgRfPvB14Q+5nA=0p-exMql^DYs1EveE035gTDQbZzH8B z0ln+M+sG5Y4)oQ2gbq$s1M2j~dE~8`eR5CyGuI0iimuP$rz>66Zy>Uw9k{*{xJ@tw$W z(>$wjjpW%x;TuFiy{VhId{lVd?pU&)jg>SCTJyTSkuU${yM}GB1~PJIi5O@B8^7?3 z6YDq;fV`>c|LR)DEv$6b_@K`Oc{jtr0&#&*6B?!*$2%t9LKLOb()b+Z+9Rgg!|N!1 zOJtP4?PW_PBSEPwdgC0{xRvp#Xpo-SwGP(qHy`!d&I+DiHuOEjy$ox5<(1jlDfnQ+ zwSR&f>)p6zQZxPiNBRVjxv7?G#4EqT%PD07f0-C;?L;4N+Vpk>6~^tV8r9=S;;9qp zjjf(gx86{cXhjWt{y# z)rbjNE`J&?!S5l^eEHjMNyqTZY{|g%%V5dC^hY`TtFZnoZ2u^~jF?~#pwW{a{IWAM zGPD0rmtRIqy?<-O+$aCJ{Qs_hlfl2>fd(X%KXF6_x(A%D6E^fK%Ot`ZtO7f&r8*y8 zpDkhFr`j!+MP@1@%!k}Sg+HU(#Ay?sQ|Fqz8R}n90`4PAH)33`rfu6^Hq#pKLl|cI zCQTJ8rZm0O+T|!6)XGC;T%Jb9BBG&!zTCDEjf!`?@Y-6b=|Os!s&eyHL%88>cgq%Hjt$l8%PV z0dOt=N~VuH03tH~a+6~p%dQm7UoV3829t)FE&AdEpw9OIAf+nOAS3JkUss_xE<*V} z)#?F25P?#T#{e^LKmO%f++Ux6?(aeUjj6xq)bAzw_v-selKv(Me-qEYx0ye7?Y~LF z|4}5NAi&zdnvZ9sgR4B`OsSYrq{4&ybU^#r*Ua3H(Y`Nr3B#3>&V%9K_nT-uYc;u0 zTF-0XLZD}d@#mpx>-S2HM`XS_vWrBSJukqUOE~|_3VpCXe|Rezn05cMJ?<}yqiT)$@AH3{?Cj)KxIZDm-C+C^SJCh z2j0DnY$`tJ|HZM=&^L{t+7ths8pzXI?V(4`-)Xw*c{fL$_48J%*0v6} zLZaKMlLhGQ7ynE7|I+~QfAirh*W@0i7P9l^c+Kn9g%pDQ6Lvm%zRAxk>GOqwo~<>; zru>R)PlkJAz19KW@@t>1y$9{eX=kgK@9KzrzUM&b4m8H4(akhkDGC@?xo_0V?yFQi zXeDdr`$xVXx_4O_G?NscI2iaXtmW+_8^Ns_1Dq#t6*}>Pw01Xag@ibs1`J2m5pv0q zyU=~Vi34D2}V%UF*(^2F=EkKZ_8`tD<7G2R{EHF2z5H-3T^XJq^8aAJ_UX=EJ{ z4q~o#-)|DNSXQum3sl`4g&qw4M)(IdCR7_b^8mo6VJJ~nGk-Y`1O=eTlmBoJ{nJhK z|KghJ(H!On_jcUwX2k)}?`pmMm-DUNpV$gI82TH(|8y(#O1=T-(Vu39Vz{g0%2LRBN`$ku2yyUR|*eKAQ1K?%zTYPd&SR7)j)Sd9O) z9RF9>w|vnQoxr=4>NV(=wb}k(PPKx5i$woTS$2~|qoPpnvZOi1l+X)2RB^a-yr6Od zkP0U~pG&FcoD~jeP9pkkEImxU%Zlv?N%Lnk-t0?fk^Po0h$JAV#x`{yE!M=$!jN0b<>v$@Deta|g=Ogr`p zWPLHZT1$BUdKJ<_03_t8X$Bs#=$d4MFdU5311J(*?`W3HZfO{a52 z`-nFCczjTvCNOKV2!>|PAtjtW9B0@x4Dzow-z^y|%(_!^&f*2}W+`HC&)j+aHKjY_ zh_^)!yFOhA!njACuj$;%nj;OVi0EBEtl{xta!qch-~#TETb5!080Y1&C%7c@7TF2L zIw>whU+iBpE;2p<4EZy*dt6AB14)J^%{-4DJzqm}9`i5qqw|O>Ks|udc~yA9pQN)4 z%xVi*FDYxgJUB1^{^-JFAANQ|2zo}|vhuE0ickK{vQcSVf`jC1i=iUuQ}kE(9E!}% zw)1qjR%XhjmUH;cz?OmFr=$^4hA-Mjl;u}-Ei!IIQi7mvm~a?jaOXNHWR6c_qflZn zy@Q9IR&$AGHqHa1MD{1E5Na0Uv_yRa8Xjf_wv@iJo{0US&_?x|4WBz}9=EP_5+O>! z#BDQ}F&EhP8Jv=vV*SvjxBI-?zuN=OijZ=ejiXxB;`|h@&6DE5rGEVu9dj~yH1TG^ zFQ*SKQ=K7co7r)RCi`0oM)Ff}xmM->r3x}W5vc4J= zPalgp{|L})HS(Osltfb8LGSNR8Nfncb>JI>Pv2_r(m0vA)i~jFw2k#br$ehxco5qj z7uD{<9z6ni0E9l-Pt#DJbG=Ns>9XtP02|u4^ukT%W7VjCrR$x5M7TY6BN_B1NAJHC z#L2ZCqNY_2|@Kg-i!4vCi)|8e&Yj5&#kaSOdX@GIyUs$Q#ws#nsYA|pvrDox!! z_*DD%2u^%(4_sFLG2b}iq z{dVc51pQ@0A4MaopD_$Jl0>PU7?K#_u}MikQrx%oY9D%CcX9S}MU42Vt18^$?4Q?s z(f82b;wVh&dq*k#6vh24ce4BJIuo3fsXKyuTCvP*=UaH+{L6>Iev z&#CX$CHz|do6`|xv7_AA6x2neR>uLUZi+lYqnK1gz%+rhKrW**s!5r1Y`x_n|Md{} zx>;|e@Hwx)HG3@lEz1oMQ#MqtVRbiDli%ao$00_qkMOo7OU zCM5H(2LPFq2G>V=w0FbT*&zH%Svn+g{#tT$$m!#w?OXfvGN=ofvffqqEF>1mIAK~^PjGh;lOcP)~Q1!lsx-wiOzo;!Bu5$n8w z?a4-E#(9zsfD8i39AFM1G8sOU14v15W;(SFr{ox0cDvevW1g)2D;U1QhL<%e_a@IQ zrGvz`jAT5Q5$C#hne@O=ZO;P5U0dY#NldZjPL7c{Yi`=hGgTUQ&!Sg1FRQp_kCh$( zyvO;vFx!KUQ@g{yWayhlq_^IOqXsQ}XBdX`lUjems2y`!$viP%u0OIVGz{Bl%es z4Tjj-yOU0tH=xF8TFquyw`D}u8!F4Pk4Cmle$qd@HhIcjd!tC>!RhqvtqgoFff_Zg zGHX^mdsEAUE-TVahH)>)vHn!S>QyPyiZ0Q;0VN`Z+rn`8+Hc9zhepngZD>{4ksWFF z+TPZx?MI=U1DSU+NXEG<%Vsl8%Er=G&kOzZ6TjNScPuuvN_S)c?oBLSn{Y;d|4l8c z3!GI+R4n1EMyHcUBG)2=8RU^@ZOGdo=;KZd8>tGn9`~hBw!p3wTOzf|80R!yTz`C; zPQg#eAN!q?&}ckT8W&389Y*N$N10U*N`I>|;}i7>u{w9@ZbiD((-EixJXqiWh(h7i zM-YOyz0vNLhJ$Y=Z~C7G@RG|?V?&};0=Lic0Ukk`@2G};25}QInlPjj*wxR3+&OM+ zBbW;su1wX!6?;_n-FX`=IdNh89zf~LVEkBvLn0|h>764SldqV%3on)(+1N!JV^#4sfu~vGRXT1V+%B;C__`- zPJ=_7C4JU?GASNY;hnIm9Z$Gbdk%4g#Irw#Hxc2j3t<>%__zy2fT!_>z&3fesdC71SPnilgC%sL1?8$)?U1wf(Zm&Ujk*%!}xwyKbUES_b=h(AgXm6Uu&u2NNVy z(wV`vGVQ64{A(;IzFJ8lZ={x#@7e*-Wc4Os-?PaFedf@YYAoy3VUZM7YD^)N1P1=BuDnC` zpr}?ASsohhwtUdRkH=LBwyE5MtbK_D_7eUJtY!ZyG5qhN{WNsAF8C^h=5yg4l#s9T z2wZgG#;3?D_;D=9qlI8!YfS5L(@F^=9BnV z4Uyk1maUMv)RRlt)00h8A}Xx8B2P@A>?D*P(Iy0it3i&*DNbEwlvz9W)DB#+r#dcG z91nuV%#3F2BoN`NUy0?~BVNfW0=fkr!m*i-O-~Y-ldnr_@~hqoESkm?GYeL%ui~ns z)~>t>>%)G*hJtM1(+uirO`_IdtJHgE&ZUPcQGTqcn{!VWmI3WyhQOSUIY;L)4Nz*NJbKEoH9>u42pDG+eiBF%|$3R^ykgCh(@xFy~ zT~^K;O{sU9d7r*Z}|SC?xY7u;}F8}AqY;kW-blKd8wR>P3fwQ~E(N}BYbHiC7vAZNJr zy!4=UCPT61#}h6-y;*r8*@bGOSXRX| zy>yTJx4`C$!gCU|b-?|U%LUH7U6uPW$}~LhhAxfbHCEHIbXEo-^94A534H$XA*cg} z-(icw8EUafwHcs{0Oqj%+WTy(6ioNPtFD$i~G0L`6HH>kd2{W(Ejr@Qs!Inf! z3&s_{(aSR8$`7*qcy-O=hY@`byckM8V%-3z(-I#g>kwNbdLw7_JY~{em$6@vfOvfQ zFj|K)8Onr767)Cy#K!Q%jUJ6^u>m-D49 z@aZSPd{X}%EIsBun38gketqA$OA7RyhYQ|BkMnUAeKJW|TWDp9!qVicoKs)mUaw4g zbKNgu#eQ3Xpmv)o$rl;I>*IgQ$unyyj^5)#r>QUKl+d z1BVgd5puVlxpT@qAIxV>VJXjOz+|FF&rlfGaj>9i;c_CjDL^U^-YW3KdA5@ANHarE zTPIt!=O#z&@NSH7X|>7NImhb!3`ouglSO*F^ftrNc4N!D`qI=pGE&Ls8v-T6;zxH@4u(QvKd9Yx%U@ z#dx|YL7K6lXpYfHfHLSpL{XTiz}3S|dc3EBFf1lH5L$Y;Qw2Rdd^|h^YUjGn>98`i zcKC6BXIq65DRSe2vpkRHI^P?t@bndwy=Gj%b0A`;E5sd?I*~)rk8%xc#|&QBG3p<59EEF-^jEy6=@51iZgj*iXli6)xol zzf%Ym*rTiVnKcL9-f5A&D7Ft2AzvoCsH>&+@hLz2>=14~n(cLv^ES=r4mr5+wi*n$ zD;=$(bRJH?Z;xgd?V80X=nYtmpS-T1dh~JM;~^vZjZ$#tAG)%ixdoCxp+~TJK5t0vRq<)~sJ`*jFNj8Qk0p3J z$cn;u0+VOK*^|ejHPhKweX%>hepx={>6+Kpp$Dqy0T@Zl0nadA_B8O| z!%zlBpg0v*C!Z$qm%V$iv<~hbe`4$lG~NK_l2lagQb+quX%ko!6rz;I*0K`vmUD03 zJU;47`=$4*TuR2x(QdD2fO!-dMVi8)##V5#*+li`yba4yu9&;wc3+dO;Li^hGOqNQ zmzY074nn9E(c@4YPd=gCv`U$JJHeumdTrxdl)64Yzfe3FP1_9r1d8U|Y;_qWl1(ot z0`NtXMHTF-PIOGDzC3b;z4fr~4tn?$*<(KeHJfw>K}ABl6QM04ryg4co{abuJT7VE zhx;N+$42ugqX5}zLDZ-kB4dsWSFcFU&ZJ4rOD+z*^faGi`k6Rc&7%??C^ z*<*(Hk70QFqO)yVo zxwhT>`oYx+M~dDvnm$)xej4)zPLjg5$oSwE>ZT+c1Q;D(He(;0_c)bMbt_ik@)sY8 zu&;2CwJ1`l%bx)QJRk@tPBHFbhSRB=(?$Hov{#sEwt+tSEil%SwwXk&#X{-XwJ**e z+ka_8v~gcEIIJg@yniiyo`E-V|5)D0!=&B7EM?_)Vxdz!ipF(JnE=uhG9x z2kvQ6dTovocbHr%{)9HSe)iN4xK`a%vM24Q14T5HWQE8I5s56M?yxhlaHu zeSiM+t0n9X3xHxjqdzwjsil~TdotdFK~I*%41Y;-x(cg7+01-QUTtSv?IdU$5-8cA zEZLx+7gx6Ic2-KU9`-!rBEWX#@eS1K3J3!Z%xk6Y+X5GMoO5+CwUJ3D(D5{$?VyHr zQ?T4?(9+zNJ?PlptV0CyXxpB{4$*6;WIR^UCo(X~pHz5}2HL|^9~`_w(FiiAxQOtSRHmM$A7iw*sSN0af}=oQqg%4#f#Pw-Y>rAwR^Hy6uu z2Co-OoBKB(AG_<(7t64vwEx=Iy-C0!lB}6S%Fs>j`8Ztgw(`*dP{Y+B%=X2R#_c~* zp!!z@ssGJpct2<}JQl)CVRG6T&uA)m$Rfa8c9J*M@4;DBks+!TE^}tW=A3yj@)YTz z95;#idX(AVafypXLNSf+v_h-$fFF%JwZm>D@Ug@>vp2Ti&L(QtnBHy|oU_x^DkT?z z;n!LSrCd_^P94cF*SY;$z3^)CMWF{febw)={X+tjVu~i|6g(Vri0m@^^1;R3mP9{y zp6S}VP4)Eq+mRGCP=mD|ehopppQRx-Z>az9(i`U};nCaQZzs!l`K`TMMS+~dL@2ks z8Wp?;gZBeBGj$RkH5dsy<1LLkgvqCkWpih3lW?ix@naorL2NGps)@5;>@nk_ z+VsmgLxJ8K1IMkS)JI43rmmhh<3~p#&!Fnnp!Vok8z`7mP;LM1b5nuP3&2K+dOKKW%pTs*0YJmJ>UVN;^u9C-a*Dil}hv&ris_S2g-ckAy z0*>o7AwAg#G_WFNz(}LP4{lHN$br~<>;W0oE;~~7>1<#otpk8*3CT=IOC5C*&|r3V zrQSHA^j#z2s=j7Bx(-E>PHr`nGaFHa1^X-JD^}jO&YxpY=l^WFqsjQ1b&$f4Q7~x!;dk13^*70xR< zWL`S;{5C1rg*32V26hmI8Ec&n&BmD?9yfbaxzTXpbS2Nj8%SCs`W;TfN=qfY$(_a# zdA1)Om|pJ0J><}*_xfpI{VdiA9t9y>LX96;Xo0e9#|7IQ%jl{hJj>UNQb%+bDRJq484CNv{qT*}!%z%2`_FfUK!sBSFHgrC8HV?vxryN6e zjxU72jY7V`Nm!FC4#x}Vg}S4*Z|DEO?8j?(qX-K-@g&q-3{<*rxs0e6H9VKnHYVUq|6|~Bm*gHjC8~&QD6;3*(f`3GG*zvC+ z^afM-6rAt{R+>ZKyZ9>h=XE*cJLr@bBsER&b(|1f z`x#nX$li1aiiIrQZ*EZbVlAb!B=O30;pzjJRzr|xPNdXq??mfP+smDc1g*Gy$6ZDL zky7-OA`h|qSgg1n*0ai$_LVK5x-t@^Ik6ME|FTvPIjF@JRgXDx?8SstheNQ-L(|lg zOwT)#&4t;r!L**ma;tWPupRUAS}njjzY~A)n@iP5%-3;Mrdq4x^b0oJdsLLE-7x$E zgw7k^jPqeSBPHCi_g%9bA{}idJVSx^*EFws!n3af*LX~6i|S~^GcH?^26xD$_<6Yy z_$N$^hWYG;e&+_hf+TN#N3qY(?N2&`7uACaG$9k46efo`C=00`$&2h&>7?JW zR@q6)4VC!1Sfm|F)z8CO8qfxUjP^I)usBvu^2DC}y?4DE%X{h)dHl99eccxYC z%ass+{S#P%%KDBs?;MV7YIX0%&5S*DaG2L?wS05ub0To-f|g6)$62c$xTa4}pG~kRe_Rxw zYEDnj-?6oYUJ~Y0qg!o+rXe^9U}Be|JvlJnP#Ap^n$^h%E0Fe5eWKaNOQJkvlHJls zG~t{$OP9wsx=Km-La+YE3}ejm+vQ~!)>iLxU$;#KC_0$g+*+PNgxub3-x8;YuQ^#s z<*}K3n-U>D@v$jl8rUtDJ(}fYE6i#HVPu2YmB6BOw|%8d($={5H8my~HlaROf)YLe zoO=0uG5SqqCN|7cqM7TB_h?T|@0BG%tSCiL+g_?kvf}Mk|mM`A< zO^tF0T*GfcJwBTdX|n-bPiH;ndIgqGJNe(t(P+Vm?kA z5(b;tU7)va6-zsOGn`@+39X6!olg7D)L8$EYIzOw13E7-SHq{hz3pREX4AllFl^GD}(q#8HeCQ4)S`dA0W;P>r}yk zA;@LpbCBl{!e!_q6sOiVWpO-hPn)iq63z!K0%pJB*i8o_wB*^JbbZpa&b_*brzS5 zBMueS7%5S056?vLKJmh$qPv}T)SJ__i?v0?L#y8gw;7In8^2dg$Q z+R<6jc!H|F_v-LBc!?yaMVxJI%8wwQC-l$M@0Mhz%{}=xq6^*Xe#8vM9yTKpGpKq2 zq-L|%wN~rFuR&!rM_%K%p{lRha#4=GBx$*@dnFSXHpHPpLp=Fio08zGA07$v{Oq@s zwMs!Y&>aVDmK#3+=C24iB`sX99YOOL!i*E;zUtyr#O*a$@?Wun$bO8IBXb0}cJX5P zG_Ldt$jiChxex|yNvm+gFS_hx;^^xkp&8U0;Hs4(lzL;nKIZhqU{6x39_HroO`0o07tA4M|h6Ln#NEM`PS^Ur%m1H(Zv7G?N1Wor}Z zkG+ua;3S%j&t;WzAT zPF~MHDKd-wmfQ#@NwC$)ftD05X)Un{xU*XDlKF+Tkq$rhrcYvShD}GMx#pvH&_k&| zP&?`S`4mB92ZgtU$QC>G?WJ*YdueIZaZ7931bJ3~Cc%+r>8q&@Lnf$O2w-X>a!)mf zg>9>^oKL~y?GsKfFFrvpOMUAdd%ROay193KiT8W$p%;yT+0XY3UyX5!VlLG)Kkwz| z-lAmFkC&|E-@tFa_3F*}DjEb0?*)~vTokbtxFEu0uEyNDHq2C@w3Av^-0VqK)~VwR z<6Hp1hhCN2u_e|lG@-_RrNoc%=BEq>bfiry;=7S6N?(RzD#M_e_bo; zq)zTFc1d2U!hY}mf0%pkpeEb3-8%?^G!c+qf`B4jdT%OCq)RVRnn37?^n{``DT0E6 zQWOx75;{^tFCxA7(4|BYY9JxczMprm_xtuU)gYJ%a;b)DC7{*L2> zOg$$srkLegTqdh>8Tx#&=1_Rb%6k4ZM`z~P8g%hs9abckgz@iVuf5KfHlaCr+uSQM zZK+=Xi&(AbxVqfx$#Hn6QQem~kw6?(^GvdO;XS9lmbCBB=goR2u`Ok9x1mX;Zzn#XDz3D2fAb53nAtdM84d_K83kEVCjfduyl7oNfG@ zj9^Y)3KMck9mK3PQ67oPfzWyp`H7SE3{k9^=ws-|I?9hPjJ{Ls)cDy=j!mMGMfQU$$P`*nnG~;9O3Pe`CQ8oAmOR)Me&?(mJWq`_!G! zNAnSCS@3yrlmKuGGOjcA=A`&Lb0w|o7q}a5Qg@es{4Brza`8D9F_k-)OQa@sOD_t$h*a)6I0^(SvOhk(dUTJv}=fYWCG+G5gg`%sT+xIIqOC^nKgm>>)m~BAsu5HDx`1eNT-TP(OlX@st@?Pvpa|OT@`hc zagw}=SN6j}TgY2TPdc37Oroli)ewsAb=ANsf=cz_k#J>mGex2lji=$Wndt`LARZ-6 zfQ3f9+p`YQOwG6&64*Ba2_%4k>kkNgnA_co2R&~xm92`k%rcf1Jip&N(IgFA(+9!A z0W=Q&4EyS^C}N(Ld`t9gwu5yZrmSI+chb+S{A&Y* z44{WLL`neJU01EaKXJ>VnLo`h-LX!p8##R?HN=mNn+l}7=AeEH8+`zo%m%^LfCwDj z+_|E4xvrE1dp=y`dib3^jj`d})7!}buEa4Zor>$%*k*4Y5vSnl|CjvH|2pdVAE)^( zXx9#6U?kZ6w}b0kbBb9;K|dN7 zsb)>gf;;~Oq7RzrfrAKaYjkl&wThRUnb33}v*9@|<2dEbw}Jpzwfq}c0`7kOnxhp% zdD~2^zc4DfAo4R^IY>_vE(l=-Ac8Nsbz<3g4flg@&L{d8*_Z#m&9Ruq@$k>;BI(Q!8@@A~OKL{KX0B1b@2eAzg&q(&4>X42z4>9F0OwePndzY=s$kV$8mZdb8jK)?4-~A(qpFf zV*r{Nuld8FYPl0r#ij0>IJ274m4f5b`@M405erTZbH4s%wN$UhC!-!CIU-51SiIlo zj_v4mB|QsS4ywpY-XdS&{LW?gy|P~hX9a8p6&S5T|5Y#9%(TyKN1QG zR{4`Wy6spZrQrHbivZrt3iqPlWTE@iLUx$k$68wQoBEkGvBKaQ&oQtK;o0CF;$CXc zy%T&0=Gc+=)#(FZ{D+4p+QBKw-t6x1{0SKG~>jFAczW9J0!vfeel2J5=uI6B> z@S`|qywB>76AGD2DtN~onVvQbep-=~S`Yef`A3n{!V+PFked2PyhIq^IFa@D2mNA| z`W>%|?E7qgZaWNjX!%I`kQK&(d&YAIWW~yS4eBZqErGGH#Tm+en}3+~A)R0D zmU4SqhtSVYANYi;4%io#3)i2b8X(P(@|@ANpcrW7jTP$~z= znk9X=k^s8Qtcmn2=c(6t9nSwTUEkgS>0$KdkF zSwff0_UP+vF=s1vSJZ9+k6z4zQwp=izz=4U=NwSK%JPWiVsZsegN6F`T# zI9_Du0^ok9{Lu5MU&8BvJJ(}h6&tUoV7l|6qt6#IO5LOtqkYRvOII005pq6qYI&Lc z0z4PH%AJWB)NJ;=ujhAUXD7KYW&0>l>FPFh4rpM#HJm!wjrOu&T28o0_?7EoNGT0H zz&&huC&5vbaIzLrEVnm>rR#@_`gd-Ao?DY&W^bT93)kvTBYp+8@+Ymlb1Xx>)2?pQo!dt4ta*4;VeT>OcX) z9wU~(q(KHF?QJ*4!@xz&dY%Ofg-ueITh|mn8&O!;GM8fwS978(iehAt%x;RXDlyr) zMTiDd$I`@^$7&lArUN`8Uo7 zS!r{_X7T~%n->2#%&q=1w~ZS2W-Ys?)L!--!@03IR!^Ah@de00KXfQ~r3W4ZjO6J- zaY0r`5_#QTlskxv8U3KS_dr-sfsKq*9o)mxtM;Z%9*4)W7-0_*#csDw)+tDE+GJ_m zbbOU?&p#r+60w57-A3$Ntc$<$5$^-X6~9>0vubdzomiw7@zMEV@g7cnj~~5DE@eM~ z0k{J@j5w+oKI^cR3m7zKn*%;IOQ1oCcOIW;e^=1 ztyhQKI=s(~e50eZ6eL3!4d%OI+wa!euGpl-CZ5Y;6SQ9&KMj2I|#8J4ai{ z3h08c{-a?}RpQMb^^ID|mK!9gV=-)&+}HS`gb(RX0rfQMVHg;@5fU5MMz=Jw%H?Hp zSorPXwAgm`7uy(h!|)BdN1z?J^9oLAq>C<@`__0HIA~q_Q>Xo%DK?(SuK4|;AC3_T zIE(vzdCq*xNQ;iYKUvDrkYC_-I@}!=G|N{)Af`8eZSVH@u|BCuLu(G!;KA+MsK?s< z1D-$jmXSqJ*Q<54=It5uyx$B>YaOLYRQ^$;aR;n{U%_d@EXq38zzjhyUB;8;{er&I zRO43^{a3IRTUzxKB35H$J~p>*J$ZW7c$BKqSf3{FMhipI0FO}DBs+*eg#((PS3hCt zUK53&++1S>5@^8c5bp(4Wqe7|?ibJ7-r;K|Z_+49DUwevO7L>9nU!m5ZpiCh-*G|! zKA4pwq5A2?{l)I};y!KeR{_UNxElNmc!xxb-D(OwG?y7h#XrCNrbJ)nWcV{<*lD#+ z&&KSNw1G68^Prt9LIMVo+!Bs?*W(kE($Q2n6MNDsYt*sk$U*)f8(7x3zqdy(8d01@ zYr@1}y-19i9mksIRxajjz1sSB$o_Y}HzwML=s!*X>)vo}Xn!fxVt=W8scxUr-%V)f zX0%Yh23aV*I#?Q)aw>EAN!e<>2bYcrx--2Exy~=;m1_3+g-ep9Am7dj;+rTMRojp- zJuPwbUhzXsR;us!fHwM*Nr2jOz{PeeYQL`il;myu!^TF>S>#V2IO0SgkLmDE5#HtZ z^jXUF)YV4sJTi1@MOa$bj9Yxw`HTw(iFMuOXRl`#jMu^*VGlg>!|7}A7Gb2Z7!kL2S^f3>=OB%C@bQHj zZpc*=Z~s6jDohBKv*Jnd7sz$m_>B4dJMy=p2?>K}Q2q zzNTNn>u4B!l;!7+@kYQ4nZ2)MGRG3$SpM`bISF7o(np|~m_`WgY=)O%z~8Uk%df>v zagCC>?l%IN(C2@F=7cH7-Un*-(Nol@3@042sR|3JyRciyv-M^F1)4Rd$>q#XsYvJ} z0%<;{OhU9tGb#QncM%{pE=S{cUmJ*IbVND8iuBoEc4glje2N9wvz;bM>sdYe>)UN( z_ACOub@$s{e*yTB{$C(GRgplS>w3E)A1Cm>v;#lxi*(sj4#d^Tiz^A|C_-4Agz=ZE zzDs4`NsSxOqzr$7e$gT^{BUd&!cnaAqFX6fa||M%GS5ImnCBq*3k2ZVXEzh zLtiWZ0yO}ilHMI^6D2PU&xK z=K9xh>9C`_9rKn(6uYY}wT#sMl9YxRFAk*8dfVL~gY7;*nKwq23a3=tLYq97-uu7Q z&bg!MxKFt~k4(ag&kvsF&cOKRgWBl0_v928&))F+^!f8dX0OEcH06pv+iCEUfXp>S zBVpM4??FSyN_b%|wZ})-(U0^Z#ykc# zc%wFQ?^8@8{ozh2vwW-C`wfMC#hpmZTU@6z*mX+mCT$VEQhV%XNSfuvDWci+AGRH* zG=AgS>KnxoX@=?)rjT5V6^zNj+}FOfFgOkWlwCy*%KB3sTfLPf8iX`x3CN=xO(3-W z&Ds~ksQ^rseiuR)rdGHZRMQjUDk$w+88c2ydJ~u^P8+alZw%u_ly#ZoJ@{#vbKSgRmY#6m%p`4g3Q%f9ClJ5DpTpx6XL{74 zVApYxYr@9QOQ0d1tv%iD*B}z3%tF_7$PP)+kdJ_#gCx+Ot;W9kQi-MO#h()lOTW!= zck=R7YjN&7ylRPFl-wRiIvywSJsy>A)@RhLPyX52%O7*i!LEeURrY%^7l`yqgtY5_ z9r*q}^!bzH8k)Q9wiTvSh1@pci%(H3h#Km;+PGs&rz7`n!0d zj}hA+)`9kd@EU++5T&31NAjvJlo_*JSFGp1H6k|mHTn5+dj$ZiUCbO5bs1i@At++* z#G^i0J;we%t+Ju;D&H)&CB7$F{M!jfpF<1tgw5n)4AfpjYGo?EtRbl9dR9j`lsyLg zy_A1cIFoK3y$vg1zA+(eH;Qkz=XE zy(>#FKzCT(uxDAW#CGBk>`D-Jwd& zLz>5#VR)!b^v4Y2GfP6BQb^)i9^FK70Yi5hLYpLZP0GYX=(SO4JL#2-2-TaHJecX!8?8d|X+2wt*wL?cC|!3HZJiiV zcWU*LFD=m_<#TWE3D+=N?F`=*lVGh01($Gr^1#O%yVr#te5>e6XPU%5S1j;nK7Hgs z^MmXAN#Qp?VPlbc!jJN69+{!$jNPvC6L&Q|YhQc$L1Dd94Ng>P!kQvj%xR9ONGCl6h z@ifB)KCQwfV~CCjK~%D^xCOOHcfyv;bJqTG)kR-x^OyMBWKv5A3Y}zFUotm+X7!PJ7NreGu{??nf-w%v~a2d17>So z$SPWX6w`vneA?EYtu@vRimm0N{i$7y*kU{d4#82ru<;!J%P%cvh#;j0;m@_O*T3A} zU~&IxW{&!EYe3nPKiRhjZU`W?TNL~Lz#)4M=Z&FSF~sJkh&o_dlGY!-`}OJU?ffHk zfuDv=k8();cWGg{k;zv9m#-#MSD4;ZT{d;Q^=Z}W@5K4^!h&k`2&WHb>sKP~hH2rN zF)ORGsbY;-if-mC(XvN2a*RR@6nO#y7({Fs@R7c1c=?g=Y<IKUCgef zlMdTbeTm2u5an-O#OBeOcsC?|g{1`&@Evzx(l%Z9CUY^^RI0y!v(gc$>|-gC@+_7i z)hPtV=j$WgD-1!Qy{e+)1sFsOUt`SXW=ppP-AxbhMjT;XzP%qHY@WDZgoR8eg%&C? zB@>q|^#nVvJQ31SOM**VBMA(lr%@l))uFB^IIVuM2s(V5N0|JwFKKQm`Lo6G44JSu znUDBV(*2Y?))H6J&zP7fW${%{fv$utjc*H@K4F6Sp@IPWoHKWe9 z(5p`8X=#a}bi$YNCzP$I>)a`7c1s(7-oR1##36brV*LcMjsUQ~9_*Z&>t7%a%{9?L z{-y8RR4!KK{$V(YR8BjWb#g(tFnBjl26CZHnm|h<=3i-(`OL z_A$#?*>3ww5g!~NoE8A76hLV=lUpm^J_6K5llvbG+opiKOD943+~LV>+i$`1I{eS; zK;c}Pf8VtKct8dLLcR1f5x4!7I2qFSS_C+tQ|pf1s>9RV`-$Z%OBJroyFxOU2GqXK znJ%?vegYM-_`WYj=`-2)u27Nka>QF~f!-81t2QB(0|h zU|w+eX~^Ps?*`J9A@XI(L}_$0Y2Kpn83ziEZpJGR!V;Fj6hYspJO+e z>hScGZ_^5hZn}92A|)yIc{}f(El%Tm&pNH3oP1q6Y$Pl}Q9Niv^&Ct`ZfXLkRmq{E0`00Uvjj^ zmuLRy0f%IM!{f9(|K+xWG|M%+!ylSlvnV6d-{0~J61Z3;b6#;K1c1UIc%6qS>!Q*P zkV*tGDXlGxdCY4#7!A1(8#@%j4H}qE&I$n6Ti9+gux6cMhQ7OEB-FZ7?Ldid7pJ&Yyq;xkm#9Wd*G@}3 z>`2zs@V#@^uP~%==F$67piX^+>Iw`0G#^r3r}OBuS!ikbz@}zrPTO&s&Ox7sQLsxE z*_`1sA%l=f8rkD=*_1>xi#GyH1I^CKC(3q;BZMmUV=F$V^Nt1-MjjmK;auXKd)pFecE6FMG?AD6w!pw`q9GD>kGbWPq0?16UBLS zck6H*nB>83lc0*3&aAMIvhvo7t4-dbpSR_Q{q4VhFTPR?y55=nKS#;{^JOfsKe5fBU(^fS(NS!@?Xre9>>J)jP&RwDzri+&$u7F7adg(9F4cj1KFtc~% z^fU8R&x5sxlD&CpMtywI?E@4{Cu-f$C4U19T^xcS1^!fOvvVeCjVK%BxCzd=OIl)s zXK9pm^XIS?zjF`ugM07uR1;AaMoVzJEXX}g#-OJv>b@`S1+sVR%G4%qS}N!1AlOi1 zQaSR7eN(NB-EiJsD7Jn}hu2LzKmG3m(fGg7boQ?r%>E;0T8r0Vk1sQcWQ1p#e~7#| zDZ{Bh8~RB;*!|Bb7kg|Lm(V5GJi4Eka3bYZ{N3G)l1UL3i}7bJi=O3wx-?VNowa?` zP-Yi`n2FVfS8WVI0*`QTRH$0z?|Efm8v2c@`Fu7P<+PBrkgS7$-XRtJpeXS~IK~7# z*N19Iu7H7qVvVwnOsnTkQ>yQ#^FAkusxtAJ<#`+KN_sGV2;l?29+jZi@K0k!nCSlA7c+<_ro;Y zym>O@5#{SY9{P?&yuAVJ5-#u#{uWK_n;tdtfJ>V-SYdd{Z2ec3#~GLNx>VQtGV5}; zgwrJ6&B$B~S~Y1U6$HTzVs%E#@+QhWV`lRjk{seGzJ3MeW0(rn!A!()N20K(G$4{h z(GlL<4x*BBOt=s@O;jg}P5cGg>wzD8q@&y;VW#$g6{%V0eE$(_`oWDFvGDK5HzYb# z1o=`D-(}6z#wna9gZA%!?vLj;PWxeNj($b|#jfv8bp-vpniPL?2EP^o)ssOvf6M;K z)O^WG%>jXu9fKH7ZhecmjVQ(G#HYXtKH@NFEOZOyf+%aD!J^IblOp;{%rrJjvm?$~ z+dw=p34@PB&0{ZoGkaIP6P;tw<9uL-|_N~-BA=PJzqvV#c zoRgB*eU!}KeNlG!B0)MGAywkrW5>LjWZ)_LO_vR={wwW%g1VnVsh|22+NE8FS1-Rs zkQMqy+c#hWYSuWAkm?3vO!@}5jl{)FMHq(`gnk+5g{hVU6CN49*|3k|#*ULv0h?4{P*gcfJGeh$r#qT96Ot|EvAd3PXh5QU*=x78)pqi)6WLFb<_>2oPB9anat zC)+4G0)1ESvS3{mmZcXR7W8u3gzI=ghcHKUp$y%?%rD_pXsB)1a<{uCyvfC{v>VM-s;7G;G4L66d_yFTK<4ASkvV zx%3#c(Ng|y#DtupE);$1mX>ZilgWxvRnyDl`85SA#n(@DE+YStIJON=2G<34(9LZ! zsovh(aSrBX2~dTM^6eO%bn{R zGG4qAagP!C`u4|D1C`&TyO4M!#(IQ&c45#Hli$I@o;0kZdm{MCnC`w~A_M%O3IYlO z*kvT%Ca7)i*H~Ss8jVeKDpOK{=Xvd#IU%khbQMfs6b6{~e96|WXo1)J7}lYZ-qVc| z;%+~S?69EG;P{F}PtbOQqyte1D6uJXUB;J1L@IlN%9sq(M1XX< zm}t)9kD2Qm!jZFY70~vD7`fAMoE2UXXWRnD)ackr4!bGuELNqtZM1U~q{j23p1$OI z9cl)G-GQ~M0eV0@usv`0e8JkRc@?>oKf5`)Fh8d>u*GJazqtSNBUo0w1F^tMLPr1A z4OmPSD{&7nHF{V|tXKA`sMvxvf5QS_P5kr4B?C<3zzIV0-=zBdw|ewXa?d|~``_x% zf5zSXq~b(W$#CuzUtHeO_4>%p)c2SpZlE;czorRj+ynuK+y5CY@Q<%DGa-@}QNrie zm$k^J;CT)WTyIi^pMgfL%~T7Kf_p03k1b9NH9(l)JUUd0 z4W=)iAQ*BArSECCdC!`Er*VT|iT=Di#*X)?ApHzOPy z(r-ES)eGZQu_>J^vAH)y=NEcm;OeQd8SjgSg11O#Qz5zVn*f9H4!8vZQ`n)1>zZ<} zD>ljgG?1(>Eo@%(xl4K!3h=?q57rK1Hyi43p9(bBI3BX5Sw?9qg`&tH(@1SqR(OXs z+=Y(gT(<3Q+Ye0kM$uL8XU`b$nWlbpJ*7v{YZe6hqILU-4|2J5bxTU!#<%XsTg@*! zATcrvxj3eKu&R_FPU2t9fi9X&eZ4|%_Wc|;fS7l?sKP2icSAo9D7|31PcTt088`OK8b zn|!Z1n{G)Ygmm~StZbBG00Mr-7*x>%9L7J~2IAAxEMn@SBCfF^d~xT+JEu8fRZ+Xn z$y!zBBtOW4tFIR&9J1c7dry(<^fWYv%%b%E*Ud-UDG6UxU+(Y!6m~i%l`jQ@uL8FyAXUmI$VRv#%-5h1!O?=m0B3U@Ii z`X-v;V#Xy*G?{(Eg^tbJ51~2!zZ2N0D?3We@06B!(h>Aa#)I>4fw zP_;S!gKdp`_o~`YzUc8|(Q@Jt_Z6BDggkN>fL@5 zbE#T_7zxj16iX0BDgN3MwMaxB(uHn8d{rE6>>LzEsa)x<2*1E9y_fizpLlPC%zu&* z@)H^L7s%0YKCtiI#~0$UAx+<_w9?k*&|{VXR|}~jNH|9SVAi`&twv|E1&WniyLM7; zMdRj7dY<#>sbgr$`*$ON>fU%+e-IX0MEu3A+>CRdp+smqgng^+&o&J?e=U3T_EVET zWH^?<_^BJr?sQq9%;#OWyjx?nIOKa-mV8*N@4eCJc+Vpl>_vHyK&)poo6L{+8N_o| zM$6Y}&o(M{r+Mr}b0}Md+O)F7cd3o-G{sSh`-=YmEdl&*U&$gQ-P0=yiy*rE<`%}b z$^zG`ni@_2kjN8Uub}^pEZo1&zx^j{pdb3NmE0SN!>YO%$TXDQbBcc*5+>((q1 ztZ*rX1X*0>YS8gqK*nKSOU?Ugkvt~~EzoM!B)4$GZd>%n_s2QFQihqM{Ztar!I z!{bF?YY1e21dvx#t8hwKIRjkMdI~$-JDc4+V|sdiazR-2UOAssqx=90pl&X|0tZgg zjgjQs`kDPByt2FJm#~L3i|+kQSwF`am3LXM$kBXHzNTCkJRA$WX_A*IGK25yxh0_t z>q-@#&YIla#a__E5h9feo`DdIRqLbmUqeQ{=);Polq>2~E&P${468FK)LDqo=%Agb zgPH7tK}0Dxd&p@@^a-o-9GPAd<6urSkaw|2U|B~{5FU=MVZ|d)Lc^htKdwG+2;a;3 zq0+JaWvi*vcL4Dd$U)rh%mvCG8dWOj^EH{4`4IQB9hvlk^A&cX8^1Jmn)xC^EgIk* z55xSibgO6kBjtNY+U(Uy>N1ld_CG;So&1LLDLzN4gMBmtpaDM?9;fZgE3wMbed#fT z3~mz`Db_7|FHKLAsxgZfty_qEcOlr~2eSU+#?1~MRD@v&@$(7vWW2VyRe!X^8gukVV`F0o~D^ZnfNGm9#defMbdylTd~DTXii{n>d|pXHIr*AG2%)j=UoIx{qn9v6Mh6?s2v$Yql=x7G@@ z(>t*&@h{ZkFHCXTkM!PbjHT&Tbcjpe3qDE|@gt8VCChLYAiJPC&*{^hXz^X6b|v!e z%3_x7&QIgAj2*U6`8OS0ZYz-TpjqYHnKmq_nf7r&2nn))YaEJ4Maq1-9X>&D+2 z{)k^i*E|)bVWCkPV7)yVvhg(J;=(0q-ILGMltUrL66e#70++)a2)ekzGFN+ni8e4n zDPcmlsX2Z6)W2zW?G{z8+MUO@7AZT?oRR$q7tBHT8>PKH&4lU0UaKjt3Kplxf&tU5 zhqKq{xY(Lz%!KMndZ33=y_i-SJ@53QrSOa6*-O%>U4=>M>-?s}Poga*e1R^hIMOX; z-lhjmSzep1)Dh^TU20$3k#n2jA)j4KlTIUDMlVSp7jzdqi(l()#llhOisrRIhTUm7 zDXT@Dyt{9E9|%A7xjs#bK|tvg45<9f8_$=0-zp1jnKY@E#V7x{3bi5ZUwz*Gd3vfP zNJUt-PBkc7i>};20c}#IS^eb2-lNiyN9v#us%*1X2@_uKI%i(d;k#EVwWMELa*|l< zlE}!-E;?2AO{d2?vUq&P8YELf-q{SerJ9O1A-r6Fls#ijQ8tNdW_gPzcx@9XLufP>tUgNc#S%4Rmzj;17 z-uUJeu3?{#sV7gdZ1iuJ-GHy}*%mNMY_K36VR*H&-gl6z`N5BG7r!5>#GbuVF#)_p z*ZK<)Lx#A!Nc5L=x;d$?Wwr(kccy1>DK5hbD>Lhoz*-*V)hTFV^(N5?MKj4=ashzM zH@aPKhSHesoj;yJq7Z6zg?KHG3h8oX9tC=?TbbCP_u`NKPS^!J|fRg2d3xyfQlj>1X!1h_~UFD$a%k@Xb&17G`7-GNT)$GP6s zdQ$=L6LZ8`lbvHX%YN9xVCMXTVW*b^gdG-xnLmwsHktJoeD!LNK*aVFAoX!&KlDrQ zAEHVOCjULq^!YPK!L|uN%Lwr)II0|6O`fT=&{wkip-}5VhvR$I_SyvaBch!&@->7Z zpz+xoJ zb(}jPdlWcrWFhNv8hv;mG@==%F#LxXkZ|rEs=6CG=8D2E( z)@5cbG>LCDCi`}?y(5~1@#loTAa?;qVIQbPvhhy4Fu5^+H^}972h%ZF%sAW9j@b!=4*+EUd5iXYbOZvYTlE$!|pQ{C_J+|Cesn z|G{-~iiE#F8y3@Qd&BF0fi&y9r~moF#BZP*WbRr~rbP-T0&H9lLavC)wKT_p?uJhdyU8vrkE3& zOM)|fJbI@|A$`BxF*0}8h}1rs-%Uu`@2=BR4T`rK`))l^hXz6|A2L#}jQ@(e>9iRE zgmwH9k6*#)LgrG|m>Y|O-WVw6##Gc%1lx&-u?#RM4BWbt{FvsH(;{LIjCqKR@!}x) zWd&VVEy%iX_<0=P zd?t5@qyGfB(HyRaSj+&3TVHnvN<7(~&EMIncSWnN#iq2nF~u3(i~15rWJ2#jGFNKF z6SWEa7kf6)L#Qm{W3jKy`@A)le?D9)may@WCW`8d^H{WxN~9XR|c?>*eeFAfX6m5AG%CN|<7nb4~+A zluTTX-Y4N)ar9R$NtPuJ`slZVuLUMS!F^0ero*{3VSGh>&jM&J>hoPo$x>zUFKPk? zoXFnR$Hl2tmpGsC=squKYHnsygN3=mf%)`GT5nc__)mpWERRZ1fdp@aul49% z&4pT+*_HR8rws1l8{9W1E2ViKUuW_^{#JWC*}haHEue$x-g6ay{p$6K=xGuh736M+ zOTO4(ukZbz+SbE=wmu~7Yx2JJP5A!XP{W#5He@PLNOz#bBi`>=a^ry+zkx!zoY7)J z8McZ`@P^AhzB>LOimk1R%j|)6CYl`mCL(6D_3Cr;vZsv&`%taKLScRb?i<1tn5#ea z%51f=$;h^eWOZAn27iL(xziU35*~YjeB+D22uP^?Lw`dz>w8h7XM&rAD!{wB^333kvfZuaUfLmnmNKJW*<;n2x zT(!bbc-H}rUtqrvwPfCBIqfplqAU8YEXQo~r-;~3KRFSJUY*ln+VG?T;;dQ?dA$>R zVD|ytz@}p$;cS7js20wc`MjFH09)LPoqZmZkFo9``ln5B0)}k45;x7;O}E3{Z;6 z#*xm5xxR<@>N7Dj>XGHdbz0Rcg9{}l(6QQ)m=(Gg&H>|LQs3s{?^!-@WAN&Gys8DQ z`x#s^WI;k4(PCH=jKr*%zGre_@FKgYD)20V)1J{_VfM{rpFK zeow@Gy}8NKg#MtMBZlAr42UuDUhrT45Una>3(PpUlef$@{$kMe^8hQa+p^u9M~-a7 zJ^2&Fz@;IO-LqHL;^%HJJt^R7+vN2&tjxd<$RGHlSmLgjky~InQnK41F*k1`80?ZB zrInzV;le`#`Lu%3O93`y2BHvgP z=#_)LfVKu?k1^FF~WT)Q2uVo z6ot~SMHq#(&LViG;i!_8s*1O-W8ZvhxpnG5&5=nr6L%3hbJ*dD300yrZ3yozm)bS*PZ5*{Fw!YB^xp!p|U4RVy{JIW>UbXT5uo zuLaZ3fLX$evUXDXnA)x39qy_(^eY~C`mU9} z#Y6Vi$fMg2JOqYmd%7h&`_3Z663z_C|E^KpMg0z?u~Kd@aKjNOFzvU&ecy~LH|8#k zD2~qn^DeV%jv}V*!#W-9B6YdAWkd4rym9aEO{1T_3(=4)IK~LRux)jjfv820;TR2) z&$`*)ySUx{4BKUmkw|WI%zbR}`*|lMb~=};jUDH`I`w{Q3ruI(;ZmI%MKrm(loDn! z0IrAZv#iq1uj$KKHBA>{h>eAOeVjWt()rCvsn&(Gu5qUPj8LPJIlu{Rqy0-Szjy@9 zN>6^`cxXQQ4y=HBKNM_V1xPV;mxz-F?Iv6-U^jRYO!AaM^$TbKF?mT%y!LKYXPN~| z*KHHe30@X$eLJsRhk=0;Z4!4XXev>{#_ zs)OBCV+c4mo^6DnIU*ztLMRZ*lSBc6_H;p-C!~ixd+(QQvwom(25T>+h@S*xatlyn z$cir0j)Qr!^u;a?ft<#z;ZL^78`toc&>3kkkm_rJAvh>`U+wUXU8dO%?!O@E0l_&! zPlW4xoj<0WeVoqDecfVK(xmyUU>P{rywD~~Y2JzOhb+Xr!^;zBN59FjYe!4t-Pm4c zSPuJy`a#E!SEz8_+A&JuQu1~IK4Zy zud}BgmF{N2v&S(~KVy_>4tFf?KmEqzG$YG%!JTZrvuvZvs9lifdGb=}2@8?xJWP}* zfin@W$(I9M-j(UOsh^s^L`1(kLG%R|0iQ*a7%nYup=+JJhxE-)Ny%Pw`PzS@l;fy5 zsGKnFoG=c}pCf{Mf?uG$Oa6G%eccNFm{zYludVW#<{Ub(lq}zWT+R^OqPMp2WZWZ> z-Rt8w4l-N5W-+^OqHn2rH**D)dA1|%Wn_^BR&ES9{|9NhB1_dS0kbntIU_6tToe=E zz3U0lj%f+x#f5m2?o1<*NJ>sqI9GvCpbp1n<29qur{=72-sd@|?A}YhQ^)qmnd6i% zFASL$c9HC1f`}g85ywK!JMV7y^Svk+T-k0q{S~D-aLhfmLhP)Udzo9?mx3;ML*MOX zwqYcj!T3nh(Dt(h6Q)G@HcH>@gf^%Q9qxPz_2oII!N1GkE8?8l@$Ry-K^4H1n`wmbmJVB~Tl09S_N`;4mkN+Zkcl(1u}!jkX$c!2 zKWgg9+tedj_s*tdZR*DMCB9TAoZ1YLjcYqeOR zr}D_TgxP!q~;)}!&g&XyDXtVr~8~wOlytAoSv#QPr03tCTjN~L%K4| z{dASHuvH4b%->Iq7}8}ll+_9}B1I2-4pXM93j8Ot!jcjSg+sD1!WQY;L$aaLC0asb z51ihq2#=~VODLYqT!zXKW9qiNa0p$T$=pmu?4=TLA^n@}Um!S{{VfJa?J(GI)a@Jg+<=AGqCjb12kUxz*8gbZ6iD6P;k^+2+{nL2A0Nco0LI>zf&8{f!j zaaBFu{-AaH9J=*<4q z%Z=ja2~SM&(DMCVFZ%Q7V%44k`b~Wm-T*fZR8=F%$3eAAb`H=tR-%pZ>$Vx@0%Y_H z$>Gow8@uV_724l3O~k5u4OJ7X!CR?KBEBUqY7tBrfqlT|Lw1Bw+s|DCD0?<*=maj- zsyVTXGwuE@ov#XHAhvh`cHo$;0}kqwAxJBWc` z%vSzxq{2ij2~u@6lODWNUaEs`a9^r2hDSs7_k8&jV^t`PXFgl(np6f{FS->2n2&%q zK}Rl*pQT%kG|X#E8M2nb`(2|vwI4=@m_hc!VuK7 z>2t_0j;XMKimaKL3Q10soLDsWmwH8d@@rV9_G1h+WCp<9kG z2PousCM|aQ2#njOzi}sJVSZz(thhlFID_l_@1Re^WP{Yaf3CCoCf^G>n2t~@-2FE? zVgLW_ekC~s7Pi@UC^|G(nZ_D8uIXXllSs1rTjSn$wAB5Ws>`lRhFX054aYn-oMXJ7 zEs)Y>!Qu>J{n6w?!QFg+=C|lgl0lqW2aFj*9__iBLg7~BW^I>+PPnGUq-}rBkI&kf zGn*_0X`rG<6Rhu&va4MW3K0l)7)Kj#Y-T=Hx5R(;w@&S%Q5P}(PSQ>VBASW*FLQtG zRYI|VEV-P$ewPSd##Q_jzwu~+d9?9}`j~oxO=chTUqFW@NR)|i3|j$Xi~u7b-Krs) zwiK8};2cgKUl+%xBnb?E0Yc*<-%Cng-CI6z3T~i2S-f zOq%d__j?LAeKyp9gP=1gh{;No)gJGw*j3qHE#zJB!gz zSEfl7wyF2_Qdd6G4N9>;^dE%+St)DBpD zN->u$^r*g!KYAreJ)4^yYYjo`fxaq91Y1?^fH_`)t2l73-c6zby0EFZb% zIlu#MAq$;ph#k*TZ5C@O>HdxO9J>vbOHmVhX5_!w;IN&Ty0d3L0w_yeJ5Y({x99H$ zlZK&#%1R!$n-~=a95V#cx-Vu%mpKFCElA(OA6vZ1bN~w{sA=?LeEm#9b5>S?2wS%{ z$$P)q3!-jkcNV-t&o1Z9Osds*cXFhQ!SCp9(+)?K$!VV)D^z$g=-A5#IzeO#N&zgP*Hy*cF7$RkG}S;EABqh9YOnRn z_jF2)BFxDPMkpR-o$rh4`iCMmLOAte1MV8gy>z?0lu>h7i>&D{9qXJeVT|svO>Xx&|%CkmiVTN;;wtLj@H^HrxfTHHP# zS(%ly3J=WACkg7}i$AuJY~{J72jBTV;QJZP`d##vw>!3qZSwDG!#de~p=Hj`2Jy!{ zERAvUNdGzMo*92yix4hzGVqg%yJe7u^<5}Zc}nh`LXX0N@|1ZPRr_MHmdqn9{wEdZ z-z(O+rzBlclM5b0Csc2Oak+NznHut-Jj0>vt8qA(iPOlE_O!=mGg#_CM_L-vfw5#zz23ICI1Ye~#z?#`w!bUUGjf z7q+{kvs~3h9?3EYJ<}Syo!rS*W!o-Zv;N_0ueuzp`1la9=Rgz+`Uhp?&DGbQJg5qSPVg9p@6`7w9ff3ru4l=Mj2)AWSXRXol^REVHg)Zkk*{ zs1VF4NFMlsY49l+ee35ZI2eAi@Qr4yN%&1gar~l&=P}@JSM@>yONl{|*uOjaHV{ge zm7?1D;hCyB!(I<z4T1rgH!4 zw*bc$A{#)65&Sb$u*}1ELR+5;mHB6r`$dgKl>$i6@Sqc!CYC7Z`rr$hD|gyih{>iV z;SH&yyajNb2jbuU;U7jVb+=KBZo1i&3mOF|=8Tr}CcPC88DDJs@jq)A@qfQf{u_fk zfd-U5d>(r7FUX-~M~bKSM3IBL{_r%~#fdpXE0OpUzMWXwm&aKB8O26m#+_h>_t=)B zTK%xIgoR(VFO!Au@>cboPiuq1I`B#>-^$)z!7U|1IqQrRK_u*o4Z~iC}C;f zS{)KgV+R`4CiyGq(S(|T!Z(Gu1Ccbk5H{NoGsku=0sfr0=^b?tg3nIoJQe-I8+R5g z35cbT51S^{exRln&13nW2*T9p^G&@!&RZOhE=#GJj;USE+p?N3cDpkMaFiFCMDN8> z^_@*W4#_zw%41A|E0R0GwTXMwE1v;A7r4`L^YJ~)#g)YsYsd7f`_XE}#=o{wha`S4 zfe6&!VRS)aB?NH$nNOfyY*FvJ^;{Rk%&sK0Pxw%8Eo;{$MW6TjSbqnzrf}+8(7pi( z5~{(aX3>u3M=uvF)jD<1y3Sog^{&{$=dL$!JDuGP2vbvwCDwQBWKf~6Ae@l|aq3<` z^kvczkICLryZY(sAFY!6qXwc3+NY_EiEh907VQ=qr{wYXM$B3Yn_ZKv_(@*-; z_=pRTtsbMuvQm4LI%GGOIg%&Z2__9JoTXNec-dy#u zg(oNmkD&LDS;(Piw;1$Vxc4q{rNY{E;DuMpvnEd^uyY+Gn=*?iR(j@!Z5U%@+F_nk zd#jCWF!W4F?;^2c?{34uH#a7pT9+Qba?D0T|&2Gz9$=1`QVUkZxE9K@ zd({q!4XItB1wc4MfZ?BC6krpdkiHG2Mz1|>fgWuGTuKXfYm$Fpa!lfW=8?lS0Wbd| zRIdj?0@ZsEjiynf$3U-;)F$?CYvI(UsrC;iXKyrEU+j9O)nVLy_$r_~c=S)nu7<#& z^5>gUQXWDww%=2)af)wq+W&Sv6+8b3)VsxqI&jC0_l7vCa%lW*$vUS&BlEmW|&ozq9Ssp%c%k6yaOgRe?gm zg-8&Bi@tRa`ORB@mnsoHhP+hefyTq%kbrtQR5nO>GCyMz^STLQj-0B{91r$lQ*! zzJ#Ubc^fiCn;%emRulDY2t67NH27f`wCNHZ)b!ao9pb_P0?Y=wKFc7FcQp&t zh3)=G{)nj%Gn#aeTb#4fWIeo^a#;AHvWr+H+6bJ))S!UUeh-X=Evvnb#~F3uXN8s& ze%U8C-Y0C|xoJ(=)FT0Hht})t9^>Rwq^bP>=(Xhzxhe9QqTUEF?HD}EW?fi zco(hYewF=vyp;Ls!;w{~@T`r|najrzV=pK(>=l6)pGe@qDJa3(7nR0*EpjNTwfw*z zhc)bll^|Wl)D0#EI(i&lOzkJE+y7%05C4$;{~NRazg_+p(f{8e6~1t3qGxu>^=->f z-NBHFJ+5wq6rv8`nHb@-M$yi&tCs$*wyD}1ty8{OoXRqOsiXU(PNhuZc) zQMGB}4tAx9NzHKiOY!OlJ0!y*8sXI(W)1#ztWytwbTE-w{q=iQ zikj+Mr*98fH+@ob3n(yudYVOQ1>Rf~u-ro-BJeRgK!=fxZ95#?Pr2CGRNs>J{ngv+ z&)tf2+c$-|&%>*$>&9O$kM9avN>wD=C&+V}-QzT-&ZDR>rtXAR8SSDf;r(cuO>A$B zN8Y!o`o|e7o4egv*ZcRy^FQ3wUG(yVdH*l%f@SkbRGl>K*4Q@r8amRb_N{w>or5`(VZmp$rA&$g|)Td@Rlk!t9*&aVj1Y z_LMcDN>%%2T;Be?Y5c$(8}Sm6A?P0NeK&L_vcpaex1IWBVXi-=zdcO0Q=%t@Nl)3q z1PKSuAL2m5*k$-Yp$4W`}`7=Ht%w`0tey2QQ zmX4`b;8^J6v)6k(KU7gz>XnIgXi`DP=zyCE^!D6{5v&Fp16S;lxWok;+In_q&04 zerXtUJzd1_iaiw`%j-mWjQVjvxA215KSIJfB0}i42i3-aIH|}>Lr56hDZe;?-38XSa;6Rbu#L&DQr0gOZk<2&A)I!`$xYnG4HrL=)}InYHNCs z0quHQRB}TW3Bio8DG3B-oeSaKN5T1COhNbnGwMllX|Qi`X_gWjyNpP6f}y^BSvf=f zE|iLVg(O74t?=;KcPV&VDTY7P52!FJ@czvH3#TXd_RhP3Cl@k~IX9CXbGzkjcLSBa z@UpQ*m2k|QA;rl6Kcf~LLsoJvEwi!YQ|&PR!M(AqC0>&b-LCi(y2emQ$7qv9eyer^ zV?<97(hk$WcE?${g@3(L-IcG|-eahenqU+drd>65#HX;NGwSwmsDF||i`D)`84w6C zD(jTu+TMfXo;7GM&3-ap&3P!l3Qm7Bb*D*5Ubann+qDCgIaONl z`fkzt@rY8J5f;w_BXhBYNfTMa7qf3Ky_(-z7oPWwp=7#|$vWmehLn>?PLz7El;zR? z&G3a{k`G0~vzN-*)t|Z0;;y=?6PNxR6=Z*ANd9A%S$((h;+Z*rZROT1TehnRaXE3Q*EVf_c;w7Fh|YpE|x+UTwPg z`O7ForddH?&%@IWsRbObXGkRYC>pCnuT{AQG=ZIL%{f9&-K34Zc}fA7E-y?vdfD0) z_kP8%eK;0LC7*c&i(2Faa*U;hX#1FDZteDouXFNuag%?$rs4cTT18d|1y}Fj;OSJQ z4nE<+3D4=%A?MDNr<8;X#6a>0xR!)}-K@}fvpU}jW0)Nvq-JMHW))Lak77H&OzwkW zP0;TESRY@@7y=*k1o#Ahm$v~SBYXFN!P{Gx<5NvQUo5z;FoM}|G=vxA`8M)nByOw+>8n9#3`~5m#`yzPl418;B8g~~|7uJbRORS_v z1TjPlrX}CKv3>amN(6V(j(7*XT46WcLuRj;=%i3o(~#Z#D)bG6xB;z6+>6BRU`o27 zv|A1Q!flg2Zw7u#IgVF~20Zg$fAvm0MdJyBW;f!AmDcJuw^=$Vy1Md7!o!kkUpgI3 z7GbF!hBZRZya${*_kcbJuI0`TufcLH5+tBi_eM8uf~NqA9o zyy%Tniq4D+U1_J2v*etSyBsVO!2{rQP#_esj%_@VkC5R}rOML49?;mpwO4IuO}=OV zPYQYk4CVWzXE^B|sW-M*$8xuu;T1~*-n_MpxvZHdOr5XhEyTu)f(MC!p7{oxnk1S6 zY_Lpht*({#C@;LGo)LnhC56Jm#(@*Y=`lf!crEBP;ZLci+cKJANU})a+wS(mi;w1W zo|DapNTM=O67 zhyqoAkL3obQ@oYXek*&Mo>B|j5buOJV3_GH*=k^p%4-aN-ODYl@u~jz7Z2v0Sw#2| zy?$3#`RQvbv)0B(iiNN8Uqh2_U#QiBYyJzHYbMF!PP#v;V%Eq!NW-eh1NQ#e)8d6c zKjwraTd3)}7z!%j-^!_t2S(z6rw-J*WFP2q)h#;!qSo?P+2ER;x{8Ssa?t^lLIy3u z$oAaJOi^fmOoV52xsC0 zMuv|n^z<3kA59k{Cli13EJJ(s!3o@#7EvX$@+iDda{F49pt(%B-1Qy}I^B-p2b<%+ zZ(nMjUJ={X$0?H806&qqz|P=AUEIT@MSJA+W@YA9p|>&_K!yEwdaoj9#I8rUG2NDv z>XM-*oh;*u#Gfxqbf3-F5*DD3dU~EJI}Ebz*Bm0mGqq&w%}%=2ew4{%{Rzn2RI0N! zmuN?&p`F1AaAB-E9*G&Iu*x1Z^pMr-Y3~wrYq!Zkuv>3SY^{0%%VE5KZx4deIS{aY zTAlJ($wj3T8{HE-b=+Zsg8w`{)v|KInfv}I%oe=CV{WQ-tTd1#d!}|}d z(n{XHr;$(?#}4#4a*tPY)o`YZ3|P^Mm6;XG=i?RJn3PB1ab@nR!=FyJtTs56$4lS1 zNVT>m1o{>{G`QQe6c9U7H9TGPf)J)h{xMEfg#Q&M-Y@JP0(m0ScaUSz)3C(r@f;@> za?JTsAQ;+(a%IEw?sX3_vBGuwE%|do5(AHiDSij`Cc=e+?h@YM?kgB@7`Q6dy;Tr+ za`RnPbHtF>Gn=)Xu!Q67Cx=&3ip0}zn>SAn{j~h7;--3<8zNfbhW`OPI(hSeRoR}* z^<>?PiN%=H$znQ9p}b1P-iQ8=^l(KLN9IVE2_H+lA+C;JEL^W^KbwBfNi)nlTB&jm z3YMb~Fw;DM$y<5GH9fu{x-?dQJq#|qLwKrbU!ISyLO9)>9mJ8W^C&~3= z6V7dCbMrFwrp@h>N5_9CHmWM!hi&JgcES=|6U-d(PPV+fu)F2WINzg`myh}Sj+QN& z$v>Op7d8`oZ+{)4%3XWDNw(I4@h)s%z4_opA+B%d>{(mZdE)9fWUtjAsXI=;a;G{}Yy57px!m<3|tr(^IDUElJRAR29CWZ$oV(z>G`mJloo&$mexD)jb%I<3v zk>v00_DqUp+1hrYaE|%|I!JsM>R0k;5Cm@+wS!{qSCO5lM1JOaTx93oLy5V7Rh<-p zE3sAms>NJMP=G1m@kPRhYmg*|pfg6sBRU=RJBF_VZG|EYV* z_$OK*1pCq@^h@bk#%0zHHR_eA=KJhBX0M6(qLC4g^a*pHK&k z1Av!wdY_cGGM!X}V|bU$7eYM^krU)GT( zd&nr5QMLiZEBI8@@Hij-G`e8yWwb1DSlbOS7{G6Hxd>s3p-ToWO|=a<9XIn5)anJ6 zs|+Fq5Z^Sw<#iURLE;1qwsX}mmcI$RW7jzO)Pb&#H|BZb%mj;8;Nbt^Bf$E<&gTE8 zzrg?N-=FxS$Xdbn|S?)$Vb#hbUY1ms?0_)k|=8o zSO!n>CL9e;M2tXraMlxQXF;@TD=pC+KGq0jt4n0jT&-|CF>h{-zMq}Rd!O&^jrGlo z%snzNZ4w1g`8*`CS+&*s3n}+Or2EG5oiBP9uypj;TgPZf-R2y{NlHLTXRiA21a+*+#>#Q2VYee z&Xyhoy7j*~5;Y}q6RZY$$V^kMe5EW6%?mkruk_`2U*mdoPe9W~S|B)8&<)^ssqZW@ z6NU>3Nh9ThiobZhECXg!c2 zy*xbY-42i*m=kNZ72XY$zywbBN_GQzOMiFr(e%m_R^5Q9vIImUgG*jyK~jrFQG9FF zT|JBB*+pfy$(}>@$6+_us1q3F&sj{&%T&E`GpKKuM-mkNKr@}8%Q;K+5j)ufOO#Uc zHLY{ckmln>T6Wbr^&M(SlyrxT^3%VUs+{(aK(~WwcER8N4%4qX$++lpt4ocKsivdv z+B^@1d_otLiQ8n496#+gn`%vN%bGblJ>DT$lEiAyqv7gS1csANH1=K3*|+*>WYJ<< z!Se^qKNSrwcg;&@{vksq_YhQVjO1VZAmU4i0Kgu=zhjEKQ({~LbqRXj`XO80pR4nU zSD?j?8(aJfrq31f-ilq5^ESNpPHTXXGhu(c6Twv(bZ6?sj$PlD&rQfvrlrxvU?7-) zt;xBxmGcBIU+;lojQaDfDOHobf4o`0ZG&3kvbKc4>|an4gLe6I?so&lKiIN;4g^FdufD-S^SjGBl#Nkc<@cOk|!}5o2f%GOKjdimN|}L z6(c!y<`@;dvf%Y5;8-|egH;lDxl_iAY_}prxvtb5Jg4PqBv!;hm3;!xwlTzfefiIm zU(l$`!|=#3^7W6xk1I1FNWQZ<+9=2j^?rQo4NAUIsGvs3SFxq6Q$QPo;ncygZBrv5w7FZ6Z=rM|Od-AQfT#A+yhN||L;L_0%wzOVCXfW)8Uxj#>)Cm;$0 z6I}5@&m;fX&eW#H3CXtpoz1Qk>%I#{Qj-G|cSE~;B|^s97CtqLMLaCtQY=7MR<4jI zO810JM0|p1r8_)g{oFQTzp^ub(eIz!%6LX4Ye+V*fKtM*BSu7w&RaVGCff9GHa4KB zE&JtuZ~$BLHHwnxYr5TbKoHyf6GTryCfp7mE}0eh3tHJKSoY|?dG>G>Fxo=ke9x%0 zz}s!$7UJ|NEitgs0Z>C^o}K`_5$Tl(=o$-}a22pP=P+9bnzQ;Bi<7<>86AC~CJ)2% z(;of>nN|G-4N8AQBuSqA=QoGo6hY?7&|fi(-v$A_AnzAq;tX+R%ki-8wm4#IV;+3Y z1uJ4TA(vrV(BBZrh5iZ6Gt#}J;h)!m2Jt~`V157G!fa(aB{IvzlXj1fpd(CXJAr*i zgj<2XBN-|ai!#18y{Gr~z9xByE)}c#O>VBA>>3Z*=1Tn;p#ZV{ z{@gv`-tUe`PC;}d^zwG2%0c*1h2uU{{LP$mvF{c@qK-NJzJnJ!&vGXPp;<(*hRE|O zF`~Iv-5oiFy}AC~^+xa9CRBMci?HR$B{NRYD-ggaywQ?M{GP@X$U9Nmz1#cLxo}vi zsEip|?lR)aZMKo>ixkCk2?Y7h38q8yQR`ql5bzi3N%A4+qqf_mfODYdN+RumWNHBZ zg-8aQ7*x$!e>rfk9knBv^`o-LhU#Cbk<@lfxZwmcr+FyhJ$KSVb#bw*sdH_8XsRZ z9OV;L_s!wL;W3X=igM2z)$4Qvy9R(c=Li_9=aGn}KXCVjhU0oyKVG`4i*|B|!OQdR zIopKx@+q(n14P37;ZPtow*#7ZW(Lfw|Fkqczwqp;st=Giq@}!nS&^?3iYc;$?`kj#3%P# zcTc};$e$wpRI^KmmGc;1{|~wgg8ng%pzKB*O6-7-HvzWIr`g7x|8~7~1bphog}?s} zdy#)BJ>&92%(;L!AFvns9Tt&g_mwO%PLj8$`n+p1FDcGjz3shY7pVmj0MRjAlKM{# zEQ|*}foRz5IG733%(4wU_w``@D&bZ*s}!*Kz;oku{Dp06q=pe2u4L~o2mtuNx9bQ3^K6s#@!hl ztsS8ptNI-R#i^ry)f?DN=K5nb=2O((yj3H0+=a^%`iPtWrXq$CX{jQl61CCk9{hb3 zb-G4FyUJASxVHtw^1fp}fJ%P5Lc(z5XwFSYuTkGx^&WFK3!S*&5y+S-{2v3Ffay5$ z&7fNZUvD?3RTS&iEbB?+iOix+FD-OLhMNEQcRi^a_&3IFG$g-ig!5LbmP5gktCa}p z`fYrJd9u)jgh!P7x!xM!@tc`tF3pp1D#gjZe0v|i?n<5cp$(%U-1p1BxNYBwWycWzWs$ zTvm`kR)&4j4l8w3qWJa@{T@t^VBDi$mF6P7Xd~Rxf9&t~edt5fRdVtT4Zp^!K0t%( zN&pzfm%<4jR}k^skmz!PUANkeFWXErQJTq9IEtMXR&|2*;&6=UG7xxI3`$9q)kRVSHn4#M!op zwep(9^()OSOkcD$9Vq!;co1%Q>|IQzRwuj2k*i0@6uynnZ)$%(NMT({t{Mz!iQJ+o2 zzwQbv%)Zm-u@R4J%rIHdGwHh+7DH@6CoK^~PQs6&%s|z4^=nmnexja!OX+sOy7QvDCona9AQ#NEN01Niq3gQQ%o6#EDwYx-kNZqOV0yld)|Zad z*IC86a5hQwSR7rBFA<`0elil z=V79MwPLpS?Q5LGt{NE#J4IP+zVAf=gJPG6rCg!!?et)(%rAd2r3#tGUp8571dK~- zRf`SBXlS#}X|)$){(=@kWM5JWqQg|}f>;>T)eT{)8)HRCpmqH zP%10|y^;KY&vP0Tj$f=@+j9Q_@#}c3wK{SNU73oN;&fAH_wz}6o#08A(s|tgSW=yLi;?_pm!r>N+YP`Lc5<-xl=ez(41dSC|9E(i*D$AGpB5v$4tQ66;JaCXXxigIy)({Al zr4M)qy#%>x?f;pu$auw4^lPu^?>mZ{(|mFVaU;}z`8IY7zq5j;O2DZB@~uX)h}YU0 zwg}2(?dnPw75aju7bhmO?O`H?FR!dZgo5-(;e1=68-GD^wg$;`v?m`DVE`bO3zr9o z?omO$rFy~TKg|W2Qg8CR$h9X%c}&zHqjMb~s<1@w(dKTMSIO*;Z8b%rKB4x(411F+e+kR+lOAQ6efSfjbr@g- zv&s>s_M()nVtPiJcXjs<35B%(0oce5(g^xHI2S!kco#waSulgEs4-Kl@pZyIW%Ea& zmyhK4*K$Q2E%mNXy|0V;eL_4T?gum_Qa_a_AGbj@&+Y#O3E?>^M74r^v3{%FKc|!Y zVLcBigf9p*|JFaca^7@&jH*gbZue1s^h3S;3>-;_rO!0R|MJ^zE{2+bPWq=N{P*P7n`pr;fyF=v&=(sq!GChUPFzMux^Uu*qJ%O$>U2Z3 z8XDum=h2Ox3`Qtj<5Tz>ednS1h_b071_*Ps0^^&dB0`pxrwa?EAS8;ia66e*3<@fLZg1`_- zJJKU8EUM=tq-Oi%^&joZvJNwSA&y5wa*2UwI(Xo?80tsjI?s9sxt7I9xUXizisLr&Taij{ofY4i{r_JN` zUjY*W2Unk+RHn5XM`B|2Ab1~1{Ja(6h>rDRwseL_G&G>oFmC(LEtiCsU+M0^o_5~0 zV3r(FN>K!r-}oVL#tp#45a6AvBAgT78tbDBirSh!%~9;Vd7^mw#5==GBtqTOu9rv$ zIJA)kNMM{{BKBnEb?r^m@|)7t#)a2GeUcg4w5|8y!R0wgdLU!! zOX!SGNE-L1&RtCL(oO377bgjClA%#dzqgWG~T!M72O}4 zW-*V%YNKa1sOqNB&bILROm6e>qi;Khdz!>8R;0OGtB(XMg3O3rifR)lX^fLppQOCt zZj6$q$Z`0%Xg(lwZh&w@T!gUyhF&7G`Fmhckx!VcoHLTUJSW$Md@7B+_8%usy;ZkD zOGB3nm#T;35H7>?&fJZiTW0kiDV%;Xj#(DjC@|;YE z`^LAiAxwI(ZhRCt9)w^;*JqT;qh_sF>t$Q=FfS^72H z{_MJ1>Z|wOim(rTesb=c)5@rIj+NuVNnp&vIBaddyKQEhw>rfgo69L^A)XFpr0(TBmFFs`-7wrun*2XqR@Of`a=Fx_zB{T7bUU> zO^;ZvhtZ8~-oqMoOIYe<&1{ZuK2f>W6`gu41*=EUyNfjw0x;#VA6heEhV}E2jr$pG z-sde4_FkMl{sqqPT@}s#mldMJ*WRDPQOv!|6BkIp8Kgs|O;Qg#jL#n36-g3#AN}(+ zOXw@wmhi-5Z`iaM;*#Cf>0_gd{+;)6qFEcX=j?|PQNMg23nbklMWObQ?GUkA94gdD zn*G;(vBt^Wyk?z8N#9NBlTSye*PKXf9(avuh=hxkPWM5CmFf~9?18<e!mOFd z{xt@@xVI`kqOCh*8fKzekTt<=)riBN*voA&6kTNJ(&s>Dae4G~EYsYeT>-LucbI5K z9JE2ilMu_p5wkpm)LyIZhUns+4!V7h#Tf|_rb(w0_{cJ zDbBGQmo0xf+|s6E@CMuyzwS_XEecd)d!l_SUNEpoJQqui%k9L;|0G?^aU}4|Bg&bM*%`r@*v9!M#~<2d^!oRLXb`Zs5rk!k^{6zStE= z#%a&#KjA`}&;FGCqFMj-LblGv{%76P=DJVKw*QBf9a9UJ7UlgZuDJ@ntkO2fI!XP z{R_SLw^-=@TdZaNiyLII*|=9ryhK3Yo0~@Jm-Zq?>MNLq!yV1$YdWvd*GDkkk!4VK zJra!pkuc{Oh~;b;HNq(q+Ialg9_JM8b!A~eo9iiMowGmnJjnIPlUc|(`E6MN2=M*~ zf>pdA5S&}$TM{$MfBfN-j9I?;?zMM0^i|q0aDoi1TOZ5`A4h}p>a#EhK(gfa0LKR) z`MOSTAef1z_ZJ}eAvy&hu>-KHYN&7L(SFn81Inlk4l+&aR4mbvq^1~G))qWs`>W@V z>rEBn5s(kJ9g7bl&@Ow-9ANemLxZ?Vx?QW;Djm%z^fr2ETYSZ~U8m~7%!D^OUn7Ri zC#7DNd9%Jhm@Lwy%mD;g>*+&uQ4*SEwwg*u4;XqTqlZk+6*ii4;KC~z!^ z%dr8@g|j$Fx!%LV6NZ%0_9I~}eKG;DnOdl+Oo)KcZR20K+t1dAULibhq zR1Kqxb6qUO1+VuBBgZGE50i;b@TDad_$`vvH;;&1p|(*qaG^|Nb!yiMJG#D)O_A6bh~w_+Vd+w6_|i{4h5i5 zG}E|Vb>kap2A87e6CUf@%z~Ry6U$Ud$8)(K0TWI&pq6wC(gO~w-O@9zcW~e?*UW=@ z&dQr^1Wa}R~td+5Kb8mNKK+^F^Hh2K`A*?R$ttXJ2 z;d{UWzWV>eY$LhhQvNT3d3K!}W*;cxIE!!g`qV@%(Sg3d)#by%MlJz> z@r4k54SGk@hx>QR;!^xUkFI6$M0Hi^)(H7H2!s)0NJ+qhXmv#bE$1+9D}Tm4&)-03 zc)7j{dMyetVD!+EN(i(VKmaue6UkyC=*>zC;5xd4qKQ}ad=t8H=_`xqVE9)_?R{z` zz`)=x>-4`8kvcE(FaMK?G>qg$bliqILitJen+cg;oX4d0j(cY-1!638MbbY09OSNo zeK=mtBJLQD?;d5-y2%+uKdG;a7mShTG`)AhOydY-)_rsJ`nv7A^5KU$xLL zw=~aUNT;Jf_b(G#vmcEUXN)!v=i{f1ZQSv7r=~eIg)Ays$TIO2 z^mV`<7O1J^_o!D}p=>@2vM#q_ERQue=5@GaiUylcAAHe%rE5G77=lXyH!~k;wSSsV zm^Ph|+?P6%=uO-`ydPIRAkZ$V7I%wNAQ{Mg^DD>ckZDaY2ds7^5v)hl?Y)CfTeAff z%a0Dr2br1W7!5g{CWzB}zW(p`xUd<$tC1avtR(qw@qEXwI_w*oN$+X?+*=9*+@yax zk*?mwCwPRw`0U5(vm0VN$rAT!n;z{Y&Nm(Hn-sbb1+J?KSWK?2h6IokngEJ zev%aS`%V_=!vu{h@x6VDgBOBbo)8)Lt5n?Qdd0`3HFzxMSa{Ri!}nQ{FPRN19Zhml zj?}1ine=y3G6g?;C6Oe5#)0J$tRmRb&tF&j?wFM01&I5OEjDb}I_v&OI#pMQeoA$p z`yKqAX`}YLF+Oc_?)AiJIhkvGMOo=k5R4y1^n8Q1BWiu{f$yx4aiTi9oJ!#gW>IVI z_)7O3d=~EBqk$`rwGLIUD<47kr!TC)5+KSrk(OEY>6xdgq18c!iFdRmwp~_~>}jN3 zFAsTHi@Dn1#2*g1_NExh7?sWA0XGQh718$|pTt6aXv0(VECa|U{hzL3^mw1=E>7Y$ z-hZCoQpCPch_7+xluh0i&u;1OUVHX)L2sj>6^g0w=sF4Qy;t`pQ#Bndo@nkK+6Gk{ z_Eauboa<2tyk0aav^3z=uOtbr@i447hK!Fuoe>wevx1ljnRFZ)AYxL@W)tV2JD~t` z5&|@6y=-Bfr8Hlk+p}Wh(YH3KInTUd9E27iEJ~U+P{lTO&z8ZRU;0?)FQ|$U$2=c% zR)Bxf9H1tLc(Ey-TFpO0fi}kMU#s}AVrP*#9*5$ns5e|f=Hmh?&5UStcD^d>0Z|Vt zJlO$mH-+nS+)~)DcPqC;-MgF1$9dXm|YXI6wPxk7?MpkQzMH7LH0rJLvIlo$Xq;Y2JR$FeC0wD&NT> z*DR|&C|ls-iH*wUIV<>r=DE5}q8Q*a2n zLVko^E=JZDzb9&vjE!jgMPaJn$!wyWn|wFjse*bbiA_r22h&+W|7f{l;A2Z*sm&3O z`sX7))^VjZV@ciLj5q^mTo{+z-&lMlcObBaORPbz({<=*K&F7y$C{;WDMe@r0iZV0um1ZBdt&i5^XEt5fL)$kF<{Ln^dzVf9MA)VDAqdCv%PRXW$hCzrS>c z>s3Onb=}y#P3H4rheS_2UBDM`6u%Aq_BKGKVZJu18cc?p`N(=?Cq!YC;%CO}RJyV%d2sN$lcNsbbK*D z89{i8MCDZb)Lo;9YgAg~j5!zmR|Yy`CzK!w2w@S%W33|I80UkVYI3Y8v}v_;o-!tN zKdz>ztk(O$09_By%24+5Fptry^MSyK)7J(fg&j5hM!3iAJoufxxjk6zNdvn|dW+Qy z1>Azhf_*w={#iN2jj4>+8B9|3aWo!Rj&vsk6Z1ejg0YO5n}XxqUGf8+R?@eq^CV5Sm-s3<-c^dcFwrv zIj*WPh`2e6AhGG-%d=PJt-fTXH;oogm?5gkgWxm)S^NH_L^)Oeg%)K}`B_0#lVXO# ziNh7H0*l$e_)eufT3;YEv&W7LOC2e#X1zir91V(h_zkKdeRVX)Q-Z^Nj!&UL3GohR zhL0r5&Nw%`{LwsB!E(RrDS z6{B|yZarVD~r8Z#9vWpx7nYowwye{^h%RIqD6(^ zL8dvtO7s8+iG$r^mt}MmW25=k)+}7!#bk;fpYxRu4%epV(=LRpNMG@H?QVe0EQ*aw z9qYRz{5-jT6sW)AEinXQ8El-JKYojdFW!FG%bw;|;QUiY*Hn97=Yt+)3a9rt;G1teYJ&_3x+@(U z#8=>-;ZOf1>*JS4bvk80ek=6K&UK1dmq6F~*q-{Rc?Pxbv1syH&x_;#pkYwKE8N|W zT3XDMM6u=`H^$RsCtPD{1#~=jq>q3rqbxuvsH34^pCu$#m07th}|2z;nL$u-jPP{onL@*4o&Be+&!BPm#@is zj=mkU&G)|T!bSL}YLeTkG-HrlwFf0hO=H@>dva^N2J!98qwagWfm zGlR~Sd3U@-4}Yy05FWcdF5~B=FSC~NW*T4w)QY596SNP>h8M>hAaAb_VhzVVe67Fk zezBJwxN!xiO^~FcJR#FO=C0`VJQFRpW3ib3S1$Gc-{=1ux%$6d z{ukH!-{?8>zxknQv0hjP_={*qSO}8OEe?7$NXVgVIFx*oGB}bH$F)?USl12jrvI z%>rS`hsuY4LAY7s>)F|KuYxC{&34<%UKX`=NL zmQMEbWY7_QWoDVH@=9W3i6FMLTPnS$h|9R_`x!=NhSKk~P9R<8L>c#&7sfZ;3y68s zeK1BfN?=mQK_I{^$LPDrOL^EeG3RaTD-Wn%9l1Urqh3xFJWqoj@m#%yvF&1iZ zwIxNPDp`ZZ2jd)~*OqM^N4A?kS6G5ue8}wSp=aG& zh>cqw<1RzY|Hs{XM>X~B`=UWWr1xHe0)iq{kSam>(L@9+gdP=;CSXGXgako)6HqJ& zL8=NE=?X~bh)5SAy$ec9C?SyIo1Sy_9p~)(#(n$VcgEX$ygx!lNLy=W%{jm2Qx<80 zZ+x9PA8Pr-9pak9gMGLv<+y~?9*eMq`@POR@M1araB`F9wMbssgdia%k`T~z`wba2 znx0dno%leL6#LdVL~iEII#w;XKKa343CjYq154L2t5GL7UR}aFyX)F8p3Ls1m+EpOJT)U^p<Lk!t3R z0NAn?tBrW4;mT=?luU9BDaA9#BpR4}@Dyb9+p-PRkcm!bq^nE)gzS_qn~Ggw&V^ha z-n&GVz%*Mmz^La?XJA~0<^?s;Wv=b=HHuMEKMsE!l6`rq$)fjU0^J^jT*_+Bbsx$H zHUj-^yR`V~^HMB5#ScVi?Q+c<4iZSMbI|dp;0I__okmtS+bRK_lHH1Zm8@Wfew#jP=B&~FdmzIJR>dTiOVKfk5^={}0w(cc;DpegGawP=)LU$&$ z4)&-gj(#Bwhn(EzKty0Te>_<{L4BF2oAvQEK%!%fL~~MQe?w}9i5PNY*>4DJD3$6v zJ#R%XFU9oHJLz-`3HJ(M*6!qdL}7S04WG2?g4&QqAgCyw1Sk!P7d{3${gm+=Vhi({ zj{bb7=djEcyahI{-$(lmnZQf~AeV$msUOSL=?N$m;9|ii2Y-PrBcQFcD7sT8rr(){ z`AX+VP|&GM$$6$jZ8~%MN9dF42K)Es{v6RM3LLrj zAeX<{A%+JM&V8m?zXyQZI3>VT{qMZ}outd(J^W`Xy!;!=_itU0|8&pv19T;nDe#%v zR$zP0o1|)59rK*?bGYkc0b%nyVQ|uI(#E`E9K(oqWrQJ*d@xxw?B&jKJ~+fSDsCQX z+BE+O;{dD0HQ9)x`+<<4HZSm#_a1_$oVhJ@v8L@=ZeONzO{fQ99=nhtB{ra97k2n0bt0nW-jP85auFgV|-gC4;EKeKQvVonEXodU!4T%0H*LGl~9ph*= zIOojj1XKEAS=Dzry@iuX;(#nHY|6s#)GFP;A)x#1_-o+K0ufgEHyRo6Q^PVb_YN$HA^xnP zq$mI%1<9EJX&U5SGM%%5E!_q;>SIO&0^g}V$vS9uSkCm~rx?q=PzW8H*C;}d0H!x( zHsn$Y43=PMzi3mp+=56Zv*rgEZ5@>%-e`o@peU8F-q{{2h?KLH%JS zG0FidgR&>v23F{+j>jLG#bCtGU;+H*XHmnY8DO4Bd^#h84K7Bh_U8@EH(nj8;HsQ2 zvdP8yvOY)-z zSA9&`9F+W!a?u0MHX37!Vbz~{ikS`MpZuv4cddRXKtkuzu-hrdLpV8^3Z>b`&h4&l z&GL$sY-F$5bEe#_@s9XRi_7ILI(CSQBj?PYSb}jLKl2(>IZuUUfyVXR2&DFwp?S-*^SxNr z!@f0s_d@qB1S8mtd~Gh2yrS%!xOnEIb8n2EoV@1y!w;m-u%(^HeX|j!sSpE`nEdU# z{wl_5sF(7VA$iKF%6|=3E{6^z7!oTx8|HtBVUE+3PZ9Ig^A&f(F2L?mQwQH021dWe zhavHwpi%<}YwYOV_C13jgR@4d4B^l|GMrE#JH29i_T*=a=M>sG!UJC3tq_B-gQ4kj zNgQx;+@4cC;t=gL36cCx;Iu&3)WMrttEbu;i*K)_-Xx64h|^!v1oPs4d`o(f-SRTy z=mD=$a|)rs@%!j^;~KJUsRoYe^7Y2~!^D`wj!R@I^J65S~0v3SR9lqJ%YL0QMLvmwN@anhwOLR zKqziJvUjvu_CakS`fZP523PvLfl$rqTPG3ixV3VUc^h5??}L$CnUcS+axGjn%b&mZ zyZ`FIaP;7P-6U4I zs1&9jcwgnsFa|q}s^>t{qCf*laL20gIW_U8*^Zq((wS%5a%Ifc3M(hH(eL~Jc+aScuaSv~79f*b+whZA-A3*o^T zcu0VY&rYvXF~yI{f$QcSD`BvQ&tS)3b3T;pYje)2+|zDH6t=A-dZZc=Opm05Z{7-# z8;j6`Qshp>?PFFa%YNbbY}QWS3ASJFma;SN>whD>PjyqE8qzq4xYeJ;5_5{L|geFQmAe;7KC2`r{5h??1I|mbVlDU4D72 zu@bXe0&Rr|e$9EZKWU@w8^yC|%H>SZZH-9I=lSC-6+G%|XXW{0aA-@v=TW|E)+1q8GpvUaxp+j9)B zTkG9Jx_wXYmzJea4j$ekqymuFO(V%xL8RzhVX1D2N0#-+TSg=g0rQMixxn5=Cy-v7 zpiDAa5YZ#-Ey?|I^fr zIse+ovW&K4dLJEWUFX>2dr5#3p{BQhs@`6_Go?r3q?k9m$&y@d(O+%58m(`e(zpBt zEksjYKjiY{LLiW<98L^Z!#}u2d-@w~XtKWg2=3;)DsFST$PrhSn*+9{T9GHqJ2yWXx`> z(xC4nhu)D{qupmh^D^_Vb9s6K{KqaG_*`VV@LKK`?YJ*P(~y}IOiqVZozC7#sV(c9 zvkY>rX!3kkdBfzRgy!ukp0?}wij||!S7*Y~YV1u_Pm85soIpe1PaRiI^KGVkgr5BN zfe(Jr_-USMl@OX*G3DunkHho5D-P>h379~vD@v@DvT4V3XYN5vzyr>@^H`+{K76RJU~dMfn>f{0tJ zCkK(fO>?7lk;)zAM$JXP?yoNCe!V#^g+6YLxjA*3*p5p!6vQFT_BBpO^d$G>zgf0N zj`D8dX16+FJPochYViOFHC$Dn=z8(XcH8@B-}MX_uK7|+N!KG_A14JbB{~h12E`rH zm_8%5lJYFggm=j)XlA;SwKh)02tqkB-mcLlQk2P|;E24XQ}cC+o?N}51-UG0KeAgh zI6B!;c}8FBjvQBs9GB*!&`2I`peKMj324(4MVr-NhnT)ZF+_>3#X5VAWNiN4dNfA_e! z9~?yi+dq$0`nUP{zq+?ImScMb((suzv?$G}oFtT^Qq}K&eMCXeuh3>nAbh3aKXUY~ z)Wm&6+zvjv@%W&jEW@obxY(uB`)=w~1s}wyI2X6b_9wZZ+O|^9EfZUTn|Sx-s&BNP z>x*U%_Udi*;x?bpxalgEVXjuY`l|?B(l<^#{HxhGuunYqP}TSKBSUM~>kW!6(magb z2_1xGyMk{$er&`n(ll=N%cJ7{`Gh}VJ_z3ZctJyp{PYvOm}a6iCHZYfZ%1+={mZYZ zQ|Y3K%-4AE$JaK}mG{x~m)kHAir_0{+6aeJoxdQ$($?VY<1nR%I9OZem=dZC#F3)V9b5xvTd9? z@F(0Z{!d%O|5IK5zw`OOE9(E6eE%hr%>N&a@Bg993>w9l#8&ks zqWOL{%1~U1$t=_Ss9@bF8?Lugmkki8T=lCC`mdWWs(UkUAF>kEOLh@;%at)bk!~)q z@g!31jjk~0Sd0_hUFk23Bv$IC+xkRZC?yVcTh*t}hPj-jlsCnlXk%VWU?{DS8PNB2kJ^Q5S)#qf8p(@zL6wn(OzS8{UsIC@&ztl=ARepbrD9I{JnPoAD5l5o!$M6+ouXbow0e|I*Gg zpdsETYw-d6AXeVEG~krEN&-zmWH#cjnCC?`4%KP7ujLGGl{B;~!1)7(A zmw!VVqoF>vzacq50Y01q@**MrMs)ADG>82I+*Zb{!n1XKYbr!&>sWS2av6nSQ`uPU zU(vSSoK`nOs|N5oZp0tS=YD$8Z^*PiP}%Bd>#qW`&j#~-%^Pw0gOt0?XyuCG9Yym; zXP5;R1v3pFG~t~8GzW>7+OdKS7&e+P)Q0Gyzcc6^c-Ob+s|6}u;udfBP?|CH(>=S( zK~@VxTHT+{nVzV5)TP1vhX2iVwnbyn*SHR>0H)c!Q51Q%O&=S(L_}B0zwrM$^0k{w z!SU6dhe;DWJg1cpfy%2dL-1HDQpbsHN({DlGy-;W8P~Q!2{&&^-51!wQ@4ORoc!P) zgF=Q7IFF}g;5?rF`wNwDZ9tfgwS;oMlXGU$8|!`bHv}-p84}=AU5vzmeMoQWOc<2i zmprs07$;zP$^+`Iy}()=7`|^%^?dY26M*}ukM`*Udab{L1DIKD zan#Juy4(@tF}z~E?76%H3Car_qh91jiaYfZ(&ZOgFuP1U(Jrw^|5k~XIb@y5v18~Z z^UDPpDLyf z(UyVztj!p%ZU1Iy;{#&om;GME#}jwYU!ET-3}uT1-Oqe%H7*WyrO3Mu*Ie&sW!3fY z&N+q0kAV#ogx-<&aaw?aYh`c|>75CN@Nk*uMNY@H2mr&onMQtf5Y+OyNd?}$n$ zUC339LB%kRMi^z}HQt2Qh^~IVz}9B1rbq`@<(%LAZ^$^5!NEO`7@h8v5RGL>QS|#d zB+RM{+TWS_V{<)Xj*O!TyFk5EXs~o2kN!T9by% zTP9CT@|4qy=7SBvFSMMQzzD<4k}y*E<+PumgvNgxfn>B|YVfIe-!iYZy1*oqr2i~( zTdT%9hh6^eF>KFg1G-`P5D8qvz8GG&D1wT$| zM6^bygjLb69NFrcx(5jj0d1P^b!AB_ zh^%SiCD_GS>>T0;yvii4Vw)PNRZIv zPx`FcHiMYUW@kNxof6888hQb7QhrH_jaNZQ&z|;buN`O@*;mPKUyT=I9aWjvRJXNY zdDP&MT86fq1nbrf#=$Yy9&ZL8N!;7@QJTMhwu!r|WYj7=HQbWSP4HI+rGJLCk4n|QXtVzxaM>kjzaTkW7 zJ7%F-hOPG}yrk}b#!aL?a5Eq@9tAL*jTD-7v1-Qa6?O4~nzQF}Rhw_w=pJXHc{7i^ z#_3V2Ng}PYI<24l=46Tk6^7p>^F5i5JFv?6u!-w(@Q(1F5}xRUeYmcf!!`0O%!CQ7 zJ>cpq&%+D$(L}Jb=aOn8ciyv=s$({-(MgOi(^bW>0J0JoD+=Xr&?$ELnOUEvCA2C~0vR>4kx+$+eR^=bP4rYi%{zS9E!hej_m*a4eoFD{Uy##A-SENc zV@G3c8e$gL#&0G{B`iv&#Xw%l@H#ou5$6UYr7vtso;fy_b2A|;HFv@c043g_I~fY} zJoF(n!Hu6-n}WDfndSEF)zF5DTA^mFWwAxU^><%2U-il5`2AT=k8c1xkB?>Jac2sl z)%uO~%-$b-RtI;o*L%(ZS(vWjKV*TFZe&I_QJP751sW^6$LkgO_5=y z;AfuJSGk@V9vNf|2TM995%r}6gj0{;UnMk=pwWhE^U^S?a(kU=QMKm>SX#&d7t;?1 zm_}vgbmhGO&_xx0gI9)jkNygF4IyDg;#WONIxg95;-Lt4E2 z)3nPc1uPA7wwVY#FG+|LDADmZWbg1FbGr9gzah)V5Ea4{ur#n15%LkSGEBsmx_-$f zmmk0HJA8_}SZ4J@E(eqoe{K5vOB639aNZ{2X<4CfqjLW}>h4Jw6R}Jm|Ge~z5Aqb5 zu-|rs0o|e%fN-_J=X!#f!>j@>li~Y02K1MJj5saB_yS{Tu%TM|-dWzqL>uZ9j)=$cS5=dQ z?(`VEJ)*Ms@x<3#5IW(a-xja{f5H%Q!Ze>LrZAU{_o5V!J?%=p6Y?zNRC{mFC)g;i z5{SHZ;fdA&V}G{4sxNj*BjXZ@W1_4lyCJmhT%Q7NgE99}9`Z0ppJN8&@8@F#G>=Rh z#c1&6>cQ&z9@S$Wup?q?#j$IO!6t1l8C6W%eeHqY1<9Ng#n}Q9rtOWIR=C2F^X-$u z8M`T^vuE1_z9P?t-p5tpZ@@+gGsVr^2g99b@L5N*=7a@9Dm34xAtA}HV=3l#h)gKa zPA%>(V+bbMz(hTUGW@8cVMyMsEjqd-ptl&&VEP2v`2=>+Z`Z2DO?(g~Ia_AXvMH(@J-Q(!*4$?E8Vi_Yd={$(y%YE`EOKE4ZR_=+kX zP~MlLT$?ZHi^nooVP$>+(pqnA(dpKX;=`6)>O5@4g&2K&C8ilW+B(m>c9@jYO^zGB zHn_T~U6NVhQ!Tbl>{00Hdmi&B`TJP5K3a=u8a;_+$6v>=p+sWsDcstRbL90O+r59V z$v6{peZpTVfD>^U8At{ykO*=RMQ65#cm*(sfZYzwfSZuzll-R6XUJ!lK82CkJ4s%m zKgVCkMk5YhBk43@_?&&+`&NclpuC z4FaT36rC0$NfNYafk;mDEK-?VFFGnRLTZucR7hc7wW}A`?R$e8!#-pP67jJOg1Hmk z`ldx$Djiwgo?%FVqj#>I4HjZH-0x@0cb#>drBJ-^ zxAWo-GA0Mq&n#&%?SrL&m4`BrhwejE?DR!zWj)|2DQgxvX+V%clzsyrN{B+gKqW{pESz|9~o)e*{ZF74f%sRmYV8nsGMFd6T>^9GFwC11=@!zc@iQ(h((=@NqNkmrRS!-j-o*=Lu}0$`VjgD+{H$zyh1Oo{$v?M7^y7^TD7-08$fFWJH|*juTplnk;j#pbO8Wq(8oWmoE}>2luva81+o=qoxqvicgd zQ26qzUQk;35(sF6mZ<;>XBb?H+<=pe@PT0^Jxf+nq9WZAHT~+Z%AP%VF!5p*GusWT zBrZ^D+wc@&AAkdR@?+{0y%136zmJpazO6UvyGU zDRy}%zzB_ei0o@c3)Ox2G}s`Z?SI1R&X++AcsifM+g!z6*T)?DeeGDHgH241Ajzm? zHZe7}?(61H_$8;Rc&#(8ukJ+0z+bh81k(f}M-bAe8gc&~g;Qp$?rELp7+C!53qUnY z-9KsslAGq!AfJ`QHLHn$ui=6cFDJvAZIOW&Qd>9f`W9bswupYkt;-^Ic6H&8D(f(G z6bQ!i0;`DnIgwYy-PT6IZ}*h5Vb)JC`m8UQC#N6Fdzj0?)TJ4}Aw@4A>FN4; zri8gas#$o6AwV%FmNYpfy}&=9N#|40`wmHJM%ZhtrDcMA?VN21=hAc2UV8AJ+t!DW z#<8Q+nfA%HTDTE^dAiTD`f`)Z8+!6v6NDL2now(#8xQg6n(2%*wAJanMEH}Qa!pgd z!w&0i4TNnxqBj^YgMZM=8l{yM=)eSK*~%FD;n5!-dX^;qjF}a#C(x#FqiQwU$=YV< zzF;YABZ{HDY7ZD|8=}+_+FM@;!yBj{xiJv~6Jh?C1S2R(Cgb3%V#lBR^(HL2kIk&l zO$t58`C@@v7PO}D6EPNzu@{F7k9qnB1&rsX@vUF_rH5<5Q55=USWG*PdT<4?f3F6& z+!(=8{Mv`?RQ9qCozF4he4*Y|%tQTjvJ38W>iAOobPb|;L*^$&j3MOG{RSy`j-%3t zT>iOP^ZAXBDVoiMJGH&P4lJk@LT*8YFu+oSk0HhAM@v(xsq(;T%-wOqCFWDDkKEk%w&TNjdONZ_lO>ZN-?Ju0=nkTB4Mz zfHo)KTGbV0OZN03l){U_?7$YBznbk%wY4`=x#(!YAb&1-ERndh$dMu@pEvwyADw`pL6*ts-&+6p*sOKMdF30 zwNK>0S9~qtrDTlnbP8`FXaYRDHs2bLqa427d&HVN-2Sa*hCBDKt&Xk;eN@41fVG86 zpaqtpQjHRRFiw=+-Mc?G>fcTOx{Vlfire8#43Ql*;Oo3;Pda6$yH~P*0oRSCC@;~T?`+Ux?oHFVUo+2b zjIuG#_HazO(OaPi7oEtj{hy!=XsSMYOI2&rzhU4wx^Goi90mwx%Z-I~}5^k8EcI5aOz*JG6aZ%FV( zfZ$K=0p-c&OPGZ(hQSQ-b6`~~=?j?#W@o94HvBdWWB`$%;L9+>wfBuaCC5-sVQX!Y z(0V8b!X?Xo&&a#iZjB6mQOMNupMQ8WLFaazy!)4wmop^9b#yBNxD?Nlo|1$5QDO6+ zM8ZB@-+5_u#QMGTD~oxbop;@!;ZXthd_lhsn9v5Ad-)XnE;8Td;*j&+mje;DGPf{| zpI!qsaSHM`WYy|7#DoT;sNg{@)tAcLG^I(zwyAMBAp4r(R^bJ{Y4RgmrT(JNC0~0Q zxL%1l!}ds-2nv>JR6!IIg`IeU(l^_frk(kQ{A_+|D^SwO;v1>zzB}SA=6x*f#nVP+c51OjM)`hGh@1J{xKbYZ-nB@L{h3w zTs4j~fBwTIH0(wMtSE3*T9kpx1C?=8=y!cJ+8zK?p%Q3P3{bm^Y{2x1VKycnW4ys= zyTO){V7u#}+B(l@9>6SpQKK%vJD@~c6{uA${V^)&gh+XQ*<;FKW4T>T_!5GgN)w)E zAi-~eUcd>_Ujdod!iy*cLdHCoo!Y~%yyU^xGkal@!EQ$DpfhF8UHM~>w3Bll)B)w~GhBD1kysq7X)i$_m zSj@RphQE+5Q9m3S;AnP|P~*1%6P!p?qbP%e`8;@t=hflM;y1?K@85#_x}Yn}7G)?p zhac}G?-Ed#<_(nN48@7lmo~?y=5)MU#$0q`6q8%tK7YvS!E%2=0xUSAVdQ=am3k7T zSqrq=q0tq-r>Ik2AFp$RbdMNjJZWDy5pXrkJlSda(aTMqzbk-P}jwpxIgkW>9H5F1(U^H5T zIGmDDL#`G0d@aGd$WoR~sl^h@!XL@;1MgIAp;$NcPG!y6qv9|}I6H2so_v@CGxHiM z%E6^H++dxAA$%LA^8r-sq}nPgHN4?nH%SR%DYqLx1lt&b%|^fi`}U8SFc^w}5{{_G zi!op{6$+<&@h^nnPTY24_(ijr$(OIEmh0mrpNGLgMBLf|^T6#(`~QY)eE5?lqtDaK z=&`T>C^rS_NC2vChg^L!ZN*iOOcjS7&@|dXRa3?)_TWM;~& z&hd>$Cp>a2R=fA$YsH;v<11uWl6i}b5E5fbLJ3YI9II}1NElWM=+5?_Lov-NAT^A_ z9B5FO`vjZ2Q7@Bmn!aVlQ7=0YeOP?&dDxp=o=%1sGZ}=&d5>Wma~RS+Oe+LEjorQ& zOQ+c|RPpCAv-8jjIGv~FH)MALLAX=Y=Mjfk7?DWfm7a^E=ZrlK*T_eI!1JjU3- zvEG&~5#0tm*rVF%`cW-0-MQYh|!-k z_=6IrSF=7guCOlRf?{R5mMP1zW*&C1zq|@+reJ3STVWDYs`>L!_Mc9RgQ~-s`(GsE z59}XI69cWeCu;Hdnp07LCvIaxFH)hYVSKI?PK;j|^GJzVY!ms(&J;184woCl2LmD% zFGWc)2Ih;CKp@pjiT1^_T{l(Qe)x^b-Mf0X=@3(&@Lm{csmbWz5FW6~1c_+u?3&T| z*%$lmZY>55>BCP-^RG+r)gO{ySO~&RS=-FkMjJtq2-lHDev0|I0h%dUyzwjf6kp4R z(pmRQi?Szl?&tDG8);ygkE4ZX*D0y*Q060sc4dxJeor+gx`Z2uC(aGl>v2d-rZ5F) zTBC08Bc=YJ-8vPe-jpC03OYvnRA*84&C1_@Yvr0lW3Q_~q zDn5DyB?%a-RCz2A3YMou@iS!tzsPpK+@v|Zhs=(`Mm3Yn90HaCfo#D>wQ$<(Pi^rk z?o7*GtzOT|P_xxWg9cv|q~*2aTAZ-w;!tc~FG|Gm%m^1H0M> zXo1_%al~A08!&TH95OWE+K(yf?|I|e>RTcCW=W;|hbLRj?O)2fHVlb;vL~1)m9sW9 zX-5oc3_|k*az%fEtsomSU;^4hO<5R*YAVIUhH{KR7cxktvDbp1Wrcj{e|jry_ATrN zVqe(^G&`GzL0L~am$w7|KfQBjh&f0kwWOfHL%*Qx8|&*@AIHQMQbd$i_0u+Gl(&cGvF$xN zGl8wv&U5y-8@nTQ=R}e2{-sUIIxNbV;6c1}APjIBD|+*T6xP7m)LUi6r!1vg90_*+ z>MISt2O^;-NSc}#;|)gRK}3%MwjO`7EpPgh8XM* z0$Hb5AG{iyG^;c@`8g$pSy|asOg5^S1qe~>eVWZG0T-iE=h_#w9f2c6-d1X>JfDa8 z4->9YWA}`uqqDM-#C&NoVf&i9r+?9?^G~w3Ty1so^<;C?za%fCA@CXVwP9i)oSxVy z_Y+!ev$}^IlTLXRo^4}YdzAC8;)|5m_L{=^k1Hb!)!C$e;JwjIw2QUCwk)<4Ca99P zX;yvHaY(PN+`#mxu2i5&iV|}l%pbOQ3M%s(LU@5$US8RnXRr&;s2!wa%^WNY!~Il8 zT&R1PAYDM3`mCekd6CElA38YtU7eQK`rd|f)Hce=dK3&x`OXH&cM*ZI0@h#~EN zdJ=cS}EmuuWdUOp54ctd#j)Fyx5nV zdhP94dx-zxiv#B)|56asOfNm8d-c$^oEFm_GgTYOJBL}brkd-l1(V#*X0*CV5AvDL z(v55d%*7Qv?wwc{KWpaj=vDlldGR%>KP`;%bl!&V7q)_}X_~|3mz(Txeu5<3vcK$8 z)ya;Ei1d212aJ0Ql|1?4Kldwz?3yJ^I9O8Dg|C=Fm?I$4tah~n+gZ-kZ2OU3F1PVMGQDdU52I7W$TFdysqq<)!r4DpL?nBVR z8-FLM_>W5>{=Wj=!?(c3z{*0(Ll3}ef*&y0C`#d#4F0{c**do3u_Kv|UchR>Bx($w z&wi;Ve!k1KDJdmid(VWZNIpy~UM(gCw_~cj+IfXIsmgHB+6ewjTvn9%vzi77`)&R;L)zR&#x#~6Whd@)kWxo4krDLBhHFIL7PK7YN&cA4 zoYm(WezoCd`$tbyelB^O;%T?}pr3<&kY1pLiGWqXR#)CkBdKkIm=`~UhtkVMH z@zsxcC0v`NwbG&Q;&{aI$o;qp{?zrg3ysxXj4rTF!>)BwR>IVpenW&;lIO99$_B@d z7IX_(42?G^w48padOy}ZVpOb4tSl7*CcRDrhNL#%`;i1EzaMdS9lE(A?rc-FC5NdV zFZenjI*#YpjNZFIXzpaoWy4~cWsM||nD!U3@kWM};)|&cB$sn_D2vrTl?J))R&`lO z(_gPF`o4swJRzG$!)}5@K$ei_zhQ2y@t%(X2}0(v6L6j9t>e~Q7kkobU;Dpq$e}AQ z;1cmf8{mw_(s;O!1SM;dOuVBme}#>1+-4Erp3z9rdHUsSVTNwkX}uZ32$X2E@tx3y zs2t9$CNa;I&TVxz9!0sF+QuB`6N)~O^&ot_!h}B(6paTB60Mx8HrHn@AKwq+g2^Gk zo=S9_G_a|pXVa7w3QKJ@NT**b@L!%^eTwqnpg+TP+E7$C{~4r^Cw>X`dRLefyrX zg7n>8R&*|GwabTkkJM?F)MDG;l>=uB;VvROu;@rSiKd6w=+6WSyb zk+Np#j^aswocyZYS2^LDEO6}k z_#H_U`}12RN%gE!5pY@N9uz2iu=LvEYl1si?IP4RBA6NV6NHWFIM@R78w{apdY|c! zu*cC@S`MZI3Qo8Ylq`1vUN(BJ06-9>)m$n0w~NLddi-wo1qTUPq&K(+a|F-1Bul;`6P>$nLjr37RiAxXBhiTd*uDTl! zr02%m#?7Uy8-p!99676QHnE&l7vl*H#%2D7+}zkZ=hcFsav;3`cIFjsG<7U-mKE2j z_JE;C2|j)!{Okn%`6g4!wSfnQUM#5{5eA4Ttbi7nqg)LzlB5}I`Nd*IZ`6k_IX0I4 zP(l%WZi&WEn426aBks20S$96dfJG*fV4EK)uHs?get9WH+<~D@H8+OB7=y6N&Pa?8 zEM~WnnG{~PmrCun$~}}hc9kRc;vvNtIX1bM^SZbn(~guq(hB(k1$1D@r%5dh8)1v@ zvWcrzp0~?OGP1dY*9DGRTeulS*t&0UhVl&v7Yw)b4$|pUbrzV06&w3XPXBY zV^yR(Foyzt*K4WvPxdA*Zfd{K)?+N+MP%cvQd5nLK;B=yN%I^DO2i3JMBAv>l*aFe zu*#{hWnQt9(lYlkNzY9mm4_As(Bd;}bq39ncnQTpiBhT}VIuPrdc_vFaN1SJ2Uwdw zPx8ebT(~pAK^+I4bmFtvG3cyY330rwDP!wCRFTrjxHt(AwS>uH#$yf$BfbPw8LVdD z?Ww64-V=rz#MHJlq}QdIk6Ru&e(`0kirt&*F?y2aYX}cJV`yJ6%|Ma71TsdvJE*q1 zn*4^O`EB*h!&etc#VylSZplQG4kP6#1j&EiR7lh+$Z(*|GuhMD&0@IoOKTp1Y=G$1 zdAM%V39BhU}Wolcrn|mO=q*b>{YqX16nX(0{h43QPcIUzrS}Xn%w4iM$71U9in?5N6|7 zCCe~B2gmSv`;a{X*^%Np-xoE_b`O7mW;x!8T5eUdTxUE!xNu3g_8M zBTsy6pq5n(b9wED;2v6U4QYtqLtLbaCWLQ%8;IEXj;6CmZcYdRUd0sFE3BG?V)xFFK`@?OM6s$$4qwx z!HOP(mcv)^GrXf}z{b`{+?&4@<0qYz8ElnWuf3|F!R&2VqMpke@R0)W4lJdoHsh){ zI5)=b&latu7{I?mi58&3f<8`jc>0&8zuvm)i|@q~>f-$!@bLf*ODZ3u3lx*U_U=Iq zOoEDQA*Z~LHu#lvE}T$@jLIrYF=ZeMu@&a6u+iYwF>XQ%SWX`%Sf7Mznw%h&9Gw@+ z5)-;-Cgx4~yd*BpA_1Yw;8ig*IP9hu0Z$em!fcWgM?$Q%7q*VN_RB2-YIY~C99M!5P?Pb6 z0o%)&7f!XQJAQ&iQ+}Cau5Fp^=fs}q!ItA7Y(#4@kwt03yA11xV5L}q?dwbIhmrYyLozN>f`3D< zW~tE?QyQ;&-J@12ttVhQa>A^nzqCk^5CT$hdpH1 zm6QWO_;-H$>bM_*WEwG`mc&M83;}p)&zXB=R+m6IJm8r?xz6)jqq2AVfviDspb>O$ z8UHN5FP0Ii_CuLy!jSf&I$#EFR{n3vapkSV|MG4^JOfMsqD|_U+N@2Bby%mH3Z=yFosW|T?}?FkuD644 z^EDu~QW2(*Kg&h)Vf@0#3|MwQ{)TL$hWCpRPq0Lbz&-5`u$BLdz4wl4I(pN@gMf&F z6a}OPDS`r`6ags_6%bHRdXET56A%#rfdoOS6hQ&0ktQHQl-@&+i1gljZwWP!;$C-V z_RP$l-Tj`kJ9~a*{=gVWKIPu~dGA}E_j$IEWT-46zlUxYfDmYv@OHxiAcL@d!h7o1 z@a8Zd)L)9C=z&c==u^9r3!M^+*dGD&i$4HGlg+NZNAemg#0K@6&20e}p zDsX@v8`2_Gna$0Qu2WW3Rwyj1x1b&923X|HT&x@6vi;k7fpxQ6y;nWyB@fL4O+=0v z+qXYVVSMYAy(QbM7zmp4{$2;qic9A861%$E;%I`h7qUe7Z`b;nIR^{A}(S9O1p=J7IA zgc9QE7&(9&#=k-yM-blaS0`gK)+n!GGpO(bG(pt9?ab^?uJlq53c0ftd3%p)_Ym7X z`eBx1Q|!y?Yu(l~;WBdiy;mI3TtmbMIq3H(wdlnw;cD@TnMo}kv?Q-WIqg3U+CXYRzh1IDHHy?N&5Np;h!r$i0|K94obEQ4H&8V1O?l&Iw3 zsApmhFyV*?UTxwP{mmc3Y-khsrRb(&Z1`>_6DkgFlM^W-0CCN!v56$A-yRwgSQFcn z`aSD6q{+}rtA2I;JY1COyH+|qe=_+XS|&s`LU=6fL>@1Mhw2v7w+Fs0uQ@_wjy&Pa za5Wo8i1^OE=jW;79=HrIYHR`%LbH#T+|R~q$_K41`IK^}@?Ni*8n@_V#ruZnx`I880|#=s ziX2IMm~;pKVg6)1NI9dLcm;YHTz|AZ-c388UMfDy{vg1>j@5llnyDhED6!%GZml!$ zpx3q)TwNd7$f#tuB;FjUv2WkbwnW-^q`LP*%_u2K{TioILOoU5x8xajGvtRfRr%)t7$s$Sg1A3S* z8J(NcnPU#@@a@sZVn^JMc5K4iD|RRr+e|Sjef7Tx;8e6cY4h*}M1w+OgJ)1Dq+yoC9yB(Ft~Br17pH@rqQ^NOzSuHVcaIuwdm%rXh0YKq=J zrour1?+j6r5IQRvpyZZM@W~$Zl;FOPNq*42t1D6aqQt*z!{Zh-@7RC8Jm1CI`b{bs5CFJUkjqd zE^X-izN{{Vrx#ph$OGM-KakD%51{8Ii=glaa$5yFz({={hMYx#YT!I5Z~bj3l-xfM zmRnrYxTP3iruU?rkRT`ZEbD)H2y{RC4RAM*F>uD0-Qme>AIJRDzev6BQjPVdi-Yj4 zP#;YYq;WxN1YihhZ}-)+5uPrY*U72YmF_I0Y*(Z?pYKf9Rev8{M!r3~TQ}3nCjf4# zcHIll*x@YvEtI#m#@S^3_~K`VsMm~VT?AGLaTi4TpG0M+xw6>4dlG0;{GC5QdJMyh zadI0UJ}@EJe1Q{eW;udOk!;=-Dh4m^d>NC?mIzAQxaAl0ChDyxdeofA{Xnm6{sAWJ zfr}@%nz&1EZ`+XmhAO(%Z4A}`6dOqAnua>&upvs!^_PcgRliEnd$JbG{z%onzEg`4 zfn2~z*F-=Xz-4+OT2+JxY7IRBW*pJCDO5c`!uD?nzd8TZ0GxiJm4n!02;OF%CcGe(V?1up8F_C8q^33lp+f{vmMUg$Do%IRKw@W}y!f_GMrsYMJqJ>dE_PzwdE9hifx z!BQe}%mZr_OL*OPt51MG%n;6|1*E5uc4$mnTSKo^|siIeSQ4p=b zcD#NIdKEE-+*~TarX8OFSwD;$sN=JT$;#C9Z05Agb5+aVvmyd7fr@FMNPw$ zV%OnC@NyI>g((KP-U-`#>3PHgOmGi5hC)N~AzVk!p~B5huf2|xL$m(8H%onu`n|s> z^(ty?`Cy-%q#{V^L^1m@&PuYi`h0V~Y18O(idyobC%@+&8}O=d2`y@RuK%t1-%@pNsTvtx*xPhALn)F^LB^kj0ZEFR$wj zecsUv{9dO`$Z^A;MUo*PzZ2N8-ec-_qE|^}$0bp3fF=Sn#lFcYf}4hWP};b})1l-~ zB)XiR>E^;8RAB4h(EOxB;{^bVQ8b0Jfo_rMwHnM}G(0Fj3Whm$9z??dCsqv(}rOxpDL zC!_sUR_&(^@kGi|b&V4xEbm|Q$^DQ1|Bv#_{clmQ7|#K|{N{PDF&Uti`kTU1 zvs;EdKVe?CcU@(UUphue3azmFWX1WQ_05&rsXXrR_b>+7V`Nw&v|ObSKRw@;<2)yE zbE0f0ZLu`eFHWqDrN1Mbqhqp`_9uuwLL=%~$NfN*66oTbP7_V#=IJ)eo#bZh+I-M1 zbFkaam($qggBAvVm)gZKwcG+;zb5j-@TwaY4VfT4BuLJ~Lx*VfcCC81zioD~vOP_o zoR3UB@tiZn8>U5hi8$#DukhM1yi_-%dxmg!>7Z$6`L|ty=XOPiSfs=ECL#fq6#lZUBRMF!FP zx_e`psIWTCK@nPU^!(P!`}SsVq_K*b#9$MXj8M9{tymyrv=d>BY<`7oybaQjiBRGJ ziuAx+qsvjm>QW!^G<9X!U{i<&-3sBd_SFf{Qr@o?O2lo;-xG@{& za~^;-;ZdL?%{PqWz!#VEBi3(z&e@(mwlc4@hGxDqaFuLa7!9bWGY zt9FI7eM5JaCZ4{(k~{gb<(WARb-MEu%ndrut%r~Pf+_ae7~3xN&TY{vN99e9+_N=* z`7w-7yotN$fR(rTslv(nQbG;!suO~X{K-=?2p|F{eh_r^tWOK(33YvOsO^?|YHA0q z(f_$rYk%;X98=moQZXwRj*xMFl|K&+J4m)2i*K%J=QpkhUh>Y6s1W`H?otE-fc-nz zO)sK6fM}H%lg{<4;espAIm;za)(z#qcqrECA;jUf`$AKc`zavgehK{w{SJ_b$@a}m zL>dj?$kib(AO=C0l-Pn9S8U>fH=jx9!N z@7&_W$NkO@R&Ib6!HbzT>Si&cL9@ygK@v6*>n1gqTy%Cj3>}y33{45#~U z96BzoNzPCK6?0s)gWGereNl;Fn|As5r*W{jyAz3Y&k@(?9u6L-o`mo^Iye7CvW8Cy z5oB>5E%0+n64`1+Ru0#=gPf(M#6Hi=DuZ_F3qlZJt&=gXpgB2LgPdH? zR8HP`L z#fJ#RFB$u#O5HPlz9*<$5J`@3xr$ImHr}Zh^0RwSF1Ux=Ts*!#?SI$n+;5k&TR|sO zlzokX5pG2XQzQryM3yxS1BH5oTwvTUGqO2nK-}im3Y@K?6KR)hUyj%TRlLNF!Fwnh)zI$_Yt{vkXGdA1^Y&^#sSH5lS z-b<=^ny&YI!Y8SZa_xW7JkjSA!g>E(g=e5}k6iegfus37Cc4z}DqBTqN$CA(`5szB z>PO`>Q~_6FHhvHpMnO<;6JOD?sjCk^w>~!Bejt|gj^m!NU4oi>Kt{#q#)mqJ(eX!7 zL=bg0-mY~g-tiM1qR=>En7#nntag{Vg!{JW(JjHW+kTsIZAvfbP6ohkfi@Eab8oFb zkxp#}!`xJ|IyRANXtMG$Dm zCx(%vaWO`yyLh{?265NIWncT-C2d_wEp~R37wo!xhZmUM!e-(Cnyp@N;!Yu=clx|* z?k6@MiPZLd#e_xd7~cZ3{{eA$`?u30Hu?zzDwLT`CHOrhT-UiagQxcp2>%mqk1 zEG-*`h_x}MZt2RJzITGCbak*{f(SC|~J_05#@SpsuSMI;jiiW)8 zEhxc<5W5H zGb~T#qup~taaq;w(GLN`4A{^$u+X>2V!Dle4{%8g0}NwJg}kj{711lY%GuKVA^L)s zOreZBC#ZyVZW?P6&--1#V>fDuBI{80y=lhIIarvLaQJp~`W>M~r8btYK+iXU@H7Oyj(SK zCEYx(a&(uEt`N}(iedh<=-~9zeYJEmgeeKZdx46+p0Ok>OWPX`i8k*O7pW2fQ<1(W+Znuw6{K37&|90XlLEPZ$2^}i=RV0Nz2VXOfYGI;ZhcVS( zUl|tArPbs^vFBdNOmy)3na+7*UV<}>aYQKY#RCW;dw4g7s5fP1f^2-KB;w^SW!}i+ zo)D*g`m3D9zQ`MRZz~X#s=zd_Plr!e93;)8Xy?l;4;E&HS$t8A48O|F9{}RbVND10ts>*)qzc1Rvm$9n$$ts>##PvY*Dceh%aMbwOhhJh`>Eq8N*c-j;cIxu}m zyzCsjRD*O*uoZPmg=Kx3`6@zS%K6diL!~c+i?2*?WZgI=HhtkUQ$1$p{q&CWbL3zB zykiw7vOc;4N)WO=XHMzp5n6dvKMbRJ3_|r}jD8;V5jb{WqIXlr>>&U>?qZWax=7@P zKJ6>xj798fIE(9j=i$2t*E%i&LY>16dr=PwuZW;4eQ6W;9Va9qPn*erT;9${?`@cf6@*R_1OKff=7L2v}+CQ(c4Y4&9^xU(1tO_;j z#?vGmyM=fv1ejQtm!=V#zJ68LJb)N?O_wdVVBSsB*R!|IZ3o?C^?qj(aV)=7hJf`( z>Pbt@@ZI@(cJlS`yjzRgIP?INjqtpSosyv% z0+#n$Et(lIjN(+%cW82cRbLfrt6!xx@!+LF2+!j;*g~Xg{E?S6!(J2UEPL?r^ zi&0K<5Vf4VfL5mN>57oeice3SO)gfN;M=bbv(!k^_>XNWfh9*%Mp(z&>xZ_W%9vVi zBy*-c^;OhdivO;&q!E2D^R7t7i1#M22VKw#I2QgER<``E&`+5N^HZ)Jt~ICmWo}X& zT;J=?b@6r~&BKzP)NIX3XHUF|R#$li0GNhkl*$!?*PPs@`HX~3YclV9BOAZ|BU+t( zHOHk8!z13HBU_Kn8dEB zY?)%kbw`#~y@a1%O*qc^xMrAD8D;VK*#5mg76e%p8{0%DN+;+red)_9*~qn+9`1Yo z(H*`I9zsUNx!iZ3-)+^tGVd_<`Q?17@hE=?)yD-sRkkBqd@hAv7$7973$gE1=-0he zXa`ek-_hu6J(l`0`9V-7j=$UP0&l3+k@>F(TZ z_i`;}x)U_~mkEUJ5u6$UKnmDaU_rH;&Dzj-k*0?P1h0UNLn2EFd%CB|ZHZLhu#A(|7u1#`D~+>RhLBAHSQ>B=cB~o&V%A zFOv$UFCK!p4fNwcz2LH+O@`zq2ky(IA9(cJJ5v_icg18|jArdvLt_|(LOX=Lg%V~! zMf*OY0R~ml$FI+*qrMV`wQ7D0y?pU(xw0~ZhA{(7C3wH>XAh}r+LuM7**Enzn)nIRe4G3wwVnM0b-FP<^e+X1YE))F; zSxtOQ$k6Fgqhrgl+J|H8v3Kh4#?`=nLv(7>>8NGN*GQLeWy5bM9Nu>t6Mq+ad|qY0 zA;s3NchDo`5*gqg4=A*5@n5^r%#Ty^HYJ1X{L>-flv$91Q%24`u>S*TE0}cn%yb&K zEmq`YVCLh!&A|gRgd{n|5bU-`(UfrGV8FKVPoH#dggF9+nMXKSlZ$aH@{~;Lke}+8 zH&;w6Oy8e4jiyVT?_a-l4%sY;=tS;m)k*+k>Vcl&J| zl~PQy$}7TIUbI}HHH4gX#)G_~8)ke$v;^!fm)sJ1A+aQzLs0VZ6=JewQ ze$@tr8Ml?k#U0{c9es{x`ZA-`-F{I>YW(ua0PtrTvXq}8IBOtDlMtpF_p7UGFS~N$ z%RSe^C%2e%94J^kY4pmqs*5qeKdqgz+rYCs%yZ7k*c%8jpD#Dy zZ6G^u164=79OVpfKZQ_@r~@vLJ-BNzycv)11=n;7tT7B9Vn~I)M@e?(frf5>kxb!j z#VYQHaV9;P*elFmL~|5=2j%e|eP;3{C+#twg$LBr$64N-oGjfF`tGD^qy3bE{L}aSEVuS2s|q`titTA_>ka_>u#<;GnfRBCCy({Bhc?#a3f#&zlXxs0GBBZ^-4L zN1A6rl|N6obp7FZTgs|DH2&|i!ttnoCiLB%d^jOlZNP@WR|ob#au`LF(lgDx2P}=B z0)AtPErd};QDHN9^Eb=SRq-O*an|C6aL8s~fXW$iT6&up8|(7nHOMOn~CKYR|7i&03nzb_Y^8ELSM(c%DmVLKE5?ZLYIQWv>5>QvKQGU*J0O||3&s=mv2U~ zOf$jkvZRkx@CZ0guT%FRm{5S1ZbFu51jwYMz!(WJHkz+K(^kjwX$t8zd(cD)n95^s zUk8ob-6J+l$rYO(L_6<_gG9W=3*Ah@E5f8H{l`k91V_6PgIDv1DpvA5?tPfdu_KKG ze=@3cd(?R5A`bax^GV%s;Wx86uc!VMuLD~@fDYrROYQ;Jm>@6Fov^=;pcc$|1TD+N z_!pK@m{}L$$RBN+Yzz}*W1xQS5j_{6G=314AjttfX+VPJj9p9Gc*0z%Us-VHApai! zOMaf=Jq`HV>F*jFDR@i^ly3{>%rqu2y5Y&(-{H*IFfP+KajU1~qZ-TG@r&a@hi~TV z5F0&o%ZZ!)L=!^A%oA_7+1#cF@=hq`TIWmSr+!Yc^7BX^S({WboOhWI0`2U=-nq>v zoZj@CdTwN7B1QaNE6Zwz{eVnl?bq*dY=M$V{PJ`{Z;x(uJMCczqSMW&uqj?b3~m~L zAG|>B&ZVMx^|YlKLkX?__ENl{Yhyre>O!>QFpBgL*psi`&^fnea}2~!5SL!!GY>o0 zFm&B~(!Ak&M#|y`Vf$Ca;2%5b?)`-jL=vI{!}k(Bc4uZN9DnEjyNy08ejq$O{?^$2 z>(S4%92YI#pFQckVn#@$&>!KXTc8l+)5$YUKw41Dq|R%=RiNYC8Oz`gzaHPBdLPHl zV_$_X|DRSu{?Q7^|29dwzLww%187s48brDyhM2XJbE=?+itw*BO5O*kpZY0N`jAFo zYEs8Yn2y}5CnXkDL`^*s*`EjCs;8K@?hWeZK@3WP=#2XJmPk_;gY;|&qox{!jr-1- z)KVwiN;cv1kk)7!Vg$#^b=`j@r+Jyv@Qo2C-H)8i0DhuG1!+f@xL^>@rG72qyf1_P z%I6c&wOl}Z2_o7QdD;x<1q0oblj07!FY;&(PoRJjmcCYj&2u`w(lt@YdLt0k4Y)=t zaUNm-ds@-um(xwm{E`^}x!#cZ&niZFnSmG7M`9l`ss7dJ_$%poMf7tBr0G0;WrF;L zcI5}!;F2v1C9EDPwtP|T4O`wV_$T>vst0z)+!iP4e&jy7#d!B#+sJ_E9`*UPf4ZQ* z7e&L*5-9zErS0tP0K~`R|EigELVhmdVpxx4&y(zbzTwNKXddr^Q^-DIwmvU{g*X5&mEZ5%*2IT1mlR5+PK72at->ux$tu zG%`e+80@Ez3)jpyS;aMbN>0TZFUj_Rng4g~GXMVlKi)p`pS<+{YF7SbcK(6af0Q@< zKY8i@W5@SDdFlUS$M-KUePs-L^Kr zcd7Du)fX-d?n;|g6zu0z5m&Z~eA(JN&o{HWM{Ik@uGN_Ax z&mc@&Uz*vsO7b|~z?+$^DFm_^-1VM+%%%=$x4}ENNPs#Kw?OhRw;kXoxQ2yw#6Z7NUIb9{Xo z0*D;<EM!-x!p=Dak*l%AhIaj0gzf4$3i zPZXKvOK{_m(j*!3_&@mr(N2|>H|FHcM0Fy{RT496FOAPHhfG7C^>1auHlDd37Z2ZY z!J``V=R2ztreV8%9I#`E)8TiL?*~JI`=g^8#4C9xTkpzkO$su0t<;#!1<&1Z=)F@` z;Mq;ua|3DXJ7+9u%WE>N<~Lpk*B${vd=EjSfb(SY5g>PJ@BV-1l@-zsoZMek!!NbP$t4dff}p#7w(uo2k3$$sEt4Zk&aC1Y zvirs^Y!5QH{6yMM7&2I63)D_`vRzi3@-JVv+wrC9FB+;JqE68`f{s*Eo>khCO z!9}l^!JPHOZ2PxzV4EAN$I`~ZVe=EoiLDVa?bAC|`HD%+>7bYs-*R_YQpy1QL)74CO=;WZ_2(OB7SDh&!YVzZs5hum^$+U_yWlybVf-BihiQ*1L&{GN9V zM-kt)avS5PTV?7Gj|I1@grkKe#oj)ejHX*R;jp@jD@;%uLOXKuMy}TEbUDu`6p2*1 z9J0z3uKhNllrj2IM6hOPg1kYU9kN}p8bzzIIY3M#o!eYTzf++q{ps>htGU$u=O0L( z1){9elH`SpRA3)E^rHK5Dgu-Aj1s>i%eFg$=92ayvAp#^hfJ~eS7B}{97n=-H2S=d zrK~&RFZKMnG(i^QA!?{91rx(3o+2F zliOS=x~aQeqfDny$eE8an=;of)L_2GbzT&NJy6bsiOnD|lIo+E$_GHRWV` z!JRI#6A?$hjhSuM|3J8E7uPTSf#~<-yvbk+r1yLO?e~UhxX`{xq40U*_ny!{{lq6g z=wNq(Jo7h{`Jerix%vA$csRNXiI79ZNKtO%-qUS2KJCaBe5ZSwG=jK)ugEN7qj~8< z1iUG4er1dl`SsyjifHbRGT-=L%kuqXp6#R2xp0hL71{aq_&h4=A~uCL2TR0XgAvvx zya(AfX9>e{Ik+deyC0BgU6&UKrf!=4*q&FQFnThtl4upnfZDp(PHHw<#B5UM-cT9N z>VOjC3jRQ3&5i;i4pzK#)BFEG5)bzy;j13ee$s)7BP93{%F3MNiF;Og?v57~p!${( z1e7T+kXjQJ1PqSiN1cBmd;|9j_Anb!hF50W=)q^ng|=i!nqd0wfj)0*zD_iXM7^zu z3{#=6!X_4)fqEB06-o(?7_S&ERjl<-d{mwSn@Hk5;v(TQ>yr5t<`VJG@rWq&u7XJ8 z%lb}@Lu4~F+v!(>RBF(K-taPm90&XIOV(2RL6ew8^K0G(EeDmv8)zS9-UJ^Asl=+4 ziPsS}XKl6@hs*>=&?CwsnFt~)5^T6^C~K{k3k7YOI!`3p0<7Pg!Y~ynZ;B+w?*kIU zfFxcie7&dS`fD1i<-7=zEft7Rae^Fc`A7IPMPuxx@z3vmUii1(tmC7!#_1a;`skbOHP4ZCa+;HLk;6}zone{0lUwdPBW#i>qBxzI+_X})dw(fy;ZPm`_ zhF#Y_0+^4P*pMdT3$Dp9vH2wB{)PiuJ_U>=!TV;O$I1__>Ad?!_ouo27};NGy2}y2 z#{#3xVr6M1^~)OnBm*?rh#X0O;Z(n3t_OzKGP70+8H2b0CmepS{Xm}OiXk%$DNUEM z0Z=ZsJZzgnnnlLR`gqoA|D44?F>cqSXr^78op@HBdxT8dvt--Z`1@dfoyKow-+>Z$ zr2jzp%VJW)-1jjZvQe_Ft&NjPg%|gqiX08c!m(!B z1aBjNUjrPJGR&eWtho2fN@alizoa% z@Y$m~S*1bbpPx`9pXBeZ2nhmZnSU)rRyj^IasLczsCF&_f1SrUWsrc^Khi}1+z8PP zjvh#y@RU=L!$(c|k)1YzMxS~@pt$)f+!EAr34KfJB{&$gU@|Fp4nHu&l6Z=P6A4+$TLlOsGK&8| zYMyf+wTUgg7OO@@_-r7T1c1k|0XsTJ|GbO-52OPF3ad%`N=Rs_G^Iwn5`JjPeKd#0 z;@6ubS`xg#a|4NtA#=iodMyV?@UEfVcVH_pUbW$T{)Lg8cv!M=k0S4Vk#abuzs^jF zblO02)}8>jxpNo%!wLH=i}z$3W#W|&1HWGJ#nznaUjsVTjoYOtqPC*-% zx@F^0>qZ==z0+IpThp3g^vy_{nbkJ)g|3yLoc9K{Bkjj_HXb_px5CF|PUIjavQ+do zQp#?&bCcT`_Y}~bYhvDn&8wBVBou&kN&B%@8y@T8j@84f zcJQq4l(JgCS1}eM6kSlheoqkID0xZtljjuZ7M2+2zFiOhNkpEN$;59HJ0A%&&`p!M`Ivp4WDWI9OB9YT1C(N7z zn9CJD_-iKcon3SbaV>(tK{`l{P)^`8{4X{8%cVMTvG4{^8ikdHP3{a!3q(t zdrh>lW|P-|Cwc<8;81ym*9lhhm#T=+-NZsByS5<5fBS&J{8|7|K#kYQo2~<7A-W^u zMgwCR(u+3#R3!wM0Z8w2OTH51n?r5V0~`<1*W@jk8oE%XqYIw7tn~uwy$~BxT)jYM zmHj-z{=iY62r5(UTvr*JJwIZYc2s&l%*zGnZ%y6%1KDa8**}r5iEnPCKSY3M@m}b@ zHJrEC!ULZr@2h@>GKu^amDO}XZIBFrS4@T3g#B5zIYq_cKac=*I!feMRzE}!_Bie8 zEN03UzLQc5>>}z_RYBEh{IIKk5BWoiK>>U z{hQ*Bl)Xhv-07pSh}rzPbYID%unKYw6Xouhl5`+^XB&@P@@>HYBZ(YX9m=O198m6y zslcPBq(5w_+Czyyswl3`tt&-b=@*yvr`aUq6BnZ9-_HyU^seoY9PtaN7fTl~lflS? z$Idt4?_kVNiDM+%&a}GwNBBU`)4!#6#wgafzu;m?5H-LscqMv?6iQa zCL;HEjGontv9IiKW#p7{KW7+ z;0LzHfZP|4gn^@_d|ImD<_Br{0I{3Kvv|eIU zk%&-*ot9{3iKu7}dOlVTEK zW`#U@TH^w@H&?Pm_6p)Ji(RS^)>O$7&9So+HhCP~76%UY56sK|>CgP>`M)~Plenc| zSh%c1X^Iz1Z5=%)^tW*#^v%tmGt(M>Abv5FE0qAL1>3nfih%t#!nAg3JgmUiZ5SQu zwFPJd8{0wGhQG@mt7|7Nek}I-H1ALyGxlOs6PweGYI|~>we_1aXI_!{CL(9N`^}Va zh@fzG?*y}SG{xL+3h)L+o|(--|QFBCCsrQzgEH=ea#CyDL>BYIwHNQ!qvPEkc_nt{0k;m z4pxFUP_}WlM~}(w>6G}2uYR2PS1As|PLHck)kHM?Hjmadq~1pxC7ycfk$dHPb9>&@ z@vDi&1m_UFM;^xZalK~8>QSEGoPIdqq*~p@p7B}pyYfa;6en|GB)f`u!c3 za}O?3&eO&$T;bY>2K|hg_x1E-P^yv_REh76v+Ll9%n5d#*wG>vsY_vsbFL(eT5Q$| z=dSVb5!}8`pE0Ff#E)}rD7H!6v{5c-EPC0g-mBD6V`{BG+4~V;Yh3OOXw_xOaz-`% zk3%Fc(Ovlrav8xc-qlOw_(o}#J?U<@1gl>`aEk= z@{1UQ+w5Ms?LQ!CsKjqq4~Gj9Oh2zq@$^5@bjyBlNL57@X0fc2o$77@CtZ#5p!gL6 zCihqh8|TzHv7C_R#ZR?&-mZ%L{^*k^Q}+7MoGqvzJYMTlvO&Mz*w&Z?(`A&_z-E@T zg_-tw=fR{4RHzqM9&qb$mFGL>%5*>~V;|PMKM^9|EsxIdEPMq&=O-{w=A0)OVJ+^s z1CeJ{_g7wDCes7?ZujAwqY4@ry%jH?oG2a&^ zZoRTAF$sO|oR@7@%!!zgka^u6p-PV%sRk$Cyog+|P5b3O(dVZXG`qVVT&t?I>bnq? zDJ$%rfJIsi#1axU-Zjp*Nv%A`3U(CBE-%64KprGuaGIU)<(Gt_=8$dgle)@*#I5od zmEF|Ih-P9nQwJTHazz>Z?3jH z43~YEb8WIj^#p^=*VI7w)MXlfu?k$ZH)E|d`bNCWww;Ka@W&8N%1Wota4<=qWdIxc zv?nt`yI@%U#dI|*=DvOAaPjI`eO$U&9ZszXb>3b4gsB$bsAzJJA+T9DNj3k97kRI-mu$QU3cLn^p;G6?yOJipDh@}EN@0DetD3$=XzoFV z=SdH4$5iC%eTWe+J+u+UYM@(dw*0Lu6?U|w>V{vXkeF=x5$C*vbgIe*qFT$ow~D_ko_Vj?^+L*LuZVjtq|P~i%Aq4`n&WOcy~xKF z><ErD`T-Z;d9E3suqmM#GYLmio1&Iftzlf=l@fqF0o4=Za1f?I#UWFmjW zHvnGU;pnzlRlgsT3|O836=kZWI*-}Vux~Hl6*|h+0GPO4`DJKw%ht1WIxFX&ZoIZN zX+4XkBSCBQ=ng_$I_>O=&9&IYj}ujyi@yic6URMPUmO`9e8@4J6#BO58roaW)=y#g z{<7j&&aPM1q_(88*wD}*BEK&ij`YX9nCNy*C{B9FeCmGG$b6~+?94EcqxtoA#E5l9 zOvjyxKvj8?nzxOsPziOn>|Rwai;@a8qyE}JU5?r%aw~4CcfDp{_xmWa6s@PyXYr$W z8Vxw~W#`;Zj*QBtEd?aMZPIwWXqaNH#8jz!qC6&=!b=@A>#Yji$OUlQuke$b7v++R z3f;MWCR}s97^3m}+iPf!4__94;=`(VZ$`1$J#ptip95+7gjqbx!r@VzRhOcMHekLa zMGc*fvQWFHxa#7A(qBpH4k|-K))0csLVEAygDN9>YUlZqtlvUGjZ-i=Z$jaGFE8 z*r({k;oNi-I_tXfSlg*K8_Uq$leJ58bG}u{b8G4e#zG|u;w>mW=hhbcBUdI`WBPb? z9Ye#M%j2%?SC=i7&I%Md47QYhe5H*^+G~pyN1ml{Uj5 zT<-4Wi7u8H^G^#et!4GT4K6HfQ#1x{f@B>@92shSaE$Ku&22N0Uo$n>5K&k&PTqyS z4YR?wT(2->V47*FnST4Q-Fg{JqY8_!C=;#cPP2Xb?k!dCeK+aa*`WC3wiY&u`T zsPMzwI^dBslN-ztyF}4A|0ILKQq)h(EqP#^@MDgw&iLA&L;J%Cl07P#(IB#+R(a+v>5imJDsXk zoh_7XW4GbYGZrj9hg}d9PH-|A9nHlpU@`n@-95-4Ofcg4D=TI-EsBc%nH*^Esmj-){IKHbSWJ ztrmn5G^2g1$DK2-6~!my@st&bQol_ZQ1c z7-G<}6>~&$485O9Uq;}paC+CRyWzh+#2y=mdDpKkc&9u(VGq%IeSHtDi$7OF;_owU ze{yeO=XC^`?#!phsDqe62l)rLtq!HV4ij~f*SuvNjNrxxB}?y|waqiSSImUqtSAFa zeZ8P*8zGZN%-$W#kMFPZ@!yZ{O7oJ4AG@#^9PwS&UVU&|Mna2Gr}dXM^~sreexCRK zF|YSfVaK^4wHh{{nLtJDf!1?&?~e?m&w-uM8mf`e@pxImkhaC0LQftwWjinYm&4)B zO9yK)Pp;;0t#LP*BRz}KL&z8?^)~h}HwM5@B5IM%g_%WYYVQDrVj8#6VKjn?uhtm- z2U0)~mWN@lAXnUn1C8A{h7Sy{Nf-N-W@HVziR4Eco^=>9p3>dXs9o!IhOrj1_cy(I z#~$@X-azkHb~%%X2b2C-&3Y&yiZ9I#kUW(SEu9~)t&W3Dwxl9to4il^Y}Q}!PM#Z6 zk1%L7(ldN>AW$2uq%mj8`$$$h^Y<<4E<`RKT~N>>^ZjN1lY*PkUj#V(qAv?&_i4VU z5q1&xiEYsNmZQZ}`~9`0T(!=&{t7SCJ^WG>?Pf!N;nLvM5mcE>c%^HX$A4+>yrP;) zw>XZ2ij)gdM2cWRQ0XY47X=Z6QY4T-C>dnvgaDye#{ogA0RxIaBoZNDh#)QWA_N4% zAdsP#K$Iv#G(bRzH*?pW*E@4(&8#&K^YlHO_3d@mK41B-eSUlIyL{J~PBJ1%CJMgA zClH4%_k*Ud-CI~PlM)lw3wf_1*fS0#C$rR)KDz~doMniv`3_d;te0lDPDSE8*s?EW zR>|pMjp_i|hYHcRy!>2mYsTF6ed(Jsg_f%XBLNdv#6MqF97=3x~pF{ z0VHRi={y61TYBMkbD$f>gT+Y-W*5?4RoIB`86>+xA%(jvcAxP3GEgmEXz?wFO zh};^GRH_3if~~cmNNXSw>7!pln0T1jN|(xv%M4-9Sh$^|*v>jh+~!8e!Bx3c)+JV3 zGNwOSm)4v!>$_rA9J1A#?A_Ktb7~Q8)517w<;AD-XY6*c3>&s~AV;6>+A%Y>*3A{^ zjz53L)zUIM$|SlhKR90-#}7PbQ4vP;dGXe9yHK=qv{KqxDKC3A-+Z{v+Ta_Hb(5CA zrnZ>g?2)GVoC`aSv9kIbf_hdkmAKlxTRLoH*W(Ub#xmSSh7G*G3zx+4; zl7xDfNN0(!_&(ymg^yKvg6Hwc_a7yBdGAc&SwE{@uk@ffszFT#Q(f4y9lHGA<5eer zFr1M^wGMsM(b{7ya?9aPvj@6lMyYuevp4E|d51V_c$2!}s6>a>@q}Yh?KehGpSRT+ zd0EKf5qSfS?8a=1wV3~+69YCGg%$>N&ufEcSEVVK<|R_j_Jjh>^OjvQ&|%!4TV+*u zyI@X0EpTbQxB;QKq*KGV>T%GLCmT)G`_Ri6Fy({u_cP_nOjiY#wTF}CHOD@l7=5;w z+8vzs{`#$Bnte1TH$cCRYe8~xrjy(}V{DtLh`Bg~&nz>p!cpQ#ZVUR;TKrL$;yU2l zOy?mfoV-s(O|0Marg3a%Uc#w$I(i}A6w&~$9=;+3%j$p(#BAnF$`iwJMz=wMACpte zYf*bDZ{v3|uP5rtQ}5*!_iqis!$!d4HiNegc(s_@E>VFa}gmEQrmLrD6Gc zo5C3@P%t7k+?d?^jpwj-IK?t4PEI=O^%d&9FfU#yzSD&nO9eEJH1}Pz7aKLg^~Yxq z*b6pX>LZ$98>@}n?h>-gvdhs6K~Ad@dHsrS#)}LpDhg?e!@i3cexs78C@Lu&5)jF6Fs+E&6dl`)flaTNm-@r}o|lw;OXRa;AN zv7=~k%Q0Pl&}nd+SHo4lZh1*MN%H|i?_p&*P#2*TMk_a{^|3LmrL4(p?JC=@#u8Vh zymbwSADAEW;c!Hj!A1#TiEMB^@1+BQ4I-*q{k@hXPWTtX*yvV+n42pp`Uib)W8hP1 zy6;QH{!4Enh*d-~s!&UNTt;;BZe`EeR=16qx#7XjB{|wF1CzS1-oA*0ol+i4F(0ea zIRtmx+M5=xL%SE@;+&Z_C=bb^z!Sa;Qud6V>cUMAm_jb4(+2M8ZzWi!+|I}b9X06J z@RXQ)R6QM4^9msxr(8XPXpck&cid;4z$>tb#kW+=%KME~9y3MK02pqc#3Cp{^Kn=C z*9zmNoiRCCM-l~K7;pdfpi3lVABoRzNTiwwx{C}nF_aeZiWu z4_sL$OH93(S?k^mWWVNm}pcu2~o7ZPXClTFj;`mTke~1woMbb%@ z+n%RChb$}U9o746Y6nvFFNOHeWAivt99-I97B zXxAXgug<;JdN}O0uo2eShPt#P)b7R;&^TkIjYxVA6IWs?;Va4IADTR#`z|_Nlvcjz zt>3>xeF&*A=eGMfK7sVhZ*zNtw%X1rZ5(c!=aO4p*Tl$p;_)<7GrfU_Wzsc8nWh)D-b`MfA_Xh^e>G80&eImX>i?if*THqgWG``{q^442&dwLvxm z@QADQ4iEo|9D?)dNuVNyOChSzL|p%j+w`|={2!F>Z<+d|&(DS0LaqLj)A+08_&big fe-XI$N4@rUo%au=@IO)cUq9PFl)~?G)5O04jv|Df literal 0 HcmV?d00001 diff --git a/readme.md b/readme.md index ced57dd2..4a46cd0d 100644 --- a/readme.md +++ b/readme.md @@ -2,6 +2,15 @@ [简体中文](./readme.zh.md) +## Supporting SVGA Library + +SVGA is an Apache-licensed open source project. And now SVGA library with its ongoing development made possible entirely by the support of [PonyCui](https://github.com/ponycui/) and [errnull](https://github.com/errnull/). To support SVGA library development, please consider: + +* [Hire PonyCui as a counselor.](./backer/hire.md) +* [One-time donation via AliPay or WeChat.](./backer/donate.md) + +## Introduce + SVGAPlayer is a light-weight animation renderer. You use [tools](http://svga.io/designer.html) to export `svga` file from `Adobe Animate CC` or `Adobe After Effects`, and then use SVGAPlayer to render animation on mobile application. `SVGAPlayer-iOS` render animation natively via iOS CoreAnimation Framework, brings you a high-performance, low-cost animation experience. diff --git a/readme.zh.md b/readme.zh.md index 48765513..a5e3d491 100644 --- a/readme.zh.md +++ b/readme.zh.md @@ -1,5 +1,14 @@ # SVGAPlayer +## Supporting SVGA Library + +SVGA 是一个遵循 Apache 开源协议的开源项目,目前该项目主要由 [PonyCui](https://github.com/ponycui/) 和 [errnull](https://github.com/errnull/) 负责维护。如果这个项目对你的公司或者应用有所帮助,你可以考虑: + +* [雇用 PonyCui 为顾问。](./backer/hire.md) +* [通过支付宝或者微信一次性捐赠。](./backer/donate.md) + +## 介绍 + `SVGAPlayer` 是一个轻量的动画渲染库。你可以使用[工具](http://svga.io/designer.html)从 `Adobe Animate CC` 或者 `Adobe After Effects` 中导出动画文件,然后使用 `SVGAPlayer` 在移动设备上渲染并播放。 `SVGAPlayer-iOS` 使用原生 CoreAnimation 库渲染动画,为你提供高性能、低开销的动画体验。 From 2f9d94bdfbe1cd24e8fef3978f14fc3b9b1f3102 Mon Sep 17 00:00:00 2001 From: PonyCui Date: Wed, 26 Dec 2018 10:55:41 +0800 Subject: [PATCH 015/104] fix: Rollback SSZipArchive to 1.8.1 because of crash. --- SVGAPlayer-React.podspec | 2 +- SVGAPlayer.podspec | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/SVGAPlayer-React.podspec b/SVGAPlayer-React.podspec index f0eea885..3eb4799c 100644 --- a/SVGAPlayer-React.podspec +++ b/SVGAPlayer-React.podspec @@ -16,7 +16,7 @@ Pod::Spec.new do |s| s.subspec 'Core' do |ss| ss.source_files = "Source/*.{h,m}", "React/*.{h,m}" ss.requires_arc = true - ss.dependency 'SSZipArchive', '2.1.4' + ss.dependency 'SSZipArchive', '~> 1.8.1' ss.library = "z" ss.dependency 'SVGAPlayer/ProtoFiles' end diff --git a/SVGAPlayer.podspec b/SVGAPlayer.podspec index b2e9a3e4..dffb17ae 100644 --- a/SVGAPlayer.podspec +++ b/SVGAPlayer.podspec @@ -17,7 +17,7 @@ Pod::Spec.new do |s| s.subspec 'Core' do |ss| ss.source_files = "Source/*.{h,m}" ss.requires_arc = true - ss.dependency 'SSZipArchive', '2.1.4' + ss.dependency 'SSZipArchive', '~> 1.8.1' ss.library = "z" ss.framework = "AVFoundation" ss.dependency 'SVGAPlayer/ProtoFiles' From 16e24431139a0e1a1331c350b7514b037d2e00ba Mon Sep 17 00:00:00 2001 From: PonyCui Date: Wed, 26 Dec 2018 10:56:02 +0800 Subject: [PATCH 016/104] release: 2.3.2 --- SVGAPlayer-React.podspec | 2 +- SVGAPlayer.podspec | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/SVGAPlayer-React.podspec b/SVGAPlayer-React.podspec index 3eb4799c..757a01da 100644 --- a/SVGAPlayer-React.podspec +++ b/SVGAPlayer-React.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = "SVGAPlayer" - s.version = "2.3.1" + s.version = "2.3.2" s.summary = "SVGAPlayer 是一个高性能的动画播放器" s.description = <<-DESC SVGA 是一个私有的动画格式,由 YY UED 主导开发。 diff --git a/SVGAPlayer.podspec b/SVGAPlayer.podspec index dffb17ae..11987648 100644 --- a/SVGAPlayer.podspec +++ b/SVGAPlayer.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = "SVGAPlayer" - s.version = "2.3.1" + s.version = "2.3.2" s.summary = "SVGAPlayer 是一个高性能的动画播放器" s.description = <<-DESC SVGA 是一个私有的动画格式,由 YY UED 主导开发。 From b0c14e70355a52578cb85b30b27ee6fd5ccc4379 Mon Sep 17 00:00:00 2001 From: PonyCui Date: Wed, 9 Jan 2019 10:31:50 +0800 Subject: [PATCH 017/104] Update readme.md --- readme.md | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/readme.md b/readme.md index 4a46cd0d..1b6c1f6e 100644 --- a/readme.md +++ b/readme.md @@ -2,13 +2,6 @@ [简体中文](./readme.zh.md) -## Supporting SVGA Library - -SVGA is an Apache-licensed open source project. And now SVGA library with its ongoing development made possible entirely by the support of [PonyCui](https://github.com/ponycui/) and [errnull](https://github.com/errnull/). To support SVGA library development, please consider: - -* [Hire PonyCui as a counselor.](./backer/hire.md) -* [One-time donation via AliPay or WeChat.](./backer/donate.md) - ## Introduce SVGAPlayer is a light-weight animation renderer. You use [tools](http://svga.io/designer.html) to export `svga` file from `Adobe Animate CC` or `Adobe After Effects`, and then use SVGAPlayer to render animation on mobile application. @@ -97,4 +90,4 @@ Here are many feature samples. ## APIs -Head on over to [https://github.com/yyued/SVGAPlayer-iOS/wiki/APIs](https://github.com/yyued/SVGAPlayer-iOS/wiki/APIs) \ No newline at end of file +Head on over to [https://github.com/yyued/SVGAPlayer-iOS/wiki/APIs](https://github.com/yyued/SVGAPlayer-iOS/wiki/APIs) From a98c4e0027d033de951a6472a96e49bc63f7da29 Mon Sep 17 00:00:00 2001 From: PonyCui Date: Wed, 9 Jan 2019 10:32:03 +0800 Subject: [PATCH 018/104] Update readme.zh.md --- readme.zh.md | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/readme.zh.md b/readme.zh.md index a5e3d491..224043a0 100644 --- a/readme.zh.md +++ b/readme.zh.md @@ -1,12 +1,5 @@ # SVGAPlayer -## Supporting SVGA Library - -SVGA 是一个遵循 Apache 开源协议的开源项目,目前该项目主要由 [PonyCui](https://github.com/ponycui/) 和 [errnull](https://github.com/errnull/) 负责维护。如果这个项目对你的公司或者应用有所帮助,你可以考虑: - -* [雇用 PonyCui 为顾问。](./backer/hire.md) -* [通过支付宝或者微信一次性捐赠。](./backer/donate.md) - ## 介绍 `SVGAPlayer` 是一个轻量的动画渲染库。你可以使用[工具](http://svga.io/designer.html)从 `Adobe Animate CC` 或者 `Adobe After Effects` 中导出动画文件,然后使用 `SVGAPlayer` 在移动设备上渲染并播放。 @@ -91,4 +84,4 @@ SVGAParser *parser = [[SVGAParser alloc] init]; ## APIs -请参阅此处 [https://github.com/yyued/SVGAPlayer-iOS/wiki/APIs](https://github.com/yyued/SVGAPlayer-iOS/wiki/APIs) \ No newline at end of file +请参阅此处 [https://github.com/yyued/SVGAPlayer-iOS/wiki/APIs](https://github.com/yyued/SVGAPlayer-iOS/wiki/APIs) From efa4dd9022aea4000245301ccbf93142c0696192 Mon Sep 17 00:00:00 2001 From: PonyCui Date: Mon, 4 Mar 2019 16:43:04 +0800 Subject: [PATCH 019/104] chore: Allow to use SSZipArchive >= 1.8.1 --- SVGAPlayer-React.podspec | 4 ++-- SVGAPlayer.podspec | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/SVGAPlayer-React.podspec b/SVGAPlayer-React.podspec index 757a01da..a0914e67 100644 --- a/SVGAPlayer-React.podspec +++ b/SVGAPlayer-React.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = "SVGAPlayer" - s.version = "2.3.2" + s.version = "2.3.3" s.summary = "SVGAPlayer 是一个高性能的动画播放器" s.description = <<-DESC SVGA 是一个私有的动画格式,由 YY UED 主导开发。 @@ -16,7 +16,7 @@ Pod::Spec.new do |s| s.subspec 'Core' do |ss| ss.source_files = "Source/*.{h,m}", "React/*.{h,m}" ss.requires_arc = true - ss.dependency 'SSZipArchive', '~> 1.8.1' + ss.dependency 'SSZipArchive', '>= 1.8.1' ss.library = "z" ss.dependency 'SVGAPlayer/ProtoFiles' end diff --git a/SVGAPlayer.podspec b/SVGAPlayer.podspec index 11987648..247217a7 100644 --- a/SVGAPlayer.podspec +++ b/SVGAPlayer.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = "SVGAPlayer" - s.version = "2.3.2" + s.version = "2.3.3" s.summary = "SVGAPlayer 是一个高性能的动画播放器" s.description = <<-DESC SVGA 是一个私有的动画格式,由 YY UED 主导开发。 @@ -17,7 +17,7 @@ Pod::Spec.new do |s| s.subspec 'Core' do |ss| ss.source_files = "Source/*.{h,m}" ss.requires_arc = true - ss.dependency 'SSZipArchive', '~> 1.8.1' + ss.dependency 'SSZipArchive', '>= 1.8.1' ss.library = "z" ss.framework = "AVFoundation" ss.dependency 'SVGAPlayer/ProtoFiles' From 188c1b34c98375a67c7f2b4f64707650efdffdee Mon Sep 17 00:00:00 2001 From: errnull Date: Sun, 7 Apr 2019 17:35:25 +0800 Subject: [PATCH 020/104] feat: support muti mask. --- SVGAPlayer.xcodeproj/project.pbxproj | 5 +++ SVGAPlayer/Samples/mutiMask.svga | Bin 0 -> 4289 bytes SVGAPlayer/ViewController.m | 9 ++++- Source/SVGAPlayer.m | 47 ++++++++++++++++++++------- Source/SVGAVideoSpriteEntity.h | 1 + Source/SVGAVideoSpriteEntity.m | 2 ++ 6 files changed, 51 insertions(+), 13 deletions(-) create mode 100644 SVGAPlayer/Samples/mutiMask.svga diff --git a/SVGAPlayer.xcodeproj/project.pbxproj b/SVGAPlayer.xcodeproj/project.pbxproj index b60eb041..ee3d6ab0 100644 --- a/SVGAPlayer.xcodeproj/project.pbxproj +++ b/SVGAPlayer.xcodeproj/project.pbxproj @@ -11,6 +11,7 @@ 63712E6521787950001AE014 /* heartbeat.svga in Resources */ = {isa = PBXBuildFile; fileRef = 63712E6421787950001AE014 /* heartbeat.svga */; }; 63712E6821787A45001AE014 /* SVGAAudioEntity.m in Sources */ = {isa = PBXBuildFile; fileRef = 63712E6721787A45001AE014 /* SVGAAudioEntity.m */; }; 63E817012178809D001D2D62 /* SVGAAudioLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 63E817002178809D001D2D62 /* SVGAAudioLayer.m */; }; + 71418C712259FAA30029C69E /* mutiMask.svga in Resources */ = {isa = PBXBuildFile; fileRef = 71418C702259FAA30029C69E /* mutiMask.svga */; }; 80D4C7254846B96B9C6EED83 /* libPods-SVGAPlayer.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DDA5FF396660C7C932DF9B8 /* libPods-SVGAPlayer.a */; }; 904D41F81D223DD20085A21A /* SVGABezierPath.m in Sources */ = {isa = PBXBuildFile; fileRef = 904D41F71D223DD20085A21A /* SVGABezierPath.m */; }; 9052FC631E6EB8D4007BC925 /* SVGAExporter.m in Sources */ = {isa = PBXBuildFile; fileRef = 9052FC621E6EB8D4007BC925 /* SVGAExporter.m */; }; @@ -63,6 +64,7 @@ 63712E6721787A45001AE014 /* SVGAAudioEntity.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SVGAAudioEntity.m; sourceTree = ""; }; 63E816FF2178809D001D2D62 /* SVGAAudioLayer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SVGAAudioLayer.h; sourceTree = ""; }; 63E817002178809D001D2D62 /* SVGAAudioLayer.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SVGAAudioLayer.m; sourceTree = ""; }; + 71418C702259FAA30029C69E /* mutiMask.svga */ = {isa = PBXFileReference; lastKnownFileType = file; path = mutiMask.svga; sourceTree = ""; }; 8AD65028FA2D122A34DC4A63 /* Pods-SVGAPlayer.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SVGAPlayer.debug.xcconfig"; path = "Pods/Target Support Files/Pods-SVGAPlayer/Pods-SVGAPlayer.debug.xcconfig"; sourceTree = ""; }; 904D41F61D223DD20085A21A /* SVGABezierPath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGABezierPath.h; sourceTree = ""; }; 904D41F71D223DD20085A21A /* SVGABezierPath.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SVGABezierPath.m; sourceTree = ""; }; @@ -239,6 +241,7 @@ 90D7C9FA1F7E2AA3006E74F0 /* Samples */ = { isa = PBXGroup; children = ( + 71418C702259FAA30029C69E /* mutiMask.svga */, 63712E6421787950001AE014 /* heartbeat.svga */, 90D7CA1A1F7FB114006E74F0 /* rose_1.5.0.svga */, 90D7CA191F7FB114006E74F0 /* rose_2.0.0.svga */, @@ -327,6 +330,7 @@ developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( + English, en, Base, ); @@ -350,6 +354,7 @@ 90A676ED1D13A6DF008A69F3 /* Assets.xcassets in Resources */, 63712E6521787950001AE014 /* heartbeat.svga in Resources */, 90A676EB1D13A6DF008A69F3 /* Main.storyboard in Resources */, + 71418C712259FAA30029C69E /* mutiMask.svga in Resources */, 90CB64F91EF297E800DAA382 /* SVGAPlayer React-Info.plist in Resources */, 90D7CA1C1F7FB114006E74F0 /* rose_1.5.0.svga in Resources */, 90D7CA1B1F7FB114006E74F0 /* rose_2.0.0.svga in Resources */, diff --git a/SVGAPlayer/Samples/mutiMask.svga b/SVGAPlayer/Samples/mutiMask.svga new file mode 100644 index 0000000000000000000000000000000000000000..9f6b0c1f28bb7c877d714608592f430ea7e35c46 GIT binary patch literal 4289 zcmeHLL66cv6dpu9aPsJJGTFq7Oxi+$H6|uzF9uNdDw0^CKqJ_u?XnU=f{Do<_TnG% zU-&ot56*kj(rK3#ys=~_fth~qn>X{`yndAS+U3WUG7;_9?alku&&lr>&j^7}MPPGx z;n+Oz?BS|HMPm!wXRj#Jxz08AQesFFsH8}mV_&~@zo$SnTsxz1D&V@N$=QHHV^iCi zOhaixzkse25*vGguo}udHukN#4XBPYA~tj8)&${Ij0B$Vgb4MwzLV|Z`Z%d=FNHT& z<8v$c8pQ`zXvu1c4{4!F=rMvbteH2pV0%dzDf`S?x>pc$dM_ysBvFZ3wc#4D;UasS z@gmMP_u4i)>N?6Ps4xqC>sv5({dsW&1sT8yzU+x$xW_&c_M8l({}57W=ms};AA=-8 z9u2L<8~>GpU}|}px>8dFt4I`=uJ8Ag~A!UXAq5UHb0lzlc$nXBA>+IgLp|n$Up9yzWo3I literal 0 HcmV?d00001 diff --git a/SVGAPlayer/ViewController.m b/SVGAPlayer/ViewController.m index 3ee166d2..7aa6932a 100644 --- a/SVGAPlayer/ViewController.m +++ b/SVGAPlayer/ViewController.m @@ -29,7 +29,14 @@ - (void)viewDidLoad { self.aPlayer.loops = 0; self.aPlayer.clearsAfterStop = YES; parser = [[SVGAParser alloc] init]; - [self onChange:nil]; + [parser parseWithNamed:@"mutiMask" + inBundle:[NSBundle mainBundle] completionBlock:^(SVGAVideoEntity * _Nonnull videoItem) { + if (videoItem != nil) { + self.aPlayer.videoItem = videoItem; + [self.aPlayer startAnimation]; + } + } failureBlock:^(NSError * _Nonnull error) { + }]; } - (void)viewWillLayoutSubviews { diff --git a/Source/SVGAPlayer.m b/Source/SVGAPlayer.m index 0a1001e1..ac46fb59 100644 --- a/Source/SVGAPlayer.m +++ b/Source/SVGAPlayer.m @@ -35,6 +35,8 @@ @interface SVGAPlayer () @implementation SVGAPlayer +static NSArray *_contentLayers; + - (instancetype)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; @@ -55,6 +57,7 @@ - (void)startAnimation { [self stopAnimation:NO]; self.loopCount = 0; self.displayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(next)]; + self.displayLink.frameInterval = 60 / self.videoItem.FPS; [self.displayLink addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSRunLoopCommonModes]; self.forwardAnimating = !self.reversing; @@ -93,6 +96,7 @@ - (void)stopAnimation:(BOOL)clear { } - (void)clear { + _contentLayers = nil; [self.drawLayer removeFromSuperlayer]; } @@ -128,7 +132,9 @@ - (void)draw { self.drawLayer = [[CALayer alloc] init]; self.drawLayer.frame = CGRectMake(0, 0, self.videoItem.videoSize.width, self.videoItem.videoSize.height); self.drawLayer.masksToBounds = true; - [self.videoItem.sprites enumerateObjectsUsingBlock:^(SVGAVideoSpriteEntity * _Nonnull sprite, NSUInteger idx, BOOL * _Nonnull stop) { + NSMutableDictionary *tempHostLayers = [NSMutableDictionary dictionary]; + NSMutableDictionary *tempContentLayers = [NSMutableDictionary dictionary]; + for (SVGAVideoSpriteEntity * sprite in self.videoItem.sprites) { UIImage *bitmap; if (sprite.imageKey != nil) { if (self.dynamicObjects[sprite.imageKey] != nil) { @@ -140,7 +146,20 @@ - (void)draw { } SVGAContentLayer *contentLayer = [sprite requestLayerWithBitmap:bitmap]; contentLayer.imageKey = sprite.imageKey; - [self.drawLayer addSublayer:contentLayer]; + tempContentLayers[sprite.imageKey] = contentLayer; + if ([sprite.imageKey containsString:@".mask"]) { + CALayer *hostLayer = [[CALayer alloc] init]; + hostLayer.mask = contentLayer; + [self.drawLayer addSublayer:hostLayer]; + tempHostLayers[sprite.imageKey] = hostLayer; + } else { + if (sprite.maskImageKey) { + CALayer *hostLayer = tempHostLayers[sprite.maskImageKey]; + [hostLayer addSublayer:contentLayer]; + } else { + [self.drawLayer addSublayer:contentLayer]; + } + } if (sprite.imageKey != nil) { if (self.dynamicTexts[sprite.imageKey] != nil) { NSAttributedString *text = self.dynamicTexts[sprite.imageKey]; @@ -160,7 +179,11 @@ - (void)draw { contentLayer.dynamicDrawingBlock = self.dynamicDrawings[sprite.imageKey]; } } - }]; + } + _contentLayers = tempContentLayers.allValues; +// [self.videoItem.sprites enumerateObjectsUsingBlock:^(SVGAVideoSpriteEntity * _Nonnull sprite, NSUInteger idx, BOOL * _Nonnull stop) { + +// }]; [self.layer addSublayer:self.drawLayer]; NSMutableArray *audioLayers = [NSMutableArray array]; [self.videoItem.audios enumerateObjectsUsingBlock:^(SVGAAudioEntity * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { @@ -252,7 +275,7 @@ - (void)layoutSubviews { - (void)update { [CATransaction setDisableActions:YES]; - for (SVGAContentLayer *layer in self.drawLayer.sublayers) { + for (SVGAContentLayer *layer in _contentLayers) { if ([layer isKindOfClass:[SVGAContentLayer class]]) { [layer stepToFrame:self.currentFrame]; } @@ -331,8 +354,8 @@ - (void)setImage:(UIImage *)image forKey:(NSString *)aKey { NSMutableDictionary *mutableDynamicObjects = [self.dynamicObjects mutableCopy]; [mutableDynamicObjects setObject:image forKey:aKey]; self.dynamicObjects = mutableDynamicObjects; - if (self.drawLayer.sublayers.count > 0) { - for (SVGAContentLayer *layer in self.drawLayer.sublayers) { + if (_contentLayers.count > 0) { + for (SVGAContentLayer *layer in _contentLayers) { if ([layer isKindOfClass:[SVGAContentLayer class]] && [layer.imageKey isEqualToString:aKey]) { layer.bitmapLayer.contents = (__bridge id _Nullable)([image CGImage]); } @@ -364,10 +387,10 @@ - (void)setAttributedText:(NSAttributedString *)attributedText forKey:(NSString NSMutableDictionary *mutableDynamicTexts = [self.dynamicTexts mutableCopy]; [mutableDynamicTexts setObject:attributedText forKey:aKey]; self.dynamicTexts = mutableDynamicTexts; - if (self.drawLayer.sublayers.count > 0) { + if (_contentLayers.count > 0) { CGSize size = [attributedText boundingRectWithSize:CGSizeMake(CGFLOAT_MAX, CGFLOAT_MAX) options:NSStringDrawingUsesLineFragmentOrigin context:NULL].size; CATextLayer *textLayer; - for (SVGAContentLayer *layer in self.drawLayer.sublayers) { + for (SVGAContentLayer *layer in _contentLayers) { if ([layer isKindOfClass:[SVGAContentLayer class]] && [layer.imageKey isEqualToString:aKey]) { textLayer = layer.textLayer; if (textLayer == nil) { @@ -389,8 +412,8 @@ - (void)setDrawingBlock:(SVGAPlayerDynamicDrawingBlock)drawingBlock forKey:(NSSt NSMutableDictionary *mutableDynamicDrawings = [self.dynamicDrawings mutableCopy]; [mutableDynamicDrawings setObject:drawingBlock forKey:aKey]; self.dynamicDrawings = mutableDynamicDrawings; - if (self.drawLayer.sublayers.count > 0) { - for (SVGAContentLayer *layer in self.drawLayer.sublayers) { + if (_contentLayers.count > 0) { + for (SVGAContentLayer *layer in _contentLayers) { if ([layer isKindOfClass:[SVGAContentLayer class]] && [layer.imageKey isEqualToString:aKey]) { layer.dynamicDrawingBlock = drawingBlock; @@ -403,8 +426,8 @@ - (void)setHidden:(BOOL)hidden forKey:(NSString *)aKey { NSMutableDictionary *mutableDynamicHiddens = [self.dynamicHiddens mutableCopy]; [mutableDynamicHiddens setObject:@(hidden) forKey:aKey]; self.dynamicHiddens = mutableDynamicHiddens; - if (self.drawLayer.sublayers.count > 0) { - for (SVGAContentLayer *layer in self.drawLayer.sublayers) { + if (_contentLayers.count > 0) { + for (SVGAContentLayer *layer in _contentLayers) { if ([layer isKindOfClass:[SVGAContentLayer class]] && [layer.imageKey isEqualToString:aKey]) { layer.dynamicHidden = hidden; diff --git a/Source/SVGAVideoSpriteEntity.h b/Source/SVGAVideoSpriteEntity.h index dd9e7d72..c16c2756 100644 --- a/Source/SVGAVideoSpriteEntity.h +++ b/Source/SVGAVideoSpriteEntity.h @@ -15,6 +15,7 @@ @interface SVGAVideoSpriteEntity : NSObject @property (nonatomic, readonly) NSString *imageKey; +@property (nonatomic, readonly) NSString *maskImageKey; @property (nonatomic, readonly) NSArray *frames; - (instancetype)initWithJSONObject:(NSDictionary *)JSONObject; diff --git a/Source/SVGAVideoSpriteEntity.m b/Source/SVGAVideoSpriteEntity.m index ecb0c457..c63121b6 100644 --- a/Source/SVGAVideoSpriteEntity.m +++ b/Source/SVGAVideoSpriteEntity.m @@ -20,6 +20,7 @@ - (instancetype)initWithJSONObject:(NSDictionary *)JSONObject { if (self) { if ([JSONObject isKindOfClass:[NSDictionary class]]) { NSString *imageKey = JSONObject[@"imageKey"]; + NSString *maskImageKey = JSONObject[@"maskImageKey"]; NSArray *JSONFrames = JSONObject[@"frames"]; if ([imageKey isKindOfClass:[NSString class]] && [JSONFrames isKindOfClass:[NSArray class]]) { NSMutableArray *frames = [[NSMutableArray alloc] init]; @@ -28,6 +29,7 @@ - (instancetype)initWithJSONObject:(NSDictionary *)JSONObject { [frames addObject:[[SVGAVideoSpriteFrameEntity alloc] initWithJSONObject:obj]]; } }]; + _maskImageKey = maskImageKey; _imageKey = imageKey; _frames = frames; } From cb27f0f937e842c3a7c6df69d0a6cf65636c4269 Mon Sep 17 00:00:00 2001 From: errnull Date: Sun, 7 Apr 2019 17:43:21 +0800 Subject: [PATCH 021/104] fix: return when videoItem is nil in startAnimation. --- Source/SVGAPlayer.m | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Source/SVGAPlayer.m b/Source/SVGAPlayer.m index ac46fb59..a3c9b9a5 100644 --- a/Source/SVGAPlayer.m +++ b/Source/SVGAPlayer.m @@ -54,6 +54,10 @@ - (void)willMoveToSuperview:(UIView *)newSuperview { } - (void)startAnimation { + if (self.videoItem == nil) { + NSLog(@"videoItem could not be nil!"); + return; + } [self stopAnimation:NO]; self.loopCount = 0; self.displayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(next)]; From 5987e91a10200b4842e0517c88760ce244d0034e Mon Sep 17 00:00:00 2001 From: errnull Date: Sun, 7 Apr 2019 17:50:30 +0800 Subject: [PATCH 022/104] fix: fix key recognized. --- Source/SVGAPlayer.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/SVGAPlayer.m b/Source/SVGAPlayer.m index a3c9b9a5..d69e2520 100644 --- a/Source/SVGAPlayer.m +++ b/Source/SVGAPlayer.m @@ -151,7 +151,7 @@ - (void)draw { SVGAContentLayer *contentLayer = [sprite requestLayerWithBitmap:bitmap]; contentLayer.imageKey = sprite.imageKey; tempContentLayers[sprite.imageKey] = contentLayer; - if ([sprite.imageKey containsString:@".mask"]) { + if ([sprite.imageKey hasSuffix:@".mask"]) { CALayer *hostLayer = [[CALayer alloc] init]; hostLayer.mask = contentLayer; [self.drawLayer addSublayer:hostLayer]; From ec432594ffc045dca408872ab0a297ffc642ba5b Mon Sep 17 00:00:00 2001 From: errnull Date: Thu, 11 Apr 2019 02:39:19 +0800 Subject: [PATCH 023/104] fix: fix key for svga 1.x format. --- SVGAPlayer.xcodeproj/project.pbxproj | 8 ++-- SVGAPlayer/Base.lproj/Main.storyboard | 25 ++++++++++-- SVGAPlayer/Samples/mutiMask.svga | Bin 4289 -> 0 bytes SVGAPlayer/Samples/mutiMatte.svga | Bin 0 -> 6087 bytes SVGAPlayer/ViewController.m | 53 +++----------------------- Source/SVGAPlayer.m | 6 +-- Source/SVGAVideoSpriteEntity.h | 2 +- Source/SVGAVideoSpriteEntity.m | 4 +- 8 files changed, 38 insertions(+), 60 deletions(-) delete mode 100644 SVGAPlayer/Samples/mutiMask.svga create mode 100644 SVGAPlayer/Samples/mutiMatte.svga diff --git a/SVGAPlayer.xcodeproj/project.pbxproj b/SVGAPlayer.xcodeproj/project.pbxproj index ee3d6ab0..88bafe12 100644 --- a/SVGAPlayer.xcodeproj/project.pbxproj +++ b/SVGAPlayer.xcodeproj/project.pbxproj @@ -11,7 +11,7 @@ 63712E6521787950001AE014 /* heartbeat.svga in Resources */ = {isa = PBXBuildFile; fileRef = 63712E6421787950001AE014 /* heartbeat.svga */; }; 63712E6821787A45001AE014 /* SVGAAudioEntity.m in Sources */ = {isa = PBXBuildFile; fileRef = 63712E6721787A45001AE014 /* SVGAAudioEntity.m */; }; 63E817012178809D001D2D62 /* SVGAAudioLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 63E817002178809D001D2D62 /* SVGAAudioLayer.m */; }; - 71418C712259FAA30029C69E /* mutiMask.svga in Resources */ = {isa = PBXBuildFile; fileRef = 71418C702259FAA30029C69E /* mutiMask.svga */; }; + 71418C93225E6F710029C69E /* mutiMatte.svga in Resources */ = {isa = PBXBuildFile; fileRef = 71418C92225E6F710029C69E /* mutiMatte.svga */; }; 80D4C7254846B96B9C6EED83 /* libPods-SVGAPlayer.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DDA5FF396660C7C932DF9B8 /* libPods-SVGAPlayer.a */; }; 904D41F81D223DD20085A21A /* SVGABezierPath.m in Sources */ = {isa = PBXBuildFile; fileRef = 904D41F71D223DD20085A21A /* SVGABezierPath.m */; }; 9052FC631E6EB8D4007BC925 /* SVGAExporter.m in Sources */ = {isa = PBXBuildFile; fileRef = 9052FC621E6EB8D4007BC925 /* SVGAExporter.m */; }; @@ -64,7 +64,7 @@ 63712E6721787A45001AE014 /* SVGAAudioEntity.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SVGAAudioEntity.m; sourceTree = ""; }; 63E816FF2178809D001D2D62 /* SVGAAudioLayer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SVGAAudioLayer.h; sourceTree = ""; }; 63E817002178809D001D2D62 /* SVGAAudioLayer.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SVGAAudioLayer.m; sourceTree = ""; }; - 71418C702259FAA30029C69E /* mutiMask.svga */ = {isa = PBXFileReference; lastKnownFileType = file; path = mutiMask.svga; sourceTree = ""; }; + 71418C92225E6F710029C69E /* mutiMatte.svga */ = {isa = PBXFileReference; lastKnownFileType = file; path = mutiMatte.svga; sourceTree = ""; }; 8AD65028FA2D122A34DC4A63 /* Pods-SVGAPlayer.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SVGAPlayer.debug.xcconfig"; path = "Pods/Target Support Files/Pods-SVGAPlayer/Pods-SVGAPlayer.debug.xcconfig"; sourceTree = ""; }; 904D41F61D223DD20085A21A /* SVGABezierPath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGABezierPath.h; sourceTree = ""; }; 904D41F71D223DD20085A21A /* SVGABezierPath.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SVGABezierPath.m; sourceTree = ""; }; @@ -241,7 +241,7 @@ 90D7C9FA1F7E2AA3006E74F0 /* Samples */ = { isa = PBXGroup; children = ( - 71418C702259FAA30029C69E /* mutiMask.svga */, + 71418C92225E6F710029C69E /* mutiMatte.svga */, 63712E6421787950001AE014 /* heartbeat.svga */, 90D7CA1A1F7FB114006E74F0 /* rose_1.5.0.svga */, 90D7CA191F7FB114006E74F0 /* rose_2.0.0.svga */, @@ -350,11 +350,11 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 71418C93225E6F710029C69E /* mutiMatte.svga in Resources */, 90A676F01D13A6DF008A69F3 /* LaunchScreen.storyboard in Resources */, 90A676ED1D13A6DF008A69F3 /* Assets.xcassets in Resources */, 63712E6521787950001AE014 /* heartbeat.svga in Resources */, 90A676EB1D13A6DF008A69F3 /* Main.storyboard in Resources */, - 71418C712259FAA30029C69E /* mutiMask.svga in Resources */, 90CB64F91EF297E800DAA382 /* SVGAPlayer React-Info.plist in Resources */, 90D7CA1C1F7FB114006E74F0 /* rose_1.5.0.svga in Resources */, 90D7CA1B1F7FB114006E74F0 /* rose_2.0.0.svga in Resources */, diff --git a/SVGAPlayer/Base.lproj/Main.storyboard b/SVGAPlayer/Base.lproj/Main.storyboard index dd275422..6e3f9483 100644 --- a/SVGAPlayer/Base.lproj/Main.storyboard +++ b/SVGAPlayer/Base.lproj/Main.storyboard @@ -1,11 +1,11 @@ - + - + @@ -20,7 +20,22 @@ + + + + + + + + + + + + + + + @@ -29,16 +44,20 @@ + + + + - + diff --git a/SVGAPlayer/Samples/mutiMask.svga b/SVGAPlayer/Samples/mutiMask.svga deleted file mode 100644 index 9f6b0c1f28bb7c877d714608592f430ea7e35c46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4289 zcmeHLL66cv6dpu9aPsJJGTFq7Oxi+$H6|uzF9uNdDw0^CKqJ_u?XnU=f{Do<_TnG% zU-&ot56*kj(rK3#ys=~_fth~qn>X{`yndAS+U3WUG7;_9?alku&&lr>&j^7}MPPGx z;n+Oz?BS|HMPm!wXRj#Jxz08AQesFFsH8}mV_&~@zo$SnTsxz1D&V@N$=QHHV^iCi zOhaixzkse25*vGguo}udHukN#4XBPYA~tj8)&${Ij0B$Vgb4MwzLV|Z`Z%d=FNHT& z<8v$c8pQ`zXvu1c4{4!F=rMvbteH2pV0%dzDf`S?x>pc$dM_ysBvFZ3wc#4D;UasS z@gmMP_u4i)>N?6Ps4xqC>sv5({dsW&1sT8yzU+x$xW_&c_M8l({}57W=ms};AA=-8 z9u2L<8~>GpU}|}px>8dFt4I`=uJ8Ag~A!UXAq5UHb0lzlc$nXBA>+IgLp|n$Up9yzWo3I diff --git a/SVGAPlayer/Samples/mutiMatte.svga b/SVGAPlayer/Samples/mutiMatte.svga new file mode 100644 index 0000000000000000000000000000000000000000..47f5811774a1548444d703974b968000d0c3cff3 GIT binary patch literal 6087 zcmeHL&2AGh5Z+MW5D9TXD#ys;0-~0^|H}o5YXqv0IF(9llTEWCX`;=xC8{cwGta;~ z@E{!F3AloI1w7vMW@>gf1_4q{hoY8aYWa@~B5R<&=?!rBK3zxC9lzG&y}TdvjSTHK*w?9}Bt9 zSUCWQp^ zpoPnIOyfLH`pHrZNz^Vu0j(IcRGyB-U{u0?!d0t66BR@Bu&0zrjvY_t;}|xAwtNXN ziI=lu@Q}9TOCaz%b`Vy|X<%cmfaVzCu^QrqA;w_DgTQf}z-tMVnu35ccD#@VJ`Z?kW}}WJ7j~ZK z`i5pzS>ZgOo^8Cu!7MvUvgh$IJqAy(`iQ9=HAPP8$s%7)ifYt85EzhAI+=($YifrY z5BH2l5ep*6V{XKFS)fS)K8^_3!<5&#ZN^VO3Gn62t0J;SH-yg*U7=72dGw zRCrl^+#>H>gP@BF0BPq_+X?M(O+e0@gVCU>37>{U2pmkU$Pi4xZ5%5JzU1O88PXF` z*k+kt+Ey2Ynsm~pu3WpJV&#gmH%%5|m?Xq7If!9WkPQ_pD&}rPL(a?@QdR|EN5+DX z+eQSg$k>h|>f4+}hQwd7u^?i~xaXTqcXi0P>GH1SQ|k>JW7}@(7`LXJ0~D2CY^lC+ zNmer4lmC)mgCduLU*Xp%vUwOb6DW99qekrL231Y?G$cacU}_}yTl{)3i3hJY3@aZl z>H~{Cj-zRsHWkDAPS|#v+b}G6S3A?#;qd*Jf9!@dw3%Z_l_kA;)b&hF6uWXSpuWot zNfL3Z_-$uub# -@property (nonatomic, strong) SVGAPlayer *aPlayer; +@property (weak, nonatomic) IBOutlet SVGAPlayer *aPlayer; @end @@ -22,14 +22,15 @@ @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; - self.view.backgroundColor = [UIColor blackColor]; - [self.view addSubview:self.aPlayer]; self.aPlayer.delegate = self; - self.aPlayer.frame = CGRectMake(0, 0, 320, 320); self.aPlayer.loops = 0; self.aPlayer.clearsAfterStop = YES; parser = [[SVGAParser alloc] init]; - [parser parseWithNamed:@"mutiMask" + [self onChange:nil]; +} + +- (IBAction)onChange:(id)sender { + [parser parseWithNamed:@"mutiMatte" inBundle:[NSBundle mainBundle] completionBlock:^(SVGAVideoEntity * _Nonnull videoItem) { if (videoItem != nil) { self.aPlayer.videoItem = videoItem; @@ -39,46 +40,4 @@ - (void)viewDidLoad { }]; } -- (void)viewWillLayoutSubviews { - [super viewWillLayoutSubviews]; - self.aPlayer.frame = CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height); -} - -- (IBAction)onChange:(id)sender { - NSArray *items = @[ - @"https://github.com/yyued/SVGA-Samples/blob/master/EmptyState.svga?raw=true", - @"https://github.com/yyued/SVGA-Samples/blob/master/HamburgerArrow.svga?raw=true", - @"https://github.com/yyued/SVGA-Samples/blob/master/PinJump.svga?raw=true", - @"https://github.com/yyued/SVGA-Samples/blob/master/TwitterHeart.svga?raw=true", - @"https://github.com/yyued/SVGA-Samples/blob/master/Walkthrough.svga?raw=true", - @"https://github.com/yyued/SVGA-Samples/blob/master/angel.svga?raw=true", - @"https://github.com/yyued/SVGA-Samples/blob/master/halloween.svga?raw=true", - @"https://github.com/yyued/SVGA-Samples/blob/master/kingset.svga?raw=true", - @"https://github.com/yyued/SVGA-Samples/blob/master/posche.svga?raw=true", - @"https://github.com/yyued/SVGA-Samples/blob/master/rose.svga?raw=true", - ]; - [UIApplication sharedApplication].networkActivityIndicatorVisible = YES; - [parser parseWithURL:[NSURL URLWithString:items[arc4random() % 10]] - completionBlock:^(SVGAVideoEntity * _Nullable videoItem) { - [UIApplication sharedApplication].networkActivityIndicatorVisible = NO; - if (videoItem != nil) { - self.aPlayer.videoItem = videoItem; - [self.aPlayer startAnimation]; - } - } failureBlock:nil]; -// [parser parseWithNamed:@"heartbeat" inBundle:nil completionBlock:^(SVGAVideoEntity * _Nonnull videoItem) { -// if (videoItem != nil) { -// self.aPlayer.videoItem = videoItem; -// [self.aPlayer startAnimation]; -// } -// } failureBlock:nil]; -} - -- (SVGAPlayer *)aPlayer { - if (_aPlayer == nil) { - _aPlayer = [[SVGAPlayer alloc] init]; - } - return _aPlayer; -} - @end diff --git a/Source/SVGAPlayer.m b/Source/SVGAPlayer.m index d69e2520..ccada7a8 100644 --- a/Source/SVGAPlayer.m +++ b/Source/SVGAPlayer.m @@ -151,14 +151,14 @@ - (void)draw { SVGAContentLayer *contentLayer = [sprite requestLayerWithBitmap:bitmap]; contentLayer.imageKey = sprite.imageKey; tempContentLayers[sprite.imageKey] = contentLayer; - if ([sprite.imageKey hasSuffix:@".mask"]) { + if ([sprite.imageKey hasSuffix:@".matte"]) { CALayer *hostLayer = [[CALayer alloc] init]; hostLayer.mask = contentLayer; [self.drawLayer addSublayer:hostLayer]; tempHostLayers[sprite.imageKey] = hostLayer; } else { - if (sprite.maskImageKey) { - CALayer *hostLayer = tempHostLayers[sprite.maskImageKey]; + if (sprite.matteKey && sprite.matteKey.length > 0) { + CALayer *hostLayer = tempHostLayers[sprite.matteKey]; [hostLayer addSublayer:contentLayer]; } else { [self.drawLayer addSublayer:contentLayer]; diff --git a/Source/SVGAVideoSpriteEntity.h b/Source/SVGAVideoSpriteEntity.h index c16c2756..bd134f78 100644 --- a/Source/SVGAVideoSpriteEntity.h +++ b/Source/SVGAVideoSpriteEntity.h @@ -15,7 +15,7 @@ @interface SVGAVideoSpriteEntity : NSObject @property (nonatomic, readonly) NSString *imageKey; -@property (nonatomic, readonly) NSString *maskImageKey; +@property (nonatomic, readonly) NSString *matteKey; @property (nonatomic, readonly) NSArray *frames; - (instancetype)initWithJSONObject:(NSDictionary *)JSONObject; diff --git a/Source/SVGAVideoSpriteEntity.m b/Source/SVGAVideoSpriteEntity.m index c63121b6..a664e7d6 100644 --- a/Source/SVGAVideoSpriteEntity.m +++ b/Source/SVGAVideoSpriteEntity.m @@ -20,7 +20,7 @@ - (instancetype)initWithJSONObject:(NSDictionary *)JSONObject { if (self) { if ([JSONObject isKindOfClass:[NSDictionary class]]) { NSString *imageKey = JSONObject[@"imageKey"]; - NSString *maskImageKey = JSONObject[@"maskImageKey"]; + NSString *matteKey = JSONObject[@"matteKey"]; NSArray *JSONFrames = JSONObject[@"frames"]; if ([imageKey isKindOfClass:[NSString class]] && [JSONFrames isKindOfClass:[NSArray class]]) { NSMutableArray *frames = [[NSMutableArray alloc] init]; @@ -29,7 +29,7 @@ - (instancetype)initWithJSONObject:(NSDictionary *)JSONObject { [frames addObject:[[SVGAVideoSpriteFrameEntity alloc] initWithJSONObject:obj]]; } }]; - _maskImageKey = maskImageKey; + _matteKey = matteKey; _imageKey = imageKey; _frames = frames; } From 3d6d1f565a1c42988109837d869fa563aa479809 Mon Sep 17 00:00:00 2001 From: errnull Date: Tue, 16 Apr 2019 15:25:23 +0800 Subject: [PATCH 024/104] =?UTF-8?q?feat=EF=BC=9Aupdate=20pod=20version=20f?= =?UTF-8?q?or=20debug.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SVGAPlayer-React.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SVGAPlayer-React.podspec b/SVGAPlayer-React.podspec index a0914e67..a3d80fe9 100644 --- a/SVGAPlayer-React.podspec +++ b/SVGAPlayer-React.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = "SVGAPlayer" - s.version = "2.3.3" + s.version = "2.3.4" s.summary = "SVGAPlayer 是一个高性能的动画播放器" s.description = <<-DESC SVGA 是一个私有的动画格式,由 YY UED 主导开发。 From 3da6265f731edcec878b5359588a9e7d4b14ac6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A9=B9=E7=9E=BB=E5=9C=A8=E6=AC=A2=E8=81=9A?= Date: Tue, 16 Apr 2019 15:33:55 +0800 Subject: [PATCH 025/104] Update SVGAPlayer-React.podspec --- SVGAPlayer-React.podspec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SVGAPlayer-React.podspec b/SVGAPlayer-React.podspec index a0914e67..8d2f94ab 100644 --- a/SVGAPlayer-React.podspec +++ b/SVGAPlayer-React.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = "SVGAPlayer" - s.version = "2.3.3" + s.version = "2.3.4" s.summary = "SVGAPlayer 是一个高性能的动画播放器" s.description = <<-DESC SVGA 是一个私有的动画格式,由 YY UED 主导开发。 @@ -28,4 +28,4 @@ Pod::Spec.new do |s| 'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1', } end -end \ No newline at end of file +end From 95ad82bae9aec008a56c75ca20869b064105b439 Mon Sep 17 00:00:00 2001 From: errnull Date: Wed, 17 Apr 2019 18:50:30 +0800 Subject: [PATCH 026/104] fix: same image key sprite. --- Source/SVGAPlayer.m | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/Source/SVGAPlayer.m b/Source/SVGAPlayer.m index ccada7a8..affdef4f 100644 --- a/Source/SVGAPlayer.m +++ b/Source/SVGAPlayer.m @@ -137,7 +137,7 @@ - (void)draw { self.drawLayer.frame = CGRectMake(0, 0, self.videoItem.videoSize.width, self.videoItem.videoSize.height); self.drawLayer.masksToBounds = true; NSMutableDictionary *tempHostLayers = [NSMutableDictionary dictionary]; - NSMutableDictionary *tempContentLayers = [NSMutableDictionary dictionary]; + NSMutableArray *tempContentLayers = [NSMutableArray array]; for (SVGAVideoSpriteEntity * sprite in self.videoItem.sprites) { UIImage *bitmap; if (sprite.imageKey != nil) { @@ -150,9 +150,10 @@ - (void)draw { } SVGAContentLayer *contentLayer = [sprite requestLayerWithBitmap:bitmap]; contentLayer.imageKey = sprite.imageKey; - tempContentLayers[sprite.imageKey] = contentLayer; + [tempContentLayers addObject:contentLayer]; if ([sprite.imageKey hasSuffix:@".matte"]) { CALayer *hostLayer = [[CALayer alloc] init]; + hostLayer.frame = contentLayer.frame; hostLayer.mask = contentLayer; [self.drawLayer addSublayer:hostLayer]; tempHostLayers[sprite.imageKey] = hostLayer; @@ -184,10 +185,8 @@ - (void)draw { } } } - _contentLayers = tempContentLayers.allValues; -// [self.videoItem.sprites enumerateObjectsUsingBlock:^(SVGAVideoSpriteEntity * _Nonnull sprite, NSUInteger idx, BOOL * _Nonnull stop) { - -// }]; + _contentLayers = tempContentLayers; + [self.layer addSublayer:self.drawLayer]; NSMutableArray *audioLayers = [NSMutableArray array]; [self.videoItem.audios enumerateObjectsUsingBlock:^(SVGAAudioEntity * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { From 031858011778d128d68c4dad290f7ab8d997bcbc Mon Sep 17 00:00:00 2001 From: errnull Date: Thu, 18 Apr 2019 13:02:15 +0800 Subject: [PATCH 027/104] fix: fix layer level. --- Source/SVGAPlayer.m | 10 ++++++---- Source/SVGAVectorLayer.m | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/Source/SVGAPlayer.m b/Source/SVGAPlayer.m index affdef4f..c888eee8 100644 --- a/Source/SVGAPlayer.m +++ b/Source/SVGAPlayer.m @@ -138,7 +138,8 @@ - (void)draw { self.drawLayer.masksToBounds = true; NSMutableDictionary *tempHostLayers = [NSMutableDictionary dictionary]; NSMutableArray *tempContentLayers = [NSMutableArray array]; - for (SVGAVideoSpriteEntity * sprite in self.videoItem.sprites) { + + [self.videoItem.sprites enumerateObjectsUsingBlock:^(SVGAVideoSpriteEntity * _Nonnull sprite, NSUInteger idx, BOOL * _Nonnull stop) { UIImage *bitmap; if (sprite.imageKey != nil) { if (self.dynamicObjects[sprite.imageKey] != nil) { @@ -153,14 +154,15 @@ - (void)draw { [tempContentLayers addObject:contentLayer]; if ([sprite.imageKey hasSuffix:@".matte"]) { CALayer *hostLayer = [[CALayer alloc] init]; - hostLayer.frame = contentLayer.frame; hostLayer.mask = contentLayer; - [self.drawLayer addSublayer:hostLayer]; tempHostLayers[sprite.imageKey] = hostLayer; } else { if (sprite.matteKey && sprite.matteKey.length > 0) { CALayer *hostLayer = tempHostLayers[sprite.matteKey]; [hostLayer addSublayer:contentLayer]; + if (![sprite.matteKey isEqualToString:self.videoItem.sprites[idx - 1].matteKey]) { + [self.drawLayer addSublayer:hostLayer]; + } } else { [self.drawLayer addSublayer:contentLayer]; } @@ -184,7 +186,7 @@ - (void)draw { contentLayer.dynamicDrawingBlock = self.dynamicDrawings[sprite.imageKey]; } } - } + }]; _contentLayers = tempContentLayers; [self.layer addSublayer:self.drawLayer]; diff --git a/Source/SVGAVectorLayer.m b/Source/SVGAVectorLayer.m index 72083bbd..57cc8444 100644 --- a/Source/SVGAVectorLayer.m +++ b/Source/SVGAVectorLayer.m @@ -85,7 +85,7 @@ - (void)drawFrame:(NSInteger)frame { return; } } - [self.sublayers makeObjectsPerformSelector:@selector(removeFromSuperlayer)]; + while(self.sublayers.count) [self.sublayers.firstObject removeFromSuperlayer]; for (NSDictionary *shape in frameItem.shapes) { if ([shape isKindOfClass:[NSDictionary class]]) { if ([shape[@"type"] isKindOfClass:[NSString class]]) { From 527e76fa1e113c368f043f2436ef0e28499e6886 Mon Sep 17 00:00:00 2001 From: errnull Date: Mon, 3 Jun 2019 23:09:25 +0800 Subject: [PATCH 028/104] feat: add 2.x proto support for matte. --- Podfile.lock | 2 +- SVGAPlayer.xcodeproj/project.pbxproj | 4 + SVGAPlayer/Samples/matte.svga | Bin 0 -> 738 bytes SVGAPlayer/ViewController.m | 2 +- Source/pbobjc/Svga.pbobjc.h | 210 ++-- Source/pbobjc/Svga.pbobjc.m | 1723 +++++++++++++------------- 6 files changed, 985 insertions(+), 956 deletions(-) create mode 100644 SVGAPlayer/Samples/matte.svga diff --git a/Podfile.lock b/Podfile.lock index 96533f8c..1055b0a0 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -64,4 +64,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: 7f6714245d47e69d2933463289e4c4d6de65b831 -COCOAPODS: 1.6.0.beta.2 +COCOAPODS: 1.6.1 diff --git a/SVGAPlayer.xcodeproj/project.pbxproj b/SVGAPlayer.xcodeproj/project.pbxproj index 88bafe12..9bd14d1c 100644 --- a/SVGAPlayer.xcodeproj/project.pbxproj +++ b/SVGAPlayer.xcodeproj/project.pbxproj @@ -12,6 +12,7 @@ 63712E6821787A45001AE014 /* SVGAAudioEntity.m in Sources */ = {isa = PBXBuildFile; fileRef = 63712E6721787A45001AE014 /* SVGAAudioEntity.m */; }; 63E817012178809D001D2D62 /* SVGAAudioLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 63E817002178809D001D2D62 /* SVGAAudioLayer.m */; }; 71418C93225E6F710029C69E /* mutiMatte.svga in Resources */ = {isa = PBXBuildFile; fileRef = 71418C92225E6F710029C69E /* mutiMatte.svga */; }; + 716E430322A56EFD007E5871 /* matte.svga in Resources */ = {isa = PBXBuildFile; fileRef = 716E430222A56EFD007E5871 /* matte.svga */; }; 80D4C7254846B96B9C6EED83 /* libPods-SVGAPlayer.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DDA5FF396660C7C932DF9B8 /* libPods-SVGAPlayer.a */; }; 904D41F81D223DD20085A21A /* SVGABezierPath.m in Sources */ = {isa = PBXBuildFile; fileRef = 904D41F71D223DD20085A21A /* SVGABezierPath.m */; }; 9052FC631E6EB8D4007BC925 /* SVGAExporter.m in Sources */ = {isa = PBXBuildFile; fileRef = 9052FC621E6EB8D4007BC925 /* SVGAExporter.m */; }; @@ -65,6 +66,7 @@ 63E816FF2178809D001D2D62 /* SVGAAudioLayer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SVGAAudioLayer.h; sourceTree = ""; }; 63E817002178809D001D2D62 /* SVGAAudioLayer.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SVGAAudioLayer.m; sourceTree = ""; }; 71418C92225E6F710029C69E /* mutiMatte.svga */ = {isa = PBXFileReference; lastKnownFileType = file; path = mutiMatte.svga; sourceTree = ""; }; + 716E430222A56EFD007E5871 /* matte.svga */ = {isa = PBXFileReference; lastKnownFileType = file; path = matte.svga; sourceTree = ""; }; 8AD65028FA2D122A34DC4A63 /* Pods-SVGAPlayer.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SVGAPlayer.debug.xcconfig"; path = "Pods/Target Support Files/Pods-SVGAPlayer/Pods-SVGAPlayer.debug.xcconfig"; sourceTree = ""; }; 904D41F61D223DD20085A21A /* SVGABezierPath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGABezierPath.h; sourceTree = ""; }; 904D41F71D223DD20085A21A /* SVGABezierPath.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SVGABezierPath.m; sourceTree = ""; }; @@ -241,6 +243,7 @@ 90D7C9FA1F7E2AA3006E74F0 /* Samples */ = { isa = PBXGroup; children = ( + 716E430222A56EFD007E5871 /* matte.svga */, 71418C92225E6F710029C69E /* mutiMatte.svga */, 63712E6421787950001AE014 /* heartbeat.svga */, 90D7CA1A1F7FB114006E74F0 /* rose_1.5.0.svga */, @@ -358,6 +361,7 @@ 90CB64F91EF297E800DAA382 /* SVGAPlayer React-Info.plist in Resources */, 90D7CA1C1F7FB114006E74F0 /* rose_1.5.0.svga in Resources */, 90D7CA1B1F7FB114006E74F0 /* rose_2.0.0.svga in Resources */, + 716E430322A56EFD007E5871 /* matte.svga in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/SVGAPlayer/Samples/matte.svga b/SVGAPlayer/Samples/matte.svga new file mode 100644 index 0000000000000000000000000000000000000000..13b560a43377305933522e2670a7963fdbc85078 GIT binary patch literal 738 zcmWIWW@h1HU|`^2*imuVukq&7xEv-1274(629RiOepzO!UU5Nc^4svUeU}Xc>YDaB zKP}GvX}+ym#r+6(!#9C#FU=OI2F`jL6uP(IiRg}xY%x0y-VWKrmaLvwe!17Hb;YI= zo2HyG|JZZo9yq6_9tKdHrfv%x4@)!gr1uUo@4*O{Sw`))1_4GMjEx`g}j!e#NjeE0YN z`Sa!Nho8qEzIJ!4F)w*9qBA*lqsN6Qz88#cKHEN(n>(p_;`V8oNB4SkrG3bXcJRvLZJ9d7Jg@AW$lgWCGLcTb62}h- zEPIlFXHUW6JO$a~y;olBo*$hrYyIa2*Ztjx=Qe%_oE}!yduPw8x0g0IKf77P`8iqm z{jFQMdL-8EyucefN7z@f(dL4w%dRP_f{*$uC_ z7qcu4+gie@#JWNJg_K&Xm(7~Gd5hS?H!jzYx7}{+X7;jl>U8n_^9s{ni_hNv+xgI1 zRX68tmaW|Dwm#mmI-`KU$68|kfx>w9JF7eTO_mqjKeXV&xfqG9*;==Qd1SIQu0Crj zZ<)MhpZ8^^)&eIB#X0pN=i=Y8|GD{=ed3dK(}GsioD%=x-o^I)z>emRoHE}_5A5yw z;Ze+GzgIpWNjY0{yUC*_Dc0p|UOTSL$v)U}#b>s0d3RL|YuVehgFjgPYtDcD&h@aR z;NRqe1&+3R=cexbZ6g)?ww^J-n~_Nboc^$ +#import #else - #import "GPBProtocolBuffers.h" +#import "GPBProtocolBuffers.h" #endif #if GOOGLE_PROTOBUF_OBJC_VERSION < 30002 @@ -45,23 +45,23 @@ NS_ASSUME_NONNULL_BEGIN #pragma mark - Enum SVGAProtoShapeEntity_ShapeType typedef GPB_ENUM(SVGAProtoShapeEntity_ShapeType) { - /** - * Value used if any message's field encounters a value that is not defined - * by this enum. The message will also have C functions to get/set the rawValue - * of the field. - **/ - SVGAProtoShapeEntity_ShapeType_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue, - /** 路径 */ - SVGAProtoShapeEntity_ShapeType_Shape = 0, - - /** 矩形 */ - SVGAProtoShapeEntity_ShapeType_Rect = 1, - - /** 圆形 */ - SVGAProtoShapeEntity_ShapeType_Ellipse = 2, - - /** 与前帧一致 */ - SVGAProtoShapeEntity_ShapeType_Keep = 3, + /** + * Value used if any message's field encounters a value that is not defined + * by this enum. The message will also have C functions to get/set the rawValue + * of the field. + **/ + SVGAProtoShapeEntity_ShapeType_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue, + /** 路径 */ + SVGAProtoShapeEntity_ShapeType_Shape = 0, + + /** 矩形 */ + SVGAProtoShapeEntity_ShapeType_Rect = 1, + + /** 圆形 */ + SVGAProtoShapeEntity_ShapeType_Ellipse = 2, + + /** 与前帧一致 */ + SVGAProtoShapeEntity_ShapeType_Keep = 3, }; GPBEnumDescriptor *SVGAProtoShapeEntity_ShapeType_EnumDescriptor(void); @@ -75,15 +75,15 @@ BOOL SVGAProtoShapeEntity_ShapeType_IsValidValue(int32_t value); #pragma mark - Enum SVGAProtoShapeEntity_ShapeStyle_LineCap typedef GPB_ENUM(SVGAProtoShapeEntity_ShapeStyle_LineCap) { - /** - * Value used if any message's field encounters a value that is not defined - * by this enum. The message will also have C functions to get/set the rawValue - * of the field. - **/ - SVGAProtoShapeEntity_ShapeStyle_LineCap_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue, - SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapButt = 0, - SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapRound = 1, - SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapSquare = 2, + /** + * Value used if any message's field encounters a value that is not defined + * by this enum. The message will also have C functions to get/set the rawValue + * of the field. + **/ + SVGAProtoShapeEntity_ShapeStyle_LineCap_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue, + SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapButt = 0, + SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapRound = 1, + SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapSquare = 2, }; GPBEnumDescriptor *SVGAProtoShapeEntity_ShapeStyle_LineCap_EnumDescriptor(void); @@ -97,15 +97,15 @@ BOOL SVGAProtoShapeEntity_ShapeStyle_LineCap_IsValidValue(int32_t value); #pragma mark - Enum SVGAProtoShapeEntity_ShapeStyle_LineJoin typedef GPB_ENUM(SVGAProtoShapeEntity_ShapeStyle_LineJoin) { - /** - * Value used if any message's field encounters a value that is not defined - * by this enum. The message will also have C functions to get/set the rawValue - * of the field. - **/ - SVGAProtoShapeEntity_ShapeStyle_LineJoin_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue, - SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinMiter = 0, - SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinRound = 1, - SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinBevel = 2, + /** + * Value used if any message's field encounters a value that is not defined + * by this enum. The message will also have C functions to get/set the rawValue + * of the field. + **/ + SVGAProtoShapeEntity_ShapeStyle_LineJoin_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue, + SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinMiter = 0, + SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinRound = 1, + SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinBevel = 2, }; GPBEnumDescriptor *SVGAProtoShapeEntity_ShapeStyle_LineJoin_EnumDescriptor(void); @@ -134,10 +134,10 @@ BOOL SVGAProtoShapeEntity_ShapeStyle_LineJoin_IsValidValue(int32_t value); #pragma mark - SVGAProtoMovieParams typedef GPB_ENUM(SVGAProtoMovieParams_FieldNumber) { - SVGAProtoMovieParams_FieldNumber_ViewBoxWidth = 1, - SVGAProtoMovieParams_FieldNumber_ViewBoxHeight = 2, - SVGAProtoMovieParams_FieldNumber_Fps = 3, - SVGAProtoMovieParams_FieldNumber_Frames = 4, + SVGAProtoMovieParams_FieldNumber_ViewBoxWidth = 1, + SVGAProtoMovieParams_FieldNumber_ViewBoxHeight = 2, + SVGAProtoMovieParams_FieldNumber_Fps = 3, + SVGAProtoMovieParams_FieldNumber_Frames = 4, }; @interface SVGAProtoMovieParams : GPBMessage @@ -159,13 +159,17 @@ typedef GPB_ENUM(SVGAProtoMovieParams_FieldNumber) { #pragma mark - SVGAProtoSpriteEntity typedef GPB_ENUM(SVGAProtoSpriteEntity_FieldNumber) { - SVGAProtoSpriteEntity_FieldNumber_ImageKey = 1, - SVGAProtoSpriteEntity_FieldNumber_FramesArray = 2, + SVGAProtoSpriteEntity_FieldNumber_MatteKey = 1, + SVGAProtoSpriteEntity_FieldNumber_ImageKey = 2, + SVGAProtoSpriteEntity_FieldNumber_FramesArray = 3, }; @interface SVGAProtoSpriteEntity : GPBMessage /** 元件所对应的位图键名, 如果 imageKey 含有 .vector 后缀,该 sprite 为矢量图层。 */ +@property(nonatomic, readwrite, copy, null_resettable) NSString *matteKey; + +/** 元件所对应的位图键名, 如果 imageKey 含有 .vector 后缀,该 sprite 为矢量图层 含有 .matte 后缀,该 sprite 为遮罩图层。 */ @property(nonatomic, readwrite, copy, null_resettable) NSString *imageKey; /** 帧列表 */ @@ -178,10 +182,11 @@ typedef GPB_ENUM(SVGAProtoSpriteEntity_FieldNumber) { #pragma mark - SVGAProtoAudioEntity typedef GPB_ENUM(SVGAProtoAudioEntity_FieldNumber) { - SVGAProtoAudioEntity_FieldNumber_AudioKey = 1, - SVGAProtoAudioEntity_FieldNumber_StartFrame = 2, - SVGAProtoAudioEntity_FieldNumber_EndFrame = 3, - SVGAProtoAudioEntity_FieldNumber_StartTime = 4, + SVGAProtoAudioEntity_FieldNumber_AudioKey = 1, + SVGAProtoAudioEntity_FieldNumber_StartFrame = 2, + SVGAProtoAudioEntity_FieldNumber_EndFrame = 3, + SVGAProtoAudioEntity_FieldNumber_StartTime = 4, + SVGAProtoAudioEntity_FieldNumber_TotalTime = 5, }; @interface SVGAProtoAudioEntity : GPBMessage @@ -198,15 +203,18 @@ typedef GPB_ENUM(SVGAProtoAudioEntity_FieldNumber) { /** 音频播放起始时间(相对音频长度) */ @property(nonatomic, readwrite) int32_t startTime; +/** 音频总长度 */ +@property(nonatomic, readwrite) int32_t totalTime; + @end #pragma mark - SVGAProtoLayout typedef GPB_ENUM(SVGAProtoLayout_FieldNumber) { - SVGAProtoLayout_FieldNumber_X = 1, - SVGAProtoLayout_FieldNumber_Y = 2, - SVGAProtoLayout_FieldNumber_Width = 3, - SVGAProtoLayout_FieldNumber_Height = 4, + SVGAProtoLayout_FieldNumber_X = 1, + SVGAProtoLayout_FieldNumber_Y = 2, + SVGAProtoLayout_FieldNumber_Width = 3, + SVGAProtoLayout_FieldNumber_Height = 4, }; @interface SVGAProtoLayout : GPBMessage @@ -224,12 +232,12 @@ typedef GPB_ENUM(SVGAProtoLayout_FieldNumber) { #pragma mark - SVGAProtoTransform typedef GPB_ENUM(SVGAProtoTransform_FieldNumber) { - SVGAProtoTransform_FieldNumber_A = 1, - SVGAProtoTransform_FieldNumber_B = 2, - SVGAProtoTransform_FieldNumber_C = 3, - SVGAProtoTransform_FieldNumber_D = 4, - SVGAProtoTransform_FieldNumber_Tx = 5, - SVGAProtoTransform_FieldNumber_Ty = 6, + SVGAProtoTransform_FieldNumber_A = 1, + SVGAProtoTransform_FieldNumber_B = 2, + SVGAProtoTransform_FieldNumber_C = 3, + SVGAProtoTransform_FieldNumber_D = 4, + SVGAProtoTransform_FieldNumber_Tx = 5, + SVGAProtoTransform_FieldNumber_Ty = 6, }; @interface SVGAProtoTransform : GPBMessage @@ -251,19 +259,19 @@ typedef GPB_ENUM(SVGAProtoTransform_FieldNumber) { #pragma mark - SVGAProtoShapeEntity typedef GPB_ENUM(SVGAProtoShapeEntity_FieldNumber) { - SVGAProtoShapeEntity_FieldNumber_Type = 1, - SVGAProtoShapeEntity_FieldNumber_Shape = 2, - SVGAProtoShapeEntity_FieldNumber_Rect = 3, - SVGAProtoShapeEntity_FieldNumber_Ellipse = 4, - SVGAProtoShapeEntity_FieldNumber_Styles = 10, - SVGAProtoShapeEntity_FieldNumber_Transform = 11, + SVGAProtoShapeEntity_FieldNumber_Type = 1, + SVGAProtoShapeEntity_FieldNumber_Shape = 2, + SVGAProtoShapeEntity_FieldNumber_Rect = 3, + SVGAProtoShapeEntity_FieldNumber_Ellipse = 4, + SVGAProtoShapeEntity_FieldNumber_Styles = 10, + SVGAProtoShapeEntity_FieldNumber_Transform = 11, }; typedef GPB_ENUM(SVGAProtoShapeEntity_Args_OneOfCase) { - SVGAProtoShapeEntity_Args_OneOfCase_GPBUnsetOneOfCase = 0, - SVGAProtoShapeEntity_Args_OneOfCase_Shape = 2, - SVGAProtoShapeEntity_Args_OneOfCase_Rect = 3, - SVGAProtoShapeEntity_Args_OneOfCase_Ellipse = 4, + SVGAProtoShapeEntity_Args_OneOfCase_GPBUnsetOneOfCase = 0, + SVGAProtoShapeEntity_Args_OneOfCase_Shape = 2, + SVGAProtoShapeEntity_Args_OneOfCase_Rect = 3, + SVGAProtoShapeEntity_Args_OneOfCase_Ellipse = 4, }; @interface SVGAProtoShapeEntity : GPBMessage @@ -311,7 +319,7 @@ void SVGAProtoShapeEntity_ClearArgsOneOfCase(SVGAProtoShapeEntity *message); #pragma mark - SVGAProtoShapeEntity_ShapeArgs typedef GPB_ENUM(SVGAProtoShapeEntity_ShapeArgs_FieldNumber) { - SVGAProtoShapeEntity_ShapeArgs_FieldNumber_D = 1, + SVGAProtoShapeEntity_ShapeArgs_FieldNumber_D = 1, }; @interface SVGAProtoShapeEntity_ShapeArgs : GPBMessage @@ -324,11 +332,11 @@ typedef GPB_ENUM(SVGAProtoShapeEntity_ShapeArgs_FieldNumber) { #pragma mark - SVGAProtoShapeEntity_RectArgs typedef GPB_ENUM(SVGAProtoShapeEntity_RectArgs_FieldNumber) { - SVGAProtoShapeEntity_RectArgs_FieldNumber_X = 1, - SVGAProtoShapeEntity_RectArgs_FieldNumber_Y = 2, - SVGAProtoShapeEntity_RectArgs_FieldNumber_Width = 3, - SVGAProtoShapeEntity_RectArgs_FieldNumber_Height = 4, - SVGAProtoShapeEntity_RectArgs_FieldNumber_CornerRadius = 5, + SVGAProtoShapeEntity_RectArgs_FieldNumber_X = 1, + SVGAProtoShapeEntity_RectArgs_FieldNumber_Y = 2, + SVGAProtoShapeEntity_RectArgs_FieldNumber_Width = 3, + SVGAProtoShapeEntity_RectArgs_FieldNumber_Height = 4, + SVGAProtoShapeEntity_RectArgs_FieldNumber_CornerRadius = 5, }; @interface SVGAProtoShapeEntity_RectArgs : GPBMessage @@ -349,10 +357,10 @@ typedef GPB_ENUM(SVGAProtoShapeEntity_RectArgs_FieldNumber) { #pragma mark - SVGAProtoShapeEntity_EllipseArgs typedef GPB_ENUM(SVGAProtoShapeEntity_EllipseArgs_FieldNumber) { - SVGAProtoShapeEntity_EllipseArgs_FieldNumber_X = 1, - SVGAProtoShapeEntity_EllipseArgs_FieldNumber_Y = 2, - SVGAProtoShapeEntity_EllipseArgs_FieldNumber_RadiusX = 3, - SVGAProtoShapeEntity_EllipseArgs_FieldNumber_RadiusY = 4, + SVGAProtoShapeEntity_EllipseArgs_FieldNumber_X = 1, + SVGAProtoShapeEntity_EllipseArgs_FieldNumber_Y = 2, + SVGAProtoShapeEntity_EllipseArgs_FieldNumber_RadiusX = 3, + SVGAProtoShapeEntity_EllipseArgs_FieldNumber_RadiusY = 4, }; @interface SVGAProtoShapeEntity_EllipseArgs : GPBMessage @@ -374,15 +382,15 @@ typedef GPB_ENUM(SVGAProtoShapeEntity_EllipseArgs_FieldNumber) { #pragma mark - SVGAProtoShapeEntity_ShapeStyle typedef GPB_ENUM(SVGAProtoShapeEntity_ShapeStyle_FieldNumber) { - SVGAProtoShapeEntity_ShapeStyle_FieldNumber_Fill = 1, - SVGAProtoShapeEntity_ShapeStyle_FieldNumber_Stroke = 2, - SVGAProtoShapeEntity_ShapeStyle_FieldNumber_StrokeWidth = 3, - SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineCap = 4, - SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineJoin = 5, - SVGAProtoShapeEntity_ShapeStyle_FieldNumber_MiterLimit = 6, - SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineDashI = 7, - SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineDashIi = 8, - SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineDashIii = 9, + SVGAProtoShapeEntity_ShapeStyle_FieldNumber_Fill = 1, + SVGAProtoShapeEntity_ShapeStyle_FieldNumber_Stroke = 2, + SVGAProtoShapeEntity_ShapeStyle_FieldNumber_StrokeWidth = 3, + SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineCap = 4, + SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineJoin = 5, + SVGAProtoShapeEntity_ShapeStyle_FieldNumber_MiterLimit = 6, + SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineDashI = 7, + SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineDashIi = 8, + SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineDashIii = 9, }; @interface SVGAProtoShapeEntity_ShapeStyle : GPBMessage @@ -447,10 +455,10 @@ void SetSVGAProtoShapeEntity_ShapeStyle_LineJoin_RawValue(SVGAProtoShapeEntity_S #pragma mark - SVGAProtoShapeEntity_ShapeStyle_RGBAColor typedef GPB_ENUM(SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber) { - SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber_R = 1, - SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber_G = 2, - SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber_B = 3, - SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber_A = 4, + SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber_R = 1, + SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber_G = 2, + SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber_B = 3, + SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber_A = 4, }; @interface SVGAProtoShapeEntity_ShapeStyle_RGBAColor : GPBMessage @@ -468,11 +476,11 @@ typedef GPB_ENUM(SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber) { #pragma mark - SVGAProtoFrameEntity typedef GPB_ENUM(SVGAProtoFrameEntity_FieldNumber) { - SVGAProtoFrameEntity_FieldNumber_Alpha = 1, - SVGAProtoFrameEntity_FieldNumber_Layout = 2, - SVGAProtoFrameEntity_FieldNumber_Transform = 3, - SVGAProtoFrameEntity_FieldNumber_ClipPath = 4, - SVGAProtoFrameEntity_FieldNumber_ShapesArray = 5, + SVGAProtoFrameEntity_FieldNumber_Alpha = 1, + SVGAProtoFrameEntity_FieldNumber_Layout = 2, + SVGAProtoFrameEntity_FieldNumber_Transform = 3, + SVGAProtoFrameEntity_FieldNumber_ClipPath = 4, + SVGAProtoFrameEntity_FieldNumber_ShapesArray = 5, }; @interface SVGAProtoFrameEntity : GPBMessage @@ -503,11 +511,11 @@ typedef GPB_ENUM(SVGAProtoFrameEntity_FieldNumber) { #pragma mark - SVGAProtoMovieEntity typedef GPB_ENUM(SVGAProtoMovieEntity_FieldNumber) { - SVGAProtoMovieEntity_FieldNumber_Version = 1, - SVGAProtoMovieEntity_FieldNumber_Params = 2, - SVGAProtoMovieEntity_FieldNumber_Images = 3, - SVGAProtoMovieEntity_FieldNumber_SpritesArray = 4, - SVGAProtoMovieEntity_FieldNumber_AudiosArray = 5, + SVGAProtoMovieEntity_FieldNumber_Version = 1, + SVGAProtoMovieEntity_FieldNumber_Params = 2, + SVGAProtoMovieEntity_FieldNumber_Images = 3, + SVGAProtoMovieEntity_FieldNumber_SpritesArray = 4, + SVGAProtoMovieEntity_FieldNumber_AudiosArray = 5, }; @interface SVGAProtoMovieEntity : GPBMessage diff --git a/Source/pbobjc/Svga.pbobjc.m b/Source/pbobjc/Svga.pbobjc.m index 82185a32..7d1027fd 100644 --- a/Source/pbobjc/Svga.pbobjc.m +++ b/Source/pbobjc/Svga.pbobjc.m @@ -4,17 +4,15 @@ // This CPP symbol can be defined to use imports that match up to the framework // imports needed when using CocoaPods. #if !defined(GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS) - #define GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS 0 +#define GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS 0 #endif #if GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS - #import +#import #else - #import "GPBProtocolBuffers_RuntimeSupport.h" +#import "GPBProtocolBuffers_RuntimeSupport.h" #endif -#import - #import "Svga.pbobjc.h" // @@protoc_insertion_point(imports) @@ -34,16 +32,16 @@ @implementation SVGAProtoSvgaRoot #pragma mark - SVGAProtoSvgaRoot_FileDescriptor static GPBFileDescriptor *SVGAProtoSvgaRoot_FileDescriptor(void) { - // This is called by +initialize so there is no need to worry - // about thread safety of the singleton. - static GPBFileDescriptor *descriptor = NULL; - if (!descriptor) { - GPB_DEBUG_CHECK_RUNTIME_VERSIONS(); - descriptor = [[GPBFileDescriptor alloc] initWithPackage:@"com.opensource.svga" - objcPrefix:@"SVGAProto" - syntax:GPBFileSyntaxProto3]; - } - return descriptor; + // This is called by +initialize so there is no need to worry + // about thread safety of the singleton. + static GPBFileDescriptor *descriptor = NULL; + if (!descriptor) { + GPB_DEBUG_CHECK_RUNTIME_VERSIONS(); + descriptor = [[GPBFileDescriptor alloc] initWithPackage:@"com.opensource.svga" + objcPrefix:@"SVGAProto" + syntax:GPBFileSyntaxProto3]; + } + return descriptor; } #pragma mark - SVGAProtoMovieParams @@ -56,57 +54,57 @@ @implementation SVGAProtoMovieParams @dynamic frames; typedef struct SVGAProtoMovieParams__storage_ { - uint32_t _has_storage_[1]; - float viewBoxWidth; - float viewBoxHeight; - int32_t fps; - int32_t frames; + uint32_t _has_storage_[1]; + float viewBoxWidth; + float viewBoxHeight; + int32_t fps; + int32_t frames; } SVGAProtoMovieParams__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { - static GPBDescriptor *descriptor = nil; - if (!descriptor) { - static GPBMessageFieldDescription fields[] = { - { - .name = "viewBoxWidth", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoMovieParams_FieldNumber_ViewBoxWidth, - .hasIndex = 0, - .offset = (uint32_t)offsetof(SVGAProtoMovieParams__storage_, viewBoxWidth), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeFloat, - }, - { - .name = "viewBoxHeight", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoMovieParams_FieldNumber_ViewBoxHeight, - .hasIndex = 1, - .offset = (uint32_t)offsetof(SVGAProtoMovieParams__storage_, viewBoxHeight), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeFloat, - }, - { - .name = "fps", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoMovieParams_FieldNumber_Fps, - .hasIndex = 2, - .offset = (uint32_t)offsetof(SVGAProtoMovieParams__storage_, fps), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeInt32, - }, - { - .name = "frames", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoMovieParams_FieldNumber_Frames, - .hasIndex = 3, - .offset = (uint32_t)offsetof(SVGAProtoMovieParams__storage_, frames), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeInt32, - }, - }; - GPBDescriptor *localDescriptor = + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "viewBoxWidth", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoMovieParams_FieldNumber_ViewBoxWidth, + .hasIndex = 0, + .offset = (uint32_t)offsetof(SVGAProtoMovieParams__storage_, viewBoxWidth), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeFloat, + }, + { + .name = "viewBoxHeight", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoMovieParams_FieldNumber_ViewBoxHeight, + .hasIndex = 1, + .offset = (uint32_t)offsetof(SVGAProtoMovieParams__storage_, viewBoxHeight), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeFloat, + }, + { + .name = "fps", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoMovieParams_FieldNumber_Fps, + .hasIndex = 2, + .offset = (uint32_t)offsetof(SVGAProtoMovieParams__storage_, fps), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeInt32, + }, + { + .name = "frames", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoMovieParams_FieldNumber_Frames, + .hasIndex = 3, + .offset = (uint32_t)offsetof(SVGAProtoMovieParams__storage_, frames), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeInt32, + }, + }; + GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[SVGAProtoMovieParams class] rootClass:[SVGAProtoSvgaRoot class] file:SVGAProtoSvgaRoot_FileDescriptor() @@ -115,14 +113,14 @@ + (GPBDescriptor *)descriptor { storageSize:sizeof(SVGAProtoMovieParams__storage_) flags:GPBDescriptorInitializationFlag_None]; #if !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS - static const char *extraTextFormatInfo = + static const char *extraTextFormatInfo = "\002\001\014\000\002\r\000"; - [localDescriptor setupExtraTextInfo:extraTextFormatInfo]; + [localDescriptor setupExtraTextInfo:extraTextFormatInfo]; #endif // !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS - NSAssert(descriptor == nil, @"Startup recursed!"); - descriptor = localDescriptor; - } - return descriptor; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; } @end @@ -131,41 +129,52 @@ + (GPBDescriptor *)descriptor { @implementation SVGAProtoSpriteEntity +@dynamic matteKey; @dynamic imageKey; @dynamic framesArray, framesArray_Count; typedef struct SVGAProtoSpriteEntity__storage_ { - uint32_t _has_storage_[1]; - NSString *imageKey; - NSMutableArray *framesArray; + uint32_t _has_storage_[1]; + NSString *matteKey; + NSString *imageKey; + NSMutableArray *framesArray; } SVGAProtoSpriteEntity__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { - static GPBDescriptor *descriptor = nil; - if (!descriptor) { - static GPBMessageFieldDescription fields[] = { - { - .name = "imageKey", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoSpriteEntity_FieldNumber_ImageKey, - .hasIndex = 0, - .offset = (uint32_t)offsetof(SVGAProtoSpriteEntity__storage_, imageKey), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeString, - }, - { - .name = "framesArray", - .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoFrameEntity), - .number = SVGAProtoSpriteEntity_FieldNumber_FramesArray, - .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(SVGAProtoSpriteEntity__storage_, framesArray), - .flags = GPBFieldRepeated, - .dataType = GPBDataTypeMessage, - }, - }; - GPBDescriptor *localDescriptor = + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "matteKey", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoSpriteEntity_FieldNumber_MatteKey, + .hasIndex = 0, + .offset = (uint32_t)offsetof(SVGAProtoSpriteEntity__storage_, matteKey), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeString, + }, + { + .name = "imageKey", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoSpriteEntity_FieldNumber_ImageKey, + .hasIndex = 1, + .offset = (uint32_t)offsetof(SVGAProtoSpriteEntity__storage_, imageKey), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeString, + }, + { + .name = "framesArray", + .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoFrameEntity), + .number = SVGAProtoSpriteEntity_FieldNumber_FramesArray, + .hasIndex = GPBNoHasBit, + .offset = (uint32_t)offsetof(SVGAProtoSpriteEntity__storage_, framesArray), + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[SVGAProtoSpriteEntity class] rootClass:[SVGAProtoSvgaRoot class] file:SVGAProtoSvgaRoot_FileDescriptor() @@ -174,14 +183,14 @@ + (GPBDescriptor *)descriptor { storageSize:sizeof(SVGAProtoSpriteEntity__storage_) flags:GPBDescriptorInitializationFlag_None]; #if !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS - static const char *extraTextFormatInfo = - "\001\001\010\000"; - [localDescriptor setupExtraTextInfo:extraTextFormatInfo]; + static const char *extraTextFormatInfo = + "\002\001\010\000\002\010\000"; + [localDescriptor setupExtraTextInfo:extraTextFormatInfo]; #endif // !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS - NSAssert(descriptor == nil, @"Startup recursed!"); - descriptor = localDescriptor; - } - return descriptor; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; } @end @@ -194,59 +203,70 @@ @implementation SVGAProtoAudioEntity @dynamic startFrame; @dynamic endFrame; @dynamic startTime; +@dynamic totalTime; typedef struct SVGAProtoAudioEntity__storage_ { - uint32_t _has_storage_[1]; - int32_t startFrame; - int32_t endFrame; - int32_t startTime; - NSString *audioKey; + uint32_t _has_storage_[1]; + int32_t startFrame; + int32_t endFrame; + int32_t startTime; + int32_t totalTime; + NSString *audioKey; } SVGAProtoAudioEntity__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { - static GPBDescriptor *descriptor = nil; - if (!descriptor) { - static GPBMessageFieldDescription fields[] = { - { - .name = "audioKey", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoAudioEntity_FieldNumber_AudioKey, - .hasIndex = 0, - .offset = (uint32_t)offsetof(SVGAProtoAudioEntity__storage_, audioKey), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeString, - }, - { - .name = "startFrame", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoAudioEntity_FieldNumber_StartFrame, - .hasIndex = 1, - .offset = (uint32_t)offsetof(SVGAProtoAudioEntity__storage_, startFrame), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeInt32, - }, - { - .name = "endFrame", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoAudioEntity_FieldNumber_EndFrame, - .hasIndex = 2, - .offset = (uint32_t)offsetof(SVGAProtoAudioEntity__storage_, endFrame), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeInt32, - }, - { - .name = "startTime", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoAudioEntity_FieldNumber_StartTime, - .hasIndex = 3, - .offset = (uint32_t)offsetof(SVGAProtoAudioEntity__storage_, startTime), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeInt32, - }, - }; - GPBDescriptor *localDescriptor = + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "audioKey", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoAudioEntity_FieldNumber_AudioKey, + .hasIndex = 0, + .offset = (uint32_t)offsetof(SVGAProtoAudioEntity__storage_, audioKey), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeString, + }, + { + .name = "startFrame", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoAudioEntity_FieldNumber_StartFrame, + .hasIndex = 1, + .offset = (uint32_t)offsetof(SVGAProtoAudioEntity__storage_, startFrame), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeInt32, + }, + { + .name = "endFrame", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoAudioEntity_FieldNumber_EndFrame, + .hasIndex = 2, + .offset = (uint32_t)offsetof(SVGAProtoAudioEntity__storage_, endFrame), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeInt32, + }, + { + .name = "startTime", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoAudioEntity_FieldNumber_StartTime, + .hasIndex = 3, + .offset = (uint32_t)offsetof(SVGAProtoAudioEntity__storage_, startTime), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeInt32, + }, + { + .name = "totalTime", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoAudioEntity_FieldNumber_TotalTime, + .hasIndex = 4, + .offset = (uint32_t)offsetof(SVGAProtoAudioEntity__storage_, totalTime), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeInt32, + }, + }; + GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[SVGAProtoAudioEntity class] rootClass:[SVGAProtoSvgaRoot class] file:SVGAProtoSvgaRoot_FileDescriptor() @@ -255,14 +275,14 @@ + (GPBDescriptor *)descriptor { storageSize:sizeof(SVGAProtoAudioEntity__storage_) flags:GPBDescriptorInitializationFlag_None]; #if !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS - static const char *extraTextFormatInfo = - "\004\001\010\000\002\n\000\003\010\000\004\t\000"; - [localDescriptor setupExtraTextInfo:extraTextFormatInfo]; + static const char *extraTextFormatInfo = + "\005\001\010\000\002\n\000\003\010\000\004\t\000\005\t\000"; + [localDescriptor setupExtraTextInfo:extraTextFormatInfo]; #endif // !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS - NSAssert(descriptor == nil, @"Startup recursed!"); - descriptor = localDescriptor; - } - return descriptor; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; } @end @@ -277,57 +297,57 @@ @implementation SVGAProtoLayout @dynamic height; typedef struct SVGAProtoLayout__storage_ { - uint32_t _has_storage_[1]; - float x; - float y; - float width; - float height; + uint32_t _has_storage_[1]; + float x; + float y; + float width; + float height; } SVGAProtoLayout__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { - static GPBDescriptor *descriptor = nil; - if (!descriptor) { - static GPBMessageFieldDescription fields[] = { - { - .name = "x", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoLayout_FieldNumber_X, - .hasIndex = 0, - .offset = (uint32_t)offsetof(SVGAProtoLayout__storage_, x), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "y", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoLayout_FieldNumber_Y, - .hasIndex = 1, - .offset = (uint32_t)offsetof(SVGAProtoLayout__storage_, y), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "width", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoLayout_FieldNumber_Width, - .hasIndex = 2, - .offset = (uint32_t)offsetof(SVGAProtoLayout__storage_, width), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "height", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoLayout_FieldNumber_Height, - .hasIndex = 3, - .offset = (uint32_t)offsetof(SVGAProtoLayout__storage_, height), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - }; - GPBDescriptor *localDescriptor = + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "x", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoLayout_FieldNumber_X, + .hasIndex = 0, + .offset = (uint32_t)offsetof(SVGAProtoLayout__storage_, x), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "y", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoLayout_FieldNumber_Y, + .hasIndex = 1, + .offset = (uint32_t)offsetof(SVGAProtoLayout__storage_, y), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "width", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoLayout_FieldNumber_Width, + .hasIndex = 2, + .offset = (uint32_t)offsetof(SVGAProtoLayout__storage_, width), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "height", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoLayout_FieldNumber_Height, + .hasIndex = 3, + .offset = (uint32_t)offsetof(SVGAProtoLayout__storage_, height), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + }; + GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[SVGAProtoLayout class] rootClass:[SVGAProtoSvgaRoot class] file:SVGAProtoSvgaRoot_FileDescriptor() @@ -335,10 +355,10 @@ + (GPBDescriptor *)descriptor { fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) storageSize:sizeof(SVGAProtoLayout__storage_) flags:GPBDescriptorInitializationFlag_None]; - NSAssert(descriptor == nil, @"Startup recursed!"); - descriptor = localDescriptor; - } - return descriptor; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; } @end @@ -355,77 +375,77 @@ @implementation SVGAProtoTransform @dynamic ty; typedef struct SVGAProtoTransform__storage_ { - uint32_t _has_storage_[1]; - float a; - float b; - float c; - float d; - float tx; - float ty; + uint32_t _has_storage_[1]; + float a; + float b; + float c; + float d; + float tx; + float ty; } SVGAProtoTransform__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { - static GPBDescriptor *descriptor = nil; - if (!descriptor) { - static GPBMessageFieldDescription fields[] = { - { - .name = "a", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoTransform_FieldNumber_A, - .hasIndex = 0, - .offset = (uint32_t)offsetof(SVGAProtoTransform__storage_, a), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "b", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoTransform_FieldNumber_B, - .hasIndex = 1, - .offset = (uint32_t)offsetof(SVGAProtoTransform__storage_, b), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "c", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoTransform_FieldNumber_C, - .hasIndex = 2, - .offset = (uint32_t)offsetof(SVGAProtoTransform__storage_, c), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "d", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoTransform_FieldNumber_D, - .hasIndex = 3, - .offset = (uint32_t)offsetof(SVGAProtoTransform__storage_, d), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "tx", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoTransform_FieldNumber_Tx, - .hasIndex = 4, - .offset = (uint32_t)offsetof(SVGAProtoTransform__storage_, tx), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "ty", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoTransform_FieldNumber_Ty, - .hasIndex = 5, - .offset = (uint32_t)offsetof(SVGAProtoTransform__storage_, ty), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - }; - GPBDescriptor *localDescriptor = + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "a", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoTransform_FieldNumber_A, + .hasIndex = 0, + .offset = (uint32_t)offsetof(SVGAProtoTransform__storage_, a), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "b", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoTransform_FieldNumber_B, + .hasIndex = 1, + .offset = (uint32_t)offsetof(SVGAProtoTransform__storage_, b), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "c", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoTransform_FieldNumber_C, + .hasIndex = 2, + .offset = (uint32_t)offsetof(SVGAProtoTransform__storage_, c), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "d", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoTransform_FieldNumber_D, + .hasIndex = 3, + .offset = (uint32_t)offsetof(SVGAProtoTransform__storage_, d), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "tx", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoTransform_FieldNumber_Tx, + .hasIndex = 4, + .offset = (uint32_t)offsetof(SVGAProtoTransform__storage_, tx), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "ty", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoTransform_FieldNumber_Ty, + .hasIndex = 5, + .offset = (uint32_t)offsetof(SVGAProtoTransform__storage_, ty), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + }; + GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[SVGAProtoTransform class] rootClass:[SVGAProtoSvgaRoot class] file:SVGAProtoSvgaRoot_FileDescriptor() @@ -433,10 +453,10 @@ + (GPBDescriptor *)descriptor { fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) storageSize:sizeof(SVGAProtoTransform__storage_) flags:GPBDescriptorInitializationFlag_None]; - NSAssert(descriptor == nil, @"Startup recursed!"); - descriptor = localDescriptor; - } - return descriptor; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; } @end @@ -454,77 +474,77 @@ @implementation SVGAProtoShapeEntity @dynamic hasTransform, transform; typedef struct SVGAProtoShapeEntity__storage_ { - uint32_t _has_storage_[2]; - SVGAProtoShapeEntity_ShapeType type; - SVGAProtoShapeEntity_ShapeArgs *shape; - SVGAProtoShapeEntity_RectArgs *rect; - SVGAProtoShapeEntity_EllipseArgs *ellipse; - SVGAProtoShapeEntity_ShapeStyle *styles; - SVGAProtoTransform *transform; + uint32_t _has_storage_[2]; + SVGAProtoShapeEntity_ShapeType type; + SVGAProtoShapeEntity_ShapeArgs *shape; + SVGAProtoShapeEntity_RectArgs *rect; + SVGAProtoShapeEntity_EllipseArgs *ellipse; + SVGAProtoShapeEntity_ShapeStyle *styles; + SVGAProtoTransform *transform; } SVGAProtoShapeEntity__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { - static GPBDescriptor *descriptor = nil; - if (!descriptor) { - static GPBMessageFieldDescription fields[] = { - { - .name = "type", - .dataTypeSpecific.enumDescFunc = SVGAProtoShapeEntity_ShapeType_EnumDescriptor, - .number = SVGAProtoShapeEntity_FieldNumber_Type, - .hasIndex = 0, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity__storage_, type), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldHasEnumDescriptor), - .dataType = GPBDataTypeEnum, - }, - { - .name = "shape", - .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoShapeEntity_ShapeArgs), - .number = SVGAProtoShapeEntity_FieldNumber_Shape, - .hasIndex = -1, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity__storage_, shape), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - { - .name = "rect", - .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoShapeEntity_RectArgs), - .number = SVGAProtoShapeEntity_FieldNumber_Rect, - .hasIndex = -1, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity__storage_, rect), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - { - .name = "ellipse", - .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoShapeEntity_EllipseArgs), - .number = SVGAProtoShapeEntity_FieldNumber_Ellipse, - .hasIndex = -1, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity__storage_, ellipse), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - { - .name = "styles", - .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoShapeEntity_ShapeStyle), - .number = SVGAProtoShapeEntity_FieldNumber_Styles, - .hasIndex = 1, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity__storage_, styles), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - { - .name = "transform", - .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoTransform), - .number = SVGAProtoShapeEntity_FieldNumber_Transform, - .hasIndex = 2, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity__storage_, transform), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - }; - GPBDescriptor *localDescriptor = + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "type", + .dataTypeSpecific.enumDescFunc = SVGAProtoShapeEntity_ShapeType_EnumDescriptor, + .number = SVGAProtoShapeEntity_FieldNumber_Type, + .hasIndex = 0, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity__storage_, type), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldHasEnumDescriptor), + .dataType = GPBDataTypeEnum, + }, + { + .name = "shape", + .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoShapeEntity_ShapeArgs), + .number = SVGAProtoShapeEntity_FieldNumber_Shape, + .hasIndex = -1, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity__storage_, shape), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "rect", + .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoShapeEntity_RectArgs), + .number = SVGAProtoShapeEntity_FieldNumber_Rect, + .hasIndex = -1, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity__storage_, rect), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "ellipse", + .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoShapeEntity_EllipseArgs), + .number = SVGAProtoShapeEntity_FieldNumber_Ellipse, + .hasIndex = -1, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity__storage_, ellipse), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "styles", + .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoShapeEntity_ShapeStyle), + .number = SVGAProtoShapeEntity_FieldNumber_Styles, + .hasIndex = 1, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity__storage_, styles), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "transform", + .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoTransform), + .number = SVGAProtoShapeEntity_FieldNumber_Transform, + .hasIndex = 2, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity__storage_, transform), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[SVGAProtoShapeEntity class] rootClass:[SVGAProtoSvgaRoot class] file:SVGAProtoSvgaRoot_FileDescriptor() @@ -532,74 +552,73 @@ + (GPBDescriptor *)descriptor { fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) storageSize:sizeof(SVGAProtoShapeEntity__storage_) flags:GPBDescriptorInitializationFlag_None]; - static const char *oneofs[] = { - "args", - }; - [localDescriptor setupOneofs:oneofs - count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) - firstHasIndex:-1]; - NSAssert(descriptor == nil, @"Startup recursed!"); - descriptor = localDescriptor; - } - return descriptor; + static const char *oneofs[] = { + "args", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; } @end int32_t SVGAProtoShapeEntity_Type_RawValue(SVGAProtoShapeEntity *message) { - GPBDescriptor *descriptor = [SVGAProtoShapeEntity descriptor]; - GPBFieldDescriptor *field = [descriptor fieldWithNumber:SVGAProtoShapeEntity_FieldNumber_Type]; - return GPBGetMessageInt32Field(message, field); + GPBDescriptor *descriptor = [SVGAProtoShapeEntity descriptor]; + GPBFieldDescriptor *field = [descriptor fieldWithNumber:SVGAProtoShapeEntity_FieldNumber_Type]; + return GPBGetMessageInt32Field(message, field); } void SetSVGAProtoShapeEntity_Type_RawValue(SVGAProtoShapeEntity *message, int32_t value) { - GPBDescriptor *descriptor = [SVGAProtoShapeEntity descriptor]; - GPBFieldDescriptor *field = [descriptor fieldWithNumber:SVGAProtoShapeEntity_FieldNumber_Type]; - GPBSetInt32IvarWithFieldInternal(message, field, value, descriptor.file.syntax); + GPBDescriptor *descriptor = [SVGAProtoShapeEntity descriptor]; + GPBFieldDescriptor *field = [descriptor fieldWithNumber:SVGAProtoShapeEntity_FieldNumber_Type]; + GPBSetInt32IvarWithFieldInternal(message, field, value, descriptor.file.syntax); } void SVGAProtoShapeEntity_ClearArgsOneOfCase(SVGAProtoShapeEntity *message) { - GPBDescriptor *descriptor = [message descriptor]; - GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; - GPBMaybeClearOneof(message, oneof, -1, 0); + GPBDescriptor *descriptor = [message descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBMaybeClearOneof(message, oneof, -1, 0); } #pragma mark - Enum SVGAProtoShapeEntity_ShapeType GPBEnumDescriptor *SVGAProtoShapeEntity_ShapeType_EnumDescriptor(void) { - static _Atomic(GPBEnumDescriptor*) descriptor = nil; - if (!descriptor) { - static const char *valueNames = + static GPBEnumDescriptor *descriptor = NULL; + if (!descriptor) { + static const char *valueNames = "Shape\000Rect\000Ellipse\000Keep\000"; - static const int32_t values[] = { - SVGAProtoShapeEntity_ShapeType_Shape, - SVGAProtoShapeEntity_ShapeType_Rect, - SVGAProtoShapeEntity_ShapeType_Ellipse, - SVGAProtoShapeEntity_ShapeType_Keep, - }; - GPBEnumDescriptor *worker = + static const int32_t values[] = { + SVGAProtoShapeEntity_ShapeType_Shape, + SVGAProtoShapeEntity_ShapeType_Rect, + SVGAProtoShapeEntity_ShapeType_Ellipse, + SVGAProtoShapeEntity_ShapeType_Keep, + }; + GPBEnumDescriptor *worker = [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(SVGAProtoShapeEntity_ShapeType) valueNames:valueNames values:values count:(uint32_t)(sizeof(values) / sizeof(int32_t)) enumVerifier:SVGAProtoShapeEntity_ShapeType_IsValidValue]; - GPBEnumDescriptor *expected = nil; - if (!atomic_compare_exchange_strong(&descriptor, &expected, worker)) { - [worker release]; + if (!OSAtomicCompareAndSwapPtrBarrier(nil, worker, (void * volatile *)&descriptor)) { + [worker release]; + } } - } - return descriptor; + return descriptor; } BOOL SVGAProtoShapeEntity_ShapeType_IsValidValue(int32_t value__) { - switch (value__) { - case SVGAProtoShapeEntity_ShapeType_Shape: - case SVGAProtoShapeEntity_ShapeType_Rect: - case SVGAProtoShapeEntity_ShapeType_Ellipse: - case SVGAProtoShapeEntity_ShapeType_Keep: - return YES; - default: - return NO; - } + switch (value__) { + case SVGAProtoShapeEntity_ShapeType_Shape: + case SVGAProtoShapeEntity_ShapeType_Rect: + case SVGAProtoShapeEntity_ShapeType_Ellipse: + case SVGAProtoShapeEntity_ShapeType_Keep: + return YES; + default: + return NO; + } } #pragma mark - SVGAProtoShapeEntity_ShapeArgs @@ -609,27 +628,27 @@ @implementation SVGAProtoShapeEntity_ShapeArgs @dynamic d; typedef struct SVGAProtoShapeEntity_ShapeArgs__storage_ { - uint32_t _has_storage_[1]; - NSString *d; + uint32_t _has_storage_[1]; + NSString *d; } SVGAProtoShapeEntity_ShapeArgs__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { - static GPBDescriptor *descriptor = nil; - if (!descriptor) { - static GPBMessageFieldDescription fields[] = { - { - .name = "d", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_ShapeArgs_FieldNumber_D, - .hasIndex = 0, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeArgs__storage_, d), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeString, - }, - }; - GPBDescriptor *localDescriptor = + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "d", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_ShapeArgs_FieldNumber_D, + .hasIndex = 0, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeArgs__storage_, d), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeString, + }, + }; + GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[SVGAProtoShapeEntity_ShapeArgs class] rootClass:[SVGAProtoSvgaRoot class] file:SVGAProtoSvgaRoot_FileDescriptor() @@ -637,11 +656,11 @@ + (GPBDescriptor *)descriptor { fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) storageSize:sizeof(SVGAProtoShapeEntity_ShapeArgs__storage_) flags:GPBDescriptorInitializationFlag_None]; - [localDescriptor setupContainingMessageClassName:GPBStringifySymbol(SVGAProtoShapeEntity)]; - NSAssert(descriptor == nil, @"Startup recursed!"); - descriptor = localDescriptor; - } - return descriptor; + [localDescriptor setupContainingMessageClassName:GPBStringifySymbol(SVGAProtoShapeEntity)]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; } @end @@ -657,67 +676,67 @@ @implementation SVGAProtoShapeEntity_RectArgs @dynamic cornerRadius; typedef struct SVGAProtoShapeEntity_RectArgs__storage_ { - uint32_t _has_storage_[1]; - float x; - float y; - float width; - float height; - float cornerRadius; + uint32_t _has_storage_[1]; + float x; + float y; + float width; + float height; + float cornerRadius; } SVGAProtoShapeEntity_RectArgs__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { - static GPBDescriptor *descriptor = nil; - if (!descriptor) { - static GPBMessageFieldDescription fields[] = { - { - .name = "x", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_RectArgs_FieldNumber_X, - .hasIndex = 0, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_RectArgs__storage_, x), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "y", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_RectArgs_FieldNumber_Y, - .hasIndex = 1, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_RectArgs__storage_, y), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "width", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_RectArgs_FieldNumber_Width, - .hasIndex = 2, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_RectArgs__storage_, width), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "height", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_RectArgs_FieldNumber_Height, - .hasIndex = 3, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_RectArgs__storage_, height), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "cornerRadius", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_RectArgs_FieldNumber_CornerRadius, - .hasIndex = 4, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_RectArgs__storage_, cornerRadius), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeFloat, - }, - }; - GPBDescriptor *localDescriptor = + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "x", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_RectArgs_FieldNumber_X, + .hasIndex = 0, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_RectArgs__storage_, x), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "y", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_RectArgs_FieldNumber_Y, + .hasIndex = 1, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_RectArgs__storage_, y), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "width", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_RectArgs_FieldNumber_Width, + .hasIndex = 2, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_RectArgs__storage_, width), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "height", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_RectArgs_FieldNumber_Height, + .hasIndex = 3, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_RectArgs__storage_, height), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "cornerRadius", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_RectArgs_FieldNumber_CornerRadius, + .hasIndex = 4, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_RectArgs__storage_, cornerRadius), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeFloat, + }, + }; + GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[SVGAProtoShapeEntity_RectArgs class] rootClass:[SVGAProtoSvgaRoot class] file:SVGAProtoSvgaRoot_FileDescriptor() @@ -726,15 +745,15 @@ + (GPBDescriptor *)descriptor { storageSize:sizeof(SVGAProtoShapeEntity_RectArgs__storage_) flags:GPBDescriptorInitializationFlag_None]; #if !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS - static const char *extraTextFormatInfo = + static const char *extraTextFormatInfo = "\001\005\014\000"; - [localDescriptor setupExtraTextInfo:extraTextFormatInfo]; + [localDescriptor setupExtraTextInfo:extraTextFormatInfo]; #endif // !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS - [localDescriptor setupContainingMessageClassName:GPBStringifySymbol(SVGAProtoShapeEntity)]; - NSAssert(descriptor == nil, @"Startup recursed!"); - descriptor = localDescriptor; - } - return descriptor; + [localDescriptor setupContainingMessageClassName:GPBStringifySymbol(SVGAProtoShapeEntity)]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; } @end @@ -749,57 +768,57 @@ @implementation SVGAProtoShapeEntity_EllipseArgs @dynamic radiusY; typedef struct SVGAProtoShapeEntity_EllipseArgs__storage_ { - uint32_t _has_storage_[1]; - float x; - float y; - float radiusX; - float radiusY; + uint32_t _has_storage_[1]; + float x; + float y; + float radiusX; + float radiusY; } SVGAProtoShapeEntity_EllipseArgs__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { - static GPBDescriptor *descriptor = nil; - if (!descriptor) { - static GPBMessageFieldDescription fields[] = { - { - .name = "x", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_EllipseArgs_FieldNumber_X, - .hasIndex = 0, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_EllipseArgs__storage_, x), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "y", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_EllipseArgs_FieldNumber_Y, - .hasIndex = 1, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_EllipseArgs__storage_, y), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "radiusX", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_EllipseArgs_FieldNumber_RadiusX, - .hasIndex = 2, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_EllipseArgs__storage_, radiusX), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeFloat, - }, - { - .name = "radiusY", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_EllipseArgs_FieldNumber_RadiusY, - .hasIndex = 3, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_EllipseArgs__storage_, radiusY), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeFloat, - }, - }; - GPBDescriptor *localDescriptor = + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "x", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_EllipseArgs_FieldNumber_X, + .hasIndex = 0, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_EllipseArgs__storage_, x), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "y", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_EllipseArgs_FieldNumber_Y, + .hasIndex = 1, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_EllipseArgs__storage_, y), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "radiusX", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_EllipseArgs_FieldNumber_RadiusX, + .hasIndex = 2, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_EllipseArgs__storage_, radiusX), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeFloat, + }, + { + .name = "radiusY", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_EllipseArgs_FieldNumber_RadiusY, + .hasIndex = 3, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_EllipseArgs__storage_, radiusY), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeFloat, + }, + }; + GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[SVGAProtoShapeEntity_EllipseArgs class] rootClass:[SVGAProtoSvgaRoot class] file:SVGAProtoSvgaRoot_FileDescriptor() @@ -808,15 +827,15 @@ + (GPBDescriptor *)descriptor { storageSize:sizeof(SVGAProtoShapeEntity_EllipseArgs__storage_) flags:GPBDescriptorInitializationFlag_None]; #if !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS - static const char *extraTextFormatInfo = + static const char *extraTextFormatInfo = "\002\003\007\000\004\007\000"; - [localDescriptor setupExtraTextInfo:extraTextFormatInfo]; + [localDescriptor setupExtraTextInfo:extraTextFormatInfo]; #endif // !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS - [localDescriptor setupContainingMessageClassName:GPBStringifySymbol(SVGAProtoShapeEntity)]; - NSAssert(descriptor == nil, @"Startup recursed!"); - descriptor = localDescriptor; - } - return descriptor; + [localDescriptor setupContainingMessageClassName:GPBStringifySymbol(SVGAProtoShapeEntity)]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; } @end @@ -836,107 +855,107 @@ @implementation SVGAProtoShapeEntity_ShapeStyle @dynamic lineDashIii; typedef struct SVGAProtoShapeEntity_ShapeStyle__storage_ { - uint32_t _has_storage_[1]; - float strokeWidth; - SVGAProtoShapeEntity_ShapeStyle_LineCap lineCap; - SVGAProtoShapeEntity_ShapeStyle_LineJoin lineJoin; - float miterLimit; - float lineDashI; - float lineDashIi; - float lineDashIii; - SVGAProtoShapeEntity_ShapeStyle_RGBAColor *fill; - SVGAProtoShapeEntity_ShapeStyle_RGBAColor *stroke; + uint32_t _has_storage_[1]; + float strokeWidth; + SVGAProtoShapeEntity_ShapeStyle_LineCap lineCap; + SVGAProtoShapeEntity_ShapeStyle_LineJoin lineJoin; + float miterLimit; + float lineDashI; + float lineDashIi; + float lineDashIii; + SVGAProtoShapeEntity_ShapeStyle_RGBAColor *fill; + SVGAProtoShapeEntity_ShapeStyle_RGBAColor *stroke; } SVGAProtoShapeEntity_ShapeStyle__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { - static GPBDescriptor *descriptor = nil; - if (!descriptor) { - static GPBMessageFieldDescription fields[] = { - { - .name = "fill", - .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoShapeEntity_ShapeStyle_RGBAColor), - .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_Fill, - .hasIndex = 0, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, fill), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - { - .name = "stroke", - .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoShapeEntity_ShapeStyle_RGBAColor), - .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_Stroke, - .hasIndex = 1, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, stroke), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - { - .name = "strokeWidth", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_StrokeWidth, - .hasIndex = 2, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, strokeWidth), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeFloat, - }, - { - .name = "lineCap", - .dataTypeSpecific.enumDescFunc = SVGAProtoShapeEntity_ShapeStyle_LineCap_EnumDescriptor, - .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineCap, - .hasIndex = 3, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, lineCap), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom | GPBFieldHasEnumDescriptor), - .dataType = GPBDataTypeEnum, - }, - { - .name = "lineJoin", - .dataTypeSpecific.enumDescFunc = SVGAProtoShapeEntity_ShapeStyle_LineJoin_EnumDescriptor, - .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineJoin, - .hasIndex = 4, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, lineJoin), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom | GPBFieldHasEnumDescriptor), - .dataType = GPBDataTypeEnum, - }, - { - .name = "miterLimit", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_MiterLimit, - .hasIndex = 5, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, miterLimit), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeFloat, - }, - { - .name = "lineDashI", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineDashI, - .hasIndex = 6, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, lineDashI), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeFloat, - }, - { - .name = "lineDashIi", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineDashIi, - .hasIndex = 7, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, lineDashIi), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeFloat, - }, - { - .name = "lineDashIii", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineDashIii, - .hasIndex = 8, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, lineDashIii), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeFloat, - }, - }; - GPBDescriptor *localDescriptor = + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "fill", + .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoShapeEntity_ShapeStyle_RGBAColor), + .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_Fill, + .hasIndex = 0, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, fill), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "stroke", + .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoShapeEntity_ShapeStyle_RGBAColor), + .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_Stroke, + .hasIndex = 1, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, stroke), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "strokeWidth", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_StrokeWidth, + .hasIndex = 2, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, strokeWidth), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeFloat, + }, + { + .name = "lineCap", + .dataTypeSpecific.enumDescFunc = SVGAProtoShapeEntity_ShapeStyle_LineCap_EnumDescriptor, + .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineCap, + .hasIndex = 3, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, lineCap), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom | GPBFieldHasEnumDescriptor), + .dataType = GPBDataTypeEnum, + }, + { + .name = "lineJoin", + .dataTypeSpecific.enumDescFunc = SVGAProtoShapeEntity_ShapeStyle_LineJoin_EnumDescriptor, + .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineJoin, + .hasIndex = 4, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, lineJoin), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom | GPBFieldHasEnumDescriptor), + .dataType = GPBDataTypeEnum, + }, + { + .name = "miterLimit", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_MiterLimit, + .hasIndex = 5, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, miterLimit), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeFloat, + }, + { + .name = "lineDashI", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineDashI, + .hasIndex = 6, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, lineDashI), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeFloat, + }, + { + .name = "lineDashIi", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineDashIi, + .hasIndex = 7, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, lineDashIi), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeFloat, + }, + { + .name = "lineDashIii", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineDashIii, + .hasIndex = 8, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, lineDashIii), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeFloat, + }, + }; + GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[SVGAProtoShapeEntity_ShapeStyle class] rootClass:[SVGAProtoSvgaRoot class] file:SVGAProtoSvgaRoot_FileDescriptor() @@ -945,120 +964,118 @@ + (GPBDescriptor *)descriptor { storageSize:sizeof(SVGAProtoShapeEntity_ShapeStyle__storage_) flags:GPBDescriptorInitializationFlag_None]; #if !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS - static const char *extraTextFormatInfo = + static const char *extraTextFormatInfo = "\007\003\013\000\004\007\000\005\010\000\006\n\000\007\t\000\010\tA\000\t\tb\000"; - [localDescriptor setupExtraTextInfo:extraTextFormatInfo]; + [localDescriptor setupExtraTextInfo:extraTextFormatInfo]; #endif // !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS - [localDescriptor setupContainingMessageClassName:GPBStringifySymbol(SVGAProtoShapeEntity)]; - NSAssert(descriptor == nil, @"Startup recursed!"); - descriptor = localDescriptor; - } - return descriptor; + [localDescriptor setupContainingMessageClassName:GPBStringifySymbol(SVGAProtoShapeEntity)]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; } @end int32_t SVGAProtoShapeEntity_ShapeStyle_LineCap_RawValue(SVGAProtoShapeEntity_ShapeStyle *message) { - GPBDescriptor *descriptor = [SVGAProtoShapeEntity_ShapeStyle descriptor]; - GPBFieldDescriptor *field = [descriptor fieldWithNumber:SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineCap]; - return GPBGetMessageInt32Field(message, field); + GPBDescriptor *descriptor = [SVGAProtoShapeEntity_ShapeStyle descriptor]; + GPBFieldDescriptor *field = [descriptor fieldWithNumber:SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineCap]; + return GPBGetMessageInt32Field(message, field); } void SetSVGAProtoShapeEntity_ShapeStyle_LineCap_RawValue(SVGAProtoShapeEntity_ShapeStyle *message, int32_t value) { - GPBDescriptor *descriptor = [SVGAProtoShapeEntity_ShapeStyle descriptor]; - GPBFieldDescriptor *field = [descriptor fieldWithNumber:SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineCap]; - GPBSetInt32IvarWithFieldInternal(message, field, value, descriptor.file.syntax); + GPBDescriptor *descriptor = [SVGAProtoShapeEntity_ShapeStyle descriptor]; + GPBFieldDescriptor *field = [descriptor fieldWithNumber:SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineCap]; + GPBSetInt32IvarWithFieldInternal(message, field, value, descriptor.file.syntax); } int32_t SVGAProtoShapeEntity_ShapeStyle_LineJoin_RawValue(SVGAProtoShapeEntity_ShapeStyle *message) { - GPBDescriptor *descriptor = [SVGAProtoShapeEntity_ShapeStyle descriptor]; - GPBFieldDescriptor *field = [descriptor fieldWithNumber:SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineJoin]; - return GPBGetMessageInt32Field(message, field); + GPBDescriptor *descriptor = [SVGAProtoShapeEntity_ShapeStyle descriptor]; + GPBFieldDescriptor *field = [descriptor fieldWithNumber:SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineJoin]; + return GPBGetMessageInt32Field(message, field); } void SetSVGAProtoShapeEntity_ShapeStyle_LineJoin_RawValue(SVGAProtoShapeEntity_ShapeStyle *message, int32_t value) { - GPBDescriptor *descriptor = [SVGAProtoShapeEntity_ShapeStyle descriptor]; - GPBFieldDescriptor *field = [descriptor fieldWithNumber:SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineJoin]; - GPBSetInt32IvarWithFieldInternal(message, field, value, descriptor.file.syntax); + GPBDescriptor *descriptor = [SVGAProtoShapeEntity_ShapeStyle descriptor]; + GPBFieldDescriptor *field = [descriptor fieldWithNumber:SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineJoin]; + GPBSetInt32IvarWithFieldInternal(message, field, value, descriptor.file.syntax); } #pragma mark - Enum SVGAProtoShapeEntity_ShapeStyle_LineCap GPBEnumDescriptor *SVGAProtoShapeEntity_ShapeStyle_LineCap_EnumDescriptor(void) { - static _Atomic(GPBEnumDescriptor*) descriptor = nil; - if (!descriptor) { - static const char *valueNames = + static GPBEnumDescriptor *descriptor = NULL; + if (!descriptor) { + static const char *valueNames = "LineCapButt\000LineCapRound\000LineCapSquare\000"; - static const int32_t values[] = { - SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapButt, - SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapRound, - SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapSquare, - }; - static const char *extraTextFormatInfo = "\003\000\007\344\000\001\007\345\000\002\007\346\000"; - GPBEnumDescriptor *worker = + static const int32_t values[] = { + SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapButt, + SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapRound, + SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapSquare, + }; + static const char *extraTextFormatInfo = "\003\000\007\344\000\001\007\345\000\002\007\346\000"; + GPBEnumDescriptor *worker = [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(SVGAProtoShapeEntity_ShapeStyle_LineCap) valueNames:valueNames values:values count:(uint32_t)(sizeof(values) / sizeof(int32_t)) enumVerifier:SVGAProtoShapeEntity_ShapeStyle_LineCap_IsValidValue extraTextFormatInfo:extraTextFormatInfo]; - GPBEnumDescriptor *expected = nil; - if (!atomic_compare_exchange_strong(&descriptor, &expected, worker)) { - [worker release]; + if (!OSAtomicCompareAndSwapPtrBarrier(nil, worker, (void * volatile *)&descriptor)) { + [worker release]; + } } - } - return descriptor; + return descriptor; } BOOL SVGAProtoShapeEntity_ShapeStyle_LineCap_IsValidValue(int32_t value__) { - switch (value__) { - case SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapButt: - case SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapRound: - case SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapSquare: - return YES; - default: - return NO; - } + switch (value__) { + case SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapButt: + case SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapRound: + case SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapSquare: + return YES; + default: + return NO; + } } #pragma mark - Enum SVGAProtoShapeEntity_ShapeStyle_LineJoin GPBEnumDescriptor *SVGAProtoShapeEntity_ShapeStyle_LineJoin_EnumDescriptor(void) { - static _Atomic(GPBEnumDescriptor*) descriptor = nil; - if (!descriptor) { - static const char *valueNames = + static GPBEnumDescriptor *descriptor = NULL; + if (!descriptor) { + static const char *valueNames = "LineJoinMiter\000LineJoinRound\000LineJoinBeve" "l\000"; - static const int32_t values[] = { - SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinMiter, - SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinRound, - SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinBevel, - }; - static const char *extraTextFormatInfo = "\003\000\010\345\000\001\010\345\000\002\010\345\000"; - GPBEnumDescriptor *worker = + static const int32_t values[] = { + SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinMiter, + SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinRound, + SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinBevel, + }; + static const char *extraTextFormatInfo = "\003\000\010\345\000\001\010\345\000\002\010\345\000"; + GPBEnumDescriptor *worker = [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(SVGAProtoShapeEntity_ShapeStyle_LineJoin) valueNames:valueNames values:values count:(uint32_t)(sizeof(values) / sizeof(int32_t)) enumVerifier:SVGAProtoShapeEntity_ShapeStyle_LineJoin_IsValidValue extraTextFormatInfo:extraTextFormatInfo]; - GPBEnumDescriptor *expected = nil; - if (!atomic_compare_exchange_strong(&descriptor, &expected, worker)) { - [worker release]; + if (!OSAtomicCompareAndSwapPtrBarrier(nil, worker, (void * volatile *)&descriptor)) { + [worker release]; + } } - } - return descriptor; + return descriptor; } BOOL SVGAProtoShapeEntity_ShapeStyle_LineJoin_IsValidValue(int32_t value__) { - switch (value__) { - case SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinMiter: - case SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinRound: - case SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinBevel: - return YES; - default: - return NO; - } + switch (value__) { + case SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinMiter: + case SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinRound: + case SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinBevel: + return YES; + default: + return NO; + } } #pragma mark - SVGAProtoShapeEntity_ShapeStyle_RGBAColor @@ -1071,57 +1088,57 @@ @implementation SVGAProtoShapeEntity_ShapeStyle_RGBAColor @dynamic a; typedef struct SVGAProtoShapeEntity_ShapeStyle_RGBAColor__storage_ { - uint32_t _has_storage_[1]; - float r; - float g; - float b; - float a; + uint32_t _has_storage_[1]; + float r; + float g; + float b; + float a; } SVGAProtoShapeEntity_ShapeStyle_RGBAColor__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { - static GPBDescriptor *descriptor = nil; - if (!descriptor) { - static GPBMessageFieldDescription fields[] = { - { - .name = "r", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber_R, - .hasIndex = 0, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle_RGBAColor__storage_, r), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "g", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber_G, - .hasIndex = 1, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle_RGBAColor__storage_, g), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "b", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber_B, - .hasIndex = 2, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle_RGBAColor__storage_, b), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "a", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber_A, - .hasIndex = 3, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle_RGBAColor__storage_, a), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - }; - GPBDescriptor *localDescriptor = + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "r", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber_R, + .hasIndex = 0, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle_RGBAColor__storage_, r), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "g", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber_G, + .hasIndex = 1, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle_RGBAColor__storage_, g), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "b", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber_B, + .hasIndex = 2, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle_RGBAColor__storage_, b), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "a", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber_A, + .hasIndex = 3, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle_RGBAColor__storage_, a), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + }; + GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[SVGAProtoShapeEntity_ShapeStyle_RGBAColor class] rootClass:[SVGAProtoSvgaRoot class] file:SVGAProtoSvgaRoot_FileDescriptor() @@ -1129,11 +1146,11 @@ + (GPBDescriptor *)descriptor { fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) storageSize:sizeof(SVGAProtoShapeEntity_ShapeStyle_RGBAColor__storage_) flags:GPBDescriptorInitializationFlag_None]; - [localDescriptor setupContainingMessageClassName:GPBStringifySymbol(SVGAProtoShapeEntity_ShapeStyle)]; - NSAssert(descriptor == nil, @"Startup recursed!"); - descriptor = localDescriptor; - } - return descriptor; + [localDescriptor setupContainingMessageClassName:GPBStringifySymbol(SVGAProtoShapeEntity_ShapeStyle)]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; } @end @@ -1149,67 +1166,67 @@ @implementation SVGAProtoFrameEntity @dynamic shapesArray, shapesArray_Count; typedef struct SVGAProtoFrameEntity__storage_ { - uint32_t _has_storage_[1]; - float alpha; - SVGAProtoLayout *layout; - SVGAProtoTransform *transform; - NSString *clipPath; - NSMutableArray *shapesArray; + uint32_t _has_storage_[1]; + float alpha; + SVGAProtoLayout *layout; + SVGAProtoTransform *transform; + NSString *clipPath; + NSMutableArray *shapesArray; } SVGAProtoFrameEntity__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { - static GPBDescriptor *descriptor = nil; - if (!descriptor) { - static GPBMessageFieldDescription fields[] = { - { - .name = "alpha", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoFrameEntity_FieldNumber_Alpha, - .hasIndex = 0, - .offset = (uint32_t)offsetof(SVGAProtoFrameEntity__storage_, alpha), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "layout", - .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoLayout), - .number = SVGAProtoFrameEntity_FieldNumber_Layout, - .hasIndex = 1, - .offset = (uint32_t)offsetof(SVGAProtoFrameEntity__storage_, layout), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - { - .name = "transform", - .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoTransform), - .number = SVGAProtoFrameEntity_FieldNumber_Transform, - .hasIndex = 2, - .offset = (uint32_t)offsetof(SVGAProtoFrameEntity__storage_, transform), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - { - .name = "clipPath", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoFrameEntity_FieldNumber_ClipPath, - .hasIndex = 3, - .offset = (uint32_t)offsetof(SVGAProtoFrameEntity__storage_, clipPath), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeString, - }, - { - .name = "shapesArray", - .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoShapeEntity), - .number = SVGAProtoFrameEntity_FieldNumber_ShapesArray, - .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(SVGAProtoFrameEntity__storage_, shapesArray), - .flags = GPBFieldRepeated, - .dataType = GPBDataTypeMessage, - }, - }; - GPBDescriptor *localDescriptor = + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "alpha", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoFrameEntity_FieldNumber_Alpha, + .hasIndex = 0, + .offset = (uint32_t)offsetof(SVGAProtoFrameEntity__storage_, alpha), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "layout", + .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoLayout), + .number = SVGAProtoFrameEntity_FieldNumber_Layout, + .hasIndex = 1, + .offset = (uint32_t)offsetof(SVGAProtoFrameEntity__storage_, layout), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "transform", + .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoTransform), + .number = SVGAProtoFrameEntity_FieldNumber_Transform, + .hasIndex = 2, + .offset = (uint32_t)offsetof(SVGAProtoFrameEntity__storage_, transform), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "clipPath", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoFrameEntity_FieldNumber_ClipPath, + .hasIndex = 3, + .offset = (uint32_t)offsetof(SVGAProtoFrameEntity__storage_, clipPath), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeString, + }, + { + .name = "shapesArray", + .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoShapeEntity), + .number = SVGAProtoFrameEntity_FieldNumber_ShapesArray, + .hasIndex = GPBNoHasBit, + .offset = (uint32_t)offsetof(SVGAProtoFrameEntity__storage_, shapesArray), + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[SVGAProtoFrameEntity class] rootClass:[SVGAProtoSvgaRoot class] file:SVGAProtoSvgaRoot_FileDescriptor() @@ -1218,14 +1235,14 @@ + (GPBDescriptor *)descriptor { storageSize:sizeof(SVGAProtoFrameEntity__storage_) flags:GPBDescriptorInitializationFlag_None]; #if !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS - static const char *extraTextFormatInfo = + static const char *extraTextFormatInfo = "\001\004\010\000"; - [localDescriptor setupExtraTextInfo:extraTextFormatInfo]; + [localDescriptor setupExtraTextInfo:extraTextFormatInfo]; #endif // !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS - NSAssert(descriptor == nil, @"Startup recursed!"); - descriptor = localDescriptor; - } - return descriptor; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; } @end @@ -1241,67 +1258,67 @@ @implementation SVGAProtoMovieEntity @dynamic audiosArray, audiosArray_Count; typedef struct SVGAProtoMovieEntity__storage_ { - uint32_t _has_storage_[1]; - NSString *version; - SVGAProtoMovieParams *params; - NSMutableDictionary *images; - NSMutableArray *spritesArray; - NSMutableArray *audiosArray; + uint32_t _has_storage_[1]; + NSString *version; + SVGAProtoMovieParams *params; + NSMutableDictionary *images; + NSMutableArray *spritesArray; + NSMutableArray *audiosArray; } SVGAProtoMovieEntity__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { - static GPBDescriptor *descriptor = nil; - if (!descriptor) { - static GPBMessageFieldDescription fields[] = { - { - .name = "version", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoMovieEntity_FieldNumber_Version, - .hasIndex = 0, - .offset = (uint32_t)offsetof(SVGAProtoMovieEntity__storage_, version), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeString, - }, - { - .name = "params", - .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoMovieParams), - .number = SVGAProtoMovieEntity_FieldNumber_Params, - .hasIndex = 1, - .offset = (uint32_t)offsetof(SVGAProtoMovieEntity__storage_, params), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - { - .name = "images", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoMovieEntity_FieldNumber_Images, - .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(SVGAProtoMovieEntity__storage_, images), - .flags = GPBFieldMapKeyString, - .dataType = GPBDataTypeBytes, - }, - { - .name = "spritesArray", - .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoSpriteEntity), - .number = SVGAProtoMovieEntity_FieldNumber_SpritesArray, - .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(SVGAProtoMovieEntity__storage_, spritesArray), - .flags = GPBFieldRepeated, - .dataType = GPBDataTypeMessage, - }, - { - .name = "audiosArray", - .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoAudioEntity), - .number = SVGAProtoMovieEntity_FieldNumber_AudiosArray, - .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(SVGAProtoMovieEntity__storage_, audiosArray), - .flags = GPBFieldRepeated, - .dataType = GPBDataTypeMessage, - }, - }; - GPBDescriptor *localDescriptor = + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "version", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoMovieEntity_FieldNumber_Version, + .hasIndex = 0, + .offset = (uint32_t)offsetof(SVGAProtoMovieEntity__storage_, version), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeString, + }, + { + .name = "params", + .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoMovieParams), + .number = SVGAProtoMovieEntity_FieldNumber_Params, + .hasIndex = 1, + .offset = (uint32_t)offsetof(SVGAProtoMovieEntity__storage_, params), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "images", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoMovieEntity_FieldNumber_Images, + .hasIndex = GPBNoHasBit, + .offset = (uint32_t)offsetof(SVGAProtoMovieEntity__storage_, images), + .flags = GPBFieldMapKeyString, + .dataType = GPBDataTypeBytes, + }, + { + .name = "spritesArray", + .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoSpriteEntity), + .number = SVGAProtoMovieEntity_FieldNumber_SpritesArray, + .hasIndex = GPBNoHasBit, + .offset = (uint32_t)offsetof(SVGAProtoMovieEntity__storage_, spritesArray), + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + }, + { + .name = "audiosArray", + .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoAudioEntity), + .number = SVGAProtoMovieEntity_FieldNumber_AudiosArray, + .hasIndex = GPBNoHasBit, + .offset = (uint32_t)offsetof(SVGAProtoMovieEntity__storage_, audiosArray), + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[SVGAProtoMovieEntity class] rootClass:[SVGAProtoSvgaRoot class] file:SVGAProtoSvgaRoot_FileDescriptor() @@ -1309,10 +1326,10 @@ + (GPBDescriptor *)descriptor { fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) storageSize:sizeof(SVGAProtoMovieEntity__storage_) flags:GPBDescriptorInitializationFlag_None]; - NSAssert(descriptor == nil, @"Startup recursed!"); - descriptor = localDescriptor; - } - return descriptor; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; } @end From b303672d081e40acaeb46427bf4788a0fd17c406 Mon Sep 17 00:00:00 2001 From: errnull Date: Mon, 3 Jun 2019 23:14:08 +0800 Subject: [PATCH 029/104] feat: update pods version. --- SVGAPlayer-React.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SVGAPlayer-React.podspec b/SVGAPlayer-React.podspec index 8d2f94ab..e4b89306 100644 --- a/SVGAPlayer-React.podspec +++ b/SVGAPlayer-React.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = "SVGAPlayer" - s.version = "2.3.4" + s.version = "2.4.0" s.summary = "SVGAPlayer 是一个高性能的动画播放器" s.description = <<-DESC SVGA 是一个私有的动画格式,由 YY UED 主导开发。 From bc2de2a56054bb78b33df970254397c17cfdda11 Mon Sep 17 00:00:00 2001 From: errnull Date: Mon, 10 Jun 2019 18:00:46 +0800 Subject: [PATCH 030/104] fix: update 2.x proto support for matte. --- Source/pbobjc/Svga.pbobjc.h | 12 ++++++------ Source/pbobjc/Svga.pbobjc.m | 26 +++++++++++++------------- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/Source/pbobjc/Svga.pbobjc.h b/Source/pbobjc/Svga.pbobjc.h index 89b48fc4..7eb12ddd 100644 --- a/Source/pbobjc/Svga.pbobjc.h +++ b/Source/pbobjc/Svga.pbobjc.h @@ -159,16 +159,13 @@ typedef GPB_ENUM(SVGAProtoMovieParams_FieldNumber) { #pragma mark - SVGAProtoSpriteEntity typedef GPB_ENUM(SVGAProtoSpriteEntity_FieldNumber) { - SVGAProtoSpriteEntity_FieldNumber_MatteKey = 1, - SVGAProtoSpriteEntity_FieldNumber_ImageKey = 2, - SVGAProtoSpriteEntity_FieldNumber_FramesArray = 3, + SVGAProtoSpriteEntity_FieldNumber_ImageKey = 1, + SVGAProtoSpriteEntity_FieldNumber_FramesArray = 2, + SVGAProtoSpriteEntity_FieldNumber_MatteKey = 3, }; @interface SVGAProtoSpriteEntity : GPBMessage -/** 元件所对应的位图键名, 如果 imageKey 含有 .vector 后缀,该 sprite 为矢量图层。 */ -@property(nonatomic, readwrite, copy, null_resettable) NSString *matteKey; - /** 元件所对应的位图键名, 如果 imageKey 含有 .vector 后缀,该 sprite 为矢量图层 含有 .matte 后缀,该 sprite 为遮罩图层。 */ @property(nonatomic, readwrite, copy, null_resettable) NSString *imageKey; @@ -177,6 +174,9 @@ typedef GPB_ENUM(SVGAProtoSpriteEntity_FieldNumber) { /** The number of items in @c framesArray without causing the array to be created. */ @property(nonatomic, readonly) NSUInteger framesArray_Count; +/** 元件所对应的位图键名, 如果 imageKey 含有 .vector 后缀,该 sprite 为矢量图层。 */ +@property(nonatomic, readwrite, copy, null_resettable) NSString *matteKey; + @end #pragma mark - SVGAProtoAudioEntity diff --git a/Source/pbobjc/Svga.pbobjc.m b/Source/pbobjc/Svga.pbobjc.m index 7d1027fd..3fd8e4d7 100644 --- a/Source/pbobjc/Svga.pbobjc.m +++ b/Source/pbobjc/Svga.pbobjc.m @@ -129,15 +129,15 @@ + (GPBDescriptor *)descriptor { @implementation SVGAProtoSpriteEntity -@dynamic matteKey; @dynamic imageKey; @dynamic framesArray, framesArray_Count; +@dynamic matteKey; typedef struct SVGAProtoSpriteEntity__storage_ { uint32_t _has_storage_[1]; - NSString *matteKey; NSString *imageKey; NSMutableArray *framesArray; + NSString *matteKey; } SVGAProtoSpriteEntity__storage_; // This method is threadsafe because it is initially called @@ -146,20 +146,11 @@ + (GPBDescriptor *)descriptor { static GPBDescriptor *descriptor = nil; if (!descriptor) { static GPBMessageFieldDescription fields[] = { - { - .name = "matteKey", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoSpriteEntity_FieldNumber_MatteKey, - .hasIndex = 0, - .offset = (uint32_t)offsetof(SVGAProtoSpriteEntity__storage_, matteKey), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeString, - }, { .name = "imageKey", .dataTypeSpecific.className = NULL, .number = SVGAProtoSpriteEntity_FieldNumber_ImageKey, - .hasIndex = 1, + .hasIndex = 0, .offset = (uint32_t)offsetof(SVGAProtoSpriteEntity__storage_, imageKey), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), .dataType = GPBDataTypeString, @@ -173,6 +164,15 @@ + (GPBDescriptor *)descriptor { .flags = GPBFieldRepeated, .dataType = GPBDataTypeMessage, }, + { + .name = "matteKey", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoSpriteEntity_FieldNumber_MatteKey, + .hasIndex = 1, + .offset = (uint32_t)offsetof(SVGAProtoSpriteEntity__storage_, matteKey), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeString, + }, }; GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[SVGAProtoSpriteEntity class] @@ -184,7 +184,7 @@ + (GPBDescriptor *)descriptor { flags:GPBDescriptorInitializationFlag_None]; #if !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS static const char *extraTextFormatInfo = - "\002\001\010\000\002\010\000"; + "\002\001\010\000\003\010\000"; [localDescriptor setupExtraTextInfo:extraTextFormatInfo]; #endif // !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS NSAssert(descriptor == nil, @"Startup recursed!"); From c1bc56e15d9e4b4c0bc0e03381d53ebc8b12e3ec Mon Sep 17 00:00:00 2001 From: PonyCui Date: Mon, 10 Jun 2019 18:42:59 +0800 Subject: [PATCH 031/104] Revert "fix: update 2.x proto support for matte." This reverts commit bc2de2a56054bb78b33df970254397c17cfdda11. --- Source/pbobjc/Svga.pbobjc.h | 12 ++++++------ Source/pbobjc/Svga.pbobjc.m | 26 +++++++++++++------------- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/Source/pbobjc/Svga.pbobjc.h b/Source/pbobjc/Svga.pbobjc.h index 7eb12ddd..89b48fc4 100644 --- a/Source/pbobjc/Svga.pbobjc.h +++ b/Source/pbobjc/Svga.pbobjc.h @@ -159,13 +159,16 @@ typedef GPB_ENUM(SVGAProtoMovieParams_FieldNumber) { #pragma mark - SVGAProtoSpriteEntity typedef GPB_ENUM(SVGAProtoSpriteEntity_FieldNumber) { - SVGAProtoSpriteEntity_FieldNumber_ImageKey = 1, - SVGAProtoSpriteEntity_FieldNumber_FramesArray = 2, - SVGAProtoSpriteEntity_FieldNumber_MatteKey = 3, + SVGAProtoSpriteEntity_FieldNumber_MatteKey = 1, + SVGAProtoSpriteEntity_FieldNumber_ImageKey = 2, + SVGAProtoSpriteEntity_FieldNumber_FramesArray = 3, }; @interface SVGAProtoSpriteEntity : GPBMessage +/** 元件所对应的位图键名, 如果 imageKey 含有 .vector 后缀,该 sprite 为矢量图层。 */ +@property(nonatomic, readwrite, copy, null_resettable) NSString *matteKey; + /** 元件所对应的位图键名, 如果 imageKey 含有 .vector 后缀,该 sprite 为矢量图层 含有 .matte 后缀,该 sprite 为遮罩图层。 */ @property(nonatomic, readwrite, copy, null_resettable) NSString *imageKey; @@ -174,9 +177,6 @@ typedef GPB_ENUM(SVGAProtoSpriteEntity_FieldNumber) { /** The number of items in @c framesArray without causing the array to be created. */ @property(nonatomic, readonly) NSUInteger framesArray_Count; -/** 元件所对应的位图键名, 如果 imageKey 含有 .vector 后缀,该 sprite 为矢量图层。 */ -@property(nonatomic, readwrite, copy, null_resettable) NSString *matteKey; - @end #pragma mark - SVGAProtoAudioEntity diff --git a/Source/pbobjc/Svga.pbobjc.m b/Source/pbobjc/Svga.pbobjc.m index 3fd8e4d7..7d1027fd 100644 --- a/Source/pbobjc/Svga.pbobjc.m +++ b/Source/pbobjc/Svga.pbobjc.m @@ -129,15 +129,15 @@ + (GPBDescriptor *)descriptor { @implementation SVGAProtoSpriteEntity +@dynamic matteKey; @dynamic imageKey; @dynamic framesArray, framesArray_Count; -@dynamic matteKey; typedef struct SVGAProtoSpriteEntity__storage_ { uint32_t _has_storage_[1]; + NSString *matteKey; NSString *imageKey; NSMutableArray *framesArray; - NSString *matteKey; } SVGAProtoSpriteEntity__storage_; // This method is threadsafe because it is initially called @@ -146,11 +146,20 @@ + (GPBDescriptor *)descriptor { static GPBDescriptor *descriptor = nil; if (!descriptor) { static GPBMessageFieldDescription fields[] = { + { + .name = "matteKey", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoSpriteEntity_FieldNumber_MatteKey, + .hasIndex = 0, + .offset = (uint32_t)offsetof(SVGAProtoSpriteEntity__storage_, matteKey), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeString, + }, { .name = "imageKey", .dataTypeSpecific.className = NULL, .number = SVGAProtoSpriteEntity_FieldNumber_ImageKey, - .hasIndex = 0, + .hasIndex = 1, .offset = (uint32_t)offsetof(SVGAProtoSpriteEntity__storage_, imageKey), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), .dataType = GPBDataTypeString, @@ -164,15 +173,6 @@ + (GPBDescriptor *)descriptor { .flags = GPBFieldRepeated, .dataType = GPBDataTypeMessage, }, - { - .name = "matteKey", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoSpriteEntity_FieldNumber_MatteKey, - .hasIndex = 1, - .offset = (uint32_t)offsetof(SVGAProtoSpriteEntity__storage_, matteKey), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeString, - }, }; GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[SVGAProtoSpriteEntity class] @@ -184,7 +184,7 @@ + (GPBDescriptor *)descriptor { flags:GPBDescriptorInitializationFlag_None]; #if !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS static const char *extraTextFormatInfo = - "\002\001\010\000\003\010\000"; + "\002\001\010\000\002\010\000"; [localDescriptor setupExtraTextInfo:extraTextFormatInfo]; #endif // !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS NSAssert(descriptor == nil, @"Startup recursed!"); From 0fbd9bd5c772dfff3bd90932cd40985652b3ddd4 Mon Sep 17 00:00:00 2001 From: PonyCui Date: Mon, 10 Jun 2019 18:43:03 +0800 Subject: [PATCH 032/104] Revert "feat: update pods version." This reverts commit b303672d081e40acaeb46427bf4788a0fd17c406. --- SVGAPlayer-React.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SVGAPlayer-React.podspec b/SVGAPlayer-React.podspec index e4b89306..8d2f94ab 100644 --- a/SVGAPlayer-React.podspec +++ b/SVGAPlayer-React.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = "SVGAPlayer" - s.version = "2.4.0" + s.version = "2.3.4" s.summary = "SVGAPlayer 是一个高性能的动画播放器" s.description = <<-DESC SVGA 是一个私有的动画格式,由 YY UED 主导开发。 From 5936c014a7b4e71a6de144d41b5a9bc8811c8e7d Mon Sep 17 00:00:00 2001 From: PonyCui Date: Mon, 10 Jun 2019 18:43:07 +0800 Subject: [PATCH 033/104] Revert "feat: add 2.x proto support for matte." This reverts commit 527e76fa1e113c368f043f2436ef0e28499e6886. --- Podfile.lock | 2 +- SVGAPlayer.xcodeproj/project.pbxproj | 4 - SVGAPlayer/Samples/matte.svga | Bin 738 -> 0 bytes SVGAPlayer/ViewController.m | 2 +- Source/pbobjc/Svga.pbobjc.h | 210 ++-- Source/pbobjc/Svga.pbobjc.m | 1723 +++++++++++++------------- 6 files changed, 956 insertions(+), 985 deletions(-) delete mode 100644 SVGAPlayer/Samples/matte.svga diff --git a/Podfile.lock b/Podfile.lock index 1055b0a0..96533f8c 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -64,4 +64,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: 7f6714245d47e69d2933463289e4c4d6de65b831 -COCOAPODS: 1.6.1 +COCOAPODS: 1.6.0.beta.2 diff --git a/SVGAPlayer.xcodeproj/project.pbxproj b/SVGAPlayer.xcodeproj/project.pbxproj index 9bd14d1c..88bafe12 100644 --- a/SVGAPlayer.xcodeproj/project.pbxproj +++ b/SVGAPlayer.xcodeproj/project.pbxproj @@ -12,7 +12,6 @@ 63712E6821787A45001AE014 /* SVGAAudioEntity.m in Sources */ = {isa = PBXBuildFile; fileRef = 63712E6721787A45001AE014 /* SVGAAudioEntity.m */; }; 63E817012178809D001D2D62 /* SVGAAudioLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 63E817002178809D001D2D62 /* SVGAAudioLayer.m */; }; 71418C93225E6F710029C69E /* mutiMatte.svga in Resources */ = {isa = PBXBuildFile; fileRef = 71418C92225E6F710029C69E /* mutiMatte.svga */; }; - 716E430322A56EFD007E5871 /* matte.svga in Resources */ = {isa = PBXBuildFile; fileRef = 716E430222A56EFD007E5871 /* matte.svga */; }; 80D4C7254846B96B9C6EED83 /* libPods-SVGAPlayer.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DDA5FF396660C7C932DF9B8 /* libPods-SVGAPlayer.a */; }; 904D41F81D223DD20085A21A /* SVGABezierPath.m in Sources */ = {isa = PBXBuildFile; fileRef = 904D41F71D223DD20085A21A /* SVGABezierPath.m */; }; 9052FC631E6EB8D4007BC925 /* SVGAExporter.m in Sources */ = {isa = PBXBuildFile; fileRef = 9052FC621E6EB8D4007BC925 /* SVGAExporter.m */; }; @@ -66,7 +65,6 @@ 63E816FF2178809D001D2D62 /* SVGAAudioLayer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SVGAAudioLayer.h; sourceTree = ""; }; 63E817002178809D001D2D62 /* SVGAAudioLayer.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SVGAAudioLayer.m; sourceTree = ""; }; 71418C92225E6F710029C69E /* mutiMatte.svga */ = {isa = PBXFileReference; lastKnownFileType = file; path = mutiMatte.svga; sourceTree = ""; }; - 716E430222A56EFD007E5871 /* matte.svga */ = {isa = PBXFileReference; lastKnownFileType = file; path = matte.svga; sourceTree = ""; }; 8AD65028FA2D122A34DC4A63 /* Pods-SVGAPlayer.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SVGAPlayer.debug.xcconfig"; path = "Pods/Target Support Files/Pods-SVGAPlayer/Pods-SVGAPlayer.debug.xcconfig"; sourceTree = ""; }; 904D41F61D223DD20085A21A /* SVGABezierPath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGABezierPath.h; sourceTree = ""; }; 904D41F71D223DD20085A21A /* SVGABezierPath.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SVGABezierPath.m; sourceTree = ""; }; @@ -243,7 +241,6 @@ 90D7C9FA1F7E2AA3006E74F0 /* Samples */ = { isa = PBXGroup; children = ( - 716E430222A56EFD007E5871 /* matte.svga */, 71418C92225E6F710029C69E /* mutiMatte.svga */, 63712E6421787950001AE014 /* heartbeat.svga */, 90D7CA1A1F7FB114006E74F0 /* rose_1.5.0.svga */, @@ -361,7 +358,6 @@ 90CB64F91EF297E800DAA382 /* SVGAPlayer React-Info.plist in Resources */, 90D7CA1C1F7FB114006E74F0 /* rose_1.5.0.svga in Resources */, 90D7CA1B1F7FB114006E74F0 /* rose_2.0.0.svga in Resources */, - 716E430322A56EFD007E5871 /* matte.svga in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/SVGAPlayer/Samples/matte.svga b/SVGAPlayer/Samples/matte.svga deleted file mode 100644 index 13b560a43377305933522e2670a7963fdbc85078..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 738 zcmWIWW@h1HU|`^2*imuVukq&7xEv-1274(629RiOepzO!UU5Nc^4svUeU}Xc>YDaB zKP}GvX}+ym#r+6(!#9C#FU=OI2F`jL6uP(IiRg}xY%x0y-VWKrmaLvwe!17Hb;YI= zo2HyG|JZZo9yq6_9tKdHrfv%x4@)!gr1uUo@4*O{Sw`))1_4GMjEx`g}j!e#NjeE0YN z`Sa!Nho8qEzIJ!4F)w*9qBA*lqsN6Qz88#cKHEN(n>(p_;`V8oNB4SkrG3bXcJRvLZJ9d7Jg@AW$lgWCGLcTb62}h- zEPIlFXHUW6JO$a~y;olBo*$hrYyIa2*Ztjx=Qe%_oE}!yduPw8x0g0IKf77P`8iqm z{jFQMdL-8EyucefN7z@f(dL4w%dRP_f{*$uC_ z7qcu4+gie@#JWNJg_K&Xm(7~Gd5hS?H!jzYx7}{+X7;jl>U8n_^9s{ni_hNv+xgI1 zRX68tmaW|Dwm#mmI-`KU$68|kfx>w9JF7eTO_mqjKeXV&xfqG9*;==Qd1SIQu0Crj zZ<)MhpZ8^^)&eIB#X0pN=i=Y8|GD{=ed3dK(}GsioD%=x-o^I)z>emRoHE}_5A5yw z;Ze+GzgIpWNjY0{yUC*_Dc0p|UOTSL$v)U}#b>s0d3RL|YuVehgFjgPYtDcD&h@aR z;NRqe1&+3R=cexbZ6g)?ww^J-n~_Nboc^$ + #import #else -#import "GPBProtocolBuffers.h" + #import "GPBProtocolBuffers.h" #endif #if GOOGLE_PROTOBUF_OBJC_VERSION < 30002 @@ -45,23 +45,23 @@ NS_ASSUME_NONNULL_BEGIN #pragma mark - Enum SVGAProtoShapeEntity_ShapeType typedef GPB_ENUM(SVGAProtoShapeEntity_ShapeType) { - /** - * Value used if any message's field encounters a value that is not defined - * by this enum. The message will also have C functions to get/set the rawValue - * of the field. - **/ - SVGAProtoShapeEntity_ShapeType_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue, - /** 路径 */ - SVGAProtoShapeEntity_ShapeType_Shape = 0, - - /** 矩形 */ - SVGAProtoShapeEntity_ShapeType_Rect = 1, - - /** 圆形 */ - SVGAProtoShapeEntity_ShapeType_Ellipse = 2, - - /** 与前帧一致 */ - SVGAProtoShapeEntity_ShapeType_Keep = 3, + /** + * Value used if any message's field encounters a value that is not defined + * by this enum. The message will also have C functions to get/set the rawValue + * of the field. + **/ + SVGAProtoShapeEntity_ShapeType_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue, + /** 路径 */ + SVGAProtoShapeEntity_ShapeType_Shape = 0, + + /** 矩形 */ + SVGAProtoShapeEntity_ShapeType_Rect = 1, + + /** 圆形 */ + SVGAProtoShapeEntity_ShapeType_Ellipse = 2, + + /** 与前帧一致 */ + SVGAProtoShapeEntity_ShapeType_Keep = 3, }; GPBEnumDescriptor *SVGAProtoShapeEntity_ShapeType_EnumDescriptor(void); @@ -75,15 +75,15 @@ BOOL SVGAProtoShapeEntity_ShapeType_IsValidValue(int32_t value); #pragma mark - Enum SVGAProtoShapeEntity_ShapeStyle_LineCap typedef GPB_ENUM(SVGAProtoShapeEntity_ShapeStyle_LineCap) { - /** - * Value used if any message's field encounters a value that is not defined - * by this enum. The message will also have C functions to get/set the rawValue - * of the field. - **/ - SVGAProtoShapeEntity_ShapeStyle_LineCap_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue, - SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapButt = 0, - SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapRound = 1, - SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapSquare = 2, + /** + * Value used if any message's field encounters a value that is not defined + * by this enum. The message will also have C functions to get/set the rawValue + * of the field. + **/ + SVGAProtoShapeEntity_ShapeStyle_LineCap_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue, + SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapButt = 0, + SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapRound = 1, + SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapSquare = 2, }; GPBEnumDescriptor *SVGAProtoShapeEntity_ShapeStyle_LineCap_EnumDescriptor(void); @@ -97,15 +97,15 @@ BOOL SVGAProtoShapeEntity_ShapeStyle_LineCap_IsValidValue(int32_t value); #pragma mark - Enum SVGAProtoShapeEntity_ShapeStyle_LineJoin typedef GPB_ENUM(SVGAProtoShapeEntity_ShapeStyle_LineJoin) { - /** - * Value used if any message's field encounters a value that is not defined - * by this enum. The message will also have C functions to get/set the rawValue - * of the field. - **/ - SVGAProtoShapeEntity_ShapeStyle_LineJoin_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue, - SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinMiter = 0, - SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinRound = 1, - SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinBevel = 2, + /** + * Value used if any message's field encounters a value that is not defined + * by this enum. The message will also have C functions to get/set the rawValue + * of the field. + **/ + SVGAProtoShapeEntity_ShapeStyle_LineJoin_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue, + SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinMiter = 0, + SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinRound = 1, + SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinBevel = 2, }; GPBEnumDescriptor *SVGAProtoShapeEntity_ShapeStyle_LineJoin_EnumDescriptor(void); @@ -134,10 +134,10 @@ BOOL SVGAProtoShapeEntity_ShapeStyle_LineJoin_IsValidValue(int32_t value); #pragma mark - SVGAProtoMovieParams typedef GPB_ENUM(SVGAProtoMovieParams_FieldNumber) { - SVGAProtoMovieParams_FieldNumber_ViewBoxWidth = 1, - SVGAProtoMovieParams_FieldNumber_ViewBoxHeight = 2, - SVGAProtoMovieParams_FieldNumber_Fps = 3, - SVGAProtoMovieParams_FieldNumber_Frames = 4, + SVGAProtoMovieParams_FieldNumber_ViewBoxWidth = 1, + SVGAProtoMovieParams_FieldNumber_ViewBoxHeight = 2, + SVGAProtoMovieParams_FieldNumber_Fps = 3, + SVGAProtoMovieParams_FieldNumber_Frames = 4, }; @interface SVGAProtoMovieParams : GPBMessage @@ -159,17 +159,13 @@ typedef GPB_ENUM(SVGAProtoMovieParams_FieldNumber) { #pragma mark - SVGAProtoSpriteEntity typedef GPB_ENUM(SVGAProtoSpriteEntity_FieldNumber) { - SVGAProtoSpriteEntity_FieldNumber_MatteKey = 1, - SVGAProtoSpriteEntity_FieldNumber_ImageKey = 2, - SVGAProtoSpriteEntity_FieldNumber_FramesArray = 3, + SVGAProtoSpriteEntity_FieldNumber_ImageKey = 1, + SVGAProtoSpriteEntity_FieldNumber_FramesArray = 2, }; @interface SVGAProtoSpriteEntity : GPBMessage /** 元件所对应的位图键名, 如果 imageKey 含有 .vector 后缀,该 sprite 为矢量图层。 */ -@property(nonatomic, readwrite, copy, null_resettable) NSString *matteKey; - -/** 元件所对应的位图键名, 如果 imageKey 含有 .vector 后缀,该 sprite 为矢量图层 含有 .matte 后缀,该 sprite 为遮罩图层。 */ @property(nonatomic, readwrite, copy, null_resettable) NSString *imageKey; /** 帧列表 */ @@ -182,11 +178,10 @@ typedef GPB_ENUM(SVGAProtoSpriteEntity_FieldNumber) { #pragma mark - SVGAProtoAudioEntity typedef GPB_ENUM(SVGAProtoAudioEntity_FieldNumber) { - SVGAProtoAudioEntity_FieldNumber_AudioKey = 1, - SVGAProtoAudioEntity_FieldNumber_StartFrame = 2, - SVGAProtoAudioEntity_FieldNumber_EndFrame = 3, - SVGAProtoAudioEntity_FieldNumber_StartTime = 4, - SVGAProtoAudioEntity_FieldNumber_TotalTime = 5, + SVGAProtoAudioEntity_FieldNumber_AudioKey = 1, + SVGAProtoAudioEntity_FieldNumber_StartFrame = 2, + SVGAProtoAudioEntity_FieldNumber_EndFrame = 3, + SVGAProtoAudioEntity_FieldNumber_StartTime = 4, }; @interface SVGAProtoAudioEntity : GPBMessage @@ -203,18 +198,15 @@ typedef GPB_ENUM(SVGAProtoAudioEntity_FieldNumber) { /** 音频播放起始时间(相对音频长度) */ @property(nonatomic, readwrite) int32_t startTime; -/** 音频总长度 */ -@property(nonatomic, readwrite) int32_t totalTime; - @end #pragma mark - SVGAProtoLayout typedef GPB_ENUM(SVGAProtoLayout_FieldNumber) { - SVGAProtoLayout_FieldNumber_X = 1, - SVGAProtoLayout_FieldNumber_Y = 2, - SVGAProtoLayout_FieldNumber_Width = 3, - SVGAProtoLayout_FieldNumber_Height = 4, + SVGAProtoLayout_FieldNumber_X = 1, + SVGAProtoLayout_FieldNumber_Y = 2, + SVGAProtoLayout_FieldNumber_Width = 3, + SVGAProtoLayout_FieldNumber_Height = 4, }; @interface SVGAProtoLayout : GPBMessage @@ -232,12 +224,12 @@ typedef GPB_ENUM(SVGAProtoLayout_FieldNumber) { #pragma mark - SVGAProtoTransform typedef GPB_ENUM(SVGAProtoTransform_FieldNumber) { - SVGAProtoTransform_FieldNumber_A = 1, - SVGAProtoTransform_FieldNumber_B = 2, - SVGAProtoTransform_FieldNumber_C = 3, - SVGAProtoTransform_FieldNumber_D = 4, - SVGAProtoTransform_FieldNumber_Tx = 5, - SVGAProtoTransform_FieldNumber_Ty = 6, + SVGAProtoTransform_FieldNumber_A = 1, + SVGAProtoTransform_FieldNumber_B = 2, + SVGAProtoTransform_FieldNumber_C = 3, + SVGAProtoTransform_FieldNumber_D = 4, + SVGAProtoTransform_FieldNumber_Tx = 5, + SVGAProtoTransform_FieldNumber_Ty = 6, }; @interface SVGAProtoTransform : GPBMessage @@ -259,19 +251,19 @@ typedef GPB_ENUM(SVGAProtoTransform_FieldNumber) { #pragma mark - SVGAProtoShapeEntity typedef GPB_ENUM(SVGAProtoShapeEntity_FieldNumber) { - SVGAProtoShapeEntity_FieldNumber_Type = 1, - SVGAProtoShapeEntity_FieldNumber_Shape = 2, - SVGAProtoShapeEntity_FieldNumber_Rect = 3, - SVGAProtoShapeEntity_FieldNumber_Ellipse = 4, - SVGAProtoShapeEntity_FieldNumber_Styles = 10, - SVGAProtoShapeEntity_FieldNumber_Transform = 11, + SVGAProtoShapeEntity_FieldNumber_Type = 1, + SVGAProtoShapeEntity_FieldNumber_Shape = 2, + SVGAProtoShapeEntity_FieldNumber_Rect = 3, + SVGAProtoShapeEntity_FieldNumber_Ellipse = 4, + SVGAProtoShapeEntity_FieldNumber_Styles = 10, + SVGAProtoShapeEntity_FieldNumber_Transform = 11, }; typedef GPB_ENUM(SVGAProtoShapeEntity_Args_OneOfCase) { - SVGAProtoShapeEntity_Args_OneOfCase_GPBUnsetOneOfCase = 0, - SVGAProtoShapeEntity_Args_OneOfCase_Shape = 2, - SVGAProtoShapeEntity_Args_OneOfCase_Rect = 3, - SVGAProtoShapeEntity_Args_OneOfCase_Ellipse = 4, + SVGAProtoShapeEntity_Args_OneOfCase_GPBUnsetOneOfCase = 0, + SVGAProtoShapeEntity_Args_OneOfCase_Shape = 2, + SVGAProtoShapeEntity_Args_OneOfCase_Rect = 3, + SVGAProtoShapeEntity_Args_OneOfCase_Ellipse = 4, }; @interface SVGAProtoShapeEntity : GPBMessage @@ -319,7 +311,7 @@ void SVGAProtoShapeEntity_ClearArgsOneOfCase(SVGAProtoShapeEntity *message); #pragma mark - SVGAProtoShapeEntity_ShapeArgs typedef GPB_ENUM(SVGAProtoShapeEntity_ShapeArgs_FieldNumber) { - SVGAProtoShapeEntity_ShapeArgs_FieldNumber_D = 1, + SVGAProtoShapeEntity_ShapeArgs_FieldNumber_D = 1, }; @interface SVGAProtoShapeEntity_ShapeArgs : GPBMessage @@ -332,11 +324,11 @@ typedef GPB_ENUM(SVGAProtoShapeEntity_ShapeArgs_FieldNumber) { #pragma mark - SVGAProtoShapeEntity_RectArgs typedef GPB_ENUM(SVGAProtoShapeEntity_RectArgs_FieldNumber) { - SVGAProtoShapeEntity_RectArgs_FieldNumber_X = 1, - SVGAProtoShapeEntity_RectArgs_FieldNumber_Y = 2, - SVGAProtoShapeEntity_RectArgs_FieldNumber_Width = 3, - SVGAProtoShapeEntity_RectArgs_FieldNumber_Height = 4, - SVGAProtoShapeEntity_RectArgs_FieldNumber_CornerRadius = 5, + SVGAProtoShapeEntity_RectArgs_FieldNumber_X = 1, + SVGAProtoShapeEntity_RectArgs_FieldNumber_Y = 2, + SVGAProtoShapeEntity_RectArgs_FieldNumber_Width = 3, + SVGAProtoShapeEntity_RectArgs_FieldNumber_Height = 4, + SVGAProtoShapeEntity_RectArgs_FieldNumber_CornerRadius = 5, }; @interface SVGAProtoShapeEntity_RectArgs : GPBMessage @@ -357,10 +349,10 @@ typedef GPB_ENUM(SVGAProtoShapeEntity_RectArgs_FieldNumber) { #pragma mark - SVGAProtoShapeEntity_EllipseArgs typedef GPB_ENUM(SVGAProtoShapeEntity_EllipseArgs_FieldNumber) { - SVGAProtoShapeEntity_EllipseArgs_FieldNumber_X = 1, - SVGAProtoShapeEntity_EllipseArgs_FieldNumber_Y = 2, - SVGAProtoShapeEntity_EllipseArgs_FieldNumber_RadiusX = 3, - SVGAProtoShapeEntity_EllipseArgs_FieldNumber_RadiusY = 4, + SVGAProtoShapeEntity_EllipseArgs_FieldNumber_X = 1, + SVGAProtoShapeEntity_EllipseArgs_FieldNumber_Y = 2, + SVGAProtoShapeEntity_EllipseArgs_FieldNumber_RadiusX = 3, + SVGAProtoShapeEntity_EllipseArgs_FieldNumber_RadiusY = 4, }; @interface SVGAProtoShapeEntity_EllipseArgs : GPBMessage @@ -382,15 +374,15 @@ typedef GPB_ENUM(SVGAProtoShapeEntity_EllipseArgs_FieldNumber) { #pragma mark - SVGAProtoShapeEntity_ShapeStyle typedef GPB_ENUM(SVGAProtoShapeEntity_ShapeStyle_FieldNumber) { - SVGAProtoShapeEntity_ShapeStyle_FieldNumber_Fill = 1, - SVGAProtoShapeEntity_ShapeStyle_FieldNumber_Stroke = 2, - SVGAProtoShapeEntity_ShapeStyle_FieldNumber_StrokeWidth = 3, - SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineCap = 4, - SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineJoin = 5, - SVGAProtoShapeEntity_ShapeStyle_FieldNumber_MiterLimit = 6, - SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineDashI = 7, - SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineDashIi = 8, - SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineDashIii = 9, + SVGAProtoShapeEntity_ShapeStyle_FieldNumber_Fill = 1, + SVGAProtoShapeEntity_ShapeStyle_FieldNumber_Stroke = 2, + SVGAProtoShapeEntity_ShapeStyle_FieldNumber_StrokeWidth = 3, + SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineCap = 4, + SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineJoin = 5, + SVGAProtoShapeEntity_ShapeStyle_FieldNumber_MiterLimit = 6, + SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineDashI = 7, + SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineDashIi = 8, + SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineDashIii = 9, }; @interface SVGAProtoShapeEntity_ShapeStyle : GPBMessage @@ -455,10 +447,10 @@ void SetSVGAProtoShapeEntity_ShapeStyle_LineJoin_RawValue(SVGAProtoShapeEntity_S #pragma mark - SVGAProtoShapeEntity_ShapeStyle_RGBAColor typedef GPB_ENUM(SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber) { - SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber_R = 1, - SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber_G = 2, - SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber_B = 3, - SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber_A = 4, + SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber_R = 1, + SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber_G = 2, + SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber_B = 3, + SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber_A = 4, }; @interface SVGAProtoShapeEntity_ShapeStyle_RGBAColor : GPBMessage @@ -476,11 +468,11 @@ typedef GPB_ENUM(SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber) { #pragma mark - SVGAProtoFrameEntity typedef GPB_ENUM(SVGAProtoFrameEntity_FieldNumber) { - SVGAProtoFrameEntity_FieldNumber_Alpha = 1, - SVGAProtoFrameEntity_FieldNumber_Layout = 2, - SVGAProtoFrameEntity_FieldNumber_Transform = 3, - SVGAProtoFrameEntity_FieldNumber_ClipPath = 4, - SVGAProtoFrameEntity_FieldNumber_ShapesArray = 5, + SVGAProtoFrameEntity_FieldNumber_Alpha = 1, + SVGAProtoFrameEntity_FieldNumber_Layout = 2, + SVGAProtoFrameEntity_FieldNumber_Transform = 3, + SVGAProtoFrameEntity_FieldNumber_ClipPath = 4, + SVGAProtoFrameEntity_FieldNumber_ShapesArray = 5, }; @interface SVGAProtoFrameEntity : GPBMessage @@ -511,11 +503,11 @@ typedef GPB_ENUM(SVGAProtoFrameEntity_FieldNumber) { #pragma mark - SVGAProtoMovieEntity typedef GPB_ENUM(SVGAProtoMovieEntity_FieldNumber) { - SVGAProtoMovieEntity_FieldNumber_Version = 1, - SVGAProtoMovieEntity_FieldNumber_Params = 2, - SVGAProtoMovieEntity_FieldNumber_Images = 3, - SVGAProtoMovieEntity_FieldNumber_SpritesArray = 4, - SVGAProtoMovieEntity_FieldNumber_AudiosArray = 5, + SVGAProtoMovieEntity_FieldNumber_Version = 1, + SVGAProtoMovieEntity_FieldNumber_Params = 2, + SVGAProtoMovieEntity_FieldNumber_Images = 3, + SVGAProtoMovieEntity_FieldNumber_SpritesArray = 4, + SVGAProtoMovieEntity_FieldNumber_AudiosArray = 5, }; @interface SVGAProtoMovieEntity : GPBMessage diff --git a/Source/pbobjc/Svga.pbobjc.m b/Source/pbobjc/Svga.pbobjc.m index 7d1027fd..82185a32 100644 --- a/Source/pbobjc/Svga.pbobjc.m +++ b/Source/pbobjc/Svga.pbobjc.m @@ -4,15 +4,17 @@ // This CPP symbol can be defined to use imports that match up to the framework // imports needed when using CocoaPods. #if !defined(GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS) -#define GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS 0 + #define GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS 0 #endif #if GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS -#import + #import #else -#import "GPBProtocolBuffers_RuntimeSupport.h" + #import "GPBProtocolBuffers_RuntimeSupport.h" #endif +#import + #import "Svga.pbobjc.h" // @@protoc_insertion_point(imports) @@ -32,16 +34,16 @@ @implementation SVGAProtoSvgaRoot #pragma mark - SVGAProtoSvgaRoot_FileDescriptor static GPBFileDescriptor *SVGAProtoSvgaRoot_FileDescriptor(void) { - // This is called by +initialize so there is no need to worry - // about thread safety of the singleton. - static GPBFileDescriptor *descriptor = NULL; - if (!descriptor) { - GPB_DEBUG_CHECK_RUNTIME_VERSIONS(); - descriptor = [[GPBFileDescriptor alloc] initWithPackage:@"com.opensource.svga" - objcPrefix:@"SVGAProto" - syntax:GPBFileSyntaxProto3]; - } - return descriptor; + // This is called by +initialize so there is no need to worry + // about thread safety of the singleton. + static GPBFileDescriptor *descriptor = NULL; + if (!descriptor) { + GPB_DEBUG_CHECK_RUNTIME_VERSIONS(); + descriptor = [[GPBFileDescriptor alloc] initWithPackage:@"com.opensource.svga" + objcPrefix:@"SVGAProto" + syntax:GPBFileSyntaxProto3]; + } + return descriptor; } #pragma mark - SVGAProtoMovieParams @@ -54,57 +56,57 @@ @implementation SVGAProtoMovieParams @dynamic frames; typedef struct SVGAProtoMovieParams__storage_ { - uint32_t _has_storage_[1]; - float viewBoxWidth; - float viewBoxHeight; - int32_t fps; - int32_t frames; + uint32_t _has_storage_[1]; + float viewBoxWidth; + float viewBoxHeight; + int32_t fps; + int32_t frames; } SVGAProtoMovieParams__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { - static GPBDescriptor *descriptor = nil; - if (!descriptor) { - static GPBMessageFieldDescription fields[] = { - { - .name = "viewBoxWidth", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoMovieParams_FieldNumber_ViewBoxWidth, - .hasIndex = 0, - .offset = (uint32_t)offsetof(SVGAProtoMovieParams__storage_, viewBoxWidth), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeFloat, - }, - { - .name = "viewBoxHeight", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoMovieParams_FieldNumber_ViewBoxHeight, - .hasIndex = 1, - .offset = (uint32_t)offsetof(SVGAProtoMovieParams__storage_, viewBoxHeight), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeFloat, - }, - { - .name = "fps", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoMovieParams_FieldNumber_Fps, - .hasIndex = 2, - .offset = (uint32_t)offsetof(SVGAProtoMovieParams__storage_, fps), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeInt32, - }, - { - .name = "frames", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoMovieParams_FieldNumber_Frames, - .hasIndex = 3, - .offset = (uint32_t)offsetof(SVGAProtoMovieParams__storage_, frames), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeInt32, - }, - }; - GPBDescriptor *localDescriptor = + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "viewBoxWidth", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoMovieParams_FieldNumber_ViewBoxWidth, + .hasIndex = 0, + .offset = (uint32_t)offsetof(SVGAProtoMovieParams__storage_, viewBoxWidth), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeFloat, + }, + { + .name = "viewBoxHeight", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoMovieParams_FieldNumber_ViewBoxHeight, + .hasIndex = 1, + .offset = (uint32_t)offsetof(SVGAProtoMovieParams__storage_, viewBoxHeight), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeFloat, + }, + { + .name = "fps", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoMovieParams_FieldNumber_Fps, + .hasIndex = 2, + .offset = (uint32_t)offsetof(SVGAProtoMovieParams__storage_, fps), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeInt32, + }, + { + .name = "frames", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoMovieParams_FieldNumber_Frames, + .hasIndex = 3, + .offset = (uint32_t)offsetof(SVGAProtoMovieParams__storage_, frames), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeInt32, + }, + }; + GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[SVGAProtoMovieParams class] rootClass:[SVGAProtoSvgaRoot class] file:SVGAProtoSvgaRoot_FileDescriptor() @@ -113,14 +115,14 @@ + (GPBDescriptor *)descriptor { storageSize:sizeof(SVGAProtoMovieParams__storage_) flags:GPBDescriptorInitializationFlag_None]; #if !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS - static const char *extraTextFormatInfo = + static const char *extraTextFormatInfo = "\002\001\014\000\002\r\000"; - [localDescriptor setupExtraTextInfo:extraTextFormatInfo]; + [localDescriptor setupExtraTextInfo:extraTextFormatInfo]; #endif // !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS - NSAssert(descriptor == nil, @"Startup recursed!"); - descriptor = localDescriptor; - } - return descriptor; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; } @end @@ -129,52 +131,41 @@ + (GPBDescriptor *)descriptor { @implementation SVGAProtoSpriteEntity -@dynamic matteKey; @dynamic imageKey; @dynamic framesArray, framesArray_Count; typedef struct SVGAProtoSpriteEntity__storage_ { - uint32_t _has_storage_[1]; - NSString *matteKey; - NSString *imageKey; - NSMutableArray *framesArray; + uint32_t _has_storage_[1]; + NSString *imageKey; + NSMutableArray *framesArray; } SVGAProtoSpriteEntity__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { - static GPBDescriptor *descriptor = nil; - if (!descriptor) { - static GPBMessageFieldDescription fields[] = { - { - .name = "matteKey", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoSpriteEntity_FieldNumber_MatteKey, - .hasIndex = 0, - .offset = (uint32_t)offsetof(SVGAProtoSpriteEntity__storage_, matteKey), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeString, - }, - { - .name = "imageKey", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoSpriteEntity_FieldNumber_ImageKey, - .hasIndex = 1, - .offset = (uint32_t)offsetof(SVGAProtoSpriteEntity__storage_, imageKey), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeString, - }, - { - .name = "framesArray", - .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoFrameEntity), - .number = SVGAProtoSpriteEntity_FieldNumber_FramesArray, - .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(SVGAProtoSpriteEntity__storage_, framesArray), - .flags = GPBFieldRepeated, - .dataType = GPBDataTypeMessage, - }, - }; - GPBDescriptor *localDescriptor = + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "imageKey", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoSpriteEntity_FieldNumber_ImageKey, + .hasIndex = 0, + .offset = (uint32_t)offsetof(SVGAProtoSpriteEntity__storage_, imageKey), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeString, + }, + { + .name = "framesArray", + .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoFrameEntity), + .number = SVGAProtoSpriteEntity_FieldNumber_FramesArray, + .hasIndex = GPBNoHasBit, + .offset = (uint32_t)offsetof(SVGAProtoSpriteEntity__storage_, framesArray), + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[SVGAProtoSpriteEntity class] rootClass:[SVGAProtoSvgaRoot class] file:SVGAProtoSvgaRoot_FileDescriptor() @@ -183,14 +174,14 @@ + (GPBDescriptor *)descriptor { storageSize:sizeof(SVGAProtoSpriteEntity__storage_) flags:GPBDescriptorInitializationFlag_None]; #if !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS - static const char *extraTextFormatInfo = - "\002\001\010\000\002\010\000"; - [localDescriptor setupExtraTextInfo:extraTextFormatInfo]; + static const char *extraTextFormatInfo = + "\001\001\010\000"; + [localDescriptor setupExtraTextInfo:extraTextFormatInfo]; #endif // !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS - NSAssert(descriptor == nil, @"Startup recursed!"); - descriptor = localDescriptor; - } - return descriptor; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; } @end @@ -203,70 +194,59 @@ @implementation SVGAProtoAudioEntity @dynamic startFrame; @dynamic endFrame; @dynamic startTime; -@dynamic totalTime; typedef struct SVGAProtoAudioEntity__storage_ { - uint32_t _has_storage_[1]; - int32_t startFrame; - int32_t endFrame; - int32_t startTime; - int32_t totalTime; - NSString *audioKey; + uint32_t _has_storage_[1]; + int32_t startFrame; + int32_t endFrame; + int32_t startTime; + NSString *audioKey; } SVGAProtoAudioEntity__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { - static GPBDescriptor *descriptor = nil; - if (!descriptor) { - static GPBMessageFieldDescription fields[] = { - { - .name = "audioKey", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoAudioEntity_FieldNumber_AudioKey, - .hasIndex = 0, - .offset = (uint32_t)offsetof(SVGAProtoAudioEntity__storage_, audioKey), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeString, - }, - { - .name = "startFrame", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoAudioEntity_FieldNumber_StartFrame, - .hasIndex = 1, - .offset = (uint32_t)offsetof(SVGAProtoAudioEntity__storage_, startFrame), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeInt32, - }, - { - .name = "endFrame", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoAudioEntity_FieldNumber_EndFrame, - .hasIndex = 2, - .offset = (uint32_t)offsetof(SVGAProtoAudioEntity__storage_, endFrame), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeInt32, - }, - { - .name = "startTime", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoAudioEntity_FieldNumber_StartTime, - .hasIndex = 3, - .offset = (uint32_t)offsetof(SVGAProtoAudioEntity__storage_, startTime), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeInt32, - }, - { - .name = "totalTime", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoAudioEntity_FieldNumber_TotalTime, - .hasIndex = 4, - .offset = (uint32_t)offsetof(SVGAProtoAudioEntity__storage_, totalTime), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeInt32, - }, - }; - GPBDescriptor *localDescriptor = + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "audioKey", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoAudioEntity_FieldNumber_AudioKey, + .hasIndex = 0, + .offset = (uint32_t)offsetof(SVGAProtoAudioEntity__storage_, audioKey), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeString, + }, + { + .name = "startFrame", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoAudioEntity_FieldNumber_StartFrame, + .hasIndex = 1, + .offset = (uint32_t)offsetof(SVGAProtoAudioEntity__storage_, startFrame), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeInt32, + }, + { + .name = "endFrame", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoAudioEntity_FieldNumber_EndFrame, + .hasIndex = 2, + .offset = (uint32_t)offsetof(SVGAProtoAudioEntity__storage_, endFrame), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeInt32, + }, + { + .name = "startTime", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoAudioEntity_FieldNumber_StartTime, + .hasIndex = 3, + .offset = (uint32_t)offsetof(SVGAProtoAudioEntity__storage_, startTime), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeInt32, + }, + }; + GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[SVGAProtoAudioEntity class] rootClass:[SVGAProtoSvgaRoot class] file:SVGAProtoSvgaRoot_FileDescriptor() @@ -275,14 +255,14 @@ + (GPBDescriptor *)descriptor { storageSize:sizeof(SVGAProtoAudioEntity__storage_) flags:GPBDescriptorInitializationFlag_None]; #if !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS - static const char *extraTextFormatInfo = - "\005\001\010\000\002\n\000\003\010\000\004\t\000\005\t\000"; - [localDescriptor setupExtraTextInfo:extraTextFormatInfo]; + static const char *extraTextFormatInfo = + "\004\001\010\000\002\n\000\003\010\000\004\t\000"; + [localDescriptor setupExtraTextInfo:extraTextFormatInfo]; #endif // !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS - NSAssert(descriptor == nil, @"Startup recursed!"); - descriptor = localDescriptor; - } - return descriptor; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; } @end @@ -297,57 +277,57 @@ @implementation SVGAProtoLayout @dynamic height; typedef struct SVGAProtoLayout__storage_ { - uint32_t _has_storage_[1]; - float x; - float y; - float width; - float height; + uint32_t _has_storage_[1]; + float x; + float y; + float width; + float height; } SVGAProtoLayout__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { - static GPBDescriptor *descriptor = nil; - if (!descriptor) { - static GPBMessageFieldDescription fields[] = { - { - .name = "x", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoLayout_FieldNumber_X, - .hasIndex = 0, - .offset = (uint32_t)offsetof(SVGAProtoLayout__storage_, x), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "y", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoLayout_FieldNumber_Y, - .hasIndex = 1, - .offset = (uint32_t)offsetof(SVGAProtoLayout__storage_, y), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "width", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoLayout_FieldNumber_Width, - .hasIndex = 2, - .offset = (uint32_t)offsetof(SVGAProtoLayout__storage_, width), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "height", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoLayout_FieldNumber_Height, - .hasIndex = 3, - .offset = (uint32_t)offsetof(SVGAProtoLayout__storage_, height), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - }; - GPBDescriptor *localDescriptor = + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "x", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoLayout_FieldNumber_X, + .hasIndex = 0, + .offset = (uint32_t)offsetof(SVGAProtoLayout__storage_, x), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "y", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoLayout_FieldNumber_Y, + .hasIndex = 1, + .offset = (uint32_t)offsetof(SVGAProtoLayout__storage_, y), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "width", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoLayout_FieldNumber_Width, + .hasIndex = 2, + .offset = (uint32_t)offsetof(SVGAProtoLayout__storage_, width), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "height", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoLayout_FieldNumber_Height, + .hasIndex = 3, + .offset = (uint32_t)offsetof(SVGAProtoLayout__storage_, height), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + }; + GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[SVGAProtoLayout class] rootClass:[SVGAProtoSvgaRoot class] file:SVGAProtoSvgaRoot_FileDescriptor() @@ -355,10 +335,10 @@ + (GPBDescriptor *)descriptor { fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) storageSize:sizeof(SVGAProtoLayout__storage_) flags:GPBDescriptorInitializationFlag_None]; - NSAssert(descriptor == nil, @"Startup recursed!"); - descriptor = localDescriptor; - } - return descriptor; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; } @end @@ -375,77 +355,77 @@ @implementation SVGAProtoTransform @dynamic ty; typedef struct SVGAProtoTransform__storage_ { - uint32_t _has_storage_[1]; - float a; - float b; - float c; - float d; - float tx; - float ty; + uint32_t _has_storage_[1]; + float a; + float b; + float c; + float d; + float tx; + float ty; } SVGAProtoTransform__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { - static GPBDescriptor *descriptor = nil; - if (!descriptor) { - static GPBMessageFieldDescription fields[] = { - { - .name = "a", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoTransform_FieldNumber_A, - .hasIndex = 0, - .offset = (uint32_t)offsetof(SVGAProtoTransform__storage_, a), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "b", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoTransform_FieldNumber_B, - .hasIndex = 1, - .offset = (uint32_t)offsetof(SVGAProtoTransform__storage_, b), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "c", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoTransform_FieldNumber_C, - .hasIndex = 2, - .offset = (uint32_t)offsetof(SVGAProtoTransform__storage_, c), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "d", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoTransform_FieldNumber_D, - .hasIndex = 3, - .offset = (uint32_t)offsetof(SVGAProtoTransform__storage_, d), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "tx", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoTransform_FieldNumber_Tx, - .hasIndex = 4, - .offset = (uint32_t)offsetof(SVGAProtoTransform__storage_, tx), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "ty", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoTransform_FieldNumber_Ty, - .hasIndex = 5, - .offset = (uint32_t)offsetof(SVGAProtoTransform__storage_, ty), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - }; - GPBDescriptor *localDescriptor = + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "a", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoTransform_FieldNumber_A, + .hasIndex = 0, + .offset = (uint32_t)offsetof(SVGAProtoTransform__storage_, a), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "b", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoTransform_FieldNumber_B, + .hasIndex = 1, + .offset = (uint32_t)offsetof(SVGAProtoTransform__storage_, b), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "c", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoTransform_FieldNumber_C, + .hasIndex = 2, + .offset = (uint32_t)offsetof(SVGAProtoTransform__storage_, c), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "d", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoTransform_FieldNumber_D, + .hasIndex = 3, + .offset = (uint32_t)offsetof(SVGAProtoTransform__storage_, d), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "tx", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoTransform_FieldNumber_Tx, + .hasIndex = 4, + .offset = (uint32_t)offsetof(SVGAProtoTransform__storage_, tx), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "ty", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoTransform_FieldNumber_Ty, + .hasIndex = 5, + .offset = (uint32_t)offsetof(SVGAProtoTransform__storage_, ty), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + }; + GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[SVGAProtoTransform class] rootClass:[SVGAProtoSvgaRoot class] file:SVGAProtoSvgaRoot_FileDescriptor() @@ -453,10 +433,10 @@ + (GPBDescriptor *)descriptor { fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) storageSize:sizeof(SVGAProtoTransform__storage_) flags:GPBDescriptorInitializationFlag_None]; - NSAssert(descriptor == nil, @"Startup recursed!"); - descriptor = localDescriptor; - } - return descriptor; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; } @end @@ -474,77 +454,77 @@ @implementation SVGAProtoShapeEntity @dynamic hasTransform, transform; typedef struct SVGAProtoShapeEntity__storage_ { - uint32_t _has_storage_[2]; - SVGAProtoShapeEntity_ShapeType type; - SVGAProtoShapeEntity_ShapeArgs *shape; - SVGAProtoShapeEntity_RectArgs *rect; - SVGAProtoShapeEntity_EllipseArgs *ellipse; - SVGAProtoShapeEntity_ShapeStyle *styles; - SVGAProtoTransform *transform; + uint32_t _has_storage_[2]; + SVGAProtoShapeEntity_ShapeType type; + SVGAProtoShapeEntity_ShapeArgs *shape; + SVGAProtoShapeEntity_RectArgs *rect; + SVGAProtoShapeEntity_EllipseArgs *ellipse; + SVGAProtoShapeEntity_ShapeStyle *styles; + SVGAProtoTransform *transform; } SVGAProtoShapeEntity__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { - static GPBDescriptor *descriptor = nil; - if (!descriptor) { - static GPBMessageFieldDescription fields[] = { - { - .name = "type", - .dataTypeSpecific.enumDescFunc = SVGAProtoShapeEntity_ShapeType_EnumDescriptor, - .number = SVGAProtoShapeEntity_FieldNumber_Type, - .hasIndex = 0, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity__storage_, type), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldHasEnumDescriptor), - .dataType = GPBDataTypeEnum, - }, - { - .name = "shape", - .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoShapeEntity_ShapeArgs), - .number = SVGAProtoShapeEntity_FieldNumber_Shape, - .hasIndex = -1, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity__storage_, shape), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - { - .name = "rect", - .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoShapeEntity_RectArgs), - .number = SVGAProtoShapeEntity_FieldNumber_Rect, - .hasIndex = -1, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity__storage_, rect), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - { - .name = "ellipse", - .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoShapeEntity_EllipseArgs), - .number = SVGAProtoShapeEntity_FieldNumber_Ellipse, - .hasIndex = -1, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity__storage_, ellipse), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - { - .name = "styles", - .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoShapeEntity_ShapeStyle), - .number = SVGAProtoShapeEntity_FieldNumber_Styles, - .hasIndex = 1, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity__storage_, styles), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - { - .name = "transform", - .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoTransform), - .number = SVGAProtoShapeEntity_FieldNumber_Transform, - .hasIndex = 2, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity__storage_, transform), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - }; - GPBDescriptor *localDescriptor = + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "type", + .dataTypeSpecific.enumDescFunc = SVGAProtoShapeEntity_ShapeType_EnumDescriptor, + .number = SVGAProtoShapeEntity_FieldNumber_Type, + .hasIndex = 0, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity__storage_, type), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldHasEnumDescriptor), + .dataType = GPBDataTypeEnum, + }, + { + .name = "shape", + .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoShapeEntity_ShapeArgs), + .number = SVGAProtoShapeEntity_FieldNumber_Shape, + .hasIndex = -1, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity__storage_, shape), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "rect", + .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoShapeEntity_RectArgs), + .number = SVGAProtoShapeEntity_FieldNumber_Rect, + .hasIndex = -1, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity__storage_, rect), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "ellipse", + .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoShapeEntity_EllipseArgs), + .number = SVGAProtoShapeEntity_FieldNumber_Ellipse, + .hasIndex = -1, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity__storage_, ellipse), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "styles", + .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoShapeEntity_ShapeStyle), + .number = SVGAProtoShapeEntity_FieldNumber_Styles, + .hasIndex = 1, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity__storage_, styles), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "transform", + .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoTransform), + .number = SVGAProtoShapeEntity_FieldNumber_Transform, + .hasIndex = 2, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity__storage_, transform), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[SVGAProtoShapeEntity class] rootClass:[SVGAProtoSvgaRoot class] file:SVGAProtoSvgaRoot_FileDescriptor() @@ -552,73 +532,74 @@ + (GPBDescriptor *)descriptor { fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) storageSize:sizeof(SVGAProtoShapeEntity__storage_) flags:GPBDescriptorInitializationFlag_None]; - static const char *oneofs[] = { - "args", - }; - [localDescriptor setupOneofs:oneofs - count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) - firstHasIndex:-1]; - NSAssert(descriptor == nil, @"Startup recursed!"); - descriptor = localDescriptor; - } - return descriptor; + static const char *oneofs[] = { + "args", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; } @end int32_t SVGAProtoShapeEntity_Type_RawValue(SVGAProtoShapeEntity *message) { - GPBDescriptor *descriptor = [SVGAProtoShapeEntity descriptor]; - GPBFieldDescriptor *field = [descriptor fieldWithNumber:SVGAProtoShapeEntity_FieldNumber_Type]; - return GPBGetMessageInt32Field(message, field); + GPBDescriptor *descriptor = [SVGAProtoShapeEntity descriptor]; + GPBFieldDescriptor *field = [descriptor fieldWithNumber:SVGAProtoShapeEntity_FieldNumber_Type]; + return GPBGetMessageInt32Field(message, field); } void SetSVGAProtoShapeEntity_Type_RawValue(SVGAProtoShapeEntity *message, int32_t value) { - GPBDescriptor *descriptor = [SVGAProtoShapeEntity descriptor]; - GPBFieldDescriptor *field = [descriptor fieldWithNumber:SVGAProtoShapeEntity_FieldNumber_Type]; - GPBSetInt32IvarWithFieldInternal(message, field, value, descriptor.file.syntax); + GPBDescriptor *descriptor = [SVGAProtoShapeEntity descriptor]; + GPBFieldDescriptor *field = [descriptor fieldWithNumber:SVGAProtoShapeEntity_FieldNumber_Type]; + GPBSetInt32IvarWithFieldInternal(message, field, value, descriptor.file.syntax); } void SVGAProtoShapeEntity_ClearArgsOneOfCase(SVGAProtoShapeEntity *message) { - GPBDescriptor *descriptor = [message descriptor]; - GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; - GPBMaybeClearOneof(message, oneof, -1, 0); + GPBDescriptor *descriptor = [message descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBMaybeClearOneof(message, oneof, -1, 0); } #pragma mark - Enum SVGAProtoShapeEntity_ShapeType GPBEnumDescriptor *SVGAProtoShapeEntity_ShapeType_EnumDescriptor(void) { - static GPBEnumDescriptor *descriptor = NULL; - if (!descriptor) { - static const char *valueNames = + static _Atomic(GPBEnumDescriptor*) descriptor = nil; + if (!descriptor) { + static const char *valueNames = "Shape\000Rect\000Ellipse\000Keep\000"; - static const int32_t values[] = { - SVGAProtoShapeEntity_ShapeType_Shape, - SVGAProtoShapeEntity_ShapeType_Rect, - SVGAProtoShapeEntity_ShapeType_Ellipse, - SVGAProtoShapeEntity_ShapeType_Keep, - }; - GPBEnumDescriptor *worker = + static const int32_t values[] = { + SVGAProtoShapeEntity_ShapeType_Shape, + SVGAProtoShapeEntity_ShapeType_Rect, + SVGAProtoShapeEntity_ShapeType_Ellipse, + SVGAProtoShapeEntity_ShapeType_Keep, + }; + GPBEnumDescriptor *worker = [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(SVGAProtoShapeEntity_ShapeType) valueNames:valueNames values:values count:(uint32_t)(sizeof(values) / sizeof(int32_t)) enumVerifier:SVGAProtoShapeEntity_ShapeType_IsValidValue]; - if (!OSAtomicCompareAndSwapPtrBarrier(nil, worker, (void * volatile *)&descriptor)) { - [worker release]; - } + GPBEnumDescriptor *expected = nil; + if (!atomic_compare_exchange_strong(&descriptor, &expected, worker)) { + [worker release]; } - return descriptor; + } + return descriptor; } BOOL SVGAProtoShapeEntity_ShapeType_IsValidValue(int32_t value__) { - switch (value__) { - case SVGAProtoShapeEntity_ShapeType_Shape: - case SVGAProtoShapeEntity_ShapeType_Rect: - case SVGAProtoShapeEntity_ShapeType_Ellipse: - case SVGAProtoShapeEntity_ShapeType_Keep: - return YES; - default: - return NO; - } + switch (value__) { + case SVGAProtoShapeEntity_ShapeType_Shape: + case SVGAProtoShapeEntity_ShapeType_Rect: + case SVGAProtoShapeEntity_ShapeType_Ellipse: + case SVGAProtoShapeEntity_ShapeType_Keep: + return YES; + default: + return NO; + } } #pragma mark - SVGAProtoShapeEntity_ShapeArgs @@ -628,27 +609,27 @@ @implementation SVGAProtoShapeEntity_ShapeArgs @dynamic d; typedef struct SVGAProtoShapeEntity_ShapeArgs__storage_ { - uint32_t _has_storage_[1]; - NSString *d; + uint32_t _has_storage_[1]; + NSString *d; } SVGAProtoShapeEntity_ShapeArgs__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { - static GPBDescriptor *descriptor = nil; - if (!descriptor) { - static GPBMessageFieldDescription fields[] = { - { - .name = "d", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_ShapeArgs_FieldNumber_D, - .hasIndex = 0, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeArgs__storage_, d), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeString, - }, - }; - GPBDescriptor *localDescriptor = + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "d", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_ShapeArgs_FieldNumber_D, + .hasIndex = 0, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeArgs__storage_, d), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeString, + }, + }; + GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[SVGAProtoShapeEntity_ShapeArgs class] rootClass:[SVGAProtoSvgaRoot class] file:SVGAProtoSvgaRoot_FileDescriptor() @@ -656,11 +637,11 @@ + (GPBDescriptor *)descriptor { fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) storageSize:sizeof(SVGAProtoShapeEntity_ShapeArgs__storage_) flags:GPBDescriptorInitializationFlag_None]; - [localDescriptor setupContainingMessageClassName:GPBStringifySymbol(SVGAProtoShapeEntity)]; - NSAssert(descriptor == nil, @"Startup recursed!"); - descriptor = localDescriptor; - } - return descriptor; + [localDescriptor setupContainingMessageClassName:GPBStringifySymbol(SVGAProtoShapeEntity)]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; } @end @@ -676,67 +657,67 @@ @implementation SVGAProtoShapeEntity_RectArgs @dynamic cornerRadius; typedef struct SVGAProtoShapeEntity_RectArgs__storage_ { - uint32_t _has_storage_[1]; - float x; - float y; - float width; - float height; - float cornerRadius; + uint32_t _has_storage_[1]; + float x; + float y; + float width; + float height; + float cornerRadius; } SVGAProtoShapeEntity_RectArgs__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { - static GPBDescriptor *descriptor = nil; - if (!descriptor) { - static GPBMessageFieldDescription fields[] = { - { - .name = "x", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_RectArgs_FieldNumber_X, - .hasIndex = 0, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_RectArgs__storage_, x), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "y", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_RectArgs_FieldNumber_Y, - .hasIndex = 1, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_RectArgs__storage_, y), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "width", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_RectArgs_FieldNumber_Width, - .hasIndex = 2, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_RectArgs__storage_, width), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "height", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_RectArgs_FieldNumber_Height, - .hasIndex = 3, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_RectArgs__storage_, height), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "cornerRadius", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_RectArgs_FieldNumber_CornerRadius, - .hasIndex = 4, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_RectArgs__storage_, cornerRadius), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeFloat, - }, - }; - GPBDescriptor *localDescriptor = + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "x", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_RectArgs_FieldNumber_X, + .hasIndex = 0, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_RectArgs__storage_, x), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "y", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_RectArgs_FieldNumber_Y, + .hasIndex = 1, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_RectArgs__storage_, y), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "width", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_RectArgs_FieldNumber_Width, + .hasIndex = 2, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_RectArgs__storage_, width), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "height", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_RectArgs_FieldNumber_Height, + .hasIndex = 3, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_RectArgs__storage_, height), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "cornerRadius", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_RectArgs_FieldNumber_CornerRadius, + .hasIndex = 4, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_RectArgs__storage_, cornerRadius), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeFloat, + }, + }; + GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[SVGAProtoShapeEntity_RectArgs class] rootClass:[SVGAProtoSvgaRoot class] file:SVGAProtoSvgaRoot_FileDescriptor() @@ -745,15 +726,15 @@ + (GPBDescriptor *)descriptor { storageSize:sizeof(SVGAProtoShapeEntity_RectArgs__storage_) flags:GPBDescriptorInitializationFlag_None]; #if !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS - static const char *extraTextFormatInfo = + static const char *extraTextFormatInfo = "\001\005\014\000"; - [localDescriptor setupExtraTextInfo:extraTextFormatInfo]; + [localDescriptor setupExtraTextInfo:extraTextFormatInfo]; #endif // !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS - [localDescriptor setupContainingMessageClassName:GPBStringifySymbol(SVGAProtoShapeEntity)]; - NSAssert(descriptor == nil, @"Startup recursed!"); - descriptor = localDescriptor; - } - return descriptor; + [localDescriptor setupContainingMessageClassName:GPBStringifySymbol(SVGAProtoShapeEntity)]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; } @end @@ -768,57 +749,57 @@ @implementation SVGAProtoShapeEntity_EllipseArgs @dynamic radiusY; typedef struct SVGAProtoShapeEntity_EllipseArgs__storage_ { - uint32_t _has_storage_[1]; - float x; - float y; - float radiusX; - float radiusY; + uint32_t _has_storage_[1]; + float x; + float y; + float radiusX; + float radiusY; } SVGAProtoShapeEntity_EllipseArgs__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { - static GPBDescriptor *descriptor = nil; - if (!descriptor) { - static GPBMessageFieldDescription fields[] = { - { - .name = "x", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_EllipseArgs_FieldNumber_X, - .hasIndex = 0, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_EllipseArgs__storage_, x), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "y", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_EllipseArgs_FieldNumber_Y, - .hasIndex = 1, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_EllipseArgs__storage_, y), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "radiusX", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_EllipseArgs_FieldNumber_RadiusX, - .hasIndex = 2, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_EllipseArgs__storage_, radiusX), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeFloat, - }, - { - .name = "radiusY", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_EllipseArgs_FieldNumber_RadiusY, - .hasIndex = 3, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_EllipseArgs__storage_, radiusY), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeFloat, - }, - }; - GPBDescriptor *localDescriptor = + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "x", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_EllipseArgs_FieldNumber_X, + .hasIndex = 0, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_EllipseArgs__storage_, x), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "y", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_EllipseArgs_FieldNumber_Y, + .hasIndex = 1, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_EllipseArgs__storage_, y), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "radiusX", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_EllipseArgs_FieldNumber_RadiusX, + .hasIndex = 2, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_EllipseArgs__storage_, radiusX), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeFloat, + }, + { + .name = "radiusY", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_EllipseArgs_FieldNumber_RadiusY, + .hasIndex = 3, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_EllipseArgs__storage_, radiusY), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeFloat, + }, + }; + GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[SVGAProtoShapeEntity_EllipseArgs class] rootClass:[SVGAProtoSvgaRoot class] file:SVGAProtoSvgaRoot_FileDescriptor() @@ -827,15 +808,15 @@ + (GPBDescriptor *)descriptor { storageSize:sizeof(SVGAProtoShapeEntity_EllipseArgs__storage_) flags:GPBDescriptorInitializationFlag_None]; #if !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS - static const char *extraTextFormatInfo = + static const char *extraTextFormatInfo = "\002\003\007\000\004\007\000"; - [localDescriptor setupExtraTextInfo:extraTextFormatInfo]; + [localDescriptor setupExtraTextInfo:extraTextFormatInfo]; #endif // !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS - [localDescriptor setupContainingMessageClassName:GPBStringifySymbol(SVGAProtoShapeEntity)]; - NSAssert(descriptor == nil, @"Startup recursed!"); - descriptor = localDescriptor; - } - return descriptor; + [localDescriptor setupContainingMessageClassName:GPBStringifySymbol(SVGAProtoShapeEntity)]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; } @end @@ -855,107 +836,107 @@ @implementation SVGAProtoShapeEntity_ShapeStyle @dynamic lineDashIii; typedef struct SVGAProtoShapeEntity_ShapeStyle__storage_ { - uint32_t _has_storage_[1]; - float strokeWidth; - SVGAProtoShapeEntity_ShapeStyle_LineCap lineCap; - SVGAProtoShapeEntity_ShapeStyle_LineJoin lineJoin; - float miterLimit; - float lineDashI; - float lineDashIi; - float lineDashIii; - SVGAProtoShapeEntity_ShapeStyle_RGBAColor *fill; - SVGAProtoShapeEntity_ShapeStyle_RGBAColor *stroke; + uint32_t _has_storage_[1]; + float strokeWidth; + SVGAProtoShapeEntity_ShapeStyle_LineCap lineCap; + SVGAProtoShapeEntity_ShapeStyle_LineJoin lineJoin; + float miterLimit; + float lineDashI; + float lineDashIi; + float lineDashIii; + SVGAProtoShapeEntity_ShapeStyle_RGBAColor *fill; + SVGAProtoShapeEntity_ShapeStyle_RGBAColor *stroke; } SVGAProtoShapeEntity_ShapeStyle__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { - static GPBDescriptor *descriptor = nil; - if (!descriptor) { - static GPBMessageFieldDescription fields[] = { - { - .name = "fill", - .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoShapeEntity_ShapeStyle_RGBAColor), - .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_Fill, - .hasIndex = 0, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, fill), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - { - .name = "stroke", - .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoShapeEntity_ShapeStyle_RGBAColor), - .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_Stroke, - .hasIndex = 1, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, stroke), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - { - .name = "strokeWidth", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_StrokeWidth, - .hasIndex = 2, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, strokeWidth), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeFloat, - }, - { - .name = "lineCap", - .dataTypeSpecific.enumDescFunc = SVGAProtoShapeEntity_ShapeStyle_LineCap_EnumDescriptor, - .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineCap, - .hasIndex = 3, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, lineCap), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom | GPBFieldHasEnumDescriptor), - .dataType = GPBDataTypeEnum, - }, - { - .name = "lineJoin", - .dataTypeSpecific.enumDescFunc = SVGAProtoShapeEntity_ShapeStyle_LineJoin_EnumDescriptor, - .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineJoin, - .hasIndex = 4, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, lineJoin), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom | GPBFieldHasEnumDescriptor), - .dataType = GPBDataTypeEnum, - }, - { - .name = "miterLimit", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_MiterLimit, - .hasIndex = 5, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, miterLimit), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeFloat, - }, - { - .name = "lineDashI", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineDashI, - .hasIndex = 6, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, lineDashI), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeFloat, - }, - { - .name = "lineDashIi", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineDashIi, - .hasIndex = 7, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, lineDashIi), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeFloat, - }, - { - .name = "lineDashIii", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineDashIii, - .hasIndex = 8, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, lineDashIii), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeFloat, - }, - }; - GPBDescriptor *localDescriptor = + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "fill", + .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoShapeEntity_ShapeStyle_RGBAColor), + .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_Fill, + .hasIndex = 0, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, fill), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "stroke", + .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoShapeEntity_ShapeStyle_RGBAColor), + .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_Stroke, + .hasIndex = 1, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, stroke), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "strokeWidth", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_StrokeWidth, + .hasIndex = 2, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, strokeWidth), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeFloat, + }, + { + .name = "lineCap", + .dataTypeSpecific.enumDescFunc = SVGAProtoShapeEntity_ShapeStyle_LineCap_EnumDescriptor, + .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineCap, + .hasIndex = 3, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, lineCap), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom | GPBFieldHasEnumDescriptor), + .dataType = GPBDataTypeEnum, + }, + { + .name = "lineJoin", + .dataTypeSpecific.enumDescFunc = SVGAProtoShapeEntity_ShapeStyle_LineJoin_EnumDescriptor, + .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineJoin, + .hasIndex = 4, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, lineJoin), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom | GPBFieldHasEnumDescriptor), + .dataType = GPBDataTypeEnum, + }, + { + .name = "miterLimit", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_MiterLimit, + .hasIndex = 5, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, miterLimit), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeFloat, + }, + { + .name = "lineDashI", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineDashI, + .hasIndex = 6, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, lineDashI), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeFloat, + }, + { + .name = "lineDashIi", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineDashIi, + .hasIndex = 7, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, lineDashIi), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeFloat, + }, + { + .name = "lineDashIii", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineDashIii, + .hasIndex = 8, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, lineDashIii), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeFloat, + }, + }; + GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[SVGAProtoShapeEntity_ShapeStyle class] rootClass:[SVGAProtoSvgaRoot class] file:SVGAProtoSvgaRoot_FileDescriptor() @@ -964,118 +945,120 @@ + (GPBDescriptor *)descriptor { storageSize:sizeof(SVGAProtoShapeEntity_ShapeStyle__storage_) flags:GPBDescriptorInitializationFlag_None]; #if !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS - static const char *extraTextFormatInfo = + static const char *extraTextFormatInfo = "\007\003\013\000\004\007\000\005\010\000\006\n\000\007\t\000\010\tA\000\t\tb\000"; - [localDescriptor setupExtraTextInfo:extraTextFormatInfo]; + [localDescriptor setupExtraTextInfo:extraTextFormatInfo]; #endif // !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS - [localDescriptor setupContainingMessageClassName:GPBStringifySymbol(SVGAProtoShapeEntity)]; - NSAssert(descriptor == nil, @"Startup recursed!"); - descriptor = localDescriptor; - } - return descriptor; + [localDescriptor setupContainingMessageClassName:GPBStringifySymbol(SVGAProtoShapeEntity)]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; } @end int32_t SVGAProtoShapeEntity_ShapeStyle_LineCap_RawValue(SVGAProtoShapeEntity_ShapeStyle *message) { - GPBDescriptor *descriptor = [SVGAProtoShapeEntity_ShapeStyle descriptor]; - GPBFieldDescriptor *field = [descriptor fieldWithNumber:SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineCap]; - return GPBGetMessageInt32Field(message, field); + GPBDescriptor *descriptor = [SVGAProtoShapeEntity_ShapeStyle descriptor]; + GPBFieldDescriptor *field = [descriptor fieldWithNumber:SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineCap]; + return GPBGetMessageInt32Field(message, field); } void SetSVGAProtoShapeEntity_ShapeStyle_LineCap_RawValue(SVGAProtoShapeEntity_ShapeStyle *message, int32_t value) { - GPBDescriptor *descriptor = [SVGAProtoShapeEntity_ShapeStyle descriptor]; - GPBFieldDescriptor *field = [descriptor fieldWithNumber:SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineCap]; - GPBSetInt32IvarWithFieldInternal(message, field, value, descriptor.file.syntax); + GPBDescriptor *descriptor = [SVGAProtoShapeEntity_ShapeStyle descriptor]; + GPBFieldDescriptor *field = [descriptor fieldWithNumber:SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineCap]; + GPBSetInt32IvarWithFieldInternal(message, field, value, descriptor.file.syntax); } int32_t SVGAProtoShapeEntity_ShapeStyle_LineJoin_RawValue(SVGAProtoShapeEntity_ShapeStyle *message) { - GPBDescriptor *descriptor = [SVGAProtoShapeEntity_ShapeStyle descriptor]; - GPBFieldDescriptor *field = [descriptor fieldWithNumber:SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineJoin]; - return GPBGetMessageInt32Field(message, field); + GPBDescriptor *descriptor = [SVGAProtoShapeEntity_ShapeStyle descriptor]; + GPBFieldDescriptor *field = [descriptor fieldWithNumber:SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineJoin]; + return GPBGetMessageInt32Field(message, field); } void SetSVGAProtoShapeEntity_ShapeStyle_LineJoin_RawValue(SVGAProtoShapeEntity_ShapeStyle *message, int32_t value) { - GPBDescriptor *descriptor = [SVGAProtoShapeEntity_ShapeStyle descriptor]; - GPBFieldDescriptor *field = [descriptor fieldWithNumber:SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineJoin]; - GPBSetInt32IvarWithFieldInternal(message, field, value, descriptor.file.syntax); + GPBDescriptor *descriptor = [SVGAProtoShapeEntity_ShapeStyle descriptor]; + GPBFieldDescriptor *field = [descriptor fieldWithNumber:SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineJoin]; + GPBSetInt32IvarWithFieldInternal(message, field, value, descriptor.file.syntax); } #pragma mark - Enum SVGAProtoShapeEntity_ShapeStyle_LineCap GPBEnumDescriptor *SVGAProtoShapeEntity_ShapeStyle_LineCap_EnumDescriptor(void) { - static GPBEnumDescriptor *descriptor = NULL; - if (!descriptor) { - static const char *valueNames = + static _Atomic(GPBEnumDescriptor*) descriptor = nil; + if (!descriptor) { + static const char *valueNames = "LineCapButt\000LineCapRound\000LineCapSquare\000"; - static const int32_t values[] = { - SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapButt, - SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapRound, - SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapSquare, - }; - static const char *extraTextFormatInfo = "\003\000\007\344\000\001\007\345\000\002\007\346\000"; - GPBEnumDescriptor *worker = + static const int32_t values[] = { + SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapButt, + SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapRound, + SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapSquare, + }; + static const char *extraTextFormatInfo = "\003\000\007\344\000\001\007\345\000\002\007\346\000"; + GPBEnumDescriptor *worker = [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(SVGAProtoShapeEntity_ShapeStyle_LineCap) valueNames:valueNames values:values count:(uint32_t)(sizeof(values) / sizeof(int32_t)) enumVerifier:SVGAProtoShapeEntity_ShapeStyle_LineCap_IsValidValue extraTextFormatInfo:extraTextFormatInfo]; - if (!OSAtomicCompareAndSwapPtrBarrier(nil, worker, (void * volatile *)&descriptor)) { - [worker release]; - } + GPBEnumDescriptor *expected = nil; + if (!atomic_compare_exchange_strong(&descriptor, &expected, worker)) { + [worker release]; } - return descriptor; + } + return descriptor; } BOOL SVGAProtoShapeEntity_ShapeStyle_LineCap_IsValidValue(int32_t value__) { - switch (value__) { - case SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapButt: - case SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapRound: - case SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapSquare: - return YES; - default: - return NO; - } + switch (value__) { + case SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapButt: + case SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapRound: + case SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapSquare: + return YES; + default: + return NO; + } } #pragma mark - Enum SVGAProtoShapeEntity_ShapeStyle_LineJoin GPBEnumDescriptor *SVGAProtoShapeEntity_ShapeStyle_LineJoin_EnumDescriptor(void) { - static GPBEnumDescriptor *descriptor = NULL; - if (!descriptor) { - static const char *valueNames = + static _Atomic(GPBEnumDescriptor*) descriptor = nil; + if (!descriptor) { + static const char *valueNames = "LineJoinMiter\000LineJoinRound\000LineJoinBeve" "l\000"; - static const int32_t values[] = { - SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinMiter, - SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinRound, - SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinBevel, - }; - static const char *extraTextFormatInfo = "\003\000\010\345\000\001\010\345\000\002\010\345\000"; - GPBEnumDescriptor *worker = + static const int32_t values[] = { + SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinMiter, + SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinRound, + SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinBevel, + }; + static const char *extraTextFormatInfo = "\003\000\010\345\000\001\010\345\000\002\010\345\000"; + GPBEnumDescriptor *worker = [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(SVGAProtoShapeEntity_ShapeStyle_LineJoin) valueNames:valueNames values:values count:(uint32_t)(sizeof(values) / sizeof(int32_t)) enumVerifier:SVGAProtoShapeEntity_ShapeStyle_LineJoin_IsValidValue extraTextFormatInfo:extraTextFormatInfo]; - if (!OSAtomicCompareAndSwapPtrBarrier(nil, worker, (void * volatile *)&descriptor)) { - [worker release]; - } + GPBEnumDescriptor *expected = nil; + if (!atomic_compare_exchange_strong(&descriptor, &expected, worker)) { + [worker release]; } - return descriptor; + } + return descriptor; } BOOL SVGAProtoShapeEntity_ShapeStyle_LineJoin_IsValidValue(int32_t value__) { - switch (value__) { - case SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinMiter: - case SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinRound: - case SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinBevel: - return YES; - default: - return NO; - } + switch (value__) { + case SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinMiter: + case SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinRound: + case SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinBevel: + return YES; + default: + return NO; + } } #pragma mark - SVGAProtoShapeEntity_ShapeStyle_RGBAColor @@ -1088,57 +1071,57 @@ @implementation SVGAProtoShapeEntity_ShapeStyle_RGBAColor @dynamic a; typedef struct SVGAProtoShapeEntity_ShapeStyle_RGBAColor__storage_ { - uint32_t _has_storage_[1]; - float r; - float g; - float b; - float a; + uint32_t _has_storage_[1]; + float r; + float g; + float b; + float a; } SVGAProtoShapeEntity_ShapeStyle_RGBAColor__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { - static GPBDescriptor *descriptor = nil; - if (!descriptor) { - static GPBMessageFieldDescription fields[] = { - { - .name = "r", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber_R, - .hasIndex = 0, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle_RGBAColor__storage_, r), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "g", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber_G, - .hasIndex = 1, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle_RGBAColor__storage_, g), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "b", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber_B, - .hasIndex = 2, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle_RGBAColor__storage_, b), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "a", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber_A, - .hasIndex = 3, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle_RGBAColor__storage_, a), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - }; - GPBDescriptor *localDescriptor = + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "r", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber_R, + .hasIndex = 0, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle_RGBAColor__storage_, r), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "g", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber_G, + .hasIndex = 1, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle_RGBAColor__storage_, g), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "b", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber_B, + .hasIndex = 2, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle_RGBAColor__storage_, b), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "a", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber_A, + .hasIndex = 3, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle_RGBAColor__storage_, a), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + }; + GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[SVGAProtoShapeEntity_ShapeStyle_RGBAColor class] rootClass:[SVGAProtoSvgaRoot class] file:SVGAProtoSvgaRoot_FileDescriptor() @@ -1146,11 +1129,11 @@ + (GPBDescriptor *)descriptor { fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) storageSize:sizeof(SVGAProtoShapeEntity_ShapeStyle_RGBAColor__storage_) flags:GPBDescriptorInitializationFlag_None]; - [localDescriptor setupContainingMessageClassName:GPBStringifySymbol(SVGAProtoShapeEntity_ShapeStyle)]; - NSAssert(descriptor == nil, @"Startup recursed!"); - descriptor = localDescriptor; - } - return descriptor; + [localDescriptor setupContainingMessageClassName:GPBStringifySymbol(SVGAProtoShapeEntity_ShapeStyle)]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; } @end @@ -1166,67 +1149,67 @@ @implementation SVGAProtoFrameEntity @dynamic shapesArray, shapesArray_Count; typedef struct SVGAProtoFrameEntity__storage_ { - uint32_t _has_storage_[1]; - float alpha; - SVGAProtoLayout *layout; - SVGAProtoTransform *transform; - NSString *clipPath; - NSMutableArray *shapesArray; + uint32_t _has_storage_[1]; + float alpha; + SVGAProtoLayout *layout; + SVGAProtoTransform *transform; + NSString *clipPath; + NSMutableArray *shapesArray; } SVGAProtoFrameEntity__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { - static GPBDescriptor *descriptor = nil; - if (!descriptor) { - static GPBMessageFieldDescription fields[] = { - { - .name = "alpha", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoFrameEntity_FieldNumber_Alpha, - .hasIndex = 0, - .offset = (uint32_t)offsetof(SVGAProtoFrameEntity__storage_, alpha), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "layout", - .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoLayout), - .number = SVGAProtoFrameEntity_FieldNumber_Layout, - .hasIndex = 1, - .offset = (uint32_t)offsetof(SVGAProtoFrameEntity__storage_, layout), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - { - .name = "transform", - .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoTransform), - .number = SVGAProtoFrameEntity_FieldNumber_Transform, - .hasIndex = 2, - .offset = (uint32_t)offsetof(SVGAProtoFrameEntity__storage_, transform), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - { - .name = "clipPath", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoFrameEntity_FieldNumber_ClipPath, - .hasIndex = 3, - .offset = (uint32_t)offsetof(SVGAProtoFrameEntity__storage_, clipPath), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeString, - }, - { - .name = "shapesArray", - .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoShapeEntity), - .number = SVGAProtoFrameEntity_FieldNumber_ShapesArray, - .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(SVGAProtoFrameEntity__storage_, shapesArray), - .flags = GPBFieldRepeated, - .dataType = GPBDataTypeMessage, - }, - }; - GPBDescriptor *localDescriptor = + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "alpha", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoFrameEntity_FieldNumber_Alpha, + .hasIndex = 0, + .offset = (uint32_t)offsetof(SVGAProtoFrameEntity__storage_, alpha), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "layout", + .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoLayout), + .number = SVGAProtoFrameEntity_FieldNumber_Layout, + .hasIndex = 1, + .offset = (uint32_t)offsetof(SVGAProtoFrameEntity__storage_, layout), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "transform", + .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoTransform), + .number = SVGAProtoFrameEntity_FieldNumber_Transform, + .hasIndex = 2, + .offset = (uint32_t)offsetof(SVGAProtoFrameEntity__storage_, transform), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "clipPath", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoFrameEntity_FieldNumber_ClipPath, + .hasIndex = 3, + .offset = (uint32_t)offsetof(SVGAProtoFrameEntity__storage_, clipPath), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeString, + }, + { + .name = "shapesArray", + .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoShapeEntity), + .number = SVGAProtoFrameEntity_FieldNumber_ShapesArray, + .hasIndex = GPBNoHasBit, + .offset = (uint32_t)offsetof(SVGAProtoFrameEntity__storage_, shapesArray), + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[SVGAProtoFrameEntity class] rootClass:[SVGAProtoSvgaRoot class] file:SVGAProtoSvgaRoot_FileDescriptor() @@ -1235,14 +1218,14 @@ + (GPBDescriptor *)descriptor { storageSize:sizeof(SVGAProtoFrameEntity__storage_) flags:GPBDescriptorInitializationFlag_None]; #if !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS - static const char *extraTextFormatInfo = + static const char *extraTextFormatInfo = "\001\004\010\000"; - [localDescriptor setupExtraTextInfo:extraTextFormatInfo]; + [localDescriptor setupExtraTextInfo:extraTextFormatInfo]; #endif // !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS - NSAssert(descriptor == nil, @"Startup recursed!"); - descriptor = localDescriptor; - } - return descriptor; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; } @end @@ -1258,67 +1241,67 @@ @implementation SVGAProtoMovieEntity @dynamic audiosArray, audiosArray_Count; typedef struct SVGAProtoMovieEntity__storage_ { - uint32_t _has_storage_[1]; - NSString *version; - SVGAProtoMovieParams *params; - NSMutableDictionary *images; - NSMutableArray *spritesArray; - NSMutableArray *audiosArray; + uint32_t _has_storage_[1]; + NSString *version; + SVGAProtoMovieParams *params; + NSMutableDictionary *images; + NSMutableArray *spritesArray; + NSMutableArray *audiosArray; } SVGAProtoMovieEntity__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { - static GPBDescriptor *descriptor = nil; - if (!descriptor) { - static GPBMessageFieldDescription fields[] = { - { - .name = "version", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoMovieEntity_FieldNumber_Version, - .hasIndex = 0, - .offset = (uint32_t)offsetof(SVGAProtoMovieEntity__storage_, version), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeString, - }, - { - .name = "params", - .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoMovieParams), - .number = SVGAProtoMovieEntity_FieldNumber_Params, - .hasIndex = 1, - .offset = (uint32_t)offsetof(SVGAProtoMovieEntity__storage_, params), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - { - .name = "images", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoMovieEntity_FieldNumber_Images, - .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(SVGAProtoMovieEntity__storage_, images), - .flags = GPBFieldMapKeyString, - .dataType = GPBDataTypeBytes, - }, - { - .name = "spritesArray", - .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoSpriteEntity), - .number = SVGAProtoMovieEntity_FieldNumber_SpritesArray, - .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(SVGAProtoMovieEntity__storage_, spritesArray), - .flags = GPBFieldRepeated, - .dataType = GPBDataTypeMessage, - }, - { - .name = "audiosArray", - .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoAudioEntity), - .number = SVGAProtoMovieEntity_FieldNumber_AudiosArray, - .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(SVGAProtoMovieEntity__storage_, audiosArray), - .flags = GPBFieldRepeated, - .dataType = GPBDataTypeMessage, - }, - }; - GPBDescriptor *localDescriptor = + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "version", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoMovieEntity_FieldNumber_Version, + .hasIndex = 0, + .offset = (uint32_t)offsetof(SVGAProtoMovieEntity__storage_, version), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeString, + }, + { + .name = "params", + .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoMovieParams), + .number = SVGAProtoMovieEntity_FieldNumber_Params, + .hasIndex = 1, + .offset = (uint32_t)offsetof(SVGAProtoMovieEntity__storage_, params), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "images", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoMovieEntity_FieldNumber_Images, + .hasIndex = GPBNoHasBit, + .offset = (uint32_t)offsetof(SVGAProtoMovieEntity__storage_, images), + .flags = GPBFieldMapKeyString, + .dataType = GPBDataTypeBytes, + }, + { + .name = "spritesArray", + .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoSpriteEntity), + .number = SVGAProtoMovieEntity_FieldNumber_SpritesArray, + .hasIndex = GPBNoHasBit, + .offset = (uint32_t)offsetof(SVGAProtoMovieEntity__storage_, spritesArray), + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + }, + { + .name = "audiosArray", + .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoAudioEntity), + .number = SVGAProtoMovieEntity_FieldNumber_AudiosArray, + .hasIndex = GPBNoHasBit, + .offset = (uint32_t)offsetof(SVGAProtoMovieEntity__storage_, audiosArray), + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[SVGAProtoMovieEntity class] rootClass:[SVGAProtoSvgaRoot class] file:SVGAProtoSvgaRoot_FileDescriptor() @@ -1326,10 +1309,10 @@ + (GPBDescriptor *)descriptor { fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) storageSize:sizeof(SVGAProtoMovieEntity__storage_) flags:GPBDescriptorInitializationFlag_None]; - NSAssert(descriptor == nil, @"Startup recursed!"); - descriptor = localDescriptor; - } - return descriptor; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; } @end From 6ec6b295e3a2aa69b9052451606ecc955fc3f0ce Mon Sep 17 00:00:00 2001 From: errnull Date: Thu, 13 Jun 2019 11:12:17 +0800 Subject: [PATCH 034/104] feat: add 2.x proto support for matte. --- Podfile.lock | 2 +- SVGAPlayer/ViewController.m | 2 +- Source/pbobjc/Svga.pbobjc.h | 212 ++--- Source/pbobjc/Svga.pbobjc.m | 1723 ++++++++++++++++++----------------- 4 files changed, 982 insertions(+), 957 deletions(-) diff --git a/Podfile.lock b/Podfile.lock index 96533f8c..1055b0a0 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -64,4 +64,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: 7f6714245d47e69d2933463289e4c4d6de65b831 -COCOAPODS: 1.6.0.beta.2 +COCOAPODS: 1.6.1 diff --git a/SVGAPlayer/ViewController.m b/SVGAPlayer/ViewController.m index 9c521792..c0bd15ca 100644 --- a/SVGAPlayer/ViewController.m +++ b/SVGAPlayer/ViewController.m @@ -30,7 +30,7 @@ - (void)viewDidLoad { } - (IBAction)onChange:(id)sender { - [parser parseWithNamed:@"mutiMatte" + [parser parseWithNamed:@"rose_2.0.0" inBundle:[NSBundle mainBundle] completionBlock:^(SVGAVideoEntity * _Nonnull videoItem) { if (videoItem != nil) { self.aPlayer.videoItem = videoItem; diff --git a/Source/pbobjc/Svga.pbobjc.h b/Source/pbobjc/Svga.pbobjc.h index b8f25eb4..7eb12ddd 100644 --- a/Source/pbobjc/Svga.pbobjc.h +++ b/Source/pbobjc/Svga.pbobjc.h @@ -4,13 +4,13 @@ // This CPP symbol can be defined to use imports that match up to the framework // imports needed when using CocoaPods. #if !defined(GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS) - #define GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS 0 +#define GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS 0 #endif #if GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS - #import +#import #else - #import "GPBProtocolBuffers.h" +#import "GPBProtocolBuffers.h" #endif #if GOOGLE_PROTOBUF_OBJC_VERSION < 30002 @@ -45,23 +45,23 @@ NS_ASSUME_NONNULL_BEGIN #pragma mark - Enum SVGAProtoShapeEntity_ShapeType typedef GPB_ENUM(SVGAProtoShapeEntity_ShapeType) { - /** - * Value used if any message's field encounters a value that is not defined - * by this enum. The message will also have C functions to get/set the rawValue - * of the field. - **/ - SVGAProtoShapeEntity_ShapeType_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue, - /** 路径 */ - SVGAProtoShapeEntity_ShapeType_Shape = 0, - - /** 矩形 */ - SVGAProtoShapeEntity_ShapeType_Rect = 1, - - /** 圆形 */ - SVGAProtoShapeEntity_ShapeType_Ellipse = 2, - - /** 与前帧一致 */ - SVGAProtoShapeEntity_ShapeType_Keep = 3, + /** + * Value used if any message's field encounters a value that is not defined + * by this enum. The message will also have C functions to get/set the rawValue + * of the field. + **/ + SVGAProtoShapeEntity_ShapeType_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue, + /** 路径 */ + SVGAProtoShapeEntity_ShapeType_Shape = 0, + + /** 矩形 */ + SVGAProtoShapeEntity_ShapeType_Rect = 1, + + /** 圆形 */ + SVGAProtoShapeEntity_ShapeType_Ellipse = 2, + + /** 与前帧一致 */ + SVGAProtoShapeEntity_ShapeType_Keep = 3, }; GPBEnumDescriptor *SVGAProtoShapeEntity_ShapeType_EnumDescriptor(void); @@ -75,15 +75,15 @@ BOOL SVGAProtoShapeEntity_ShapeType_IsValidValue(int32_t value); #pragma mark - Enum SVGAProtoShapeEntity_ShapeStyle_LineCap typedef GPB_ENUM(SVGAProtoShapeEntity_ShapeStyle_LineCap) { - /** - * Value used if any message's field encounters a value that is not defined - * by this enum. The message will also have C functions to get/set the rawValue - * of the field. - **/ - SVGAProtoShapeEntity_ShapeStyle_LineCap_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue, - SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapButt = 0, - SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapRound = 1, - SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapSquare = 2, + /** + * Value used if any message's field encounters a value that is not defined + * by this enum. The message will also have C functions to get/set the rawValue + * of the field. + **/ + SVGAProtoShapeEntity_ShapeStyle_LineCap_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue, + SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapButt = 0, + SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapRound = 1, + SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapSquare = 2, }; GPBEnumDescriptor *SVGAProtoShapeEntity_ShapeStyle_LineCap_EnumDescriptor(void); @@ -97,15 +97,15 @@ BOOL SVGAProtoShapeEntity_ShapeStyle_LineCap_IsValidValue(int32_t value); #pragma mark - Enum SVGAProtoShapeEntity_ShapeStyle_LineJoin typedef GPB_ENUM(SVGAProtoShapeEntity_ShapeStyle_LineJoin) { - /** - * Value used if any message's field encounters a value that is not defined - * by this enum. The message will also have C functions to get/set the rawValue - * of the field. - **/ - SVGAProtoShapeEntity_ShapeStyle_LineJoin_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue, - SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinMiter = 0, - SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinRound = 1, - SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinBevel = 2, + /** + * Value used if any message's field encounters a value that is not defined + * by this enum. The message will also have C functions to get/set the rawValue + * of the field. + **/ + SVGAProtoShapeEntity_ShapeStyle_LineJoin_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue, + SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinMiter = 0, + SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinRound = 1, + SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinBevel = 2, }; GPBEnumDescriptor *SVGAProtoShapeEntity_ShapeStyle_LineJoin_EnumDescriptor(void); @@ -134,10 +134,10 @@ BOOL SVGAProtoShapeEntity_ShapeStyle_LineJoin_IsValidValue(int32_t value); #pragma mark - SVGAProtoMovieParams typedef GPB_ENUM(SVGAProtoMovieParams_FieldNumber) { - SVGAProtoMovieParams_FieldNumber_ViewBoxWidth = 1, - SVGAProtoMovieParams_FieldNumber_ViewBoxHeight = 2, - SVGAProtoMovieParams_FieldNumber_Fps = 3, - SVGAProtoMovieParams_FieldNumber_Frames = 4, + SVGAProtoMovieParams_FieldNumber_ViewBoxWidth = 1, + SVGAProtoMovieParams_FieldNumber_ViewBoxHeight = 2, + SVGAProtoMovieParams_FieldNumber_Fps = 3, + SVGAProtoMovieParams_FieldNumber_Frames = 4, }; @interface SVGAProtoMovieParams : GPBMessage @@ -159,13 +159,14 @@ typedef GPB_ENUM(SVGAProtoMovieParams_FieldNumber) { #pragma mark - SVGAProtoSpriteEntity typedef GPB_ENUM(SVGAProtoSpriteEntity_FieldNumber) { - SVGAProtoSpriteEntity_FieldNumber_ImageKey = 1, - SVGAProtoSpriteEntity_FieldNumber_FramesArray = 2, + SVGAProtoSpriteEntity_FieldNumber_ImageKey = 1, + SVGAProtoSpriteEntity_FieldNumber_FramesArray = 2, + SVGAProtoSpriteEntity_FieldNumber_MatteKey = 3, }; @interface SVGAProtoSpriteEntity : GPBMessage -/** 元件所对应的位图键名, 如果 imageKey 含有 .vector 后缀,该 sprite 为矢量图层。 */ +/** 元件所对应的位图键名, 如果 imageKey 含有 .vector 后缀,该 sprite 为矢量图层 含有 .matte 后缀,该 sprite 为遮罩图层。 */ @property(nonatomic, readwrite, copy, null_resettable) NSString *imageKey; /** 帧列表 */ @@ -173,15 +174,19 @@ typedef GPB_ENUM(SVGAProtoSpriteEntity_FieldNumber) { /** The number of items in @c framesArray without causing the array to be created. */ @property(nonatomic, readonly) NSUInteger framesArray_Count; +/** 元件所对应的位图键名, 如果 imageKey 含有 .vector 后缀,该 sprite 为矢量图层。 */ +@property(nonatomic, readwrite, copy, null_resettable) NSString *matteKey; + @end #pragma mark - SVGAProtoAudioEntity typedef GPB_ENUM(SVGAProtoAudioEntity_FieldNumber) { - SVGAProtoAudioEntity_FieldNumber_AudioKey = 1, - SVGAProtoAudioEntity_FieldNumber_StartFrame = 2, - SVGAProtoAudioEntity_FieldNumber_EndFrame = 3, - SVGAProtoAudioEntity_FieldNumber_StartTime = 4, + SVGAProtoAudioEntity_FieldNumber_AudioKey = 1, + SVGAProtoAudioEntity_FieldNumber_StartFrame = 2, + SVGAProtoAudioEntity_FieldNumber_EndFrame = 3, + SVGAProtoAudioEntity_FieldNumber_StartTime = 4, + SVGAProtoAudioEntity_FieldNumber_TotalTime = 5, }; @interface SVGAProtoAudioEntity : GPBMessage @@ -198,15 +203,18 @@ typedef GPB_ENUM(SVGAProtoAudioEntity_FieldNumber) { /** 音频播放起始时间(相对音频长度) */ @property(nonatomic, readwrite) int32_t startTime; +/** 音频总长度 */ +@property(nonatomic, readwrite) int32_t totalTime; + @end #pragma mark - SVGAProtoLayout typedef GPB_ENUM(SVGAProtoLayout_FieldNumber) { - SVGAProtoLayout_FieldNumber_X = 1, - SVGAProtoLayout_FieldNumber_Y = 2, - SVGAProtoLayout_FieldNumber_Width = 3, - SVGAProtoLayout_FieldNumber_Height = 4, + SVGAProtoLayout_FieldNumber_X = 1, + SVGAProtoLayout_FieldNumber_Y = 2, + SVGAProtoLayout_FieldNumber_Width = 3, + SVGAProtoLayout_FieldNumber_Height = 4, }; @interface SVGAProtoLayout : GPBMessage @@ -224,12 +232,12 @@ typedef GPB_ENUM(SVGAProtoLayout_FieldNumber) { #pragma mark - SVGAProtoTransform typedef GPB_ENUM(SVGAProtoTransform_FieldNumber) { - SVGAProtoTransform_FieldNumber_A = 1, - SVGAProtoTransform_FieldNumber_B = 2, - SVGAProtoTransform_FieldNumber_C = 3, - SVGAProtoTransform_FieldNumber_D = 4, - SVGAProtoTransform_FieldNumber_Tx = 5, - SVGAProtoTransform_FieldNumber_Ty = 6, + SVGAProtoTransform_FieldNumber_A = 1, + SVGAProtoTransform_FieldNumber_B = 2, + SVGAProtoTransform_FieldNumber_C = 3, + SVGAProtoTransform_FieldNumber_D = 4, + SVGAProtoTransform_FieldNumber_Tx = 5, + SVGAProtoTransform_FieldNumber_Ty = 6, }; @interface SVGAProtoTransform : GPBMessage @@ -251,19 +259,19 @@ typedef GPB_ENUM(SVGAProtoTransform_FieldNumber) { #pragma mark - SVGAProtoShapeEntity typedef GPB_ENUM(SVGAProtoShapeEntity_FieldNumber) { - SVGAProtoShapeEntity_FieldNumber_Type = 1, - SVGAProtoShapeEntity_FieldNumber_Shape = 2, - SVGAProtoShapeEntity_FieldNumber_Rect = 3, - SVGAProtoShapeEntity_FieldNumber_Ellipse = 4, - SVGAProtoShapeEntity_FieldNumber_Styles = 10, - SVGAProtoShapeEntity_FieldNumber_Transform = 11, + SVGAProtoShapeEntity_FieldNumber_Type = 1, + SVGAProtoShapeEntity_FieldNumber_Shape = 2, + SVGAProtoShapeEntity_FieldNumber_Rect = 3, + SVGAProtoShapeEntity_FieldNumber_Ellipse = 4, + SVGAProtoShapeEntity_FieldNumber_Styles = 10, + SVGAProtoShapeEntity_FieldNumber_Transform = 11, }; typedef GPB_ENUM(SVGAProtoShapeEntity_Args_OneOfCase) { - SVGAProtoShapeEntity_Args_OneOfCase_GPBUnsetOneOfCase = 0, - SVGAProtoShapeEntity_Args_OneOfCase_Shape = 2, - SVGAProtoShapeEntity_Args_OneOfCase_Rect = 3, - SVGAProtoShapeEntity_Args_OneOfCase_Ellipse = 4, + SVGAProtoShapeEntity_Args_OneOfCase_GPBUnsetOneOfCase = 0, + SVGAProtoShapeEntity_Args_OneOfCase_Shape = 2, + SVGAProtoShapeEntity_Args_OneOfCase_Rect = 3, + SVGAProtoShapeEntity_Args_OneOfCase_Ellipse = 4, }; @interface SVGAProtoShapeEntity : GPBMessage @@ -311,7 +319,7 @@ void SVGAProtoShapeEntity_ClearArgsOneOfCase(SVGAProtoShapeEntity *message); #pragma mark - SVGAProtoShapeEntity_ShapeArgs typedef GPB_ENUM(SVGAProtoShapeEntity_ShapeArgs_FieldNumber) { - SVGAProtoShapeEntity_ShapeArgs_FieldNumber_D = 1, + SVGAProtoShapeEntity_ShapeArgs_FieldNumber_D = 1, }; @interface SVGAProtoShapeEntity_ShapeArgs : GPBMessage @@ -324,11 +332,11 @@ typedef GPB_ENUM(SVGAProtoShapeEntity_ShapeArgs_FieldNumber) { #pragma mark - SVGAProtoShapeEntity_RectArgs typedef GPB_ENUM(SVGAProtoShapeEntity_RectArgs_FieldNumber) { - SVGAProtoShapeEntity_RectArgs_FieldNumber_X = 1, - SVGAProtoShapeEntity_RectArgs_FieldNumber_Y = 2, - SVGAProtoShapeEntity_RectArgs_FieldNumber_Width = 3, - SVGAProtoShapeEntity_RectArgs_FieldNumber_Height = 4, - SVGAProtoShapeEntity_RectArgs_FieldNumber_CornerRadius = 5, + SVGAProtoShapeEntity_RectArgs_FieldNumber_X = 1, + SVGAProtoShapeEntity_RectArgs_FieldNumber_Y = 2, + SVGAProtoShapeEntity_RectArgs_FieldNumber_Width = 3, + SVGAProtoShapeEntity_RectArgs_FieldNumber_Height = 4, + SVGAProtoShapeEntity_RectArgs_FieldNumber_CornerRadius = 5, }; @interface SVGAProtoShapeEntity_RectArgs : GPBMessage @@ -349,10 +357,10 @@ typedef GPB_ENUM(SVGAProtoShapeEntity_RectArgs_FieldNumber) { #pragma mark - SVGAProtoShapeEntity_EllipseArgs typedef GPB_ENUM(SVGAProtoShapeEntity_EllipseArgs_FieldNumber) { - SVGAProtoShapeEntity_EllipseArgs_FieldNumber_X = 1, - SVGAProtoShapeEntity_EllipseArgs_FieldNumber_Y = 2, - SVGAProtoShapeEntity_EllipseArgs_FieldNumber_RadiusX = 3, - SVGAProtoShapeEntity_EllipseArgs_FieldNumber_RadiusY = 4, + SVGAProtoShapeEntity_EllipseArgs_FieldNumber_X = 1, + SVGAProtoShapeEntity_EllipseArgs_FieldNumber_Y = 2, + SVGAProtoShapeEntity_EllipseArgs_FieldNumber_RadiusX = 3, + SVGAProtoShapeEntity_EllipseArgs_FieldNumber_RadiusY = 4, }; @interface SVGAProtoShapeEntity_EllipseArgs : GPBMessage @@ -374,15 +382,15 @@ typedef GPB_ENUM(SVGAProtoShapeEntity_EllipseArgs_FieldNumber) { #pragma mark - SVGAProtoShapeEntity_ShapeStyle typedef GPB_ENUM(SVGAProtoShapeEntity_ShapeStyle_FieldNumber) { - SVGAProtoShapeEntity_ShapeStyle_FieldNumber_Fill = 1, - SVGAProtoShapeEntity_ShapeStyle_FieldNumber_Stroke = 2, - SVGAProtoShapeEntity_ShapeStyle_FieldNumber_StrokeWidth = 3, - SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineCap = 4, - SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineJoin = 5, - SVGAProtoShapeEntity_ShapeStyle_FieldNumber_MiterLimit = 6, - SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineDashI = 7, - SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineDashIi = 8, - SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineDashIii = 9, + SVGAProtoShapeEntity_ShapeStyle_FieldNumber_Fill = 1, + SVGAProtoShapeEntity_ShapeStyle_FieldNumber_Stroke = 2, + SVGAProtoShapeEntity_ShapeStyle_FieldNumber_StrokeWidth = 3, + SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineCap = 4, + SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineJoin = 5, + SVGAProtoShapeEntity_ShapeStyle_FieldNumber_MiterLimit = 6, + SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineDashI = 7, + SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineDashIi = 8, + SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineDashIii = 9, }; @interface SVGAProtoShapeEntity_ShapeStyle : GPBMessage @@ -447,10 +455,10 @@ void SetSVGAProtoShapeEntity_ShapeStyle_LineJoin_RawValue(SVGAProtoShapeEntity_S #pragma mark - SVGAProtoShapeEntity_ShapeStyle_RGBAColor typedef GPB_ENUM(SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber) { - SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber_R = 1, - SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber_G = 2, - SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber_B = 3, - SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber_A = 4, + SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber_R = 1, + SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber_G = 2, + SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber_B = 3, + SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber_A = 4, }; @interface SVGAProtoShapeEntity_ShapeStyle_RGBAColor : GPBMessage @@ -468,11 +476,11 @@ typedef GPB_ENUM(SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber) { #pragma mark - SVGAProtoFrameEntity typedef GPB_ENUM(SVGAProtoFrameEntity_FieldNumber) { - SVGAProtoFrameEntity_FieldNumber_Alpha = 1, - SVGAProtoFrameEntity_FieldNumber_Layout = 2, - SVGAProtoFrameEntity_FieldNumber_Transform = 3, - SVGAProtoFrameEntity_FieldNumber_ClipPath = 4, - SVGAProtoFrameEntity_FieldNumber_ShapesArray = 5, + SVGAProtoFrameEntity_FieldNumber_Alpha = 1, + SVGAProtoFrameEntity_FieldNumber_Layout = 2, + SVGAProtoFrameEntity_FieldNumber_Transform = 3, + SVGAProtoFrameEntity_FieldNumber_ClipPath = 4, + SVGAProtoFrameEntity_FieldNumber_ShapesArray = 5, }; @interface SVGAProtoFrameEntity : GPBMessage @@ -503,11 +511,11 @@ typedef GPB_ENUM(SVGAProtoFrameEntity_FieldNumber) { #pragma mark - SVGAProtoMovieEntity typedef GPB_ENUM(SVGAProtoMovieEntity_FieldNumber) { - SVGAProtoMovieEntity_FieldNumber_Version = 1, - SVGAProtoMovieEntity_FieldNumber_Params = 2, - SVGAProtoMovieEntity_FieldNumber_Images = 3, - SVGAProtoMovieEntity_FieldNumber_SpritesArray = 4, - SVGAProtoMovieEntity_FieldNumber_AudiosArray = 5, + SVGAProtoMovieEntity_FieldNumber_Version = 1, + SVGAProtoMovieEntity_FieldNumber_Params = 2, + SVGAProtoMovieEntity_FieldNumber_Images = 3, + SVGAProtoMovieEntity_FieldNumber_SpritesArray = 4, + SVGAProtoMovieEntity_FieldNumber_AudiosArray = 5, }; @interface SVGAProtoMovieEntity : GPBMessage diff --git a/Source/pbobjc/Svga.pbobjc.m b/Source/pbobjc/Svga.pbobjc.m index 82185a32..3fd8e4d7 100644 --- a/Source/pbobjc/Svga.pbobjc.m +++ b/Source/pbobjc/Svga.pbobjc.m @@ -4,17 +4,15 @@ // This CPP symbol can be defined to use imports that match up to the framework // imports needed when using CocoaPods. #if !defined(GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS) - #define GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS 0 +#define GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS 0 #endif #if GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS - #import +#import #else - #import "GPBProtocolBuffers_RuntimeSupport.h" +#import "GPBProtocolBuffers_RuntimeSupport.h" #endif -#import - #import "Svga.pbobjc.h" // @@protoc_insertion_point(imports) @@ -34,16 +32,16 @@ @implementation SVGAProtoSvgaRoot #pragma mark - SVGAProtoSvgaRoot_FileDescriptor static GPBFileDescriptor *SVGAProtoSvgaRoot_FileDescriptor(void) { - // This is called by +initialize so there is no need to worry - // about thread safety of the singleton. - static GPBFileDescriptor *descriptor = NULL; - if (!descriptor) { - GPB_DEBUG_CHECK_RUNTIME_VERSIONS(); - descriptor = [[GPBFileDescriptor alloc] initWithPackage:@"com.opensource.svga" - objcPrefix:@"SVGAProto" - syntax:GPBFileSyntaxProto3]; - } - return descriptor; + // This is called by +initialize so there is no need to worry + // about thread safety of the singleton. + static GPBFileDescriptor *descriptor = NULL; + if (!descriptor) { + GPB_DEBUG_CHECK_RUNTIME_VERSIONS(); + descriptor = [[GPBFileDescriptor alloc] initWithPackage:@"com.opensource.svga" + objcPrefix:@"SVGAProto" + syntax:GPBFileSyntaxProto3]; + } + return descriptor; } #pragma mark - SVGAProtoMovieParams @@ -56,57 +54,57 @@ @implementation SVGAProtoMovieParams @dynamic frames; typedef struct SVGAProtoMovieParams__storage_ { - uint32_t _has_storage_[1]; - float viewBoxWidth; - float viewBoxHeight; - int32_t fps; - int32_t frames; + uint32_t _has_storage_[1]; + float viewBoxWidth; + float viewBoxHeight; + int32_t fps; + int32_t frames; } SVGAProtoMovieParams__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { - static GPBDescriptor *descriptor = nil; - if (!descriptor) { - static GPBMessageFieldDescription fields[] = { - { - .name = "viewBoxWidth", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoMovieParams_FieldNumber_ViewBoxWidth, - .hasIndex = 0, - .offset = (uint32_t)offsetof(SVGAProtoMovieParams__storage_, viewBoxWidth), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeFloat, - }, - { - .name = "viewBoxHeight", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoMovieParams_FieldNumber_ViewBoxHeight, - .hasIndex = 1, - .offset = (uint32_t)offsetof(SVGAProtoMovieParams__storage_, viewBoxHeight), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeFloat, - }, - { - .name = "fps", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoMovieParams_FieldNumber_Fps, - .hasIndex = 2, - .offset = (uint32_t)offsetof(SVGAProtoMovieParams__storage_, fps), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeInt32, - }, - { - .name = "frames", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoMovieParams_FieldNumber_Frames, - .hasIndex = 3, - .offset = (uint32_t)offsetof(SVGAProtoMovieParams__storage_, frames), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeInt32, - }, - }; - GPBDescriptor *localDescriptor = + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "viewBoxWidth", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoMovieParams_FieldNumber_ViewBoxWidth, + .hasIndex = 0, + .offset = (uint32_t)offsetof(SVGAProtoMovieParams__storage_, viewBoxWidth), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeFloat, + }, + { + .name = "viewBoxHeight", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoMovieParams_FieldNumber_ViewBoxHeight, + .hasIndex = 1, + .offset = (uint32_t)offsetof(SVGAProtoMovieParams__storage_, viewBoxHeight), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeFloat, + }, + { + .name = "fps", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoMovieParams_FieldNumber_Fps, + .hasIndex = 2, + .offset = (uint32_t)offsetof(SVGAProtoMovieParams__storage_, fps), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeInt32, + }, + { + .name = "frames", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoMovieParams_FieldNumber_Frames, + .hasIndex = 3, + .offset = (uint32_t)offsetof(SVGAProtoMovieParams__storage_, frames), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeInt32, + }, + }; + GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[SVGAProtoMovieParams class] rootClass:[SVGAProtoSvgaRoot class] file:SVGAProtoSvgaRoot_FileDescriptor() @@ -115,14 +113,14 @@ + (GPBDescriptor *)descriptor { storageSize:sizeof(SVGAProtoMovieParams__storage_) flags:GPBDescriptorInitializationFlag_None]; #if !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS - static const char *extraTextFormatInfo = + static const char *extraTextFormatInfo = "\002\001\014\000\002\r\000"; - [localDescriptor setupExtraTextInfo:extraTextFormatInfo]; + [localDescriptor setupExtraTextInfo:extraTextFormatInfo]; #endif // !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS - NSAssert(descriptor == nil, @"Startup recursed!"); - descriptor = localDescriptor; - } - return descriptor; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; } @end @@ -133,39 +131,50 @@ @implementation SVGAProtoSpriteEntity @dynamic imageKey; @dynamic framesArray, framesArray_Count; +@dynamic matteKey; typedef struct SVGAProtoSpriteEntity__storage_ { - uint32_t _has_storage_[1]; - NSString *imageKey; - NSMutableArray *framesArray; + uint32_t _has_storage_[1]; + NSString *imageKey; + NSMutableArray *framesArray; + NSString *matteKey; } SVGAProtoSpriteEntity__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { - static GPBDescriptor *descriptor = nil; - if (!descriptor) { - static GPBMessageFieldDescription fields[] = { - { - .name = "imageKey", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoSpriteEntity_FieldNumber_ImageKey, - .hasIndex = 0, - .offset = (uint32_t)offsetof(SVGAProtoSpriteEntity__storage_, imageKey), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeString, - }, - { - .name = "framesArray", - .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoFrameEntity), - .number = SVGAProtoSpriteEntity_FieldNumber_FramesArray, - .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(SVGAProtoSpriteEntity__storage_, framesArray), - .flags = GPBFieldRepeated, - .dataType = GPBDataTypeMessage, - }, - }; - GPBDescriptor *localDescriptor = + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "imageKey", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoSpriteEntity_FieldNumber_ImageKey, + .hasIndex = 0, + .offset = (uint32_t)offsetof(SVGAProtoSpriteEntity__storage_, imageKey), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeString, + }, + { + .name = "framesArray", + .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoFrameEntity), + .number = SVGAProtoSpriteEntity_FieldNumber_FramesArray, + .hasIndex = GPBNoHasBit, + .offset = (uint32_t)offsetof(SVGAProtoSpriteEntity__storage_, framesArray), + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + }, + { + .name = "matteKey", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoSpriteEntity_FieldNumber_MatteKey, + .hasIndex = 1, + .offset = (uint32_t)offsetof(SVGAProtoSpriteEntity__storage_, matteKey), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeString, + }, + }; + GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[SVGAProtoSpriteEntity class] rootClass:[SVGAProtoSvgaRoot class] file:SVGAProtoSvgaRoot_FileDescriptor() @@ -174,14 +183,14 @@ + (GPBDescriptor *)descriptor { storageSize:sizeof(SVGAProtoSpriteEntity__storage_) flags:GPBDescriptorInitializationFlag_None]; #if !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS - static const char *extraTextFormatInfo = - "\001\001\010\000"; - [localDescriptor setupExtraTextInfo:extraTextFormatInfo]; + static const char *extraTextFormatInfo = + "\002\001\010\000\003\010\000"; + [localDescriptor setupExtraTextInfo:extraTextFormatInfo]; #endif // !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS - NSAssert(descriptor == nil, @"Startup recursed!"); - descriptor = localDescriptor; - } - return descriptor; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; } @end @@ -194,59 +203,70 @@ @implementation SVGAProtoAudioEntity @dynamic startFrame; @dynamic endFrame; @dynamic startTime; +@dynamic totalTime; typedef struct SVGAProtoAudioEntity__storage_ { - uint32_t _has_storage_[1]; - int32_t startFrame; - int32_t endFrame; - int32_t startTime; - NSString *audioKey; + uint32_t _has_storage_[1]; + int32_t startFrame; + int32_t endFrame; + int32_t startTime; + int32_t totalTime; + NSString *audioKey; } SVGAProtoAudioEntity__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { - static GPBDescriptor *descriptor = nil; - if (!descriptor) { - static GPBMessageFieldDescription fields[] = { - { - .name = "audioKey", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoAudioEntity_FieldNumber_AudioKey, - .hasIndex = 0, - .offset = (uint32_t)offsetof(SVGAProtoAudioEntity__storage_, audioKey), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeString, - }, - { - .name = "startFrame", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoAudioEntity_FieldNumber_StartFrame, - .hasIndex = 1, - .offset = (uint32_t)offsetof(SVGAProtoAudioEntity__storage_, startFrame), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeInt32, - }, - { - .name = "endFrame", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoAudioEntity_FieldNumber_EndFrame, - .hasIndex = 2, - .offset = (uint32_t)offsetof(SVGAProtoAudioEntity__storage_, endFrame), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeInt32, - }, - { - .name = "startTime", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoAudioEntity_FieldNumber_StartTime, - .hasIndex = 3, - .offset = (uint32_t)offsetof(SVGAProtoAudioEntity__storage_, startTime), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeInt32, - }, - }; - GPBDescriptor *localDescriptor = + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "audioKey", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoAudioEntity_FieldNumber_AudioKey, + .hasIndex = 0, + .offset = (uint32_t)offsetof(SVGAProtoAudioEntity__storage_, audioKey), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeString, + }, + { + .name = "startFrame", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoAudioEntity_FieldNumber_StartFrame, + .hasIndex = 1, + .offset = (uint32_t)offsetof(SVGAProtoAudioEntity__storage_, startFrame), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeInt32, + }, + { + .name = "endFrame", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoAudioEntity_FieldNumber_EndFrame, + .hasIndex = 2, + .offset = (uint32_t)offsetof(SVGAProtoAudioEntity__storage_, endFrame), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeInt32, + }, + { + .name = "startTime", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoAudioEntity_FieldNumber_StartTime, + .hasIndex = 3, + .offset = (uint32_t)offsetof(SVGAProtoAudioEntity__storage_, startTime), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeInt32, + }, + { + .name = "totalTime", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoAudioEntity_FieldNumber_TotalTime, + .hasIndex = 4, + .offset = (uint32_t)offsetof(SVGAProtoAudioEntity__storage_, totalTime), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeInt32, + }, + }; + GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[SVGAProtoAudioEntity class] rootClass:[SVGAProtoSvgaRoot class] file:SVGAProtoSvgaRoot_FileDescriptor() @@ -255,14 +275,14 @@ + (GPBDescriptor *)descriptor { storageSize:sizeof(SVGAProtoAudioEntity__storage_) flags:GPBDescriptorInitializationFlag_None]; #if !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS - static const char *extraTextFormatInfo = - "\004\001\010\000\002\n\000\003\010\000\004\t\000"; - [localDescriptor setupExtraTextInfo:extraTextFormatInfo]; + static const char *extraTextFormatInfo = + "\005\001\010\000\002\n\000\003\010\000\004\t\000\005\t\000"; + [localDescriptor setupExtraTextInfo:extraTextFormatInfo]; #endif // !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS - NSAssert(descriptor == nil, @"Startup recursed!"); - descriptor = localDescriptor; - } - return descriptor; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; } @end @@ -277,57 +297,57 @@ @implementation SVGAProtoLayout @dynamic height; typedef struct SVGAProtoLayout__storage_ { - uint32_t _has_storage_[1]; - float x; - float y; - float width; - float height; + uint32_t _has_storage_[1]; + float x; + float y; + float width; + float height; } SVGAProtoLayout__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { - static GPBDescriptor *descriptor = nil; - if (!descriptor) { - static GPBMessageFieldDescription fields[] = { - { - .name = "x", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoLayout_FieldNumber_X, - .hasIndex = 0, - .offset = (uint32_t)offsetof(SVGAProtoLayout__storage_, x), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "y", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoLayout_FieldNumber_Y, - .hasIndex = 1, - .offset = (uint32_t)offsetof(SVGAProtoLayout__storage_, y), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "width", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoLayout_FieldNumber_Width, - .hasIndex = 2, - .offset = (uint32_t)offsetof(SVGAProtoLayout__storage_, width), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "height", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoLayout_FieldNumber_Height, - .hasIndex = 3, - .offset = (uint32_t)offsetof(SVGAProtoLayout__storage_, height), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - }; - GPBDescriptor *localDescriptor = + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "x", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoLayout_FieldNumber_X, + .hasIndex = 0, + .offset = (uint32_t)offsetof(SVGAProtoLayout__storage_, x), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "y", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoLayout_FieldNumber_Y, + .hasIndex = 1, + .offset = (uint32_t)offsetof(SVGAProtoLayout__storage_, y), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "width", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoLayout_FieldNumber_Width, + .hasIndex = 2, + .offset = (uint32_t)offsetof(SVGAProtoLayout__storage_, width), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "height", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoLayout_FieldNumber_Height, + .hasIndex = 3, + .offset = (uint32_t)offsetof(SVGAProtoLayout__storage_, height), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + }; + GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[SVGAProtoLayout class] rootClass:[SVGAProtoSvgaRoot class] file:SVGAProtoSvgaRoot_FileDescriptor() @@ -335,10 +355,10 @@ + (GPBDescriptor *)descriptor { fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) storageSize:sizeof(SVGAProtoLayout__storage_) flags:GPBDescriptorInitializationFlag_None]; - NSAssert(descriptor == nil, @"Startup recursed!"); - descriptor = localDescriptor; - } - return descriptor; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; } @end @@ -355,77 +375,77 @@ @implementation SVGAProtoTransform @dynamic ty; typedef struct SVGAProtoTransform__storage_ { - uint32_t _has_storage_[1]; - float a; - float b; - float c; - float d; - float tx; - float ty; + uint32_t _has_storage_[1]; + float a; + float b; + float c; + float d; + float tx; + float ty; } SVGAProtoTransform__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { - static GPBDescriptor *descriptor = nil; - if (!descriptor) { - static GPBMessageFieldDescription fields[] = { - { - .name = "a", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoTransform_FieldNumber_A, - .hasIndex = 0, - .offset = (uint32_t)offsetof(SVGAProtoTransform__storage_, a), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "b", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoTransform_FieldNumber_B, - .hasIndex = 1, - .offset = (uint32_t)offsetof(SVGAProtoTransform__storage_, b), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "c", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoTransform_FieldNumber_C, - .hasIndex = 2, - .offset = (uint32_t)offsetof(SVGAProtoTransform__storage_, c), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "d", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoTransform_FieldNumber_D, - .hasIndex = 3, - .offset = (uint32_t)offsetof(SVGAProtoTransform__storage_, d), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "tx", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoTransform_FieldNumber_Tx, - .hasIndex = 4, - .offset = (uint32_t)offsetof(SVGAProtoTransform__storage_, tx), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "ty", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoTransform_FieldNumber_Ty, - .hasIndex = 5, - .offset = (uint32_t)offsetof(SVGAProtoTransform__storage_, ty), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - }; - GPBDescriptor *localDescriptor = + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "a", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoTransform_FieldNumber_A, + .hasIndex = 0, + .offset = (uint32_t)offsetof(SVGAProtoTransform__storage_, a), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "b", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoTransform_FieldNumber_B, + .hasIndex = 1, + .offset = (uint32_t)offsetof(SVGAProtoTransform__storage_, b), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "c", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoTransform_FieldNumber_C, + .hasIndex = 2, + .offset = (uint32_t)offsetof(SVGAProtoTransform__storage_, c), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "d", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoTransform_FieldNumber_D, + .hasIndex = 3, + .offset = (uint32_t)offsetof(SVGAProtoTransform__storage_, d), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "tx", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoTransform_FieldNumber_Tx, + .hasIndex = 4, + .offset = (uint32_t)offsetof(SVGAProtoTransform__storage_, tx), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "ty", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoTransform_FieldNumber_Ty, + .hasIndex = 5, + .offset = (uint32_t)offsetof(SVGAProtoTransform__storage_, ty), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + }; + GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[SVGAProtoTransform class] rootClass:[SVGAProtoSvgaRoot class] file:SVGAProtoSvgaRoot_FileDescriptor() @@ -433,10 +453,10 @@ + (GPBDescriptor *)descriptor { fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) storageSize:sizeof(SVGAProtoTransform__storage_) flags:GPBDescriptorInitializationFlag_None]; - NSAssert(descriptor == nil, @"Startup recursed!"); - descriptor = localDescriptor; - } - return descriptor; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; } @end @@ -454,77 +474,77 @@ @implementation SVGAProtoShapeEntity @dynamic hasTransform, transform; typedef struct SVGAProtoShapeEntity__storage_ { - uint32_t _has_storage_[2]; - SVGAProtoShapeEntity_ShapeType type; - SVGAProtoShapeEntity_ShapeArgs *shape; - SVGAProtoShapeEntity_RectArgs *rect; - SVGAProtoShapeEntity_EllipseArgs *ellipse; - SVGAProtoShapeEntity_ShapeStyle *styles; - SVGAProtoTransform *transform; + uint32_t _has_storage_[2]; + SVGAProtoShapeEntity_ShapeType type; + SVGAProtoShapeEntity_ShapeArgs *shape; + SVGAProtoShapeEntity_RectArgs *rect; + SVGAProtoShapeEntity_EllipseArgs *ellipse; + SVGAProtoShapeEntity_ShapeStyle *styles; + SVGAProtoTransform *transform; } SVGAProtoShapeEntity__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { - static GPBDescriptor *descriptor = nil; - if (!descriptor) { - static GPBMessageFieldDescription fields[] = { - { - .name = "type", - .dataTypeSpecific.enumDescFunc = SVGAProtoShapeEntity_ShapeType_EnumDescriptor, - .number = SVGAProtoShapeEntity_FieldNumber_Type, - .hasIndex = 0, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity__storage_, type), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldHasEnumDescriptor), - .dataType = GPBDataTypeEnum, - }, - { - .name = "shape", - .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoShapeEntity_ShapeArgs), - .number = SVGAProtoShapeEntity_FieldNumber_Shape, - .hasIndex = -1, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity__storage_, shape), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - { - .name = "rect", - .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoShapeEntity_RectArgs), - .number = SVGAProtoShapeEntity_FieldNumber_Rect, - .hasIndex = -1, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity__storage_, rect), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - { - .name = "ellipse", - .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoShapeEntity_EllipseArgs), - .number = SVGAProtoShapeEntity_FieldNumber_Ellipse, - .hasIndex = -1, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity__storage_, ellipse), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - { - .name = "styles", - .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoShapeEntity_ShapeStyle), - .number = SVGAProtoShapeEntity_FieldNumber_Styles, - .hasIndex = 1, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity__storage_, styles), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - { - .name = "transform", - .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoTransform), - .number = SVGAProtoShapeEntity_FieldNumber_Transform, - .hasIndex = 2, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity__storage_, transform), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - }; - GPBDescriptor *localDescriptor = + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "type", + .dataTypeSpecific.enumDescFunc = SVGAProtoShapeEntity_ShapeType_EnumDescriptor, + .number = SVGAProtoShapeEntity_FieldNumber_Type, + .hasIndex = 0, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity__storage_, type), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldHasEnumDescriptor), + .dataType = GPBDataTypeEnum, + }, + { + .name = "shape", + .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoShapeEntity_ShapeArgs), + .number = SVGAProtoShapeEntity_FieldNumber_Shape, + .hasIndex = -1, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity__storage_, shape), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "rect", + .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoShapeEntity_RectArgs), + .number = SVGAProtoShapeEntity_FieldNumber_Rect, + .hasIndex = -1, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity__storage_, rect), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "ellipse", + .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoShapeEntity_EllipseArgs), + .number = SVGAProtoShapeEntity_FieldNumber_Ellipse, + .hasIndex = -1, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity__storage_, ellipse), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "styles", + .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoShapeEntity_ShapeStyle), + .number = SVGAProtoShapeEntity_FieldNumber_Styles, + .hasIndex = 1, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity__storage_, styles), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "transform", + .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoTransform), + .number = SVGAProtoShapeEntity_FieldNumber_Transform, + .hasIndex = 2, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity__storage_, transform), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[SVGAProtoShapeEntity class] rootClass:[SVGAProtoSvgaRoot class] file:SVGAProtoSvgaRoot_FileDescriptor() @@ -532,74 +552,73 @@ + (GPBDescriptor *)descriptor { fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) storageSize:sizeof(SVGAProtoShapeEntity__storage_) flags:GPBDescriptorInitializationFlag_None]; - static const char *oneofs[] = { - "args", - }; - [localDescriptor setupOneofs:oneofs - count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) - firstHasIndex:-1]; - NSAssert(descriptor == nil, @"Startup recursed!"); - descriptor = localDescriptor; - } - return descriptor; + static const char *oneofs[] = { + "args", + }; + [localDescriptor setupOneofs:oneofs + count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) + firstHasIndex:-1]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; } @end int32_t SVGAProtoShapeEntity_Type_RawValue(SVGAProtoShapeEntity *message) { - GPBDescriptor *descriptor = [SVGAProtoShapeEntity descriptor]; - GPBFieldDescriptor *field = [descriptor fieldWithNumber:SVGAProtoShapeEntity_FieldNumber_Type]; - return GPBGetMessageInt32Field(message, field); + GPBDescriptor *descriptor = [SVGAProtoShapeEntity descriptor]; + GPBFieldDescriptor *field = [descriptor fieldWithNumber:SVGAProtoShapeEntity_FieldNumber_Type]; + return GPBGetMessageInt32Field(message, field); } void SetSVGAProtoShapeEntity_Type_RawValue(SVGAProtoShapeEntity *message, int32_t value) { - GPBDescriptor *descriptor = [SVGAProtoShapeEntity descriptor]; - GPBFieldDescriptor *field = [descriptor fieldWithNumber:SVGAProtoShapeEntity_FieldNumber_Type]; - GPBSetInt32IvarWithFieldInternal(message, field, value, descriptor.file.syntax); + GPBDescriptor *descriptor = [SVGAProtoShapeEntity descriptor]; + GPBFieldDescriptor *field = [descriptor fieldWithNumber:SVGAProtoShapeEntity_FieldNumber_Type]; + GPBSetInt32IvarWithFieldInternal(message, field, value, descriptor.file.syntax); } void SVGAProtoShapeEntity_ClearArgsOneOfCase(SVGAProtoShapeEntity *message) { - GPBDescriptor *descriptor = [message descriptor]; - GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; - GPBMaybeClearOneof(message, oneof, -1, 0); + GPBDescriptor *descriptor = [message descriptor]; + GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; + GPBMaybeClearOneof(message, oneof, -1, 0); } #pragma mark - Enum SVGAProtoShapeEntity_ShapeType GPBEnumDescriptor *SVGAProtoShapeEntity_ShapeType_EnumDescriptor(void) { - static _Atomic(GPBEnumDescriptor*) descriptor = nil; - if (!descriptor) { - static const char *valueNames = + static GPBEnumDescriptor *descriptor = NULL; + if (!descriptor) { + static const char *valueNames = "Shape\000Rect\000Ellipse\000Keep\000"; - static const int32_t values[] = { - SVGAProtoShapeEntity_ShapeType_Shape, - SVGAProtoShapeEntity_ShapeType_Rect, - SVGAProtoShapeEntity_ShapeType_Ellipse, - SVGAProtoShapeEntity_ShapeType_Keep, - }; - GPBEnumDescriptor *worker = + static const int32_t values[] = { + SVGAProtoShapeEntity_ShapeType_Shape, + SVGAProtoShapeEntity_ShapeType_Rect, + SVGAProtoShapeEntity_ShapeType_Ellipse, + SVGAProtoShapeEntity_ShapeType_Keep, + }; + GPBEnumDescriptor *worker = [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(SVGAProtoShapeEntity_ShapeType) valueNames:valueNames values:values count:(uint32_t)(sizeof(values) / sizeof(int32_t)) enumVerifier:SVGAProtoShapeEntity_ShapeType_IsValidValue]; - GPBEnumDescriptor *expected = nil; - if (!atomic_compare_exchange_strong(&descriptor, &expected, worker)) { - [worker release]; + if (!OSAtomicCompareAndSwapPtrBarrier(nil, worker, (void * volatile *)&descriptor)) { + [worker release]; + } } - } - return descriptor; + return descriptor; } BOOL SVGAProtoShapeEntity_ShapeType_IsValidValue(int32_t value__) { - switch (value__) { - case SVGAProtoShapeEntity_ShapeType_Shape: - case SVGAProtoShapeEntity_ShapeType_Rect: - case SVGAProtoShapeEntity_ShapeType_Ellipse: - case SVGAProtoShapeEntity_ShapeType_Keep: - return YES; - default: - return NO; - } + switch (value__) { + case SVGAProtoShapeEntity_ShapeType_Shape: + case SVGAProtoShapeEntity_ShapeType_Rect: + case SVGAProtoShapeEntity_ShapeType_Ellipse: + case SVGAProtoShapeEntity_ShapeType_Keep: + return YES; + default: + return NO; + } } #pragma mark - SVGAProtoShapeEntity_ShapeArgs @@ -609,27 +628,27 @@ @implementation SVGAProtoShapeEntity_ShapeArgs @dynamic d; typedef struct SVGAProtoShapeEntity_ShapeArgs__storage_ { - uint32_t _has_storage_[1]; - NSString *d; + uint32_t _has_storage_[1]; + NSString *d; } SVGAProtoShapeEntity_ShapeArgs__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { - static GPBDescriptor *descriptor = nil; - if (!descriptor) { - static GPBMessageFieldDescription fields[] = { - { - .name = "d", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_ShapeArgs_FieldNumber_D, - .hasIndex = 0, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeArgs__storage_, d), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeString, - }, - }; - GPBDescriptor *localDescriptor = + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "d", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_ShapeArgs_FieldNumber_D, + .hasIndex = 0, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeArgs__storage_, d), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeString, + }, + }; + GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[SVGAProtoShapeEntity_ShapeArgs class] rootClass:[SVGAProtoSvgaRoot class] file:SVGAProtoSvgaRoot_FileDescriptor() @@ -637,11 +656,11 @@ + (GPBDescriptor *)descriptor { fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) storageSize:sizeof(SVGAProtoShapeEntity_ShapeArgs__storage_) flags:GPBDescriptorInitializationFlag_None]; - [localDescriptor setupContainingMessageClassName:GPBStringifySymbol(SVGAProtoShapeEntity)]; - NSAssert(descriptor == nil, @"Startup recursed!"); - descriptor = localDescriptor; - } - return descriptor; + [localDescriptor setupContainingMessageClassName:GPBStringifySymbol(SVGAProtoShapeEntity)]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; } @end @@ -657,67 +676,67 @@ @implementation SVGAProtoShapeEntity_RectArgs @dynamic cornerRadius; typedef struct SVGAProtoShapeEntity_RectArgs__storage_ { - uint32_t _has_storage_[1]; - float x; - float y; - float width; - float height; - float cornerRadius; + uint32_t _has_storage_[1]; + float x; + float y; + float width; + float height; + float cornerRadius; } SVGAProtoShapeEntity_RectArgs__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { - static GPBDescriptor *descriptor = nil; - if (!descriptor) { - static GPBMessageFieldDescription fields[] = { - { - .name = "x", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_RectArgs_FieldNumber_X, - .hasIndex = 0, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_RectArgs__storage_, x), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "y", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_RectArgs_FieldNumber_Y, - .hasIndex = 1, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_RectArgs__storage_, y), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "width", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_RectArgs_FieldNumber_Width, - .hasIndex = 2, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_RectArgs__storage_, width), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "height", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_RectArgs_FieldNumber_Height, - .hasIndex = 3, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_RectArgs__storage_, height), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "cornerRadius", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_RectArgs_FieldNumber_CornerRadius, - .hasIndex = 4, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_RectArgs__storage_, cornerRadius), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeFloat, - }, - }; - GPBDescriptor *localDescriptor = + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "x", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_RectArgs_FieldNumber_X, + .hasIndex = 0, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_RectArgs__storage_, x), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "y", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_RectArgs_FieldNumber_Y, + .hasIndex = 1, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_RectArgs__storage_, y), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "width", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_RectArgs_FieldNumber_Width, + .hasIndex = 2, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_RectArgs__storage_, width), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "height", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_RectArgs_FieldNumber_Height, + .hasIndex = 3, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_RectArgs__storage_, height), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "cornerRadius", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_RectArgs_FieldNumber_CornerRadius, + .hasIndex = 4, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_RectArgs__storage_, cornerRadius), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeFloat, + }, + }; + GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[SVGAProtoShapeEntity_RectArgs class] rootClass:[SVGAProtoSvgaRoot class] file:SVGAProtoSvgaRoot_FileDescriptor() @@ -726,15 +745,15 @@ + (GPBDescriptor *)descriptor { storageSize:sizeof(SVGAProtoShapeEntity_RectArgs__storage_) flags:GPBDescriptorInitializationFlag_None]; #if !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS - static const char *extraTextFormatInfo = + static const char *extraTextFormatInfo = "\001\005\014\000"; - [localDescriptor setupExtraTextInfo:extraTextFormatInfo]; + [localDescriptor setupExtraTextInfo:extraTextFormatInfo]; #endif // !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS - [localDescriptor setupContainingMessageClassName:GPBStringifySymbol(SVGAProtoShapeEntity)]; - NSAssert(descriptor == nil, @"Startup recursed!"); - descriptor = localDescriptor; - } - return descriptor; + [localDescriptor setupContainingMessageClassName:GPBStringifySymbol(SVGAProtoShapeEntity)]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; } @end @@ -749,57 +768,57 @@ @implementation SVGAProtoShapeEntity_EllipseArgs @dynamic radiusY; typedef struct SVGAProtoShapeEntity_EllipseArgs__storage_ { - uint32_t _has_storage_[1]; - float x; - float y; - float radiusX; - float radiusY; + uint32_t _has_storage_[1]; + float x; + float y; + float radiusX; + float radiusY; } SVGAProtoShapeEntity_EllipseArgs__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { - static GPBDescriptor *descriptor = nil; - if (!descriptor) { - static GPBMessageFieldDescription fields[] = { - { - .name = "x", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_EllipseArgs_FieldNumber_X, - .hasIndex = 0, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_EllipseArgs__storage_, x), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "y", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_EllipseArgs_FieldNumber_Y, - .hasIndex = 1, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_EllipseArgs__storage_, y), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "radiusX", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_EllipseArgs_FieldNumber_RadiusX, - .hasIndex = 2, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_EllipseArgs__storage_, radiusX), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeFloat, - }, - { - .name = "radiusY", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_EllipseArgs_FieldNumber_RadiusY, - .hasIndex = 3, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_EllipseArgs__storage_, radiusY), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeFloat, - }, - }; - GPBDescriptor *localDescriptor = + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "x", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_EllipseArgs_FieldNumber_X, + .hasIndex = 0, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_EllipseArgs__storage_, x), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "y", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_EllipseArgs_FieldNumber_Y, + .hasIndex = 1, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_EllipseArgs__storage_, y), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "radiusX", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_EllipseArgs_FieldNumber_RadiusX, + .hasIndex = 2, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_EllipseArgs__storage_, radiusX), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeFloat, + }, + { + .name = "radiusY", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_EllipseArgs_FieldNumber_RadiusY, + .hasIndex = 3, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_EllipseArgs__storage_, radiusY), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeFloat, + }, + }; + GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[SVGAProtoShapeEntity_EllipseArgs class] rootClass:[SVGAProtoSvgaRoot class] file:SVGAProtoSvgaRoot_FileDescriptor() @@ -808,15 +827,15 @@ + (GPBDescriptor *)descriptor { storageSize:sizeof(SVGAProtoShapeEntity_EllipseArgs__storage_) flags:GPBDescriptorInitializationFlag_None]; #if !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS - static const char *extraTextFormatInfo = + static const char *extraTextFormatInfo = "\002\003\007\000\004\007\000"; - [localDescriptor setupExtraTextInfo:extraTextFormatInfo]; + [localDescriptor setupExtraTextInfo:extraTextFormatInfo]; #endif // !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS - [localDescriptor setupContainingMessageClassName:GPBStringifySymbol(SVGAProtoShapeEntity)]; - NSAssert(descriptor == nil, @"Startup recursed!"); - descriptor = localDescriptor; - } - return descriptor; + [localDescriptor setupContainingMessageClassName:GPBStringifySymbol(SVGAProtoShapeEntity)]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; } @end @@ -836,107 +855,107 @@ @implementation SVGAProtoShapeEntity_ShapeStyle @dynamic lineDashIii; typedef struct SVGAProtoShapeEntity_ShapeStyle__storage_ { - uint32_t _has_storage_[1]; - float strokeWidth; - SVGAProtoShapeEntity_ShapeStyle_LineCap lineCap; - SVGAProtoShapeEntity_ShapeStyle_LineJoin lineJoin; - float miterLimit; - float lineDashI; - float lineDashIi; - float lineDashIii; - SVGAProtoShapeEntity_ShapeStyle_RGBAColor *fill; - SVGAProtoShapeEntity_ShapeStyle_RGBAColor *stroke; + uint32_t _has_storage_[1]; + float strokeWidth; + SVGAProtoShapeEntity_ShapeStyle_LineCap lineCap; + SVGAProtoShapeEntity_ShapeStyle_LineJoin lineJoin; + float miterLimit; + float lineDashI; + float lineDashIi; + float lineDashIii; + SVGAProtoShapeEntity_ShapeStyle_RGBAColor *fill; + SVGAProtoShapeEntity_ShapeStyle_RGBAColor *stroke; } SVGAProtoShapeEntity_ShapeStyle__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { - static GPBDescriptor *descriptor = nil; - if (!descriptor) { - static GPBMessageFieldDescription fields[] = { - { - .name = "fill", - .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoShapeEntity_ShapeStyle_RGBAColor), - .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_Fill, - .hasIndex = 0, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, fill), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - { - .name = "stroke", - .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoShapeEntity_ShapeStyle_RGBAColor), - .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_Stroke, - .hasIndex = 1, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, stroke), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - { - .name = "strokeWidth", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_StrokeWidth, - .hasIndex = 2, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, strokeWidth), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeFloat, - }, - { - .name = "lineCap", - .dataTypeSpecific.enumDescFunc = SVGAProtoShapeEntity_ShapeStyle_LineCap_EnumDescriptor, - .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineCap, - .hasIndex = 3, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, lineCap), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom | GPBFieldHasEnumDescriptor), - .dataType = GPBDataTypeEnum, - }, - { - .name = "lineJoin", - .dataTypeSpecific.enumDescFunc = SVGAProtoShapeEntity_ShapeStyle_LineJoin_EnumDescriptor, - .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineJoin, - .hasIndex = 4, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, lineJoin), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom | GPBFieldHasEnumDescriptor), - .dataType = GPBDataTypeEnum, - }, - { - .name = "miterLimit", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_MiterLimit, - .hasIndex = 5, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, miterLimit), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeFloat, - }, - { - .name = "lineDashI", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineDashI, - .hasIndex = 6, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, lineDashI), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeFloat, - }, - { - .name = "lineDashIi", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineDashIi, - .hasIndex = 7, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, lineDashIi), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeFloat, - }, - { - .name = "lineDashIii", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineDashIii, - .hasIndex = 8, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, lineDashIii), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeFloat, - }, - }; - GPBDescriptor *localDescriptor = + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "fill", + .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoShapeEntity_ShapeStyle_RGBAColor), + .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_Fill, + .hasIndex = 0, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, fill), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "stroke", + .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoShapeEntity_ShapeStyle_RGBAColor), + .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_Stroke, + .hasIndex = 1, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, stroke), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "strokeWidth", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_StrokeWidth, + .hasIndex = 2, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, strokeWidth), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeFloat, + }, + { + .name = "lineCap", + .dataTypeSpecific.enumDescFunc = SVGAProtoShapeEntity_ShapeStyle_LineCap_EnumDescriptor, + .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineCap, + .hasIndex = 3, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, lineCap), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom | GPBFieldHasEnumDescriptor), + .dataType = GPBDataTypeEnum, + }, + { + .name = "lineJoin", + .dataTypeSpecific.enumDescFunc = SVGAProtoShapeEntity_ShapeStyle_LineJoin_EnumDescriptor, + .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineJoin, + .hasIndex = 4, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, lineJoin), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom | GPBFieldHasEnumDescriptor), + .dataType = GPBDataTypeEnum, + }, + { + .name = "miterLimit", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_MiterLimit, + .hasIndex = 5, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, miterLimit), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeFloat, + }, + { + .name = "lineDashI", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineDashI, + .hasIndex = 6, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, lineDashI), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeFloat, + }, + { + .name = "lineDashIi", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineDashIi, + .hasIndex = 7, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, lineDashIi), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeFloat, + }, + { + .name = "lineDashIii", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineDashIii, + .hasIndex = 8, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle__storage_, lineDashIii), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeFloat, + }, + }; + GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[SVGAProtoShapeEntity_ShapeStyle class] rootClass:[SVGAProtoSvgaRoot class] file:SVGAProtoSvgaRoot_FileDescriptor() @@ -945,120 +964,118 @@ + (GPBDescriptor *)descriptor { storageSize:sizeof(SVGAProtoShapeEntity_ShapeStyle__storage_) flags:GPBDescriptorInitializationFlag_None]; #if !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS - static const char *extraTextFormatInfo = + static const char *extraTextFormatInfo = "\007\003\013\000\004\007\000\005\010\000\006\n\000\007\t\000\010\tA\000\t\tb\000"; - [localDescriptor setupExtraTextInfo:extraTextFormatInfo]; + [localDescriptor setupExtraTextInfo:extraTextFormatInfo]; #endif // !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS - [localDescriptor setupContainingMessageClassName:GPBStringifySymbol(SVGAProtoShapeEntity)]; - NSAssert(descriptor == nil, @"Startup recursed!"); - descriptor = localDescriptor; - } - return descriptor; + [localDescriptor setupContainingMessageClassName:GPBStringifySymbol(SVGAProtoShapeEntity)]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; } @end int32_t SVGAProtoShapeEntity_ShapeStyle_LineCap_RawValue(SVGAProtoShapeEntity_ShapeStyle *message) { - GPBDescriptor *descriptor = [SVGAProtoShapeEntity_ShapeStyle descriptor]; - GPBFieldDescriptor *field = [descriptor fieldWithNumber:SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineCap]; - return GPBGetMessageInt32Field(message, field); + GPBDescriptor *descriptor = [SVGAProtoShapeEntity_ShapeStyle descriptor]; + GPBFieldDescriptor *field = [descriptor fieldWithNumber:SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineCap]; + return GPBGetMessageInt32Field(message, field); } void SetSVGAProtoShapeEntity_ShapeStyle_LineCap_RawValue(SVGAProtoShapeEntity_ShapeStyle *message, int32_t value) { - GPBDescriptor *descriptor = [SVGAProtoShapeEntity_ShapeStyle descriptor]; - GPBFieldDescriptor *field = [descriptor fieldWithNumber:SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineCap]; - GPBSetInt32IvarWithFieldInternal(message, field, value, descriptor.file.syntax); + GPBDescriptor *descriptor = [SVGAProtoShapeEntity_ShapeStyle descriptor]; + GPBFieldDescriptor *field = [descriptor fieldWithNumber:SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineCap]; + GPBSetInt32IvarWithFieldInternal(message, field, value, descriptor.file.syntax); } int32_t SVGAProtoShapeEntity_ShapeStyle_LineJoin_RawValue(SVGAProtoShapeEntity_ShapeStyle *message) { - GPBDescriptor *descriptor = [SVGAProtoShapeEntity_ShapeStyle descriptor]; - GPBFieldDescriptor *field = [descriptor fieldWithNumber:SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineJoin]; - return GPBGetMessageInt32Field(message, field); + GPBDescriptor *descriptor = [SVGAProtoShapeEntity_ShapeStyle descriptor]; + GPBFieldDescriptor *field = [descriptor fieldWithNumber:SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineJoin]; + return GPBGetMessageInt32Field(message, field); } void SetSVGAProtoShapeEntity_ShapeStyle_LineJoin_RawValue(SVGAProtoShapeEntity_ShapeStyle *message, int32_t value) { - GPBDescriptor *descriptor = [SVGAProtoShapeEntity_ShapeStyle descriptor]; - GPBFieldDescriptor *field = [descriptor fieldWithNumber:SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineJoin]; - GPBSetInt32IvarWithFieldInternal(message, field, value, descriptor.file.syntax); + GPBDescriptor *descriptor = [SVGAProtoShapeEntity_ShapeStyle descriptor]; + GPBFieldDescriptor *field = [descriptor fieldWithNumber:SVGAProtoShapeEntity_ShapeStyle_FieldNumber_LineJoin]; + GPBSetInt32IvarWithFieldInternal(message, field, value, descriptor.file.syntax); } #pragma mark - Enum SVGAProtoShapeEntity_ShapeStyle_LineCap GPBEnumDescriptor *SVGAProtoShapeEntity_ShapeStyle_LineCap_EnumDescriptor(void) { - static _Atomic(GPBEnumDescriptor*) descriptor = nil; - if (!descriptor) { - static const char *valueNames = + static GPBEnumDescriptor *descriptor = NULL; + if (!descriptor) { + static const char *valueNames = "LineCapButt\000LineCapRound\000LineCapSquare\000"; - static const int32_t values[] = { - SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapButt, - SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapRound, - SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapSquare, - }; - static const char *extraTextFormatInfo = "\003\000\007\344\000\001\007\345\000\002\007\346\000"; - GPBEnumDescriptor *worker = + static const int32_t values[] = { + SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapButt, + SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapRound, + SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapSquare, + }; + static const char *extraTextFormatInfo = "\003\000\007\344\000\001\007\345\000\002\007\346\000"; + GPBEnumDescriptor *worker = [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(SVGAProtoShapeEntity_ShapeStyle_LineCap) valueNames:valueNames values:values count:(uint32_t)(sizeof(values) / sizeof(int32_t)) enumVerifier:SVGAProtoShapeEntity_ShapeStyle_LineCap_IsValidValue extraTextFormatInfo:extraTextFormatInfo]; - GPBEnumDescriptor *expected = nil; - if (!atomic_compare_exchange_strong(&descriptor, &expected, worker)) { - [worker release]; + if (!OSAtomicCompareAndSwapPtrBarrier(nil, worker, (void * volatile *)&descriptor)) { + [worker release]; + } } - } - return descriptor; + return descriptor; } BOOL SVGAProtoShapeEntity_ShapeStyle_LineCap_IsValidValue(int32_t value__) { - switch (value__) { - case SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapButt: - case SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapRound: - case SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapSquare: - return YES; - default: - return NO; - } + switch (value__) { + case SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapButt: + case SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapRound: + case SVGAProtoShapeEntity_ShapeStyle_LineCap_LineCapSquare: + return YES; + default: + return NO; + } } #pragma mark - Enum SVGAProtoShapeEntity_ShapeStyle_LineJoin GPBEnumDescriptor *SVGAProtoShapeEntity_ShapeStyle_LineJoin_EnumDescriptor(void) { - static _Atomic(GPBEnumDescriptor*) descriptor = nil; - if (!descriptor) { - static const char *valueNames = + static GPBEnumDescriptor *descriptor = NULL; + if (!descriptor) { + static const char *valueNames = "LineJoinMiter\000LineJoinRound\000LineJoinBeve" "l\000"; - static const int32_t values[] = { - SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinMiter, - SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinRound, - SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinBevel, - }; - static const char *extraTextFormatInfo = "\003\000\010\345\000\001\010\345\000\002\010\345\000"; - GPBEnumDescriptor *worker = + static const int32_t values[] = { + SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinMiter, + SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinRound, + SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinBevel, + }; + static const char *extraTextFormatInfo = "\003\000\010\345\000\001\010\345\000\002\010\345\000"; + GPBEnumDescriptor *worker = [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(SVGAProtoShapeEntity_ShapeStyle_LineJoin) valueNames:valueNames values:values count:(uint32_t)(sizeof(values) / sizeof(int32_t)) enumVerifier:SVGAProtoShapeEntity_ShapeStyle_LineJoin_IsValidValue extraTextFormatInfo:extraTextFormatInfo]; - GPBEnumDescriptor *expected = nil; - if (!atomic_compare_exchange_strong(&descriptor, &expected, worker)) { - [worker release]; + if (!OSAtomicCompareAndSwapPtrBarrier(nil, worker, (void * volatile *)&descriptor)) { + [worker release]; + } } - } - return descriptor; + return descriptor; } BOOL SVGAProtoShapeEntity_ShapeStyle_LineJoin_IsValidValue(int32_t value__) { - switch (value__) { - case SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinMiter: - case SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinRound: - case SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinBevel: - return YES; - default: - return NO; - } + switch (value__) { + case SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinMiter: + case SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinRound: + case SVGAProtoShapeEntity_ShapeStyle_LineJoin_LineJoinBevel: + return YES; + default: + return NO; + } } #pragma mark - SVGAProtoShapeEntity_ShapeStyle_RGBAColor @@ -1071,57 +1088,57 @@ @implementation SVGAProtoShapeEntity_ShapeStyle_RGBAColor @dynamic a; typedef struct SVGAProtoShapeEntity_ShapeStyle_RGBAColor__storage_ { - uint32_t _has_storage_[1]; - float r; - float g; - float b; - float a; + uint32_t _has_storage_[1]; + float r; + float g; + float b; + float a; } SVGAProtoShapeEntity_ShapeStyle_RGBAColor__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { - static GPBDescriptor *descriptor = nil; - if (!descriptor) { - static GPBMessageFieldDescription fields[] = { - { - .name = "r", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber_R, - .hasIndex = 0, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle_RGBAColor__storage_, r), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "g", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber_G, - .hasIndex = 1, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle_RGBAColor__storage_, g), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "b", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber_B, - .hasIndex = 2, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle_RGBAColor__storage_, b), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "a", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber_A, - .hasIndex = 3, - .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle_RGBAColor__storage_, a), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - }; - GPBDescriptor *localDescriptor = + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "r", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber_R, + .hasIndex = 0, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle_RGBAColor__storage_, r), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "g", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber_G, + .hasIndex = 1, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle_RGBAColor__storage_, g), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "b", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber_B, + .hasIndex = 2, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle_RGBAColor__storage_, b), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "a", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoShapeEntity_ShapeStyle_RGBAColor_FieldNumber_A, + .hasIndex = 3, + .offset = (uint32_t)offsetof(SVGAProtoShapeEntity_ShapeStyle_RGBAColor__storage_, a), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + }; + GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[SVGAProtoShapeEntity_ShapeStyle_RGBAColor class] rootClass:[SVGAProtoSvgaRoot class] file:SVGAProtoSvgaRoot_FileDescriptor() @@ -1129,11 +1146,11 @@ + (GPBDescriptor *)descriptor { fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) storageSize:sizeof(SVGAProtoShapeEntity_ShapeStyle_RGBAColor__storage_) flags:GPBDescriptorInitializationFlag_None]; - [localDescriptor setupContainingMessageClassName:GPBStringifySymbol(SVGAProtoShapeEntity_ShapeStyle)]; - NSAssert(descriptor == nil, @"Startup recursed!"); - descriptor = localDescriptor; - } - return descriptor; + [localDescriptor setupContainingMessageClassName:GPBStringifySymbol(SVGAProtoShapeEntity_ShapeStyle)]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; } @end @@ -1149,67 +1166,67 @@ @implementation SVGAProtoFrameEntity @dynamic shapesArray, shapesArray_Count; typedef struct SVGAProtoFrameEntity__storage_ { - uint32_t _has_storage_[1]; - float alpha; - SVGAProtoLayout *layout; - SVGAProtoTransform *transform; - NSString *clipPath; - NSMutableArray *shapesArray; + uint32_t _has_storage_[1]; + float alpha; + SVGAProtoLayout *layout; + SVGAProtoTransform *transform; + NSString *clipPath; + NSMutableArray *shapesArray; } SVGAProtoFrameEntity__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { - static GPBDescriptor *descriptor = nil; - if (!descriptor) { - static GPBMessageFieldDescription fields[] = { - { - .name = "alpha", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoFrameEntity_FieldNumber_Alpha, - .hasIndex = 0, - .offset = (uint32_t)offsetof(SVGAProtoFrameEntity__storage_, alpha), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeFloat, - }, - { - .name = "layout", - .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoLayout), - .number = SVGAProtoFrameEntity_FieldNumber_Layout, - .hasIndex = 1, - .offset = (uint32_t)offsetof(SVGAProtoFrameEntity__storage_, layout), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - { - .name = "transform", - .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoTransform), - .number = SVGAProtoFrameEntity_FieldNumber_Transform, - .hasIndex = 2, - .offset = (uint32_t)offsetof(SVGAProtoFrameEntity__storage_, transform), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - { - .name = "clipPath", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoFrameEntity_FieldNumber_ClipPath, - .hasIndex = 3, - .offset = (uint32_t)offsetof(SVGAProtoFrameEntity__storage_, clipPath), - .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), - .dataType = GPBDataTypeString, - }, - { - .name = "shapesArray", - .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoShapeEntity), - .number = SVGAProtoFrameEntity_FieldNumber_ShapesArray, - .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(SVGAProtoFrameEntity__storage_, shapesArray), - .flags = GPBFieldRepeated, - .dataType = GPBDataTypeMessage, - }, - }; - GPBDescriptor *localDescriptor = + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "alpha", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoFrameEntity_FieldNumber_Alpha, + .hasIndex = 0, + .offset = (uint32_t)offsetof(SVGAProtoFrameEntity__storage_, alpha), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + }, + { + .name = "layout", + .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoLayout), + .number = SVGAProtoFrameEntity_FieldNumber_Layout, + .hasIndex = 1, + .offset = (uint32_t)offsetof(SVGAProtoFrameEntity__storage_, layout), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "transform", + .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoTransform), + .number = SVGAProtoFrameEntity_FieldNumber_Transform, + .hasIndex = 2, + .offset = (uint32_t)offsetof(SVGAProtoFrameEntity__storage_, transform), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "clipPath", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoFrameEntity_FieldNumber_ClipPath, + .hasIndex = 3, + .offset = (uint32_t)offsetof(SVGAProtoFrameEntity__storage_, clipPath), + .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), + .dataType = GPBDataTypeString, + }, + { + .name = "shapesArray", + .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoShapeEntity), + .number = SVGAProtoFrameEntity_FieldNumber_ShapesArray, + .hasIndex = GPBNoHasBit, + .offset = (uint32_t)offsetof(SVGAProtoFrameEntity__storage_, shapesArray), + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[SVGAProtoFrameEntity class] rootClass:[SVGAProtoSvgaRoot class] file:SVGAProtoSvgaRoot_FileDescriptor() @@ -1218,14 +1235,14 @@ + (GPBDescriptor *)descriptor { storageSize:sizeof(SVGAProtoFrameEntity__storage_) flags:GPBDescriptorInitializationFlag_None]; #if !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS - static const char *extraTextFormatInfo = + static const char *extraTextFormatInfo = "\001\004\010\000"; - [localDescriptor setupExtraTextInfo:extraTextFormatInfo]; + [localDescriptor setupExtraTextInfo:extraTextFormatInfo]; #endif // !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS - NSAssert(descriptor == nil, @"Startup recursed!"); - descriptor = localDescriptor; - } - return descriptor; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; } @end @@ -1241,67 +1258,67 @@ @implementation SVGAProtoMovieEntity @dynamic audiosArray, audiosArray_Count; typedef struct SVGAProtoMovieEntity__storage_ { - uint32_t _has_storage_[1]; - NSString *version; - SVGAProtoMovieParams *params; - NSMutableDictionary *images; - NSMutableArray *spritesArray; - NSMutableArray *audiosArray; + uint32_t _has_storage_[1]; + NSString *version; + SVGAProtoMovieParams *params; + NSMutableDictionary *images; + NSMutableArray *spritesArray; + NSMutableArray *audiosArray; } SVGAProtoMovieEntity__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { - static GPBDescriptor *descriptor = nil; - if (!descriptor) { - static GPBMessageFieldDescription fields[] = { - { - .name = "version", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoMovieEntity_FieldNumber_Version, - .hasIndex = 0, - .offset = (uint32_t)offsetof(SVGAProtoMovieEntity__storage_, version), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeString, - }, - { - .name = "params", - .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoMovieParams), - .number = SVGAProtoMovieEntity_FieldNumber_Params, - .hasIndex = 1, - .offset = (uint32_t)offsetof(SVGAProtoMovieEntity__storage_, params), - .flags = GPBFieldOptional, - .dataType = GPBDataTypeMessage, - }, - { - .name = "images", - .dataTypeSpecific.className = NULL, - .number = SVGAProtoMovieEntity_FieldNumber_Images, - .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(SVGAProtoMovieEntity__storage_, images), - .flags = GPBFieldMapKeyString, - .dataType = GPBDataTypeBytes, - }, - { - .name = "spritesArray", - .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoSpriteEntity), - .number = SVGAProtoMovieEntity_FieldNumber_SpritesArray, - .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(SVGAProtoMovieEntity__storage_, spritesArray), - .flags = GPBFieldRepeated, - .dataType = GPBDataTypeMessage, - }, - { - .name = "audiosArray", - .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoAudioEntity), - .number = SVGAProtoMovieEntity_FieldNumber_AudiosArray, - .hasIndex = GPBNoHasBit, - .offset = (uint32_t)offsetof(SVGAProtoMovieEntity__storage_, audiosArray), - .flags = GPBFieldRepeated, - .dataType = GPBDataTypeMessage, - }, - }; - GPBDescriptor *localDescriptor = + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "version", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoMovieEntity_FieldNumber_Version, + .hasIndex = 0, + .offset = (uint32_t)offsetof(SVGAProtoMovieEntity__storage_, version), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeString, + }, + { + .name = "params", + .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoMovieParams), + .number = SVGAProtoMovieEntity_FieldNumber_Params, + .hasIndex = 1, + .offset = (uint32_t)offsetof(SVGAProtoMovieEntity__storage_, params), + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + }, + { + .name = "images", + .dataTypeSpecific.className = NULL, + .number = SVGAProtoMovieEntity_FieldNumber_Images, + .hasIndex = GPBNoHasBit, + .offset = (uint32_t)offsetof(SVGAProtoMovieEntity__storage_, images), + .flags = GPBFieldMapKeyString, + .dataType = GPBDataTypeBytes, + }, + { + .name = "spritesArray", + .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoSpriteEntity), + .number = SVGAProtoMovieEntity_FieldNumber_SpritesArray, + .hasIndex = GPBNoHasBit, + .offset = (uint32_t)offsetof(SVGAProtoMovieEntity__storage_, spritesArray), + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + }, + { + .name = "audiosArray", + .dataTypeSpecific.className = GPBStringifySymbol(SVGAProtoAudioEntity), + .number = SVGAProtoMovieEntity_FieldNumber_AudiosArray, + .hasIndex = GPBNoHasBit, + .offset = (uint32_t)offsetof(SVGAProtoMovieEntity__storage_, audiosArray), + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + }, + }; + GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[SVGAProtoMovieEntity class] rootClass:[SVGAProtoSvgaRoot class] file:SVGAProtoSvgaRoot_FileDescriptor() @@ -1309,10 +1326,10 @@ + (GPBDescriptor *)descriptor { fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) storageSize:sizeof(SVGAProtoMovieEntity__storage_) flags:GPBDescriptorInitializationFlag_None]; - NSAssert(descriptor == nil, @"Startup recursed!"); - descriptor = localDescriptor; - } - return descriptor; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; } @end From fc9d7ef2445483112c4bb7c7c5cdcfc24d0df490 Mon Sep 17 00:00:00 2001 From: errnull Date: Thu, 13 Jun 2019 14:30:02 +0800 Subject: [PATCH 035/104] feat: add slider for animation demo. --- SVGAPlayer/Base.lproj/Main.storyboard | 14 +++++++++++++- SVGAPlayer/ViewController.m | 3 +++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/SVGAPlayer/Base.lproj/Main.storyboard b/SVGAPlayer/Base.lproj/Main.storyboard index 6e3f9483..ce69c878 100644 --- a/SVGAPlayer/Base.lproj/Main.storyboard +++ b/SVGAPlayer/Base.lproj/Main.storyboard @@ -28,12 +28,24 @@ + + + + + + + + + + + + @@ -50,7 +62,7 @@ - + diff --git a/SVGAPlayer/ViewController.m b/SVGAPlayer/ViewController.m index c0bd15ca..005a6909 100644 --- a/SVGAPlayer/ViewController.m +++ b/SVGAPlayer/ViewController.m @@ -40,4 +40,7 @@ - (IBAction)onChange:(id)sender { }]; } +- (IBAction)onSlide:(UISlider *)sender { + [self.aPlayer stepToPercentage:sender.value andPlay:NO]; +} @end From 2b28845bd3b11d65743dcf18a2c8a692e50cb7d5 Mon Sep 17 00:00:00 2001 From: errnull Date: Mon, 17 Jun 2019 15:34:55 +0800 Subject: [PATCH 036/104] feat: update 2.x proto support for matte. --- SVGAPlayer.xcodeproj/project.pbxproj | 4 ++++ SVGAPlayer/Samples/matteRect.svga | Bin 0 -> 623 bytes SVGAPlayer/ViewController.m | 2 +- Source/SVGAVideoEntity.m | 1 + Source/SVGAVideoSpriteEntity.h | 2 +- Source/SVGAVideoSpriteEntity.m | 4 +++- Source/pbobjc/Svga.pbobjc.h | 2 +- 7 files changed, 11 insertions(+), 4 deletions(-) create mode 100644 SVGAPlayer/Samples/matteRect.svga diff --git a/SVGAPlayer.xcodeproj/project.pbxproj b/SVGAPlayer.xcodeproj/project.pbxproj index 88bafe12..e954047e 100644 --- a/SVGAPlayer.xcodeproj/project.pbxproj +++ b/SVGAPlayer.xcodeproj/project.pbxproj @@ -12,6 +12,7 @@ 63712E6821787A45001AE014 /* SVGAAudioEntity.m in Sources */ = {isa = PBXBuildFile; fileRef = 63712E6721787A45001AE014 /* SVGAAudioEntity.m */; }; 63E817012178809D001D2D62 /* SVGAAudioLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 63E817002178809D001D2D62 /* SVGAAudioLayer.m */; }; 71418C93225E6F710029C69E /* mutiMatte.svga in Resources */ = {isa = PBXBuildFile; fileRef = 71418C92225E6F710029C69E /* mutiMatte.svga */; }; + 71A8679122B7785100176CD6 /* matteRect.svga in Resources */ = {isa = PBXBuildFile; fileRef = 71A8679022B7785100176CD6 /* matteRect.svga */; }; 80D4C7254846B96B9C6EED83 /* libPods-SVGAPlayer.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DDA5FF396660C7C932DF9B8 /* libPods-SVGAPlayer.a */; }; 904D41F81D223DD20085A21A /* SVGABezierPath.m in Sources */ = {isa = PBXBuildFile; fileRef = 904D41F71D223DD20085A21A /* SVGABezierPath.m */; }; 9052FC631E6EB8D4007BC925 /* SVGAExporter.m in Sources */ = {isa = PBXBuildFile; fileRef = 9052FC621E6EB8D4007BC925 /* SVGAExporter.m */; }; @@ -65,6 +66,7 @@ 63E816FF2178809D001D2D62 /* SVGAAudioLayer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SVGAAudioLayer.h; sourceTree = ""; }; 63E817002178809D001D2D62 /* SVGAAudioLayer.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SVGAAudioLayer.m; sourceTree = ""; }; 71418C92225E6F710029C69E /* mutiMatte.svga */ = {isa = PBXFileReference; lastKnownFileType = file; path = mutiMatte.svga; sourceTree = ""; }; + 71A8679022B7785100176CD6 /* matteRect.svga */ = {isa = PBXFileReference; lastKnownFileType = file; path = matteRect.svga; sourceTree = ""; }; 8AD65028FA2D122A34DC4A63 /* Pods-SVGAPlayer.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SVGAPlayer.debug.xcconfig"; path = "Pods/Target Support Files/Pods-SVGAPlayer/Pods-SVGAPlayer.debug.xcconfig"; sourceTree = ""; }; 904D41F61D223DD20085A21A /* SVGABezierPath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGABezierPath.h; sourceTree = ""; }; 904D41F71D223DD20085A21A /* SVGABezierPath.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SVGABezierPath.m; sourceTree = ""; }; @@ -241,6 +243,7 @@ 90D7C9FA1F7E2AA3006E74F0 /* Samples */ = { isa = PBXGroup; children = ( + 71A8679022B7785100176CD6 /* matteRect.svga */, 71418C92225E6F710029C69E /* mutiMatte.svga */, 63712E6421787950001AE014 /* heartbeat.svga */, 90D7CA1A1F7FB114006E74F0 /* rose_1.5.0.svga */, @@ -356,6 +359,7 @@ 63712E6521787950001AE014 /* heartbeat.svga in Resources */, 90A676EB1D13A6DF008A69F3 /* Main.storyboard in Resources */, 90CB64F91EF297E800DAA382 /* SVGAPlayer React-Info.plist in Resources */, + 71A8679122B7785100176CD6 /* matteRect.svga in Resources */, 90D7CA1C1F7FB114006E74F0 /* rose_1.5.0.svga in Resources */, 90D7CA1B1F7FB114006E74F0 /* rose_2.0.0.svga in Resources */, ); diff --git a/SVGAPlayer/Samples/matteRect.svga b/SVGAPlayer/Samples/matteRect.svga new file mode 100644 index 0000000000000000000000000000000000000000..c158c4b635d7ef1efbb61f5d3b5f352b224a3055 GIT binary patch literal 623 zcmV-#0+9W9oa16O(lgXE5aQ!yU^w9{3L+%r6y%il@^A@1-Mi>{*S4p#_dVU%WT=;$ zSW=QI)WZZ+*kCWjB@0rj3L>OLz(T4ZLYINT!`T!>Xgy*S+Q`VYj?vdZLD$?w&&yRnK&o76BwDE^V)$BB9Q=K+9XDucUW+3!F_m4$mhpG(d_O8fFls*w6&% z=I3SoL@8Dl1}4#iAKHmCIRzLgdw(?$rFhrNL(ZmOW|a`7Sh)3!v#C}cap{?X;TkAy zM2!r^N~^iKL{RIGvee{~{34-LV(SkZ4n~lS+p$BU3_DL8l4Wpn1FGNY;T*)n#f8v; zS}?nv0v62fCkYnJ2y2M)*{I@C#iNQx6%T#IQrKGcN*mBhYa>``okgtCj*!xN;wfNh zefT)Aw4Ue%RDamrIY^L;pV!i|9MYi1Qe;m&=48rn_^8t$37}EMql!lrk18HKiis<- zjma&tC5{7&?EOc9MYe=HQ2l;aaFH$g{*{y+uHg@fqrf72|LM_I_Nd}f#iNQx6%$ot J0{}glKfYQgGJF64 literal 0 HcmV?d00001 diff --git a/SVGAPlayer/ViewController.m b/SVGAPlayer/ViewController.m index 005a6909..04790d1a 100644 --- a/SVGAPlayer/ViewController.m +++ b/SVGAPlayer/ViewController.m @@ -30,7 +30,7 @@ - (void)viewDidLoad { } - (IBAction)onChange:(id)sender { - [parser parseWithNamed:@"rose_2.0.0" + [parser parseWithNamed:@"matteRect" inBundle:[NSBundle mainBundle] completionBlock:^(SVGAVideoEntity * _Nonnull videoItem) { if (videoItem != nil) { self.aPlayer.videoItem = videoItem; diff --git a/Source/SVGAVideoEntity.m b/Source/SVGAVideoEntity.m index a4ec941e..723f0ec4 100644 --- a/Source/SVGAVideoEntity.m +++ b/Source/SVGAVideoEntity.m @@ -208,6 +208,7 @@ @interface SVGAVideoSpriteEntity() @property (nonatomic, copy) NSString *imageKey; @property (nonatomic, copy) NSArray *frames; +@property (nonatomic, copy) NSString *matteKey; @end diff --git a/Source/SVGAVideoSpriteEntity.h b/Source/SVGAVideoSpriteEntity.h index bd134f78..aad7093e 100644 --- a/Source/SVGAVideoSpriteEntity.h +++ b/Source/SVGAVideoSpriteEntity.h @@ -15,8 +15,8 @@ @interface SVGAVideoSpriteEntity : NSObject @property (nonatomic, readonly) NSString *imageKey; -@property (nonatomic, readonly) NSString *matteKey; @property (nonatomic, readonly) NSArray *frames; +@property (nonatomic, readonly) NSString *matteKey; - (instancetype)initWithJSONObject:(NSDictionary *)JSONObject; - (instancetype)initWithProtoObject:(SVGAProtoSpriteEntity *)protoObject; diff --git a/Source/SVGAVideoSpriteEntity.m b/Source/SVGAVideoSpriteEntity.m index a664e7d6..37b9036e 100644 --- a/Source/SVGAVideoSpriteEntity.m +++ b/Source/SVGAVideoSpriteEntity.m @@ -29,9 +29,9 @@ - (instancetype)initWithJSONObject:(NSDictionary *)JSONObject { [frames addObject:[[SVGAVideoSpriteFrameEntity alloc] initWithJSONObject:obj]]; } }]; - _matteKey = matteKey; _imageKey = imageKey; _frames = frames; + _matteKey = matteKey; } } } @@ -43,6 +43,7 @@ - (instancetype)initWithProtoObject:(SVGAProtoSpriteEntity *)protoObject { if (self) { if ([protoObject isKindOfClass:[SVGAProtoSpriteEntity class]]) { NSString *imageKey = protoObject.imageKey; + NSString *matteKey = protoObject.matteKey; NSArray *protoFrames = [protoObject.framesArray copy]; if ([imageKey isKindOfClass:[NSString class]] && [protoFrames isKindOfClass:[NSArray class]]) { NSMutableArray *frames = [[NSMutableArray alloc] init]; @@ -53,6 +54,7 @@ - (instancetype)initWithProtoObject:(SVGAProtoSpriteEntity *)protoObject { }]; _imageKey = imageKey; _frames = frames; + _matteKey = matteKey; } } } diff --git a/Source/pbobjc/Svga.pbobjc.h b/Source/pbobjc/Svga.pbobjc.h index 7eb12ddd..9c3b8c69 100644 --- a/Source/pbobjc/Svga.pbobjc.h +++ b/Source/pbobjc/Svga.pbobjc.h @@ -174,7 +174,7 @@ typedef GPB_ENUM(SVGAProtoSpriteEntity_FieldNumber) { /** The number of items in @c framesArray without causing the array to be created. */ @property(nonatomic, readonly) NSUInteger framesArray_Count; -/** 元件所对应的位图键名, 如果 imageKey 含有 .vector 后缀,该 sprite 为矢量图层。 */ +/** 被遮罩图层的 matteKey 对应的是其遮罩图层的 imageKey. */ @property(nonatomic, readwrite, copy, null_resettable) NSString *matteKey; @end From 639bbee9df667a55a3fab492cef18cea2d39fa29 Mon Sep 17 00:00:00 2001 From: errnull Date: Mon, 17 Jun 2019 15:37:26 +0800 Subject: [PATCH 037/104] fix: correct demo. --- SVGAPlayer/ViewController.m | 36 ++++++++++++++++++++++++++++-------- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/SVGAPlayer/ViewController.m b/SVGAPlayer/ViewController.m index 04790d1a..7744cc79 100644 --- a/SVGAPlayer/ViewController.m +++ b/SVGAPlayer/ViewController.m @@ -30,16 +30,36 @@ - (void)viewDidLoad { } - (IBAction)onChange:(id)sender { - [parser parseWithNamed:@"matteRect" - inBundle:[NSBundle mainBundle] completionBlock:^(SVGAVideoEntity * _Nonnull videoItem) { - if (videoItem != nil) { - self.aPlayer.videoItem = videoItem; - [self.aPlayer startAnimation]; - } - } failureBlock:^(NSError * _Nonnull error) { - }]; + NSArray *items = @[ + @"https://github.com/yyued/SVGA-Samples/blob/master/EmptyState.svga?raw=true", + @"https://github.com/yyued/SVGA-Samples/blob/master/HamburgerArrow.svga?raw=true", + @"https://github.com/yyued/SVGA-Samples/blob/master/PinJump.svga?raw=true", + @"https://github.com/yyued/SVGA-Samples/blob/master/TwitterHeart.svga?raw=true", + @"https://github.com/yyued/SVGA-Samples/blob/master/Walkthrough.svga?raw=true", + @"https://github.com/yyued/SVGA-Samples/blob/master/angel.svga?raw=true", + @"https://github.com/yyued/SVGA-Samples/blob/master/halloween.svga?raw=true", + @"https://github.com/yyued/SVGA-Samples/blob/master/kingset.svga?raw=true", + @"https://github.com/yyued/SVGA-Samples/blob/master/posche.svga?raw=true", + @"https://github.com/yyued/SVGA-Samples/blob/master/rose.svga?raw=true", + ]; + [UIApplication sharedApplication].networkActivityIndicatorVisible = YES; + [parser parseWithURL:[NSURL URLWithString:items[arc4random() % 10]] + completionBlock:^(SVGAVideoEntity * _Nullable videoItem) { + [UIApplication sharedApplication].networkActivityIndicatorVisible = NO; + if (videoItem != nil) { + self.aPlayer.videoItem = videoItem; + [self.aPlayer startAnimation]; + } + } failureBlock:nil]; + // [parser parseWithNamed:@"heartbeat" inBundle:nil completionBlock:^(SVGAVideoEntity * _Nonnull videoItem) { + // if (videoItem != nil) { + // self.aPlayer.videoItem = videoItem; + // [self.aPlayer startAnimation]; + // } + // } failureBlock:nil]; } + - (IBAction)onSlide:(UISlider *)sender { [self.aPlayer stepToPercentage:sender.value andPlay:NO]; } From 4c4e2b13ada943e15e43cf5cd20d5d6475f63888 Mon Sep 17 00:00:00 2001 From: errnull Date: Mon, 17 Jun 2019 16:33:56 +0800 Subject: [PATCH 038/104] feat: support bitmap matte layer. --- SVGAPlayer.xcodeproj/project.pbxproj | 4 ++++ SVGAPlayer/Samples/matteBitmap.svga | Bin 0 -> 71394 bytes Source/SVGAPlayer.m | 7 ++++--- 3 files changed, 8 insertions(+), 3 deletions(-) create mode 100644 SVGAPlayer/Samples/matteBitmap.svga diff --git a/SVGAPlayer.xcodeproj/project.pbxproj b/SVGAPlayer.xcodeproj/project.pbxproj index e954047e..76b78f55 100644 --- a/SVGAPlayer.xcodeproj/project.pbxproj +++ b/SVGAPlayer.xcodeproj/project.pbxproj @@ -13,6 +13,7 @@ 63E817012178809D001D2D62 /* SVGAAudioLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 63E817002178809D001D2D62 /* SVGAAudioLayer.m */; }; 71418C93225E6F710029C69E /* mutiMatte.svga in Resources */ = {isa = PBXBuildFile; fileRef = 71418C92225E6F710029C69E /* mutiMatte.svga */; }; 71A8679122B7785100176CD6 /* matteRect.svga in Resources */ = {isa = PBXBuildFile; fileRef = 71A8679022B7785100176CD6 /* matteRect.svga */; }; + 71A8679322B7853600176CD6 /* matteBitmap.svga in Resources */ = {isa = PBXBuildFile; fileRef = 71A8679222B7853600176CD6 /* matteBitmap.svga */; }; 80D4C7254846B96B9C6EED83 /* libPods-SVGAPlayer.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DDA5FF396660C7C932DF9B8 /* libPods-SVGAPlayer.a */; }; 904D41F81D223DD20085A21A /* SVGABezierPath.m in Sources */ = {isa = PBXBuildFile; fileRef = 904D41F71D223DD20085A21A /* SVGABezierPath.m */; }; 9052FC631E6EB8D4007BC925 /* SVGAExporter.m in Sources */ = {isa = PBXBuildFile; fileRef = 9052FC621E6EB8D4007BC925 /* SVGAExporter.m */; }; @@ -67,6 +68,7 @@ 63E817002178809D001D2D62 /* SVGAAudioLayer.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SVGAAudioLayer.m; sourceTree = ""; }; 71418C92225E6F710029C69E /* mutiMatte.svga */ = {isa = PBXFileReference; lastKnownFileType = file; path = mutiMatte.svga; sourceTree = ""; }; 71A8679022B7785100176CD6 /* matteRect.svga */ = {isa = PBXFileReference; lastKnownFileType = file; path = matteRect.svga; sourceTree = ""; }; + 71A8679222B7853600176CD6 /* matteBitmap.svga */ = {isa = PBXFileReference; lastKnownFileType = file; path = matteBitmap.svga; sourceTree = ""; }; 8AD65028FA2D122A34DC4A63 /* Pods-SVGAPlayer.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SVGAPlayer.debug.xcconfig"; path = "Pods/Target Support Files/Pods-SVGAPlayer/Pods-SVGAPlayer.debug.xcconfig"; sourceTree = ""; }; 904D41F61D223DD20085A21A /* SVGABezierPath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGABezierPath.h; sourceTree = ""; }; 904D41F71D223DD20085A21A /* SVGABezierPath.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SVGABezierPath.m; sourceTree = ""; }; @@ -244,6 +246,7 @@ isa = PBXGroup; children = ( 71A8679022B7785100176CD6 /* matteRect.svga */, + 71A8679222B7853600176CD6 /* matteBitmap.svga */, 71418C92225E6F710029C69E /* mutiMatte.svga */, 63712E6421787950001AE014 /* heartbeat.svga */, 90D7CA1A1F7FB114006E74F0 /* rose_1.5.0.svga */, @@ -360,6 +363,7 @@ 90A676EB1D13A6DF008A69F3 /* Main.storyboard in Resources */, 90CB64F91EF297E800DAA382 /* SVGAPlayer React-Info.plist in Resources */, 71A8679122B7785100176CD6 /* matteRect.svga in Resources */, + 71A8679322B7853600176CD6 /* matteBitmap.svga in Resources */, 90D7CA1C1F7FB114006E74F0 /* rose_1.5.0.svga in Resources */, 90D7CA1B1F7FB114006E74F0 /* rose_2.0.0.svga in Resources */, ); diff --git a/SVGAPlayer/Samples/matteBitmap.svga b/SVGAPlayer/Samples/matteBitmap.svga new file mode 100644 index 0000000000000000000000000000000000000000..c73db699bd3e68439b6101bacc1601dd88f8a93b GIT binary patch literal 71394 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 z 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 literal 0 HcmV?d00001 diff --git a/Source/SVGAPlayer.m b/Source/SVGAPlayer.m index c888eee8..9f0e5c62 100644 --- a/Source/SVGAPlayer.m +++ b/Source/SVGAPlayer.m @@ -142,11 +142,12 @@ - (void)draw { [self.videoItem.sprites enumerateObjectsUsingBlock:^(SVGAVideoSpriteEntity * _Nonnull sprite, NSUInteger idx, BOOL * _Nonnull stop) { UIImage *bitmap; if (sprite.imageKey != nil) { - if (self.dynamicObjects[sprite.imageKey] != nil) { - bitmap = self.dynamicObjects[sprite.imageKey]; + NSString *bitmapKey = [sprite.imageKey stringByDeletingPathExtension]; + if (self.dynamicObjects[bitmapKey] != nil) { + bitmap = self.dynamicObjects[bitmapKey]; } else { - bitmap = self.videoItem.images[sprite.imageKey]; + bitmap = self.videoItem.images[bitmapKey]; } } SVGAContentLayer *contentLayer = [sprite requestLayerWithBitmap:bitmap]; From 6436935f6010fded627e9a91c7e0dd59e9310ed9 Mon Sep 17 00:00:00 2001 From: errnull Date: Mon, 17 Jun 2019 16:39:00 +0800 Subject: [PATCH 039/104] fix: correct image key. --- SVGAPlayer/Samples/matteBitmap_1.x.svga | Bin 0 -> 71914 bytes Source/SVGAVideoEntity.m | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 SVGAPlayer/Samples/matteBitmap_1.x.svga diff --git a/SVGAPlayer/Samples/matteBitmap_1.x.svga b/SVGAPlayer/Samples/matteBitmap_1.x.svga new file mode 100644 index 0000000000000000000000000000000000000000..f65e8aad1c24f3144ae9e72bfb02609ede8ae0de GIT binary patch literal 71914 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⁡}a)swBjMVV&ox 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 VWl>-K=M4F!IljzBq=1+4zW_ Date: Tue, 18 Jun 2019 14:35:37 +0800 Subject: [PATCH 040/104] test: Add matte samples. --- SVGAPlayer/ViewController.m | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/SVGAPlayer/ViewController.m b/SVGAPlayer/ViewController.m index 7744cc79..029eebca 100644 --- a/SVGAPlayer/ViewController.m +++ b/SVGAPlayer/ViewController.m @@ -21,7 +21,6 @@ @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; - self.aPlayer.delegate = self; self.aPlayer.loops = 0; self.aPlayer.clearsAfterStop = YES; @@ -41,9 +40,13 @@ - (IBAction)onChange:(id)sender { @"https://github.com/yyued/SVGA-Samples/blob/master/kingset.svga?raw=true", @"https://github.com/yyued/SVGA-Samples/blob/master/posche.svga?raw=true", @"https://github.com/yyued/SVGA-Samples/blob/master/rose.svga?raw=true", + @"https://github.com/yyued/SVGA-Samples/blob/master/matteBitmap.svga?raw=true", + @"https://github.com/yyued/SVGA-Samples/blob/master/matteBitmap_1.x.svga?raw=true", + @"https://github.com/yyued/SVGA-Samples/blob/master/matteRect.svga?raw=true", + @"https://github.com/yyued/SVGA-Samples/blob/master/mutiMatte.svga?raw=true", ]; [UIApplication sharedApplication].networkActivityIndicatorVisible = YES; - [parser parseWithURL:[NSURL URLWithString:items[arc4random() % 10]] + [parser parseWithURL:[NSURL URLWithString:items[arc4random() % items.count]] completionBlock:^(SVGAVideoEntity * _Nullable videoItem) { [UIApplication sharedApplication].networkActivityIndicatorVisible = NO; if (videoItem != nil) { From 125fb6c387839678f870a2bcde622a15ccc4c839 Mon Sep 17 00:00:00 2001 From: errnull Date: Tue, 18 Jun 2019 16:28:33 +0800 Subject: [PATCH 041/104] test: Add matte samples. --- SVGAPlayer.xcodeproj/project.pbxproj | 4 ++++ SVGAPlayer/Samples/Goddess.svga | Bin 0 -> 670745 bytes 2 files changed, 4 insertions(+) create mode 100644 SVGAPlayer/Samples/Goddess.svga diff --git a/SVGAPlayer.xcodeproj/project.pbxproj b/SVGAPlayer.xcodeproj/project.pbxproj index 76b78f55..677c2d65 100644 --- a/SVGAPlayer.xcodeproj/project.pbxproj +++ b/SVGAPlayer.xcodeproj/project.pbxproj @@ -14,6 +14,7 @@ 71418C93225E6F710029C69E /* mutiMatte.svga in Resources */ = {isa = PBXBuildFile; fileRef = 71418C92225E6F710029C69E /* mutiMatte.svga */; }; 71A8679122B7785100176CD6 /* matteRect.svga in Resources */ = {isa = PBXBuildFile; fileRef = 71A8679022B7785100176CD6 /* matteRect.svga */; }; 71A8679322B7853600176CD6 /* matteBitmap.svga in Resources */ = {isa = PBXBuildFile; fileRef = 71A8679222B7853600176CD6 /* matteBitmap.svga */; }; + 71A8679B22B8CF7400176CD6 /* Goddess.svga in Resources */ = {isa = PBXBuildFile; fileRef = 71A8679A22B8CF7400176CD6 /* Goddess.svga */; }; 80D4C7254846B96B9C6EED83 /* libPods-SVGAPlayer.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DDA5FF396660C7C932DF9B8 /* libPods-SVGAPlayer.a */; }; 904D41F81D223DD20085A21A /* SVGABezierPath.m in Sources */ = {isa = PBXBuildFile; fileRef = 904D41F71D223DD20085A21A /* SVGABezierPath.m */; }; 9052FC631E6EB8D4007BC925 /* SVGAExporter.m in Sources */ = {isa = PBXBuildFile; fileRef = 9052FC621E6EB8D4007BC925 /* SVGAExporter.m */; }; @@ -69,6 +70,7 @@ 71418C92225E6F710029C69E /* mutiMatte.svga */ = {isa = PBXFileReference; lastKnownFileType = file; path = mutiMatte.svga; sourceTree = ""; }; 71A8679022B7785100176CD6 /* matteRect.svga */ = {isa = PBXFileReference; lastKnownFileType = file; path = matteRect.svga; sourceTree = ""; }; 71A8679222B7853600176CD6 /* matteBitmap.svga */ = {isa = PBXFileReference; lastKnownFileType = file; path = matteBitmap.svga; sourceTree = ""; }; + 71A8679A22B8CF7400176CD6 /* Goddess.svga */ = {isa = PBXFileReference; lastKnownFileType = file; path = Goddess.svga; sourceTree = ""; }; 8AD65028FA2D122A34DC4A63 /* Pods-SVGAPlayer.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SVGAPlayer.debug.xcconfig"; path = "Pods/Target Support Files/Pods-SVGAPlayer/Pods-SVGAPlayer.debug.xcconfig"; sourceTree = ""; }; 904D41F61D223DD20085A21A /* SVGABezierPath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGABezierPath.h; sourceTree = ""; }; 904D41F71D223DD20085A21A /* SVGABezierPath.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SVGABezierPath.m; sourceTree = ""; }; @@ -245,6 +247,7 @@ 90D7C9FA1F7E2AA3006E74F0 /* Samples */ = { isa = PBXGroup; children = ( + 71A8679A22B8CF7400176CD6 /* Goddess.svga */, 71A8679022B7785100176CD6 /* matteRect.svga */, 71A8679222B7853600176CD6 /* matteBitmap.svga */, 71418C92225E6F710029C69E /* mutiMatte.svga */, @@ -366,6 +369,7 @@ 71A8679322B7853600176CD6 /* matteBitmap.svga in Resources */, 90D7CA1C1F7FB114006E74F0 /* rose_1.5.0.svga in Resources */, 90D7CA1B1F7FB114006E74F0 /* rose_2.0.0.svga in Resources */, + 71A8679B22B8CF7400176CD6 /* Goddess.svga in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/SVGAPlayer/Samples/Goddess.svga b/SVGAPlayer/Samples/Goddess.svga new file mode 100644 index 0000000000000000000000000000000000000000..ae27052ebd0ce06e92ab939066209a533cc6a4f5 GIT binary patch literal 670745 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�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

tyaG}_NWK+OmKIf2$)v@*WI(CX|J|1H| z;CcY-9s>mxdL0@GIMLJ?8i(st+f0=dl#9})P?>5mG4kEjkKnPYF=`nvlR;6Rl(8n? zO8rHaeP*Cj=$z`hQ+3GvUdVD4NNO*p#xP!L7SD4oG93x*k*E zscjLafCOyqFO<5b`&(~%^Wt%cDgZnLEHnIP=(Lv2;;U>K2);qf-x;~2)dh-ERZ|ow zz%si0N2{;}fY`@Gl3jF;2?x=W8Q_UbYm!#UxII!lw45;^^8g1WArTK}q%*wOvTW#` zXj^m=-9-TpcgqpG1$pUadjLDlEVDL6G!r_DV&5=GdV{n?BZJYy#H(W1mWQgWiIx&$ zrlv)yf?A(QpY+kr$TTZJ#6ea9$mXARRjCDOfV8V)^V~Xa@YY5b#&WpL18P1JdOjfO zP3vV7FhtbwU^ayfkdA%j5F8iQebT#g%}!q(j>6wSs}iV6iX6VG4iV><4QH!OUs821At>CuG#gIK46)Z5@XmL#C_k&B7 z5m_q%F<*n3dGLrquF&an5=Z>t3Q$*M3FUab8c%it{KD<^FNR~PY^j$oKZ`&7$NwGs zH=mD{v3ROi&+>hR>iSIIcRzq5N_{Fk_59+POZEEvYoThJLQijA!1oJyxreRj)H~P` zz*7#Z({@hkRMnB#GgDLfI(-V*MHkCuC*~U#Pz&HS74X?};dUf3Cx@Uz!FjTSX7}cB zVeYFOs47B1pbHpAM(~M{B5!~F=mI8PtzKH%+}`_TbD(d=EVi~GjGMQu)Ax;F3uE^P zC*g)>=I&v#oDtr+_$O3J%EH9ZSE~0=V1Iz&(d|Tq%(nSvh(RMoFx*>!rjk>U&7SaT zO%4rBIR!vPp5H^0?7-(t6qxvbqULIi1&Tg3z9pzJ%>#4)x^Ry;^V-j(OO3f0%QXTh zLfbg^c-u#S(Fgu1%nx+r9>feBReQIfmr2B0g0lrw`OQuX!}hNuW93O(*Xq-834 za#b0M-0t%5%ge|NIb9HBwNXPxxdEdhER)YUs9@un$9u(|az2C>bm_eJp+0elle!0# z%bcNv*lUN)z=7i94u;2=x#MyGIPAKL&@zPl59)ty`!}D{@4gz5RO^ND z^nknG9t-ow`=2~!MWyw33DxTaDl1}LuhH+pc7y1doSHhv_Y3HIX063k`K=v$(Hge> z0(b+g1D8mO)JcSXib$HUBdcUBjId>ew+LcvB`j^DHi);b+9%Ct6xWU7v0`Fgf!a5$<{FbPnJ z$gX`&5|kt1#ey`KF+A$GUwhoI24w)#-nwo_hRD45n5o&y1G(XdP)n#TsPlLiV(zG! zzQW}kVT?tkW*(M;JB9HTu$`uXvMVUB?V|GMb5*2O5$O%d#Sg*2DxN1jVjeec1Po`O zqO9?#Bap~5cehintgWb5P?oav_E$Kp9=itK6eiPddT7k$b}OHvwzxV5>1sZ{j;_zF zNTAPliv63sD9_RqSeZqT3aF1 zgY9$?rh45We9iYqBWr}A#`1G7k56k3;3V6rZ5e9H{7G_%>dxh&IaGXNn$QDq;74f% z5`w7|dw~s>?gXLNXrX8+#F!4%Y#xg6uSReH%zaYGJ&F5SuFfn&QGuW`mvncS?{Kn5 z0BGB8gbxoVEqXhfmJS3It$*8tH(kDnfLYI4r3oGYwA1FAFwp=P z>bUBnAq*LqqAvokStR@nY;+Bs?tM;UhinOh(v-q5JkckIu=Q|d;b(gLGcIR(Iyf77 zAr1wJZX3FYxXoRp1wd7atZhX2JGX693XI*l@nU9o8!a@YXf6~=z;0aSpjd_Eb~Xmh zLMfzETaPfh%iihO@?;1_E1(Ng0=57xGVis#L#ZZ?^>~Pe^l;Sjvt|~$nmJqr>_`K+ zBEM&Z<|;U^4_Pe-rNS=zW*F-+CgJ%BQj0CII^RZra@|qaSY6y#&uqw$-U>jjH(3wL zcC%sJOo^7z*MOmKNgydF!xD(bMp#p4S1^b2Kjvak0&6M0H?m11#GY@O{wrR-{47>ZYHbf+e8$Cw z`p0fRSQuY>^>1HEfR=DA+i87YDD_(HzkdTOF6wo1l%0>qa-mcJxX8hN-mu8TbhfYX zWwv@Oh%~$2r^fLTz&VlScu2EMr>FBPTP9IM(lNtD0f5*M(?TB(_m18xF5kw8KiE#O z43W7MK*sj~2}#fpKUo#h>-||emD;q zJ%v2KrBDq3Gl)}bx{Q*c>gjp>(0n<&P~W-i3=!ttEr3vn>q@r*#6aYY2X5fIhlu}y zqJ4ru_na)TF(O(x(*ecsFbgoe(-ga{St5j!p%0`}&FUaL0OMhH0wcSOnlCj$#`MKl zaTz#~4O67DgltXTlpE_f<9dVd806VW$8CXw%dLiaZ!sxwd4?sY(o`c3;*yUZhq2x- z1yhv7sP~^&IB+8hoo2?a%09BlcDei%>#Ic$DTGL{DW_h9#b9QDS!^L6C$n04w@f-c z1v#iyogpWerkWL7L*G@u$8>fUaFzmD&P>&#uom#k7$*UMcEUu&698Rz+HwCnAd38d zePkkawzv|ib)9jILaNt@b;;_#p7(u)EZ=j?bMNA@94hSOOdawdYttGA|3$Z3TK^?mu!6oHPA=LE}Bl2ooG0(#hDILB& zK1ZdslN~WfPf;HRYP-I7ESH=SWsfIZ=`55gelQ!P5M%u%`zXipB{(4)ssS`VAaMmf zPr)q{0OY)Bmev*NZOZ1APhZZ&Lt8-^uIQ*tjgpetpJ{)WhLN%V^&STD1gw^X8H)Q9 z3a#y`Lr1?H8cD$hBXicVeRJEt`8*P(vK&*u6tL${e;H2*)m2EoPcXjk9exPf#YdmO zSK8F|_qA`oS2^n1zw%LgBGh;Rb|25=1Z;oE50${4Ff(kI41OZVvc2Grs}d+<5%n=e zZwcIl?3_jk((a1Q2Z5|p4zoZN`fA6M(1|x?t4psa8i1-Bv~61Vk;N+SYgvEmIzE^U&5JLfGsny zgak!IYN{FBk{8P68FssY$yv}Zrj#R0F-=hlM6?)?Y~=i^OJnW>b5b%NAca^7!8~S? z`d8!V)ez*d=MMlFE}BxZq@t)&gNaZmH6SkN%-EEqjpKde@VU68F^?@eR=y+Dz>Bj9 zwct#e7c&F7Au0@r1&JtzA7U^r#5Ph~Ua%O$gv2eW+KAgvW*@bL0ppong`hxNK2-TA-%rh5y61h@=aZ!h^ zuSKA$sxG)}K)!+h79@8?@tm9GO7>_1a$X{vE!Va;$Fn5uM<2Pl-fMlMC}n`ku3*}0fYLgAOLTSmV|Xfa|JY?t$ccvHK)37GbnxEC`7T~jqIA&2n0GB zO9Elo52_ajqKT!yXcCcK6g>h{n8qw}!ni1QfGW^uWJYL1K>&Rh$24Jf*a3_!dXZp%&z03-2=K|{1b=6)ub zzZC(vY_a9s!czUZYWJp~7>vVOxMmwimSa&Q)$E&cXUtcN3?@LD4ir*d;jg6$xkvaV zB8DIx48AAYD-PFR$KJXSSD5e2r~8~xV}JAiIxxAY*Ixhp960vhQ~RF0{^RF<>Rsmc zTv?P=&~7(J`qaAJyn;VPmjZzME-!x$7Ox)b1l`cAf!-0R`nT3_zH*h$t(6V6rbzt& zAkhN&z#WEme9>W5i@Cl7C?l=P3G8xsF++baebyQBl2>Tx-ZP_r$BtQ2rH3m`V6Cx$ zh`PO-wX>07&Za56Ux4tF+r}_7C2iReW**_*IvRMojqV#@6lsAig7Vsv3`0bC7wcea zVHRB)Ws$-2ja?QMwj#2Ye}<86y|ON66_2v{MIDoEyk+)e0wd~1UyZ*;lv1r6Pp6&`OxoTkh#!RJs|lh46724P{^RglDb zt0>_xOJkR$E#R7q8-}{fYOyH3Ye~{TMoD>o)R9%ocL+=9ilXbKAhso!Ez5qJi-%3- zwqJsk1HoOw)so#+W&;qkTau>*?Xk=@`OK?&U%yB5KQRuFQD6(=xpw|7+kh5VKL7wA z07*naRQCE8LT!u6zY5jsnE$JL9iQj%_P+0)6q>*>Im%O1sx<&4K-<5|6mU#5eYdFm zwt;=u&m{rIxxsCRhokXE8u>|EM^ z0Qx+SXc%16sMV8D@)1|!luRtpM*wm_jlUiq9V^3=%mtl_ZK^s{4ug5-=kFZ^le}4i z+VVbx)AwlSZUE3d;2mTOyF9>*WHWTOj_w6a{S1S(Fyb-JzFb?WVFa@qApS;SYBxvST=+@&gmjX6b z@G=*292^j`^s8|i$7?+$SV_ocNzlYJ7URH=NbvE6VrbQe?QtvN+i7HVTAz=bA75sCHD`Ra6Pz~ z6;inf)+ix*{`8mSnBvvBb*=A%QlGl_Q=gyQo+9`IN;17VqX4P;MVSHsQu&r`15c^e zKfG0RR69x4cSC#FK`QO2^`3cBQ@7|lPFic_!Rk9krdumDeb52st9`^G-N%4lvJ6N( zXl7{)NS~Pa!74diBGQoqC>yOIKo9J)ZAu($C+uu+1Z>;j?pZ*%Hqo^SxA3rlA>0Ww zs)(NJkR%L=2?&ajyFt$QG zG1bQ5)%5~D;y-4KX4H|7jOs|VlRQN>AI^v*1ONnQW+%+aHB^5asyd(b$j9g%uDhQU zs2D;zM_~T$qxS|<9A<#X_sqtrXB>}XSD)v#Bax<1qz^&6Zc>ejT3zcgV_CqkbWUYh zVkolW_`Y>qBE(t<^F>AKpE{fR)nIHRWRoc{2`C_-_C>zxGCKf(Eh2g)-^~|j8ZX>1 z?VB6fPCQWCl+h}tFnnaY{%#@kei8Smwd;@lo6loSmI6E`_-FEzr|ww4zn74FZo5XN z@2iUXkj4A%-@r}_LcMAB4Uex znejr8Mvn*@qBZxZ;?+qSO^Ue879|j-q>)z_>6$&m0qTcaLgvuuq2SlW2&BIGNE(1J}0xHiLZb}Sc$$6#u zceV)Y-WW0slzP38LOCCs3o0+0w?VmqYKf2BR|fgRZftrnHEqc)+_DmkHr&iDF z{m&iqXnXkLGd@#y>QBC1CrEkfnDZ>&HxB3*u$>U?gs@H3PCeCq-({@X76;VD6C4_5 zxrH)#dGhZKCufG7Qi8OdQqce~ReqqP7Tb42#VTS4PrJk~!$RkVDux}<>t!zXCW?)XXVK1xZ8^=umKjcLu zSXIl9+?K4=L3!UgXYuSGevb>3;8>kZ%kw=#tm(xbYeoz-9u?zHq)U9YZzdIJaTasP z2)*-qE!iDc_COvJiAvKlQu(nbg96KY%=2oCb$MQq?-E0=7EVDrG=V@RwPk)5eMvS? zQ`jgiQ~Cu`pf1ANPL`&E0F2~`RNbkZJ3Sbkf<0&5k2iVl2Bw)I6whDpxpeJ!ZqFR} zh_gHz<$LZsY*}~eeJk~MUgK)}&KLZyVt&5QG=AmXzr53Tmpi~V#5oXsN8DY&T^UB0 z6`2VjtR1OVBO%zV(7SEGtkj)PZS{BgCR1_wFb|_careuV(hw6rO9m)U1j>ZclHx9Z zI(jBR>70pCG(=}`VF%Got3u%!BI#9G1Tgjouy;gP-V^WLRDH#R?qEBI_qZ6MH;=%> zJ2qFgHoZ2RINk0cPt=C+pm(PSVGIw?^0F)>B6TZ*>3T9J7;vagr|bq91DS|NNNe@> zS1@a}d`y$-;wTCXA%*%!$CT%MTmY3xetMi|mmMimtFZAYuLDP6w0eCD=??CP5T{k| zNAVbAK6+7+4$iH-w$0pObw}1aEE8yfpvA6;*%MG`8LwM{vklS)(HBP2#vvU-2zdT14ng0hoCi%K9&LQ_pFN(zkN29Qer6PH3AiaYI> zBsJHZ9(}v?_0q?+s2{^p^T1`u;P~g&#eeX=s*ZXU<9{_ypWN2tpAyE0&rc?vY>2U3`7v}6H_=m_7lMimh) zZKc65Y#p?S3|I;8Zida-puBkoN9-sg9Y91kxG{xc0Q4PZ-dYw`PkITJKAWleF<_jF z6Bvr>$}%kxN=bzXGJ+85tASf_XZ2j@41; zHs&T%P+os=IH)G@iXNv(sUlb<}K|SuzPNtn{tPZ4d0GuFOtEKrT0&s_& zSb49>2GuxItOD5>(OsddW?8Bt*v_D}NQLb=R5lloc-kL86atv6CS#nfamvY{r1Y z&cJ@hw95v!w2>V(k1LqTrS0%O;aHuwo^y>L>+|{>0M?|_k>39(8r9haFrMMu-0jp2=HUpkMTCotWTzl$ z^esfe+8BK#L+J#X2=$E~$~X{gMDJ{2o;sH(vrdC6=GuM05dmn4{VX2KEda|PS$$s~ z?>xsN5g9TTBG~~Y8ACJ37XYPOlp92?V(Z@%!On5E4C-_R(vE7i;94Z|UHGNzAtPuY z=644qS#aB@st;hA0u-pMA=&5qjS&%QqcKb*JviSX)`fdUr>^FVG>;tCk-9=YEY~$9 zTUKl;q0c3*eTw{$&2z|v${vk`Bdi;eM%syT9Bq)^6-f14G&9>&Np^If69k1 zJ}X=5)k6G7ZS}kd;dy;f3De6}VwC+}o%4qW*j?H;`w4cr8!zMAjmEFNgqr zPG;IX(Ni8+&K^fA8>)Ap_pCQbM22svEJ>ONn#@k#JL3Kw$Qyay`vsd>55^Af!Si|R z%_xFD0HOmCK@W%1qG!RNQ@A1pcaO~U)3)w3S7pjAdN2y3cxmVgEn$Erhzs<|Pc)$> z@kg^MS&66-EaJl$BT+R`7Ed{VN-0&sZrDa8g@<}s^0`>RwU23Dh{?B!5~kC?{3S_nBV&8ktw< zY!z11`4)A3*5d|aI`$HYB6OmJrBdQDvQR;QEgeKGDVl<^<+HSq^T`Z6&6!mWtg(1) zng!fKZ18g$y-uo=WgFAU89)&u8rfcw6;v<^3N9P7t%g&qarT=A!V`<``ulqSx*deu zN};N3{@d$c_*K&B?{nR!?sNV5uTz{Hv-dg&_>#M4%(s zkbI(?T2c)iCgZ%R9IJ6tQtITTItFnsP4XJv9ibt*oh8KMB9;ku^w>A!+573HN58-r z%E%oTn$uk@tj*iGv+qH|xjz_Nb9ZNJO{PEZ&1~!F7dz2f1U*Q1(hS_CWP;2^oj{N( zAzdiWBwRfwb%HiIjIzlJO|5bA?s8xgfj9y5BvU!kSjS-;rODh~<7`|z(N{T*a(x^t zL7EL>sMm&r94giR(EFJ34l$oOpS!-8GP(phQd;_u>ycTuN<)t!CF%loV+k-pvOus0 zU4{;1Er`LESP-pFSnfHVSq)GLPtvhCShDnpXr&D-;h!wiMXnJBDRVT@s>i(btj$-G ztk~MMs6g&kxSUlED2FZt8Om_lAi|Cmh}iF@^NY7&biywY2@vwZR$(boFtTVowH+vL z>o(ec>3jeOw;}L&aNz3r>%x6l{{B9KbbX#@x95uV0aJ*cULfl4-WAvX_JYQDh<=id zECR-RVBZj@Gq^v%{DO+dHy9#|8PFUZf!4L8505_+y_oi%3EWjmBU#%YD+8~9B>or% z|0gmXU#QOqeyAyuiXTJ6rdWj~W*Dw>_6w|S83JgD_<){-T0~BsChn=~PGt{0To7zd zhl4jBmv`3Kc0>~Zva?6@#vU7b1bSEcrb};Nqq`z!f~OXNEqDS{U6>thFOt3^9L_Bw z)9wiyr>G%i5r}%-oVdfGWD=+qOErWRiBT<~vd(Is8HF3e0kpG2ld?Pm0s1!g`b)4mR`dmw(8s{L62o&DF@CA5UlSBJza$_pVi?(g?RKrp zlI)-{Vy?B%`7*OA%Uw;ojhdeeBm-(8Spwf+At4OUf_Mflcp0988zdwoEX1#nz#v&* zWQ^_VuBxoc@0`8njKRf-n0ucuGrP=IWu5cwvwzl_KQTu{j2Hoofr#nE6KzCUJf;{Y zAeYUDPH-Dq=Y9fF33URQIG^=PjE0`hsgl$EdJl%c7?mMxI|0}i(Vh0t{5B=_p1f))+`6cz;90Vck_LPbo0Olp|p4Ef_b4ISbDzHN?}! zFXQGe)iJ2!MG7{5DXA&0#1JxbRf3FmSFO^L9SZ{h(HfSjQO`$SsWQ0jng-Xl3=hrC zPG~fGY5Q6meOL0xU`HE1mfxGg5JZrp>k4|2mXQfz*OueK>7?3Nf3cvq(aj(HeQ(rf zpi=5t@-z$0OXkzT^1PY0OgZ*-)E27`>D+z~WSRw$xmje7@L!ElhbsE;DrncW>+Zk1 zdi2r2-7Oudpae=UcTBYq`sqP)x-AcdPI_ z=;x)Q;R?>7+yx%2eT3ue_#V3YfNMFPFWGRe3s55C#Jay3?)acKQspfY$55O?PI11Q zW?keLuInNXVP0n-4KZ^j?)MxqX5z@?K#nulx<<4^T^dxIZ|e|RK#T<=^UPpEi&j>T zvUjA!?aZ=bq-tckN&l4#w2K+r_<1C9ukDBCWlx(wj^PB5J$b)IyO#ecSyKqvYDxKo zWgQ^N&;I$-hKfOqPxuLR`vZZLc>NPTm7#u#RR54ce7GjR3@LX8Aw`l^HDWr){nfZSf=YaH_@&_?QH8i=zOK2o>>_ z+6^oDJw`>007#e>88ldXQd1pOe%d9bV?dZ2lyJG}Rpi3hqh>EGmB?^Hy(5&cVz#Zz zqRb0hb_Pj68PWoe7pv(f#aynYUDsm7Qj97~4dHy{rGqO*=(+~Tk>e=gk*$zknbH`d zQCV9k7}1F4ghdKWsm>R>hb5xYHfQ%pY1CK$>EW*X?8A2Z?W+FR$==cBr{}-?ccZl@ z1InlGF=x|gxa6!Kal`m>vGy)af#pj!2dT=JDrWz5J%GbYdh#;M5IvCh!{`cX_C6$$ ztFle{u>UrNY(K|6eq_783l9+)x1!l0U&GJYlY(AzPT%hq=3GKVi_&462QT2}oR)?&h4Ux~Gx10@ z_osigsrOHKMMkpTMXO?|wQQ<<2rG?tWdocNR>fTb|J1S*waQ>i&l-h9oEAn&E$A55 zMy=ObhdtfmBq!Fq0^>Z_yf79-$4tREL%`5nRCi zq1Y?Q8DHoBRn6ZdJ#|9`(1||h_krySSNzU~sXr0eD(Yp3{c0mMHN6V;I<--1BZoEs z=s4+@M*18>1ZM6BJM?LMS7!NoU;ocAA0ge|odw_8x<3;3Q zgUDBcFSU*WrS*!9Qsb52VO9aUHP2Z;gW!qHWZOBYAA5+%doQGCW2R@(lz!yfKl!pX z%9ADkgO4A)?hm>79XGvy2G1Ah{(GR^{kLUz|Ejx2}N03D`DaR-4u(o za(~Ctyu1&`yz)XWA=6b+AfY&Lx#UzBL2)w1E0!1af^g?uigm_X`5;c_6jx5f2=Qg4 zI0+EL9Z-TC%4HyO&2HM)=SC+sR#aoFrU9i{lPMY1n3Av|fC~1(I2zH@v}2TP1iHI* zn*C5*%u-uv!}dYSu3?KW8jUmys-3H&hM_X|zft?0B3 zOd+@rHOnqv19#-fVeJBkuUg}yq z7J33a&1DsA5I33^ktvMVI@K%up~^AGt>>o=C2J0doJPV}rgZuB{oQS3ZPa<&sNkm` zAO21NIDYZx@l5Uq(50yS;tl`2hV_F1ef`D@=dW`0=j#_;Pw5!yO*^xXcNv{t4`cb^ z^ORPT0?>`X34wXvjYz2h$J>Up0a}Ps)(-@3fLBFk`9Dn#5%Ed3%`^Z3RA@o>OH44% zujXP%bnCzf5HTFd9k0M~Od+Svua3Fi!CZn)TvHHE_g{)*rFZ~55^e1iOBNc2ByOlx zYKWeVu@GbK7ER7(LtFA7wO!?+1ZksK$D_6R4*(*J%%Z{s{=61IDG8ZPb6T6s_K}z^ z?Dy{TrBElg$mWL=@qv2F#uzo0MU^8(gDrVmZXx{q-7gQ@Q&K zIFYnI-T`~KoeL}mG5aT?;jY>cE!JZw7Y-2eRTc5d4(jzx@=hE@KJM=X#EJw`}OOWqv6Vmm&Q?ObOECb zvdcj6T(>8U3YrCgg>yBbB!P!4fN&_S%}-!RxMbX8n30b}Rv&2r00R@W0j*{2tv&!I zrdoktm87E8{5gulh7F=0O9NTso;CaE9J*tFHA?d~puFp0(KUJ`_V;Ds+l%N(D zHu1mQ_;8KCHLM!By0M{ew|W6`sYIb0?mZ|^wMmLW;EOefbvHG&PKzF|2c;}(!8RTp zR(Ptgu`9pBG(JITgVjcPQ;s@pu%3*bJ{V}2So?_8Vq%x!2B7d5lPW>nJ~Z$MU6)~1 z#Ws69{GvwlZCmQQ`|zo;f5els839#$Dk2i83NWw+&m9~vz)B#YE1LHAxeIEgu!0Z6 z4p$O)7uo2LK#}sd?9YuKs7(>X`4#KP65^(c$2vaBg91gK;By?5?e4>rD}az)JRfXj zXx*5PkG9%7?C|t&J`C%4tsy*sv=R}=&zj@R^RNH=!1x+G{~E7<{9g#LA^oDR|AYU7 zJ#jzy_kP{)e&r`V|E7-j@x$0D@R7`aeu5az@ZUeXr3nDM3;>^f_pQu7?^d<#_l^nZ zK&-3Z8Oc(BKm}%AlGbZn-`XQ$%JK5yXC;xmaGi-NKO~ z78lNP1*0f-if|mX_^NGEGDelB(olO{z`A29VHz#02-%~ZGJ@qPWMTw}F`zsX7eLan z)4VMvgyXjGei!qO9G@r-tcaC4mG7S;*7VBnqN>C#p;@tr24-V;2s5i}p=K|;|Dn&5 zaB+p;O;k9dE1^33-Yr)8W74#&9TP=`6|j+DO@d9l4NG~iMtwWu9*c#v&}s1IQ?w^h z;rBuyWrhi;elra$uv^j zhsOR6s{{6HKZq-X;Nm0h`Y@`a(dSU1$ubsMl}RHIbQ|bLj1{2EOodor$bV1>u>h@Y zpdBa>ZP?oYLkRc1jT3MH-`f(yL9lTI_+sNWUdTAWajQ!>0GASe|o@ZM16yu*WDedF7x(?-}b{Owf-R++&JmyMCdMzZwQde&;5mtpXNKq zH~;GX%q~L(ezG&_m!W{C8}I`E=9iB@eE!W(t4n=INPTW3gSdUN5K0@+b%Ljme02Lw zz>ahP5d-7`M#Ww`v){?6>7QB;B&qt45P-Gz(RH?yu}e==_yiVtCijW~32|U+!3(>x z$%~d)BBXfK6DTWq*n)4yE0GH!_Yy_ASaR8BQn{e{j;u;)GXp3oT!qD63nhO503ZNK zL_t(jRh~{M(`DhEF@~QL~+s;E}3it6^TYhm8CXPZKK2; z$9yE0)GM-hvd(626lhSCjZAGd4XyBC0u&10f#fHI830E^^KRjs*v%eLpQ9&3OFYMD z_c+uN^S_7huk{Ul53Bs%zV_s^=Bv-Y-drCKmX5-xjjvBVPbZQbS-!`F!gMSibr=-e z!S4eaLuyp{5eqFtWFR>xj@V%hmir!Ox!Fj^C7YJ?lDimD$tL%?9Ov{nYY{QzP(Y>K-OkkEVz7_T0G55Z_TANR71+*{DWjlgX@sL*dtJMDejqBI4as^ci+*Z1z4FMZe+C{pJul+g|VnusmKeMVHWgw!HR(#m2p@X zL+^%uONuEWZr10I5n`@bi}~rBwbmWFe^&620`p8sb2cg~D@I9J2q2^(H|t|rj_!^< zP>3lU2dx;X22%xeVic{Y=|`Q>j|CG076{21-c*%is*^)P$5~4jX6PxYByjYYWg8XW z1|%~F)Toe*l*0;e?Z5Q|H*?sZ>4aHZ-0i||61WZf#<^;==WFPsnT_@n_m!)R+_K;L zNQ60jfoa4V4|H2sK*R)g6&Lm@5{PCa_z{%m{#;h#NJO>tE__k<5g~B*LP;aSW(%|( zfBI3O12PsPs!>DrqGhP08%Z#eA#q4h!ZKvOpE$y-==#9$R?U7)Q38jx^)oXYl{=$ z3!u9^^#P1e;P{3`{lf9fza8^e{~e%(XQTSXgFo^6Pd>_+hMr{f`f+{!7zZtHSNG4( z@{bF73QmnA;(Zy3*5^bFXq-TdN7g>GCfX}WCDxc4``C>jMiOW9-H*gtK$Po$Ch+jX z`aYVT-Dyx&bpW+XPz~jBKMw#1mhLHB^qjLo0IHSYv`W$Z>lhTcBn({BZ6o`@MZSuF@1@d<0c*UC3db=W%Lp&rchH@~* zkYVUp1&~t~_w^}Umzfw1)Ya}Pi`7*Lxn#u`_3)elz|gjgqA)5m&jd$xb^Rc$oMj-F zcHMV0J*kZC5Ozy1>JcVrj@33?Z5V||A0mD6eW>3%X;g-Cqj3LyyWE>f^|&S*y?URz zI;oOwTxAeb;KT!IK7IF&+m^pVL1US&#zcigxV?gy1TF*@h`I00m7WX?i&@yqgqN9lhnEcqv^RqtXU|PR_j+nv)VOvmt_Ggs;{MwCJ^?< zIZ@K50f*CtAp#k|;q?Uocq#62VbsUbEuXc`&Fspa?SCv_M5*o%XZa~hNUY+HZujp> z@eIzSqO_j|iEAy4wLl&vCN1}q8YfcIPGAIby(>7R%%NPQc;V6+Qs!~4#y*-_8Y9RE z#=%@yM&?3f5{z*Sx0RsNXA3;Wf<#@!?yl|jQguE@1(79XP$FW-LbGIyn!}UDswoI) z!{-50QHG*zUr@3*3Svs@a5Fc^PQ-BiMrV^f1z8@$tDv(EXiHe`}NTjCMN*EkU^)qBwpA>W=x_zpvv@{yolL{kMV^&OiMR_xByY z`15@F(C5dO2K~cpIw1u>91oPr@i3+U@cpkpHsX6dkau9j0nJ*S>kYxfhBu%1rmfJQ zKGHJ}3<7KEp>0wl-luiw^iK*p=nYWo&RRt8QaVQwb0}de#a1CH`XidZNH3np{G-AY~nn4MU*Xl+HU`&JG_q)i~ zvB*nn9n6HTd&XN%tjk1`$cgptGA$g1Ks1$zOpIz_o$P=x5P~K{OBF1xBtMhnVpSHE z{RGS1Qzuz$U%J-4{)<%yQmV-4we1&RSDm}byj}8&x0u8c#e+o5T7wC2Zae1ZjIg#4 z%KrYj4R7;S9|(0{pVtKzcIj&C0W`OjwG76RLgnHERUM^r*&T*x?k#PonsMd-TOcPG zQ{?h_)p@+m?yFELRG6VkQAO-xky@eU+!ocTk+uL%Vq_U2rW@x~D53eD1UPER28l>! zCKO4Ah@lcN={W9i3M-Tm+tbIFo&kWOM8)2nTPrnU55MEFzKb}x*#L+_wL>LiAfwZQ zSw9e;1}edYK6I5+j1pG)U|c&&Fn@pm>%(hAn~EI3_{Q|9^*x{oUB7~=PuBb=|5a-K zPS3{l4=7N5X=Hmn;`497Pv1hHzJ&^@p}i?^cGiz}o6^G^XA)ir^a0p$f22Ojfo ziquM%wgbQ_S2RtWbD^^X_oms@YzP=s$J*?mB%q9KOhMu(H?fjZ!U@?82RxnnVgQ~< z9t5_NB=V_h>HyLy(p7K@%MqqgDUDFpPEBxLh&4IJB5*M%nUkWkCuRnmuGBE~Gg35d;iEp&D$Apu=FIpFsuwlJ@VaNo>Z+j}YUHjpKWsu_r z*LQvb)@Nycr`zB7k9hp@-w7c9D#4V0uE(cuy`I{zKB3k9Xp}nM-Qwi;_o~A`%o+m9 zz}mN?CMX}_xV3@RuH9!PwGanJIJl+|G=O$ZBPvM_e5|pN}dy{#nR{jOuZ z7(t2-0L6=vN#0(O*Y}ER9Xig7bKN5I!g{|40gl&9O^aQu31C2L4$KuRC6k>wQVesV zI80vQm;zFH$?g2u2TH*-8?K@{RFWy4++vCxwfULlHlj26nW^l2plW_N(p5ZWj*+o| zSWcRSjf`6jl!5EZDT9fyvV4=&Y8XGdu+0MNb29Xd=-hf)ZA3dk1;>PA6=iP0>~Ym0 z^Mq(=K^Dh}XCcij0|y}*p{H;xA|}B}8{Yak5~Cqv)OTwZ)Ys;s*LHugvM))0iC6g-QkdlaI4=8+EX zGer^j>ip#aEbm0XC_-@5 zI=nr>sb;IGAj@uM0RXkBI!v8mmOKS4O=oj0jgQR4NtY}h<;CUzGX^r3OHB`ORaZMe z;2A`kDPX$PfW}QTp%@3KJ8+Pzvws(r@6x>T%=6Qg$C*gZToA8JWUNJ=-Z)cQ7|IYO zjl~ySR*G`rw@gE~CoJ?i|H5J}QSv0@^fm9EruJ~q8wwG`GyUN&5p6HQ3rurc!_ zbOzj$4cL$XDuQVLND#{m0LnfXZOogX{kUX*Z|lxhZMz=AD2?VGuP=TUnxCpz0;WxM zXYQ+xUQw)pPFO|V=cr^|c3lXRjfeZF4BP%;u&#U3DJRW4b9>PYgiWE#tN^Qup%C|J=+%Sdm`kra^h!hkvv zgmUX5O%*%JI7`+CcTySM$rTGG^amhOnsN{Iqnf^-EYTExP>FIRk57vIk2Uc8`?Ha8 z!@%J9iy6e(8z%)!$1%IDYZx(G)5GyCdrJ*WxE3 zun}orZ2gXQ^`DLHbB6y7;COet69CY(Qh!b(Q@|)S7pOE}VG-1*>I+q8W`Z+;v5*1i zVv)ZEB1}O^Au{}*=f6g#L>jX4QBmiRxf_L+3d^mYiYFga@Ai9J!R;^6gAa)S}%bSP<$y5>%t}(`dFqj;P zIKXibV>tK70l^~VgT!KBY*i{o;^A(itf#LwL5?V+EU?Q*8Hg8;XmvG1ycE+h&0&?i zcX_%AQQU~*XT*55Vcy1eJdA5urS7)+!Ggt$b8MPkP8+#4YVOAuHc+dOGl6*F`1!wn z==v_=)1L{@mi5cGf1=<2kN@e1cRsAa4<7pBXMI(1;GbfsLQ$vQ!F4aAd4Ig;Z9Tf2 z&bzClDs9N|us|a-+jy>zmhb6C3`JC7zY{3dv4|V-piA|!B%=#5 zu+mN`B@7C=ORFn!>kFZ{pC@N0z{;p%( zkX+P}h&&YmVE&H0{k6>ZHwgi(;GmcOW+vP60yR( zQya_5AOleNW0582lqHI_Yw0_b9t75Q zbFmG2)T+sTu0s(;7D*#*uTbmONm=VG={OItwikg5v#(h@*U(UgbxHY98Hu&@tgwBC+0Sje&X}(Uh)H8*&0XCAqdRAw+54 zW{Tm=zvb2As8}}w(DLw{eLfLX;CM;qOs&g~jkEHC?%ksbE)wX&5)Yr!9M`^HR0|gU zI4~61T>yrSsh)-Y^T(1_57?#k2IO1DAN?(Ge8Tll|7+;}7Xo7&)gMvz*W-hL-~9^w z=9dp+`uR7AMyG(0>gV48@85&3KYP4!XZzp%-1!NZWh^xjce9103BCh-ap4hFaaQ*6 zMsz{369B`$T%`{qD>)w(+Yw9)?G@C!sr<_WQR=r8ZUC%tTIXyb)Ky(@I>rDl8`G!~ zR9sLCuU2frCUumI--0>O39SnlFUTng7s!si7X7$-lY%Ff!gWEK$N-@!-lqmn;3V^& ziI;CO^K-;;7|#6~vA)L1ua4^gF7$w`6m_rdwC)_^Twshf7soM_i97~NqEK|wXbC!M z*RBahq+$>fMTl9VFcCgqib}?gO=1BWC08IStKt-d83T|U*%f0{`3$8zgiMl5tRRjw zO%w;*u)yEqP$%_NhV1^sOEelBQ1fWYe(h}kp6A{rjjjmLT4RVRih@K1GAf-&)Y7nV zDBT^Eic?1+9q#T>hI$ox4jARmK1fIqR#q>F6$DcY!38B!%(4vVn@@$JP5_5sDlF1n zo7K9cgjt88ktzY5WpN~cieeKqk%dG+OmVQfzI5f3YW9IRrM#96UMg#5p@Bq3bjU&i z;#|<^+fO?eo=$J&0JbK871kLim3N?Jg*bc(7@G)DhuyXiB{El2UdFT&T0HC%e|S)a zF7pY@gvdeRdN39?Ce!vy5I6AnI_5w7d(!+}o`3ou5CESOQ|0#eXA=O|+h1V3{*izW z#`J^X{W2-l#uTtI{q8g370{hvq0v9HbhA}Xdz){)Hv#0^Sx&WBS60I>?fTl!+&nSb_s(9*8UxpUR zBDV+tO<~BD$OR2f&Ju88OcJ#FA7OYEL2;RUyKYh>M}EqTMMXe3l#9?oh9-Drt}9dL z2p*H6lemAch1U}~FMhg3ED1b;Gma&U&`e$d4RQuD6a!Q1(e*$K;UsY{CO`~!B-5vt zD)UCNW2k$SD_jyo%t;}LtX36*wtkETIZ`$s%lkBqTo@rKz+(w=I#)TJlLUa~ymA56 zBb&wI5JOEj_O;bUc6p@%Ai~$(1`@Q!PI;E5EP=sPIRnm54OBp6+9lr9DFT^P6Fyj> zffA50@u6KFCyi|MDxoB+0h*t=49^|0Nd$I;-2v9r2t`^XC{$XrScw>-hRrttG9=$u z8P@=`vUEx+W-U037Uq_?E`IKU0cAGdj9n;^nCN;yK)#QK2PKzCB_j@D-H{Q+m6CTC z2e9tRaSmm%Ce_i50r%Nd@^}R_&Ck*jGy_~!@;a?Z#X&0#f9aY(A=Ax0g_BD>P(7&Z zk37d@2~_Lqhez|IrSKtHrG@zFUkbkb5-JguZtrgwsXqMYTpmCN>H1F)pO>#k78(48A2I_7FB8blbWhj z15e7YQQF+q<%mdv6aFkG-%LE2b<}2O(z9=s4o<^C=bGX0A@m$%GAp8bHaYnxBl%Q$ zS|BRU8c#86+Ib+mU}72ppDhg2pn@vqJ4**Z0RbbFnLt7@(g;oVK6WYR0him++d-@% zX1iY4_KqBJ>4pl&i5y~m@jK|_B!`iSVXUzvZ&Alqx#F*q?1DLfd zRL@l;@Y&Ed>j1Jgzz3lfUxSotCIHz0?89s5kB&+!ewOaPMjT&(E6xprdBZs!@lNR&p|(4*u=Rlo|^kFSXwxvz|Qm4~44V9OcHp zphZpyMB-FnBC$YI2ULwksmlB(X4W^x!_c;lJnK1W!kc;(dwKwkY-{I`Rp(C{KeQlK zylRc4cxPmaSvbw&f`L4ijuV(EOgS8T1S#FLbRibw97=%$8;k+#2r1_XL3AHO;|Hc) zJ3=Xr;aJtOLnlI9;Vlz3d`3bb6PX0jN4;&dwjU@W6pOW@JiJkt;kMwl$nSNCh8dRcZ7%AOvIxTCNo#t@E|)X`%V>!b;)txoo7fcWa?kbU4HlVe^%;_>04;lybTJmrOvzPvFVL z4v@LDVDD{DeANvPe>SkHsO(~ld?MbjLVXoZV;RAsfa4}%J{>e&vg`Z>5^z2L77JDK zhQMOzk`qg!axKP<%1*EcEId-Odnh?$1AI{t3O;!Rjd&Yh?EvUU1o%Lwg-Ywu8R9~z z_2MdH1&X&Srl=jh5u2rWhr;+u=b!w$)b(5N_6ume;r!*l{j~F{UiRt2 zpWOca=s4=<-+W9+tqJ|?XBI};nSBAYjiDyS@#^GvF7V~V`kb)7=4n@N-HYRKIJ-Xx zT>>+_*ax92otQ%9e*`Bs_=ufWRS3{_EP-Le;Q1U?NEuaxzG}KgwmgM*>B8RGJ~)7a zzXF&RL+RtEiVK-g4D%BsCeuU{0M%a#6}*zb5iUGUDD-`tcjYm^vSdlTDtUON&Pcs{ zs? zk1NTQrG&QxE&1?E#%j4fI9*rp%&00Pk8n4&al@b|wW)xD7o6}(n29q%-s>6@uC;6* z&-&njJE{{5OasfJ6fL3VOA@e_q$T1qr&j`a39%AdVoXsOyit zTBK4D%MEhP3$0!#)5bX{j8qAvm{W_XKq_L1;{xN|4j3+gQ_;rrNbtx7=BligW44g! z@mO&zM9c)4qLM?20hjN(rX)d$BN-u|WtpZtj8%QX+|jHMi2$vlpb3MC1IZhN!>odc zrK&rAxcNeL3y}9$u zF9&||!BNtI)gSA*M723{Ek=z|+|?ZlRo`#C{&fPx_{E=VeEqLLzyAlg|DXT4#kb=V zZh!K3bp5mchU@qL*R!#IcyvGVSWjI`0YD3S`_4Z{w}^iA-|_;-a4Z$DBhi$pT;S(- zt4YQ1%3BM9`%dj7_$7onISzEKYz$uCQCz?_rXB*YiDgzs@<0jTK|a{s14;Y8flI@Ud|5g5FN0L3ZA%(3FY8LLR2 zQZQl7$t8)ZbA6>^kf11qGF7n7B!|V(p=X+TZ*nRVa(_Tr55U`l_WshPrUE0VEKVgT zY1pZZRCOVMS?Uo~IwKOY_Z&)tyg}zFJr{O!qiJ+bUhM*pr==25mn$fc&N_(;O*^Fl7|z3435@?jn+ zy=7ck=2+}C3GO&LAzc`Wm>CfW$ zqkl`9-+?hOfBU~SBK=?^@o@k7Wu|`|h|j$nQQs+@@2=lfXK52tiC& zxWMHZF$7Fl!Y_s^NlK|8G%B(_f%$~fPuSnA3)M9GloAJ{3IZG=XqU{fIwB4v4%6^~ zCRTd9aVBxOD?lkE5V?R+!fCS*Y675@P;eZjj*(%bN#{8t#MY4RIa3bn_bqn!WkAW` zP{!c}6O)+2;Gw({!9h(Z#tZWPS$a=td;?y&bRuw{(q)1XzYQ0*2XD%}>x{s<0G_eN zT1NsJ0$eyUmYG)Z8VCOeIxutkv_q)gt+UvZ$ zJCzS@bUTV*Oas4)Gx=;8=^iN*s-?7mvYf+p@mlpAP$B~ui_mgnZ+I;1AE`q^*^c=^(4E*4&$4mLThp4T^xTFW`*wKL70PDuqdPpE)tg}e03ZNKL_t)b)3pFl3jdCK zWE~2|#H`?Pu_7u&fC`D@2ak_v^giN!Ll!>Zec3f@P6|DTTz2OevRLwPs@@D{KRIR^Bi{nsb`WuK> z?pGkz*lAYF8&zB()0vsx;8Y?re6GT;zd$e@KL{pgIt9QX=AsB&0B=B$zj~%itEF^% zELITWVp=rqKu$a5#1ICF`-1M@BaTnVw<*SDDT|BJEr4T?Z%azNkHN1r*Y{++Dli?I z=%!~JT6xhjnh`07!x5V?V<+x#np))GAhm01(JXM&*Fhk}X=O zwl6BiZ5aANoq2YXcW0^1FSM?lN%+p5NwyviKV}wD+;Rgxe_ha96r~+cq^FPuDpjkj zjKYDc^ESuoFfF;LB*0jG^d^gDYE^r59Fk4$7r`RoF8FrnV>XSVVkdTzlBr{m4Dgc} zb={E$wjkXEv3MjyMTv&0cwtwa(ITmKhf)-#c#uUmN}3HokP4ML7~wklWs8#s*dzjM z{AUH=Rs#<1Iuqw?N?n2Aw(|FR2P-&}P+tQib8pEh5xoSw;fM(E8Ey`-c z^|668vJgSMLsiFrB{b42ELIo0HtFxc^as~6GJz)!L|(5hYaimeQo$3Nk$QWR-k0X_ z4$VVaZ{SxyC+C!cSG>R7psy42EmF4$h#9yKS4olY?}6JGIy4aoCM`^}kXVW}I0j9; zEY~gzmS$8Fg7g`qLLZE-Uq~pC#Na_tOPRxLPDn^9A}NfrlwdHB*$ox}aN&`F4?Ft+ zErJ3d3yxrE8&Gz)8WRhvs*X~q(^I}~I%xx#;Fc7LW!16-+Cba=7L2T+q!cM{@7l*~ z{A7OsTAiUzgw-Zpdmt8}!@Z%FU3zqVz2zW)%yeW05LbCiO~YbUNx?N2H25XWB&is+ zx1ll>5phnei()LqNaSn}3q!0jw=R(Z)T;dsEjtk$OledOs}8)Tg~ASHLG|S+E61@Z zT8~yQIH*25?+U{p5=<01#tBrsfW;$7J--ULf~T=jdY|MzP? zpxJs!BTXf%ClyePn<^A}7&tE?fl&yw9n=8q2m%bO@BR+~#Q7(G2fBU@z5ip({2h;P z|IO{z;|pWjZhs+E)@62B0A)-GRJrL5n$15Y6bB*>ATH!ZbM_X&7rNiUBFG6Hj+@3J zID`xbbGGPVz=4-&B6*{53s6{@)&?!2JnLUKVyw1}7J*0pN#6puZXYQzCV`U&ZY{go_XnF9#I_u6LKN4mw#sno>HQiy47 zfVe!_Bh%_!RS7Wu^Oo7>jJ$Q@GSrqg?QSf&ycS1B`Pq#uBmQGSCE1l_)qw zSTH7RnkgVKO1HF2XMqeitOy=T4ldD>elA0;GbEO9WVLAllq`k>tm|NRzYf(}3gwsx zV7Sj^rTPoCR5cmeUe!q?WoV@oOn1~ZSltIm1 zWIB#r)4$73Uw`%}HSO20J9ylH7eQGaPODWk0Us+TOql_k+lhcKU|dzCbOj;@LLFit zm|?t7@2k$Ch&s|-0L%}CyTVq4@ng@^;Ja-VWDc3uBQuBw->kbdV`p4l0#vAco~-9E_w?`iXX# zqsoxVX(SM0N(PRijSE1n0ElHsTb9U4C*wT#h%>nyOd369hRLJYIs9>?{SZ4qma|H!>J)`pE7rrA&BF)d;m>4-u|NXZd5aX5 zLct)I#2Td!MQE8*u$2D3J*sxxJZ+Q6>W4I;xG^}F#*AD95eJxuG8b^1^TD3}pCFEVe_Wv>Vvx{rl};Hl8P4jpB{&4j5YP5Oc>tsHdUsOf5= z3M+F|5zY>7Sxn0?poZ1P1tQWNi>%+DKK~0Aq`TJ>04JycTR6hR4tBkkg|FI`iZbwC z4&G<0hj*oNSSZ_8plUZ!Ec9Jb((%1N+NNV=jYT2KWGS3Ys=GL4XI> z_y14;F@F9x0TS0={11Bh7yoXo@BeSbH~$**`nArl{^rwX1CON+t@%;^wAJJ|z)yTM z<$DG6+utK@UqkobgRcX+AHaOKfxR8jupQHSFT4YA+CciKU4Seo7Us-gW#Sk@u5?Df z)DoB|_ns~akYlGcu69GJ*`|XlXgR9KSr_G39wbJ?-A*!^41krz`lcxa9(kjeCYujk zlwk~(*Sm2=k7@^$>f)qikWfZqLY7cT)2`mR^7HSle5E11W#;^joD*8#1K+#i%*oDspe`sch1>tiQPmO}Q(eY8%NYHsvOOiF!X{rnA!v;zX%9 zr7MOiG+?f6brrDdFN$Jkt{bu$McOk>IHa(|RfX(TXa;#k#4 zZvtZq=Or9V7!DJlSIp6vc6_#^0aYm?+Q>>C@a1qK<+9BoVO5Jtv#1kY zls`){N6hko~~o!#H={+IH7fNS`h z%zyjZ2sKXVZ8-!O1N?N9yUq&8S3EWye28JMS|T`?OHkABBuZ4Dc^FBFu1=9#Xp9mz zevCwvSg^0KgcvXm2!#7n_tD!U=>&&B1X{4IEpb#Dut+miQROn2l0?U`sGZGPOhmu;>6; ztfefSRa+lth$}NxKp5-t)!TSv2-FBtGmWO4EJrKkD@yIFgOU)zS=FxPQ1tEr!MH5K zP)byEM}oa!s*1JOj-pff=0pK-9MoTy&I^f6}O-7HQDjg&%bfmY5)G|Tj(#pLmY39w$WeTY=7q6 zr2aUa-H%a_B@pKT*X0s($0!k)*wsc?0Z6*2twW$dU{UTjk;6Noz@?92(@jRo33-`1 z)w?FrVt+hDj7^ScFkWfm8rt^x+)SrhFqX01X=MV5iCj)Z#WL7_%wQSK+Le05;s7Lq zWlS?INjHxK(wTb@(3vSo?=#oyEynv@!T?qzZ$XVkzGdouB#uMtwg&ks@akhiQ2kF3 zbDd0H1ejF1NWn`XvT7DW&G%jj@R$hDHfCFysM9^cq!ywoXG`8Su}`J0A+qD42KLbv6@CnF;qKyey<-|LI7Q;(M3zbJr z6>ZkGv>5HGn3B^NB`L^7FRMz}3KSNrB%^(KHNCaM2rON1m9RLGrJdeE#1tzAZ(Kmy zie{EG19Sq?e?=>HJ50xA>D(2QodbtySf8<^ zJHP|+dJ7l8)+0`6Qnb8<*Gs+!*ANc?I;C}WgaNt~I**AtN4}h9dku=zj3p|@p_N@d zN(3ZZH}e1m9ZMvOahfIO2SDObcHRmEr2r!YP9X=8yMhU*D)ovASfY-Q6;)t#M64*@ z44v|FjE@Bq-MB~=5P9r7(r03SxUC2YrD;D=txZ+b(4EzCo{F)$-086tYGWJ4tvd4s zL|sJ3`5Ch@s{0E>IYpFmx=H{%bLaX0h8kA!N>&XRqvG87T*;-J8nw zz!8B=2aZ5z!R%YOdr%h~n84F}_mMd48k(9B+aK4#y1+QGe)kVt@ACgK_BK71Wyz74nV9Eli=sM!e6NWe&tw3B|aeu5TS%|gN~G!SM6qanza2zK>XWoAU&<8E4* z`+YBqB%o+yXI4bKuY1q&V{UG4{_-o}VWsw;zc&I!3B7#=_0f94XF&OEQCyHr<} zechdl@Yg8D-Kb79`ox@Jjeg-L^ezdvm(sAo8cFxNHST?kcQU(5{! z4nu(B20kHHlrh;^!dqSryI3U7UVFTiUXE*Zef6X~X)TZfpZDp)!6{@VJpQb8bcg~M zssdHz5_ANL(c?NiC#qy?YM(aVrc$V+Y?L=MO$KJ5Ar!h7AM)QhNv7-(m`NX>**l?~ zWK`q)FCfbquBy5h)B_s<^R1gif|YKXR{`463wKbeF(NAxkK! zsT-5Yku2trk@l(VeX-(3q<^C&piCR>v<2q zf5ol-_M;j~*Z+OJV?45jSCtu^EpCm+mD?RU#2UjQ9F05*wFI5E)Ij%xM&D3WY`yzN-GM`~Oy4NknT%%AD!V_tAM? z9TzWZ9fb=^>?^wDI_%QXIRUL-Er_{cm&rgWI_+;^&Hd(~!}op3>{kRDs;vXWO>S;E z8S4Odzwvqn4%7Zv6|qx_9jsevzdDfCs>02>r=^qH&)g-QDJ5^7vWm!!(3uIj>9MlM zWK?gh6i{4MQ|%@%I%< zswB{|52_VFc(~Yig^t=L$0U-}kanKfC#TDv20m!pIymunvVLkin8Kb)8K7l|yej)+ z|1)_@-#o8Qb)BYHt_kQZ;bft(_GfY(7GA!$4OVMhgGIg5W2?Bp<8{SOsoW%B!ZI1# z2uf*XJ5}c(Ou*>Qq$2|oYl9|lN4wZ^hq*ZtSUgk`s?Cwnl^rlDTW6U*79IN#C~=qK zK{7^Iad`zmmFU1xRJ9~%I}*q$gQJX=vCFIn`rg%0)ut}hiU3OPv8iOJu&QFo$^%u> z0R|+}fu|()^t;GLfL)IwJfv@#owA5u#?35s(}2v=nyMnJWMgRSbk{bxZsDJ2BbDb$ z-TJ`U0+|pbXAUX&bao^?$`TYRu{utwYYJ*cAyCHinUfkhwD<54f;_BlWsR?dCn=h+ zXvzbS#j~z_H)(?DndLMh_FSJS>|6mTnzyTAKzmojb))8;J)p@BWcL7tJD&MEP?DH* z-6(ZZ{|U6S&4KeB`A_4N;pjaJ&7|Mf?w$8wS#xxt$(>PH}sagaLhzd!ZU9>rLrUu&e%r!Gc| z${xgrslWnY-KCuz)Y6yn@q;pe3e5rR|BDHJnx#Q-6r^=u8s^XRmE2=ALkI5dtHYRI zLdeHAFp&ee5}D4QJT3*h`H3PW)cPQO*;Q|;Iw}|$B!ClDjOJudvP#G$-4?k{@|KII z#51A9t*jT4_KgJ;Q_?A7DWfTQhaeTJP`l?jP1E7!Y}d)1ksZ6)64NFmscaT!{MG`Q z39804w*On(Cn3FCP-Poclhwr4*>vH^nlEH%=NPLPb)g+yfmw=9eog32*EI+-GMjXv%mCzg0fq~bbF)gADQ zrDZu(&#o2_%Zs!xHE;#ec9Xz`d9E~#y#xlac*!|{ zPvD!a-v7tPpnCnEM!51-g?^ADucj=a@7om?zCy5lcxd?Het~hSx?ZqQuYX(EpSeE% z=MPUHK#AI~+Q0ul0Z_hvf4$iseuKaF#RdN41L_6Ppw&0Jf4`ogb(jr5 zfn&iq`Beyd->WxL}8>)6zpDjZ-r#OF#xdfEg(Jdt1C+uJ!=crL^aWU-lVb|F@#^v#GL8Ws(=`P)?G(@w8s!@rH9$hjh_dXQC1FRw0)SX7r3$s)< zu=TD{nlXs>jqy2I6%7dh(Cy#8S{rW2H@Voj1Wx5Es8%cRf-lvAa`f&{6Xovu@}V_( zyR%c^4wy!C9#W{~Sw7>vT%zbAl0kXVB7e7a6%b|Fn5|yye~+_unJj| z{?X^Y2s=;G$g;{6r#l^jN%yW`*HrBUu}KMgI}F(9n{t1SMvnave{6ozHO7l4=oeHk zD*!gLetgV9V9OASefFwV1ea@BFUz^SJxWDep7L}eKmS!Bp0IxMmyG9M0rBF<7&ov^ zoPYSYxPAAR0>GIq1wbEv;h_5Q7k3`@v40<5%%MIDdIOLrfOo_S;3be}B31(HW-PLV zdaL#+p_vzHd?(Pn8rUSCqCelKEKxFw&ceXSkX?b#X~9DrpWltpN1e6~f%s)lYsM53ku z?K(<|E6QEx8}BrI2gFN!KaYK=LQtJ{-$^v6UB`4iH?CJ|?EI)z^+E6$<^6lp zCwVl-Tw4{=Kl0I(%Y|beEiSA<2yXQfqnvh`8}eo z`^4p}_;^BbIheiz{P<++zWM~+4iE>l%LxGm3Oua~jR2Usgk{k)DyD`LEz#*Q z#|XID2;e1$0?`UeU)Uedh0zG9eR_9$sT0C03SSN^#=Kah4Os^^!;*p(u-O0-ifpu5 zAk*jgDk6H?&*9MF;?%5{PWyYUC^DFo%jv7^Us_~(P-Y$(k#E2&Qvgayy-QW?V)fd3 z=5!&RDM6=k_CeZ1=N+iy)Gk%-1Lh`|#6yUq2xueViRDpZC;^?t+Qq7(L~0Y64IjFP zR&L7cHY0R*lP|4J^$=DGG}Ov=bxJU8@mEcPdcx_h$f~7MR6VdH0#JpNVz^6!w(Dq~ zpbE@nmHAf|ger`o3MIK(pPoyPRG^{@XB5?`Hgves@4Q7FzN#?p{2kc^-&_$TU;9~G zqs}pf?sU5ZWe3L1L&8FuU)EM+@sJe-0ZXGHFf7QY{ZIY$#V+DOm%J^dxz4S1?G;TY zgd=U4ztt-@AO;nORa=@=ox_?6Diq^EWZk(tCqlzzNse`}H&b`UO-qID4;)xL!Pocs zDpfQg(5P{~^N28oi?~!LtoNVOUz5z@;&%OYC!Bmd!vFvv07*naR8Suguo?m|fH>j` zxD#S{1$GWAnVir-e7?jCBZWlSc;W ztHZOPBV6k95jAAMWpV_AVy2zlE@c}_?_%Ad`TGZ->{aE}B@?Y2Zr zSS=O6GES=2Xmt2cdh^4%P6FV#^|+X|wY?&>$8&NVu5m^^-3WXHc9W?$%WEB2^zN-)^g zce*M^yVTW=BC(o2x!MB^C#=`%pEX*?+~GMYG0B5w?|lVVXYp$i1Y@$D;B)qyA7olxQIb%HqT4}Ssjmy?s&7xTN$B6J z<=*|;*ewfYmo1g1-@dD zIbE)feb?Q#u*BU^rOJSKjadaj2B~sAR8;!(^2a4BlxVR|1)|bsKOo2y+|$-&qOxtJ zF9&-?o4viNKK-t`ls~Et(>5+J8LK-LywL7NyII`ftFz#M+ZEhtIPNH@fyjPgQHyz9 z6$ov?lXqfN6H7Z966ln_;mYMY)jRHP&G7IPQ>20`V#y0>KK`ouvc-+4a}KM1-V`v? z0RRtghHQub#CZ7?v_G*v|4jixy?@Vm{*{10JblN?E!6wat^XW6;bw}!xFLbro{!;O-DiY z2>_7Pj8Jir8P3NzRgL>4=28eZ@Al7c0;}()Kqez8cC3hs`$}L3(zVH=ctb=LlsCJE zyj6KL$|&Gfcwe3+A4r@nI;z^P%yZ=%BCFqYfl7ot94@rMJQY=?)>pcUzn$`S5)_?_ zsW}|V9;&Vn399UJeqoRyVQ~RVic@_k=A?t{O0czCP3cYo<{c*rm)6kaU0wA$t^n7DnR-c~r0=xMHg*;u^%PWeRe3HA0H)%))%zWs{; z7xIt){?gOe`|lLDZ-{t7zW#;}?-+nvPsdzZ3B7zYfI40+2g^une^uP{`dFNMO4;3?z?Q}+HRRG@cg*Qs! zo_>XjMal;0$R(Ct^0c?_{8k~?z4)X+Rd^HcKD;-?IrgihwaI-*_3mZpfYdbtPf5ad zv!*LcC=?RKuB3RAIGEWJz6ZTJaO1u=u{+MFGmiq@C;(!c+w5R9+$&mX%c@eTn-Yzk znALnq;VWf-v9RSPbx$I){)kmUwPR~pKc|#hY)Yt9*(U#q8C4z49T6~xiBvJ`Qsriq zQtnE)f~~BdHPL@X2rKLyG`q^v!K4JGy0E4d+0u`)m!y)GcDZM@khb9$`VdN=BmO)- zOd3dr+KH>}s=Q_V?{gc06!le53;G=%?V4* zrcmZd3lF0G#@uxJuUD^riR2-y7hUdE{a)(J|I;3}eyx^G3GlGK+|Y-geMrES{__j? z3jYDxSo*z3;}Wa{vmL3<)w2qEdNUU4BybA0>I+~8Vz-Q{h4Fp%nc&cUxEItMQRwOw zv*OqtSSto46{1TBi-kJm5huLpu|Aj31-}^#(JvnboFRbDv2eW?fk7tA)o#r*^(F87 zew81a3!I*Q4w@ZHKMHte)SF5yMuzZSh4@0PCn|~zAofctpM>{Q^#t<0gcX!da6OYZ z0%uBE&h6h*`f%$YbV&IIRzzPLX8=zCPMeD$0lf)0qOepfYXm)NRKf{){-x8pQYDM4 z@ni)M%%P_MNG-fJBv=kistAN?kgOD{uJ<`cbrsy~q7#U@{`Nnboy7}ZI5K!Hk;Zu5 z@f=XG#4g<+q6yBf7pmv$46m1T{J7F~jS)|)g&4Y%kY)-<(PMNM9E?xg_ zuog6}rUwPT4;CLGw#Gqw0$|QRT*Ha{ga-aDFWAj;a>pUFIaP)0FssM6LdS%{F!NpR zc!-}q=I<{$dA%<|2mW4L7g(Ig*T{9=L%)T~Jmukqu1hq*!sFKS%daoq^zR3KVSV_M zhxg{ML8l{`8tcB}r2)ySN1x=o(a6!n%@#( zWu}d&SwuvE&5x3RGT@mse(;J*%;-taCF~Hf`%)73cB)?a4;ewj;NF(d(e)e8&~4u` zucj_D-xu)xT3&&(KOXy5-j_mREwS_>WGIgEX;vrlc96GctE?y8Ki(JWjrgF&v(5Hu zmCjq@2;#lXDz}7Pg&_F4J54=7+#np1$2tkBQmW@;Ya>-kP#eUFqYBGtsb-mnq)k9@}PvyHr98lZ8o)8e9iMiqA5QdBmVC#h1F5xK*uM{qc%mwWP&+plAA?F7~p z{!af}EZ=Fk6A(Am8|~Po02UAP`j++^5Vf!h@lN^q)3e zwOS#`+Ay*#U?n1^uf5tnG|?9aY8{`C5cQ7pd(fa>2v#acM59#!!({sZN<=asm)M4* zX3-@=qiW1J)$40uHqbq^M%e&kW{zGDFmiP&5qwzNjY=m$yEAB}R$yRKJ}{<)0XUk? zQo4BfM}Ym+yX=-x8f`vyK6yTbrug*rVd|QBHOqMXGvRr7$;*NNa_u%6!C{XwuZ8RYEm=#)`&ByB z@{^8bdGstUmCvCzSe z@!5LXNmx73m|LFa<)j5Oz9BS!YE!R7LGhb7EwTta{U%Ejob>16Bx%+h zI`u}gLDz1hS5py)+6c4{)0C+vQly)T>T;$kHnwfxJDq%9uS?5puBO=?O2Kvb3XM_c z_~Hv{dr=$h7UkiB{s}!pz=d0zOy472ulmNb7rwlH;T|hpPMSbShJ?H~+Gt4FnO8HQ zj(wHTS-nS+Ps_kn!e>y%Q&UK{QMsaI212`>gT9;014c_n=S0S*Da`@{_Yd| zR%jjIOQHAyM5q040Q3aZ3BDEL*|fg7vbbv#(pplj?W#Xz{2l~XAd^@usMeL{nb9Xk z=0gbBffZdamOK+Dboo&pgEgn%1VF=~LTrO%!j@Hz#&;3m>O1P4=xJp{)WQ?O=BjF6 zbr8aVRW}_r@VH1|Z?A{S{^Q?WYf&tvlV4}eNkvle!ruq(mcr_<5Uf*Pzl_1wG@E@wsg&%tccnk z<%Y6Bk)fZ*(=dGxuS6<4s0`8sS0h{hY%5UHJPu^F&T{ktXgJ&1T<3i5r!P$si#sD= z1Sj@(XhCZVf(=^+K}N}~p+Fa})UPXNQ<)xEh;Gz3*aoT{ukzsxMzIqZ4R_5t5lBX5 z3-8q*Cg}zN>vG9mcTa=r2&HUeYq{SoE7L8#M&%;8LHcm=z;3&(46=o;VQOum(3L85 ziLWnKCwRS?2%tF2eu&RjPcXu~ta(?5L*ImIY(_a2eU1> zu9QE-RrgB4UR4#+O1B~1&cK(I$W_{{6b-NHR=@hby z3;mzm4r(qwRq3^|-m>bwN+ncYhEc{$J%AqS;?ExKyU|rwqet8xEx11%O8h?Lz~yRm z-XkV9CKvBI1E3U@Rs^=K!t}*ECY6*WWxGu^FTkmGwL-u*(GF96(pfn4@LT309DVxt zLF_9Jl~Ux^*sc1)j@+OWy=18A!8dyJzBjxD6Tw~U>T}w(wclCxjC6#TDwev+CwF_= z57?SmdQzY3NNd)apOY6ctUmc|Rpo$ksksrbi8Kbu-ErFkkQKWmKiXDEHIA13nuUA) z>3VwHix;?3fC=`)(+(`04fI%e;w+_y7&UwC;zsZ9^2h!9Ag*H6^|kKo;q^OH0vUAs zAPDOA733>{L$_c4k2rt#uNBX~Z~$K)00e4((f;9Y&~2xv_dmq%e(fj3Vn#Jm;GRoVj2 zHz4*sEhCL+C#Vp@3b(s@AoM*^v80ITRWus~)ujvvo8H8X+G1^?>~S6=YeL=IcdjJP zolemt=7`+A@6~gs>}+L;%?6QOH6Qa9HO$PRYa3iON|mG&RCaYd;nO%_@k17srOI|& z^{>r!Y(98U>I6!EZ2!H*OA6HUpSi7->KH_nb-xZ49HWE6DRv4C6pEU+UqTiqrydEJ z&Q=M)i6^%f%8Pv&^bxLcat3?!aA-EC{|L9P+tEd}4(%oi`iEW#oSo)1A=gMP9|Hz^ z@*z{d#4RGm4(xG_2J=TTrEK`ddp)0xCY|C(Tc6LJxqplSoWV}fJE*FEv7hZLyS~RF z)>pi%^Ew|NaRu<1#x(pXA@Byo!us|vqTYT(sBr%N-w0fI|J(mnwOJ#hygdcwirUG{$zV)E$dRthBHEmpgo_qkRXEeB^e6*0ifqx77p}v63 zdxsNXgK5dyhU}ydJu|OQ5~@euf|#C~F`#&pfSF4DZi3`GDBVd}m{w_(dSW2`vz8`^ zLpUx3w$rPTPob{WSJR)%GRJpe$KzZ2kg8JyAm`tJ&PxmJ}H zgrxh1?GAMi5frkFCfY`rg~I8e28(WbN>UsO?cr#&6}A}g;n|e)r2EEM-P-A)vt$(R z2Lgr_@mzq4A7}xUPQxSk3D6 zmD2W_&%zocLFcm~fC z;Ij>+-xIKI%@?<)Fvpbw(kFifLd(_GLx2aoo6ln3?CyyRbmrZkKBDL3h)AzkK!G(! zPsthm{P(MH_2~D!osPrN;gVQ21_8WcwC49@u(Ku(tdVLI?UcUnJ;Pj}QL%Z*sJds~5(BBIHmYv5fTU=>D5Yf7R$zCJ zeYw5z(#Q54Vk7I?z0#Tru(vEmABR>V_?Wa(fK0z&c(Py@-UL4vI!zFfq!MH{d7oTW zXiX|AwjjBS%891LwC_MCR^>t>0w&}Eh)0kxI-Pm+DplEraFkxMIxra*3eO8sqUxez z+GDnZn0h{z4ccZM4l*!*>v?g!!kzl6&L3cGF#P5MvJOLr%r(u+9RcM_TjFZ8`&BBh zj2plnl&lH1|JWD*k$=y(4&NMs_pbRl!vw?&-HY@_#uE_F-e1%_X^<;$lQmCho&`Wne@eBA`2qbvQ>3lu;%vHFeJYc*6vD;W9 z0v?!$`*KG8GVZ4nh_2+I{y2a2>JH2iTmP-W<9d zttnwCpw-oW;p(eMF0c~9q3AQ()|SqoT6}kRd*Qr>OV|Zqt?u+8!p~0Cz#p!BEmOm}6SGTM5vL^lqwmHG^P! zkwTJ!rR2ej{A4RROnK6)zZem5dX7;8_FCAT1nM?L6+lI6B=k_< zACnZ?4~lSI#ZcpWs>q0~;_Aq0wRhfct!Pzi3z5tjla@%+xOR0Im71N)orL;*LIy(Uv9F z7keA3@h_W44fRxUc)r}e%3HW^%7*qnMFNzI)!DNb@bLRBZF=|~Jrq*+l>fmza|5C0CwcmD+t-#Q0Bp6_nS{Q^Jxv-^c!2e^)V zaqJSm!jx;KyWq)qS)qC|4KY zePyWo(vJR9H30Ns19-XO0Pu!8UdNZYz@4vMBDLmF2{pPTMp_UA>KKJ=|99%jOUZ?Z zqNeIT1p#0b-T@fAW{>DU)VcU1w1)k?jB-dSb8-@akF z;#Lt&j-dp8ie2w2WRz0SSyeH$ib?J;!-=HRMJO40h2Zg|M9XJJd;={cRu-btqdH{W z>GDTa=)DU&fe0}mva;tYd20uHEXk!QHMwV=a%)v8Dyy*|2$fx=$fy97V#?KV*{d7s zZl;=C+$iZ%c)@vv4QHXYK+_bvT>Vb(B6A29=)=MggDQ0fmO`cDb3qozTHzoS5VM&Z zIkLuJoy0c6jJ(jVPxb`aGgz1k>w;}#5dbb*uKBBZW)u)xWLBVHe*yz#KGd*-=|3oT ze~0W5;Pn6DAn60KjeV~pYN(lNt)Vc5uju!MriM)q_=fw+4mS2$I@pJ`dVTl?LUQ=7 zdDoK(V6{nwH*`)S%zH8E&Yh0U^-LhZcws#rCkTA)0z zQQ=k1i}rbx9ZcER)4hB|WJBOC6h`v$3WOGp2q0JQEC8nzvE1|=)}utFVfTeh0p{-A z0%(c#L`I02uI>wP_rhLd3+&21JSFZ*`w8HkRcn#AMI!k)Vg{6SM%7u9$O>z(s5Pyg zg(D(bGlboMBYJ&iBUUt8D*&e=6H8mbDQfp>7dD^@%ZbFdt=v_WD(yD&*M+95TT!pv z%qbH%3!=bc5XGKiwb5$LhX>yG-gw0d&qtcSQL{fWUehS7d-U01L=B^3$3&V)V?+V)7n`3ih_>TxF*S^>TY$6F!Z1)T13vR<%7 zskx`R3vM8?oTe8{4`6wb*PYCG2o$|7Moz&Vok7b)=jIis2ig`c(V~aX*A<+OsXHMP zxL@5_2=nq&d>TELd+G`+;rj7GD!u8BqDVdna;+&b%I1CXWfXHmIiY&`Aw%}Im|HF~ z+dw|*-q`Z=wxUv=F}3d1OOafw`xh}$kvLZtPH>S_lZXXeRrs^2&YBvwX@gXmtHETF zg;JT#5T^0Um3ozf8G%JbbxbNN_|oQQ4w#lc^=7Bb5_a;poW~V%07jl=?$Q9I6dG-% z-@h+hx^2k(YASxtdM4TSEK@Yx5GzWYKVAvmmT5m)pa&{ zp`pK~euBJ$?s97y(0;nUCYsdz{#@#U;loXt6Psa5addM2NL73c5&jpF&2I)D4G@4@riKNpV=Gw#WK06&Qu&SowZwl_|TzXR#4g>Qe>5;H)lCqD&O6t572B8AL z*!U&H4~TfJ)GdrUPJv8@mh{#^^4JjxFg8%jZK>-5r2^ayg}27}z9e)mN-7BMo*XeK zMxa!vh<4sXVUe-5>;a34;vI4P`TzhR07*naRQUfvTL6(+pu+x*OJH_fjg%_Da9r)e zx=Xye00dB7gbzIERC^z?z4s$K*Xgn@TL2qC(_CU~M0wIHaQ_vg}p zlTVT`_uO4oL7;u*gv(%Ns^i7h{Q~m=2r~U{JAfbpDy;dmaPsMf>}&yAK-ezOs-pm1 z=vwSfBbh%K8gwWQ-t%1q6wNpmWlO>)jyS3Oph1Uw3-*J`0(nrK<`;U8j-q+mjQ|Hl zE>)#@YYd-@K8(VeT@8{An9$JNPX_EQ1||=LvPhfykfsnqyB7wzU>XbmP&CCqz@c8Q z{S#Tgir0MvI1Jdr=MC4yQv%pOKv+V3(exw&#Pgs2Pl5F<_NTwW@$H{~6~w>$)9(rZ ze)vr*0Bb;$zivK*_y|uO3V3yCYba85N{8q_V&mFd>z!zzOUkS>lDW57*AN#7Tjd^s(u z?2*mB%mt>dOWymaWtgRj+?{#xYEX#m&*K21Mu8}!=vINaX79BtK+{OsIozbuceN%v zBM6@>Mw;(;sj_#hA(g<#i0Zu?{pa|*o|jEiQEd>hoKum z+pXW}mZ#bH+7iO*f)e_Zbg;axr3=-YGo?h-E4ZG7^-+k0 z^SA$pZh!J$eHG024}Xn8r}Op0ZxDk}fA(j{Oz00^z_(tAuW#TNAifmh(+1apJlH+? zzW60tjy87S1w@92@FmQ*%W)|llwl*)xI+ZD{IFcnj}E$lfzR_fE=(`t zhyHuPm+F848Gy^rtq8D)758+1yoA*JTC}4JSqLpuL!gS{S+lEMyd+nzw!$$5YXGFk zq!wQk`=~m0a3!&ddVXIKVvkxwWr(-)o}T0?UsQ_mDXa(3NZ5OJkk4Bt?qd| z??H5yR`YV;26&bSJqOt7yc1am;L;xDx$hUZq>b)v#iYDZTT$(`&>MV7INUo7;@uBT zNS+7^R(qsZ*QdK{%80QGL*;ta6+CBZy1TIyW?C4PaKUHB(F)8HtfKd>XSXa2nLpBVc4H+F1@%ZccKl?chn})of@Z zSj(#zmWl+o$DOh}o>mu~;4~V|QSz#;xvi=sbKPCvogpw*vjj$C>F6NkV9%D3L&_dQwfzm@hU0l@L`pInF?a4`MmCx5^X zzX5*`_;eWVkwp&w;3I#rSlQx!pfZ;f zWzo>eAXW*Y^agTKw*@n}9V=_OTvCVXNpVO(B#FaG+lUHx$#|kv%O2m8s3 zAR4!7`qmUZu*CNW+_%q2FcFud^Ia5i-$=aT4vF?5 za8m4N$iAF%uOr#M)9;;`$2>8kE94xq||@Stgxlu4K_ zzetD>s>fRUdDC`7foW^uxM@o;u-WLgBO$@4Jb9W6BN$riA+ zcpp}!*4*n-i_DN>Hh)txRcee$EDE0|sk@FK0)GVCAO&B2O_VQM#5xYKgmXJ<6$1wr zf^DDFH8jqyTfvgB4$|Ad_hjdX7qwoAeBhjr%L`!@b!2P+sPK`yy8RTc^gsHMU0+2p zit%1TI^}mjPp4{Y^D1+>`qEvs5=+n`)M9$>s+O$ybaS!ko`t2)i|T+QA!UzepJZnj z5;hR;MI^%Q=lA(Xo(cdkrP>vCvhp@V53j4UqT!M`U|ZqY9x%tz6q1ceq!Y+f$Zb+y z$;i{Po=QX}A~)iE2lo~;?HW}j?lcNj!)xg-_8*F)PdaDXQ@QiE%LNysE{!4p5I0O) z$N`-ts(M%}yD$XI3L8jJU1ev(UO#qVa4~F8=t8Kwpu`@ZdP%u770`D?OQ8rb7W`gK zu~gN34z>+mNx2~sX~cY?pCDw{u*Xf)`-;;t*paBETpe)f0+bL<9JG!W0F~BXjow_P zR%MhkSfJTzk)}oZRH%n7(^}ev) z3*1l0+q-2=S#Tj!I8Z=t?1|{ z8o5&RT?T~T0~drfXJ8e8TAMYM|5+NI%OXtSLh8wAJ?NAGE|Zd+`U8BtwuFkAP$tG3 zb^f4$1EE?O*W-#>Lq;jQ@-99#!*C%z0%c{eEYPVbQt6e_n~{1h>);(I?HY1KI4G)k zkT`8^PYdk}%_;S!@P_Y-f2a7qMP-i;2n&M&I#A0dEUajIBOz2C5L!UCNOW$v=zt4w zxKFvlyhSAgr&WieZURxd+>OvZ?~3{Wp}jd{s&p4E;pEOpH*t6O@6ks6+&zFAMkm!i08JY0Q3;GLj)CF*P`1T8~k1AiT4yf8(~dR%Fp^)-dn2?*d=5lFfFLVGDXt@ zKs#a&3tm7hy0eA>w5Xr#HnM6W;_N&uh!ugA*|6Qcyoe_ix@`sk&pn-f9gvezOVh@W z45^m?gs5Dl5VSIQ>}5h#TsClFM3N(gVrQ&xOc`PmXNQX_=shhL>Zq>Wu?k_5|jl zvxPWhbRaiQtx6;!(kGEAR<)6aT&1fP=p%w^o;14^Jg;CmE?3=B=xv3JgBtc`!0$yN zTr;`QDRw*NXecMPm91#G)O7&O*ETi6jm6~CS3h*16ezdUfKfjriuDLiq(;A94Qm|5EGar_8tC#_{o=AYZ>H0IipwYySPZ5V@h>pTO|} zdjACA-R_Kg0Z#$Fx1oK~2GJ0L2T+Nngtl3(Im=_=8az5&#)VFcILasFlNvCVXXh=^ z%E87GmRe~}eE)7|JV4i<5UubW?i9cu`|6o3jP4@nD@yYXeo`P9O+!s3%=4}@iGyQ? z;W`p%Qx!mnawE_^MejQwZO63^0Po|jO0HtX6IM~Nb~IUs##cbNTMEx_>(ZmL7)5X; zU7RXLu2L8qkpP|%E0R#V60R9D+82D0ID%YZ&z=P`CG76GFg4%{x2v#gMEYX$jVJ-x zk#whxLbn1b)fOuiJGfLm0cDU^Bh${Z$MD8)Ot?DZ8ZcU|6rB%r@3~6WeAp zCFiAlYy`;%%fKpYWl=34de91A6Hqq-S>68+Dj()mnF6s!w9zuv!9cRStg~?U@w&UG zhrv4lb}&T$;=|(x07p+Hj~4KE(8lGe>{CIOQ%`l@I7DLv<3d@Nf9%)VstmS96hhI4 zATA!+&sH-}q}6nZaAD|z@-AC?q>B&K8vYYb>l@KFdKNaw-P8FBSXL)2G+@?*PNHCK z>O$8>eQ!X!$o?qpZ*+|l@f}cG z+J6+l;(7trH>fXv1=K4*;`Yn`J{XI7|ARV^Ui|QS`8fdVPuBtd^ai~C@eUnNfHy*K zPgo4kjyiyP5fDUaUv85(v9+aM)=1(eU8z1f6@Oeu#MSwb(~8>OC2*P_6Qg?5jgH+A zlX$(Lr|x2Yz>oaBh6cmMd=O)*YGlfOR+pNIUQ$>KP$SW(4#W{a1YJ%(S!D(yT4r>8 zt-z{;XDb103qL>}D-D3pjL4&~?0q4Hx~m(piac+HC|(tO0LUdx%HNedoCUqH%5;E` z>&{2y-Kh>)!duykNN`JP0a|?oI>@+TGhB1QSssPrRF;#^F)b+alvCXK$C6@O$nPDA zVj-FW^mykIcRnO@-j>~Y)F*Du{Hd--U%DN!{kq38lC3HTP{oo{-JrXktY2df8{}Qg zfH^$arcX{|T|pkZ5CQD5seb%*AFlMm-0gL}OYV4TgX%7()~q{g2yYSii&X=K_33q?~S=8wC6;fbs^ zLjfZ|GI@ke!l$%Q;oZ}AgIDXP%T0myT(c&)9Eh8MYfku@5Ig&sWL+h$NdWF&+XYVT z9uBdPNZuT1hbEZ7+H@kgGz`>IYb>dBkD?=$a^N=Rpi`2Jai;%P^Qn0D{IkTSvu zR%v1X8qRk71Ax0O^=Uoc$4NDT=4r3bXpQNpgIdaLu4DpV<>X^>;H?QLzDC@t%Fd60 z?nu%cWDY+qIr^%APzalN`d-h5aW;i62Jz}kA3zBsz^LpFO*h_4U^newefUO_EmY7H z)LV|^paWnuA(G-A7Ny>L_I! zF?O9O+%P)V1{hP9^2k7S@Rcs&@A5C`&z3@KNnK(ZTE^?7)Fm0aP|*mwMc&%pw`U6eIln%HQ+^#yAg)lBu+jIsbpm=m~N*(&0jkM?(?Qx8P8_KN{^+Er|#{bVD^FrRjrEYrmU2imoB8W@9=8_@tSi_2Qb^Q)76}B?c(`t~U=K zerd^L0mcq15I(*XE%X;y(b0K25RNgWroB>yS_>9HCdI%Cxy$Hb(kZol8{+^gnrBVw zQ|$HjkC5#w^4Njy`Nvf9SCSzFn^S#Hho)NqYlqHK)#<<>09(*{K)18ql?DJ^EPI!PB48ug3E;^bp^ZM z%A=sf7(gu-xX3OzhW23+>3UM}day7G7g!z8LB}1WvWTy5FjHyy+3# zRb`5ytK`>QWkW@10;}h?FLSI974<4Y49Ighl!`#p2)#DkE;sYG+5hT{r3BUtX0!#% z{fLJkk(JR!gR6I4uO$5yq6UfM~PnN$+bc@X-fh z-@gBkuyqLjEzy8;pL5QG?{4n1O0@)M&F_b%1ke! zjAk+uO~wI@5IGzU0TA~~cLUvZPF3cP@TCWLkG-q~LXG9PQSW1%dtgS^Z|WL`Rw$p!F5G~VSi<@^(z zNgBUU2JD6-nI*y)HxzMvOBv+?`H2yvDA{jK4 zCU<#~(wT|M)GAL*r~@+9ib~5UHX{Y&3`~S8$`b-=p0x=1!#&kuv*4h%q7p-1yD4JA$DXJ3rL3Og*n+cK%Eo@WfB0^G0-3%>X^zl-8t&x z#8_))Ds-rkGZAnw9|7Hx#JiqG{c~l^x6t*M7@z;}TvR$pjd0Q~v^Z8X?T;B`cK z&Bq?@=j$avu?e7~*$6{yX2CQWxLah03xGFt5hY)+M8ZwNg~9-^rGQ_VIZl)yB~5-< z_)-z9)bpVe;Rd|`_}zI1m>shkimb`cElX1|{R}xS&Z583X4M$ASd@spQdH^DuRWb% zCD5}WnM|ETvj&V@+3A#+idlQ)00wyTx`iH(;^@Q5uAj21lzzO*jm(=hS*oJ#nPZH$O{I7^;+3X>G z^ZG&rbOgD(1dHaHpk=F^pszL^+7-ZF?gba+w4B}Pyw_WxT=qD>BSV06{v&WC(WwWy>PbXERbM7Gi^89 zE=N|VL`C9ILfraZbhbo6?Rr@B(23^8l+PeW$sFX!G^yidtA$F|SwyUH<{8LZ6TwBm z5bY!U&QZewRm6IhsZXA&kp_{QvA>{%{ne9e#Yz-@*<|CGY~0yWqNQ?wql9!Z8tLgf zxv2&(=-LIEI$Yuw3N(#$<+flPp5U3v6xba!-$~;$$GAsyH;vV@|Lz9@32t8nw4;Cc zU5&RtKPE%IN{4zc@YM^rKZ3Xix}bgs_%*=Q8Ii{u(VH+Q!7Fizs%YVYG{SwNSp}eo z4TjDt_{6nQx55a*2ypJe(%9bvxQ6Qp=|eT3dUoZE`gDZ{ z4V8Y-AhawfV9b13G;~i9Epc!UhRCuhQKF))6r%w;0UFGrs4K&yRx_eo11%UX+7^0I zT&Z?}cu}-YnJbdNz_bs;G_8)ObS`kNpp@HTpE_mQiPWQL%Mf;bz!jDH5tdL=Y*wo zm2{ZJ!Bm$UAUmj57gE&qX2quR?Xujg0^x=fr>@rIOviBUg!$bt&6#%{%QrWCLYr>%0)xFl9g}I60E&%{Mqig#L8v75v5oUM zK_tWl`;N&Vh*2UixI^Tl0!YRi&oNV66X*wM(@FQ}8dNx+gC8ReaFU#CWo{CHW?lhn z>rJzthwV>;(Bv*imi9);rt0T(Nkl2cBPDj->g0t2Ft}CPECj>g1+08IEB|TDv zm)~A;?RlEu3*l&C8cd?K0bQe{ zR;bNlQkxKgD;Ziw^2rlr4qrDeI0e@Ml%}-0jnoWitOTYciV3a_3C>P@=1=Y*lFQ*a#N^Q9M5SZ zgwHeNN;P~A&QJyc%8sa0HGe{A7281-Xu;B`0!S}M^U-_eBpaB|vh~zXVv+ z_NfC*EgcYrDLfc!e7knB8mFvFQ2&35;+3Cv);Z0yw19FwrTfCOV`7-jN!x_lL@f%S zq|P;apO?QISr>pFXrJw=kJ4|+$Mf^F`h5M4de~6j=J5*Pt?F8E3Zh4SnsEPQ+2rtP z$z@R3fAYg)sw^LPhEU&8ZE2F@$^n|1hBr*jwGT8L$00X8qGwA@vg3l`@?B9-`igXL z0oDOs0lz97F`GwfssMKMSKpw2@$VrG^w-}C(7t~5oHyY96R_H#_#^mWu-oULH}K(I zk}Jpbuy!#U*avI}He?__#u8&EHaMh)4q-+3Pba0bZf-pU)8RwS&NG=2byVa7xB^m4 z4*A=fkTpG5csp4X0DMvan*0ow^#m7sBcf)qrTJ7?&}-S3fpFNA`rIQg zvypuNe`f0Nh+E zx4>*3wgCwe>MRounY#lt(kkrj)&I%e_XOi8N*xYLFJR1hKSMnbKUbU`fN;nlCl;}I zVuqG?s`^=F@}eR`ws>}ob`V~#l-aB>g;Hds;vlzgu#U^RCrOxD>d!Ul3k#WggP@X% z0MSxBW`qkmbWf_zCAgrDYe`d?vx`mHO2348#W?j=)|11EL9l+GI=%1cN z*HW|qnQpa7YNEm5xS<2SQ)uvFr)+=^VcY}l4X}MRhR|*KiLU?iXC_$oF@h=yfC}0==P4lhM#y zHg8o{&b9oHPEt|Ps!aY$M+JbpYh!6q57QqhQWhiT z4~@WbMHD>#i!@tR4@FOQ8*?vxzd*ytek|Ee+moRsoebVr%+iyF=@96jUo38_9KO`m z)~=tC_=M{iwMf4dqMcx3(TZB9Lnh^>CeR0{=%^HNZsmMmY6m32Di)bd7>F!V%DM=$ zfwKEsmMx%$fXvHH351?S=zdPX8s+OQT!aIV=X}Gou6L4$umzR z=SQ_w5m<)=VVLf0P#Z3CcT|MdHU9OLaTIp6&}^mX%#AUQ9-R;W{TQ27Y( z`UraqSdTnOcp#8*fFlH>mR*TC38EB4<6eEx)L>m=+ihhGBBZ&8dUk+*K13N{L1LqnE3&fr6!zQu56 zv7kt~F(PPnyI{knpwS`BhtH5dBW7y^xP;CQY)m1b$?(Eum!k+uL?E!3DgZPmw`og< zx?iT>T^lRHuee4}H4@vTwaFD@na#aTBLwUoQK5>GW%M3G^uCVbY9a8nw6o^Pqf+hx zPuD{u)~0KD!e#(bInNVXbFGR-gt&KFog11<$b`Er9< zif}gx*&Q`v(eZ4`g{fk|dGE`xs&s)t7*QojM?N|u{7zRj4S9QoPQwd5O6+jkqF;sNuuIHX9p&cWkJvu^Q$|h`(O>_u z+N&rk-9P?^`o(ow-~hm1{~rA1Z(%op7eM|9^~dN|r4jk?!_ay(;@f(V2Wns&!CFJf zD3}{A0IK6cvsfF=qj6@$?Uf8O=HjLzEJYyGUjzm4vLsURUQdSnS?(UOZdjALW;&1Y zfbgqYP~>7q5sIu?5uYnvs-dOsD}5FroC`CbgwLSQ%?#e7<`*={MzR}~nfs9&m=P9Y z6;FvR!`S8?X(a%_5cS)(XF+M_3Rv}Fi-peS)|{Es4~<@#Q%8BU=Px60F-A$YK!@c5 zNp`9c78`P}_7nS0V2WhHjI~C6o-p-STIyMlc{1yP6R53FY?{fXVN5Vxe#;D;C~aqt zR94m3q+=4VCWVRfWson@IclN=^(@swnDQn#VBx1I1$+7&h-e`K(LM5K!^gO0S7Y46 z5iF=vak1Nav2ImS&8d=tAR4okAu9r2gH@9pQDJ*=rg|H-fvi~9QJ3_@=nAH|;3^)< zQUVmuoeE-|MdHh1F(NvjJ5mRkE`XWU?rIMdR_d(Ph)*<&UInEZpiLMDst{ids4!s| zXxLMgP^^_&btBMH>g`!@rDmuD7;*mv2?B!i*Vu*b2lUsGU!?m_K>HBfK7>B_0D7B+q=%srgb71yz6v{Q z1j=wWu*D5sEC96UL!@cR^6KFe!d>2A^UQWi+^cLTdV2iwGv+`$P1NXI8F=vP<0%|J zRI6w_ffmEB7#S6)+&>NI&H=K(i zGd(%SEdPt~EP2XlKBk|memx#?hE|ZY&}lLi3oQmo`uaV(ewTkS8DcTI({=<2ji=O7 zr5rJ+A4-96nrcVTjWZS(oniXBk{QY@OX-FGG%sT!idiFE3C(4}Y*mj^n1~Jm)waYV zl&fT>oZ;mP&}aNUQ=4968P&#I#1VYk(M^itC{gpF5RQo!tTwD7;O zNt(Fe5idKS%U21zqvnG&AL4QP4ffGL248#&1o5l+IvDf)&v-xLv~PO+2LNBZfnEU8 zJJ`doVBW#qVDCEm4j3BRHUWjS$!hTp$0eDnp@9~mr075zi-Ry=5Eq0Ts;BJ|tqa2K zw=tM$FPt-h4s3~sMJhu?krGQp4bh9iS3mH|9VeAL3S zSVq}@ND0a?g1gdoFZ9SD(Ja==ENNH1)FX25ib=!;Vrvlvrq9FJphAFNKy|(*B95ce z`y@gd#`rHb3`K9Q44uawqbGEiC6&q&d&|~2+22d@n0pFywytZ+<1IgNZc^F8d~uCB zez=2!Wfn*;;ETQd#4K4J+46^$z@N21Vlsv2<`gU|{bvAUo;yLmY`Y9Zu|AW?w3rW1 zc6MCD%q^m(MeveJJhL+y1e6uj zDF7A&DrDRzm*5PbjF?TNrv}so*w%z?K&k_RI2yv5gB#3=3l0nF37{S(|LM)#mScSi zzg#Rb#>|hYm;Q!eHc{Ong2g6a%FsO=y+w7ZeBW?KGr|cDH+5dr*w7e}`8s~hoa%eM zS{ID&qOR}}(OeXbVkV)IVa=~%go4iTe2uy9$Sn{cJYL9eF&=vU`E|))MpQaOUXo3v8<&@wOH(Oltg`jj&uU48OIC>O zIjb^Nq_KO*Z1RamQle{y2Tubx-r*)5vO5Vo8m_ow6nmU#7QF&E@4@+yFh8^mw*CUT zeTE-xf1ls}{l5@s_}QQQ&$fN=Z2^YAej5*DK7MN7dkx$KeX;{Tdqi)ap?!W2-tSp8 zTcJlaL7EV+$u^_wD5qf4l5s{LyyZNejz#KffNX|qGbTw~aR<=Tg<0_rIkW}0V*+GeFW=IihDwa!RwKnxwVHX-(1Dg|l8f*&_-%?apvMC{?R4uDddDICy zuN~}LQ4hxf?u0Rsc@1;)`1yU-30THfKs48oFADJ^oAfTJ{tWfvQXm_0T|LRyWzC(RokIriFR^ z$chaa03(1j;fwp#4#Px+bWvn-LNxlTDpQg0W^1P-qzTi`EoT%t)iJTf;$lzs`T|$J z!j&%o023QRobVE|mw2ZQLx!t;h`oQ9p6MRLOC!buXpP^#eqTTS@PDA*{wDyy!+-f- z@k4wI-+K-H;tKwnU&Sx3;O(=xwYxj`!wc}?3c~|1FR(879)a)P1)GE^OfMn=;2Qzb z(8ZW!0GeCMH`522^U^Fpanli>jh!e1R}QEzr=#wn`<|3GA(A*+;C>3ZJN=^(W6PuezZ{G`CkCob~|)THEnB7BZ^alfK|mH z97YkB+YqRn6(&RT;%CW3=E92_`)c@>dfqbmfr6R}nWkkDnc$22A(>RD2)xYV?8ute zM*8fmr!7Q?pkH#RuVoK18eHJhdlppjM*!WwvYNHS>S2EphDI~0BBj@ss z)-uheGPQ#PaBgq}$&UJjF;k8532MMNxnZ}Ly5p{>EjHkiOgqfFc6*5%U*eW!*rU>v z;YaQ7@<(s}Ie7URaQzK_{Q92}0DgG8@O!VJzkUmT>kcX)eE@j-0C>1Z>(?02xdDhQ zsBTdpB?8r30OP7_8OoHP+AV^dal_cklut{l%JLQUZxk-5Vo&iP+u|L8RhHXr_0VfM zex0dQg7DK?p9d97hRT{PeDXH{_`MXBRD{!$N@PzQ2~mF#ik>UL$`QmWdDs<5z0)^cMO8*YSG`TzjGadLV2V<<*^_O~c)_aqm8X zr-f1$W}IG8IK|7ixg2H)>Zi=6l92sNlCv(XhL4K64wPspw9tT4WKtOTHE!XDa{JXi#4U$@GqwN*?~3Ra5)hKrRjX`8WT$S5D5@a z08ZKzi^L$tB7QUq1D&cu(C{_3lspp{PzGWQ4K)>A-5+s>2v{}tWx)!Me8DMl$WUU8 z-Cp9#JG{Z8FdyV>`t|mw_M^Lh!ryFvm*2Vm8+>Q~f&P!z{}aCZvitU}e~$0HhW`HF z`yVU1kAL%f@bWSA_yyXlkAU_W+M7E_J9q^Q1DfGr79uODDN^;!4K_<}8Y%EmmArgn zLU#efRyz9z;ZlSyxB4bqmGC3IP6#pkS zJptDO+eOyO^v#2MFmN$r#IZ-E`An3fIu4;S`2jT0r)0@+llVp+fSfXx7dpXNkkdU% z11cA0(lkI8)ywkHEiom?D3geK%+fMdk*y z-O(~8z@mJXNE{0jIF?Ud?8(BdIj2P)c>r9EmWsia){FovlOmn|Bui>bi0wH*w=lmQ2u)is#RYtdvbH^1KcvRA zKs1~Z4Iz7KETVt(%46xB6wA6JWmCzKqJn???O>r&aS6%0WH83jBQ%$BMPv=)G<5Wh+ z_^Ec7ht1Vbvi~|gI5}B_!#2pokVyCODrClf%(7_ z)l)ALl*g@3OYz>whIAEOCRUN_<&aD?O}9r3mzLHqB}nHTor&l9mx3%}MTN@!l4Gv& za%T1Q7^t++tAq$DQ6Xk__%FKnE7{BZ3JlkKtfc z`&ydSwQ_RU6NHt_o3W23dtO;rLRO@rmF`TiMuFTxOm;@nZTWT$1092HB^68&J9>0! zjlNa_;5)a74WP?G?%3EgP=y%)V8hVV(BQ@f#|u5`ciW%flb8QM!(PcCywT?*fbTs1 zYklYU|AOD${{w$y{|&!${rgK1T+tH4pRtf&)~Ej6)~>NyLxW zdOA(z73E*=YR%f?)5Oms_=jfo{fO#svh;}_1k7rtAh>c|6k$oH8X~1@ZJK$Jt%Vzg z0?eGzXPKnBcpI5jRiW1#F(g=n5oFtd-e}Xr(Uk7HT!kT}l4af0KCA)2D6{|MPd(py zA7O#_VdwV?qE;-Z9GLl|Tngz^q%^qzO!v%mIu|#AkZzL#BTGb3Fh(}k;$NG7pUBqp@9v5ZJ7Sb8m!A*5y3A2IyJ>kqe4P>R~)5fMWua~yFtLY2+Vp# zH5WWVHlQq+bv?CX6uB&oKzv3|vAW)a$_SvHT1p?e|5Y9@$qbcikomhKvy&=6q?SX4 z?&@4o&Kb#izzB|2;gd4o3jpbW%@Efk15pt+0uXIp44#BqvfOP?k^Qs^!mV+DstcTK z7Tz>Nq>;vJhRiiR!Pz!3z>^czl+U!oG_YZZW!b={VK3P*F-s|wX3}s7+$3~8;w7*4 z5?}G(YI5TT8-w_=f_3 zHy!-zx8P%Dt$y_J+P!i60({ueZU!3;`WE8)eAbz!9aw|W=xECN zrvkbnfOHX2(*(&%YuBhOPblk=FfeIDSkNJpQeID(DnD6>kpHe=7ODYXt;*cR*PIfj z0Y8!O-y(aiP#F37o{1JyVa5*vO%0w=m;xZ?O_Q1ODZjI0Voo9QXx-OF8fx7L8@l#1hZW};upLC4ek zsn6T#=VK(pMQ8QL)UgVojf2`GnC!Qqf=ot7Rrn zrm`=q9w^f_u}#IWS{UDlnjcZ%nt;k`AR-W!WnwKaDW}DWy5oq@#QmQp*#X2r2CE7X zPY*)Jlnh*vK+r@~3U3^D1xr=jFAaqlsKr^rMX^p16ANKlF}!h1kwBd9a8DGqEYM39 zO&F>(N^Y=N?h67{)hld@@^M6+(x@rpQGkS$yF<*fdlDkipkvD7IYb34HY277nlNM+ zG@88Ftt!wIv0r!~h+{?pB@*zRja{yRrVS?921>ZWFmSP{#{mJ(J9biriBH?N(C58q zo4xVR@R^`*-~XTfUta%H>h6x)yvM)%um2a~E%X=uZ|!>@`~?8ueuTM?ufi`K{Ni(T zb>P)K?BO*UZqV4mEa!|o{ix&$n?xT3FAU$JgbNUwP$)dm35FzKlW69EGyA_-)JRp8 z>#NMp1L8Wc*e4M{n(1Fz%Osv{Qv{`c1Ym#PM6Ib+_CnD??)p3UjCuy#qUf& zi0ei-Wemf@HkyL^nxEh?vrw8;nPu=fe5;!?TEVCAFs4TMMr5LVMpql}f=hn6meTkSkY#DLmBU$I zO!~(}!*Y<2h($5$v;@6Atm;;-)UQ%`?GB^0im_#SUv^4mCI`knmxdSNyES9Q+@c>x zPDD}xmZ3inT`zMuW)y5&n>Tv%64C zt4{N&-MXlWop*|QwjHKjjjmgJ$)Bg6Xren9s@!?*(+zk{_6&gPi0Iq$)5i3=%Qf&f&u8d! z+pI5J?3k2KIT-LGBW9i;3t%KI7ItcR?7JC!RU~!Hx_Pe#SU@^OuqtO;l*x+D88KUC z(g`N>WfSM5+>AB}_ekcAEUamq@`eV@CiE?`Cy;$1#9)d&$a zwkm{zssRMnV{%Lwo^ zlAb$FHa=Z3M_-&j!_AB0rUM-_60)-6lOy>;vJ68M^<7C;L>{q3*p)$(y$LjEjCf7u ztU4wPjb2Xi5Yy09zG+izdjYF17jc37iUvogY4>;SV>%k9ZF)0)ix>0vc;p=gXrpVe z@tz;5&zs)%KLgrJ+%A7dUw`;_{O-%Q?S8!0A3b~@_~ZXx-^-i%>@&2FKgRsy7r_01 z*<1M7VV#gqFuRk6-P?g_piRg;5`*YjK`ONHYhzE}eAF+EDmq)5E<_llMItH?fdt4B zHWi3=5L*(Il6pet(tTPJcd})doLw!ySPJc`N3U&ZL1M%%d0AZC31tHwf;0i5= z!9Y$-rhjxgJWa$#U}&PdVRC}$JCE%XaGR_?bq#=8widRIN_~Mj)f?Ch+;_m6OcNw9 zwg$Fgc)$$ccVcu$CVn4G-Eyq6VMeabDw<*d7|r?&qo0$3o($u&z3IGgOZF23mDTo{ zy|bO9J!h*3JZojuFSd06YXzALC{+YcIJpZ{k1{K!A`7(OfV!0GG0e$K`$^i$4CJdY zG)>_Gx?>y(Ky7;VluO1H{*Aa%LUwLA2V}4k1@2EkHP4SHbM~Ybh?dr;kuR3FLjD1c z85}zxn|gAlJTEaJv^-=<(v}w}W(5(1lgj2!;U-|g=qlE~nxvE(191^nE>ncr-k8xx z#0W(`TxO8x;>xQoPqnIWv?2?AMEt%kZ$Og20cvJ2#*VH(V|2Wwl)Een(%@`Y_HI}J0kGZ=y2a~ zmoCJZv|8BHlbCU)d7r`Z;w@drd%b>F#v@N)8{gGptv`qGPjc?aUQ468*wzX0@*r!S>o{kDD}dF&`KbO}uQ+ysE}=sv zh2yDKyXVB=Wt-~&^71QsJO&3c%$k#moI+M^4)O*eswjg?N_8H%#XfbKj;eb(?kyp| z)Msl)p!f8u%YU56kV_bB;@ zM_AUX3cPsWg&UDO;)D8pn`s>;YU;*UgoNET{O;zOt>eNQuJ)lm?O(w~JHBXtf)8JR zXkUHxk>CIB9sjfasecdPS1<7UPht2Fdi4O?U&H)U;EvG!gxxmu%`vYH+ua1N+v+{n zWe|2;a@NWK4h!EV0nLU^W$Y$3@=IZq3oeEm0&&s#?@9DBVAYbrmiWJXsfJ>&@jN?# z|L|lM>HR;SWv9pcXD|f-$A1Q}BQ#%RxC++k&C#*)=YmzFcBU!P#L8b*K94wh1g8Lk zW|5Xki!3S=TdpZis=;Yi=I+Q@OQ<fFr*@ zSG1_elA2AP#aL=6-}id{{u;`VF)ensM2bQsygb?Cj&!eh^H3`sAXH3oMN7)RTJIqT zJ9yAFE`P^wT2wlu}O}EV3=fWv0Fjpbdsh3{;myvo~ zHA9oBpi)SmN8fd_405<^T`>q>uHyAL6ipS$BM~Ax2YIBbMipg6wBA?7)Zs!vrmjty z&rB!tv`mq)nE}&4XTDE^u(R{V4T3Q3jw6d5UhO3x?KQ91)HHNcgM8vGKf(j=aBXk+ zwtZ}F8_1^H{<$2Td;bQna@=HS+A+r$_;fbBe)BC}E*}L8ee1Yinqujr}+ zXsH&+R8vpgmLbb(9dd+X09`<$zrPNZx)WA}rU5{=U>?icWoXv(d;rY2 z+a(py4s&zP9hg_L??#)^d&*KK6{VD5bjk$tQ!1;uEiFv|?Gxvxp8fZpQCqL7@?G*% zwzWQ?EEt`gN{>S<)BSv$lT_<`LN4H5kN3RV7g%cTKR^k*(?s^vj4os>Syy#suT~tM zk}e^%SQT7~$Fzzz16YmeFqJh2k_LPIm%6JwXN}L&IqN{9fK=7k;LP~f^wdF`&*MV` z*s}DZr_bk*SQTAS1?QI@qd=4f5A7#_Fu#@in9{3>NDKAsI148v8fUh6r~)e4oz=3c zz{=rw5))a-M9>5@k`X&v)>-wGuh}}UgBs|{iv4mq2AT#;lbs0prXbg@hQT{cH0+{F z(yhIs0Ce0$n!t?{9gphz6~2K7yuiNw5nuW{(7Nt4c;#!}MBYL83f>vzcsq{PCx7T%gQ}&6y?KOaOB!PpT>}BOTnLWp(_$(3j{=O$pg{t+o4P1k z6lF08>>y_dC7UrjjTyX6!`9fsb1$!Gzd4_n{Z-Z9JkkZvP5gkPTk7+X=<{5Vca5*V z=d(|~r$bXJBbWWE0N7|b!owZvMKRB|!c(@oo@s(rognavi$xySs-T<)Xb{nPMa7!U z0h^J{_QV8NmCS=mwsx9eD&DIwT8i)oKo*k@a7OvPc)E|pE{lC5<4?Yl1J8CM;L)4$Z9c4QUr~?5qjK$2b z2cO)xXECG+le1}N-GM5kvlqqbREH_h_Th9DY@z0aPYEMc*it zdzpm!gpBBL`hY;uCLPux6Uh!WgI%S$?Z(;TX{0|^Hc6XJ^ThxKodA>xu(;lhd3Wu0 zy&G$oGL!1LR`vPoL?k1Sq~rZU%^E)m6-y2>$HN8to~N@8^c>XJLd79PRWjv#lOU7{ zjLQ6?SoF}k4ky)$xgLJOii8J=jCgfeTg!I`u*&M^0EIgliDGHGC1BPy7xS$9X)6nr z>6*|2-8B$Ajo)d&^HdokO9^UBn!3aFxjbP>ij;dkk8nL$e_VAJ1<}DJBS^+epvuO! z`iiB3kXgRE^3Ev$mjAHYw#G9^rC2;kkD!7EHktgC(Pi=oZMG(JT~5wK-R(QptNgPCNV=W)f&DHB}6 zn0M?nM8#xf&naq?W8lOhTLg{hj%JrYp(#z@0a|oXNCqkjy4)HcUyL<4-c-`4m5N%C zeF{o2oqd>{BK|P~e>Vzpp$R~QEas%vZB(3X>iAR&J=a%LN)Qa>>4uZL3Q->j z(j7%_j&n<=?*S)+O6%VM;+UF|(ToG|phNP61E<$D@TiRu$2)A4;>}?RP9W=58mg)j z^D~i(9QxAC7W3LmVwFds`A}Fe4Uzb=rBxT!hUJvWMumWg$ttuYbTmwf*}+||$%{Jn z2slb|H5qm|H}2S^=>5b8zQ&O04euxtlNU7&Le62Yw99;QZE4D~fI^D=V;+W#Ax(S{ z7dbkJZVeV)4yaBx8jQ~9A3V{WVh=TmanPGn++eT-i?Umu!s^Wr5g-nM|G` z74=~i;b#u8PJyZCLn=I7;Qs7A;cx|I4Rc%Xv*%M1-TSf#tRVBt4ho#KRkVh zt13_hGM|87PR|pNuJ@PdA%j#UiCQSC#Ob1-h0D>7Js7HsHdSP@hO#Wo@L)wCDgDc| zl$um!C!+*+rA98_kJ|dFn@zXiEWc=!7p%?)Z~y~_8FiO6XbgGq5&N3#ayIPPY}&;{ zvl}j)ktNG;9b5poPY__^JH7}F5`_nQl`~|ZY49_=^0#_{!Hwou(K_$qS)h&IVz)OT zBWKeT@kbZZv-Hjo?a{kFyMeAsZhP8iju z5YfDb_0-C@vRg<|;(>aTYi54};g^c&+KPgir3f~pQ&p9P3TLy`^Y_CCYY4@_(TpTq08CJ2 z)`&6!Y$7MsooZ^KNmO`V2ODUh`2;qjT0nFs;O(W_tJXRudYf$C#6Ap{y|H<;o4##R zPH-CrQ5@az`t9XOpsKF04?`bj)rKW={hz;T4cFp-F1vbiOgsbN0@d=PCa}hWSA~<} zl_l=p6USP|eR58L?&)n1qP}1qt$?Va?Zp!jt9R8}Q9|XZhz9Lo>O7`RwVEz)SaqH# ztil7C9D0gs=W*)i6V5|fE&mXc)b+&po&H^=@RAvxYMRoN!C^$g?O`h=GmYTS6Zi4j z6oBP_MS*A3KBZvQ6h3gfx&|aLmlcYmQC>vv!xt81V?$Gw?NrFbk*bJk*zuyxkwFNfPAWBnt5N>=ZuXl`y91l1C2k_}&7!L#Fryrw9L`re^$kVB8Xx38xkeBHb^d`p$VBKJpNoC5nLCh%U@6)7h8u~E2eC#%xTOWoD zVv&NX-SoDXvga6@QwG&@Mp`3P@3+(6o`c-;?>=K$z$u--d^$^?X=E|C3O+5+JsmUs zN8wdFoqt8Yo|vO}Ldl@Ry;5Mf%4Uv*SB8PF_;yNSB~>(>pJYXJg3*VDbkz}1#7}n3Yta) zm>>|7ZQXAMt~Awridox~1hQdYTDhWW%A$`{_(v0vsjI;t!1*BU|Tx2a&93WcXk%<2X&tCciKd;&J1Oj3fJzdo&pFsLa z{tCpcX0fV0N~DVRJXD$YQ3C5Y4qYLIkd|KqSW;@7#kJMMk11nlv&k%)2FBkN^;~nM zUyQKk+$@~kb4pGpw~eh`fWDEJTQi%q=45JDIh!N`U| zXMcK|S<x^#47rpvX6=OZ!+-ibb@u$$Ll2PSKYwzHJ(Ti<9->u^BHSLO>GS9jC zPMuv5C@`(hXnil_JH<3(U9SSr0RpQ=DkWIe{az`dA(?`Cluf7(w*js>K1UD9FzcgJ zkFrFHr8*!z0iXsbhq=R|+7()My^U5cgAGweMbjgFEc=hTb;3HniXGASq4JbSL)< z)bH6J<)Jl|g9h%Vrfe~rSrOZaDldir!N_n56le+&j90{845_7;Z{e=VRo1(@u-)tRfj*-Df}gn+wy4!z7I(2wVL16(q3ME1D4TSJSUE{L-;Eg z{+zY01Bg4Ln0R>HEg7ogunU5%nhAUDTx=jbZ!8iyM$GT5cnj>7X=RO^Q*sX=p3HAm zYAT7|8ukg9JsM%My*X#ziA~r@3#{+f#^&?vA06E>dVniM%~OZ?K8*Y3^>d8~PI>+{ zT8F#)smXte1wQ$^{+7St5B$E~j32cA&7LY*V^aaHQU!sSe00?kJ%ei159BhLnAMK* zMikMgpYN9 z_IsQ<C$$&|nZcIUvoQn2JJD{%44soPv&0&yrx~2v% zy7PCK4muk)Ta;+=x|vFC}JSspdOd2C7RxYS04D=7)s~Mw+TQmX%vz%G19cN0*T(hQft` zWl2^GlphFqJTEkze*QzRr%u54@TtX8^R1k{|5m|h!atJEvUD1m0yK}EB-9lo0E^w{ zq5#Ep6UvfX!ctpz8oY(>G!{bGLal>lH2@QwJIo`aigN;YFz;IgxLTD$A8d45bCxa* zeYfT&TJ)gu?bh_XkzXGTZ608n=0EUEcbdTbgrT;%*wor3YZ#x6`1_db`FMu^-$xnW zQI(QXhO(6v6OS}lo^0^7@Cm4-rO6wkg>?jI)^(OBKM!FZCcP`_qm)Tco%ZAN{V1fW z!19es=fTvMnfV&8I=-i@Y~Ay5-UGl-Ulc$_++&&X0(j;N0?jjN*0Qh)0XnkNiKysm zZR=dVuC;KsAvT87PK?7vB8X1&3F>Hv5;lg|3^em_Ey6=SNuhD3NH`4ez$?eb$&Rbw zJC-IDj;39vfvy?T#x}qPperEfg$~+A+MS{e^z_}X=^ki|cIM5mw%cop7e4R}VTB|z%_7ea(^rGjkeLxcdhV68Fx$lD$<|=#B-$lG zG0#-5m{G);3`4v^EXBMH`Rp)$yJTGN;_67mvNm#Jg+bY?5c>zlx_k zYv^|dy8zSBt-dcxbq0lJ*`@2>_bCD1^HiR=2k`8(&s_#55HCimY;XSLm_SUz%%eB} z005@ojVkb|a}>fx8u-fF=Sqgc2~-Qz>Zc<>6F}u!SXkFxJ~H9yeVu`ICQE$61`lwH zXH@B^PfdAbz^cq{JL+8%nxtpMJ*Kpd#EAgYRryU3pCs=5yCylBUT0HV-IV$wjvBQ6+j z8Y$-QaFfUfdnLCQ-mya(f^7_tcQ)&I=jeW}=5@2i2VUAenh9bDZg*-jaEdl56SR#B zIwYDyZn>@-q$YF2CPVjRlRU^-ncN$)GE{7kOF0z&Polf6d0c)`uD|PqC&!i7cgxH- z2zLN}4&Y~a-|Ky=vnE#U@=sO}PyghV7iFkF#t=%>(2MwLvmfk#0emR`ruGHPFo zr3)#O;^~r7#$a*IsJ|M%l@jY#9acqp6Oc(q28XpRkG4~oFg3|8+PY}1(Ky&Z$W63K zYm;`_8$E(oNS~@gyLt?L1-AChvF%3>z4D=s<{omZ!-X)Lkg2QZNWY%_OuPp)PXE5| zQJz2Z9E6{M{jrEaRj23p`TQAS`SF%{w2nL1URlRke#&xmu3{gjO7qH#Sq_OjT&mX( zbjjdO`e#?o)aU2Q4%$!0Ma#9nh;03q*G!%MTBw~_4+IX4ZL-$5le*GB@KOMAojI6c zRs^JuB5uiKO;Kq-RTk+Mm}u^cadwK0b-c;O32KHUDmt2ybTr#RIX4V+?&&)o>`JD~ zkZp%{VuCUZO_rO`xTB>Bz$6-^G&E$oDIWg>c*7m9_Qtw)-07Y~qen4ryo?5KY&+py6|czf`VO zA`2c{ek+P?!A^zjO|^EH$aJ{iRJ_0}B~uBl8Mx}nUAhYw_i!Dcsl(BjM`tluqRp-? zD|TCpCT89)si2;)OC!9+?|uT#(cNEMJ1@K0m(Bl3O!oQ*yUPSue5Y?`ei5l@Ex ziAnohqIG7h?|E!r`dQE3=jp%mXUSlx;_2h3fRF(=X8=_;=K0>9zXI^MSYTCJEVKB@ z4Igao_?OS#10t16Y3V$>vF9lF?Dvzt_UTT&SbGMUYVcQWQm&qduma0SlVytESuE9_ z9iJ17E(=lK_lZ*Cbg3t8ZPcTg5@r-$J7Q$ZjS;r65g6e*Om}4zqz^XUS>l03z zCc8cI0&4Ka2CcH50NHKN%X^2H0D##);?-Viw-<`DWYI$=sPh$#XfGPt+Zj*wWdmNy zT7&6w1epLu5u#K6m1$^%@!fH#P<pI&qQ8WCtgMB!R(Ck^N$;XVwaYL~aFS zPG z3<9{t`lO)CRn7hXWA1HtZAp^ru(cwx_PIk?Ack!C0sPa?;3qX;5V9=5whYKNEQta? zOi0~BX=DyfNQ6jP9~LRW_91OhqQvRBXIC!&h=|Or+O^N^?&+CkHg2E2Yu86sR#xPS zh!qhL&fE#UH8vRx2JANwU9C&Do4h+r4%^$HF$p=}Yy2^tQiC^|1B&$AmrCzgY^5q0 zgA~Xb!guAMuG4mX4_zUIe}KWnJ3jbJh;nMS{x*0jOIro$coWB~fPYNk%jBE_h)h#Z z!0H*|e|2QdRsquN1D4k!Xj{x{CvX%)*%Ade6+NeI(KkS`QlX+aL0{z zwceq=!|@TDK4R+;@s)g5&=QgmFn*K-ZhGSj-ay>#dwk;y`m*L1wL4P5_F{h+BCjsL zXEfdc{}1-^(%J4ie9sUr<#e(>9YFO&Y^s6^=c#VYXr-JxAs`JKtGsi-?oIPO4-FzR z>6dL3DkY-?Y^We*0$9EMWkP5SvjH&aQ(pr3;hfPp&$Lgr2PewI+e=J!f0A|7PTT86gg565#?c}2h1E)#{VJ*)eNn9 ztcnD@ztQ$LL~<&kp~-JB$+b6web~s`F96;HsUjXY5l^eaQn4k4s?>kqgV0YwzMC!N zekSFLckdwBGtcUISb6bzU-nrA>3a&t)uS8g(8X_;$4(qMCUqcEjGV1i)CS0WoO!}k zj7eqV3|P49bTu8XzaCdNyYg3o*xu`}=I5h*Bz7*|(xC7}Usuz=P`EZxDu9vav;i66>p`ad#UWBv_3JpiL@mjs`qeMZErs8sY#FcecqsU2B5@S>$!5kgHtb!=W?fV}Xq2whC1y@ASBM zOd(dnV4i8|x8~mmCF!xxVeHI+g2*Yj^fAvtF2`n`=0gWF;Yi(dL`5o+Y{!F()mq2b zNKB!6=n*3KGZFmV6n5-1?O|MGXT;?1g6(aE?;(}hdc#LF(l)%=oi81L-uQw|KRJvs6MY*UcirPExmJSY_7{=T z-#Q3K5Oieh8=MVP3r@J0PEI0hr8}%kFC;zDD*&ixL=!p82sZ#-#3lk+vc4Qll{Kbl zRE_0O;&4>0sr=R~QoxY~Fy@zlJI>Ci^=-Zqpcik{)K}NJvHm?DpAvUK0^mzVMi$A& z4f>9-{43$Qhhj@hm_5jQ9BO;mUSnViIK`YXY`IT-&kpylSJ)kMg}E*Y(Z+QEJgN)q*O z>9y}8rz-D^9FRNPdb%;zk$^htz;!yUckGdi1!CEE6DT0FQRjcP==BI$uk%7MGwte- zKJr$`KIa30zGJ6Z1MN#~dJDf#A_3!DMvw!5MPZD5)tRrC_~kD7-Had61d(^P4n)lj z1AEi7gDM?CHu9djh{#J9)TXG#XTv!(fE5yfR;VZdqs9$;hK*K4QzbRoRr62-#oFQA zN19cAuk#v!AA$Ju(?dJWHsJF2`i(=CI~{ixsw>=G_E})q@1W=_Hax{eh$1G5|5mmT z*6N|jGgUaI8m9fk##t1!Dc++eL{g=|;-y8EUxRny#WuiN(6YLMw?e>fjclNMr4TZ)VMbb&Fb$bozbiYOD@e%0n&5rToAIe)Ku*)^ zVJR0e~;B8VLRs!gkX$0WXV1C zG(5Y)h8h(Lg)N*@0hH9)6f`Yvj%E#ab$H)_zJusAbD+JzWSMWE0oH>4Xm`SI5O1LE zkvr9vk}0=0_jWgUXQcVh0)oH{J#BZRb?)1n6^$q-=b0aI5Rx^b52nG>6F4tz@3j^2 zKHGN)&FLMd1ZLfO4%=Vs&9d=^AQe}7XI&)2TUF=^n)emQj^$?djk7;1YQ5r{9=2qLGeH?p)7>Q2Li%mR(2mD!wh(fX0#X!QQ5v!m5S{1iGrls}pk;Z9z?oxvUkXDcc z7=kr=UZe&KTWvaR)wNgp)oG#`iyFG9olQZ>iYa*KCeSF2WP%hTOJwB3&9)G4oz9Ko zW)km=hyLT37JdWoZvs7}v9kzdSpEW_@V{{p77D1&vC0&;Ea)}0(u6HT!>Bw~9w5WRrYGOc^T8Oqf8xE=rOC?~th4;VR zZJ^Y$n^qXx+t%TGAl9}ZSpZn-Q=Ms4=SO+9?fit!t$te{{TU6P+u><*L{bggA&9}V z;t*h^`cFIR5cDPVR&TvZco*Gi98|eK51lNnd=V~({y(fxtMEOF(9yp~WUK3ODtK9c zt3pqt*t1L-(dSwdQC5XoIaP5V3rm_KfRPw;zD0cq+c7utT$bY#3LB%x0zi@6Y3fpx zm4;5@{_7wswqBZq^^RMU6b zQX4pssh`ea*@0ijxn04Mh!~Fc7<)0ldrI1xP>`Usu7IzU}IGd=Tk1*X{;`C ze|60vRQd6`mSq%GW$q630kGaj&_FZKfg)UDBhX-w8*Yr^fsvsKYzT|JxYOK2SoV*w z?j3%sD~x+P74@S$zk8?qPOhpy^)QmB77pbUsteXX2v=QfJGb{x>UkYqpXOQEj_oDV zPSm0fL>+e)$F|NnB2ky~9fKgWT#OiqY&j;+RM%Y{Ryz*$pz81H#2Sms39%jqa2>>+ z&=6~9vJV#nS|0sji=Fma_B{zLadX`=rlkv1mt_Ij0KHw-%bO#N3Y>3H@Sbh=^FeMjNYHQ##Ue+3ylsV&1B2RQg6sCzX+KC%~rA zM>bgIJfj(W+i1LVi_^-yvs8EkfR<5F*2ygF*OfVPssy#T4)@>|DY>p|lkY?Lyr<@0 zZ98v2pL|8JcKZDpx*gvAI)9Sk zAL&hW5gUbjP9#F`BqtYL>IK9NNg01FLuhTOJi-~S4 zt>pMkXgva^T`9-Q)2J9mZ^q`0<`DuIqf46IX?xeczmYc@dBY(#(|VLj@!hazY+0rF z%aSQ7gc>v|1`;LMJ@()IAUjuqw+gFO7+wk8vw*x3uyyQezdRp%KBoSyh$*8#M_UZ} zDg-;vTeek{U|P?01dK|~>fuh-`y8vikX1(4WYULgOtd#nbw;ey zreU(nF0y7nAk|o9c72gu!3)~+{Grl!Mm$QX*%jqWWHq125S9GakkAdHvuA#Qc(4tY z4xT=A#M!ldQ9KzMhQbca)4ffbP0(m1fV56;5qi%oX4T|f-IfAh9;HdlXklYllPS=l z=U@ehY6`n&2~aT-ne?PbAyMb8+c5J*cBmrl6E{S0(3cd{g;IUF(bYC8)IJ)Cr&l^v zA=cjl@aG4;>@0#W-;UF7z%pm?9LjL{y#BZ@@8cRA+kPbAO9mfQWe3gGt2}gJAL-+b znEJzbX*2tOmM#!b)c}I4+EMBIDpz7BUa z=w1f(bwvthO+OA0Nx+Sx^hrmLPy}{YSaLHd8}~@irqR(5;3sW~gC+$4q*-Dbl4cfc z0g`6k&7|I~)3z_ol`#;!=c&TZo|(33dsOn=_Ru~l13VH13^m)tTcXn@X1SB_%qu*)&RSM^Ax4=MA=G~|)BAC<1R4xd zRA6ms%Z)*0=4Q;Z(LwA{v&IPXFvlB>Y=kl?i#y>-38D9NF5M^X$%5PuncO04#;7gz z^3h3^oiu4F%B%GX7YLE8FYniYrAXkrefNmU->9ck|$GX-|)hkvy0Tp3%acK>- z7Hk|n3O?bGUxy2_918_&Eb7&&dszPu414SHFA?Y>%un~<@i3*63N?ccvR}j0u+WwB z;PB8#?Xyv@N;PP^AVuPm<$8k#%>ZS=nT>9QVwR#lvj0s67ShJnmBsc#-L@_ocX;0; zmFNKv<@fAUP+0+ZpKEZ+vH6U9R8@gR6oEdlwam6=?6$F!yN4;Ri^7(n;*e;x9!QiP zmIm7$ZuyQbh_ieo)z^w_s<88w)w_Ntc?j|0P80TB}ekdGo6f zehgf{Oyj7p*;d^k&Y>w(Yjb@a+ZP;D((&{P{r(R8e_T)}0e7KUtt?^eoJ0YoN>Db_ zG@^0RBM1X&QNW8FkiWqO=|55k5`Wy;A$x_e|D zP6yTS{QGY3-OwquJH4D$yGbpI{p}RAr@HSu!Jr;tQL_YuF0`~&jjl;>ZYxT?vcWEf znWx8IO_g<9uZIFew)>@DT=!X8^f_*i0~j4ox~EOEU>tyh+MZ^*(HYkNHSL^hhsDB8 z+1piOCK?^*s`FQTeM$a8t~=1X<}=9XsX(>SF-p{~x`!yrOd@?OS&d-ndq~L$+}lyb z@fZs~ihPxeY=x|_Y9|D23?NcD0V4e$=j)UF)m+trN^wG|KqRI#3s3(bHHP5j>R^?i zs+0wwql$PbKv7n@7DS^1S?|f`2h*tMoqdAG>p|t%CG*KG~>-61)NH{$`{{Uc%?f>PYPj6;As4|ZKf&nm5 zNKZvK&wGA^YmEOHb=Lmp$Ipv>ui7&uWZB{1tQ!ALA*AnIfveD6W!M!tew<&Kxk|`t z05jrh<$H#-KOC6ba-W_dq`kslBf%{*);)gL;T~5(+|we3JboBFL!gD8E<`A4p;x3( zP3>E`EF~h0tc0;XFe>a-uwvX`0^vC>SvsatCj}5(kXH)NNzlhYsaU=XGrwq^JNTa< zTaVglM%pjj+s*EDbdaKJ8*ggxuN%F0b&J|7Mf3s1t^h2J$UK5ENRG&LS_*I~lE_6Q zQ09V|Kg5y2IY-z%_64xn^0x$Nsr*D~sB`}kq)_z>_#g2elja);(%HGw!7I`nulRtG z6Q!MASxlx5sOF#nQl(J5?-K&QXbsX0BW zb+4xez^*avS-XbtVoJmc{+T^mgvVe7=s3<5WZm;LmWX^@x{C_F?n+vyU*|$R`1#9F z4$6L9gaoY6Eq8S9=2C}u+V*4f-Vyc%OPbkTfM=jimH{)PD;PO|fZespU>3B+P|uAw zzq4tgMu3?fF{zW;shQKGvhvUT9g$!@vPNyWuj|NJFB!l*#!6mb&fj5kCGh(I{@^g@ zbd-C`llj_hJmF#BdhfMOl!|4yOK6j=8~$GMKpjLdPnj)a5Lf z)DV)IUPOdo?aZYwJqO0f$Jou$%wbd%1S4U6j~oD;=okBr$VF?(BoM$R6X3t#=FLe_ z*6!BY-JAlqx2Qp7qVDO%x1D_X=;@>qljI-B#ngSDm7fuK?SMMFNhdQv4ewc4o{=M- zeEzD_;vg_Dn(%0s%EuW?Y96?nB7_q36A1=#UB9m`{Y5nTh@#bSvO9gk%k2)YH0$l zK@hB4tvSW7m7-owwo} zAyq43S_;aFM~WK7<@a^{n@i*MTlhP_`1)svQmkHXMy5@*TUIEnI#V%wO~n^Mst;vX z$wy#iE6IFi=_QE)R~WE!l;XHP2CRc@`EWXf4`z`v&_ObD1(+Z=nt9}2b+Fw#w1E~W z!-36cy9;mIJ{(day6qe^sVbim0+Zqz>woni0;vKRjDq(B;#DvJ@Hhp&j!^w72v^I8 z5-N)gbh`Ub`#%c#u)^W&z&i81h7^13NpV7W*ft$nNOgWVt@>hu5HNF{21+fcw~pbu z$Z+l3w3V*x>{@f?9VB8-su$Pu0)~H-2pdPQlx^g+5rpNz2(?hk9RCM$^>>#pM{~hGWXS<76*I|;7@>cB7VEARPLBDi{+(+ z>$+?krjV^;J|)Ek{E)<7FuZd`jp?~sWht&m>sPaynU_W!6$N51W%NWin1*cx9c~_v zUWgQa2##wL(fXdrSTcEv2kF1;N&?ZmB{HpySq5t|Z)DZQ!tDcSH|edb`%c_GhV99B zi@d6lL)8GF?ctot#3%_FVj^Ue73v)gy5bnpE2q->E-&x&XeSK!?q}e79<3AglR|Y7 z4mHbV19o!RZ|TES|5tidg|S}9%;%k5?&|TqIDdPLVjKBYLjqxTo9lr?Xcq23&d_zd zIT>LCZEzfQ(k3;ZWonu+yQGYuT9Er`9U0pX=F+8=`cHP$OqdI7e~@NaCWLO*navZz=S#hxrV2fKBWWh>h0*hG^7Z=sgo zU{M-7N~c)2$Uaq6Dqu1Iw!8U?kT}s0mu;O3UFSsjU!TxfEq^8i*WVsJ?T_u5u)Y%N zm)_BVwiZ;BsI`#V`8+9`jsWhkPNztVil}K$nEOAw?{gcZ;Mys_*R|HMJ}f#K$S&kc zAJca|WD3C(7)6c&vf5)f)G|a@Vy_&Cb)R{j)kA-L-b7EQ)9Id<>+(Ezay~|_sMuu( zd}naOKLTp&u_Mb^JVU2Ruqc24?k&c%8=8zvspWZ{P`ik2Fbz1!`zwMRbWIgvO##VJ z{bz=K4kTK(*4no!l&-?GwwIb;^5hRB{7wz<&$5jK)95#mUaHF*ku+8XO@bGYZvt~UwdE4Dt!qj)dccLXb!27I41wr+F8Qt-( zy#J@)A5hgryAra`{(Y17o&X2ayf}HGJPJvS46NsK)Dk`@QAnX$bV)_t#8s#sAg)fr zxz2r}MsYbmc)W*aufj6pOWqv1S;pD*RXJG4>fo|DgRtPPCh6(%EgOCyre}Wr{fI&n z_Kq}Ci%lR)o2)nEySd5C4YrZadnxB2OEku6=&D2l7;L~Ojuiu0Hp?D-nTSNRH6$EE zwfBsYYAJJWz(|gAL%h=sSkNpM=k*ktt8;2CZ8DvDQ+SIJum3kL^|TtJ$4%e3*~R$} z?efjj>G$6B4Eavn!8ivkKa z_@HG#xo}9C4JYz1x)Nx6gOhTL%4-hb=El8fS_C?G5<4OeU?;XlcLO)0N2Z7|Dy9Sa zq}tsg8{VT3&Dyv}w0a)tCy4dj>M6Xp?=!)AK1Qeg`)S{0X+0j7Yhj;xRZFOj89f{{ z#TQ-A&r@O#VA>TUj%QXMkvO=dX9T-$3;NWs(@tmDS|h8#;;{3^TAR1q=Q^*h0VAqZ zjHNa_tYJ|lR%@_9(4X?&4~vN^ZeZXD0AR1zV;Kup%B*lO6(+F~oS9Cv+{aNrg@Cw| z+{x|DT5o_8v<~%ni-KNdx#AhDSGprBeU#oE=Hd-Ok%}Uji-61A*#S8C>s+Ha1(D>fxtJjs+ zo6qfs-+%psPW+p+pNthn0cilH;EXr0&}Q{-lK1C#_LRDctW!~G5$Na{o6rYmZ6g7T z=-v*ZQw%$eiklZ!c?(OIyMxUlH9D19%DWl}Y-GIq0-A@DDRZOt%v8lr$@j1gYpyMZCOlm_b-2J8>Tvz-{HEl`2Zr|Z_FE$E zI70Zb!YH&w%caI7*a()>Kmg&WLKgeevM@x@@+M9qFoKs#08Np7Cc@WZQW*{A8MYd) z6i5#_3CPW0euHDDn(1v&-RC zuSw2$Gr`fLjHp)I>vN$~<@OHXuVYf@ zuiJYw{TsB0NU2qtUUh`aex($xiprvEf4Nhc0LJG&SpX^_2Thvi!O^u$%dfnA2OWvP;|nnUSsv-}o$Yxy1^4ht`aEFX+)?r}e4wk{PB(!9~?CyKT%ojt0t|=27qu?FPFwM#)=)SwoQVg>DUClQkN)Ao%x< zX1)R8z%qyt3FY13-QasTo~l%Jx5Hvu=t3*%JwBoF`7C6vw&C>qy5CivfI=4M>s_6v zj;X(w0(H68_|Bme4-$N$)ru@V9=>$E5bTO%pS9}KK+X#~Ms1gzLZHnOlpW3xo>~`- zbzIJG&N0_3k7Iq2m-G;-y4+iQF0F?19^$mD02q|n0OgUu&~9uGBuuV>fB*m>07*na zRAJ3PikT>D_IH;Ahj)awHf;(F6<=v6Ha1xpX(@F@fZPqi>E2TGR&B1BuhA9PvI>Z! z22`p0jQ}V>*S`^VUgb*Gxcm~1u~;q9RG2FWHNE;sS@C}o__a&9v_82jXz)|EqBe|2 zI0W}syg&{AW$4!X?Ke8`<;oZ-m~c3~jf}jxVuuZeSvfU$DPa>zrxVi*P+r2al~*Q; zM!?Nsh*av0OwXeT=Mc6KWG1?V&2~~d8urM?5_~&p@4|~&Ya|=28POUI?QSlUHkvgH zJ8JVntT^OCEnBHght+rqi=XOfw)dXsd(-h5s$Gwn0%NcM zq~o&}7BfIa4=vo#HAm_A_i*hvMq^(YBWP2 z-x7tS!6o$`j{SxZf=VQ7spB;fZaYVbA|-_}UL%G+H=RoHyK?wAY^#>0=Qc*02LxKT zQk6}K(l{4Y9~n4=@ah0kKmYp{n$>bR5a+WKuX@Zy2fl89e(+1L ze@@_YBG$#~kLpyFmY(MY^FhM$fofq45St@2 z=uY|v5URf=cB6sZXuhREjdA?$MstHT65eU|UDC&xtS>U$X!Zhcn~~q^ZSxEYAga>p zQ2SS;kv%^MyZ2DzSvaoW3wfSZ|0`tq-m-f2$e$ha-nK+_rFoVHQUGn{B#oU5!Cswo z*14VncOux77@Fq-qC}FF`dm_U$Ah;Z{uXU(4OYm-zUG`gdlv>b^Kjbqt;aWUG0QOK z7I9oC2GwdgizQs`0MHXwBt5#T(nsHEyM!+F9wBjfXV$pz;wQCn*hwePw30nimy4dsv zxY2GK?ZwS+FqehR^xk!}ky70obu+_@jNX9F$QO82Q=j(JQvD0fmS9{T$JO*$-|egY zcySDH6t=7CkJCQq+`z{YsDrAwDqkphuTsz)CLv!pAAr7TW;i%!y0b*zAd^3+q|wB52ay98{BF$;;iIFM@y zOJ-I%9R%hImTH`9E*d?%r&v3N1gCUI$c@C zEy_W51ZM={C^MKEf)ZjhxNiUi_B-f?)Rg$uK((uh>{PeNO|gH-O6N!ll-WWHFuD{aCj}IFw$fNeXTn(}kqw55 zsZTB`LuiHo?jRaS?~#J4O2!uu3chMU@s;khVMa#*7)Z2Gs3A4bK?>sxS&j9?j z^Z3spfBMU}+8z+-6U*E=M{;DnP{a8Ff*V_&It6gAfi^39blcFOu68~LS~&{6I!D; zFbzxLEN-H2&aKhRP9%Ny-~#qLkgGf1x>QM4E?Qr_{Z}aQs$C()Rj{2==o#(SEVvSQ z=WS<%`Y9xOCE%|xL=8VGBjj?C^?GYR4)+^qj{*ELd_9F|qSEssz*S(5K3xdX)AdN8 zvXGv=`4FIeo`UrnEl3noz9Af0m^Z&%kU$D+GPuoI5tNqE(&;Av-jWXZk<5hIl&dq7 z{3!%=4+bGy-sP5Bo0;&EPoNUIPlTLY0ABpJL>3l3BW3_SE#g7a54q8=XpF; z{NSwSpp5%$Yy5{*=c23P=TyvK!wUUM~PiEavO#mQ;r_$Jz^&KHZBvg@sH-?~fjwqWzumCn1 zy+VO9yI&gr8TA_PwC3Q=Y3iij2z*KI6f7dQ=>|4NvS}(`ge6-`FVBjjVbj6Yy!BD5HJ!=u0K_fG-*+W8@kCvx>@ zp9#%pu;6R7ryj|NYmasD({IT)Z6baH!oNqw0e7UAGr6eDNC+WQ?Zzr6M6zmxlLdJb$^iBK|vqU_p+Tf(wdEz_9Q&seMDz8yKZ}SuFJ>u z-00sW3f1P z1?)<@X!dgEDxH3fTI$0|l%}(Kk1@eYA=_!7sgjR75!3Sq~sYN=(MMM%Dx$Hc(?3 zw9CF4D00N~3!~zxsl(LAYDq;-)|$fMoa)0PX(${1N7`L*12Pc`osqY(x!8>G8`vC! zmj^T8WeYGWN?ou<*tVN*xt5iOHf!uDLo6}(VwUb1glkO6TzG_Du*UP?vc^dTlfbANMYvB zYU=1|E)I_N6kar7Ba<;fg!v&y&Z?w)#P8R_Z;`$a!C_6}J_2!$6$2RPGtu|MIG5Av zkbxib*gJqzH)&sIwtj{7Nr8GssDtF79Gq{lGXU_#XRrS+fM4$zY~zZ*a0IFZ z=9^G_5ldA+yop)vOl8|CBYLVQIVHW&?^ux|9(hz|6*8q*rvGyf+LSpw%K1eC6&h;A zryK0WNfWo;!Tlch@x5ljO}!gn&?ef842`s#%mvVgP>tlUfjFoa8Qg(e6s6Ez@!~f| ze%7?7)>AqQp8C6@Lf}zIuKSb_Jqz6Pd9RMY`hF$+o*jSn?~JOi?s2_;Ou2VZpq@CPgxKL^RZv9oU2{6P*sJ;jsnMnij~H z3;N_t_gCXF3-TS&=qfm|d|rS19{~K(VP<_*M0yw6iXVunq(0>U8z+9R=$OwilGP_y@tP(>~BFJXpbubwWV;(> z(o1(2hahDmao6Q?_MTu`f4_QcXCZh#A8~z7;Boe>*Ek`@!?yLieUn3Y%sOYDqzsE66CzOu82%eJ}R-@nkww9tm>*k!j2>ju|23zC0GgXLQ|wVvQ!@3 z!GV)3onf5_U23-tgc*1<(pv+1(zYD1W^fCm7&in9fCQ4*kNpm8vUW?d|E;_C{g@oZ z6hgIS06;scpI`NnoKb7F9Y-~M-S@ohn+k8>d9oJaeI$B?uCH!yIkwdP)qeWW7hra_ z?4Y%-ulD9h-VY=myS%>e$TiLL6X1GZgWSLDaA@PZ6J+pAVWN@7CYqDh0JBcHk|9V| zX&@n^#`<8Z!UPqE6AZxzQQMf=0`~A#H0y_ar4Xkk2V@v2pl)EM7ASt|iZ+XV17uh@ zj_UlX;;&L^6|nyYE-IHEN9nt3k7!SebUNdL1@etIQP*$ePuo8K>{TFs9hDq*K9HbC z<&bN_5OVTUi$G|j%Nh2T3qS>do3fyoA>aVRZR8_Oge?MraEgYV-XRBJ<_H#GXY)!m z=<-_zr7)7LY#I6FW<)chiPjA2JDqz3RNrLHjl4x9VZX^79R@>B^*)5Bk?!+_Y$OY< z-U<_+9upn~U76m_C~|G*aMfzh1o3*EE1|gV^X%BGzMdnu*1j#ru4r&o@z(`rc=p#t z=deg97nG12c~tzFPP4F1o`vbs#~A@t+c_N98sk!2{o3!O{U5ImV6PmyBD)Ff;x0)$ z)E%OWZU8mHT#Mq=j1icfDD#dmYcg#7@kUwnpdrmwRtnkv>3s8r|su9Cfm;lYJdLA zuO9*YEdl>gArvLSD;<3HuRQ!vPcg!%VSU@k=xH`@=Cz20;Qk6ukFg4{wYMdZX>RRDwf}$9edt(M#!gja5w=6 zn60#3g0>Hwt?wP-)k+j9~3}$#o^C=*UpB5@K78 znMG!f3PG(z(IphusvD~6@E7Z#JuGM6aT_+&gY~C=Jy4o2+Rxzz zKL70XKM?p|2>b*<36{x2i`vD7UgxY1B1nawZY4xfbgSgd5is<0Moj~I(Lc&&ROmOv za))Ur(5bY!Itfb!D^^{XdmBk1qFjW*40OwE{}T8@!v~mQr?Jx?(ed(qUneorUyCCH%NOv5snZoqprC5-0-O3>3&;7aH$4m*x5pOh_&+~)>l05?H z8MY%jY3x*FmoiUIp?Xir7Gf^4>01`HE8N_HsQsicRYg`eAq3=Ik!7tZgQ$XNuLh#A zm+coHP+%ssw|Xxtmnne}x8E_}+qJC8ibTi2VSUHLqyJYiwbjRVT<*TJW{2rl?Tmev z_FeS(^YHxtT?Bn&I-EL)sB{+AhiTJs^%Q`G3Ciu%^I^s-Vzo!l^A1--3S)*abODAP z-V32J>h8EDyTC*3VUVXIY*lb`Z0-aJGa*8$72z*#blxIU@kRz4dL;i1!_>`*t;J2f zc!n45=IohCi0V}oFx9|AYCue3Q0=Tfzb8zugy$-#&gZ;BqGu2NxjjRsz%{ykwv3mk zc;`N}*oNmAonTVgOV63!hcLbF&jT`D?`=J9aYO}{T!iU?Z@O!$`0N2lOHdJ+;jF{n z7KSE!8N>*NKv&vqV~Phq#bIoz(TC7qla&NN+Ymfah@kcOj7TC~s=AU-T0%3xg{JUi zRXIKi(^BheOiIOHLsHjA^WPyOp&lOoUjiYzwug-UwM3WF^vR~5&*Jd;XRm(@;O_&Y zdm%8RPI1|3q)HQ3`F`dUZ|a8^6(GW^PtZcuSK^nL?J0;m(-<2Dr4X({Gtv7_uv55) zDr7_z`!huCC?uMM(lI8=DrF8n(g|84+qRogkln-kU!konZFTK#Y+-}#n^Dao2%x*rO?y*kfX2(G_h*-k$t#Mg82^gB<#uL5fk(mJ1~X6LGZ zou_JLrs|3@8A5ka>7m6Db>f<4AGFv_Pxe_J?=MyR4nPqDy}mv~IK)G+IuV(pOp0}x zyAj&60!uTpWkPl*%_3uz^{$8t4AEq)c&i@SS~&9$(!myaqyu0m_^1X&y(miT#*SGe zz%au}tCZGAcB0B{I=2hcUb=E?>%Pwd6wCL&4d6#L*k4u7JX>{t*3H&w#?$Nb$xi*8 zd;R%mufGrAM=D-hSVdb=o)9=7k_J~Qcx5*4ShpilZmIG4zcK|#V`T<8@&~jWk|=jw zE2#hp=D~W3iE_`(H(}YQN4+XRaO@%Zga{2ZLkm5MB4I|bHFV2FEN!=j9qK!YSzGm#|wQ!Wn6g>v3`?XUq7u$w6PQzY6F%&LuRjolJEp6a`iDn1?k=Oulj1 zSPf)T`8;X6xZ_Utz35SSuhHYE99db}QoG6vM)oJ^Zi6CKPW(v3PN@OxR=$epS|u|f zCUL*+Dv+p>za7^cfi(GVc=L7i`md_K0r&xc-~5!Ax%&OP0{hDrh#Ut z3*^&vR~j;e%!P8%4=u3hU?&Y!I)(6(({!8a%rqFe0OgO!^Gft9`VRsdUWMXL{|AY5Tya^t%e%YX1np-^8-9*$G*MMjR&DJo${K*<=W zn=}ZU5se1!cQhJcl}}}-slz%%Bg{!@+G;D^psQ03(m|%p31RmoZ;XtAZp2FpQ#TSj z=^MZf-rpjJDqA?Dij!Jnl#VGZ2vzla{=M?vS33*OLaFbe+xoYf6wZPdIL@xKkX!dz zRl{fdt^$4ecR;4AZS?^vgPDa)V}2O*d4 zl0%e(dPBDz?B9di8+w<6Z(Sm&7t-F)y8*iQNFcDc-f!JZrhf0zFVGDH?mft`iBx%t zuv&%0S_Can#&MsuotNKgC4B4n)fT&6>nh^yEYw$ob8cMrJDo%MUh$%Tqq68>$6Q2L zYi9inRN1LV`|HwA6$%c)D`kBA5@Pyzk0XExD0B+$Lf;kYPWHdE2NV#<$R=WtuzOIO z!YUx3caj;#1hLXph9(xN^&+{60FjZ>ENrE>d?+^o8KV-{Pgy-(UxN3D7DQ*h7eTq& z%juhdg~Efn4`_gyD#(ZB_kRlDzg?f}I_S?ZA5QyxS3>oeuV@vf=k@oU_FZ)Ti_cyK z;MW2C5vD3$w5Kvg5deCWIav*0^$;7=Ois?%ClSh~C5w2vc*@QM0A@ktH|2TK>9uvp zU8Ebe@A5zl06I*RnIeg$N1R`j!S3l^1CXyG&A=8KzHP|hY8Y=8h;-{_W>7;=rP5{! zAj+@+fK1(5u(~VEwH?vXini9zXJLA^-+9}r67M*wai^K~lx={E&*wg^*C|_OT_$0{ zLB(GvTd`di@1hdW)rm@gCc0evoPE&Z*kk<(u1MNOUpy;3 zD;9ueu)f2(Ct`M(fm^88bOmF8?$KW{b$_xUovkL01v6E!3NIahg~)ma&VrVjxl0pb z;p(h?dc zqIIF=C^lr=GJD4S-|1$QdgT1;m26V*TGox|6x>=qg-Vnykb4N_)=6}7>t>#U-3;8E z*19obx`_=&c9IcM1p;Cxw=@SdBR{yY87DwM(0C6Hk6F`DH=Gj#MmdJrc!p{n^RPZj?E zbSS0mls%Z)ZW`lX<6Rm^c9&r$n`!@wv#rz|*ZT{WO!S9~DdCR+{L1Uw>;39^trO+D zmOJk?drEL24xu84-|*e80&Dx?v)4O-Uj^`gqh8EPB0XQvoJtt4T&j1S$jGSJV^ms= z35uo;?=ic}To5a_r5`EAuo7Jt(gf~Qw-BlTxI;8c+f=}o7YBWlnJ0uWk(&%b{D(!h zUYa`0xy@yJ-$+&^U4jRxii&Ye51Jr{ppiSYbxOeT%s0;$Il?9LpR{7Z$ z`>cSfxqU!?a1x$&S|{rtakQgWyFwr9J|`4-x$hZ$F8i107!IWK_2Sqihh`Z_>vv9c zTi@%qz6jj41?!m0jC;JVB3jPt!sH}&Wwet;Zl8OIMKqeVu*3%PG@8Kf9MMfsr1_zd zdjzUvUlqcb28B#!OPFnlpcnciGBz(gX@1e{Zwt8&g%gr%ZD z3iL28#b5om2x0nmF}9;u=hgpNyIS>sUTs-rmR|6B6*zbFJv+wFvwiW|>l-4P>fZp< z7N%0(nfB4Xtc-J&4Wz()lTu-e-Qvy4+^R^S8Q$L>R3`#eCC+-NHL)ru-71q)uu}OP zTrJUD9ihd8%?#cgXim7%_dW6jxNvJQAWB#dj^xdZTcA&Kqh8!-9(AxbnE4`Dcd385 z_fDoG%gB~|*2Pf;q+rF->#oIAfEGg3S`=l{E_GjY*7B&_HF03ZNKL_t)= zbN$BcD*?Wrf#9+OhJMnE@pDewspKsCe8*Dti_c!)1pI9Re}urKg*gn71HhQVHfL6) zESM7}UW*x$iXiGE&1jta83OrHk-R!q|D;*L(z_{Gm%Mj0?{qTD`g+)|)zQFkT)7ZQ zEx?8z-hVU50N77#`>@$=1ijO|(_dhIvwW2l1p`{AyMZ^FUSw(nHkiG**^7n6;s)af z3qi~I1l5fC;5O>?G#di7UW&7T15a!K0zHMm*tVe8)f10Jz^>cZ{nvIDs{L`>f%un? zDV!_IeTFbuh3W854K&+R)yHxzE%GRZ?G%)e7nL~%^X*7^qzKZeF{?-@rEtqPCnKh8 zzFr+5&8aZuB#`cai~&YzRR6_PNKw`tC{_AZX=8aBDB^S24$SGo%9TO zg`qoWJwemPEEbuF`)1}JETXNpQ27s}jz;2x53|4(&-1)(yp&7ED-q~zQGXc~7*;`h zg-p*vakEW?;;j`aV{t&OtteQ+bTIXp3sab8H_Gfl zRX+OB2ln}PO$Z{0dsS%_@dDvyjLy9}Y4n9w%Too>k`$SW4_S{NpDkf9ujVKD;2 zZ{UdO-jp1eNG$;(pz6*-o2A9YJJeEYr+^({tH2R`TFUXAkw>F&7@+}V{s7^CdaCAs zs?|uIRg156;I{Ra+{Oyk%ZXqLl*Apbj_YYOo7mB?Zwp(3j%`ylwGsDxv5Ld{G75*Sj*=qAE!4^bM9 z#+_s*vJ5nKr7nczUWH{;8a@MpBNs5EMEdNfC&Ih|G*Mn|IqTT^nhG<8VL|Tj>a!4P zIiN;ARB`-Akx^si0Dk{t|M=g(e*Eg*{5h_(=__pi< z{Qj2!ppN!=P^y0GzxdPt^bX-a&sWA6#rxu|?RigzNZ=6rl-krQUn)60z(rb=(6z%Y z=>B^qtlkU3R>*6jVlgseX-5b)nPg1bv)I!>O9OkqtC?{ZWG%pldXT;hot+ju)DBqd zkVML)@0qtw;U``9M5$sYc~ftDnUbYuL^q+|Gr^$73szG=i%=vCYNL=adJ5I(@f_1( zE8WwU=p=VVS>xP)#C|q%lyS-5hgl$xXOu%;>d{}IVnO%lWT~jC&+Bo=bHvdnXV*+f zk|#f*VXd#n0oNQo_niFtf`bHh#klQKRJYAD80C9sZKE z&p&(poWzet*CxSvl$ZukZ)7E(uDVl7b3n1L4>nZVa6?!j+ti!~JHAwCxIvq@k7NOQ@w;*3dVhlvas?Y|5Yw8a9PHs2K z!LFTR2e;tJ(mL_tX6c-&$9{OcOLSFz9_l%(%tn;q7C8~;o`bVXg*ek$6UP*qO=K76 zOH)DFR@2U^{JbLL`9v{7Lf7vrqCFy1CGs3zdG_;pd7Sw@f!T^!1#qE3aT4?k*$F#@ z9i*C72C@EkbTjvd$ zkqQX)OAykjN+5j)smYBTr;13ZEmeJ32`X!|9^Ym`)f&dUA5Ler|x|{9w)>ecL+a{ z03Sd|e254_%1r)Nz90}1@Bv5=k&uw+Nl1YF4uoLGu@l?z>$W{MGd=xo)!B;=d!JKv z>)rRdd#15gObDD~kpeZ#v-GSjW3p)CH;2SVHxAxP8b&N&RQMdN6<2WRDd-qe@=56 zeXW0amIW5p*|}SQTdP&+n;mc02sYN45D+EFBg=DqHjdlVN#mNX1EW(z3}h)$cu!72 zEHt!*paEvI!Y)u{M3h-4LAXbONoU64`-KQ_q#L?nz)GQ4ovKQ0R|V)b0msdJ_WV+c zhbIXZt(K?I$^1$~WuIocw*PcJU;h?9W_#s!+nJ?^m$OzcVBT8E+jbl6548LE?2-PO zf@yE>e(Cy;LHrtkCC}By)4Efo`c&Ikmf*TP^0WlfYc>2!zOo0}pnL;PWs*RY7G(NX z&7ll}rCr-FxT}kzYPuZ8u>S;;86z7?N|6;y`FRVop%A4uv#2oy9zZ*gW(%jVR)g<& zgoOwjprkU41ONcHqU%PuarJ}lzCW`7w^>-*?W&Q-Vs;E!Z70z!&;%``J z4C~F(^4?OgwoCsr&@8t(p?SwHTBQx>DNEz~&9n6EH|Oybv4ie8JYY&fTe%{8G?C}qvG8m@`_;r+h;>+AXYzvC6Q`yl6q;pnb4&&NRR z$f)cc?w;qu_W7F@-QJD>&fNvCX?yg=>#qa&_lQyoK!9iWWHLvi7^+eu4HP`1g>-sK zJc-j!n(3=uu?N5?09XV}!LyIvvSyD(fpc~l7n9;Uc@X-Oy<&_AzPT{Lqj+^`EOG8M zBdy4afjk&dL*b7GYNFX8){8Wz)_{i#A-Juk8r1?r_Kz#2>0oC4-?11wxL%d0jZsM) z&3G`{hSWbeuedN=JHU|8v6#Al8t0?O0X1eszPkw0U7%%C!@e)|cfqKwdtlE>ID5Yt z!siy~_!po#`e)B};`Z3XYL+C%vzP#|$bI8e?u%@n2C*3cs0=c(MnJgw-T4qR%awG_ney*r!3RX%1DKQ??LKipNOx*6aN`ig|Ypl8UruCB1R$gh| z)D0a9S*Zdz3Hle;^Y#D1D@KT|U*XbsFWt#~JM95?|JkN>!H=^}IljE-B(?ecW1{*G zt37(_`U#?9;*%U2XF1(DV0$Px7ry9OB*`mDxwo)WNuao=v>#(Ys;}$>F9v5HU~$Y) z4iI{wKSHodk|EXtg-t_1FO%GgSCF%o7%pbnlu;Dusj4YojrNFVrIwgpKR?@5}mrrs^~V=Qtb|Yi@+TP+Sp;BMwp=a6Gr<;y0zFDl%hj{EN(6R@U>Sg1#ZIajiUr8#YXCrreZ86? zQfz^mr_3PR3sGTYYqjRmKZzd^v))m!)U(FYeM!~i_J&28{!y?8-e90BNc&1FdjL?X z@WYC<04mk2#N&o;fD5R`hGcdC5RE1&9XwPA=6u>yA;gz*5kaFwvai=a&CjDbFLR-5mu0RH*)eEt2+)O+Rd(GR%q_@$8hlBs)_75W0d z;LH}e%Z%n7U^*<@J@~%n?a^D;%cHlh|1*UDi8%9Zp|I7d5xS7lI(S04s;feErhu=e zO@>Y=q9kwCZSW+~tF=aLP!V8@G%0iV;V8;yy|*kf7$e*?a|(wQX>Orf8NG)% zHS*X7O*9?dY*P4Grw9V;0JG98av{?)jndW}z*msqXrnBF10!-j0Ja0*v4q-H2ga@c zwOgc{6x9xDWAs!K-O5Eo{DGBCkl9;=q!u7%J@wT|v~C4gJ4;y5B54T%za~PJ(M-*R;fvM>l2+J(+DxY!PM;kw7>q|wPD-_Q4Sn_wg39vmti-}ia8QyEHdCiF zWY&4om-_h}1Mph_{_VHt>(g_l;V0HU5)|!i=({?3PUoE(f$iTHu}rz&?o+Vj-?v9^ zUH|SoPab}kz%L6pB7&|UP_;?BRy*a&rDO^)7X8vD zPc3|?>Gnq#{M(qQprnc(Jn_H`iy~>AnxK+)vl>{0Y86eCmPXbBI72^Gkf(q#VUi1& z8+fR2U#)EbKt)9OkHxr1UEdQ%ST7aIy`|X^{es4yzSwjJSgQ1QGpqb$<b1C6Bu zbQCoj45EmskXI#Cs%(-bkXXVpoeI4z;YP^lvmb1frA8rnG~-n<^rdWf2ONScwC1>{ z)q7P82Q%vy>l8_{x+;b=aQJU0~ z4d6?pa>H2=mZ!6kM!LnKxF4&7I*V+`{#B8c02Z1W!#c~7)dy1MnQ|(cwV?3yrGI~I zn^D5#;Z8Y^zlaFd2B>P75wR4~h}m_5cPz<#EE0>lx3mv3hs-cI?do6}#nY64 z4MZ7<0#Ifk8mO>;C6DE@NT{jO!cwIeN~a496-~W(g@bf*I-<=@W@L+1hkBkl2zbkz zX^pg+OWt%{{l}6}ihnSHjLjoSU{{VM0ZAjnh8c_@ z6HNizsKN1TX`p08OY$T?1yGhgPNiI!;If#EDoHH4wk??fLrmH|M;E ziXYn2|I&f_vgKoU^b*a^-t}kl_5i!%oxS-H0n=@J_pR$c0r9IKevmiBkfJEvD$M~m z1XI>HMS^O8r6Z*M0t^AU59_p~aJ8jnnm7kSn8sakP$o063(W<%hqY?nP^|~Xh*FH4 z2+Pz`jW}*gwhjU`3&;xcfT*u>G{d14R)cCYv&K?o3~s{!)36kCNz*OV{`z1M#omgn zbb3@JaV*AExPohS5l&`nfG7IrgHmu60jI8`=m~Y6NTNEt%aD<6cEQMYF!O_%8%KJm zBbK_YFV9yWC^f~pBbMr1T?0VM?{R#;_09Sc0IXuLn)kS4@zw^JGBDTGy-K(eWTd%L z7Rr(So!}J%a9UJzP`96x-endeA($g$0uDC^bI}BCg-n2+$B}!)sv%yeb6Gd%uAWQV z{SoPN=?}X1ApM)aT&{l)cSFz*)k6K)2j8x?KSty4{;$M-mBW&(9zNHl`wjcH0$@bM zF5()C5h!yS%&ErUwaN_<=S3zX8X|qQpvmQKP(&WkS`qR)Zwwv5Rw)#caJ_Kw7Xd+3a@CweC`2c{EO9sOfOXN`uQ4kLnFg3e085w`AY=1-gSD8!y z?)$W^S5S;0(HHMSoVL+e;6*Gj(U*`JYfGM70lbB0XuUL~f_Bx3Qxeeqr=#em1IFMf zcX!eO-F-z=#{Hp*hYao+m=r&Za?!yqP$sIx`>!loe*HV`yC>jzi1E?e!|CBm?{n!S zUf9@sMZchS^NAe3zKf>sE$j59?deZfdldDme)F9t55FPcp8~kbOVXvuX5frbX2Xh6 zC`{$x^zn@EKGFe~si?u=twxX{{anGYiDkQGFe;p3CX=U%Dz$)h;<89aOO-6pCL8?9 zI=4u0HArlb2vI1dFiAEN3BaSGW)~n}iMoR>XrXg5`rNC$Q#iy)s>KBF7Ac5`_Lt2_ z3Q80_wCI@NEFm(5SQ+n=0l=fh=c%2HlM9DpSlrt>TGN6C%_5)OJfs3>gdZ~gGCRUy z0_?#ReaU}FtM%jo!mD9MWtDqPM$8UOW`*F8o|}wjpwA97GeAn-ESY{=>$&@$t{oRy zOL*Z0fKHXjr=?k@l?J6P2@$z?OxcuN1xaEDQ3^wAbdv@unmBErVtvqdwnqLx+TDyx4GBuzoaCA-zTtfu>H%&j(Y2DFNVM7Q8Vt3-DXLRW`O)J6NQ&9<0az z43iDuhy}LLVg@j?-1;SThF0B*tI5{NHWB6j+hqwE@yS9z7SIUePlD?3lm%M?3V~y}fhC3!nWc zE%`6Cx1T)xI{caA{C?W?%c8J^JxL8Ie?zn*vxQQF z1~5R2f_}8Fu{!@WELRCUxfJ=lk#9d4c?xSAB%L5{JlvCcssd0B7J&T0;(iPs2e)pA zY4dOiCwjPD55}7A00dVSW4{dK1!y7jv4E}<5qZbKFtzl%BdJ(n-3}!<+S(5iLs=OQ zbkb5pT0M%-4wBV@LPyOxKOq3rAXFJFKU)O-_VxVu%bQ!cUB_suK0 z0&dNZ(zd30J^N26#*1(hQ$i#jjBWhy{RIhxx=hx*^hKVxS(TJ zOlhHfwT87EC{-SoY^HI$QBhm7Spg?AwPX<-3pJ@|cG+ZQ2#MJ?9`~0ed`UA~;K$NY08!#T0_hEmIFi17a^Fomm0gK{$rU>ApmRg5TPuuTyRWjr1xAXNWzyiNj&^}>9; zTItGS>1(NP0{G4A`EeH$+O|&=Og~Dy#pZ9lwdH+a`eU-pzpuUf z*7Y+0zw!2yhkpj(pQN=KOq{$%E{p;`0KyU169Kn$=&(Y9Kpgy?{7BVLj#aYrE zGPOJf*TA|P;24C_fz%|i2+A}>_NoNyQa&tBf`Y&rIjB<0-(OTT$M{IUdZ)+*`#(OV zg|8Z!P_^O*)4dT^rYjy-mSs&$!h+E6?OLW=qwXZ=_pj&2f3_L+djNfHfOOw>wqLaU z2Os0?dB^MC?-^~1eWR^!;YGmo6Yxd6?(N;TuD=D~S3!IwQ1JX(cMC&dv4yya4gcz< zsK`je0Wi3zKqeAM08-7W`)Z-kF@=Hjk)Z@{aTXKk7LpgGL8U23{sziG)e@3)9?k`t z6Ix(gHl?1ORwHOdUw~;MCnNl3&8SHb!y#aQJVd%np!-`Vqfa!Sj5wMp|E0traWrcs zUWam227rX18BJ!HTp&M~xjl7*uY$H)&IJoST_3DUvL zG67Bo_%U6na|W-D7WG&Q%t^z+)*BYWD`2&V@?!AYc{{4Grkk%@{6-v{ymZl7#^itrt`kNmY4XGZJ7-4+rRYW;nyhq zV+cQ?U~dZRQa{`P-AZ++&yaMljYpT#E6YfQw~X`$GoYul0-N-$@Vn8YvZWO@0Cb@i zazRAkWg=&&m_emLCYHHLX6(rbDn|DfpwugtdYHv>irxSiG)<(Lwa(=!;p^rU_e=rAx0_x4eq+4~yS~Me6K(&peX@IbKljw2r;y3ha zVIVDP6QYt{3-GixTp4v0MYVm2TSbM!K}v7Ots^4aOJK2le~hTVA~S=Wm@f3yC+5XQ zr2_-_B26;ztD?k!3T>xm2<_Cj_c60w^C1s5z0G&bibkBv(1lDd-SDi0r>LUk01Uy0#tvFVU2`E8S6=B zEZrm9(=yj3KI=rnpk!iQLMwo{m__NP0Yiq6-wRM>&wPP*Vs{>&J^30c1&+pu=zB15 z971toiL6StMKTL6tr^u?8_ zpg{8=&o>t$vq@G-om^JUw7BzV#evA5UnG65%)MiDCPCLWddIdiv2EM7ZQI5jCllMo z#1l+xXJVTZ+t$hRe&<{3J7+!T|LI=4x_@-ls$E^Hs;+DA+J#Av`rFE9DZJB$8y#(C zEf&lX{og<{;*>%ksL9J_(9Hk^N4@-jZ%m)raUh}Ez&{7H;@~~HB54ks4>G5l>n8$e zwKEcBXF1dcc?g`ckn%SrtgsRie1tSumB4LnVtzf!dbd7qyYZaN7uHz2XD=QQ# z@~|w;a^6HZpkve0=d<(M6vCA8uDC%Dfqjq3;cEWfg@DK#RUJpLiZA7*wq<(SD=*W* znP=OV%vy(GdpF4ScZ}_T=U=gRFWxa33n?TA`xf#JLD$vBL%l16Fmtx zSm5>+-X!`0;I^j5m$xiI#Ioq(ZOCG|0Px!`{H>Qy;5d~3Ca}Kz`zxk9)ayyRg0S(d zBd*Eb{c9Ck(m?35BW~=?uS&4&Vv|unkg&J7g;4Mv2l@-pdxU~%TWE~QvP0%(VA7&z zqC%UpIFH1O)Sen_wf*t?TvZW(FQIa2gFgtTX-JACgh40diq!ALyu((U2E!1si0b@X zv{VPOjj9O!53Ey#j3gKn&f*kJNGMo+Er;6|GN4Y3NSvJHy|A0iYD}iu^;wV|hrJ_% zCD=uH5lB&qt21t+hV;`rS%zv2ELw8&(3JXk{B=L@_574P69xd4MCmCwb6(QXM{4gV z2)S$Ms?@e2BDPP*JRrr`CxDD>-8uq2;Z6t*l2C*N_pz!DL2=vzkhNfi2GG`f$t=1( zDF}GA#icQW!k@{Vr&+xRdwIN{Je=I@Jruj^c3v(WM>hwM0~H@NH)dNNT$#uUYrZ;u z7sp<>{np)S4EOAD`}p26B;I>P1P2Z)s!1hAXVO2|NLQt7!J(19PwW4Z4?=%GY zg1$wW5#=&^D4xuT?pUtDsv}2~x<(uX;nrMU&65}x7B=qT4R4K@pJ##I6QoUwi~nhi z`ZwJj9Z%$Xf2q72&s<)OaiJzl3ZHao>TfyJ5T9QhUPX<(ZBOH%sRNi;*dl`zzjngY zNd2T+o$K4K(LUYN0Hhh^+R~gTbSt_bGFL{aVQMq9LrE>{hZ206`z_sA&CDW%S_6$W z6P?IV+58-OFb&AeE~^AIGYgssB!?H&b?p|R5;v^WDW1^VD+)B^@|S;)|FteJ(?wtl zZ6RUoqxAZ6`l~{^KK}CyNkOZ3nSXd8R z&UgPje~3JXurAEC^abV>q(meWkB9v;3mFqsT}IGaONdxbA3e^Lrj0ReK{^!$T~)&LFz9g|cGgSzECM)J@ZjHR`jye>^HM1w&Oh|eIo)M@l$YKe z*)+6FeZR&T$GLH?MA#}!4eZydni^5pv8?7s*$D7u%gH~ZFA}AB3_I$~auO-E$^a{C zF=ka)OJZ{+>jG^bRT=Ofq6$dD_)K%LEa_TMVYR*v{jPuMz8Zvv!e)3e%))lVK}hCh z)``|4;Tnr6G8CUgdahB&gUqmhnjd_ z@yb50z6$fU$HR&Z)($)aV~XDy=eODdw7xM&WPX@aX-dDWOE)E*#H;lRZeeMbb;>CE z63~RG<*cF_ki3WOmPyovMVtxx;W)Z5)QrAcDpn_#Y!<6Qk&`ua8|YjJycDkn*~}vT zS0LO73d~-+mtfAhUBZ)nX^O`maj3^Q^!4dKvMrh;licZ01J zP0RN>8xmVsn*#Gv8eCYJau#N5p0*iw9Vb3+V`s@k(aBw!0(_#0K|ARZx`atcPVHo` z&VH35RONmCL+DBgEa3EFUIrRKSKA>rE17q@TAcGTL;qgu^9?TsT%&k|V^L8$iOZ;@ z#sqUk?cRbtaP6PBt9fsZZiy~HQ`~2%oh+ZacaE)(jd7|t5$Wgdhq#RrEf9ZVgRc0v zhyspuUYtNSK?%dcIvan9OjgiYP4~DqYeM94pUhR?eh|OOb-Q|rjwg8_sg|Ot+K48j z01bG>cQ>DWH5~%#Zmr>R@pyjqtEH>t$rH@dGP{Q@!{FI>T|~c&u_aC{w?}YYtoN$( zB{S?*d5w`jKngT4WNMWc(PLLT@Dd;8xBP6(R(*LQ4cL-21I_zN`~#TQ1Cb zsOWQ}vgEgNR412{%FxUC^DTFUhd*KNJUCpu_X~YchZP?=LH)bSsS2hl6>=6@bLkv# zO^15c&eKVRa14EX7K)Vih#^zKQUi`Z)!nMyv>k=X=M(d#->0C)p{}~N1&%*w-kA1O zK?(?0Mf`&v=VU)VhO?jEc9w_qK4m5UU4B?zEH)V;5uR}Z{Pw;{zHQK(MnHFh3iW22 zWIW!NfHiCsd022q-B=|x^5iJh)USdKZ0O18vWZ7)XmyP_YlW~Yk3y!u>v(C&_=O%| zbp_gS8847cOH$7Ic!Tmx-KU9{2zG}VS%q@9s@HP7kvACt+R(YcFN2>~SV4~HuYZSr z$sbJid!Vj>T+kdV0D#4-fW>1$7Z*bGfrv?OriRdUOrcgd#K@Gnfyhy??=B<^B4{_4 z-Gv7LimV*LG0~blKqyHOgJ*ye1Lugs;{F193V6fZrP;MqM}L|R7FZ5UsoADj2I1%2&0pro!|tGgFi z&k&hD?ApFg*S@XA`2ermDNllKm>oy3XKS-bLUH4!sZWGJn`3ceFdZ5F4x{rYdt?(T zmxSbvhSnLWb&KW8av8fno!JtMaXK1PE`qv1(tsd!^FZ`GWq1V z8kL@Uyx&&)%0=U(k}{xk-2`qO-rxP7Dr9Dks!j$lrBNhVhm!D~^-8BZK5Xim|Cl54 zQT?H)1FJ#F+N)oJ?bEJ9HQAI9kyROmKR@VKk7}@5bcX<{h}^;e(jdeN_*iDah>GqB zL7t2=Ek5gm_m-#tf=(~K+uh!`bRFHcYk?fJo);=?ac@Wr_V63+S-#`wqf}o*zAuDdn(D<{NP5d7Zk)csCN@WsbosZZZWcxsd*#cta2WN=~?b?Lf zBgp2acU@sZ=xX2J@XlRqY1MW{iy$c09_OQ=nZ{gM8%(ZJzJGMru{K+czw~C{>$o}B zBNnz<NEAs%B1jOrM$Ax~RXgC%d`nKWBc6kEPG`lQK{xCyvnj$?SZ6 z3_&eVKlXUf3$O>w#xGnB6kxqCGKR`~-VbeVcRZdXJF91}u z@B_Aek9d)2gCd|kdw=jZN@NPB(x{6o+i=ssu%T;L6QLB*N{G}H3RN)A7*%hsm1c@a z4Y?}&=%~qrWjA7dMlZ}I7!VGcp)fs^R>?xiK)&fnT<}a=kMo4_GkABOS zJsmFY>w#-LNA9OX-^K{U*&0Q{6`1T4xqtba2T|0al5IGE=R@!!GqDhH^s3RjTsIhnJ95XB`z`z+Zjv=c*=oKsiu3#mckj@_r9EAAUSKbW2c6_Q*oUxofkAtb}X3^FI zZ%p2{qvWSozuMmP0jhxVmN^M;--u|ace{!&%_Rc=8y{h+%D}taD*->EU0I^;(Q>;e zIdyna_8OAm6};#JDKedd!5N_9^~*1D|%Y0o{NdII=Q1(7GA{TD*pz42*Qp z_u>7)LydSp@yLgC;DguTmqa5EmPM9ff*MGSisY|VMJw2C^!Y!8n(%h;)%;M*1x7l%4_!5z{7x>gH_W}+fE!V$ia9p&v4?(H>h90EH13y+nOc$CJ zk@;;YMK59Q2Kik36h2rXPEeS!0v5Qk4=rT|`Y0B>NZD7vOe*x45vBwTuAwyG$ zkoWzNJo+B-s+Si)Nh(XOrE;J*-fw)DZ5xIyFWN2y6!%M=rdJ;s(I!x*^5Q%p%MAc# zFHnKywSC@aV)h3F=4!+%|c1mj$BlnB?*I$s%wttrv@39ZCH#(&A#u84OmD}^~y+Eu5H1qFd2tHwJ zzBydIUe*={{=MBGyzCAz{P`AO?C!t(qPO;Ru5?la6bDw~673~$MRoMIE(o1OPXH2igXlAQari2sJBVt{7Syb127Rb`Z6Xuq2^QgR3#>6^+y%29nB|gfr1Hq;MFFY+e09Ulg0TZ%B*!pLP?kjnWPzTf2TkFNs z?`_{3(2PfgJ9$FcmWk&{i0w;Wxv$Bv3;#TvAKCsbqF4P&?@|}uk0avnZB<=^Q5)XX zzD^*mKGu7@@32RkH5d*2mye#dZqBwTPtsYP3u^K~9oGUuPu6{;ct&P5hLcY?2^-M^uys(uyx6qanwba}PA9r92H}vZrOf`@Y z5ln45K$-IXX?eX$4k)QBxT4p}7` ze5oUAol9ZUgy;qS6Qp80xMpnkQEU|?u48>u_<`YGxU9`V*d45S#m~b-FGs)8xi*atFlc`la}r? z|6k&3fp_}qpv^l@)|r7ze-PJXN4lTUUXAv`uAUSR`H%Hauf+)#J%RR&kF0d@T|>?z z@i=>yU=wRdC7&;ce@o>SSKB4g+YW-SW5O+Oo%ND3Ho%N@Md>jXb+I`Q0F%>7zp9Kt zxikVRF-AFYOW$r5zfD_MzkB_3T5`Y7Gv^leMQg>~p6Pfu9O=SLBSsrKjo8A#*Vr~SK1@~T=LkP@KK@F7_z=0+%FhdzWZt-c1sSYi zw6#4D;8=h1JAa&>>7ut)wC;U4sIhmp5{ zPk(f#&D;rby_G%DZUW5HQu3SVvI2v4fM-!>eh;CksUTAxRKa?!`>qI}rMiikiZQ3d zzFBZR(DEfVs2iVn1EK7rEq^j=osucdQ&+a&t5$Y7z_;(?kz-?GEua-~VMFhWiPiK) zT9X<)UV&WK~X0jh)J?3qH-tpSo4x1F?X2Mr{>ky z9xB;QF~HL8gaN4Dp%NQj+)DTP1I^;z(#Kr#Zb!m5aDHKw02jdaTvV+PtrW8cIl>1r z&$&FsxecPNk3w4)r(3wbS9{QPrct?O;dM_qb7d-ECyA4Sp9E7C4YKyW-ZJTZ59glF z?0IO?VG6%(X?EY@Yvgax;h8PlW6gV&7xH6W{^{sbZ~VSreC^6r*8a5U_YHS^jBlUY z*Zm3~H6y+)Qkkj8Mj-6j@Y|30yXnV>jUAOKml$o9yelhSo40WawCf9SAPqsyjo)oASTY!3l2QlES(bZE!Q~ zNPh&G85DqtON}1_k1yHf?OW+ z*9OR&0iNR#KJ{Hh8CyIjvQe(Szza@~rvTspBK*@x>mNPt?VVe1!}I7BDGbNna~CX6 z!oBX<`mc{{|5veAY_BzsSw|kvY&(hxOsO}slwX${mm9CQZgR-Hff@IuUzloVe^z_M zd-U(8@Dn7p%{=s%>)1@U!IZ|bey-_e3;*s-`JBv?X*YtH=KwS3Z!QC{Je)NIKFhr% ztOc7IgXgKhle0nJws6(}TODhw8I$Z+K`$+`of)$Id8s`9Qky``6BDMbU*@$~KHV-= z=;PXEJ3C|Qu1quMta4#>bYicp<%}n!O6k$KSgkSXNRZwUqzT2VVGJPnHXKm%V}IAX+$akK@+gSD3O1FI8!2rJa^zk zg2oXO3oB7bjldIWNT~KlB4f!W{3{h(!NdYRDN83aHA*K--(c~r-M8Ls-SGg2Z|yq%qwTle|6PIq=>0#n{@;}r z_&+KQVuzl57Nw*hi2#fHpJqdlmJ(C>eoB3d5H#d>+SbiX0|212{>Oyrm9v=RTWzkX zKO)%E^tg58e6_*bGC%bPp57j1Y#>-%2ssg%NQMX(*|a=0aNl?qNU|b^TKrClOhSAs zbB&aY3PFNev_n_`Q9&gDn}S(3?@^ZfJp{DH->v!9Jlw@MJqo<#w6VG#Z3&M%He7mN zG(H+^e|&T;<4}Ly+3G2&q1YxGV7=nY{RW^gLAv?C6C=t`4`GkeyERmmj^>3YRtaIE zU;>0!h1|gsM^F%v-S8K=mXoC##yL}gC_vr8TUa$ip=-vO!j5o+z%U=ADM_X8jaC+k zB$7Yhsl)@IZF_=7dkS|Mf@}G4de^vxhJmASH@lopi)YyB(}>B;Jk*8NGh^aLB1YlF zB+gpV=&J$kn;#7`zL~3wl9)cfsBQzn1>%tmKfl0bnoCWFh4M%%9p@@v@$usfN(WGQ z@Cx@}J8dg|PVfzK|8nI#tq_C6#A%orsirg5NGn+W5Fp7Pd{ZpKWw^R!WJrgc5rJx4 zfm$@2m45lv-t8P+i!}2W+^^k(l!#)|ptwj?N#|~fP(I%_hZ39#Qv2BW@m!)-PZ+Zu zN?0%kF25cAY^%WzzaWgDVMZ79iyefn%# zB(gG!DB6Fbn?IwAc80n;{OOAPn19{ifqZlcFy>OS+$O%cAKlLEg*!#AB-cQmJvq@< zEqymM^0Lf6jxOS(MpB#u#XLHO`ncBho%VJ(eVV4XZpmU&_qY-Ri^frQ#lgQ2+|4<0 zHCWAMz~X=ttGO0g-W1FbC6Exg{*IsC2x`AWHUlvZvuKIOF9+Y&Il55NrAs>Bs<585 zgxd%P{IM^@hnWU&jpKyxXvz|05D<^gO@G92NHy&)Jr)PM0y4UMnU?iK=pHYJ-_@EZNRB-3Zi0QWUwGP1jEU+ihVmx0Qo5@zkjN5cl~cKaYeI`Y6(A&rU8QkrRKz_6jCGllNUj@8#qe8$SHPh3_8A54zYYY>VX| z&@vl}A!+^qVa1>dhy}2sh#<(T?R&u_>y|HkoAtVm9OxK_BN}-lN+EJbF1In=!AYzV=VxDLuHZY$Pw*a7>omSFVR=oj zEcpg!usO1VC!)(PdS@k`*e1C$u|+j#p@FH?EA0cG!QxQ~xNl^&?yx2&Hww*ITLb`M zep7CZ`(sh%na{|XWQ{awh?$v|6p)pBIfLMd$MeBNQQ}!E#JI&y55yI@#mcItBpopl zN@UTlRq?K#E>5QJ{t*cqow|>P-khax8wz)=)xtU;<3CDl4TX%e#W~sXT6kS)I9z)y z07)h0s_Be0O?!^Op9R!zaD%iwd16EhA?j>WJQ2cjaYi#czodWD%+by?5nuX7jJD_U znorj{GBdZ zi}UagVov%61M8(`g&V5dhM&FhXMdR0N7N!YJ@KV5)AWedHwK3hv(9##1-o6yQrV3| zCJ^j}MWVzcdhv&!^k*+Oj!f(Mb*O0FgsS15c=TctdFy%Q5sPE}WFej_Bt<9;x{ zJrBS0S&arI!-;I`LqGie7ePX90N!jYW3o3Rc(FmbiCA&C(|eqWfA~*7RAx6L4AV98 zY3NFk787^U(JU!NojU(14O^?1pVR!caYeKS#^;tOQ|%?$^wCmXlkp(Bl!0G3$rZap z6QnUkFb6%wAFK_XXKquUf(6K)kFK?@=vcUE7Ba?!qKJBqRa~$wG>N~(rDEDJDA-pS zKH!;U6m8;ZZ=uDMH&BGW)DjM{Q=*L4X8Ws+>lcfPO+P`UVje zz3Qt`COrjU==$L`{9+3t`l}D7|Jk$Ge@mdyi-{s!vSfIz~Mg24-Cc80256aAo_|u z7L9yC8Wf1x7ZeMT^yg{qW`fw4UAfec{J^eknM@G|pv3dU>k<})5L2{h@l|3%Q^(0v zo~!VI*Zc&aoIAvMxb_DXA3wY~q<{Dd^q2E-W#8*V6CrR8W6H&iGK}i>Eys{KEeI+& zLBU)?6>N)tfb94dQ0hiIf+)v(E6+G#GWS5dn(r_M(Pn3(@TsBopW-f7u$py&GI#Vn z;_}uYXR5N2uqvzi^9ve*H!hI!c|dwz8Q*q|=M%O3jyl+=0ibVSI1i&ES<}|ps6_v< zT2w4r#OGQna+WImoH}qV_>#LO9O~di!{fmz+;i_YlhPvGsf6vQia7C9W@dI;(Aro= z&SXp)>21`1!i=((`c1_5%(aW7=-t$IbE>(sp|4AvNc=3&$J%wrGEU^~u6PD*;sBM5 z>vLo}+bPj*q?=KlJL>`rhYhAwLln%}i7;J&u*ec@YQ)n_laq1-z?SBf@|E3Y+ zcR#9_XU!v|!wd=crW^`FQ0n=LLY>2Y$UB9g7@OkhZr;_Dw&Sk;E!-9+{|9eYx?W2Bx z`X!VxU*?<&nDSp$ff7GTNS7K|0#rfMY@&+c{I5K_i!Ywq(%} z9Kmbs%fU54z}0d=sB@Gd;qJ7Z62C{*=`+ni{d@|grt<)*Aa!w}Mj5fDtAdG*s+m-e zD3=TB*9@9$WapI#-PrZ+IuDKVQ6itHe-s&KVW0erlDNCgnGvXz?!#$~loAyS70>ag z>c_S480m--bE_#O6`_C#6@J;Wwas#~p;3b!Qsr~hKn)@jtb@G})6Out9G=(p9<20R zN}a2XM&p=H$+j>Q+WSYmkwfR}_u}t^%DkzYTBy=bRYWNVD;SJZ#2+JhWM^80E1-5Z zdkX^txgHBj5(Beci97r&0C;*#y^+~;oXSSDi8#crNwid!rgRIjM3*i({hkLY?%#_< znL^D3FFZSuaG(u)3E@txK_=fRlo=g0C?#js!TtJdeLquQyW#iohWwH|Io60H9KXA< zsiR;((N?sGtqj!%*d?REQn*x8##4!CIRg8oSug-od?g_EattH)yTJ8A9qT?aNw>fJ zRUV=H2bwdv8sfvOfsN9+iy-6{YS3-+&xtpy`K-GZ3U<^pxy@iF53sLd(u^OEUFiWw z)6|p%+AR75`X6^~z@slouo*}DhjUcm4l}m= zmZZh&5uk*bRiN7Z!JS?;g(vKIw+3V(373o+C8r5tV;0Q_qOlYBJ)4^8;zoAri&!PP z_?+2UWT*u#qWy5Y%P}cMlJ&1^jw&~ox#n1{INMIb8Kv9(*246cr||{vp|%>9a&H8Z zZ6@qtQ#nEF0xTYlHC!HPj{Xq7VC+4w)Nizk+|`=6+R81TDFh`ZiEG#@OGzz8I)|FtYh#j3 z1rILjRJ92&4#hOnlAXU9q}Y~}kteG)?<3lZ7Hx$@+@>ad;?*Tub&x~czV;fAYmgXE zz0_%18uV@=+HusPznR5hS;nJu)12Uv8l|!q=s~Zz{k`{jvj&K%+(vi$<;qfoaLT&r zGR7JkGFUe}JQO)x7a|;Ov=nCuU$HeyFM7%2XAxu$w9;mM;zp4r)U)V_a9i;v1xr$v ziwQjHy`$TCU`q7|C;CJEk$2Qrut@6p48`PEG?IhR0~QDEFX$aTqH*|WS^kDF&~^GE z*ocgL_QgN0u1iZ|?!yi$^3=!#{2*t=+4YB|s*tN{EOnrn!1?VZ7T~F6%Md{#be!z) zLy~<4=xcMUYmfWU89R*;!lr|QWqq_ZRow?e*{EqbisKu_@gJc|&#XVMekKS$Cb3TM zbl5K;Yg#QlRpBei>5jYou0Te6UM%|cnhaSi^{u&u9``%D-&8KQ0Z`N~qjw9b@`z3VX>FJuYNxMjfSxI(uQ)geaJmxEO#QO(5_&qQo_uy@}oEU_7QAq1IxGS3tm7)`G zc~1$4kvSL-sKp#L&7@i)>28TxTC7iw&#?|E3#h}DpqfnJeJn!icmSlo#Tc-Jn#Pc- z{>TPo17O~i{QbN3eG*w1tg62XBuP>I_=l&;w`8P@MY^2Pbl_qGS#9gxx4XAkRNKn`**}JI zld?_c6(IM!StPcqn)$iauEEw_?LZMF5tM9Y^IvTS8;l6 zlx4z3GknNFB^RIj8A+ucPeHCmAXdAX`7=taLpA)kulZ^f#KAG3ex(`Tx+4bL`k!Du zr0HH9@&gEcl@@eWsfF>3wWINHwzXXO*(4Hs<0)hXk~6fX10fM9%7HTmr_O~~s6KB0 z?@7p9W)hCJArBY1JQN9XW(9P)&5&u(6A~~sDiuzY*yhgD1>S!o(5!;O^CuAG z!-wl&QjwH6X@6g@Vt9J(!7ps=Jym|l#PqqrotqGLa1q5&fTy1xH0irAREk;brSaRA zU2eUdIBfbz+Rs4eAUSi|+qdAdFKKbccf3s7T`fh+>2~pM$J;4=2$`l>dL#l*(D%pv z8&bvXdggT`b<8q5EkQ+jyxF!G#5}kO7nwp=)ZA`b8gWs9>|DrC=uv}^rg=f9AL)n* zQao+jZOfpMJrd7EV`wT>8W}8u`Xdvs z?Z>+`Pz=q#7Du*cIo|5CC9HvbqP2RUwu&hChJo-Gv$B{F0-?8bi%w8uyA)E=9P{Wn zt0wU#)2J^dNO1KW{1w+B&UU=%C;(>6cIpqQ*(MEj@Zl!-M$dU%cYk6Aq7E!3&EJ4m z9JS?qc)(%OPaX7a}hGH77e9$g*kcd8L&r|rz2^wQ2A$|7TDtwWNx74wqrj_j9 zlC=gebWZ;Ek&6vL)>p`)Ke)IwPS=%BIF@HO-d-W=yZ@z2nN}tm%kHMsOI{ z5rxix4lx_MJD95IoK>T|3oDE(MP4Kv zuoFY7ghz>+aAu5cCp~7{w{SR`@l%8@IA5;GU#8Od@#t(@RZhSAf63=DQXPtycSGJU z_R9C(a&JEoujT%D@)v%r>CBw#u$Z@$4R8VB$uCC~`XWc%LOKTvz-YHPW&Yo_{y*7b5Lmc}`~O0`GJdxe?f($3$IY|t008Xle~4GDu$oNyYI1Rmk-%S- zSIfS47!cr?R&rvT0R`B_#>9yLVl+~lqS;nptFgI>UcxA1i^IZB@NsY|ij*9(G8jx0 z9FvV&C>Kg7IQ9sR#o?syRe*?xA*4NTn#5b2$;Z@n?H1C5VpmHSpavN3W0Wg$loF_|+a8qa zJ~}tcf7r=TKrEEY7sEb5co)eh%JK0hFKftA(Va`hWk3vg0NiEwy@PkRpkl3#4xfSP z(!R|C&v6&FAcO&+8&MA-1{e=Ycm=W#|HykV;e9THCe02`>b9JFCk#(fI$ zEb+oB>jvV4mY^(2+Q?=iwZ+(@&g*3!R|dIA8HvHb=!W3rInn{9QYc3hrox~f4aL_0 z>63hfLxy-`>NMcd-%Ki6M3!~<2Y!hR0V5K&FsQB_CH1YUbLH6+)7)rJ+yLy02k9Y6>Z6-mn`7OLS$VLDw-C~;St6)lu~uz z{dk?|268lWkKtu{DLd5a@1Fd0mtM*_v^fNnH5I9eTqZMbJXaI*owSmM)U|CDo5>IU z9h}TWw8rI6ol3JKt8+Z9BGs%S4z*tST=>!Anb3cm;0CZyEQaelx)ah%zv;S4QX5*y zC9RU}r4|}B-mr|AQzt>!#cZmM>taEVC`U2|-)rG2-f#=Zzl#lQqHhg46gBAU9fdeQeSba25oz z5L3oBQVt?z#7CpBaBmq5?K$=B*^O#cvHDmBym~(qXe<~GqFj$?;oh!L`3~`er;T3o z=m{7J{<3Ifzr!1a{Hd!-HoM+a^Pmr^=b99$KH;-MsL69A)oZ-Gb@W<@k6C) zPVNd|oXDR~U07cwWS=+&85z+mCYxv2du|t2%XIkHhf@Ks1;Ex8vxu+Qq~No08e69m z-~l<804oIJ`6O4##Ql>#onG}<%Dh2C$6NwS*s_QFu3T!hj`3^|yVPN)_7|^w?jO&a zPjN|VYvP`>rK=YF7hveZ%qHz-7dzLFDP`l6a^Q`SiMw%NZ{9T8?*EF)z%Rc2i8WRSw>WD(9q?y*6h}7a z>SdD~3_|r5`H%EDdJn`Lgxt14wgqOAHGQg2k^;Ux{VF`Bt5dH@u8+C-=Ee2q9s{5Q zBGp8(2|*1xs1YzdZJ~0&yBiNvo16?!6C7r{W4cy&bnF+f4A$KK>WFDoP%%vNuMN}9 z$ZNfn<>fNnOU(O9pilXM3wu#vXF}z}Ot{ zD&+o9pVz>?A*ixE{-k!hk}nTmc}8wu>BDr~^(i`rvx*tSSZHL6dVW}=(Kb!V4d5S# zX}KvS;x?m~vV#08fj(-R;jz;+3O?{>*q#s!bm^RQeZ*-!qHxQ9v1tqWi6Y>6Q4Io= z?x`U2LC7|OYyn3J>>_Xr5WMPiT)j%$eD7l!aoM@^q zBHi5fE%eNT5j5Z)yG)SCV*HGnj*%>L?NU3r->%fQD?i5VEPt&=+g#s3Z+eKofK8-C zUg2ju1{kQ6n1rd>8MJ|L5*8wJUK%n514gGUJT zMX<~P%644Bkfa&;p%zyJG@x5PFzW#Z(7?&-WZkGL@A0=*IRl5Y#$F@ZS>FH<4XmUf z2LPsXGAZ^?`lp#8f=~>2O8l=v_CKX*;W?J86w%1(kqkyJm>hy1*cd$~e8I-zsn7ns z#Ge@N&#u)T`Na+Bb6S)JmBHim{%+9O`J$$=q6JwcyM2mrD2zFwyBuqDPLf+-0~czg zKkt!^?eDfG=5<1(=UA7BCL!zs+vE2PhIQ@9s}Sj2!{(<1;|cL7=>nviQt!jU+1eza ztH?MjnK}5sj})fsuYVdag3H7krf-IxcWs^JxOqQoEneP}h(OzP%jCQC)0wth#Ev%O z7))Dv=gZhIrg;1Kbj{STAzDn1?8t7NFm%3~5?D5GOu&2+b@Rbo_ePlNfqy_x2Dvjde_dh!{~i~x{#RTuiO6#EUvPo+cWWvB z4=(scbKD02Ag25;hm3<9TRZb*^^ri^3)iV8%DqgoP@3Ry^i)`62sP+_Lq>D4tw~a6D_%8$73;NxP2;bgyrZ;0%PxjMVboB}I zgafHGQ4Ky?h7PQL$B6cDWTDXC=!w@00};Swqwvfi98Az~5YW>CY|#-$k>N*v3MYH3 z)3)Di3Eu&W`iO$ewDe8f<*yMe!dvk+0|B1bNtWc}+eXCI=l7G2=~N`Hh&liq$CNx*60KL;h_jY`--}CB=V{Y9r}^Fo30#o)V4E&`Gk1 zs)3NgYgAa2m0Okt^mcw3L8Xk+>aaGvHxgap{i7g~ftL>Ef{HCTg)Vw_5n}fQ-4wi` z9V$)d2VSFF@ZJDhl$M6q;rH))QJLy54@e@Z$`IXgglYRvVJF||RtNjunvVS&y?YQi zyJJaEon@vCg4B0Dn>2^=J-jM`H02~y#(nd23^R0$0cgYa<(I9pc5yW21Cai9)+oB# z{TgXA-~;^l0>r>4=5cbM7=F?0!=QO2w1Bp1`FMQfX;6(%`8o}WmQ`J4jE<(3eqwMu zf7EKA34usR7-Y3O@rj;-n6mny`HtSiuURPEo zz%AO<>cs3Ms)v3BDow3_i#M^Cj%8Y~C3Ma=z+2xl&_5pvB;z3pHIpV4YFo;ZFquDx z@zef<2bPL#DNtKvJY_gSf2d~-L5R%P%|dyFS3%IdqxX%_VM(y+ljxoz%fsv8Cvi_K zFSxR@MZ;~|4FBL|-FCotX05WVrn{-44Xykqa%$8b_nZ6xB{&fJDnhuEG(Cw*SZAC& zq7_f@ zBTKx6bz5m#em*D5H#xGCn<3KOmK_7ixfX6X`^9R?L>iJQEG&PB?;n4XoYudh%deqQ zt-oqnX7b%MS80Ey)=}l*lyr1V?4l0x;y?UTc6vHFIB>pCH)o;$?zmEEK~HL~tP60I zJ@|0T_B@UYoLC{Aw(m@0$79{?Rok6F$qreBOb_XGvZ|hnMx| z#Hm5CjVIEP-fMox__Knf^~_Rb=D0QnF|z~-jtv1{nbgAG0W+cIASaO=$#h{GclHJm zYII8S33zl7dA@PgQO(|(T%jjVhl?t^Gua(kBVr(qnMotAPvMii#hYa5FHmH61>H9M zU{`B==+ZV}SRtvsbJ-VBo%&UO4M9gluVq0ho0@ULHa=SfMZy;Cx^Tyut_|Iiw02lb zgW6bXPrTix#4QM0N086zKoq(Ntt4c&qL1Qkl~?E;H}1+dU0+#}l}l00uua^qY166f zCK}{+F@lG=6&-f$(uWLZ9af;6^>In7+#o z3{!N!fr(yKz&V-4up&rZ2!;*$oc_Of|T?L+k0_+guJquZl?Z8pu<8IXdjkn&&ptTuvdFA?te*kDVCtlmU?g3gt;UQd+l?4L58#S2jPC3sT_E-G8w$?0B z_mybx$S?1s$K;!MVb%9x zWXB5CKVoPv?XEdCpDmck|BC2749Ia~>vCchC26-6MwrCX)YhXAqm-A%Pl>&d>_!%K z+iBmn^53uSFFUW=O;s^XgPrjAy6N$bRg?Hr6l~R_iurMay+D=ok}xmRpx_b7n}0=n zsm4Y=D2c`kktnTh5VzbKCu9mNWmHMaY68agG|I-hN4Vmb%a0q)xQbLMi*#*>f&JUpP0~4AuG%h z@N1f#O)h+jL;WDghEr_+@9G~l=$-hItW(y9w5rnHJt>W2X|VE#`5{Mb{1DpM73FSS ze~M-@{`1=vIAU#t*P{D0CS*R)-(X2bqFgh2bjUR3Z$*$|Xh&fQ@^-6mJZvX+a>`KL zB=h(>g(Z6A7x5K`) z(W3B*JN z@dL9&pKc3I-iZra>_VSUF>;$cf>#4!mqfpX6nv7mO41%+=#Z13GMr3ADX$Efr5W8$ zMu{WsWn)=^U+G$09&=B+ey3gFF_~!5=Ml{J34XHB#-lWZV5uv|PNMw~j_1m5&`e1V zFW)b9Y-snBGH_qC#JzR*GQFX{@T!d$C+We;gX2mHwYIfJIo7Joszgd;Z55Vfp3KQA z%JE6;o!LPT>pk+{T=B3UTyiWE2N3{TOgn)mUohrc*C$E!M==c9>)oXd4VGF9!v$$j zbjnL<2|Ha6qAcHbx~W`>T2DT$Za4rcQt3F>fStG}rpzBxRdsfYvrX;m%Q$LMv%hJ=KzvdW!^pm^Vx^7dbqurz-V>p)U&a43`3gV6`dFDj-ufU;O8gFE ziJtXwB`4POXYZ)E>$U5IH)8SKcQU77iWbO~@8uIrf>k!Sh$v*EZlkW0Vg}XnS4`_W zWN{#Uix$mC{JPFt%@+e%SF@WEdc?~4K(Rp=*ph`1(JvLg1mZE%-XmuI3Y{`SZ+VBD z_0Y7wVyi0Z_>4+?iNF2u;bIdPtnu7$EAB@$WvfI|il#Y09o^3ehle5oDb93N48GhV z(TFL)S58nSks2H{u5I_jSAOMxiUL)5pL%JXOEfs5u=aC17;s0!_9O&wDt5rNbA1H3 zSqUafM;opCT=Nhh*LE~44-TAsF{zRLDz}7bUk?$XJ@#Z+)IOiE=D{ETf*Acm9N3Ec4cZkWDy*TGVZ!^ zf*Mj`%lE45I}2nCSX|3I!$znpc#w07fv+$YxnuAzgdyVTy!zvR{e}g&jjnTpI=#*V zafEk74r0-bu|7(u(ApH z3)F@~lfEt}iINez)jEiK#%Ys3eD4A$Jz7bB6!#vV@;vGWwSe%av%CQr zOJHI7_MmKK1GsJMx*r{w93A*yiJe~CSVffIVD6;c6@?nd%tqSJuXK zJpa?)n^kh4zhB&XYs;&d$6zsr$qS(Q9gF@>+F^&!-F1*~=i`QI;63m;z&0>?uI(%@ z@ZG+9F*FV5y79CdXYg()`Rlmz&ndVaj*YOJTgD68jRnE^RnezEtS}7nS%QmZo}dTb zjiMgv3(Bd{ZvX0HvInDn+xhR#abI&zb3GeBd1&v8J>LuMuWTx7r&bno(j`F6 zEZC)BiV5|cty0B%fzGDE5Y`?Udm?dZLw;AL=0etwRj5^z!4X*MctJs9N$jC0Axahy z`I6EPw_!rxzW8;#FLZx7^Q>9>?p0H&C2`uMvij_>>K(TJ_^qqk`{6V%=KawZupF=t z@(yGJed&>I?~L*9OXYi3tZt2V0b>00l(zp1K!}LWdwlQ$NehRFh5+@LgZ3aGJ*Uc* zWEk*Nc;NS~&n@7Fp3Daruj~7s2cnmm4*Kv9l3#1bZyR&^wgS>QfS5frJ(+-{#>o<2 ze5-RsHi+#m(%{;9t%Hqqdpw@&Zh!Qp4wva)=Vet*po;n%{BeSq@cJo~ht ztUZS#z@_uA#%%1&4357MJ#a$)HAJ6^O<2E!K_HhDbnI8!wtl3=A4*)v!ahh15rPZJ zcIgulX!qfZaRlW0BUXRm+VVeXbbs2zgO7=SsFLbIY)`>Td>mw1uV$V<~AW704I4J%oEUuBQjTD>jw_WDgn5 zd4C&jH!+`;iKoUKm#qLtl2ta?5iA3~&`g}uScdA{&o7Ig`p#BUE3yZh-pS-uvfIPk z_&45)o=YGVvh55Gm7&?=Q1HM9^aOviz^gl0F1Ov&e_L?ztNbK#-1%W%nx-@(#6FHr zdkfaub44pGdn7-bGE!}=Md>XQoWgfAHPDgYih1x(XK>F1nGlKF_t#UwbcW^?@i+p; zDOlo_K0Rcj98xC;_VrRc;_owvuFHCyhhE-dxI6YXt;bXQyDrU$bp9Hc_l~z`3$h?P zv}`@pfl1Eq4|=gh-kE3CT4^EuXIQ*;U+`oBp{y~s@Nes@|u?tQ)gyL4EH;N*84P3V7YwG<9R1{CrCAhyxr2e_qwe>gO z3KK;M?U#_^nuFA@P5~(=kT?_`7AJ6$xS$2z)jDcN9ch0p$`!B2_$JT!Ums7{&ANSyAI6Xf!mN)RtPxxo8cpXN_s=9w69A(EN4KpCLuyhSO&S_5U^>tFnBT*uyveo%+n^}t0&LCghCPfgDw+qqyL7VM z?L-AkR0G~^biL}xIyw4#(+65a8W2opX!X@a>QA$l*kdN0?Ke^wNKEZz}p zuE`T3yynz$%gDke@&8*~S1#)15X-2-wm?~Lfda8GVd$0_J6C`1-(Io8(31-}TcL;R zUV9+RTKt|PjDzr7x-WPARF*xw=rZC9BZ*JRS$E#m+Vj+EG&{fmlnF5m9}}>!4H|P# zJR>RAuVdUl`zN4MFxCR`bn<+o=Ix%1y*J~7Vt;L``~HXnFHKDCatIFp`BjjHb%}Oq zhF>R+>Db+m2(lu~N5F{jvF?__2WfawAB%IwA0QO_3OF3?_t=MC>1^~|cE1#14g_e$ ziVwI6KiqMv7=@3&$FlmoT5sOfsIR$*ov`G~p-Lgd;2NTYh`_cp(FwCd#@KpHYBa{8 zhp*bGxA!-9%A61Viob}Yz>$!00Ucm&86cc*W%mOfK6!YXl1t>+XmJRNRIYZa!LX$I zt(hp9qhogVAfj48+TG;?<0x~o9w>-M|^UAzLoCmT3di3+Fv!Zdm(x~Mm-#Mlo0X2yQ{9O@D{~A zv90Dthg) zJ5@@of_8+qa`iaE^QBWA3Qcak7YvlCvc_A1MuN`+QkG3Gutt4rCU?8=!&k2lsyW)} zOPLt~6~Ks2DOnmp=1Fn&Fy}`Z#1}#pwCQG)!0y`UQp6jD6<3$$v39xC)K4cPxl;1a1H;Kn~>-f9lA1M<0{Zmoxgq2~`6()nej z1YGBXIK3F#U$AkW{WQ|i$3nXl558d;0+4u?sIh<+r3OQ=g3MFm;sm(wDit+@Bg&MQ zfp*?2u3_Ez$fqz*6mil~N}d+cQcRVT3O%aMjF>Km-LDhG{&j}wQ6i>oI8i(*(?SM9 z;+C8%F$0m*6-X((6ynNUw^SK$0x3417;?t|sh-F}7G#-<3HB908>C@DIZk9wc!yG{ zc5=yoS2LoaY4e16{AfK`jvVAU;Zw;|CFhjP!m_gPKb6zb3ZI7#{3ZuX08zLXl{WLq z@Z4;)dRDssB1Id*wRQXe(mg}pi4yUbv73&T z6ZbblHel$?4l%mrAp`WS*y4s%!t7{P0+cwwOat24GZY>h8+Ssw(tnHA0e%<_A-(58!S&KP zWPr}b`GVw0@n8!h7d-@w)P)s9gh673(1d7Cf>6}=b+26N`bt#6mqSIg{o}-a0VFal zcIh3!@0b0nJ7c3j_$H_cft~qeBpRB4x0h)zLz#i$gcgL|=tynwyuCy%$JfN4hIFHN zeRT&qMX1aSP(sgdz^{jyo*UR&#@}9&2`Pb1ily)b$nW*C1>HDvHZ#q^NFcM64QQx^9YP6;(4Fd^C~K(U%k%I^+IZh^Q|em$a-N@@~Ab%Y>Kl;F_M zPjcG?%E0{ta&9&7+e!bJ$ZsXaVF>e|Pkz(I;9~ppC5CUPNz=*`9QP#|Lj^OYj2W-o zq?EU=lROieL_8}WA;s^2DG8IW#tlE1Uj!&JS!&72=o@vlRwsHVOux%5oD-I-7)(r2 z1=m1#N>O7YWxizZmop{S1+fKyG|10``PM9}A!RtSeN}>lziU>N^n3ygzQqoPEZV4R z9v0*Uf8lqmD^d1#FHiU zO3q&OyYWE$_BYwcyy(S0CC!^vi1?w z1SLRlCWAIuBej;5jz~V*Wq1A3JNb2H`!2r6HgFluyGkXW9x)mj61P(yEnoeFx1xmH zVvbhN8`8%Jdo(hMh~u5uXATi;qW*|KtI{p={Y6OO9R#w?=8yPhAb%mi%3;67+m~KR z{L#Nk0{R2?K8W^C6a~34FFP_iL?}2>? z@)vqo2-^sH0%PK2Bm!Dg+Jzv|&a@w2fzm{_$#ZWmyCW5R$;HIGiX3jBAby^EUEZj&>XhjniE`_o03zD32EY^=b1tzsBI3+i#59@sYTu+c6 z%s1jEEtO1T6-i?z-vAzi%x{S4$s&&&57Df#LPqtK0egtHZEN4=_%q>+(RSrh={Ig1 z>aXl~&PsH28{;B1rLU9N$DA`Wsh!P)_iM4h9u)bw=|B9a2p}5q*FmLd_MWaOKL9w= z>`5f5N}*Kyz+j!SE-d=*njdTfWuZA8*qf?2Z#Xo@e7mXmA#0P<_Cn1`25tg}$>iZe z*Cdc|Cw8)H`k?l*4C>>#1m)K0W9!uS)M3T$cn8_}U zXuwm(kS$oYG4hIwZ9sa3+#kS+U2_fHmWb|En(?}I# zI5lgkI!$9rU7TP??uZhCCW(@(n<>v=<&Yy49ng$rfG4g?s$eD`buGte#U#EQDcwKB z5%ePnPI{1LiMX(cL&t36=-_&%ogWmzcrnbv|Av@&PvI52XkOQbz1Njv9>Eo za4L_n!W?-w|YwH(PKI=mOvbc4AY(!;IeOAl1JRnvfcjTuHNjp&FNj zmwXxLO33|8Q7yICy!@yM@}2D5GrgpY7aj~BMY;GJ;Z2w%8pggBjaSp#6zA^$y|{qz z`@tJW1asGG3-5z6#N&QSal$kMTIc@s>nCyarlnqM8}GC-9krLp)Nmb~bc_u=SbiCl zkVKz zbM|3V9O#TqDkHSSug@dS^&G^(NecZ^OjX+yy37%r(}v3DfmXXKda#Cc^=U(A<2t_s za+1Z}NUTm?yD}EL5;IK0|ISG5D=---y0jjSM)qKMxy?5`gIjv&`fJm%y}mF+rm`^# zUjFpma4-s(q6_jt(X-x$f}D`rx-nRke?{nqRRlnkVN@V}MNva0S)Vh&Q_>R5c8b;ZbLU`A}WG5>|r3yeGFT8($db z-u90ds3U#)&71dnewkz)vTrp&>1~rnynnujp z)u1)XR8iG6e!v397AJRS@AkHHlK2Zpf#Nrss*)fHAs_xSzNJ!LQ5z2Zs(@weuZ7l= zOzW1r7cZ3zcD6DKVLa(z=C_r|8PGLt)!5__PmQWaBXR%*0jKbNVBg}ul6&q{%bY7K z++$xc&uGXopciKXmK0#U4*C&wxN zR^J5@rt>DZXwx|IB{JV({naL8zS!E?ggp=ly)}(+9`vDqMrse`EaH z(*F4HiEt_+;hgT{q28Xfg3XJJa8t!}0MI_z+&RbM6=y_G!*~ApyH%=jsq0kmm*y%O zj^^TElB&_q@dTH&gR#QX%}5IS#oyTT!Qj*wMJ~7883jeGZcd}d#NL}UqeMoYY0bW* zzO$ss!(JtFz83sU<-|T1CwrwjCb%C@6{^mnshl(+FoWNm^7B{LCGVLv z$M2^eF_)O`62m>@l3o!16kNPKbUctnLoMLuZ=-WI@m3y9{js9JIJ_%B6*~K8x7=hk0r43*cQhqe*3%@%Qz0UK^+HnOl)_naQhTCrGE_9BJn;xWv>g5 z8eh@7cp$%~#C~;7@}$OcY*F7@O)=Re;l-wk@2udyGH{cyrgQ$5(}EO4OCg4bs8k6H zGfd)2%DJ6jonUQyDES?EgnO%0*<2nTSw#VzWxwEsvTq;LldZT#5{k~M+XReqU6%Vy z)X0lGnv7EY4N@{c7h<74mT}7dF$%+!3x;uNabQ(RTDY>Tw*Q;S`!}PIq3&Uf zmS~UngPqkLT0|Et5fS6HvsbbdlvGwtyUM?k+L=*qNH!LhlZHJNa*CFuq8dP>nGDU} z%il%q=?0SbO+#dj5;t+M-owZ};r=Z0XRo9=d9hx=cxzBy8nIRA4|G>H%4x5*eoWNu z(ZOw^LEERH)tr6M!!*-|3NWbsMT}40HoXcVD8=~e74)%KJ)k6jOv}~CRNU0lj!Prz zH6LCajq*krEDx&o#Y++;d|;Tw2d10b)13(qHV89NDxN>Zny-LAYmRosbQR^vVDHb> zl-~q3{>>1z{wV%lmyxR=6#Kh8_sZ(bOu4ClRFyNnQ6x#5WE5#nC#7Ah%vtw$eeaj5 zMs3_dOgrWDX4z6w2e=GO3q}rA_FNzzev>vn)d`K2GyK79k9VLgpBR)*R*8x&-?&X0uh+{&b7+-FU*!yhW8hyx(M(FM#Bbtn2*|9SpN z(>KRkkF85vd+pqKrN&vH^nRW7+ABv49>o|K9wQAZgGcUiYA<((v+)VzC%pN2i&Ipl z=tr-6N0Rv0obW4D7yLGjC>rXxTg3sX5AoVafkVTy8Yn+Rk#){pQe#>-_!1%w#eZ1Xns*x@7 ziS7G%R%h(#d>jr#?KY?3+3aR#v?5rDt1A=g=^mWXK%B0_k1tZSl&u&eBu{kxRXg>w zhNq7oXmnImwc0ZHbJLUe6buzYYwi%_B+)$)etWqjz@Ndv zWUK2zp(szVDbX8u6b?Xw;Nti}H)E8yOALnrtPwipIJyKtwdB{`kPqD7YHP_p#`00S zq$~4X2qyi?);QHq;>WK(`hcNY@Qp%KHR*@V@V4uTbM4bbr&n%34VoI`+({o==je`d z01c!1JAb7|^0_QjySrkHeB8|SH`*STt3PoXmMb@4kz9Nh?3}*YE*5Q(F42m1Q{1Q| zyaru@7si|VeSG;HT73K~J*6EWp5=3B)zx~tgK<8tA6fk+q7|{g;aia&DmD#onOMAM zzcW~=2%%bnPQPL(>8j1hUyn;T@+nfz3IGcNlKuA~4)Rx0a0K`}gMJU;iMnR6DaXa<%9&Vq=>NVzZNO%KafE zBqpRX)z~KeldHv}T+PWQh)60G%Q;0LbxLKqhBRrgjb~!lJ9*ULHEyVOWV4p_>)$2@ zojTfdCMita^0u~Vjsn4aE_D=@y!S9=2y`KQA#;M)OuQm&t=Ol^^`3NMqAL$Pj08-B zYH>H^nF4S!GTQqCe`8O0J`BX z;XNQv5*B+t2FKV|0!zd6_A(Zi51#hQ*3m4hJc#J>d3OGgz3oJ_tC`=@NWY?9Ath7F9 zA6xHoI1za(Eq?Z!?#}0Jo3+e2Qd8p_{|@rdrb~leNTb?krVt8a7YV1{Uk%QAdS(fforbSLf1>t)tAhbFzMMN5$YV9*~weGgle`NGJUw zNaBM?o6PoLeoy4pB;Y|rt(rzboXP6v83cW~F7o`5?Kg1Gvw>vBJ}a7xz>2uXVw3NO zK|wYy3uP%CEPz8yItjO%`1|Wq{Lr7*VAQob=dwSz?~WQcM)Xc)A~ZI?rO_~`&?f|R;21GoJoAT2#Tw2v zxP262#^}gq$C!yd2I@Cd)<-Et8^&P;M|`plNNVj-ncyg>9Tj7IUU~2?lo5xeiA$A}$_avbHekjpHOt#9 zcDOEL-NP|g&->bRkHq}-rj*O1B3$^YnvOHwSn{g8Os(F+#_`%ja0&|g+R%3m^X;GQ zet?dE`muTD!fPo^lY$(fzT2nU{4!ha5{wgum{_`*^x+J7%}L69R*2}GdCXeYZF?zg z!yjV$?_=r%v%iqD>M5J4Ve1;Q_fov7(!8)o0ovg%9HS*Y(mio<)jGK^mG`Kc26;m; zCL$@TJ)lvjv?2sHSA0j^-^{G)nEPegG%5K+ui~RLeC%5e} z5{3>e2bk#J3;1NY)hETpBND4^_Nghqi=)>x8Lsl=RnL{qhWrxi-zOAiz@b2j)I^Ib zx;K%8bvt!?kK1j%(x{-XaN9m=2P2-8vB5H{Sg>!^tHSVGv1vyy$S))Rd`9COBvW@$ zjp~KygjWk*2pi_j2ag3PA&;5PzQJRhfzM#uz&j3h&Uu~|v((DO@u&2k1O3Xq?Dn+h&h{N4mVvC+#D?fK9T> zop??2$rV-5(pQw3nIT+NUYUPUZ?Wi^9Jngda&|_F-Mez*cb1kdvqlT5kH)(h)N5_t{sA+;*QfAV#*cdB{OVAUf$bBcIl~KoFX#+j;#MFleLIFC*$<{(t|8+ z#L~B$daXfM{P%zzCOl_ewmL($+2D$4*t1*Gs=CkBLLd_gdXNm92RI`o7ggU^AEnQM zl4Y_0?f?MF?*FFzO%e}OY@k^VgtfdH{lzn{6fCLg!0(CVMU*A#T#wXn(%8Qq38e4j zb}J&IE8-##zkf9nspCoeZsmH*!)6{X06S|4@cAWegrrW3#&@QQ4LXu8K=4YD+CP%I?a{PwgNvo3VA%C95(;B4CW?4NKMdcO0b6h}>hM^k&eom?t*dAe>X z9cd6Q|J|`eTs}J2G_rLCOln;36k4?%wPFi=B&lE!%Xf7)~I1UKc z1!7GS{MEK93!hig7Oke-iKF=DA>XIQMJiVzsgMvv$l?~Bc7*`iFLH^41+wI*b!@Xr zc`OeRs7ILCOJx@6OcR(iK`E1kmu!RJ4piqo4e~&XTKMug<7<&O*Q}<0qIkiNrq`uRk0gBB2v_rshV%Q@Sv*Q_ z1;>eT(=3o7_<-!P_p_yNbs2%Ghw4;zLC{SPU6%zt%=-I|wMJ8&Chbngmf|+GO$CqN zN9R)aAf-=Ch!0s!O7&N>Iz^Aj3F+9shA;W^`w4jN<~k*g_E5+`4du&mt)wsl=@5PO zOyFUDQUNtbPjXRAAlWc51@@m8lDGK2y1s_nbh>ToNTu?co~rtFQe0nS@6qa;AZ2%8 zfTDe_X*~=@;FqD+AvXUMoyXOXkHx+myy%YhaW^Jb#R{So7j_$9N?p6)fQsdZlzoTS zCbg&lG)1W)3>&Inzs79>qcfuA-V^}Dz7G9wA#&Nh_ zsavspFz>!{9`mEJ)|Z6!=B8*xp>?eUc+Q)%la8IF-Sf1&asU1aiG!MsBJ51t<%pH2 z%aZ+hzOp{$WIj@dzE9dEx`RU616h?xv$&MsjVEA@qDJi_e6*+ex%eV^6tq3%xO6{u zi4|{jx2?|(nI}V+01A91iD*oDpwhrHtw;Gw-9FC@h`x*%rM~5UVkR3&^?Oe+Ds}Dd z!iS&=(RsLpIoM=M=PA>MTeWn@AArAldJ62mENswE(e&gpbtnFIGJzf(*KwaNOAgQS zq#)W&yHoX6JldU8;Tsp|6Q;Yy6yu=EK{iZ_oB*4_yESx$=F?~Ock%@r&+uVPpZ#Ro zbMT=XWK9HuEyny9ntEGsZ8o0@#rcXw-tMr zZoK_V`JMNC<_mh8))Vt%7nrtb)7$KTc_S<%RV>0u7AG8l!!^w<>pl{xfUW+9nnXdW zbC>hOuhQi}bR#l@?v^p3We$~+nm6o#-@>9yx|%)CG_4$SKw9-$_xMltZyyG^y~{6# z26S8wOG2KPTXUcNK3aNMM)-3P zeM1rMe(cwjrqaIR*kIgbOwAs#L(|(j!cEh$8yHpo;5fT8))(ZLafOJ;Sg*aUw)2NK7NrS!W*9-Sk&(&j$gFiNF7fIr0 zfU%J?GMUu9zjEZiocx1+$~j%DJmaSf74BrRxNK6^H;;A#+cIlu#ORUb-i%}7FQGX}SneC7pZ=;m+ zMjM?ft842037;W`JA8)}nJxsk7MTEf;{Kg}^otttM@F^gyGy-1t|==ngKLRL*$fvy zwM_}`?R;{hEb&e_^c#YU$nZDZ=bEAgjcn+zEsoncdHZaIDk}Y!P*?rd3cTv<&C2`J zUr!W`)2V!2Tf*V=oBbJ82<+B$t<%~58t0@%K$BTHEP9^$?Zap)t89n zs=}9Y{zY|FR84WLd%wHbGxa=(ehXk=sBUfhOlw=tb_71qao|{Jgea%N5Q>+eMaM+> zgZ|zs#rM~*s=a1bhXdRcMSL9mhCp%796lX4TCOVcAQGHV12ULt;?W+WWd{czUP;JV3@U-@eqt zZqXlC@;gGX zjf&a*yG_-kHY%7&x{6v8SLL+CX$vb&;*obqt_*a{u~P{2q$zlLmHc=F-SyXPSo-~U z+gcp8n%Y52NuM=8QtuLPDLkvcGFK+EgPohkGEdmho(CP`#Q0~)!8lXTIW$cFTL@88V(jscOlNN7$Hj|095`x`HkSaP(Cd|)R18F=gjTl^E#;h zlyH+0W#?$5wC{&CrK*7U6KwoaNc%!hm5|uLv#S7XnhE266VW0v4LKOKMIkR|vd49* zDgQu?*lbyIkC*1;aK$){o46k!Oy?EwkHA29;t3(HYcDcHKsRX;CrZa68jaX6)9a=(|Z`7 znARQ5WK-Z3&H$zdV(|9Y20eN*t0GgKRC}1c$y)4L9eP~EC+$$a=f zz_X^^YbsCH*ZOYkDI3F$9rWkKp9I9_&tl&m|lm(8j6L;p<<&aPfV(y!`q^J z99A7=E*)1`Ni}&N_+l(2`tvaC8niSKJ7F(HoXPukW`&ejLvb_z&xnm|Rm>*?RFTx4 z7CAw&`Q_o_H|13x{px+e74wYmGet1fCAocP&6)0t{!xU-_WLn$ymEm|OrDA#|KfV$ znfZXDeV#F34g8XeaIdDUx{eZ&qvU1kU=hiM9gmI6Rs-|)Y1I)nG|fK)T)~hmgPs?) zTmx}opq!A}6$&gf>y=5y)rPA-S}zr_?yP>ZySwxNvo{R8N2FgJOLa^H$vDZ ze1CxPi%mZq3_%j}XfbsZH;qf%%I>GO^u^ur@$sC$tJ;~H;Ss}8qt&A6nP0}48R*o? zI*wiEX}Y5#*eI!}BD=%h*J+8TR$sq83Rf2j#0S5eG{-_#X!wUnx9oaeabc`baRis& ze))aacq+C>ndp`7k`4`d{cP3D_0HZkzujun`SMdEv+O<5&Wk$NB9) z2LyBioP74q%(T)x%>bLGCb*bo$Glah*gIvCiM&yuX%G9cC{cG@;8ng>rIVG|XMlYQ zQO&55nFOqYF8r80-mD1|y&Yf?4vqtyquu_J#$;MS{n;?eFAg9WI}-yy0JBpJ|IB|r z@uiVA8pyPvf=6+|>v4hO58wxnnT*q8X%sVjfIQyA7UzKj&ZKPU`6Dp{Z1RV}-1X{b zN~t?eRN74+@un$+CQ~ zgZ%51sYiu4mY*Z7;R1Irl7TZ>j4n$V6TvN159nGeJn~C>&F^U9<3QWMv9^XPQ$3?l z`x?SqGmHO1q1LvSpCL4ZxfN+e2e`o!0L&AxpvBXl=S8lx(T0l;3eCiH81`^tU477rmTRjf*HdPKb6Pkf39vf4{^VjKf1~ zEz?UHZ4P%|xztX!a{75csihks2sX<+PJMQ8 zSrc#xmMnc^@*3DvqV?gy>o3xF{&&b$XZ~milHI4BFX-(4N9&ti{_olrO&@_!cTuc; zlqfJMxtJQE-F?4%_r2VJ=dI-wy3MWckx zL)2mXq&-IVPEwv5T<9NlKY8F zoJ&&|$R%)*({SSk&cCg3^MAIqQOFk2Wa??GQiuXu+QzlE#CEa0Q|{$GYX3TY2FA(p zeaPpfcPu*cx6F#1QdlLxM{Cl8RrM(fdYJc)}i_hV|r--n89~@7q(UN4|h*~}}eEkE8 zIf-PNF9TJ8QOh?Iz4PDB+ngisj2iF|0uK6A5)6pB)QNxsUti})0uPdaSwz{C8_(|- zC>t4N4$h6+R<2cZmZu0gRTDl~%WSWLR&NMbi~${~FQS$Z%YUa;WbX-xoC*M*>moCpZ@!i7&5Y!C7;G;TAsDKZw~j+purjPn)jkVyq}43P(|Ywa~a4# zTZS3isb2R0-Te-ktg1!Ojd(V8k)SXVaG+q6oG@`NI7^f)=|nQvFiRi~A`Z|75EpD{ zL;g%NdD0Dt21t44FHmB6iGleE){k|g&Jv?E2YD%`&rUfua(1@4Q}c>8LLO0;^SsF# zRNs)w7bV*lO)t{8CfVuBYdEoal}US;;F_58zaCo4i%A+$6)X1hHh=3t5BGQBmK!}F z<5N&tJp)2j2D;u<8Re($shXP+Ng8-4s)h2&Ah*t0w%!YmeIKCuc~V9&YH}MXfny*P z-~qq^0SAj7+Xbc^zC1oZPCR$%n@j*ASJHV40WcKKicAo2vFBvm2ux9aE-~bU?ww;? zJe_M*DzE1ujHiH?xS@Yl6jheZj@yPf{NEe_oybPik$U;Eh%dW8-01?IV7Ot7X!5mF zlL2D{E1!W71cFZLNrOOZTzX$+zPOz<8AKZF)9n;|S@i?aR9nF~oE%WjHuYy(^`Km1 zFU-^ant*4(8E5MU%<+$s{DoT?TtOn@0>~Xl$#S}I{D}N3nDj^-P;dwh^ov9Wa0O(l zvcYP4i9a7sd=E*HO44jnM7u3_ynprYtWKV%gvr+olvHN=WrFk58nfAQ;dL4x(>+hx z$VNg|b^|6hP&_EzB(fAcI8i;UFw+7D2dg=8m}_Q($rd?g29ScV63y)l_i$%B%%onB zbDa>T4dzMuCO^sgF$m$|&9P=V*O`pSl)F%1V6Lv0AM%0%oSsKL>y+N{a_Cm#B!?% zE}?Q#$X2r*-xkH@zs?N0wnfm74@_RbI0K9)Ez%lweCt+M0|CVYfS;Wqh_xvUAPVe5 z0;1pGfseU=V{!;6usK2WRZb6d>)?C&V!94U1x;FxMfwlJyMWbl&)Gdvete1r1Qk+J z`i(J|oX71AGEkg63LpfMN1+Z_ginN+L0o{ag)e|otV{YLsx+1?P7J~ot^`C1jHmmb zu|BOc57~Bb8tS%idL!JVGpk+1=vR_+LkU4VBOF+@h$P5f<9a7=SNND7VhlF1x`n$4 zW|M>fDZxmIRzFB>9a}Nu?Ye+Q@YXxkMkdf0+iL zfhU0y7~k^-q0{7q(G7IMhfreV=ij`I02%)q?3;5R2-Oc?^fRx-eC_}qN)+uabL(`` z9g$6W{Mo%;1_1!JoxNFW58QII(O0C?qM869T)=PANd#J0(9lsQT#`}HBGH1CndKjt z+4~V!5?iC}N=A#sa-T@Q9Tfr+iAY1V6Fi}Cqn62k1Nz7(|aC?T4`oS)v>*pP0pD?z*-AzUQ`-#a<6@z zt^qnLJ~58!Dig}YTl_*1E&C&DOu%d|l*WZYZ3e+Amg=F7$mgXwJO?0My}!MlQ?h*k zB?Qh8%b9C`K#&|bU=?F?;FRMpSeoleEaxUFn`U(CnyK9heaCZpq5Zv7*cyM=jcM0~m|L|Y; z4c_bxdiJgE)zwm8*REY#I@_E}v^StQvtEp}MMav&Ki;U-4(r#^&$|%7Y^m4jOF{xw zPoYS?*=Pg>Vg>~wF5HyFyhfvc}-&y9drx`vK2vVHG(elkI}lxosp^Ig9IHj zH|iX5SmzRd8PwbKknSBh;W7ijXX59LXuWND2U?%PfVuAj?@FL*>qW&QBD{1=oN=M1 zoXYG1yV;U`F+VLcfn({7xXR=UKX-BbnvsjNe3UAqz)WtK!p5EV%S_bpM;nmq+S-vi ztzJqPr&}VmT`Df<2i|c3Y2L>br)MicU;!Np0!p#}fYDb04<@xW>UneFsYEIN<@8oc zx2XrBhR)z;HbpXhUlceHC-l$`}gP;0`>%e#?j%&JiHwKT4(J0 zI_iR2hP0frowj=6a`q_dcM}KPgOY5G#^74Eh(R+SI+Mhum0zYCwhm+$_9mxnOo0cQ zNp<)mN?>DJcer#y5Q{ux1#)Ijcv65Ql=_dga_b!3AaiKS~}ZyYS{hivA|FhM>yEoOtO;%M0oS13ck?8jUy3}huOx+ z(9Tda=v4(qY}evL=WlS2I5wv;z_{TPv1b&+vmVPZwObxjo{duu1(dCO3&w#<{I}IJ zmcLREP#80pG}qpFru(7;eh5+fkmMM0FJ+PqY9uT*2O*{I^>-4FW&0pFU51M=3`3L! zBQG&Sj|PeW_XkJRqNL?fmAS|QXiLA(!iMJtI>&*mjp5_SWt02?j-mTDg1U*n`sRpO zgueREni?Wxx0!*5`bhj6FK6>xm$WW(F?KY$?vpK}2W9?_-g<=QaR{fI6-qS{LCzfVj+ZmHHLw zeu;+dgG1Ai9clD1)>E+TO(#k`A;p-N53?o7ROfv`yn$-$bEX)Qp=P}k!_hY&hUtQO z2J(}4yXrHa@VNp|(oSJ%Q~2AG_-&7`C8-yDuEd!F93Wp#F^Eu*4xWaWLC;z*3Z zTlowur9^OWpk>-lc7^aqioT^V!XMA)N#Nh3Ab}(igZ*K_{7<1OXPKb}uY$WwNFi(% z5ULzDTqBfo#WP<_W9j!uZ@#dX_Ef<)1k0w%&i!F=IAd8UWbq%gcf8o=0mW1 z-(l4?)4@|k$` z&iH4+o9u0v18PP@02;XnXs;hY4u{VpDSeCFxk7C52LKEaIsQIg1K}+3_@FpwTQRy& zTJLcJKEf}8Z7~5$G3Q3O9gSBA-%!HqBP-sTK8;`X#CF#5_^3?*T7`Q&C4^HNX)wX$58NMDF)C;QxRXK} z{bf-XH`4190rQ-H6$&1)xf-$9CM-?^bI88h3Y{?7?S2rWfhH$hTCa>UEtalKc%OoW zRC^aVH`~*9hO17iBfI=GjcgF6&F$fM+&LCsJ=!9ahThhDFLakBU#|XyX$k<@mB0BE z^#om)hLBWW`0cQstB*?+C16|CK}ishK=3yqMMFMc@m~ccMV-g3(l6InI6dB%cN1T_I-cjGXb2=NIS8!T>_X>%N`SH&wNfV8zC}sjbTJsUTnk3iv z&M9d9h2x;8^Fm#%XlInuSO=1-38IsBuwQt z8d%Vu`{1!N4>?BShrz!3HLLl-P_xfkgt-n|g6PiMTwydhmNI5AL-1EPNiJqH;I3Iw z9D#E=r`@&~aKt`?xx@T)@P~&abKS0%@1;FV^TDj$3;OzCzVa!rSM&xF5=XLAw?Pm-8u44D)j_p|B5?Zq{5rOGy?X+b zT>=SdWz1}uU3>og?-djjv`atNHJ)U>+MRk^A#S0LauLVwYd(1l8i()&H6nnSF&-~J zo9F#>_?exdV+<(CU760F!lk@$XlOOvoXBN0-YJ``&}8NoP_kY%5!yKMh~roI?~H8V z$wi*1WW%BILa^TKAnezN+0{uC5|gcx1H~^5afFH9cfgSB6wCo96+g^`&sh@6&q;xu zUV*-MU|(+_q2ghY#W{xOD?iiHyTQP3PeUJrXguTf@L%%j0Q0>99onLg#j|m|xRE!H zO$BOr8W}~7R?WiVh-STI$#2|3F6Y8Zwp^KTyA$*0<|M+3O;b33jU}3{F zNx+oeL>>ZB=kc`-%nQ!@?fZ~}Cu2u!H5-cirN8{Vur*ZNdV5X^j67e&0vxNX$D6+! z$gQ~%yUZT>qedyLkkIfueU>ag-EvJ4!_2s-)?Te$7b$5~u!3Ye*appat0zn~a&+*+zJF(} zg4eJg z8RT&9eilZxs+&f?q_w+RvO5*wx1jWWwB}afh^~fF>`<;VbzEYCH60{Sh@>FBUAiX6 z<}&`etZs@gZK@tGZ+IRgu6z&sZLj*>46~8sZ4jWWp1d{|lmxtp#|?!Hl*Q($*;Is< zn`G)YvC|7!IDCvMZJe7@zURycGZzC4U10EZ@U=b+Un$e%x#njXX zw$umKG)LBSdLK5yVk`FcdpFx)6}YN8nTEcwLXQ2Q{h~42aVL6M45j~53qWr@S){E; zE)0l?H2)iS#f)l^DlrrAJwA780?k|otzk)QX+?OgJ;2HGA49*xe42uLQ<$qHYt;Ieia8Qn?Jbj^T(mJ(D{s7wPvlbI=Pj0 zKh`(8+y9pJT>T&#YMhpXef-W`pSIL=FKzt?->_7&>&<^bKx*KB)mz(>ob+C zmLG`!+m1plZQo@z3!%)pvcVUNsFRo--CX|j5X*+%SKa!Ea!-KFBTGttk<8=!;#ZI1 zP*ThFtU@~bxVCArZF#4bNGkYu<;LkcAf-fswPFei=c<^U^!KRt_6*p)i^41{?~D@) z5BmM)Wtm{Nx}riiaX!ZrsHiH*uKU?MZk5Un>JvSKnm6ErcBUeU2VGU+bn4dxv*O_m z(KGdqOMjR4I@RTD=Ss|K8I+bw1n%WB6*mYhkF2HaHHt_2!VIo5;~MqxQ~4k8xF&vJ zGN;-)(JrB&05L4sd76Fu-Y~dmLM`8BkYJehP$_RP}Uq;X&Kw6YC>>nD8D7t9qg$~=K@ ziqn@O)O9kk_Ifl;7OfD~8f6z1RhFSXPqX39zXB)KLOo)r5OFyTn>l@j&Xrni(&qkh z<}KPeeI!x*wypVcN2m+`8n;9L>FDz$rxxWF8Z(wxIu@t#{6Urw*uQUpv`!G^^9MZg5Tgz{h((j^kAV33`}O(OF+sdXB+sEZmru z0^KE%nf4M;a?W_UNkN<*5cuQ+5EQ@Xn&?c5wR$dD)+?z+xsxT$k zospKe$o*RL?>Z;n`?T`DZdBjPM_V?MI%;k;c!^X9u!0rMu4B5GU)04~SfPpPIP|&4 zU6k*exjNbgzxZoP`=d7wA~te#LW+h1%hmP=kSn@AB#$;)QS=c~gU_EEaU{B?r1$kE zI^|s%bl~tIndLA}>D*!K&a_~!0+{9$emz;pSF8StxGIOzAF-zRF%K+)=m?mtj?5KYj7a-F>0;byXtc$wRSPX5_8SB(p0vI?S-GIfQ3& zdCeL-ZKP%B+KmbsGoo4gDkBiA9v;HCuE1 z{0r<%eJYFPz!d2o?Xug_tmrOLePXgrPs}%O2gCaV)Oh<15q-vs{flyS!~4o6t-#J(7~c<Qz1t;hf~ z5Gm_TLXnouPQExWsh73HDcSY{0Kf+RCu=-@B5NhN2po?~zc(ObJ77%ZzH8~yqIyT#-zswtNCWoRibRi^t;18k&4?JBNha#{xPXdM`M{-}NgGnv9;nlhxyU z13sYHkO*{kMpmS=MJOo#?@B7HC!aonQs|4PY<&7!B^D?VW4#SK4l8pmyx}ejknj&< z8fRpLj)#$|g=8l?VnSc;7Qn+o{VXS5QPj|t)HbVL${nbcVy9hY>h^@RCl2#fjW-~m zzimf~q%g$yn!Mm)S)a_PXqjXsvjXb7VLYNuP4hth%WLw%W_Ek&e>; zuVa9!Q76*a@)Md11~_7zhOlQp5ZWR#o*gKX}H=}p-_%I zgPg|4tdsH;&AKZ_8l~J^3Xgrnsq9>&2sX8Fxgc`b{+l+{5a(!L`xmlL$&Gx5Rs=v{ zLA0ByvXw1c?YHP=^T@3BTTIlV7txrW2b`55!EjGUQVqfPY{0xQji+{}5*16D+dB04 z1pYoAQY(yrKYHe%H8SSbQx^nd-~i9Oh5`fb(C-5oEUr8T)ZdZvN=aXt1jW|;4CSWF z8PwAu2Dwma*+t?3`C)Pl<>RVQ*Ek1?-C$2g=)aoX&=ayCblUism>S5j1mt=9^trUk z>-n8XnZS07sNPmBp%c#Y5>`}@XY!yF2zsOtHc6O;!uN@UfNM{Wd>bl>DxK@e<3e&j znY}z2)73Vvmkg4OqCgl9e;o3W!oEAIp!@anz~O*U;KJiDr8}5eOp{-P`7!a9SFz~7 zvk;6XtV}!rDMax?HBsf>@v{*a29WXc+&RH~L59Q z(EUTukU*mVamS>NuqZoQzk^%A2g~OW!$f9O!xevvlaaS<-?KG!@OrKl(d-g3Ws?ix z1;bv0%k~^`Mpz8vgb>h_AqIl>V>bs#DnrPz3r2=a`yJVYR4IrlJsk^1UWBR0O-)DP zk^t5{4Z)ST0;mdpLGS-mgy!Q7bRuFfT&XZ&*!-n0lLv$iVpViNJr>o_TF9AsGuk4q;xJ8CRCcOW`?39toL1?mu{ zp*iw%GLZ!iKe30=GbzF-ATXWrIm2%Vp+f>U7@6lDM=Da}Xd9;(1ui(}38M0+%;b7y z(LpANZ9h2>xyi+OnS)S-VlU1;dY?J_Yz^>97E~`!yffjzvH3_a3J_>;Ky)F<-%)b> zv>b4)z+#vq!mTagu^eBR$V(qWGA^N*VFWC08Aj;8j$I7=xntGb(}Uk^{3KtFH>BfW zBqRq#<_O7tJ>J|=p*+ZAM37d8KS2|pwAnR7ic3?aTE zGCn$x#kz?X>7}^|UCv^b6mjHngnL!uN4$lM>@0$mEJzwoaJ?o`^1I3lr8nnl7hq1A zJ_Ff-VFY$ehSN3Dl1H-RhKxmapQ6YRg}QJ7o7^-YH=!B1H2dJS5iNOr#;HzU;^znC z9v|eLJQur2tx4)8xn1rH8qMV2OO6piQ!RDu@=2BRE9>=u2K4dW92h%zZZn(8s0N+B z@oK?sMW_-i?RK>euemL?Us+s}T zbLX>}*L&5tfwT%au)MoH!BT(yK`(CMmc(kz2~vFN$aG(8kP1aUSR@%s?|X)d6AA+f ztSnYmtfgMBF3oayN zLr~Ng!9L=ysKjVVKA6xAyxow~^-$B3$_nR-lkwp{LxBU@8DYZMBTg8mDuu^& ztxI{(H`^kVM+;;#q0NqW(Sn3jW{&P49uNbRWk=r!>IL8F9~>y1FEtDxOWA!(ph$mM z%Lm%ddp3BNik26?PQ8tq(z4=!aR6n&?|Jf6Z+~y}<10?1MtD$2@mMzZ?SvgNukU0e z%K4v{FmFw=$#2n70_;59B`tJsc~Jr{Pj*0=MB2ncs267@Gurm3-w<;Q)7>BMw35A( z`Gly~-W*J;XyqMA?nFWp(u6#=D6|f8^e|%YA1t8F7XMFNb|f*2Y`F+V1fs`C{<{R{ zh|ujDZ0=t5J!i36op%^^!?!R(^v`&Ot3xNF;XkniQ;c&xL})WHs>S|C@>M7yp#f?d zq@pqac`^(v7Pf>qoj8KIv7>;<%N1sN1906_s?j8=lyMo-EYNm>hCqNV_uhTsAmPNZ z4B1H)q{JuMbx(a$DGF>PWtA?{&$L4#kZ*s?N7TiTqM>O|SvzBu5Ocmw>d_W?I`VeH zGZ9+|kPSOYOu{CIjOn`mgq{Rq9`cHrL0D8ES^R!+_yaa2*jz7#lKM%P$e`IH$1M`kJ<>L9Xi(zpexlT5Mk4LsToCThUVdL5^e!J-X z#QRcEKm=xoB4|Awjdp^A&`7#hN|afa?0$sheyW5FIxlz5WF;@Y{1V|su0zdRF?)fb z&YW~dkcD0hG6MZ5A;1qnO=w&Db_G}R>`sRI0H}?$j~($Ra=A^Q!(HG6>`7|Z3P+>{ zMf-z9Hv1*oKpQp9a-0K+)^qX{FMllq3ZP|LDK@-BxnS8Bj z9SCq@!}rnFI-T!0F%LgUb(ntQ3qg?uaMWi@m8bM{cq@B@h_e?OjNF^@lB|F*BADf2@-rgi_Bb&K$@#1roqE6#<3s+YnzqM1i3tGRj>opBK8SiWqI1xo0{XEe*)( z@E)f}O-HCs&^yN;Kh*D?t|ZOqp;QwJP48a7+fc47AX>EL2@hOnEL}Rr7Y8)Q$cIq* zqP|`dYDwA|^8PP$fS4Iua$a=6t;AwZ!6Nn|Kg(QV4J6J=r;iyz$>r~KHfk^TI&^Zt z&g=9N`$05@eom2t4OWZbmI??BvYz`>9A--lPrxph*DLWnrv^2|oF<;o!zzReH$LAP zPhZot?6#;3rRtP2s{klTAYbP}3&|WRW8{&suS_7(8J96XqFQ@DS*(2t277L@(PFmV z%|m3{Vqczrk&HX0{|8_b^9sY4;|={%Vj}|t{f)K+$Dt93d|OIuVzY_2k-O_HYMh<; zk`+fzOu$seSS-9nlRapg?a6Yb`}#}A;Ek@y;Co){14E%jWojiMtEHEjp2=_ZVeEF1 zYKb11Y~iUt=u>e>e;k@;6Y6k!-CvlxvmiiB;#9Xo05%GKOB3?M!V|o)VKjwb^s!kl zL4T^>Slsn>Kfwx^%<%_H$~HUywJ^37c1(&KK){#M)jv%uQs zkx*BfRU|UJWib~dEJlxe;+uIqc95qN-;spIe&+mSVKDUiOu@dWk9L4V5cC`9VFl;d z1ivN*MQmxJ^KV%evv!_jt}qUS)o!Llse~AmwJem#BxrKiaGnIf{!*r{7avY8-UFa| z*`#NIqn3wB`f58ZOME);@#Zp?-4cG#I|+0OS!>Eo1%HD)4C=v`LUv9x(;|b3OO}h| zeVnfgA_xEag#F1W*a7D0*DFYi`_sJlz=+b)#^u})@>Bl291ko~=2J-NqOefDjYRye^ihXU z^DaRGIEL%e=#;oBwUbChh%>a^!e6{5#3PVEs=iY22a z27<%{lu!e|a<#li>;qZy?36O+ZdG5$ymJ&F!D*vg99;%weO2B>AzujpG^f|`nXo$m zdw%hryW>7ImH!#imj4l<#tj*ZLga7RC?K6h1hG-Dhc;Yza^d@iqV|VYmLRgW^j<>l!!-(?nB))wA#1-DJO0c+@T7A3v z^5+%6?E-6@!|3ololNgpt?bK;< zmbA$ZOLLoKBvC&5bc{k;x3jDKh&k4-b-D;mgEtfT^%sKw-vL=n*Ykyx8F?$!w9oVY z#A4KGB$WJoIQ?|UUz*_lR$Dlwo6>Zz-O$`UZS$!#ci%YDz>6KJIV~d`Wu=AEHox|Q-1Qs?O$&S`Ow4Mc@ z1&9(P=_n}2r~Q}av)VRHXnnpc@NxNHQBrid2)#ahuOQj4rnjSQLUA8=ET`HVG{n z3C;RzVD3nmeFR*YE+@=jsd9`Xl8t9Ols9CBlmdzL1b>5g3INTqLa)vblU>#_akT#R zq(U8!Unmz{h-w5)KLAFWUzWMq*?crLpd)SO|d*e3!H8X(uL>tF>lwFAE;u=;z7F){!{;(QO4KEW+=-6 z07!hc|0hP-e#s0H6V^>?{me{wog-=nWn8@4ryWs6LH_{y&tm?`~!-006Ye zf5OO8;laNYKWUcOgMNn_FZ!LD>g#&^v+HT5yey*B)L+?Bqrx(1(a9vxap4ox-L+{c z^68!8#X(!&S?v4ep|HtXl+fVuu%d;-qS)Y%kJDK2dDl7k^^PyfywvaC*S+=DtlRkb zO;B_hFP$%WHlHV+Q50Vt2|FN_iP$cM@#SaQz%DruOhTxhn6xp1+{QHih_mYuAHW5H zZDc@*Ge!U(qKyBrvQjKJ@8Lz>i8qqh zSbv=l)TE{Rza`J!hI6510G+@YVCEw@heBra_wtXh5*GPf7$|~quBmByZg2djZ~6Lw zuBh@rQk}r&JOpY8Y=0@#!))k}=JvpUSFG08!X@=#)M{Iz9l7Y4gFHmRK0R^6!b5IJ|;?iTJ>D~>?mLYumP-UzDHQtWiz!;DMnGBhXNZm`a5`mcBz>DD4 z39kPuZHezHlR+A(>7}jX?}8foTekcoa;eWN5mm;$kcNsGv)I4&bE41>-^kKvk!^>L z4IJ+^FOW`{x#9dXkvCVsGfdm-v9z~gbb?3X@q8toqrb{|(1L?@eYd2JTAyD)X)o!m zI`zO8Ys6(s_1?S~5mnOqFKBMXN*EZ*2-NuZMS=wi)!$t14z`^f zhe??cZ{)9-cHWB9kZMmgOWPMatDRjfq{l>Y;|h`QX`-urnV~c~hmZyO?DY%0J}|r< zHC90o)G+a+DvOHSdj7)%R~};QSL`zU(Fv+*(Du8$`zJaj<`LPKNi$Meg_UY+c)E~c ziuLikW8p-A8=*84kM=o2o0iV6lnPF7=Y%^=RZM@^`l|8nvJ3G7S@MWB6pI+1z75?s z*ETz-__gqANUv~NXz+5Uqz}o*CjC<0bON@xw6h z!l~|FAsA0p9bR$ef@IPSja`$r?8G~N5Ob{!;9~kH8`0p~XBrI^RMAIlrcZ<$9Hq5B z0({gBd5hnTE)2*@CcXRnDZ*z-TgX3({tn@?Tyvc{wq$NzFn|dzm#zV zS{EiYwIzYc+I1EV1Qva@ug@|7K_7eO=y4xgJ$U(k8kPt%cX-F zshzJdmj$3kT;NLm`d9OVV%V#Mm;)JT1*{R)_NRJg?n2-jzedy#O{?1~%r`o?iItbq z(|s>iee`(A&SEMVz5A=v;neKrhgxfgLv%xMf-FdH8YW3ZESLxMa=Uf$ASgnWhKbgR zk^H~?khWQP6c`!+@cwN7cR%#sw66c_mHz*|BjWt8idgJ;e-HnQBNFo)s3>O4lih6RWzC7KHrDhb{}Bhyr$ z&&LV=MGY!araGcmnbn9OpUDkt2;c;R!qH@)iozkRR3U3?qeHjwt~}3vESpS@b-EZF zeu`sNcWVAe9_#Ykw?9Zt*9^xVm($Ok5C1M2yS(`y(EZK?IH>?-*Y$L?v~6xbUzI7d zahKa3jF&sQTNwcP*DC96gUO=ru8+j8)xmn7b#{Hn<|80A{2`WLJ86=;fMaG=xVco< zT`9USgSB*1&*+z$Am9QxCp62U`Ru9U@QTcgo9T*Zww{NFi620|#`)c7z@gw%TZw0d zK2nqifk@2#-Q+I`k>Ur&SWX!aN9j{!B?uS-@mCiW0P6T=@aGE@@W;h-Ti?18kc&RC zx@j$JmnFD{^unipi&RBHzSa!-cdJG4X+Olbh?S&HoGaaWcsQl9;lk~hIVU77LiN|q z7^7zkhW(NNwfr3fIW&uR=IizpB0%F8_l60vv`=+6(;r_SA^E3saOh!$x-~t2RHA=o zQaoDgza$zWaGQjW@@~P0SGQtFzd!YJvu}bbzUKFFkP2Hu{}F^*SB2fcQ7hJoahUUm z)L-tLoN5CuL9U7Ee#r)W-(Boh^Ky_bG*P|VjT&wwR%nqnq@r~|8GUcsFW;!|zI$~w z_Uu7`ELf`TL*?p;#_s-9lAA#~XQEJ#2@~G3j^&5pfcY13CRe$Eo1}@A-E0=(09Uc- zuc_^*vF)U+0IAm*hh^a91m9L0QN<)aut$g5f?a~m8cCwLpKP|ppSEwK!L97IVGMGa z64|ck7qTMeuB<6p1j0kGSi8b+uUUWf@&8KKV|a19(_Qm z#iKq6T?9>PZ*<}%-oA$ffUH6UeKFXYG3!uL!gq#l zsJCGJF99!*td+xyl}Gsg6cHQPNt(t>4wW1JH-7ZV89s*kLA;m?DoZT_QjQGL5?VUc z3|a3+ninwo(_5-gPgGOgVxJ}a?A77B^NwJlC-4hi{O@y}wYEI1xqrdYD4B{*pCST~ zrP^h=Z`swTG`IX$!G%1&G+RhMiwMo(S2#hd{a5l%9VFZC$lpqofC|J|aXNh;y8XQj6$_{X3D8#hBq_G{7UpV9B}{;9rfR_xTQc!M3ASIrwYpIhR!6_|F6mGe z-;kc#6ux)q8S=k$5Foe9i=50~eI!rB?T1F}VUSW4p2Zq~psLCD7so!vqw&Z~UnEiA zM^S#ryHi3z|BBwC%LsZ!tat^`llG;dOn`YVYXY={qlCv6{A?5RInpAu0++7&!HrTD ztOsur=!o3M#^bQeuU|(m^Uoqom@W144jHeLtdcr~Rm_s7!Ij-kXcoQ|EfgC>pl_Gzd6%}G#K1B(Jz>^m$69y(M zjqFP1{&fg#&+)256SA4khtTuN*p0~*xUI;16M0yyvpd>so9@?fmEd>STG|F>8-W5_ zqYtWt;*I{RK^WH%zrl&eSTF$N84D$xCG=Gl>W%VBBJ*XD_ehX%L6f<1q6O>YO%C{4p{~BsYZm(pO5HUM2+W&DdbLU>(l59HG@s}Ngyc{aGCbx7`-tfj z(--}-=w=B8WnaNz8m=K2VIxXM3@w%U7xjHq5yKLHBVyBIvT&PQ{Z95F*YUe`@~i2i z?&zIeD`bRE=p?_1j9nfz`jE+y99V6LErM)?TQ3i17VT$^j1ap#3#7ZkZty}I4Kv{p z>6gr{3>L{*$o2CdpV|&X;~cvEg8pW<#euwt7tUCV%T3o;)-xGN6?U`dJZ|8}D`fzN z#7Mg#2QcJzhgecFTUrmn+z@bptRNBs7RFg%ez!6b{M5w>B^jq5>i`fB|7PankD@!l zv_Y?5PYl}xQ)a_rhSydBVT1FHJYzj`0!3EHE!h^Y)w^wjV#AckGhv89L=eYh9kS{N zLZryUmKlj@-qySZh?%!a1|4TS(tHYUN4N!6_4|k9LGwh%MR5(ndb7OcWKitv4EDAi z()1<#2|RaeVKub@JWDXM{u4xX<$ZUucXOcOHO{;YI0>?IaBZs65TJxH#g*bC1?xb- z8ufS3f+RYiKVv$`fi#ddGphV~~}}H5$ge_{KUy7;mb&Y73!wnj_q5*bPWW*1^jHioSd7-)e(eeMx3W zSSgm?er*TFo?PWgruzI{g<6f)T4jha-{*F|+h)tZfxgEHh?OLLjcK1|7gj?<&6^p* zdX7-Oz>o@b)ZIFz`xa9NnraGQn6Kc+;hx=T#UzznX$@8K*MOr=*QOUwSs;6qn)!U` zSPd=H0K^OGp)>kvpmPzP1~`IHE`DW{lJG<^Jj7=qPFay5hL~3`KA*)ZMqfqV(;-Mkr;s?sKO3-BUQo^*m=V~C@dBcKg5 zR_E43q^B@a;>Xo?fG}LoD4dTh)X*qFFI*Q6wXxLqKbH9LsC>f80K*c0+3|{d$mfuX zru_0eiaznauetPdarOA__qAkp-?&3yA*_{5+a-(_-=ot(UUwf8zdyI^y1|e+{K0ai`Xq z2*@TQhLU`Bpf*9c9XC0WWYAC2c4pG?bq?Jr46SmdS@9VXEGhzoeq6QFQ>2$k)^ER|@Sg_Fs5hz?9f$nDj5gtd*#;VMKbqUrh8R zBO6yU^7m*e_6i1LBdxwd$kM#wyl!EBBIb{}jHL(FYLFJJsG{cqzG+*iZ4R_*oLlkH z*x1f@jyRPR4iq@`5l6G+!d0(iJQqx|Z>`V)gH$tsD(P>cc4oVG8F26GPc$SoLzf@A zE!W6TIvZh4=S4OfE@AkRz9;;iq@pX^fSZW)h@G?Dr$k93U%X2+T$j7Kyg;K4N&Y=T z=A|CIymoI`xd{_qw$xx0cVjWngDBR!p`-ZYs9MCYE;4yA1P=VjOr7uOdjk zOsx9Ix!crRT+%Z`mXBQ;&v%-1v)+1^gO!q(6eL*L2>naxO0b-$Sb4>@v?UvZ zwT^5rMq1|{Ipn&%J+ee!#*8pOjTp|v+LU_-x&L#3^KxkwC}gy$ zV9P;2j4LHh-PWFY5sZH6?WFbRjYbB?M`Fj_qJ~OACkTaw%Y91Kl}JMBF3#{fqRm=i zhC~MafpOUauyTaUDS#%ksVgds52$m?KILxCkxp%0Be7@^Ya(iWhc(IM45>MDp*bhf zC|X><$p=*1j82DHvwMm1vanD|ED-E(sup){&W|kfOLvW~Z0}Yu-H%Z7j$P<+TYn!B zog@3_Yk}}xZ>-jVrS%_s#63{R?U9w(KWZ-R!z%D5KKHBu-Fzl65N*qFks6<=F1>a?9% z!#GTu6~zJ>wR1xl5O_*JkB6kXX#J*_NV!QC^x-f2v)6qkDRR>Jj&RfbevE(()}570 zF#OcqU?~ctAV-YL?lDzYaNMT*ZKz|AAV7aK62%nR#Qclw6-SBqUjo}6c}20DN0NTS zwtyNL?)hTOR^P2ePOKR?dYejX zTNy5^AmGIs-A( z9%DE4s!@5ar*`iqtJplQV9Xs>L^-D+=3(Lf1=6!-$ujvNunb*qyFC#RV@okws++Jz zP6Iq0`~Hn!W^y})lrCF65HAJ0eoZKfE41tuDt8mnIkv;pZ-0@HLY_aipq1cRz)Nrs zk;i}%=Ggk1z&m+eK%^|5?u<`HZAORTFVv&WiL;28t#59=iGqW2QNYE8e!d*K*`9wR zC`L5;$U!TG6jUe!q8)^%6sfK4^*|*)fQ`-S|Bdf=IG8?CWnyiP;AH0rKT|Ko6SV!Q z&m{4;9El4isBKU?G$VV^?ELr7+%SYes<2XY6Bet0GK`b9FLem{3QW(ptW6-fey!&rqNIIO^>>g;cIg(wXrgdNj zT38V)S$b2h(~YjgidztY$g)@gfS|Hgi!@>UE_IDfk$+74hgbZzOip2P=Ond#39e+s zB9c(hm1^pS&hf+4Ji;nJPSKeK?Y3}iym30V z*|Ci`M#r{09VZ>L-`KWo+qUhbV|T2Rf1iJxi#@(`aqjjQt1efKRaL91o~k+LGYyoH zIe)oCq6MZwS;_AVpp^~b&AIBvo5<70rNdARoJNO@*r(3{uc&W>ggS+L*a;Lzk=K6l)e!U%GM)D;R)W4(A2a~-(2kBy->HEFd^#n zv|=JrH4Nn_9YjibV6m#)l1N41z@T+COv6J;L+}YNJJbLLs}mA9h73TABs@^V*io#9 zySIoiqVjqX)K(##QHU4O1HZWnJXO9~-MPP;!?abq@7p{V!UNkE&F{vkCFbZn`K;)2 z=VJKeb$Mc6#T=o*7KqUV+y~&w&dDp0$2171`;}JhRan?5g&Ue|6Gs~>6D|XWAvJ#R z8zT=j)>M&5M_NkgL5rTG>ZX{ye(;3d?`HoQ;~F#APnsKt{FP<-#9T1?n6my}U7-KU zKh6K3A@{fyB%eEBA`cKTyL%~VnCw|73E{2*02qeaRw$8bneut{_or>@q(PB-XakfW z*}Y5U(9l!|6k>=t3NxG6iREG4Td&p6R&bEw`*)Xnv$i`+i&O6sf_}3Q5&&J(cLci$ zjo5<75IhcGKRnM+@eY-+Jo~%@NY(^Ay_&yz*P6k4_<}q91wEaoEHYzu)CskqK9i%; zASJaM3G8S$2i%Jr*!<39`_gS9p{dM+3g$&%yCmTiYS%myS-)^Jwd0A{LZ~+&9v9B@ z?q1)vS|K=m#eo-(ENxBVvNE(m7)TShf+5BNfIu%&r zX+ZJStVA|YI%Gx_zK$svxeP>pKCwTe`OHDNGhedJ@Q^olP)asxyGs!WLs_0} z94yg`^PhdHm|@TxQ%|pSh#i51N#|}zB+D=20`tZ6a&HUG(U$|;o2LxrF!w?-uerp< z*tDOU)+as-VS0Fn&!N=*EA570h4+nDI~*;$Q7OupRsg89k0x|U&)HQ)$|+&BcDfZ< z4{`!IS!(%T<2(A4zd%Fp1pGmG`pzjFRH;uu1f2h@y0|A;;Dpmm%>ISL@vEkZWUw>00^6f45si?&+*BQ&V zeSn+3@(%Z7O|7b8km=r5HNpQLVJ@4A5n_`=bi<(?5%U1`^yM`h)4+l;ALH88w7`Dw zr#fe9wvFrumNxd&Yzzy53IijKi*JqCK*cRtX#N!Q%jx&rLe^l@)vI8#Pq?lv<6rey z+cs*VX=DvC6#f;#rt;tBT1Rm9-BMC;Nm+$O(~*BPMG+W5)&BJ^%B&3I=ukTQptLUK zX5yc4B8E$A@(p(#F3(+MrbrJQq>_#!)xuBB2z`Z*@TZ7;|G25bFfsWvGMH%MM9X5L zgk+3lD41X7+kwT>$^9o>ZM7T?I#%uEpO1vt`>S^HWR4xhJpf=JNtymcgj`#a*3fJW zn?9hVHLU|av;$T~bibG^{?Gel!BqFr0O}ThoZ}qRZqLo;6CXphI@ahjyDX%I3^%lk z;fU5ml?4SYFls3mFK;etG~Ex1&~u(qM^BEPa@7{n+_jB^KtrE z0i^)eyft`U$f9{%l$YCc5n#*${H?2Y?WsKW~R!$YmT zO2((5vkxr@71-`3ceguSa%;J?C8C#eh^Kw%AkRg0D{2EV=X&6G6I~q%&Ky)G9zNSG z)^9Jk{q~_P!EVs{H@)Fz-JH=kQ+<${<7!({P}mELk#t}}xgy-;`Mv&*JF_(8WIFuL8!HioqXqLs z-Z#MYh?@2G_>Qp0?TKCK#@52VQ_c;zT8<%JKf!4+iBN2ld zfwynKhdQcb58QtT>Ih!mBcHJNa2a-W5jRBt9YN9L{rJIy3kJsiRsP=)l>dlD{7*$t z;QxOppX)yYC}6~&JO2SdvHt3;wEqH7MCv!Az`%%x|2Kegk?9#jso}jX)VMogcOcx%<<$OG*QWOrvv0<{_tklntDCFE<Cy=;#Tj(ewfumt+O;f_boCbs*ecc28CivhYa zn7!5v$0OETK-FFL->Q3NR!@xUWyH3Jt{yT_8~T$)3V4j*ZF)~U_OA=?z)Y%B)*e`v zGdMDg2l1Nm$)|9_u8*!>1@wFF9bX7u#kf?n+ByS{`f<1GmsbQni3KM=8?cj5)_#Tu z@zmA*UM5JvMlqWejg_By2ywgDw~@@$z&dfjfI{85e28A{q|Hk5ib7r%atE5b^k>-W zMsvM*FlZ2@1-0)OI1G`!IplIKYYVHK3|>v9<(6(pB`@YWb5_%HeVQ&okN1v}GQj~WxCEZ}avu3ZYKK4oH@c5%-)^OBcP^@ij+v{)zX_vxltST%!MHt?*s(#0G1$XpmOr z&=1G{4DSJ)(@B53CkmKongx|!&mykCb0fj$^xhdhDJqTTPI^6i(WR;4#0HOnCJtTy z&%@q1WfMP^80YEQwc4n9FUr{4SNuCuRvjVE31fE_31^Au=xbu?BpjQk2Rk1H-M+KP zDh?Qz{d%Ifv{fX7G98ExkDOH&i_H5US;M62TANQys<#B^Y$PmlG5P6Pk1v?db4PU? z@U%c$BGecpP8J}MZ>O`?R+OnwT8wpHkcSs-u(5Psu7;yU-Nxrobj;IJ*(1<&Xl*X=XRn;*c zz=f9=W6S(bs93VJlu}XkAl29<$&odqP|PkL82n44Kg(|DD)a9C5q?TCk0jAs;9i$$ zMq+ZkEw_qFZrFsXygWj&;=8^;uc=w$=o;R=si>+Vyxj==psh3aqm>8~U$V^=b%tHY zBi$6KCBA4*s$5D%C9A%cSzTS<%NRm@qFPy_TGqXs5e@US<-<`9uZ+z#j_Y<6*_uYYM5>BZ4KDI<{h5PEdi<@+66VmqgPkW~;6Z%0$f6O%=dUL*EjwVJIHA-Nb zLOgRLXHw1wz^%MD4?TxX(^#dVw%O3$WNaY(3A@}@Tvw* z?RE^mLR`H^W1Br2vbCS&ly={h3VZ@ASQx~iju69k{ft?9c%;@PW{(&qh+8T5n2IX6PGoYD)AO}(U(t?%AN~?& zrBS|8dC~uuI(4G6558VJm0Xf8y$|eD&g}^+6!`;yAi3js1AP3SWQnR6esmc{Jx*A~dW32DKiODUM)1 zeLcG2t~-M)E;OM41sOp+i;C=OJ*4sKo2`^&)h@f5SYDd^nbCKejCBBK9FI$JDun@N ziPOx5MxN7&C%Ajt#H&8+&PvtN3@TVQl}n#Jg$$GdCNM7~P+ZtT`rlL~1@Kh*Zj@(g zH{Xj=`# z4=@vFifs*XBB1pzZotZvaS*1FMdWAFUM{JROu+Xn@nxF(HTaNTTK~AZ*#Mja&*JfgM*^0-u({RRX?&ld zIKQ_w4{A5XzpN~>-|{S@l#rwn4#AE#<!o_1+)aZhd$5e>LCdA*O7!(P}#;-xf@<9r< zL7r_Vu9TwjF@trj_)_kK1@u~m&d!p{sVA3~TPs+b$3Z5k;IGCU6KtD;Ff-X*PU5J+ zvibL|dGB+>9*I~Uv<*#)K`%BtdOd2RH_%7?{rNZ!#qHaK;gXGA3br~VrIL&YVZDGO zg2OrVeDZNx1mBhhgc3)-otAwKP(RON#bZ=K}@wZYoOM)~;UFFW_r)D^m@ zm@uwnv|iDitRE2?3N>AIq5?$o3-Z=YRQLou__`>6kdl&bs@T3%*oBTqxVh=7;5J`d zf~LUpo`kXz5==(RyX(*Azg(r|w4_jFqZCJ7aTuK%HSs1pOVX@8ZZWDCgO)vLzO4QE zQeSJYWt#K;QJ*|*6_=C}(J+RXFv~(jio7~2pD|f9GOt=mqW?*8SU9kIW83u$DNq6k(ypbSxs&=w!@)8{DA=6KqwXjH(O z7~&`)%RnF?pLI6yyADY z9f6+ib-+KNigk}I<{Q-Blk_EfdYhxIfqATHt~YGT7nkCv{T_2xnUyPkwk#=DHC{&- zm4yRGq#Y+Ed+KOTUH#Lu)%T5Hx6}N7^y$S0+nF-gE)7-vEI!-PQNxH$K5lM-!!BKN zpwWXrV`9<^Ept721ibhsCu5T2XyK5-aaVRodPm5=oh13B`eD$^dAg60a&n)smnHrh zzA-*aI1eg^1x<;V9MDE zEu{hG6&?~Sk`(z^UCuSpHYIF3z8h?a#AkH@ex&*KSpnY`{^h9VZ$cn)*6T*E9+;k` zJ~Y6+Ftt)U%cs?-%huJJ&+!V7$}rjWgSdU%Dy|iyU6G00EYR21;^+QUzr8wQSHC7l z_$R@B{$^Hy*(j(0B$iZlpfLHfLpn>s|6hK*_*~XP;i>#>I2wg7wZRe1HFbf?`L_18 zr=WdHdDa^_gO574K@)DYv2I8q{+f5jpMMAy(;}3#a}{fK!uLmr^}8DHSI2@6)PjgD z^5P#?`fK@b&}UrVJ+W5${e0s>{0Arm%HV*NE+LZka~2eW43p1n{S+?TMWgh*n$ttY3$XVxS9h=KayL&-w~AayZHk z@~Dm#6sG@9PkH8~hR-lol|DQ7?}$gJ+_OXc$X@F>tIb6G+$2OmItByhfir`s-JizK zZ$wBbQ3!jH7(-20!768s3sB-TO8fAYO`~u|IgY82i-sY?_LlnAI3lQNlJMnb54T@R zyv3Ny?e-iyk3<6PBUkm^uS`(qi^rjKq-tZSMWScD)v8sGU$2`uwjr57j!PRzFwdFn z-E2u~LXd`8XMOr|3+S^6@7-y%^4YmGvE@QbG<+)vduzJ8^zbe=I+@Ko*7;IwmWDra z%cHq1+6K6h7H~hp72ww5#;I8X=ZqsXl>wqTG>BPYk<1tenQLFw9Gr*(Os+vOuhwzOwb8dp8o)-^dZTpWN5_j-TN}H zeS+I+&a&XACR&QSae{2w#N;^RW`;W5giE4L3dpKGp_97#{i5OncrwK;gMT> zR^!2CFbC-Lx!-5;>b@}ZYWvg<*3h4a=_z8)0B76t+Bn3v5oMq#0_LS{v7`oK`xU1O z*Mx)zl+Y#$vu7)AEuozXR-0CP6=v!BPt$6;ZpjFlI(58mfUdn@ah)QVou2KfI!-*xF0DLCjlwn2lbMTqZ-0pXHg_{o5fla^p)d)_AuC>#T0IR&+7Jhy{qVd zs8bz=D<=EV$UFI!cZyYdvrDI?4huyKXlW!3y>O)IJ4q$dA)^^48L-AY%idL>aUNEA zLdvD3p!>vEExq@Uk>GB5Psu!UmVu}Gq1W;JJ7SISaTGXQaF8AY7aj_^MDBO3BoHWx zl3g|_g)C`~v?v5R5EnELZ{&S=R7mi_x#fE)s_pL?Q(`&{?^Wb*NJ;f#v9;C?8xBP_ zYmCDRQ7flSR?dbi4lNP-H?Bad2?D54mqG!VZwI%J<$N;ox_O)F18DsfG8mkE;v{}~ z{$zYMK29}w%a};4VgqE9Q2!%Jm>cP&5`rdS;j@^5A#jG8bq|k^R!+aS77B}z#udgq zLe_R|qA0U~6q2&Jf*B~)oRAH7@$b*t3cy&F&G`Ch=~;-lVX?o`j>U!rF+m)p zWV*S_An;G)M}1@R{A1|9k7ER0M!Y3C_%rI6Lh|mjDBXX*Qm2`&j&;V%gqynQKLSX$ z57u>rT1<6`-WLjRSslda7*qCA)0CugSuNZB7!B7-ds}Bqo&m{=Q87s2)^eHxACDDw z`qWcLR~HAQv}-CwrM9mDG&%7>4rgQI!-3?))o(Fl$R!OqeQX?soR)Hy@*wlkXe|E@ zW~*e8EFnk877h-F4jEm8_eXPnOc!qg2PqUtTG)|WWm9KU;*u_p6w;K&D)&>~K3XK~}3yhK@irVT~QAjzCmMSY{)da%JnBcBFSe zBejk`Y%|b^5nVIW)m9y}c1d2|>2WTWht4jU*OHx@AbW+IEGzfbvcw;Isd;kwN{^<8 zgk%$T^samRNOA3G`jjf>Tp69(8J021sx-E<5L-Hvfym4&FC8b&`KgX;= zjU7B3HaV(u6U<5wJmD1{U~%L2cpEW5-63u31cnnrYff8pb)p);)mz76>uShYeO z@3~IsDT#T?F|+#Nt~d>q@bosMfTNFB3{o=a6r ziA#>2(Eycf@~`dZ>mo`N7(&uyW1nXLLpDl8VzBwBV}?&DcXX)B>`eU0H*?gkZT8u(_FJAY zmMJ5?m1DEh3SpFVT*i53w~YgAgUb0@$aKo{v1QKnbmwgp^#~DX^g)aJLUNV{ky-l} z>|$ZxuYl?4udrb>($;_jH)|oUr2^eNI!U>@XTe-@dNgctRtHU@!m_Euycuz9R^!DK z*L&B#m$h`iKek%XX@^37^M49aB2Lq#$i}P6-*>F2UWP+{Bl36{Bbzfqj^NQ0!AYR3 z6e$3bRmuHv@oei9+JEzDqxcwv+M=N1~C?jE-B7b5qTyAUxy&S3t9ve)$UsGUu0~b2nti3 zu|+a76XM8jmxmcSM%-no?Uqc=g7PP4!&4yZ_AuL&x3Ozaf@)kdT734l(fadu8S=1M z$s~GH3*b>ozM4RFR*fh0geG3ab?{*x*N#g$2)dJm@xdL33RwH{f1&7g*n12mf$GUjX z1!3-!AE+~~>N~ZtGfP*eL(rMODPS6Lv+mJRLr;yswyocGSk+qptpb~1sH;rLpjB@? zrf(be;7;T5Fthgqm`Zzo%W3i{X!6}SrRcSu_)yAZFA2#KpmV^o0>W)XHnG%LUkuc0 z6XYJ5swoA5STgi7KmI(+CAg7Do}p`r4Xu(@T+1!agQ!c$OJw5~IaW#m>1i!ZGMYS`b!{)lwp}DA+hp=#TXSiy ze=9G&3r5-n%jqP$=P$Gp&4)GlRYy&M-`6Lf8#H)ejWyXwD~PEph(3)FFYF)u*Edev z)Ck~y_( zjnuJ4DwC2TF{QKcA+VfELgqq|{Tr_8ja*~SELr*mij%}zHAqu{v?7z_t1lI(?fcKQ ze-L*jf?ei{+kuz*#C&dH2AaSTL)H9S2y3ul^*pYaUEC}}DAKH)uloDD2e&$*_gKc^ zV-wUxxI1t0yJdq^Sx20R(arASOYiG75o6ZY6wH%{0C|%cU`yIGV4aBFzXrplEjc#p zG>9`j`25MJuuXqj#Sy-}%5du=z0gW>*zl3}5GX5u5DjQGcnL9Fs6VJUSjmAyhhXPm ztttrGcgJFcRYHo*>ktjUMWBVT$G-X$7T=B>2`QcUBc4f4k?Lh&xhUkS5+P{&>q`-6 z#QuwRLkCQMjzk*1RBEM&F*nQbvLF^VYP!?$Ot0lz9q5S3L3+so7dxrnm z2?<-*NtM@w_~TMaeygcP5K&wgR4vP}Qs5z+I8m4Kb4mWV{ly4>Qb+<2rISjpAl+A^ z?(*6pRX&1`H}%u`MAO#bH-Ru1Iv3n@8zi$12^$XrX99kuo+pO!TR=CRt!e5jb1~*2 zAVPQ1A32=`ODT|+OR-fyt@;yDMeq3ZMBLt1Mng%_hq1p*kFUrnvf|LWLsQzRK0bydyzaJFb*}YoOhW!wEy9;PLgJ3G}teSUF4_P9N%g1$&!{1M?D0MS36@{|0&KUB- z-J(@M${;5j9l#M-E!6u+BXmj0r~aIz*J^dKkm#U1cv z2on?tD=LPLOY6L|T=HpJk}Kmajp72b@Y@VGyQ%4T!ovSt5-NwdxqLMLeY43z9aKk> z0J(qzr55166s0?1>JB9aKUGW+!<%R6N`(>o9`hRE@oH;SW6GYgGM;}LnaMu**2yOa zoYe1L1+z!>SeRmdh>E#NruBwQZQz*yV=#8(DFBvQk$p>UEO{oIM}z0|XvZ}`PS1{` z<7JEeqOO1#Sn@kQcNw2QS8+dlRzByfz*8ZKcLOHm2&lpId$rh5&}`{zw)uEBGLL4x zzZXx#+z0VDIr^9L3xOnh1Y!8W$x$aPOqPeK?4@dG{g&?&gBhG{YJ#ncC3<7J&;P%gm+;cad126HV)P}U_u zS}3}QObE<$vU46Cl=nUV3HISk^hVl*!z1i6&p;7NG4{96x{8I0e(>uO)vZN}5s9{n zdb_8BZTTd7wYfKCMR?5{tmCq-xb55x*U^UTkm7EaBHLO4aSN8MBlFQRMa&jD#0xfF zO)M%+^V4~L>SO%jH*v9e3$l?q9OaS1whDJL=EP>mH6I<$UnO)!?`@v)Iu_qdUmh9a+T1;c@g8-flE ztslcl)pe{q7eWMZAoxd|5tk}p$i2S*7g|Q)pF}H#2kzVX+S@lL*=gLaKlYosr#kEb zYuWS!d6`hB*k7@LHY-Ib8s5Pwi0RG?u%;=?^)RBkcqg$SE>B0ZVaX{>%MVlnQ|X z4-q7}e~-m^sBG??qysrnR#x!th}`m(ka+u(K4KXU0K~xiTmcWU3z)>x*G525(9E26 zkJjZ|4M_8CBA3!ZWOkAK_U{^M7xv<(`mf1Y&L-|~ZY2BNl<3_TvCd}17{2rE?Y2EM zwN~fJ0^Og~hv;fN#@a{*+_cHot(RxpT{CC=Gcg$#9P)wR@}1!LMQf!JYoC`$7Km{o zK2c|6bWA+ZW1Idv8K42xUl{sJZw2;M{_kXf|6mmRA7S0E&SNMHcZL@>Vp4_pBH zuU?V-FD`%@mz_8m7=r2l#|5zTUrdvaFq3i__ANf$x_tN-VdA-F!p{aH1>u_mz^(wG zqa&)r)316EYc=??U$fug1`euY?;hBd0HoJfNN_#e)89h~+qx391gj701K9!B z0rh5EjXHukCWyd~;`Nol4B}_ngUwER50~HP_H*9)QGYhL54cyB4k`jL#g|0Hm+F^E6ANyU=8AievJ^s5>@Zk z_(d!r?SWlx%CI@U3~aj3bY-2^wi8a*{}JY#Z89EM)2zC(hV$Sp1yyJ8YOvGz*AV^u zU8=v%-m}P)rBwXwy(g{kj~9((oXl#sqVQvAGXX7zFG14q7Av z9|H^g!!I&_C#8fPsLjh-pJ(*t>CdFbLWvL^odlnxZ(FJp+um`l`@=V8 zp?5zC_oe20wlWMl6=fjqUwCco8EbEc?6tbRLd%xLGQ>LaiBQ}vJVF}}CBhs-R-g9? z+FyzOUh$0H1jkQLZ#Yy`kD_??5%GI+_%I-VVtX5HDwy;SUY_r4_1k4|Q5?E@rl-i} z&gnd^p^HL>r0wkzE6#8}8&pyodxbMdRLGd}SeN=MCqLIN9It)`@FbID_Wu^xYHgSpd*;&A(>85s z^-tXmM;GF%-wz~Liujpg-Jink0d8iez4A&W`a7EnSyI!$!o@1~3}?%5f9`v~KI##F z6%AUmj&Z|mpuZ7M7oIt-bLuzqhkpg*I3do_SKtc3pqmoB+U=^IaPjVek$4Z=0b=9cmMts_1$EIz*9ZdhF1#>w!z zup2?c31?)bq=ZR^r9afVnmV@$*}vvyO@oe+G5qR!2anXU=133L7Cgbv&Hg-*lw-iaNigBfLK80|QU?Rj>M3xr!1HWbr# z`U$7Ig0Ie7Q^l`}%(dF$6{@6`aCg^2G4wR}07lT+Pim}X95;a?2R+ZN!X_z)EH^Fx z@qo16>FMO?TSCt+sjEe{2i8Bp+Y>Jg4MiZTdJR1C_+DgGrU_>m@$H8y*ZMrfH}y4o z1V`WFM^G-r5nr+`yN!w&4!Wfj_4Ij$iq7<3mO@gB8eCGz2}j$-CpO;kWC24dE|d)e zJA1U3_t|f^UWrs>vQFlIc$K5W?fM=1amo>be-^Y0sH8X6 zE6k`WARX3bwytmb-j4$l3~LI4g}69ql^VoI_(5qwH7n!1C^EM zB>hTC{>D|)7KvFR+8{o2)C-Ai?CAA}!9hgNtmNFEF^O$!@oA;Ma;)ZnqpqT-dD`kn z8$fmmUDR1>Xzol6!9=(Ww?J%4=tnhTJC#LNT1=(|@ILb_!&Q^qLTg~R!~G)B^ni

xZqVp^eimfYCXdP%qz5%V7AImvB(Wfy#OI{}6G>(pPU!Je#Ywi)<1_9Frf^D7 z>AM(+iy4Zy;Z_mV7yjN%B9zxV6!FS{$qN9)RM#e^sshaA!|0|hqjwsZcNIR;2VngX8e_e zvg;^oxM}pC9+RnvuS>I51J7vrA%-b)$Hn45{3BfK+XwcN@f&4Xb@_@IQ=$^jB4;`V zas^ejxzeaC4uK{U?I2R}&Ie4agc~Ra3_5ox=#%BGyTn6R2g4MVi!;aMk8QlG3a^N? z&^Ik-W`F*}u>Q~dOxsRplnDj64($odXl@7YE|G1Uo5`8MdryifFuwF7sDsa$%iR1czir|Z(2)^u7I{OMTl%~gJ%%+`SD;;K z$AMe=I8R}Zm!tg|&+UCfKK9NODE(dPk0HcZM;~KYf>(tI+`uJieD{l~5JO)fofqG( z#T>BUr^_1n0Ce^b7d4Igg+ZJf59B3r_++EZH#gdcLM>)yVrUwi;MI)_*)+fYVVfuKkBd-R!Hgl>aMIA5XS)1_L7j``@hH!%UkRyH&MiUz4fU z2f^yD=*#s?=Q*k%DI#2b(g19{0Q5sM|H9w^2|>#@L!&`dC1~vgbt~H7Ls;m+x+lLJ z2sM(yeh@n8n5?vP1Uxb+p=g{!v3;@q_A-w}cIQ%>6OvE_&$9mOhSPj=wsYUPw)eEY z#l=0YNfhhHzR-}al)}fh&Qn7F+Lzsi(`)C1UBj)rLDt+2LGF)s?dq5?} z+C|lp`E=i-WM4R-JlXDW^x!OIcSE%hbFc8KVA4R*f)cusZyjcQ!xM?YqOt=$UmI|z zf6%`6;6PSGbYVWl_s}~)+lKrq5B9%GcnJ5?@&Lo$rZ>7;@9ly;m&)3G_tuUo&P%xK zIoj*{gxGOu;n4M3(`W`0PuOW2r5>3YkGUK~HGCl^`9R*OG(?rJx{2;>$y6b`w%$O{ z|I?nm494uk$^4VbhZa(426Wy5gZQecMOycSN711XaRv3US?_Uyb89Kn3g^Xho!IhS zAC>=lLvINTJhlwCcSx-7l0G(&8Rok*@>YRBzmL+6jlVst=TmEYHO`Q9Pd7{#bjzbh zciT5WO^0Y7(e7S$V2hsvGPbUZN-XAWGPDQev5tuEKTeTTHe;xrN`8#skxcmEDa<@W zGib5_S%bjyE~GI8axer=W8St)q=;Wz6z?G5V>W9$;@EuG*N4INv}fJdZz;=R*AT(W z&UtSOb3a0BYPCYZ;i9q35IIL`!OXvG4mNA^KMI=OsA>8v*?&g=hT2KLI-lXI1*r~u z(b3nT0rm=o6jxqtZQUW9udhJqA;1BEoF`3d)}{&Irq3c)|7|>IP$&{gOYGS1f42 z8%}Q%hf`<6-~A&S4O<9O_f1Y&uIIbvGxaeXZVkWQ{G;eykWMvUoFTZjy6vPW0py^MRfaMbVYuO9(Pq z24b=kexoZVFY_~y*4L<>KlLBGL$7-9?Cv0Lx{N}Q8k=3Xk@b4euqyT2Mjk{!ix^jU z#ey@2Fr0QHP)wYI+rDiFbYVUDA8ABPUrO(8B>S0}I$ZgZUUrX0`4SUWlf{t`kvL@6 zygEwb)PArEgFLhUtolWAk)ETsAp%@UF3C^)V6s?px)oMm0S+A~X{?0h^eS>}MAuw1 zIOQFg(9JOTwH*O9;nJ{0DJa4s$HHV(_nKrOKHWLhupijjMb`|Yw}paE{dD}N>Y!Hn-YDuL^y3IDc|zG&12Yh2Gmq^^9|kN!6PydK0OYnPgTei zKr?7alaJV*5y$QjJNxYfJQ|=>5uBtr8Um}>>$w6uu@yt2vot~l5y^pT!^Cq{TA#QH zCUVOPCdqhg1%b{u1(0qM{bt4+Zo81j@SI!1!}vL?7S5VKdZmPzh($C>PMDfmZX$fd zN~Hk(GT?M?i3lVESmvA%VJQpO=1S^`V&%d;0lrxJun*-V1~3~`nq4eXWS7boC!}l9 zoEgqV0_bj=lt2ie^sz8HuYTYnvGEOovs)lCi~jJCn7AiHwqcRbu{ z(?e)0?qSjJ@ zwI%~`!Ac)9rSYi#_Qvanxe+;dx`l_y8BMK9V9iuD#8dt=DIk)o_WYi;Ux~5gFPGti z4arfKJ-ARN+Qj#+#B+Fwp&DyKG)tP1KqqNfC>@jje9bNxzo1~TwHeaz@Sn7P(|a%8 zCoxLnZCLy<4}=5>>4r8(y|&1h8Zy#E(G)G|)=PAa1&Bm$721*J5fPEgHu^z|DK+77 zA4o%<{`ULM(Ep%0=cw>uYtAqb>gbeK-paM1nPP~C6$HbaA9)87QEbKghyXPzq(8nc zs{9%GVM_h6gqk4ns}|16VSmDNxG!sS*6tl3Ac(FTm}j$rNJ))Y{gToQT-8F+RK0^q zgb;4wYd&E*ke{$-%5@k9iEp^o4&rR2D;$iGdjZ&L!hhweDJZC>iC?0P-yuhCKTfOY z8qs+vTwVTZ2X~;^T&v;X(n<3QORxNbp5GHMz_LKB7^3~s#4V+@GvKyzGG&x;$(Bf8 zLcs@&=KWNoN# zN?!N@y3;5OE?hE^>V5|`JhH?wne3VXn8aEFj`;r=Qb##DBmYxtNle=TYe9AAxmJnL z_|^fjFM-Pp@xY2cL^Fi2AKx?V*Nym=OF!7euHUFmi_JRmn})4VIq4@Ogyxk@sGA2P z1%p89Lht?`@q$AfbTnQDhMbCK3(Vlq_kB-^U zULp>3MgiiKTUn`1DBPbgb}fjj%q2K+SGcS}!%Mqyjr3v2UA&8kTbGmzDPC57bRE*G zvy|VARQx9Hy+tGYR?mJ|Q50gW7(=v&&Q5|&k~z%ofllCBE}Dj44)%XZ4@QqEC$mXw(hQYx`sa9@hQvNW)QuI=+UJjEQta`?ZTIOHS`s9Zg>cXA8m1dUopzq5Ynd7 znJ5p~urSHDIqjtWbK#-s4=)16TA1RIh3(3+S~-lW=0t96BA{V+Tha*~=XwV9B2KAh zf$T=rsJ#XTv>UOBbW;P?DNAooyBXbHVXTKHDU%k z?}z9ya!dq#PQutxRnU`CDo!n?)iT!L6VJl1e6sudvXYTy3@Y;l85TToJ8WiUI;Dz@ zbd~SljQms4O@owhU;S&Z(AbQdNrotUP18V1CM3}1qa5?kWxps%MPiuL555(ljLK6N z+g@t?lC?FpF;&@-dcdUkYvMCU_s_%FT$`uz(A->xBuLx{c^}KRBedX7_(4u! z=VoA_n|{_pPg5?G0xR`dd^cOrCU{wCAE(3vZ%t{tgu=72ALxbb=!6}@a zO*So|nb4x=>2^NpmZhf8cA5o8!R(RWJ`^9lZi|kT%*g+*4U115T_I_s8FG(Hi0rK& zGor>%o*NtXy*jL_8d~#~Z99j&Em-Yfl}fSer=r3(UXi`1{GqTe0BVKo33- zF?r4t82sD_jwF9MnKS_)Bt#@M39HE8ze^Q;R(4+LvApEc6gd%{Dr3?-T~PqwCJHNK zsFeuF9jT86!uXq>FFK(v?Ofd1s_rJg>b!>Rm>F-u$<2?kdhSY0KU9i(1~C~~Sb;-0 zJp;+%csypL)IFt=r3DI~@R_sAhl=6{d@hA{W;kQDC3>G;JkmkFtR`5e>gJ-z3 z?vpq}ASC4C>2Grktnyl$fn;WGzgS!#848ukO-54^5?*Z%-Uu}{oFvZ+O`T8Bf(sn@ zq@YI-vJ(6vmf|?c+Q3FrJe%O1e?7zDyN_+@#Kl`s;$UGuWim265H9E^Dj|~zHL(ba zez;XMyX#5_9VY7OQjU!-i6iqtep-6PCa*4f{CEB&>3Am16xNklotOr)hSCV7O`DYb zJZphSE|c9cW&u)~%{p>eG1&f*par8sC3TG&<9}R4W-iYn#sJqZYWl`{vCbt4>5u-0 zP-8MSN{+J9Aqo?lJ~^fpB=HXm-u#C=r=1UkB)(&iCMZm*e~& z35i@PF@8lUOQGmx0O&anYMOD@11$9=>HQ|t_HGqATMj#>N{je|p>Iat_+g~`^q2wZ zvQ;~|rp*AzP$)H2S;o5u2Rgfp?{DI3IjMV7wOUn6QoI?xhr-d`6O zxPQi_wasr{TR-k-A3Zq5RH_3ouCQ|mQAb2C?X)FzCqTdYUK)A1johsC=vSY7#WDJ* zh`?qh_Lb00M7?PeRreSjUQbd{Fo==(S6=P^V(uM-GmE-y;U{+T#I|jl9iwC0=-5`r z=-9Sxc5K@=JJy$Ts=m5ar{4SH{ySBB{oA$ns=3ErWA0gF&5_B)yH1k|I^R}wNacYV z*K}DkP!J{Q#H*$wtT9=1=1Yxx4o9Tslnt9Dm+H=3H+Gr_bj>V;&!ceYsq6d}m}|nlXyu4CvThj40Y&;+l?!*7%kHuW5umA!$sGlxbhp zInKASDE&L2`BPKpR4YS}eBdI%Y_yCVWJsaGY^2s`S7dUhR4k~6s+_NV@xEcy=A?es zUIRNzKSKD|xESb5HSqjI&Sl;rx7k9xt6N3;(_~i$eXm;^);-I}j-0q%h{~m&0_kW<>RIJv-qFIVr4W9ln zk0r)$6ZX2!20rhr6F8UgbJ<7t3_~B=*i!@g3vGW`_ljZB87}m3yE~))&OKL`oJ{+u z+>RQR##%pZ7Ro=E{9CK*2hF=C{-}T6WAX3`iR9u8H;2H_l1J8{`EDs)VW%>ItY93| zw52V>a>`T&Q>KPh4bd-u>0TD0v=MR748L4=3q52^R zVpp1-T%!^R)08J794PxH%bJWdySox1TYh+Uwl_AmX)G`lTG8#Q_lA=|L%MO4?mqy? zf;uvaFjYVniMqfebIch%k1~DGCK4J}5D|0Dg_q`L?ipsyAFPsYyHwh3iTh_8)`A0) z`nYnlvd~rU@?@S>0_jjvEP+LEdzExc(7z`h#}G)D2M^tZI#}7hw8M^?5K-JOE6i>t zDQcW_lMon9>+FL*&L5YVsxl}o*tDf3P*#10lZc)-h;_Wo8Lpe*3`!gV(}xZ|UWDUS zsLc?j`vV(x4RcJx&d9s=4ru_t=gC_oY%_szM1IT0=g6JYDkh4FEbH&B&{d)u3c&SmB5C=(0(DAZ*D8E`%OA`9fjC99?=I z{E2(i<8KWDWRjDxGaPB*dz>L-eTW(T-`)rIYz$U0irWIS?iC&}8}+w4-10(v$~gRA zOza}E&b)AytkOA9^sfAD6vF=eSREpMJ^%|^Ub}+Cbw&j*!V^`P@eb{`@-1&ll0lCO zDG60cZ46dr*^n^|Oi4*aPcp(hPq5b?ikG$aAg2t%?clo%HEN-cJh6&C?W%*{eso1{ zTI8`w*IHihBczEUqx>B11?|z4EACMUKjcd!Hx}d;_}UW3rfuaKm2L8N7`VA#N=xtc zRuv~D!-9cQypb}+cZ}r0*ETz9;K^?yErPY47g(3*uG~(UNwb`WHE}lr{a3iAFF$P_ zh&6oTYQ6MbbnP-x*#%8cGJe;FzopG?F$XvY*AFQMR#BbPp3FiqT~eKyF4cAh58Q{* zaW2!MAh&rmMEnm?dNtNv)ppp=2QFk%j zs@(57rwav23I(bFb{eIr&um+Wy`iiKnH&5>;le@3zl{LiDr>w- zAoLTG!xz*zpqz7FlVPP+7u&CLVkRjYM*;3zsq(;3rZUJG&K&~Ot3a(LegGT zte9A0uAJ1p`G$o=pb(nK;hl}5Go9+pVo~@9fP!%NIn6aW6D}|EViR+=$?%_|Q5Kdj zqovg~pEC14@54>k$!$%Nqel*9bkk*%ODYX=OZ{jrcz*0FGxRhkekBg~A zGR4_Xtk4YAnbp&eIVu9-#oL~cunFB5O$Zmz!OPVQp;BvO9~3!g9q_6M`(L=sx1H2% zY(q8-Q+!R}(+W1b(#^98lCyyk$Yk$aC|4j9spp#o?h1y7$VrCnvNX$n9~?NyLVgJR z%_~_cwVl6U-RCRQT1eT;O}89r?wuyHe^|jO7Tk$CIGch><#xkLN5G90`imhA&IMpN zPayhe?+a%wR(lpjwdK>SZs^Nd*tCDa)&$Xth$ABho|xQN?R75FS5I&(SJt+H;KD?h z4%X+H@dkDwJ~wHLRhCSt{{Tu%Z9xX#))xl3B_LA3)zYiGoLwX&jhvoOBs#4aq- zdNk$*fle^u@T~-~Ps)EVMVU3jL3@7zL4mV7PmbfW>tVZHT+4}=9>=;Oc3~1TvmGuW z8i@NIqx)~=4_qG!dBZ{B2ikHK=GvA%Zl2I68O*!s()$I?N+hFAN+z*dT?k))K zMBo->pBKcH37mP>ak59^>#r~P6QkwBBU6G68PQ!?^ z#*JdLr`fbR={?@c=BOA6$<3vwBfCi$S>I=Qa6ZD(qtV&R;X3G^uvJbuseJStVSn+g z0WX=E4DDe)hYeY|;+S+C(RX}$(r)r#ujJFOv{Vriy ze1cEDnCPybL;X`*0+w}^K19v*JLz~{1vz#a)`@D6RK^sAY<1`vQkDQD?7Id9VM71o z+>KGl_fEO0ly1pk=gNlF&9y`%Sx;`b_{m~-xaT8Khh>eKx{?DB`k;=g4K;^THe|9T zK#wVl>@7sV3i%^rHYK>>#d0Fw&j zvIy(3)R-5q`HK4NepkwXEzZT3T?lxjt7tPu?D@SU{xoWXt?l(@>blGye~#KWaOljP zFE*vE^iwRW`^(h8*h_x}pH%VIx2fnpwYq)!cflQx{1qaQXk^&_Eu7{ResBX`rF>AAR~Zp>V`)vQB1iq92!;cRf}9uGNqUAt85Q#=SSIq|KtyhVC*=nN7B^jK|8v)`_$K zopW;|^|`hTfHG0hJvsg7h`}=T8HD*`LIip*Q zyu9|wgFZBbpLM}1y~L`PuUqy}nI)cXceL)}OlD ze68Co6*i`g%?E)ls%y&ueWHsv##7~0aHm?Hj8QW75aDV)x zq`dkNX~k21{So#q2ERMA3d6-MU=~0A!Rz&=FQ_?kB(*_u!%iz-1`Yj%e0WVXx7{W* zO|UyvtG+2Vv4dX~tD)LeU*a)VYtHOQk!|Z>$V6}1Yl%RMJ?`O@>&ZJUhSN+?yR@6{ zgvs${sHdLs3li!{XJ=F!DKT}^n zE9VWp_80h8R85)R5UHl$I2@9lAelen7hL!@jf<=GsGk2C4edB~GI4|ATrve)N|N>O zcKw33a6b5`kMzSSdE0CzI(OE_bYxY-{F}o>2#%3Us>ynkj)4$NeIu9qn_HFxLEf0Z z(ROX3&{?!(?r>Jb%8mkjo_lBd!1!%lIyX*?$Oof$eN>;{sqdYAU#pOF)81sX3L(8{ z;6BG@w~3GBS@zMWrnoV*L^FnFmTF{s+Q5oZmshPOLzpObn#Z@V#lOwW>$ z@*hEJV~OtSF5&n(NN4pbJ%0RUIuIt)k#J`YJx2F1Is33}Xs*^w!#Ou84&zQQYu%>E zTiO^9YEn_3M=ii?>-A}e@~Ju#Bu~9mDY&}NLK%y9`EKV0e)wNnfSu|N#x36LOz&kb z_-#roQ9oJe@LHg>{>%kiOu5nDoB8s?k{qzrZP#Ead$&gMxH#l3CF~DsQ;QJ)v^=iHggYNnk?UiOZTMqPW64hWPN;G1IrHA zQ=#YLA4x4S*>VCjvP*9NB^rG;XC;Rp8`}HA)@pL}lu0!A3M8a29GXrUKi61$*X^m5 z6w7x#b!ks9aUpESIV+E8#{FuaS|ab-!X+yHo_ov9rDI%X(^0rZCoZ{r#r%3pSL6?Z z*E?Tq$=h)bLH?s=Kwd#Ys6OkZVv<9(qEZS}&3FtpMP(I-hhgYHVtd9^xehCC|R9E*|h&g>M#1mH@=WezS4;jWTc~BB-&s$gnQ$%?3*fbU% z%QgqMdj~bh^Ms-%5UIp%iETNL0fMVDOgh`N)=xpGt& z%96A8n92PL-$I9#=yihf=rxbeVb+g?KqQcXE~msr1mo+#;6VWiBH0?_wNNp3)Up?y z0g>O5x~{so%u&hNuWpNpe^`lQDu8>x!cN{~rmkuCZ_4BL+%hm4shB6bZt3E)ww{T; z9X^JMetCsXe`Lm#)S$tf)aI}A{?OVIKaH&!%7Q}@>eUEYpWRcJa?nvQDRK>u@MW;o*$$ zO0QTq(m@S3TeZ~w!kXT2)LPEc{IaRLn&tDFU1*s1$wpDfHf!Z;`;qq>gH`-F%}S4_ z=k#qqo&p?7#tYoi-W{JXEV0W#VqB^(Za*jK?!}>@OLGT-RH4kMD2ST{_^V;RK-ElY03n>aUNGV}NaRBuFB@f;U&k&)Ir6`(I#txX3Lm+BDby zQ#KX>W)a0m4gk=6kN>-D>_6FM{YM4X|90IN3-^EQ_9zI_`}rSqV{qTmg8XmY7&?o| zGXMYr`CnXtl|(+I!1&hy59;Q6{@8NamHNnlc(ooJ3TjjmZ=i2>cGlVwNK>%ovibom z-Vx9Ex1Q1Qrbb&WhpRCn*}%roYSf@LrSjsH6sLzw)F?vS2;;Po! zsK_pQ{9N6=YXTRYU;ZbUc$~h}#XtZ6!SC_^1g8J|TK>0#iJARBf{7bq=s%f&0>7ih z_}^eU+m^=uHUa%_5#oQFfJWNyh&Egdh!*`P zI&8Z)>43ErwI`^;KQ1-8dO(*bKNpBKXw4RE5Ed}8k#;3eQoc1To|S!-oo3Lto++Th ze|_Kib++<6%n2YZWCQDl^px2sgkPc<}vCuV`~r;|j}(1Hu&w1R>@OT)0_mxM3w&fQ-m z{px*5Y$z*&Tb-Lf%y9oAA*k2tHvELQKjOThg3JlM6}vdr%F$DVNG3f~r*qZpzmgvs z2qH;OfClca4#nZ=;AZ_sBm-jUlakCvSHrE{VdobVLZ#$igEE8G5ZusoVsqZYJsKz- z1XdsojL4*%^dlemg-&E-0T4#p^NcYkG0BD9zqORArj64xFX)IE;yz=7(~vu2J}spD z9Hm?MNSyK2SloT0AbJt$G@ya~n)7_-uHOB7Tl{8}lmjn#GP((hW2AKcs{tXYC}r2v z?FGhWB~Ka~elaf}Q2)ls>&|Pjl&CGRvZ1b8h_2}93HYG)EYqh?Q-&wxX*wO{_6^T=Jz+Zqe{} z7c5LP-gdzt#i$&Ft_3Q}S~P_6bsBu&d8^M6yYQEt3m_7|L$T6fnO!!f2}5fv3lkW+ zJgDY^$YKNo$9nzhsQIDdv-gPdD#nLX`NiG_$;!*GZHuT zdXnpS!9I@qMz25KkOfr-O+r@H_zFRHV5J6#gK1=7+x7yAtsyZ$mmYS|s~CDj;VB0e zJoB1}0kl_I+K>)^99+05kFQbT$@;gJCj0t6s+(rc^3Dw#M9vo#wDj!(OdF#+>Ebr0 zmFU^J-l(SyC&1h-JPar-V%gQOlhw95%^neYP5`)-U<>w&%98HyCH0fL_YRu0#+KEm z>F};U2Cv3-O)dKQk@q#)lH-jnMLId1+F%&)gW$yZN5Q5m9ArD@JXyXYq!uD=rT1?mr>Ug>;S-<~A_;V>Wsb%6lt3C9M3ZPIWb~7I`nm$6(@X{K4wk1< zL9QMRo|7~ewp_@?>N6n)c^aG1IDu97DfisGtP2y^+)$MQPT1U_JiZM%g!FX;qx3-kG)3i zkv(Uyg;TGwk7EOG96)cZ$~ZR4BCT36+;GT2O+XizksrZEV-K-j{BrW!+=R7wb&lP! z#53E|{44w3dh1pao@!02AJS=o?b-Yn2;dq22K-dK)(_yfsqpaykTn-SFKGkT{ZASJ zC*r{nfB*ovzsLU*jr`{g`F|^o{QnK8+5RJotWlFM{fCr9={s0C|IH!+w(NKRN6NnF zBa=Y3nzZD0^$<2vtNy{P09AoUZA}gY%GC3FrQg>e_zNCUHHaH5iaE<| z6w>h5S0u<8H4!31nEZ>)o)e&O+Ym|Yr3aa7qQJ-g;}eQ-1c4|yvMBs1^m=~5ZS%=8 z+84bRlnEKKx8BR>?Q18H8)OeFarT^j#^Rm-X?3RzD*S=eH76d-<(=_e*z6E`KpBAN z&k3-bcjAP^oW5f>^KbQ?svO>Vb$KI5EF+X9DjD!V^@rWUNxhRS34m^mG&j@%k>oUj zKow;Yd=}yXeuU(}=JF$D2;yGH;_vr@Hr3bok71u1>|uh8Fr)tVjF!m7Rz&N6eG|*Q z!{{kTI&@f8?6}g@O z(MmvQX$=_F&?~=Fb7ZwLt&Pn>v=a*RlvM8o%#nCC$ml=eh4}M5J~KnZH5`AX74ul7 zZFQp2y4lnbQb0Uv9BCX17nGv3fhvTo)aNo7wtaD($15Q-7f2^)e>R^Z)BxDdP>+u+ z5e8tl83s^hdC=xncmlu=XIm((1xfw6DFXQOsaW=@f7^y2Y4&nO7RS=BGg{4?OSL^( z0S7S^OO5$kg6`jy4AlfJU`PVsoWaCa88D(r$8=0rDI-PjMgZ+ITasyk_EHCsvRVy? zSLMHaecjw9<-3o?Hl*lPBJG_6Gy5Pw92lLDH6^CvDrQITU6pN?$o`#$t@oVO6T8~P znCo@_wexuGhfe9|+0f3(9i$BU1heq8lX&ps6g2fUAJSW|M8l0KVpc+pmSJbn$!z0! zIk=){5*h%Eglein{#sRs7rK_jymc|Ee60bjOwjl@VD}pZw6^p%`Q4&V2;Ol9)C#Ti z#B8SY_`f_rRuFbqeG!h68o9(;jP;;_{~+!Kvf=nDX5;xp)_!>agf%1qF`ozhAmB8p z737PQi%eXCwHo@2{ok{CBWg|D_6vSNrRsmNyCg3LAUaJ5erC8I(dGjD|53RtN;7x|Ue6@YD<6b^c@Tk}P~5=(-CwIc?A z0*beVaT^{VGLq_eVm$S{Al%eL3`55tb3=lYm=MxEE z0l2fVmBT1c14iet6t}<$D~kv(fm6Xy?zq?%@ZENRLh@(KtK!tXXex8!sqH2slW@kg&UNi8&qS1(26Dz-4V^))ZLF;$WD#7R$mr} z{QazLa{Dz{|K2nwx_vxSIj}TsbVH!yuS()ctMC{TGkY_TKO{h$nXCB~k5kUN*S_U= zyKP9K19CHPvx7|QIg(=#-cf?^3R2$)jp3mG0=<)bT8#KQB{tfGw=-CyJLHLYBDd%O zD!9zTp6S^mjOUbaKf9sei!NN#z6Y*B>VE zr~V<))>~_A0?pYDxk?`va zc;dD44sEWcCW3}9`j`7B0F+D2J`DB*zVROXi18CWxJx&f{}w+okD5r02+kh^n0n2X z&4+vb7>R%UeXdO`LFVCY`16SQb^TX_qyyv={1vt&)jS1>*`Eob@~fXPl>6|h`h)Ll zBOdLrDt)F6JfT_l`?n&rm6ZlupT*( z1G4FkoGr0-KU70k@jsPxZNl=fCe7BscBrlA@$11G zvAm)7VWdbP9}oNY|N z`yv6;LllAzCX#$_Xe!cD{-+`2#T{!o@4(&gX@5^pbI@Zd!DMQ0_7!4aYJP2S=@GIg z(S+t;`mD|e-Rsl#8r>2#!XS@1HwKjA(b>(f*l1&*H5yZrIJ2o;{s4{H#`)5N#kMEZ zee5O(JCqP3s}EZK$xEpO1UMoYj53FHMEO^wfU*B0bI&Ks-6*ZUS%29%__yw^D2hJpt9{$e!j^$CjH~84#2XXBF|gmK=6qVrEKXz%8~JdGz+&ia6|*Sc1|PE`*1 z@CMZVI>~wasn)Q@@cIZ=Ms-QIEinxpFdWE9MID?7l09KETxd1JzCRNP;ILA7uEu5n zM}<`VH@dku&d7LbqsuAt%9hA@=9J&=0}^~Rx$`^@a)qjVh0l`W6z7cksVgx4w!b%A zzh?zy&<{alk<5&u2>40&#vUvGenr$Cr`b!N1nl1e!l2a@cpRk}4TwR_Wj5z-6C`8~Mc(|$E zDN@gMk~PVaKRAJ}=6!h}ZV2v6&=u?_6;4L%N<^Wd<*asUyrWP1hp|L@FY}I-GY?>O z6sBg(Eak)G_uc3mc4kJ%mgPKki72TLGBD6hc;FOE;+)-3hzkB4*m1{!!KZX`X{x#2 zW75T#Lg0uqFf8}?z>aXIzmlz#$d{Q30h(= zgIyuXlg|5Ixr0Ac{j5eMbA%djequcFM!n+-ITI(8!m01#<#@x~&Q*XNLHWp^eTMm} zSlbG|li^xY1t1}wL5s-{Qm2yavYS!-+{9|lObvfr*^H0mg?xJI{Q%AMY`URS%l>^x z%)S(2R-6=_%rjn!dK2k0A^6YX=587mx9u8vL49&``K44td2WPSpAC1Kb(jVAZDE8- z)j?t+2zsc4U-BC41-2I^(+l~OEwc+u4C*J)OtH3KvD6q*s-ldG6y)|a1?c<8BXYj* zn?>n;xVv5{vN)ABu7vJ^wC*+$TzL8 zxJcv4CPShqsOisbl(1cDHuW6FEdVc*947{4=j{G(c-XdjW>d^TokBzGuz$hdIYwn~ z90l1}I4$b^8DcN~!E#Hw&GA5rumQM>t%xQ!(QB#+0WVpak7^LB*CTo1`ZWx$I-;z( zNvow$SqgPXrVHViM0rD8Q1C!d8*fSYJvV$*24?fxd4S{-%n7f(AJmShX(4l4yJEj9 ze=;K-f{@%3T-=CN5i7A?cg)ck`As=K%TLbq$pNh=IfveOW5WXZ7ouPWr)d=Wt+qsg;lJ~2D$vd6T-!n;Zu`)5`ihZu59gjxtQ7N*dL^>P>%XOoe8==^}YPbxL^r_NF++1 zXg$GFi2PyRM*Q_7jj7|6xp1Aca7(GB(?+-gqi_#_m2GGUO&X2Va5gNy*8^eV#oB>G z%Mw0~TT;}6Xx&Tbs*gMT8HzzrIy}88w3wjLpdt;w;oFC+>Giw2YwXdO=|KW||4+{0 zkr@|BUCIQ*p`p?=D&3k9wDNn~&@1oPTX^8|pQh${SpV=k5U!a>STaWmyV!x9)ST3; z$bA%K1M<-6t<-WACaHvYh-*I4`->lOF)_X4N&X)7C_tBjRhyBaLe}6dkf*7q7ler* zl@M-PTOJho!mbC``#GEWvIK-mV-i<9bqjJ}g#<-JH0v={Mn<%gYq%qAFvx|!O5{1<83sTolgb7&}TWAkz5k?sKQS(O7z9reNbOa!o54ixHL#I z>H5Y)G_I=?4heja&I%-$QBWLfrRXaXd0QlNzy?O8=$=+rMpm4_#{M8^u25kUmS9fv zC^ZboXWDLsz>z|Xtnh`{pMIw?Fn4vJ9-V0TZ5jb74P!$qT$@;#_m>;^nKFfhDw+6- zY(_a?(`KvEqf&fL>5&pGFWs2u==F3t}hUsecf)6G29aM&AMuW7~vk1GuBb<*Hf-F^)p58>a?XZ zIOon1UnPY^!_=!u2rftou1N7Nh_7V&sH)H-5!Fc-AaV_zbL-?aagppa%Jl}?9k72@ zufVMSGgAL)YGW63pSgr}s-J;13`^$mfd##AK_c+Lc6S?Y^AuZj=ITbA?AZp|L|K)QJ%o~aBuS3WSWMoxi!1iKi_sbvmP7ExDa%)x;} zDlBw=-~^7=*v#?`Q_w6rfIFk2 zp<7?MMQzz6bl?Yr@=j948owA9A6i{^W2}3vx^*w6Q}9bALq(*VW{>W-@$WYhvoKD7 z8|FhfizF(oLPf_}TsQX0gOz+X=~Msh9)9K~9$dS94sx|fcH6fus&h23er4D?2 zLhh2hMi9p-QufEjY6)~9nkoT(2_wR>AcdQ}ir0mvBIyEkOK-fKCwgb?jPMGAO_y*B zI`l5d5*Xy(+eHU&T5#}Fr)$!*WL(M)?>3Fjf!n5=LxS3S?uUXjD@28YpTtg_Y?T$K zzv3jU7-L$SN@O9z69})ZA+hyT66cvPpNBM?0YA_o`2Y~ftx)YiQ=M}=WhDUM$^nSR#-#2(cnS}6oB2}k$l_` z)z1e6u`?D(7PWJ^_~LA||4abKBF*aw0<$-Wt{dIv_Zj%0h3@DuGDr+J0ZdgGQj_q5 zI_efe?a%6FHXR#3zFfGL^_5|y^FCnHzuzl^ky?8vYd2WVcw;s;lvJp@ji0GrJEw5y zrbiK7A616`6JiwD!Oj{MiPgz43}R1f1g+|AUxOw0995-^DL}44A~aJJT3Jt7V#W}? zp0I}Iny;o=${uIEwHba>a@h+Dw+^L1O0{J53ocTV`bSQzB=XmB*Yiq%!&j(a@5c(a z*h+k&hE(JvyOk0kG6~VpM5R9wD@9ju0~-WuV6sHhf^)gQy)r5f`$|nWYin@cRjWAS z--9LbmIvgdtB{kqqN@qQ0~7Z5qjE84GzuAq2C<{#RWbHiP>fqXks5IlcQl)EGYu|D zmQdhv6R3{y(1ap&bq(5tQqvmvX)lea*y0-FY)o8)51QLWz3wcC5R3UQ9sVYQ{E^=) z0Y5$bF+}6{2j}u*6@=)p2z=9_-?zAbPBlYjs6;6O#xc$NQVA1EMTwKqR zJCj~yx~zWo5R=e_ZJIB7gV{tg`d>L!9XYDBEg?1Oa5aK{aKj|3I&0dj8l@KIAsR=u z)bnq<}vC8w}8TmlNLIQ#~AAD#YgVh+Ltt;1hoZ7|R9c5%%_-(^ca ztvN835(`=fgOo!;sBGfSRb!n9L-&i3n1BOiN(b>Edc}l(jL?eMVZQ{&ZwZP#9U%n& z^%?lfKeNSaGKL{R{<-FAh`54^ABUgtA-8Q2J>%GCx0hws&pR}gO zAiU7kBk3fk%7N5B60K;&R#ePDFe(`T4b)a7Xj(`{5CM=oC6V?VAQErk2YUY%%-j{T z#jWq8Hx2oI_#l^4DU^lv4Zkpd8+_WM9yngwqL*PaO9+bKela0?mE+`T>7 zfBAJr2QhXBXDR4|Oop0wdR`X0;)Y*HaN8lhQSuC=J<;vZt=bS&^|1LB8 zUGcoS1-!LrUHBFYJE^|!IlG0w)ocJzteeuy9eICs!H2%~mb{f2K zo6U)fWcH2x=?ef$PzF&{3!I8mj*P=KNoJ=^Uqp37{`MQOxh@3 z$9`b|q#HVXuq4;uOZC8Lr^?SPkB#LgzdzW*iA@jX3vQIt))#2wVkW0wDmJ=1OvEpc z!af8PN@?h~e`-CW^~oPbC3m9O`b+UF6<#=LZFHd9$- z*y?UafXP*=FfTG2rJ_tP9iYpfHjUA^3#2Gx2)N!fW!&RHbaW_}1&Q8^MWSb_DQ?pC zcQs1r90lakPD>_{Ap4PWMtR;+F$y;a4E;B{C;77 zx1T}#KhdissMNpf&%0X{i7G($@_YhA;gJe}U9OergKZ;VFe)D^ff?N(t%$WNHf zAb`sKTtK89g$BU-GZcKrjtV~NH*2sA>xK6LETZqeIS%?QdP7&AK zEWwwKyO<#>97Szp`{Stfpn_@{JSg1*TLUtxC!RyPNc zVlH#G?I}orBl^IwS@E@dA(A175wVVK)l`U?&TnP{GF}B?N=E}R$*-l&vw9GPBSrIFUTVCYrIxAB^!OV%BV`uR^@NL zY@sIjByMmPq~Yw&Sc>3p_tSb%B;=P;gXB=r`e}#Ts~u)xada(333 z+qc<~{Z7F1abr*SU-oM((duUNGL7Cf1RKsT*a>_Q6sPimG!nkjORy=(K@ z#T5^$XHz(1C0EY$q;=1spYGU<*9N|q5bH2jcYv$5d;aB^irDt|pvZZ;Rbqj5dXI?> zxHz@1goG`WK_ibIf_3dOkT^`}y+i@JN@XPitW-sshjIF?#ny|DId&qpB%{Y(tbfDQ z>jwr1Z(`R{NZH^L5^m=dt+u+{Ip28(PX6o2tIv5rN5CEC^du zHMhiszPH`Kpk++*u>D!$Axv|Tpx+As08G+<$rCS_G3p~ z6YKG9jg$NkyT!!J@hm=LF?(>> zya!F3B8zcJtkR)+GFLLI10>pYMS6E8VgxLi&q{xeWw8}I=R-L$H6QG8-B3L2N-{33 z_d`w8@GJWPAS&2gXp?^)+g3ugeA3fm%9fxT=jrY^{eGGU zHr`1Oe5mjAJ3*LuZo@p^#7?Ko7E)rRnY%lonH*u4r&MFYSLQ+jnSjasCZxTCj$e{+ zl?mu~<@Bag=t8s*&a!wXgSJ}c1}1rw0#2cWZ&8Y(4fl02b`S~KEar-5a8x5@CiaDb zRlLRFj%{!f`Un!+#G9|!uefd@A#0-y3QP_}W5t-9r`wSb4)8mY&UI;NM`F|2Jr~_@ zxme)UgZac|4rhHqfij7aE!|CnXB4+E>NVY=l^=iW*~=OO-yDWt>!>pNaIn+hAeHiH zbCWpb*;(`k_7i^ds9)}JnJro(P?hgNfy`tqrEaQf6{If0#X-iS5Sb) z?KSL#bd+fXnBaSfSeOMYAY0G;J_JZlXXfyLId4(vdr$kC5B~v~P)}FIiCp=6@;xEU@k1#wgF@rC$Y@k3u|7W+q8mxHUUK+?* zMeJy0q&uu`bJ)f_y0xNI)1LW{D`M@IM%DYAbJ$h7aVLirny3VDU1t5ZsK($mX=Xjn#wQ%Uvi zZ-D&QQhe1TE)|MGgyXTw5p#jsa!!jvs*=OJ19`$@1`(nr;ki@Isv z;{3B4Cjo5j%wO`$Q1$*RT`#C~U+1zS0+s9Du{A@UmJ)&%mN zpPnVsD7sWnh$=o>1MB`*3oNv#Z{$~>eQq>hDQ5;PqLdjvG?gb}1fZuetT=*#Kq$^8 zGl}+PtDI`c%*$rtvvv&`ucKL8?-qYOQD6@q) zPF}hrsKncGNwF{kO)7uhOkHHI8HFch0kUyLMujbyN0r=4;fgE&3|?dts@j&ttbaQ@ zW4e8vR~Ut>B6$MpD27xMmtA(tjAe)r$4(`#*9+>rbxyvaRmo&Tej&x4Q}C}VqElBIHOwbPwBjM zq*iB@tRu!aa^mYKaH)wmJ*Hit!aZ@H6k&M`O@B!WSq);UxIwl-)YG+g-Y+gkAkw9! z*AXnJ*4S%i&LXB#XB(~c)SP!@pRrOlJ z9AIoPI{bgky;W44LANd1jYDvEm*5tHySr9_m2Cp z$A2Eq+wSiA9&3EHs(MweT64__w)#MMx{$6N+?lOcN6~RFX2OUiPf``maCKtJj_VBCmo z-(NJv_$nbPB2->6rMshaV%aHzJ;Ykyh;84)K6pnbD|r81SumrzC1{PZaQAlUAgwY|ec?b-Er7kT zjt^?X9eABhN9p{WN*J}RW?7EX*f>7#aZfXbT!jcHMVlvl9p)tQ|6)6+0%E#czC66Y z_+iS*TPDkf*bL4zy%TJ_(tJQ4-#ZR>YS80*rslE2#5}8j29~n;hyg+dZD?cDx^XXS zr~E}}-Q3b9QcxEIcQ^T;@Rm1Ye^0{KhORH^`Y>_R9d|ZsuWo++Uix0uk0~4CB2UV% zY8GI`h~$LJm8Z(%o*NX;TmtIs-^;G*wL!%1DItFVn`l+H_II(q4J8Uk;E#P#27O*( z&o2GN@;}5f@ZnzLljyudttY*zw_8sE%fuL`6L#N12GXTIDXkS3mvFLxku6E-{%{Xn z9%HU_DBp3;@`?1FR7u__Um$CLR|q24!GgQI*N5obrng;7|&7^cT9X>`wOrxJBW7eZbOjQy4QWV`Mf~4xrJD zu`#Jl-RMi+`(Fx) zXX8{C(_u-KLa5f&IE0qQM2WbJ38y)9nVvIg)&AEZq3BdxT1Bb9yL{)HYE^DY_V zm)!SrPl&h~FG!+hB0#|T4>MQ=;c8#R#|LEx3M54QqthPQm0OuNaBNXYS){*8)IY6K`|axxwDq%)j;e$gLh?)7t#E+b7P4zw_z?*o*&( zz)<>>BmewJiz|p#i5LVb$-=_PO~n1%qy+$0KHL8p=K3F`RsJJj^nW|b^*`52AR}L0 z{Rfn*!KbNM{u||bf$cX103gl(*U8pB^E~4RhK7u63hmDJboeAsub7a9qz4$UoF+djW9AJtB!s&^yy_rmr1!fnJNC@TS9 z;j{_uA!XxW_$Dt6VfyY}zUTN&ySii#xJ!US6#5$?Urb4T{(Dt+gv*&8+AmNetg8}{}5Gsu=x^b_EdNHe> z(2Orh6Yf>ZOqf~sr%op>7kDUuzupxH_}9E;2QQL<-y0Sr$H;u_Bdl8rTaewcKsR{r zrJ^=y>7io{C1p8YkyLx9e@G9b+5S*sP|EQ6hN5bmVt1HyQcoAh<`|%bV_wZWPESz|#*76L|+o&*^DH+WcS59z9e+yHdc; zTe$h-W?+tI7AOgr`E|d~IMxaFRlO$%kPSsV_~z%&F7&hcMVEXG${YPtX9nX-gSrhB zDFX2@zXoJl-huyO*KwoeXr#=dp1_@JsoztM?94)_6b|ZCuo;9cR2NQ@*ZN!H0A)Mr zMeL3%{;TlTx0*X!Qqf41X6d%%DYRZmNs^i^sIR`=-59nDgkG$ic;&MU4Vtk>8iLa+ zJ9S-xa-H?7<^h_$R?>+!lkX?oYaayLB&cr?Wru!BKK_ViBz*X-?+(Y$ywgmaYWfCv zaaX%Y<2asPb0(0sbA82GkYt-T?IC8IE{s4-p$aks2KdY`-Gbz=jKf`TxoFed@32~} zkmZ~nqW<4FoBY2@xu$eZyAlK_S$jJvlu3I~Y@x*Yz<+hQ$YlgpeqVCnTMt|H=}zQ& zpm_I)o723)wrd%F9q;PG7jX+>V!^#XrmDed@jjbIRX=~!Q)SmUBQp?8Fa=X}7CP-- z)k)J0{W8s6=l6^ z)n&a5M)(^88Yxu*tx3|LOkoUoCdRazz{dQv9Ix!KeOaHh2#Mab%#vA~v~d0ESJM?1 z1)0S)5hmMplVJ1-&depWT37H%6vm7lBoK$>H6u1yfdoM}tSq;T;;617h7BzdtbyH= z<8KF_=rh#>$3z4+Ys4*zu9Ozcg-^8n&whAJXjG?Vr}7{r;RH>+LBos#ubg_g3TsVq%HKlN!U}= zYq&d5486)srDe_Q^Jh>io~T1|v6eK2iG{ho@CCliHFt%dczhd&?-_GJm`x2E7v3?F zG}k+Rh4c#;0xDj`Hh_IOOUToEaI(5FljA|wI%N@-{#DHFN{guK1qJ*9rqURZ_fpW> zlmrEk4TT+k%hp6f7gEEH&8wkJa_7-2tJY45Kf*g>Lb-KEv`x339nT5l7g4#RUPyo+ zZI=ku-WQ6f%7_%&&zeZ<%$BJWahNoPSk_sd&b}m!3%}UdXaC@uTmvz<@0u-93Vx4P z<*hYc=Bc1tjv3&He>HSy@q#BMTD{Rod^iU%;=G`;qie*{OPe6U>n2W*+i=AMBe!Br z+rqxuZiTEk(vT@_%ib(APaXF8Nges7kcOLNe76(>VjB?-V-Q^19ALQ^URlLlQh)2&0z_jT)kU>U9WLB+K7R}M`_>~wl30l_f zsI&!kl9p1d35MJu;FL?;t8-a*nWKZ~E;6#$@3syoKrE=ZDctMd!8`dRQY)Jl_`ai} zk7Qet&@ErCimQ&GdSwTh6AsqqF9=%;POV#D>i zx5~5rUG97^L>%E?59|Ky8T4m3C8h*;z5fYeX+rgu5%FSooTx|`*JTY z$*F<9b;|VYg5yIPf-EdGOT<3k=I{0MPQ&4al*ujXk=CIL>A}T?o*BA_qPak?rwOr9 z+gG8IGvnTYQhw1=*^5z{+mKv#@Jj9FU8O?ND#ZlIw@$OR@cp?U0**sy8hvZ;2?kqY zhdRSL*#+1sJ_D*teq3S4SEbgtxl;Ofd;A}hd==_G#G-%3P;S9cDS~QQS3yPQ+R=J- z>Q^I$@a8USZ1HM7No7fKou%c$7StjQW5Lcu`9KsPk@1IjrKU}#aR~YMn0}%)QI~5? zvF@Iof)=zXgR<2dYCb#i;v(EfObr>k=;l!MFY6Aq&MJIa{oKd-i&3kz4!mTxG%UP8 z>ylL$qvNzRA`C^zemYi*0IpGua+v4?h6fQ{mguLBhM%faQDY?*GF0`1R@7wXLL9le zVfXyRJQb(Y)56ni;WqhYYVzpX7!1NP;V}7%BZ=Z>WEdHd0Q7zRT0K~>|+LW6-t8=|1xwncA&1}(F4MmCQ`E8vaLX4 z)yWYeqkhJn$0y6W4Qhx^PGOr;<^H9Dy!2d3+rxqL_SWR10{Tf7oFXns(vW#;R~4&; zQTB0a_LIg0kt5;Qh+-txP1IQj>0=n>RZLmVFvEuhfn}TYSGCm8)u4fgGG5{2X*csl zGz|^7H#);2$+l!UDLhbgx`BX#frpG12i; zSk7z{57=i}Xo|>Ufeh8CtZsZ%-i?qKV4QO_c(4GH`;a&$--aEnZ$AS+?)dlG;CXd2 zafld~yXPH{YQL*njo~}lx#!v}8BmjoyZjl8AT)=pD2#Pg$!gb6<`tzZkJu>1;E=7c z?PjiZX7^VZ^--DFHyFaDUa!D@-& zfhg>=`(NCiSk|0A`^B8XxVX`^HY?ZuQ@2_4uB~`%8kHOzJ`i4HRCRJq#J;nCQ}}ej zOoVD}Y^`g@c&F$~4el~hGdSQ4mkRp6#*lYa&`qlQ zlLYyp+&%Jg-RTk4Ddrm$-*V?be!vq2H>9BfS}fWu3wAA#D*m7iF_n4Ei3@dAajn)j z+4h0Ws+un~;Ik+=|3&Q1sx0Z&DJum;npaWJ3DuWioXV8RLunApwNQ!L$n1FgR6Nbq zx3DOy0+zWrU{x1}G|eU>TVVKl`R&h9m@JM4GQ1Xgs=u_s%`5kUw*+5ne6eWt&ukRo z9QAl!HQKp4kM9-f)Z*QS&Cc5_INu_6^AXqaIXkYAsxtIRiMs;qIT%}Vux5DGPRh^- z4lDECbH!_(F1EQyql{U4bGDylnd6?-Q=E`B>Bz64O!3(tp6k|X6><{Zf@p3; zkw~WyGU%Gx-w|n;vWz=jDXYD?4EPVRhPA~;p}JyDOL8ey)@w}+T({!@22FyarDKQ9 zE)USIi=3ZoEDPTS1%9WCD+iDX%b@+ez2;Et{;Anwcxbxe^h9`L%QzMEB;4iKX5@k3 zj@4XSIX(wBYMmkz^HsoY;u+BMJ4{_8e9hy^f(M=UcDJ{ZQ@c^zJ>N%fx}D3~YA9_A zh7VZ_q~G?7gH&4446>=~9uptdwU4gw_LrA$N_+QdIoVN1v+>0^#o0K>keDo`B{1pz zc7>vwXiee~jmW-=N3-6O91Yr?LKD8Ue)n0NqdiqL=>)jin-zQ^%qR#R-Q5=hxYd zjlO9|_xPhH;$r>FKoA(72nvTn3Wp;{ARg~YJklr4NAG~=c2{DyghImUw=KF2MZ)rOmuihw@>%j#OX3!1lV9(Hqa&>Lh4F!LeU-G z{S802J^UDnK?u?rW77*|sa2*#PbeUM1Zk$F8K)XWqx=@xq(935f?+EXnQ3a(b_v>A zA9(UB&UT1_7CII4IRv__>qBTmwDaqRSDpJ=()m*8zk!NMn5T3W&avLw&9770JuY50 zN0a->GOKa<$CM>_8pt*8gir;Yx6Ea-KfjA)P2}$uU)aQ{AqYu@mf=GyE}Wtrn8E+m z%$>8zg{^z+Ns4wgFf!?c>Y>mVX8AeObAsS^3}NB{`SzWlXs{5;ZJ;FftzygAK7Y!= zL)hmDB1v@ky05$RIKZ(g%GpfK!k9B74^?SYTN5+bkc8mg!Q&oJh_#Xrbv6Dwv&sr# zu0v!%kb#zNe2cYTpd}lo8<^`@HFrD?D!|Md5q< zGdX-=<2di~JE{R~S0%DcRb8NMq{=PaFZP0TO&QNG!;2-QHG?j*0;#5PWtKX>1vnyW zbpE{X9Fzph(N;D?dC$MQ-9utB(Ngx^P5+uBL5?1ou&=mm0k;@OuTT%lN}AEj+~Q`O zfKp5>Z<%`-gkaP$^=GoO%v`mb)LlvKtL7g~z7$Ncbd0%5vEEi>{e?{cYJZC65j^eb zoY-lF2M!mn=KOGJTVih{^D~IQdz$t!yBHBd0T8)uwa@UOH($a1V`;I`ef!HxIVs*C znd#bNCD^Tv!6XS0tTt_32`y#HrTkxx5NpZO@v%zHuCu7@HCQ_a&xFn{;M!X1TnpkLUl+fP+-}2>pHNe=JV8eSQn2Ug3B@%?zuZ0>H))fJSB)CCugt)tXiMTzFHuRO7k>F0G}35Z71-pg==RJx=mHy;Kr@Xbj%xn*K5>;GQ!ER^l&?~v47#M8R)QKTRhI(tVA8K$^C zk;W-$xm~gS-<_!YHHup$Ow}xUDE{IPxs?YH1M)4hn4Z#4Yg>EUC0!zrV71f-36nb| z#+kfI6NmlZ&Q-4oIQzp>MJpKK_em$IzW~5hg>}l$6qob>7kRTjd6N!~;CG1cN5*}I z?81W3zIu$9TZ{nc*dJ{%lj9N}B0t!41vm#YOr!@U3iVfz1fxtitWO=S9es0+OJt)sB1zKF4?XrPk3`75oa1ubV( zy+d0Y0)w8bsj%CGt03K0q?@jbvf59a3N+<0@<948QdEp8MOfi*qY``6xk=N!HVNP5 zo%nA$Uxu6%CQaBLekT?>`sPgCSWIR9cH0=|JM_qTDF?B(r#q~DPT~hIWHSL5))MmC zmkQ{2t;rX`w)a~{Wc>h?ika;0qdv@Ibe6FmIly1s@vt5~*n=U11K!E8G&)?Q_7gmP zJk`SUm=By0mBF8dAP)^ZC)4e}FPUm;Jx5#WQ;*2UFJk^C*@y=`EDwRdwc{Vd1RV?b z17<=+PZ}YnAcmkbJJBBnw}`s!#(4k6_l(Y0mR4;x`x;8H<7u~_P<4v%9uqH`G4tr; zanj%ZAkQR_!2%)EfdthKKk>h|0@`?Ug`k$^{9Tf4_j&eC*+XB<@hG&r8%vg^01rj+ zA;H(nGBa<}`a}@hv+H6lX_<<|W(7!(Xg8hA8P^Eg9_bQsy1~)q^iaZ$XGF>Hb=&j7 zhV|~2E~Ha8Z%Tl{#oKsix(N4%aL}93IHoTRAJk%9{}D`C;_ec9x;zDlg`^q4{e^yM zyyd(#VEya62#agd-$BSt;Cs(*Ta4TxyGRL3XH)By&kn0VH=5LFUq--1(i}c_aQP3_ z0BVEZQxAT_&H@y{k!8D;fooOM9q?+YoOHLGD9q|Z$oaImUXX)&*!Gi#cvB@(-gXg- zz*ned%AU9nxV5kn0b`Q)G6k$l3ImH_xL6aO95j)TtGCo=a6IS=*a^)Ccc$R}Hr$hQ zRSm5X@^c-DFXh-<0uF2N!R!?lRrHPnJ~RvdmF99X`15^^+81ZkyVcREe9d>?WS{?L zO%Lbh@4lRF>g3tU#K+i2h~#kIyS%n%Sh7B4@Wpt|q|9Xds;E)=+OKr;Y;6Xd1o!EG z$?VlaoC#hes> zRme!P4?jwxgJFI3?-TL33GYEU_}lTaNZvTo<1&$Bcz;2HU+XvFK~WC-Q+3U6=2*RI z?L4?V)XeD%tRBiXLwn+hm@p_h#Vn8lo8ozHbmQ*TU71yC(kr;z3tDgnlW(tPaPs|#@YMih^;RySQc zRtN@y)6i!jwWzxAl0tiTP+JI;=LSX~GQTtSUpf?SRM)+ODKuj53skICM-ar57w_5e z#)1qm@6hg?n&$95h zL=7PiFrN)W**l@f8RJxOY6GwhFfO~K%A=J-C;+OE-uUs?(iD}P6GxsNe%%ii6fN{{ zX0Mi8cf-8DqZqca6Hpfr_@G}SD)M`-U)R8baLc9KsDqEHXk-gQ&R)*zgD(nj^P5hi zM>!Cw5`^^#SJF9%-h}SJ8K17O5@`x#*_4yHfFA)}Qmkqymkp@CD?zv|IMnS!EqyU? zyNs|*fJupeF;`@}XHefs>6Kc~q&$3;RWV5^I1fl~{Wm$yAew+T#-Mw2@<)+)RS7!) zGTRzgc;F(0zG&eVX8<#MuOPtm7S{hX;xOpG_ihfwW)p9_oj`i>v6z%NNhKsjs$CIa z7tK1!x8(!vi8@j!hfRYzC`h-nJQeR^QN+2cA9ATeSY3eB?zTIncnWfKoD_M0cmRMS z956U7(CGCKz+^29>ma7KvlH))CYtzM?wV?cYpK>pSzget69Je zFxg;yzq_Ct=~Jm}Lrasu2Wp#M4h^LrpBEyDIAOlRzZ#N6f#u)gcRu@rAZ5i#EI!;* zsi8;lf8>=7%n(eFjlWn9STb)HkW#3|UIl-B(mtwsxk_-XAfb=QTkd5K+7J3+mfm#m zZKq)yO@BHJtb7FVKsHYW(2I2hXC)ji-Blvn8`yuUzlBtj1(_3a3bI<(UX?jB8n+Wn zZeCCfBC8ca5M>Ijnaa6MS!0b$K>(!?5{;K zHGCD`y%(i4e%9MsCm`k%)DV`dG9bk77wY)l6aB_QBz^owsuGzBub_LCNYC&nq_GRs zRJ`z^%Jw8hzcUl^34F;qd(Ax)o-*J~K=-x_WX;kFXE{%OGo+4$suqN|; zHSKnRmu&Xz6D`k<@KT=KMt&98p^wHmgBQihfBpy1m*-uwuxmLbOzz=A=7V@u>?Ka& zOaxuwkQGJP_^a*&)n7e+KlWRaq;OsR9o)df%41ovo0sHt9Xh#4I>pA2e-RQLZi7L< zUEcrrf|_dZPb8S@5dodhQjVwl`0x#ELRGGk0J{eb`BQmrG36iJ2klNzWEmZo1L45Y zp?&qBdU%hgcdrLlEfg9L8C_lk-IZUWqkurulwXobOdx-^DS_|Zea}PF=iYVty-NSl zJ1L6M)SA$_BtK6IgLTbiP!UxFP(h1PSNl}&i&jWX!$n}_>Zmg zdqQuQ-sVuA?95XXo#Kvf%cZ?zMO97b9$J(MzveRY{ zFb3yh-zbd;d^l$+LU%I42^@1C77q*_Q4#nb#_5$77AtjsWRDvtKxFv|vT*k#pQ5TG z`zPN`Wl2l#YXd8^v_IBj{ZVYJc^2lFMm#7@e12cE2!!j{6Bvz)VLyx>DaP9%+_{8v zh9zx>GD?kJuca*_m9hRXd*X5EbQ|BW8N0gB#DkRt=r4KpLn!uKrQ5Xmh!zJ8%R}+o z(_ZTFzf8CRGL?}(HL^U*L;8Jo^0C4m%=V!biGi;ued=4X{#f+P?$_7R4_WrH zr@RcY3-b^31vyeH_dF0;RiI8f%ZxMA!&m$4-k(V#R1R}YAuWx!c#12mP9yz9?5T2B zFP%ato|TwtyVs& zHZ76$nlZ!j^iAqy8$FUuo@qh!bI;L`a7*@e7v;2EV%_aui@~GO`vdaT!+ZNn#IBHe zATT8E_F3X0E*Ve?fx)$y`iuE&aF4lvuZ{e^<*M+VuDq<^*9qh3(P{F`=dVjs0<0nN zV3*;wc9#bhQqMahrjb{5osu8DXmOe6&Y%hI6q|am{E&y>z0xo}%RyNQQ^on{sC#+W zS@wa7D>~~u)yP_WEhT%<_q?yvyBQ@jd@4wMRYr68a=8)4*~NQVxNr9M@TGr@7_pbV zo4}z&d-tY@JS(fgjt4RVj<;yHpu6RUC;QUrON=NVVgu_T8_81b-}~r18m6_kVmF{5 zh^Iz5@&Z1Q`&(XU=ShV5KDah>$?G!6X+;O}_oiGL^scvR3o+#Tuf8Chvq&C6|L4Tc z7tG60+|+ss?Q$>Rc+%py`0T!!So;P5$9Bo_LKoos(s+=}x@g)_TpqPi0D@=m=Q^!$ ziNf-92&JE(!CY~5V_Q}C61l5d!RRcUMxndCsSdPu*O|veS-HOH8+Nk zclT*XmBGxMZIsGoE2k#@x!4>tycff&bQe<`@0i91LAocZX3^lRtr z>L`E!oy8}9qv-_HMh(R(FnaW%BJq$Ef5m88Z}&T`H#04s#w@Xy?~Jdp>sOEW*ir_g zF$t0SiOyiB!)DTe-pMi(r6>#X0YHnIB9%;oPM+|^J_WGvNc@*8m>~TqVlA5x zmhnyz#or8RQ?VOflh@$+=8u(|6d$t$wqFhsmXjQlQ?S$%<&AQmqaB%w9brjiNbD;2 zxh7{0I>BMpqs9c)(PhPodznrAfL)v8HAK%+HOrl@9V(f9vQs;L{i0qpK8$mf^7z)R zV0wL;G=dR7sZRY79oO|H&ze2whL!=zZhOLd^h(2K5ANiU+bICOE1K5pN|XwUNCdp>0WA_sGK`EXlI_nN=juD-J|C z5;1f${=Ss1e~b?9974Q@W5#(Y6YzXgAH8C*;+E(6j<~%~p2k*HTaA<96)GFp%XlSz zpi>L7Mq4!r(deMvmJ3qfst@HE5`6tSz5~)ovdYY9qaGI+oP8=cI_lL^vpasBuc8%1 zoRMipNCT=ckR&p3j{eN}W>$7EEu1xWnA+@Els%AhwaV(sIoJtjOcK5wVo_0T^>gdW zjYQpD!IvJCNGz;IR8w}EG^tL&9hWu5Dr>~z`_E2AH?C%*A_ zo>*n@B$*I(!9c8(RsuaOtQEE^PJ}O5zQE?1ZfmZf25ch67d(~c@Og=ZozG3A`ru4nHM*<&-~$|4eTa1CR>i-7>J;u*fa%tjs+#fRjUf`g zZQZ)Nj^%+Zn2L3m$CRrvlA5YEAq@x`ek+J1fOjzlJO%dAxJW>lw^ z{^C)EcA8eRKJFVy5E0S%JYM-i7B`m1{*JF04jXBoG7Wkqx zyVKC<<9#&_o8+nH3j!`|pDX26ACgp9vzXH0-p~WGwOI*LofO`xcHM(l`|5Se>Hs1s zq}ww`AM}0V&eod~1JQL$KX$&{T~UN0#g zfMZKEG|6dX^^JCGN#f!E))c=oU-kxAbYBfm|lM_n=G zFEo$HGA_rcow&3P-WEiip5mKfRS|_%@EG3S^ggA=SDeeB-Ve^>*a@##nrNr~2oAw4 z#r$zr#K^jK_Bx$Y{<{pMuyVh(S_L^usnNP7q0pQTj&!W&Ekr>5*I9jy2@gG^sY`heX^>g+N!;lMNeyf5nGHg1BFoZ5rv8=TWW`_IpUi2{gmiKG3ijZ z8~XuhdRud3k9UbzP@zb-`M2kG!X8%&Kp|~=X|IDU5fX8 z7W$%GjJ{Prl%)e4iUf^GVB5jk+ai6bhCb*Q?Ci4>WDnZ?fDO0(+Im&;;xA%WN#kjl zsl2d1dc?Q=ej#wVzCgxHIMW*KNK3>iyf=nc7s?9I0N1Q5+gy(cFQro>HQ(O|idfEXgT z)c7&%Aw1#o0sT1kEwKb&>6A6V>2mf^Ur2|L2W{m`S837q({t-!M!-B-@dByf3F$B2 z$XTx(1&g_aic4=**}nI}o;VWn_qB@ce`dT=gO8BmF@jJCM5R%-5@{jhg5eggDVO*v z2w0}>xpdXN&s**-m_N{bR$6!@R-p1fd!G>@o}?u!R-j3{`a$?nP5u%s^(*bX zZ=CJ6OvITmHYh!z$t2m=tqOQ^q3!+OB%IW=!bdNEc60kOf8@Y#98e=>g%=maY%PHG z9>AiG#s{r2;^OT2GEf}hqgV$=&`7U6S1pOwtCOpkJOafQ%MJvh(K8HNw_gb<@pc8b zeU_GnRkCG5!UJfBV~7RbtYMrCGD~1WU7*4vrtrn->+&-Lx*SfLcC5t@bj3_GjZ|eJ zKP?_hI)0KGpsn8Al!{cp?$Y(WJx5ig{#(PhdSRZyt}ogN>>T)-47xu$Nyi#aWyA^@YT4@*JnP!VA|>*NGS^ z?{pn}Kz3!d)tS&JeaE9Q&xTL(+WCiTLRMKpytzPJ%vBQwV`-mrYcp;v-`P5)vA-ac z_XF>&%`zSiMw|?NH9voc-cg$raRsZ?14l7VF_yOYC-~#3RL2W7;wK`h1o-Ai=yMh? zKIa&6coV!)`6p`|D1&6}M6@dHir!UJT4ZQ&A8N#4|% zK}@Hi8E<&vQIg`Ka~eibpc!(pv+6CezVxC|k72xL!rb?v7A=(i4=&}#c1>wfUU6qt zE!Oh8IXRWvp^s0%19G+GwKnvuSU=`zLNZ}!Tx2fG_K z6c?7^yx2>L8*6>Pr9fa$V1tv8dCVIy<>fOYD1BJoR%sJHG+yco#lNbXgv&m^kp20m zfZMdCgLqt=8J|GeVvBKY_J#$-EPsBDn(l$1NSa#g&*2Y_cjV682 zUan%D!6rwslyuJl3x85zratTCAAiJ28DkqGF$H{@j8Lc6`J5ObSq2Twlz!BUR`K8R zmr1ia|GXbJTvTf#lwT$YOxot9On<&5I@d06Al#FkD9_fT>3=TSrO)*|K$6$9*#}j3 z0;bS=-AA3?_&2-t^0UrhL1Ak#+%N^(_RX9A3V}s0(th%b6u?#)z{b4-NX2Md}*IOo6j}i-Z5<>MlXsOx#ZbHic~Cse$&duHEho> zIHVLCL(a4N0Rt{E<5tF&7F-$D@p~Z}>EQJhcqB^75BHs>96Np_x;CER>1Yklmz_qU zDX_|CeZLWNTGT)VYO}u+izzD3VjNQC?DE3f3H=l9We_Q>+L9SH?k6&6=C$|F0}&Us z%rb>HaoVeaQeya5z7CD~rkk9^mlpqQ_-L3U=lIsC|BX8|S@QDx=!%vGaix{y@ zp$ruR=!Q}E4PFJw%0x3k6OjKk5>LDD9M!D!DOKyz_S|~-gRs&+Gi2{)enxFGO+Y4r zR6_)Jt@>Y7WA5>*J(Gg2UgDx*cC4}R58{{Q?T2}6CL4vzoHm5(7!QI5UCMpDer|e| z^1KbBP?kPx2*ZtHWjwueVAs)0fsG%X?AbbhnP>Jg zjTiiUV#UH#Vj2_-#x+rHwYsym)Wb;o-Tdj+H$RV5>)dPNCU}jTv1g_(Fw6WI3Noc= z9f(L8c)?d3y|;cTReiPLbs+^27k;s=6s`mt@T%IJgeO9E#HYA=^yyHrguBix-Yzn; z()oc&Uukwp#Ppn%C>K#T94f*ULK{2mH)yP!$!*~D6`v_9U59YJMmm9((C|tMgRrbJ zL8F7MpGJznMBn_^{>xxswgDFJgt(qIr~gd+yR4Sbx8wsBc7I1px(&Tw9B0QhGw}6tXYUF}_RO=SgxeTqzpTok_s>7%8Yv%2xbaUL z8Gm(AzF7TyFUq$yd{#9#vV=AQaHZ3l+8L~$zxgpd76>3AvLi~XqWzkO6z4rcA_Ur* zLAWrNk<$;U5E7<~6ISc69j#7RM@6F`yNWt0puEC>HAfgU=p=oU#264@l+m&>S-(iiQw)G_M`{MC=1>tPhqQ6^d}5UND_6}#jLNzdnuv8P8c zN7DC6X~?Ui2Cm^IXZzXW<|g>D|6xhsc`wKFpnHE|4MEtAMWj0(Fh=}9Id~%o5!@m2 z_@4=0GB_d8B|-pT?z8=$5kmh#w&p*lO8>Vec)tKp0Two9`mEpoV_q6)jFfr(A2Pf= zpXTEE?+ovDo6OhG@)^4S%J7;8bYz@5?s3IPph!voZXBEc6dPf!MX3XS2(+=XyVTxL zqb-pDXk`@K=B?FZ$=N82sHji`Q31l*XMXP)A6wLIPA`gYmzRfp8c=at2{F~M4eNO> zFF6}PL5y$ylmmJ~l+zbII!%8EkK$k~Pp@L_1cBfDpJUaucG^7G*C&#b5KR4Pskurl z&ivpWVTA~^9Gh>kaivci-iS5W&tvK1B7z9gq)T2zyFV0_(4^ogp$&AlRaQ!Ws8`nT zA0e181W|96lT(w1mezw=-u?KYvZ?o;{0V7H@L%!NWAm5zj1LJiZI8yVynff-fU?jV84Rmbe7kqUX0wQCu^*4xxQUpWN z7Mk`jY3}WVdsz?F;6k$N4O{!)hTOf-#F(H z4Z@33L?X3+Qgj%v1T;1`DMFMj|FK0xrZ*vu3yZ&fiNAe_-P;r-k5yy=`BsY^T6e(Z zhgtv`I~5_>5DRf%(xEtVdFBX>S@HImm=)BOr~cpvCA$f6dRXd+ikCS!-Zf7+Q&G$b zJ&(n|>UYJxKbMOhz+dAMv3i;no)O~+%hlGAng;B{j3LVQQj(FNkN6w0(Cd(YK%)r9 z3rnlW75G@DQA*{N1>?1q^}#r1aV;)AXe^)DQyyYnH&GmerwTXy#0B{J?1iqOcF_hQ z*$55bFcg+WOY!sB8`lg3`sM|{Z?c=0NnRxqO0p=(yJe`-e;aUP+^%gNl5y$ZUXySGz zOzPLtFTov)24^qgwJ;HzO^~0NFj%D8{!!w}50wGkL?6qTn7bXsGa{Xlq^;MZ z=awYST)4O3)U7C+RU_izuu`<6nRzgy8DY;JLVFs+I8HT76KUARaC8s6f**u6;Sv!L zN;k?xsTZ5av=04dWFbTu4^UTxmdD~IjxUCEY$q?q`!Pz*(Xi(`u#(yACZ$qoW**oW zxX_Ux#W|Cb&Jq3lmM`AdBQOjWmpYC3=g2m2kb+G>M1b7F@$eg=5aF=X9P~e7Dx|zW zEkShbNzeo|d+tIp6d=4R_*y`DR%gzOtHyCd@uYJRoh--p3nyn$F^G>Oo+d1bk8F3w zFcdODS9%0i)7kwNJPV+Ng8otC7_<`+oMu=+K19E!VBcZT=PyS=2xBs?#WCk~vktQ; zfB4$0T0h~%Q+!Kot}xu^@6AO%*FzvEH_Y;+HLl98Ig7h{OFP+i79J=S1E`K8(i@aK zyM&vgXVb575F1<*S#LYHBz$`kh|#EtX50)AkIUqn=T%^QyE!w5V|N~+Nbp%ZfQ3!X z;}#&{VMTQ8=><{AYYC9u65R}Q@9kgz8qZ7y;|0m?R@9z=kB^> zqxM9l{;N7L`eik=jG$BwIZh>$IHOe=UFij#RlC0v1K&#~ z9#rA4$J*g(_HVWbyJBrkI2ob|FXIb?vaw~>lSYykp)TS2gOZzD`E+f%5-YRY8hMFT zKpm+%o-Uun%GRbs51@8ud+>$?4Amjr;`+d#RJG(7Vmg=t-8Q-8a^;zzetN=_rAxr6 z)G_9;{@dqk^+Z2w?e_>d!$<;ABlm`34URHr)yCIag# zr!}`%uYFtZ9l~MxhhDAvo$kwmi1vpMq~64^SNlDBEp}ZOtAKdzSYUS5@G*#x#IVKi zW}w)NgEel?LYI-nYOi#{ZywoMie6JoVQHV<)nmXG=gj$DXO?69u?lVm=<}nAdX3g{ zU3k;j^0ZEu3zqg|zBQHLem|IBpqGWbiJhAJk5Xv}m26_HGW_&Ly&NljE@v2@U*M+< zVs_1<=Isr=YpY=s`rJ3&R0g@t`Ud^vzv}aO1yz4me_O77RTjo+Xrwm!8+1~Pas7z( zn>r3OQaYg8$5%W7omd+cr7JZH;Tp6bs4HMxthn?<|NI>3`yA;bV4ONYq)%JrUB2UH z*;#!13pCqvht;s)b!P|t?dewf%RP_r2TwtmRJ)(FapE7u{@ zF}y0~rKc~h&ygM8!XI~dFNa^A9s8Irl9cYQBTo*D8&y-09Sgo*$oouiq(J>MI#yt1 zltQaMl)6f)ptRPjStNLl)f|ohbxS%i%Ga_{j1ABu8dE;fdg)mre0uK42{X?5G5Y6g zthYm&Grz9<9A>?nj)BL2JM+&fpJHY3$`cwcR=q#Om&=wlYALDf+7xLoOt6Kg*rlPw zg`(>*_jW;q#PR4HdE0wWR(pLLBgiKl1@x}`#`=2Giu%)j?Ya6)OBTp>Z544ywoNAs zgXbI050Nkx+6ds&yHpn+w(*7vQ|!cGhTP(C&_KK+WA(~R3m z=H;C#j5XUk4ktumi5_MdWa#%BN*Q*ajdK&R{wL8ig3E3u!O@voNs7 zS#IejG`~oy+n}WWX~-i$(GMWVCH605;aFhj_@%oMxH4*;Xc}y)1Ogt)SYlY7HMCoCeyXj0!+FTDV!1(wS=wI z-_t_pm)hMsQnZ*VHd+s+emF&A*8IuTA)f(bHF(8={RacfG$~JCQ8jDy$b2a4wK|X! zN4QfCF&Z(?bjri#Axt>*jR`Ipb2$C@_LZEgBHN^JAun$|}^@uFX3vm6vs3=zKS>ADC^jD)0j!!~?gZ5y{GS zwQ0UL9t@2T(9v?zG^S7z)h`GCGdt5OTnUc8#@3Rp2!GghC$QaEeh1XM$(_qu(AM@p z7Y;Ne{F@Tz9K-cN8?&mYyI-K*U!z?aI=k(c zfXjv_PEKswwoh!^wr$(CZQHiZC${Z;Z{K!x_jO^y8DE0PA7JR2ohp{G)rLDR&G?I?)W%7m` z8?gHm;|9ES)QWGa0uICKbAGey7`igw=yR6ifMwJY;3i;c1?lmdQ-}{%qhI15oQQP0 zA}I}d!R^&kW)pJz5#LjY>i$b*W!B3o>ehe#!w=pJJQf!rSF5H^WNTS=g!i=j_!9Xt z8v*~&CF9cf-H*NQ6GYPD_NTa)dp`T`R;7oZwoDyhi`V6smbs_xJJ{`Frhl@M;DD31 z+VqnA7H|uZfE23Hn`8Ms{(}4~RcM#&vVRoQ*5l>0trutX``F5V{;S*ioVk7zt>oo& zXJ+#YksR-|zrez_`M)R5@rkh|b2uO%qyL`&d*VdHR;l+yAeT z^FIL+kf9j^EVdtrn$Mf zv5ndy0(|CVJmP0ZX_KgBNS{dfGRw7BHo~HDQT`WB`xBE=6d{28*?;+W3%=AaGXUX0 zK;^)Wig~QO%(7e0i>}~f3A;X(0id;Gp)Y#icpko9!2dBhP@%~ro=zM(C5c6z-*TwD4h7VcvYi4=q!^$8$ zL^R_t{K4n*2uvs?sUon9A&E=&(n{Qaqu0@_TjII1lEgM<3wg1j=kw(9Y~pyk{iZ_r z>R8pD&b~CYaJ{fdbIKbUJI?uO0}bj-&AMB_89o;CFq!^6kOkZJ(LvPzr0?|U^xkwg z=dIR+U1r8SUUb{jUVX88K#kR1YAucL8L_~p@Kw-6K*Es6S7qJSU<1{RHT|ZO#JDKI z{{!y3S)2Rd45nq#tyxxMt-V3Z9yZ;zkISVGP7S6lDYTG`n{|>q7)D6*d7kvczJATM zv}E8@K+`aHu(NQ$Fj#ZEHC8u=5BS1pK2^Cweh2$yI{}`-4v`YcQE$Sc5h!+L;T zOTjW&F0`6-s;BJA0RDwDJ2UMrE2o+=KJFw|KO2#|xA3bK?p_q*MJNHX=^5@VALRM^ zV{l{JhRtKjuYNa8dmGv?ak?ek8Qn;|6N_>>-)4oGo)N`##H0%dlX1q#-rnJwqG3PS znSqMs>hmpmNaCEf!^wMv@;KsSc`)FyTrkVt)sJ?omJ8Gdr5_FUArkKOEG8F2L6%9C zGNI01J|54r48<)uY>9Ud{b5xSB2$zaKO}3Y`3i#K$xc>AW9*+OOadWj`~;c}KQ8p_ zkD2zkF(BQi+=peO%cv&KZ(h1v2t2fFSb#7mEJ5B(J;Gr3;O6JFcY@d8YSI|OTI!G$ zuV-WYod$T(+Gm7*)&GHUimJb*;J}SiBh9B(Cvxm9Zh+0a=&`tjvco1W8t;qnS+U!S z--<0ejSjbM+*JK10@5(x`%h^Zl50~K6XG=d zR^9eiOO&L!Kdh{JoF2f3EkKZmA;33fq!ad4pSLrw@1dRTggF3HOPM}18MiEl&B8*F zlcKKaj)%*66ypg!uc(zT?j#hF%B5DIPFf`%C$uCwaaOtva+gT%5^m3BV)D)v_(OV9 z)(;P@Y2B_fT-#%BJwkU`IEKW9KDdRuoXCq=1^qd5KsoR|CMQ}K1g~a#PgA9RtEn~H z$1xJo-IlzMdNpRK>>6GwgwX$ES==`)bas~odSCgBXbD8?gm2}aN!Zij=ZOU(J*nUf z@1uiyI{z+t;(UA1-|VP%S?MG&;mBIUF4r?&_h@Ut7r|)$^Lp!sUpIJ1>zm))J9lk? zS>9XK6}0um8zddCEwt*sJXbJ#zKZXGyuF;V@wAg3XBKTp0Y(M(-kRQ4 ztljI~rRd%{gPd}C7W_GN;9oayjIT#&mt#l{ap!*!cVZi=NTZuS6zm~H%ueZM|8T$k z`y||33?U(1esz@fGvVJ*gHt!M{`2(+_&J1t0RvSoA`Q1O94X{{fAxS};wZcn`YZ6u zjW{&^c6Z506sSjd?42IWP6rt9+9u+?h{Oc7 zO1ngwknrn1$?8dkqk!d{xr1h%Pt{J-va1<%9e|H@>+jxyr+cuPp;w`CAWOUep^*R z7)2F%(2#80tnG3sim01rxw|+}Qe+^PfVYc4nThNEg0Mu_%qvwNR%ghIP&jUPQf~Ae z*BM=_;4X+Zt%Wuw=ppdaXFYqBy7~wpShHLF(yS%o3TFGJ}eL=uos_`be z%Orh^5y|8=e^0lvC!_flKt(5l-KbS13pCtPo}6p2_kWwT)vZ7uTScb={IxcW5adYEfI)B zPYYvC4zwJ9%HJhTOCY|?IzK5H42Wtx)rFd4Mv<_hvP8DX_@d9eeR;9l*V8geQz!>- znSjDD_uEOBX`kNHX&)U8qSn`%2pj4-PR>O1?L*sIXHuI%IY8`Y;%vIf~e7yO&aLw}+f>TO9YVj)vt&^mF>Sfx9 zQH)N%`h5Z;XI=y`zM;Om{ty|2aS%}^GzR+e^&9Pu9ncAwM{I|RL-Wn#MtJvG(s|h_p+=n>3tyDnyOSxrPN*WzyuIwHv{DHZ;*PBu z4mn<5gAQYciC>mn0-*zW1^K^GjR@6T)@1m2xOrZdoOj_IZTCb! zG-oEkEN}__V%w7kPlNG`KQpTNNN~k7mc^W&+0pDfF7Qjoh=5<|$(B6UcegyUxdRMwxzsJ1F z?B8*LzkM6A@(P7EEjuXqfx4uwYM8JdZZgn5*gxdERGBjoIqrG5&UPfTzqY4y;0m#T z0i!Cltk>_GC@9&g`6$VGBhEiWae=QO;{#XBToJI9#gHPd2R}-qaluQ?KGL_H(sNPaiIUA1m za21PDvG|tNDp_EgC!_6G6uLt$28RZN7foj*T3|d;I_X+Ek{!m z%58U?dd@`X4!HFh!+u)Bs{wov-bIHd$h|lqT&pU=<4V<{`c_b!cbMD0(j~cVoz0mE zTmd)T41K*mdahqSu2Z7NP+4n3Ltq>iC%n19h}=`M^`jfM#Ge&!sYiWORjcv%ttMPY`R>_?q^zEq|pkDE5rbgh#F`d`IFQ5nPo^e&Ql zOEW>PhSypfpe9jl+Ggwzb z0pdirD)4rs8FSZ4kIZz3*;d5BtTb&2KPOO_*-A-<6%jf+kuoNkyR-O+B}=x$=Ry$N z!HJdF(C$%_mraC{+iY5>Aq=%Bc#N<8Wa+qlKvp3ZEzyH=Y^@O@(R`b%O9G?MC86Bw z2?Jby(-GeXZXLOVIlg2>8*ktc5BSsGu+ngqm$gI(OKjH?+j>q#yE#!_Uxkmn)yXma zwpl=OkkVT&TY{aQ z*NAJc^27PFT|CtEj&7qgl3qY}3_sNQslo=7EkI=qzp<-+LkYqjh?5bGzGy2hYWd9`KCc(t)&`yBPv&<8F`3r_n84{`TkR~Yvpe{vFz8NUcBVv&eQj80T*DNYYOoT zzO{^%8ud=db&I3hYKf~8`dRf9+X$b<2S{?A5KAljJ8dpk%#W~gP?;f%gnd0{doUqS z`GFhs%__K+uaEw0amqAGSgvCyF zK2KZfK<^)2F+8QfrCWqY9h=*0WK~WGCiy^ zTNF}hhjA$g*@J{P%HHYTwd5=wJare$#sk~u-J~aeqBiQPV}y$!_+70&<<{?Y`}|6d zFg=3j!CChBw#a<4gk}~r>`Q+0ruL1(E@Wz5<=Ss7HBK5jp;u{B+E5Y=5BZ)FgO6yA`Oe)bThNJfrNAK%68*IP~J+IFeO7By6S z_0XEamp~Wf-baIoxGF+-uU<8{kEOT&DF#I|^i(&Jla&i;6S^gJE zRxbVNWrFGIh?>t1wKn*mJVkgUYqYsbpI6;ug*{Rhdk7HBQocr#LI7HO3{sEuV~OJM zlLqYRuABa`)olQ~BJZ%Pr64qu#-K_{qZ0h{44-;A>>bYYY*57E-2qFTmfT?_c?e%= zLIZ<#k6p7|Hzuc@RqV@0dMx;Os@#P^DiSh}4|*zPaz})*b2rL0dtD(*n@qVeB1MwL z@$+=!YD40H!#e`e`CqU07o39z94__ye#+%3x?D!Ixvh>hy>`}{B-Xq5B{i&Kv_D+j zf8&JZm^Xs;$4L^q@9VS;K@%_(g(SW@_OGQdYhC5~YW@umMz)2}k0sO+41a1WG?y-d z7_=i6z*wl6Q)x2iUYd;Y_6+q2{)L_77*9m*Qt5d5rK;QPJdyQi$xcqELLhrq_#8$E zOnOEv)1xCI{6}5qA@uHa$XHSpp|l)Lr#WUemmJ}_*Qfy2 z8HO(HqdIwaL^&nu9m+?hmo4N3`En^3v{ZoHYZ2VP^wyJiG0yYTTW#`Xd~H(8wtRl` z8Y4s@T^5#5kfZZUDbKv~Ouh0PS6+}g#_1JdoXHAC?|LTVWXMk>sf{K%b*r%hWxBrS z?2k;u7mU?0JP8bQk9XAh$IQ)s*0oKLzFbgKu>)>TL_<|Jzq&{Pt;q%OgOa$u_CxkH zs1#sMqn%Ez88i7H{@*2tGL~G9eB{yK&o1F# zfKA7596uz%hq<|7BwG^DCkOYn6SyMZVYyw5-kHk~*#QE7 z=8SgODnQMY6W7mQeUJb+$(bBOwjO5AMy0- zs8|Q;v>x3)1=QH`Q}rF=)ed;>S_x#Jk~svlQq^ahao>brA4HbR};Ll-a3Z-;yKRHHK5}#sNtJe6)6Y%{RB=>oA?CGOZ6H?KJu6BynbFIU1@Ys-M}R&=if@ zZhW=)UxdX8etA)#PgPxxzS{@*I1)zRJiYph|V#1TKwD%s3~7nsdzOO zdoG0L#6<2ztHlu-VAz&#=uLT(v~EOFpq`K8gYzDv%^8NHXDX`j#L4r6^3}b_%?>HC znX;i3iZdr(*!+X3as}n^@QKl;grSv$lWUf!ImML5v`RL3)ktK=ikgoUNv&NZUALEv z$>n}+$p2p9njMeT7I){X2DR%~T^x_&<|LQ2RU`NqCC{6ak;u6v$m_=7N0G`Q%uzqa zZcxqsqoiwk_B{;2QuW%f^Ld#=IIpU2JuwBU^Z#Vwo+EH+Jzdn@U&y7D;XLti(~GMG zvppi1fmB{}E0{MJmV!PPZ=H`+U@{Kj`9G!*>-K?PxOe6F+5wlz(kSI%_Qt+7$qu-$ zk$ww;bEnu2<5TaaSvC~9Nje=n+Di2N_w(6YuTn`N-85``G1YAh+~|!{PV^LO(x~|g ziB{KCYrjJ1f~$P3i5IzrfZihL#6(NWVP_H6vGoWkOmxR>ODk*P-Eb4!ny@h*_fRhG zGVvH$+WmK^Q{GMCk%k^r^}7Mt zF`HJDG_xXQ)_cYyAgM<3KZTjiH&18;G>%S9W2tq4&}w(*L|_ss2v>Gj2?oo5j+cm5 zMc`hX7N$VGM~d`)h!|fM9F6NWTq7sox2WirI=z@xL|Z(uL`FCI9n0B(RABX|IEKP_1s??weeRdSGF7uvZYE;qN))Yh zim_}g2s7hiH2l`}4G$U=U-AxT@b2D74=n_O?9?N1u(eo4pdM&SRJ&uuHXlhVYHFp& zT|aqFE1QmLlkF+3yFpG%)|S_c_7V*k0leUMCooxrFl7{E*lM7?B8Zy0n>YnI^4_{G zywQ3mWJZb;A1o4qZFYt>nOz48c4tjy=#jht4O5>#w)s>>6k`$6Ga$~^h#Omb7uvV4 z67wMG?og3AT|R)heWI3pLCSBtV?WGsR##LY*udHq-&+4SsmJVlw-N{)i*%F4t$<*a z1&ozQZ&;mk^jY(d1i)Xszxa5W-3r}uHrPwbgAT_)-h6$`=Cu>N3R@n%`wN{9jz7Ks zEs3Vj8GafbiNxAK2vd4}^d6-Y!2=TT*sh42DEND{Xs7DAB zawiH$`=Ow9iuzgEwvnGWs&z+Y&w|E1F}$%2PZy!x{fTgdRyTSl5PB`>OX)UGrNGon zwur*(Oo?Ylxt;I}c@_h%53t_iVC$ZNWcihb$3zqQ!WGU8ryF(1$sCMLG&{or+Ev(0 zhTVz$fK@u&8BiLsCYn+L2wS&~AmtWaJY&KsJhxS^IFVEfOpn;NIQAS4Gn@aQyBZ;# zp!yE1gZcG1xti8|`MMZ%9ww^36d{b^x&P}{T@PiOi70Tm1(o_O!9X3?xsuA15Qj@u zSlz;NHqRE8)gohy-6|>3B#-{0gGSM+LibYNH3*ZNSG_n$Biko^)DCr!WNvTl?ZpC;sO_WZ3iRpGJhY|7 zoeRl#Q0VT9KFIkXlGCRSfq_45S!#^s##*Qt`F zGm=f$T8&k)dEl|upL%Rbk(={^{vTt^EcQ;Nl9}mha}%LZkBIUZ8(Vx5sk|2>0Y>?2 zu!W8159AeT$?tzecul~yC{W_1%4NMIRL@EyS&nP%33r*L;@WOaZV^Qkxg)8~@nLt! z9pGatljC`N1=UEv%D0tayy~l^N-R6#a+vH)6x2j5g3$uRsnbd8Yz_fJa9|J zr<0yl2vDmHj7n!y06&zisC8p9>NcaF+|2!WZ54R77z~Q;)&z}5+RY^xA41POLSU2gmvuh%xVa}@BhNHeSO%XJSl@N9kyjHr)zT^~*Oy?9r(2; zaf3VW@NvW6x^?KLcv92A?N1fsvyB?u-OqZPl4KmiMh?hJVJ-gve2a=GZHSLO?lBVo zmAb-fBPKkCPzKHQMV*bEkL%&{Xf-dZ{v_T_Y{S^bwwLn0^xoFVdWoh=y?-7SwtbHp9s3)*iJU zvmi7cfgv>!CD~5{^JXfYQ046Hv@Gag(6v|4l*ewo`D=1#T`8GWS$$?+|Dl7`P?=Z- zU;2$+x6;RhfiS7|MLu~g;C&%Z#Ag-!)r*I^CDYB=IS4f0=|7poN7RN||Q5ld*D+h46Sd zotsYjvJkV@7$&S2{}WK9J+eO{jp_T(K#5gy|6_>+B2hugkyGb+-C4WNscJ(XXeTT> z6S}q59KhhCe{Z~50fd6P@wK@8#4L_;ALFn$^eRJpg4sb6o7tj+f$=<>UI%~=aux#( z6y3?CRpJLWc*%&+j&x&i51iskuvR_#crM{|`$3hS@s(!_`L#=Z%4|ZJVPZN2-1yu| zWBZI=r~kUl;I6V&SGifI_t$bwqDAvPpW^mcY{l0)^Jf6n33IUfvUcvbd#x($`+N7$ z_}~;Yz7J=O+VaWTjnykARi8Ti`fn{o%6?H(OuYX{IP~J4p&G0dMB!}CR|ee$6%TL% zF*%tvOE?s}e4=wsDI;PrR|KLB;kW6U4}+j(wfe{eeQ#Mf)fi2Pe#2wob_{vEotG7^ zvT6DM`FXG)zl$kkR!#g*EpotM7W+>C@zJjb2*3z3)OA~H;p{U%KJ*AA!Ias7f9G2{ z?H!~gx^Qh}h*fm6xLZoV3vDTym>&Xn#jd)KE4v<6BwfliTccZSPe&mw@@5}wE z?zQ7+HMBC|Ggz~EmJ`E{?w6#Ad`M&Es9<97KosjW1ohDYacvwk1mhZ4jM~f0UW4$M zye0R*J%(oBFOW3`&ZVxH*7-R#ecSHvDvaI58c$Q}plub4S6Gwo0NhmY>FeI)BP>=D z-+VH$e5RPu%tzS7CfCb2xtKy=1^Dm6iZHrZ>)bM}(+V4EdZ;d>54SS6^AiN~|DyEl zQpm1#YCXkPEayrCdV`=ko@}bsrlLAElE498^SX@yW?ZKe(v|;mZ1n0b-&7VpUa5^nlUvHK?k_*&X{#u{O11j8>$f2ib z4g3vGrSzJ}d=qKCb$zyl=}M_Of^qtu&3>z&{5@&hr7^<(l6FU6@(eKg=@7+)B>FiO ztk=+C8d@_ksIl#~c;83eY7;g5t~3g!GLF^1MOitPs%4}qjcuZQ20|BaLwP9^=gk9c z%N*R)0@7jR@=|lE_KTxdkR$R`1ibd`Zf*Z;61(?ELZwN@E!a#_v5+g=a6TlA&3{!i z_03nk5%~|j$?IAOTlr%66=#p2e?X?MWg3L&)A{PQ;~GbryoHd)n?mW+b=uEWM`p0D z7r`HK9MKwHBC9{>zV2Tx9CCc4ycyEXxnJJ$3d9!~4fgah7}>bwQ@;elkzpFsEN)f} zv2{vPHskGE`O@Dy(p}-$b)AN+Fa#dOoz{TmtPf_!7nFnDGLBe}t5uy$y`j;IoL&ea z;`ZA5N%g!TA_k#^+fa#P#q+J6YvLT#|DRD-~dPYq)7|K^+QG zCO+!sk4O%fZf_!6t7Q>`*0e=N;9lu_PX5uJWvBBV9XcWVmPNs-J$=&Q7Qb1~(s=Ko zIWSzg@?eP|$F~n2@yN?l8A^VA>L0;&izCFk!SxI^l*~AdGOxB2|3P!$8<&%}lC({f zV+|qU?4NHWT_NJ_O#oT9!x=+Pza!mUJ*@^;qCAU>E2l2c_Wbed=?MaZ-g-2ZaYq^>-+MH01cG=gpOcEZ>@iv zohDF~8hcxV@ZJl8jF+!QB;TqxG%<{2U88$2(Dy;<@2D6dn6sd$Qm4@miq9+(kN{H? z`5Eqs%WZPWZ*5kLXAk6t1DcIW7q4V}Y>N458PL_Qgp@vdA%CQDPzE*f0BW@d-pj|p zl@q_1?GO^c$9Tr$6&JF=R3}tuM48h6T`6!Xi8UmLqV}v~mhZGo)}#>m1=L3@;2x~1 zCv3Hd+@Q37J57NX#@Bo2Rj6Q*e49>Fx&f`ddi_9(AUjCia9O^S@i)_Ul-Y!&6;qh# zpY({9uvV(veHrT5#N2LtSCwqHxH=up8ny9H&?_$We%NQ`Ve=LCTt}sYa%SFmQWHy)@?bTN!Q1tifqUPgO06ZasVfY4kvG74}|>ZOX*D~+l0j8j62*NSGUg|Bwfbz`+ta}UlZl2;rRPD&XA{t9_o z!Pyc!@jett$4C(r>UBjWVJc#LXJ2oxa`2gG@IM?GOz~OQ4Z4$}?PUBB@IRSAqxJ+d zO5id2Nq+*vpw2LGh~v-;I?R!lzxt_le!~z%noWW8{)Z6O73^hR&eT> zQga10KE0Nrdpxi0fNt}(OQIaeretzDOeeB*lA=hC9k^k}YcX4G3{qaa$YEM}M}9;5 z;Sc*s^$rdcfm!e6GYR^mx2-l7UcPl#gSTe6{PH(1{a0b=l&Q5h3n$6}hK@7Nh7PJr z5GIp=pdM~b{C!5@t+sVU@gcZy z+qu+G%`&S46!yggXWcs9FCMUl7T?$>4o0yX1~P7HhZE~+Y<6Qkkai-4Er}>Fz&YV# z3Tsl*xZwu@@%Xs6$7L&QvmR$ODV@wijSNYW= zr+jbzj`FsO*%HTzqZMv9kQ;AIiq3JYUa@$Pi^gj_AxSu&{NTPhEaEMl_j)3e_*N(Q zJp!g57hJsGv_REWQ@1zck7c_r>u(x-u#I#)X?rO7uU+8Qb6;5+k1M8AI=G$kj=|rp zG&Q<6KDPGtTHoUh6<$Axl$EYyOav_oikAaLK5F?(Z`AaYKL_2*_V0JzbnFgTS4l=v ze65Wtp-__E4Q7UP)psc4vAERScMntSp+wq>{?{OCYR4YubQFjuLyAv6;S(DKM0)e+u&ENhZYvC-YF&JnIP760M>Sz=#g= z<2Te|Ik7b|X_o~IJv8?LWjT$Qn*+BUtK25nOt#><8+&CmTZC18+`Bfram4h;G#M{;89Wu$733*FTJj*)JV(%ca%Nj= zn{2U^P?Dr->(HkAH{-_8nk@C}!y+zmi@j-@5c<)#wr+&%!2%>ALGpZ(xo>X^gnxsD zShbNO?@W4Foz9h-YMe^N6;8fAw|P*CyUT+8Ees)jtDzhH+N#&g14YO}&qEC}3KctZ zD|?FtZ?l3BZ`M-&8Se7yZ_f-uVVYEc)e3E~+FR>Wy`T@nME`zBKbAYC@d&PFgJ&*> zwK$0Z1ZC>_fa@@^&t9Rte_cONSUSFjsYk5$KEhg)WyPf(rls;BZxC;)opRe}v}h0V zQewyW#M$U1w+bW`C@fY##I2fHnM>kwK zv?p1Rf=^ruvjBf}WhYl`wy)~j-SU*PeC#3nk1*6IhYvb2F}`p?)HBPfz*R}l?@E<& zoYwZlSHjWupWNlCRoa~=K<8Zz%vpEKJ_P&hL-UN{=rui+urbzqVvutmc@1Ggoekbw z0E3(q_HI-4y3NVkX;FH_Lp* zS*@(MZ|K92w+-y%n*52pY3!`?(mG|iA9JDo0dn;bs1F?|(!UEgg*$2)l=)jlQ zI^1~Vq&u2wfpl&yTHfB|16&M*CNJCINQF{bPj)G2sNuceE6}EM;6=(8rgb&nz@~*s zG1vm^(%)s11DyLI3nxME3C3xko`Wp`+LcUi)ms1too)nWG zoIr##{!Kt;10$z0=wMejCyVfCW1)du2l)iT&Y|2hyIR6jx@?&ngfl8q0-Iz@vfjCA zHuun(!OM#dGLOBOs6)Mi86S}hA6(>hC#9mV=H+q70m_Ph7t}*3YcB6`;~H5rU>E=b z7vuODO5~(}XORWQ^Z3M}0{asq+9r?$r4YJTLxb7@0WV*Kj6{ z934yEosb_rf%@`kpTnP}gQF1v?%-*7KJ31Q!!?2%W=$>6Q(O6?rN5zQZV9N3enQ*0 z9T7AV&>|atl)YJ7<19#2&av3SEc`>a!ZP~_F?|(4*@{OTV5X+X=E@zYpW19hKVw}J zzvp@aw8p2XeaMO)-&7!>%=}_gxV?}4^~+9mhY0w`9|}+0S3p)TM%6Z79Ej!z;+%IT z4cK*yvc!325{_BrRYMIsq+q?52`9ccSfFc9;ZTNFej>l04V(lr|AZan9LbR{{C^dj zy?&36@z!P@iniYH%$QhaPBe>X#Xa;}(DVGyG8e3wWvNd00aHxd5|lwJk__$^BGA_n zW|p(hWYtHMsu_en4JA&q>914GU1I|0^v3LxRuGBQcu_h3G+uD;+SY2!x2eh7eC z#_L4zHUGNc_7|9E{zA^MA`b7^rM;Kjw2@^{D*P}ho6iD>8(ELMx{<)*$N8s&+3KK| z1WacW=+yixWkDBiAg>l}88`UtE%97aTGzN5+el0{xH0>Jt#$pJ5P}df@A6@8i}Vuu)(02g5stQ08Fq+1D70iec6BkIVirsrTsKtc8GR1TTZ@Nu@1fnhI6?7|_|o4L5DF<4UE2JayV>vDqm%M8HTNreO1i-Q>I z75L@uVU1v6uh^Lx8rvfYrU~=cn1`M$zXp=E_usEhxt3 zUJ-qA5iz|Q;lMg`ntQsgzQ&$!fisuQ#5hx>aV))-!f;~d9!P(0w55c7#b9M$fQ?VK z5Lk5PL^13&;Vjk_t8a2_Jyiqh9olivUdzuYOhAa69$$-&XBBy9L@v+nU zt4cmA24l>Ax=+2P6&*e;Ls|)~JL-Q$nhEzbZo0zzEI@4C^H+UU0_vuu@dtgOT*TwI9P(j^+4kQ4$Dw zPMBD8BrjV2{>&(h%P*QvLo+G5t9hS&iII3m@=2x}ZhWpyUmCDyEH9LqnSBa8OfAfH zqCiJMf_$APjL!~a+xY!1IbQb{)p|9)d1Ug7jtR#C=1GgKQKzm8kl@W-^BWakYafk& zj~HcA%C?cIP6Pb?L$^O=03Y)*#D%F)%)K%>r?)j`WhB+imGkR4qT7viDAN&|WgNyo zV0Oe7=#Sg-cxRC=!@%4Aqxx)pQ+e>y{6$cWvOhM6c-7NSt#jgg+fjWMSSGgjyQs6) z9L~akgN#9a-vn}|5ht3Anj67=yI>?{H>}0=s865JDUcQ9U>X$C0F*Jml+-l2OjU`C z+^srdte9KS#2!(+@${^bC-0>i zEZRnvsEDKGo$vAEjFz$l&24Ck*l9HzIl|_n*VaiYnpvOP@GzgTD=W`3UgZ`Jh2@!9k62#xeE~ZpYH`lUW zIy2VFUt#7unrD#if|!5eU#)IkRu6cL5E~3 zVtaLB*3<%k)W1g}gRfgC$3?+ujj)cy$S+e_W%h8QtC)sY%G^5wh!gq04;{L8D~_0I zbZXjt`Xhs((!7zSQS_g|xMD91HxaGXWx^!Sz!?Sym zak6U7J9Q$oLep_y?cOV7aFAs=;JRQb_P zu^mNLi5?h>q(v5D$-{b}*}2xipKS+3?IXomcyMLlLY9cF81m9W@Jg!B#1j1R)B1u- z3yU5jBezL|0cuHx`c`nAj0Y#VrTv!LgYWI!Tw^Vkmx5ti(UCj2(F64P&hdvNv!`ip z_kRY+?!0kcLEl>LDUTq-80SoJ=0&eySjQzmxx^v}7uWzDGJ!mL!UQPUz~?hI}^2AXLv z{X-gcexfiJ2=A$hJ_0tj^Uo?DNCiG8L@y?4VN zu!=8M!`#xjtos$G;Zyy*IK}`r&#*a*<*TC7)pzQKaF>@nW*#A$ja@LYrPsxdkpW;b zdf}SnD18r}&!bk_)-oi@SJ;@d7_ag8%+E_^x_BzYKOkIB2w1;|J+(4L_HfJ`<}WQJ z{Z?kK4{7eD?6}%5TUK3>m<3K>4g7hflgq7$f`wO=pr?cqICy(_sv$YC%N%GVOO&4S zrzz*9S3qiNWS)r)J!g~v^m}YS?QJmF{+OE1-$GZoVN@7D_(;4WC;fA zdGmB>@uB32!zpejLUQazU%YaO8{EQMN<8``JSv>2y|1_9qPfhe zh(@YkD}Y1yz6j?&Ny&n~6Do>bpPDE?*FM*tEb!l_tOEUj0D16qRJpyePi~ADHq=H` zzC3{<6=|cja2*BCDI2D0H8~$hf_Zw#mXahEyMx*ll6kPDWyz$FGSnNN<0nmR5VV08 z$ziYHk0%8b!xp*|kBNaDqMN(F_98AW3^=Hc8E;ccUCdJsW^1ydfx~Oy^L+9fQ|3u* z+e{?(0c4>kjelpNlo22;#EFJj4#CVd&O5@blgtg>z`Vv*9(nsm^C)k_9$sd4?~(7l zcqF1`8h&}Uo#yTXN5`NlkVxuwzrkd(L)Kz6qjf!$@-;~ZE{6Ab(cg;FjEnZa(Tnb} zQ^1R8&eby5eEY2b#@Gerp^B^UmPcvhPcQ;Qn8W6AhPH&QYa5oH=EiEf2pldUpcr5~ za{rarIvU_G)@zSmh06|R^VW{d@3nw&|I(zik=JU;@@tlMY6mwE}uQ*or1D{P8e z*`__`cSsk;zj)b;kq^m%ss~L?H(7uQt%REhNZmWl7~%=-3QFgqOJxqW_IffS+|3G5 z6Syn{h;tEl&h+S^G{^RFrHVJVzlvuvi#{0TCpa7dn)0^7O{fqzn=(M6#Q6AXQe~DoOVjoF?1lI<>7P;?Ew7mH{qDB&e(iTRkp0$BRqZ&O+1VkJLRHWj zV~}30+1#guKhuXa$q&b-y_TzCZ{6{HX;|#7AR`CG$hV!TUvVO&DH4(e0H7_5^)joL}DFFa2rPI@xQ+x zoekeeq%onk-e{wZ6yqzu1SXqCR@!l?G((1^1WB6Ge{dnah(PWyhg$4SR3sIFKOh^( zhrq~c*f37M8-i(?-}^i08g+%Xmzufk!q|B4sbH`Mb{4%6qXPl_E^@6rud-@PRLhbf z?D}h^>+apKQ+ehj;=^aTQjO=2C`rDeKjK@6j)gD={ysfgBerY2c}cU3(&!FHsLIP8 z6`hRZNqS9n`1xj04GeBSiTCTs!Xj0ATaX#vm%R(s8H8K8~z$Ah9lXekn=We3<(_ zi31Cj+aiSQh4clOjNZXGxA4SFv+v7_r|y7?CGiq1bWb=<`t(#5cuZcf`>&|YZoKgp zy9PKpYzdyy^Pe$E#S)o+)$S5U9JtH8<6aKF^Ml=VKQt-!K#y@O&-SWU8-c-NP(0MS{*L6B658YetZAU_= zFxSN9RdbDHBTzUu4~bJVN{trYq9YDA*e#@kNd(3G)gL@JNJEVCAROq&ND~*#y+-A7 zvi+{s(()mId%$XtLnI#71+c9&k&Lo1G$^me%PZmk08&7$zZK-0=f`ffIBGA2X#Gz> zt@cv?FgDV*4Q6NE;x*~r#xRQgOB@0?+y0#^-b=;n`Q*+6U4@xv7n$f|P}kg~=&&B8 zIXXLQS7u3*H3bX7rA@LMVgEH~4P%@-9R7G%F<`jb!%S_3r|4x?RI6%oDhBGY(w1l5}Q4KZq#C{b;X{mi(%6bp-r2o$=bx2 zGy;24TF{rWvs7;%GGforg^_8La%M$)tZ4&H2!w!^fK6@k7 zg-QX$S9B7S?N{PXIK|h`QlMY!EQhuydv{1pYWV|1@}+tQ9h1xd*v4;G-+l4{O6&fw z7a)(5D4$1yuc2bfr>ySFLfU4fu_1*#EyWFe)E~as=gOA2%(c}@d;DxmzM=Si>fFYB zvqGv9Qq=zkAwb^0(CDYCew^nS+u!s_Zi_Lq1feY0Q3$ zfA93SIGFqPwUGMbI5l@#4M=d|L^bND&U8R(Z*wT0N$lUZP{ErYT8_Q!^bs@Hxu*%; z$4^xk22MqAYATl)LTB+3l_aP{YVW7S9Khec{FZ@9MHY|x=FBO_wE$b#)qCQ~Q`?<@ zjfHHl$O}o0W7Bj;yUFwY(uNLLxA7eBR^Xg#mTU4Jq_P@CTQk=<^B1N4OOko4`T}xD z>GAB&R*q*-S*J~0$AK_XQu)^YZ3}QOD)yAnrNBJZ@;21%(g7bt;gDo9tbx1#CKHnF zn-X~d{-$3ZtJU8HaaN}kx-)wth8i#k4lv3u|(FnckNhvM&b!C$TuMcah6o|k#q zhLzVonlD)??p=m?^tLtElo!U#lj?g3Oa1ovbdm@VL;7s>;-eRmgTTDnW(x^(in;7u{R z*qS50%?uxbZ$J$uMC0a27Kp62A&rlL-A&I+5ZA#6yst*TPVkCz zc#-_AXy33>Nc4Cf`yTLI^n0&Z{oP0=qq3u&#RUZe?*r(tt9lmAlLsdRcGnl}_ zdp>OE>I}G9da=7CAB?sPIwQ_69%knurk+L})LkmK-_9oa`VE9pIaI?c5uWhj@F$vT z=~y*ta$*<2fxf6M39%o`0o!~8&Ga~e7b+F}=_k+3}oQoeiD`-yg? z4M;%0T4;L^r}}J3Ly!52c$D$K2EcOb4ZfZWRAErC3)VK)b; zGmsNt>n|1gk9DyAkF3Doq&h%;Yxe8X8#OUXTD1|?}P^h>N1ofDXEFBL^y;r5f-;3 zgc?ZYDiY>d0p$+R4l;@qqN@}i1thSGc`|pLb2-%VNLl=89u0CxN$Mu`r8YA@IyOLA zRb3@d=e|KWsi?=7# z@xUuRyw}pf;1kmiijo)wRh3g}Jq4p<2RTYa*CKbdLk@*WMUMb(192?|E|97G(ntl~ zrjjbp5O5DQgTS$w^JvXEE`P(XjCoBBEMnWdp<@PYDA$Xafyo%4{>WQn<|wsPMWE2k zb+2@=%xV+A2U^X4nTQ1E@DOOZ%pHm0XV)5nwXS~+zagdfkOIr)ZHlz+u0J-Rpc=L;#r)v zp1&XB_Vf7QN`5o_kZ_t)Kkl_aS~b?JeTas(&j{G3R?VP>KcI&HP&p1$+Ro+@yaVP7ptngKoUPIpE&5X#Qn{3hy=_6W^fq7A>=VrY zBefk3p#C4d1b#^G#(UBO%`*=*rBc{1RR3edyf&8kU*D-n1 zHa=D6nca;M?n=f>x*eNO> zVmPN=^Mfuaxto2e9~kqYdi)j*4|fSbSNjkPt)JG88JP@uuH8Dx(KL@{4yl|DpYapw z5;hIabH}01>BuMW2mAlL*HuOJ42#Ga`4yvP95PjH^U_(?>R4c8fOsjGtDaA-n zCN(d~x4)^V#tCvtO$`ZLqI7?5;ZGOZ=D>8tF6n5PgSI-59~uYHXdWROfbSAJc1y>) z)3B)vzT}1vvG}pAsvl-&*wZz^oHT%NYW*ER{voil!}(44qe*(G*x~kgf!N5j?+C0` zc)y1XuB!4GJN|iRHjhGfoA{Q#+>ebjT#B_$Z+J6zd@o-y%|Qtzsm~odE%u{p*uJGk z;Xo74;b10-(0xuT(3KulD&(KG8Oo=t?_<3Ktt0rhIm;OZI}Roq*JlEJdiV#yUjTN3 z@3nm$;eI(^N#K1!>+)=uW_SOG;cYNy^}6#$<@~mh$aiXXwnHz@Z5Jx`A(1DTHz3z* zm3v6;mSv2(gx#EvkJT$c2aq$90xloCaXjCv)&c6rJ0LEC1+|P%UuG*-Z!a^uSBUxm z#2;ev-vaMcApc9u0ZO%n5WY^cK41M8AaH1>s8Xa{K|tAZ86tCv;iB}(4NM%iK~jM! z0+v?CJ+nkIdHBUC({ad^1?n0;bNLMFb>EF09_O*WO~b~1emW2uso(t`9_sjWb$omx zRpf9Tvo^_GQVZBs?ph!YdwPD>SR}ryV0x(90lzRI(ATiHD{SUws_+=YSw1SCVzpr_ z_M$nOdY8La!iOk6-I@Y;>^bxw3lH~X=Ge>8K~qf?-CIBiT}!eSia}1S&Uqx#zhf?% ztYMpP8@sm;GS5zu%n8JUISn9YUH4c&p#=aMGvm>|wibb$;+XY(1<;6hA6EUyeO$yl z$A$MUz`?nNA4ex$0CVHsR`Zme)-NifMw?xBJkXGn?ohF(9)KhX)@e}aG zQM`tj^f0DzP`s#~O+TZtX;51dU@aIW@^Tk%ZVqxkV_n&qOv9K$j2%y_wl&QJMd!OV z3o%7PU(Ss&gX^C9piKAtxhoE5(eReo9Nw~2G=CV`AsG1f@h3cRr zca`+Uj+5qsq=zG&Suz2Y2bcukBz=gc#D0j&ma%;e056B=q9*sxtg68y-Bs?^w!+3P z6tbB|UMhB&=64qkC5>Y=(6w%6zeVMUUHU1RheRI09&29Zla6Uok&vW4AvzcUd`4T$ zAgz-=B)Z}sp10-AU=jsr|!txDHS+zcnox>|mpJ(Ar_cYwu%>QzD0_InsbC7h-06zZ!=8KAb z0Q$~0J|*)BqWo522E?OqB8o4U;^b<-X0 z>kHW$WDPD#r%-qq}pt;LaPVybC( zJ_I&))#Jo5t?n^@nAs6(bsR$Ds&{jM#@EtZTDJi0{N6&T+w<@z2X)co(2TE#b0Oy; zCWjrS!94t5v=t{lCYXy*r%9+bd`tOf42~aR3l_i(o3KUeoOoBm`r@!OXAP{>CCPz;1_dH!6ZmZ+JYV+uurcFYI>^l zjpnR~n;?hDoWPAxj)ya4k1 zxSZ(46#O>;{AHPc${ft}Uj+ER_jV0zEqqnu*=3;tHr=xMtN`$38gdJTEaSr^${P#HBv)#9>nW-GdA$Gd-ZUOkdLcs{A`cbnX zGg^4E=kSK)9-mvy)t{Fkfm_YL0zI?(s7q|n5+WIvr@@M(w!`-qU~n{tt{}z&>?a@t zFqyxA`a4wXOtJEm+6~CI_K>s>X`Q#BvGK-xgyJVJaAe)A*vrU|(%a^wIL+C1?{z-= z<11?M_kesdz`L-pO}hwJ&t8H#+s$KP&24F{W}lKd?B>nW+{C6-J^>wI4psUE;QKEF zIWrGaI=8m(Jyq_9l-(R)zO$7#Ag8_xpmur`Q{UIwML*ZFQ+}6YvpMo~Gluo(LZiEV zMCD$ls8{a;=2rmxOVYJ)r~VhN7VwXs&pjt|1E*Q9DxIZY-teHI&KKM1ySSr>8lifOFx`K&Mi{ zi>1vxp8W=ROPsx~B1h~?Kg{=a9jEA_=IVCwLtnyv9)2)>jLxA)(F4!QKo|cHrbsFM zx{A|Dfv21VeF!Gy)BD@c&~2C~`?!m#mFuBbV2>cp{w`^uo z*2icxkukA){b*K{9pGyN9|7u7xkj|KoafYfK21|V^-rl@$3FC(+HMjEJbhv#zY49v zZ-+aAbqDre0`mb<1!lH-vv0v1K(1x8o>KW#xo;(Nxd!qD)RF(j>5l6Idm2gQb@JP5 zAP@RReMCwv7fHM;LE@QyXJ2buCG~s&`4!65)h&_@l>bX0{w{!T^S{XBn_&7TFs0hP zeg^Qb`s@nu)p|;J2VdnKNE~k1s1l3GwNZID=^~Fo+|+V@ltW#cqeg-gWtQM>hG&6k zHQ~s0NvwcAC3WX%4&Uk)OmXbfvfz+$M5-QQb{=|!)7+^dIDUMd(XNN6{8o2vi!H6Q!b(aH#sUh60&)l9Z7-%W1^L?!44%E&l+me8N@p<0t79RzyRb>Pk4ISk49LF&#MenSp+Lv`$0cs>W;J#uvajgCmeQY8 zlp`5%=PL60V(owIRiYS+ecr}cFdl1ye>+`nAheEjW8Nr`N{CbyV*$0ill`7$94QO& zNmiY2tPjUIjYDYEH(3dk6eY#0xyl)9E^N$atUtwxbGTOVQ_%gxE1`aOp#&$rg-Txa z@Me_O(d2Zd0DInJTUuxXa?MNo14k7d1~AV)G&upsmR@1#=Fc1;4RrQCIvvh5uF;>K zv%%W{!y=`FNB>fny8>MO%P>2{@U-<&6jy<}O&v3W&wBHLarB0E#&H>AP9*^B1xq9o zk)&TUGF3XP84xOiobyl~?L&Wdn9Ntf{Qda*g?g9!Mchj;$MqGML$w6Se4}Q+bbe!L zoTT*s;GR_OJ23yRTm$))s{KRUhCaRL=}-yVN$2eNCZk<1fm~`~HvmWfhMeNdSvzQZ z<}ZO<`Smrp==gaJ*DctuaJTm7pw5tS zM-D~5nv!=Ev!O5K*|w>j0=@;hR>XFvC9T3inRDtw(%uR%<#gq=`_RKqJNtGwk^E?Q zs+2`k^*FkyI8LqF7Fzq*NiYOY=E5f|9g4-vyz?Z2bdu z#l#)ru(b`HVgdS!e&ykC?{pzVQgIJ|bni(hHir?08@E)HaFJqjXbF-v#3(LW;?!mL zBKU(XG_ncSH3tWw8?!W}@Ij{L7vHi6Ea<194#foU{7x_TzBKj$vj}OvJD?uCAlK68 z@?CS8T{$wzWsU(a^>C`s@|iSy)H5)b0pvpxzXJ3BiYUC;@1*kZcK5AmvZ~m(Qu&37 z{lmF%QK>fS`g<*vN4L`Yz!U^2jm1J#NW|ojLwSTZGw(T&??C(_(`~$~ob`3g&N#da z;9mvrOVD|+im!8ce?=EsT}J`&we|7H>udycu75`&qc?W+b{uhhj0ptX!Q80i8F88w z&&d-{N9pxC%Rcl_$eF!O$}P?aA%RDU$@HRDk{0vOQJa|_@tIbm55Cl2I>u>0)S;s1 zDJDmp6CWRQ3D*RoU$B*nsMWX60kZBuXD4j$hnT_3UD1#;d}IVwhENbdO=7bOO-UtP zbMN24Tsaa_Et`uuc4l@`-tU3|x4`loSvOQbsh`Ew6e9z5AHNtl0(X*}G2}_N@E8nU zXCs0+h&jmB|F1Lv&r{zbUd#XLJL$M)#$%}1Ei@3% zJlLy$qAR_JfvPmU!Cx2ddmoqA%w`mOwz5vx7Ig>YH)!?*>OiIL{Jqb!N>a+w%(2C zHj>cOX^uCx31~`5<~&nOyiF$1j)X*>2Lf5R(UU0cHEM%=;h_m^McFkTT{@?Mzg9{0-x`CZ5^nh)o7s?>?6YR+J~ z|61D4UcQ|6rfxI;kGZ$`e?nRxQnvg@MgD6Y%s0|_dzX9GwY=FcC3D#Txd@ztYmu() zSMG~kbV}F#w^PtmZbdlcxI|rs=JtFy*bPAc9LQgT@UE;PG_O*%yF2FOPeRt^p3%tg za0^-yzapyqdl|NB_BFq>wNt)H90$;`B%8txfoy4dTxHv&ElkhR5y?1c0`Sr}&Hs|h zm-vl5vKqll*|< z^QLj!s{?DU^JV2f2E(GllVl{AaIwLx2o#r zPJnDX)cl({BL49h-_iy--N7yo>gjSbWhdc5hq*AehSiXON@-n2eB(MsjsW8H-&oZ2 z+v!H}bVM{hJtvCtZg%P4%V{?BUFf{@-v#qj&*pOFch7<4FQdI4$;$@~h)>(AIx4mSF<$4ghc@0g7Zn9Cu1HM>gn0RuOw*e`$4 zo%u)wrzLMk^9>-ccu#=*35a`HckzfY9|t{ulJhqL_ydW0ZSPGPyZj!2JP-DembUp{ z=2&}wD&Iwb;X9IiFtx15V@6=s_K3_E7pVwGg7p5_PZR&XMCQMkRy3=GHDVzRnm7@T zuW@BHVGa*%{D$4Ayd#S`+SEP9VYD}-*K&$e@i-~1M?s$!2fzSumDaurdAs|b^#2PL z!NK{2ayx+=ieM3(2B#{(YcK%8Y^c-@#nPhEzzp6f4|t&-@t-6eXD9*>6FU`BH;&Ync_|KscxWqs0_1h?8FzCIh#vFYEx`;r;_P{V z_5CiJEa!f{9{Dj>F83vjG@#8dDbchPEW?v(7Pd)6d=Fp;Cot zSEpyN0DJm3X)FXi-09ji>xW35Fc-Dd6WhaLL7oX?{tRk(6%%~-9BVxs;ZUHdi2jCW zy)zP^7up=+vI~*U$5>l?)KW(Qh5G2O{6T*)sY$1Q2eB}^tB8MvuB8^p`QC%Esei+V z`n(I6ED2h1ntUIO`b~yFg=as8$*F*3k>)ZuPh+5+ZSkk#%jm}8~g1GxwTf=Uz;ea`c1zn`Jy001BWNkl zEa3{sXX(557t!v3JVBgl`CTBsjj~92*XeKbk!sg`&ju>H76Pv_9hupttt*Q`n9P~2 z*>Ca?RXG8A0QN!OKrk^e^E8nl^q5nJO{ztpp2dMMu6?7XIVVgZZE+4mkO3jbp5=N> zn8$6gsDVn$-19Dj?`|i&nP`3vPT~w6jZN`NwWvc~R9IR+G)_4`Czu;a?#>@k9&V^s zQ48N2Q3us13m+dR4|Zu?;nF!o_oUAyZ7L9~Y{%JXn#0cgn8+C>g8XK@#s0Ej0{JuK zfWFM6puWJ8v>=joi_|&)awGcn`73ir1KK!k@YyptF>(r2GU-VM#@7hEjzYPrK#$L{UTF!49d$|Fm;Q;sFNS9z9zyH;;o&SL_4uq742?))9KPO1QXSg+)bzgshyy*Is~=+1o>@B+`qqwb_L{N!`qa( zjlHYh{{1$6C43Imob*1G+s~k@(CyaAD3dpCYdJ5+dG}Y2Y7h-xk*X#?nSacMnu? zcdsrIDk=x$gEXsx?~0RbCjrFb90iQkF1@RLb}1X3ZW>3|LCQx5=^^gr4zN}e)!Me_ ze^&9O(GCJjEqc+8ePuF^$&}2Q3VVhnMNvJ)O{Qmzz*+I6eP$I!2J2(!bw!5K=Pggz z1&dWg&QiNi>gYU^wP9PNY{P*wIs7dj8bk>Pz~oZ!g?XOiP38V{k$=UO{-1uXY?5)4=eo#y}la51ZO4gOZr2zSsOP5z#mo zY%|sTP#X72_ojn!C^+Fi4ZcM65c!1Wa)7XdynoG&RPnCh?Er41qL+XsMRQd|g*@RRCBVFak5vf!aMpYs*KeFNiM z=cI`=>WMKiIPZet$QL)K6rxe2;zWuLwZ-FPn9Yz6b|6$q$c_wC-$!IBoK}BtRt%C(%BR zBUN9}$>?;LDEN=9*LfgKU^+us0`rM!q7u$>c^rwx)J}$9zyRb)arutofd9Z&H`FXV=cH8dcZe8BpDqO9Lb9LU5BxVh^urC$uGI7lpx+zOR+`YY7#}m`ZTTC zn@J%dQ)VKREP7?(2}teUznUf$8FN}MmMbzgy3eM+;S{&cTUh<|_rs=vI^JttHznaa zV7`^gr4DD|6W}{L z7qGrIidRyzY{MS|`K?-=n|M*WUd;3b#5cJ=1n;GUO|tnY2^&+>q{DXGuUkoEL}fI% zuY8ng{oIdUPn65xhH^SX@ByNkN5Gm$I4ddT2uYjs_Sl+Z$&;MrUja8DN2#wRKslgO z*}sC?l{WT(SCoGeV^b1UlJ0nydD3opOMauWP)XG=?O0yx1MwPTU?R}!Yuhm8k-@V- z9@Ha1eUY}2Exw2r&+?p)`chhWwgX-RF_Q>{h^*YtwJ=tV2RF~?{9YU~6AJg@gepT@7pY@bwt z{Y=%%I)ae@Ef9YK-XKR!r7k=`z3sd8c(+D(lF^#J*XJsfV-fY+$gjM6dwvXCOIai> zJJduEoRbBJz6ruudzNXISwTS^hoqxFv3*up{>-!F+lMnE4m{ma3-oJacqhYS7&Fi+ z6*Vf_YIdox{Xg%gXymY#I*j2CK6xTiSjY#-azid!o1 z*YbAnJrsG1WuJo?@cN!|=po##VJUV#qUBW6q8Kd;kTn4iipZHBZ#kA^)6PfT2$SPv z_0AcJ>J4iQTa7K4H>JGvs2vc-lJ%%h0X*i2P{b+==LV&!pDhTgdqBSf^M6{+-pk%! zM`$2KV9xIu$n$=HxymY?v%0$-%SsM#Q|cz*)wK?fFV4E| zQx$d(1KYSI3x4 zRJSV$okjgu@BSrlUjc`HRT{Ie7k@hyyUOcBV;Y!;B)zkj$6r^o+xXQE=EN*KKK*S< z<~w`&rv2~(UO=4tb^&tTJzRz%?zUjgM7wIhQfIy2!4f*nyxA3 zf|3#}QrxB$uwo~T^RZ&AtO0)2q0nHY2XldX8%vP2_=Hu;?7&F%iH~=S#X>y|vAnf@ za1DBhmAO&95Y5we-^cEdVmpXN7=ipsGf1jdw*}BdZ&IcRN$@EQx8;}J)cXP=acN3C zgOFxZeUQ<;HlJd0MC%Jq720nDqpq=QqQPY8L!=JuvCcW6o_WHZ)mmi-%CaD!`7|dn zS~*N4oyYihrqgP!z~Z3GSXSNS!iN5Y5PSv5-<9q!;$MMz-V?Ka3*;6jBWZo-e0!wp zu$|8%Sm%K;3Fg+l*Bj_-fO^ECJ?t{=MdKHXv82!}C}=Aw&(bxRpgJ211h1R;`345Y=0S zq=zvl089pQ-^aK!EVDi)k|1Qp@_9VOsj;G^64(a~t-XIUwAApyw}7QcfmqX_7#-ub z0B=R$3^6M(r(09W$D>p8Yjj$D$!lMvz%W}_1c4`jVH}(vOXmtHU%2d{YBG%U9Yoq1dr7q#n6nIJx@CmeYf z3n#a`y1oPPI{H+E!QGaMr7b!Oq8bngr?54F z6@8ch0YX{xAptp@gFvvA%RoKTh#MLKl6-g!Ondzzil~$U8cl}Eb?GZetOr0{TL17& zTgKkM2_7a7)z}7SSsmqdtdJ+!qHZ&D)F;L+GR&&;@>3B#qaQTC_u?I-n$o;7jS(o) zOVg5`{E@tGyCOd5|L5-8wk20_AVYYc`Tq|-Y0ZNaQV8SRRo(qE<62oe)5cr`D0Bn3 zX1gu(v-ao+b+PPJf{2LE!Es6Fa6l}W-$-A9uBwqTGg}8E-+Rn*Xi(b*uo8H!F>}nV zu|#8ZthT&wGJ?`Oc1Q|!Z$6Q z;Jt6(%HIbQdxN<>?#&a_Ftz+#nudR}E^nIo8<=m)&`N|JwAk3n6Bi(<&`jgp7n1G- zRD*fx#NM^dcYys9Ab-9$oAIA&<8Ni}b=I;THTmUTecB9e*5}kVrhoKHk$FefeQv+g z+`s%fU1TU)#54C`aDAAH=DYgzlDdw++Fk7`$QmoeAP0Q)f=0ZjtS?(DHW%*+M&g97riRtrSH`!b4Wlo;7*AB685 z=rshwHb=p|#XZY}HR0MhaFvP8FY z4i=#Q378)xkuTSfptgzpn;>w^?)+Q-+V)&O1N>-iS5tfbtspq-gHLu%{cUMleryN% z-6a1{m-7gS`|)?5x#izeG`svAnmK@9P3#i^`(_TyQ(p;l`~v3vu0QhE=aNb){RGr+ zK+aM2-vIfafcW##Mz=%IQv=oEvT0tQkkaqh9b;$jLw=SzX3?pSMDu*R_IkWsX3}5i zV7g$z@$F5Bi$opZ7Fb*uknJqp87`H!5X_Gi+K)VWZ;}?~>Omc@R_!;%P zc&JGnGfQx!Vje+&**z6A7$vtxU86?VPxPoP!bYFu61G1A^}4_D%9a#EdSlJ1Mx7bW z?myXzX9?T&w_rXhyED9B^4OnyuX*ew`z!Oieun1ibBWqQuP-m{TmYO0u5h!M3)_~i z*nr)?Xy&$U9HW12_|6|Er+w4Rw>Cb^?BxGDjpp~s@C6D_eKk14+oNV&TasO{e+Al; zR({mT^C=tpS3qt%r+egF8rfqA?&jmCK6@PLtD(53eAlT#WY$6R?uc>UYclF{x?IxC z2Ty?4??*0i;7*}f^nz;gsSY&T%j^EC^S6{o3xfMdJsv@|;%Qp~5Xp zp`_pCJ%iyMF;&lU>1qk{{A}a=8!dRAC?*vY8gMeV2S2^lB49+a+H|yR)2Hm|a>#Wr z%L!o8MO`ND9CMjlMFg7JVQeTN1*0G76o#Wto)m96D9kti?4vcacJ!xmOjn7gu$(N% z$ScdIo|0(k;x)}$uqg;N^iFa?6cyF7aOYw>N+aAtUsFCgg~rScUwZ`#vMLgIDEB#@ ze%ScmK>cqt?EU&%t$a6Od;#9Uh5us2ET zu6=rVcdt(~nwNC+`$=|6LEqnX5l#efB*O-wQC9ONTQWwZ2{Qmw`Ab}jm2|c#c2p10 zTm+U#%l_$xz~QNlPkvQIvn}XF4Xka?cSzIcg}Z_e>VpV}r^?NvZb8KLwNU zt&{$;=Da-66$*|*U@ciYMMRIi6+XV!+|Al|OG!Q!>xq@@ttWAUrtZK6Guc7Lf!KMM z#{YThqrpQHPMbIMJ2vWdb5;7Oy$VS2m;T#T^^;!oIBqq+jMW6-CpSv%1N4eMTs%> z)@c_+9EN>a*o>3pLv>wP#rK$g3K#aY!bB+hphq$FqO;`+Dc755F=(3LnUhMrhOob9 zJe>m!O$W@(xy5bf@j)m=PaKGwIgO?WTIt&)&%!-=CC%=U0}TgWB*`wxmX!Iuo7*3= z{`h zpY5PW-YO5#H>#GiF7e!7Y0@{p1N;M=A7*kXZ&)Vij@)=bS!_2ABeiaoLMuNG@B8zh zj@hcH^AX*SwsN!u#&`oA#rN#%3WS$xudL5N&5bslUeQt!HvZjN<3&x&ECh{~dYZC& zYqR`RGmxMhg*Y@T#0s|@jU1LWlv_rzz7c^5v8*i)UITZxv$X)Pwd%W&(ub|W3cNdZ zq5H&pKi^48Y(uiQ!D+yU{j>E!$-^m-cm@r4tk>rhG6#6Xsu_Ugz+Hxit^o`yq95f0+zCvJY)j}A8;6nrXHEJLdbZ&Oqm;{tb8Z5bwgR9bx@=r zVJgEYJxGD+QmDvBc!02WRchW`WLTi=sE?Br@#!v#kr7Oy0_TbjUXVz-+>M^>N*P#y zW5rk^N$bCAUW4oIRvD)8U4RwQkb<3OF9~`>Rq^`D_!*5O%rwV!=qFS7>HfFtq4_b1@*-(SESmnVn=z5ril!-xKx z&%7|;KqvXts5=v#UpcRxW?^gmo{x91(<;1x`3B_rb};?fykUx#ymW^%JLJi-Tz>QU z1o6Ekm1);xJG{dll$~IpPs$&QU=+{z`1q;tL~FsDpe!cRx7wdd`3~5UUZSuvnNNCX zep@;BU~IFz3MewjhBDdbPH~H6IoSK;9Px{SRIV3y;T<$%I+Bm`4S+|A=;ogrB#*Wf z27C7f5hjl_7sBaS_puR8_1jYhDW)wUZlY`345lNvEGQydl!zBuw-QaHbzUzlS}%V64C#5m4ZRybb*9c~1Kn zCi$y{o2qAm6_>I}%hT}hvzO;Q%j!=m%yIOU`KAK?&%peU0IY=qqT6Q_p*iW%;kJ(X-@9mcRJ0s5^3~Jnr5jv0+6Wi)Jw<;$s&$^LIH^}+`qgC%wks$cQufPl|(BHM5v0;pAOp;@*WB1ABYMI+`ZF^U2 zF!B6m#E@!&YGNIi$Gr3O6tf#0+rz43 za38&lm8~xXUrpjZ!8hdtbH@#LxUE$HE?qzJH1uwGDD!+Z)Db3jz}49TfQuXk0i6U( z3DP{);jgi{my~2VBdcvp!oQrh_ALB&ll#F3zA^Tx zrR#fN^2Uk zBEnt$<`%z0Z^8e^V19zb-Q@i!u7JFU#s3<}ZLMRAzJd6;jqzu}@QCon7kXzNqfQQ7 z+3VASwWoZ~`y0qlMSZi*9lqY=ooS}lT~B6Ep@VxK(U;sVneG!_SC&5!U@8{5B}kN1 zFFP8@B>&QG=vGbey}92=2B(R}X_?Rk3KJU@C3C58!?zTGjLbr{WRT>6xWg~XckYpI zk}}-fB1mZI27)>@JTAXa)n9VT#MN9{KZb}&P#-sy#_CgVAF_c&>B1tGzz&sYs<<1L zOC)1~x6AjsmqC3lCV1=Tmvlb^>Lym`CV+LC`$9P+j3iPLv&ZLLqF~g0DTRY;{dW3F zI+rILFe3_%MC-I>f9ON6O28i9M_smis?qP0mfsIxZm0VMaw%H@tUATFb>TsY(Sqkb= zKU6JFub!@*S|>HXU&+LuwUfMtns@F?E&mPN?Ue42c5PHI4TDHh8Aw2)wMGs+m4Hd7 zWcL#!xYG!dIn;XwOUpNZRb~b3x|D6LOX}O>#v55nGToex4$m!E$MluO$b9 zv$q&{!kyi6B!d)u$0c`e-%&Y?EUEUiSaj zz1$U4Co}ppU%G<-sOX`r@!Gsk*;DV^{-N1D<#cliDzkG$`rv|mFwSQWVn!R$&OXR@8)Z$fZ7ug%))}&y%?1IFAh%9uhF1ZgK-rsP z8YFONfQ@F1v4%G$a)VjvL3`i1&Wd213r!0h{k7x=D1pPAbWQ+EXErrmE0AKnyfk=} z#x4MD-Ct64X>5Q3aMQGaPttQ9lzLs)D*bXE+9K_fe4^G~ELniHIx|{Bq%aE%iztL> zrZ2==JS3RkKS)Y{=>0Oq^b8l>z2?1e6(dF#a<3p(C?b0z@S*Hyh-Xq@@m z$>jb9wKM_o@QjzIMZybYTrk+Z~)x~ zeSX((1MYdgdd=L*8!%*0pS1xy*m_f!=I6E3*DMuC!ufzN7`RJ3lLsU1apSOc!S8#H zDa$tc(&1IsfszLbtUGqdDx|&}-AmS__PjUfds=fG&owBnmE_KMv_28bHimEVM!07sKuq-Tw^w-l;LiX8&Y=70~Y!RBKdK(ZK-u9)BN) zv#7~yzyH1BPcYYaPiZ%S;EfxNDZi!XhbDCb;CybU5C8xm07*naR32FNCw}u^KQ@Ek zYCG2i^OtR0r-lyE%%k3|ncLhrCfi~rTKZ0pGb$hM&4dSFdj$jQXNM$z4dxpFcNr7> zo)Z8iK-#~`|JuC14t4lbAb*wxU~7wNT&Fh97Rq;OhsSQz*C%Zs^Ku8)m+LWGg&`=# zlj99O(pq-2vt667|J1+i&5ta##t1CulEc=`w7J1#BQN@-trVng%MxwA3S>KMrO&!8 zrj<a(n40tgJf z!`!%?{Wb3!@+6k1L@9X^)o+a|-C}C9LAJ$uM|BJfv8H=<@7T<$CB5o*>BihV#+-%% zF>@1u9caxvb>y4R1CY%tYpX7+zhWVv3I2-0Ymm6NynIKy5$zVhGI=nWKTd%9HN|^K=XJ_hfs9p`{Nsgx&u{sX@ULEbM)J z0=$vQUxWF7XJS|Oi}6nIjIQr&#Tm$FeQZAa10e5LyB$sZr{FsP-!@to89V>yYa8(B z-JO=BZKH^~9z2Bi_x>($(YdYfK7qVEo}&T@+~u-l9$I%%8&>jbCy+79*I>4A2>>?l zBWPq!PGl0wCWFhx)2%AFQWzbFQ0{?E*(5NgHf&Wob7|p3Yzd8EhN1_BQqr+_BkO9i z@4G$wfZ@R`rqv&59JCk#h$LCr34+!I>XJ<%Rm7JePh#y{!~(Dk2rw^DFZG({ZKQ>i zSAegV=-17l-@Dd|o0}|Ki(bN=&+jaXf%!LLgP0qRe=NG-mJdztA)*QB16bZ#y(I~` zJ57aexEb!72bH(L1IvTrW2_4GwU4C}(BR7vTh&Urh0PLCOJb`|Kw6{c{5I5zTI5Cbwrmn=DUzE>SZ{3jz1Mzia7Q7Xo>i-Gd*g zznpD+1M@L+H;SFX{7KetU@p&g+VZNr{=rs7tw*q-g*PCvgs^7H)x@B;4r+M#qqMjt7p$e8lZ zE1q@X8Vz6@kPSh`(Hg51tXsiiC9NEij|3#r@G6Xys@&o_b{U(Y;b(CHVQ}|aQrCRB z!ByQ1p7kEoq8e;A=7j<~&`bLIZL7LkZuj!;wzMv|;6~dkoB%w$ZSR z93P!Z_`ZtYX=X0zV8V!%t&hcA!Q)~)23^r_caRL%NMYB!LVwhgz~oBh^%2!1;^ zqtW&3@+=XX`D+)4rrxqx(7_Dez+O$%o+x_Trcmcizg_qY;5S`FQWNRRhoQgAZW{Xy z_#bR6b278Yi=EZ8kOY|D(^)CiF6~V*_z} zYURh1(@r(}x;3hC*gI8Nm8nocD-95ISMe&`PhK|bC2oHVb@4=~WEdM3>xcv(5qU^;z zDkz;)mRCc%9vZAyCzwfX%QIdW=>u4)6;jige)C=i7S7Sep7K!|Xm5_U2y~o6mPnL# z-9@e5q+bcGeAl@AutAc&#${v;$BVA_u9FHeUVvA>YdCrP%B!`Od2by(_%erVv574X zA_|A4JKNDwbMYh`5(Iemw6n=;#Zo`RGT5CiPc^^GP_S9B^&0UuMpyx@_{Hzord2_> zg5Yk1AP`_4QS`TqR&Hk0=u=>@d&{5S*FtIUmhxgjb(s^|PXe=Le&20+@40LlWiKu& zfHMZ}!9OUao_yzHLRPjlE{5COtCu)RZ0aH>dKX)%gAY9GGv<6-?z!=r*x) zypa-Q?yJ&uO}!asEfwjyO@RW%F#Ea9_L{csKo3Lnvb^88zZ3FI$6o$sa*wUqu04-Y z6?-uIw`=zW4qjr<`wef>dKVw}=HrXHSv{-OY?_9q`s^+OEk{WDaj7X`@=!WJt+2w; zeN+Fh)?(_}()u#kO*M9opQy?5=449|Gl%1yt^-tTg8_a|i;UE-fZJjT-_0$?RUx*l zTb3-d0(Fd-Fopv4k_7oe2mfgw){sMPNLSB1jLBBYl`f$O#l3gL+ck9q{TJEwW_D#n z!qscTocq*@=A72<27Ccuco4MHdJwq4JZr>u+z2!KokB6y=1LxmBUGqI?`L6&q z4PiAj`8k339tigu4CkA6?gHYNe(-O>aR(sh(Wej1ob}YY+4kLXbeQyV&2F3Y*$Ms? z%=g#+6wGx1p1}O!!&MNp(;FCIZu4cylY?|$-F!h$%%C~GHJ;RmOzXh>y3TJvzKRDm z4Z2+iI!JJv-mf0hmLK~ky7$-}mG6A#d1t>=D;O0zg1pjVntNv%bKmHGa%VqzA}!5L z8q?jHNh@yz>QH?WFbR%1{K;`*6=#l$vckq4M?`29Wop2-7)0}C7_AA?=Dl|{wVK9D2I9i=7H zJRbM@d70Q9p}jk-%)1!x@7ryyY`N8& zBvkfA`Gr*Yq*P)#0JxH(v~THGE>$evVWL2LkD9jO#k0TODejwQ{u{U}sBd6Clg;n8 zeSZUY{r=5&UM6Y1Z4&o*tF^(ySnH`M{v?u(1B1CXQMe`w^=hBqJ| z!FAd-Ms50c5P#D9HvpevY@4f}eXtc?c|39Z0P-NSX+Tm7M5segOP!k!a9>$t23r9D zZWsO4OY2m4q06Awbn6)PyT*k3N@kdCaD(M0F!$}b2#wR<2hCeP@#-Igg%7voKLFj= zEz~HO-)KQIxO9ozVBM_pt6=CXF=(^ImrozR*MzI~EgL@7ct1fsI-p7n1=&PEl8fWf zebA#|oB7r>$#P?Wrt%*DIhHduTNy2hjm|T6U?J8E!uBZDXkm#=8H^alg(RoBf_p_i z+#V-i(&w%I^4pd<95(`V@9nvM(kvfBfZuRiB^bDyuLPte@8pDclW9-_O$Y@!>UC)z z5j)-(9<0G4C}5UY>(xi>k0F8g1E4J%(&;Z6`rCE#rSAZ)lmDd2f4OY`Yv>t7t(ANq z6TE-(oA02`==Qg$_U)dXBGheYK%ij|<=h*Ti{920|XqMiQd zU@oK2PETe9Ucp=dVXtCq(F$0do`bsqU%*^4Y^_{tB<5|?cUSPHO@luI`J)VJf6|3D zdjs-4f?o4D(f%R)jxw0l6qN9F9$BgfdlmMmohQIE^4v=+=zZdEKhJXp#Sz%S+Hpe^ zc*QXrD%`jL-uQxVtx{pm5J5ymgHF3jp{=P>H1eVyz#U75aAIkK7Hfb3F%#=I`MOw- zEuF}Brq4)uU4}-c+tf<^uUJ~gkD=bT#9tABGV*!r%7DA9WN-?$fARp*ptx@iA1_Gm zl%5hoCh0BY*ct}3RW1!pQH&whsr#LnMw7sx{et=JSZ;n9rSbL4-K8dcejT-;)NTh!F(7*cbeI6 z4F06q?J4U2BbXoF*wg$mnCo-Sc;=yC-gzj{Dkv(LH;7J+zSFkf>l=_8Cbh?2-%_J4 z-)4P>5HO!_6v39T(l0xudv?3tI~V|-Bcdh61|>};+N6j*AQW7-aFgjPC?d?ZZh0V! z_fyB6s{^Jv(O{x&w5YDT#04J}v-O%W0eW`02^w&iaoZBsU;D6lp(Cw8QU8UI4rpsl z4xYSM@QZ-ESWg9T7qD!+>-mw4IosA)Au$Nmka&J?N>iaMnYmsB?4nZ(P^PrJB{9=l zB4rY10d_B*Tt)<9Bs$Epk*QyL8OuXu2k2K%F(C!Tq8QQINR(X87RHUp%>XxB4!^m# zQGT(?I2QnXd+ZJ3whZ^}xkYUHKvWVm!174-g1cnSbP~6{ zglhH-bZl|aC0TbP`>ee$j4{c4bu#Ds?CVzz{cp_Yr+5D}A8fpa-_s;deJf?wSO4<~ z)OYay0qS(KlQw?P*dKv#mpy@e+x^Wi$X@dD-Q-ihqkF2mN=vud%fkAFs~(8>cK4xG z7yN;!m6x*fd2gBK>BSJ00X54s^x5S-BeF7mr+{<%Cv{EmNh>$~UBW>cfK4UcZu{Gj zsv2$H^*RB$!|a-r)qJFVdYvQfyCqtm{nGmI@_ks0Z|A`=#6h2Rpb0&|^eM_$k0!HM z;EuYjl+k+T$DSkcwwd~<8NkE$1ys_8*yoz(bV*k#fmpR0ON|*onv6LvT=HZ)Zg87d zo|5JcEMEnreC{Q5l7m?jp&Cgo8ui?O0^w%Nth>&Tl{xz~o$4I37}0$wi&y<<^Rpw+nE0ZvPMNIpneEA)0qv zO2V;{kMSUJAh1EYc85m6;TG6XZv|Byv4p^-OQ(um0^^oNxp!>S&>xcEm+LoeTwC=w z+PUPD-nw}_Y69S|ruLM$sGSpVRV#l3^W6-u!a$kYeS*1Y>D16&!Th0}KR=5?OhQr# zLYp3*9Oa=A?u2}T*WLw{dp-UJ=C=J#@|)&H?StTVh|xCHpc|AmfJwElsSQW|t0Yy{ zm3g+wUfZo^>vtemrrdKAzzB9~KH3}$TIYwQV&*yK%fYJA8XvZc?~ksp`s@48;J3{k zBbf9C?)|KDuzX%*6A&VZ1#l&>S@-_32mrcoQhMWkCE6}r!P@&wOVhH%EwI(mRsgd* z^Og({TE9HW>~b8XS)Y;D28&}~C30P4)y^}p0JZVVm=8p}l}ad3IN01BjI3`pM*!$@wq?yYz3D zXiW9q1bG2OWzSowrMdgFEmHw8T*mv!bl|8HtP#2;fZU#2>f_CEif3epRFI~l{KV$e zQZwN`T;X%fOCXv#hPFFYl11z4s#&)rN=pOFmK7{keKmr7VfB(M(wY{55-gfIvkqao z$gwl9BAbvX)X^&XSZV@xm22prw=Rv}r=Q$2Uj`ygAny{QjP3;m`)=<9aiLe5g+~wB zPLB!V-I~KCLeRJdPdNASK4+Cii7b_FWTE$!rV2hq9vA*ph~DpVJXE#>^E-D%n+@mI z;8jHzFeD`^W(wc}=K6nm?eWe)zBcaz3_vsQ6};rL(Z&_p5^HV!oONo;g3<&aQLJbv z{qD_t=^L%~(EQCvGP^fWC+pBkbRCNq8vt*iLT*N_oMR#cin~J;A7hW*qW!Z#J-)`4 zWfujRD$+Z3bsGX&vVsi!P08CmeAXp(M0?@{HG-*CrEj@+XZF)){xG}uGY3A_Lcos# zIchl@&HQk0;;*!^)A(W{H$nX6NJ)j`zNI;L^VW>Hs z1?X?S?%jOe+1VrAe|ViZ(gV!#qWLbX`s2@r@ z*EZBFZO)!l)EhIn0;5CEY&@7^B;8YN!0`a{ovT}$w!zvgaIJyK;A`f^^s;_@fcZ1{ ztr|i z+IkcKk1b{~vagFUGC;I6xbvlqdWYM-FA9}_21B8Ea0(Gj0krtHC_3iNoz1T5KOmN$ zm1@H?(m77jzBm*?YM*9=fTpV%fDjl$$Ll^)bN7-SSOTitEM-KkOKd>LNo7Bow5zxu?Uo1D?q9k>i$r)bgw6Qa9!lf9`5W`|9P`O&X80&QJgR9Cv(NkXmD`M->co z8FUDDloc%*Y>DEY@&_zLXvA{8T}tQj8=osd^D5w;pL<~iGzRb80sFRxc8(8y=+@di z(_cxQDvk#k>Dt%6`>ZUPz-h2l~&3+x=UaxkPhw6d`!zJeVQYg@XRq9PLG@2G2H?DP! z`Vqh#cTW=^t%sYT4%aj?%>XkR<+Wc~j|GCMqcmEA_cCx1(n2p8Y5|Px$?;XL-+1b| zfhY{f724$fpsLRnELsj6=?^Dxc01ebO`;miSDM`wH{{f{#1zjv@smPPkC+lLOK^c$ zGf3Fx1J3&IpdOu=@J2A-Z7cbu8Bu+9W`HE$4iK6V%0QYEo!DZ|DMSc=SKv*gD z;Oq|oH%ZxKX68dfXGin5N$1xfP++JcY~=ALmw^AyeoQ}`xqb0FHtpOesJ{X7$%Ou9 zet$E$Zvup;c5a5Loo5^T;4|mfHpHPH?6k;l%|hQ7Xvh=OIT1#PqwXOp<+{ zfT-`if%%ej3Dm=1PB7Q{63k~E*8su;n3up{Qs} za$xA-nx|fGLRjBC_282+80AQmihv2DklVJUW96PAy=*A^!%2h0 zF7Gj3LI4|6W5Y+pdiy_Ru2}Mdp%*>e5{Te%2b);QA#6a7pAJ%6akjr6ot=Z zU=(OM2W2O)Gz$>M*kA*=&s^jXgfgtOW!Os1p9AvB_bvc#%N%!`+TChtnx0{P!!!7e z%h-H?`zOG?gXBEYc7UCGYw+RoSRU)qSCWP2<~YODV(M^le#Op#;vD-^c{b_Z7B32Q zGM4sB@@NSy?{9vi5#_D}LP7h@6u)1;XzBaVfP`}ZKt;3b->7PAyaHJU=J3nHI99%E zo0|C!>~E3n+kMk}r+wh}-wWY4xBfkss#)2DJN^~Zcg`vQPUJB#PC}E-q%Y58hND?1 zDsM9Q3Fi5H+lF{HquY?XmRiHdl&PnWML4Y?#NvBriac%0-L({W=l6= zp?G@y<(b_KlB)n-t7xO@C%>m1D#~-j{v5RYuu4}Mi9J}0Ctx!)7tvrl`E#Y`;FSDg@<$TJ&%CF+h~5Lr6ALIi(D#rI~ICx z_yxBc=DFXuj0w7H*^kO~AayO$ixtGH67A+Hl~aaa_glF&qUMYQY&PNx3-^83DQ%&4 z`?4PY*(>%5ehxR-6~aN8Cn`$akkRSD4^m5a3$Qleg9c_@lm5x!_?dZS;GBVZ-fj$% zi~Z+0d`j@>Pz>SWoY$gvr)k#HwGJBxtWN>z1m;ES$lf_dQkbIv>3&CCk8kVHca5Ci ze*^X3O!8me(M)sx)~GW81oK+bg*0b-@Qel6=|rQmYW`ZK z@#V9PnV7sg=CmTi&VZ8PwEZDL(5wKB+=Ml>)Vix2*I6O0bDuoVB!i)~nkbP}XI6uf zjSxlw`k;=l+_pQJrgQvyyNZ^x`MHx`W_D}k3^2Rk_b0~RVi~}V8*8mcC9IP+j#6Q{3qV795;4qLxoaF5g~&XNk8mY>Q4?&~fx$c4^6}-l=G&fr^EW_#)6Rb|weu19h9{6OJT-D-y^sSn ze{Wz;xvKtdEPJEbSIh^d4M@a`kLUYcVO$Z&9qyiPe!JIR%q?DMz*0v zmxW30e*xx7Io&aC*UI03Jd#Xds5IoNtClP8%WtLFz9f$c6z-$<$&8!2$C0qz*ym^W z1VOm_YKqIvlL9|JLId-D_(ARG&qXuDQ@gWNbL%C-8d@BQhUj>*3F;1%I_N^<24rt{1aTx28PF%k+IUoDvDRaWs3Z2{tfx-oC!rB8W^m*gQtfHOXWvmt5aGRMh3CCKt{EjW*uj**vO4atZ@LGhqJpAYm)y9DjoLYKn=eKI< z{>g#%K?K450Qvr!zIP{o@1Ppu>jd=-+DC3k&p{CFE5``wR8p<3D)O?{?1Hi=OL~va zdGt7dAC|4{*ADV;KJ-7;(k1N%bn&6d9qorsKe<_&V-{+Om|xagt^V}=uK{tpDgIa&CPRHuQ+&;q{Ate@#?^D-l>GqnM>?6jBU$%ffGg8AlVR%7 zC;=_N63pYhGnfxZk@EV^@Ruj>elxL`5C26gw@g#_F@bl{+}dx8AYqmFfx=>LS1{f0 z>AS%do+rvZuRcn)^{CNLLLWgB>;W}%$yA?1KBWD6svw=3;x@I*1bdIWX+^Z@bC;@x zQ!;^A-lHt+3Bx{U7;oRWVVN#4*^4n2Z)*P5edZlx7na`!vw)qPiN3J!kCs{`cuJ&0$NP$~oX+!-tLwsdYy}t#%<%%|%(o%s9n7uBv4i>C z$6bN#T`PYxukX?H3gpnXO05;d$K;f7x7PMC(-wW7y=$Xx&osyP>Sz0aS-)X%tzofJ z`y;StT56!el514tyQ*~p4Ho9j@P}}}$)~qjFfd=>;wxG`YB^l3RS%G%aB$f*m}UV? z)`udsdjb=IIO7Lu7dZoM#`z+(`tC1Z=g;(= z$A`iQQEB&^*WOoXS$ikZk=;Wls2#fI3Fh1VD1ZDFwvEtYH0{*Pqg-bCpMW{Bgvgqk>UtJ+J?Ol!Uc$x7_hV5YIK|_tC?pTUs@L98P5mTFwaa7B@ zr2fl=g`&0HqH2aE7Z7_thmoh{PcO|dESML;!wO`2< zg3h;~R=Y^l4xx8~wzu>_?@%YHbeuc@UU-E==-n2NyM&XjcUhdYrbeTTt_$d2-e&||;U_l@iu=h5d|U(L8obBabkHmxTKW%Sm){GX0e9ht|2S~j zvK#ITj)f~C;Bz=Ta=p6ct_adPy}ZX4=Yn)RseOtQ8RO$*j+d^qpx8r0-vRuaCcXo| z{+(4q4)=~3*vc$0N1N9xQXB%F7LkXHaHr;+VC>Y=e>1h8J`1lJx(TS)GBm9pxrNO& z=W1b44V?g>y{A31-`lUC-@c36AxZt%DGp4~sZ@Ue=I3+A)n_i?SEcV@p5Mx>kG}@< zlZkyv5ZgDcoaXfjSfvVgy0;N*4Rx#|HwO(nW+6rba(nIB zqfYmu2o&rS8wCXyDyI*dn{5{d=qT5#E>^RZ^w24=t29!w0|*wRVWF zJ;D9QWAmFUw}rhB+J5{E$#Wr&T-Bk~(%OqT#47NDgMlL{MkM?90qQg1JE-%ebpZ6g z)yz-#-u&s-9hh@)nA8dQ3hu!_pMhu@45tz9zECE2KWW~FkNreis30Iw5-AlNHH&y zx#{zFF!j}W@Q;8uM^kH(lW|ZB??~xLR^n&gaBqE)OlVO~)#|R+-m6B`04qwHFc$Dc zfS^!tp@jt)%J3WpQ#}t~p-(-8rMvo@wQBei<)t{Ta7gnOHu9Z* z8XZcT@mP{LeD$GS%if{c$KAr_3RCkBT4cl)stS;t#s5BYtF&xa8jb@z=+);lrSo2% z0TwL?m~+JPaHIdmP{9eT4KvS%tuSsU@`nr&$+#0}txeDS1n?gK_YJ>S@bOP}=m#FA zceK_X->vS2$=&fW;DSfoB!H{^@i7$PzH)fBVJa;PX6utd?mE$`tFd1-znoHbjlJ;} zv+=!eWlS?x=KgYg>NhQ2eK`EB?^w%)tb+dC^Cb~tj&Itz)h06GJNNRPyO`Kbz}Ze< z{)={g0&~^Oby?cn1#Z;cPTitCOIf-5UGxVb(+=kI8PHnv5zI~BFzlpnzd0-4&l{X} zFegxQ49oZs(0l`P1>3J+PHh?!%v<}lLwO3!d`Id#(rF#7^UI1<>$B1w7RYuqtxaiF zbk%;)xh;9iGqSk>>Lb^YRo89nnNB-Ux_)WRN<|Rn&}u`EF|YUHx*bKo*5C(^$-LS$ z&$Zv|+Oc(Iz7#;6eAL9WoSJ%ToIq{-0$`Z;mz4uJs zkza0dR{doC>gZ4a@Dzv$I@TS=6&lrdY-4n7ghmwKVZ;RU>;MBpRgKKzcB5Z9WE87a z`9`mUXzUH<2K!mH3tWP?mu6lchyNI?P44MiH^(Qb+#oJn%W{BP>@$A@HB57>cN0c| zhQFScN@Wk>=T?@Zx?&HqS*yDmQ8>( z1c2|F`Q|q-&`tBZZ`${7nz}6vFn?&}EN2UT)4FDd&bl{Z$=^w-4b0CL8+kpxKNM+A zF_J2i=Q!#z63!~Eg880%0oZ>C=Ff5(>~xQKpuwDI(PrV@9B#1H_0hvu&VF^9?+=qb z&d;(Ay`~&pH{j8h`MrO4eTqQiyO!M)mpp9zn!-D}e!dSWY|H?h%cFYAuS=XP-1QbB z8=ROvM-gLu?iL0-+qCmH%RC8uRhG|H><&w9nm{W4{8R)vh8^LE5d2plq4Sh@x(?#mfzfepX0R0)PB`G5y`mb$@c6gsSW+xwC>+(KHn-j1cK37 zPe9xAHvJ^XGn(B*JKxRj@^LkhZvcLbdf&8imoy6GzEHvfgWhz%_PT#Cx2I@ZZR}}J zialsz`xt+a3=PPWlBciFpC>_~%YNi4%+N+Uspkgf{l;H{xiDV^^Pv$ZSTCu=3Cw4m z;=R(4vo1&T`T@w#8ac~jS9iT7)6)G~2->JAjO;+^`o(+H=z2sk?d;cSx!H2HzOT_c zHJ6$B@CTy@1GUHm9N5e!385Cms!Q;!Hm6rGm&OKg{q>#RVa_B+S#7B;US?^22i$Hf zU$u){(Jr}qQtQXDiKxzF}JHjX3N+ClnUsGlZp^Y^Sjd_;9)ha0&xyI}j zjbr~(;T{_gaeyb4IoqJti=+jE`yj$t^ihwK7ACxQ`ja73r7|r!KFi?9^m1JU>Qw?b zYG3{#1DVRe{JHuBHe<2$-*7wDHjB3g{o}btJx6D2=q8)V#ODW_=8o{KGmi_Fc{@Ic zQ*tI2#SyG4tq)FM&tYm-p_np%tw{~b_4^!5q<8WaHN`hzTaiMBLH7+_)}f#L=WoAH zTKvm3wsVEd`IN0Kz@+ZHY;27BH2%h zby4&A?ex4EM_=byhvRazO=t)poq$$MXe&vB*PeNiNec`m7^ov5? zx1yYaxd!0vU|yqXr=wgMDm5L-1C&t*it^=l;&&G6uwPbeN2! zo@0QHwpG8o_Rn#&gKRMhVD8q&`k`>DM<4y`755oPOF&`$YR$FxxFgV+_tLbL9AQ<` zOt%)U1gg+*>A1}Hmz)ub8h31~d<+F*6#z#K7FMnUhgYZ;qwU?0d!zK+aCEdifv=rn z-t9};aFY;A8o0HuGXljd4axM&Z$eelBHYDERhF4Fb)>FO)`Py!F?(l_l~tZ8lsK2H z%LZuq{#vvqcy+u1Y5mAF$OYkJJh6O+PR98q68L9m+kbYpJ2wbQSB80n!ey;JJs{?0 z%aaGV-{Bo{8x6;Uepa-=~FsH9Qltj1io10x03(IPscZ5x6C4T2( z^b|%SAM@(f<_TV&_lr4gU=j)GVA?Pk;%!z9NTXYdiw+qClzL0~7$v~~dXw@fUE z;q{l`o%xhBL|_;5`^yqF-!$;IsCPaq;NE|y_B}Lk`p(JGt-lxQ==W@6u;eBJ2lqD$ zsYwMj!KQW|DRzzTOmLfHh$TEU^WVVSMm-8}p`argab=|-%V!&yn-x1t|wjdnMw&q*sEyVp_ZV4YQ4FS>VL?CG)ln+iSz@@&V6{-ou+Gs^=G0RAdR zSB3j3jWYjlY?2pd%#7BdfyHFzGi&dS;R*)z?ZmX+mIluVssbs&v5nBTSS(n-G)yM}^F421 z%=|jeAS-jzmmlTQ)X&Xsf_0^+#W*zy)T_Ex5ds+$Kx)3Viy#8%(0%1WYqBib>a$;q ztpOJ6)G0S)pQdnRCP3-w2+3NsVzpwOx((BNY3>&+0bGLM-0(5S$8@t9vyZzssGIS< z8}Q5BKcOM{LhM0L1up?U2MHNl&@P&gEq2nZ;k8C}7=>yxgXo6p2btK+R>na;Gx%Fj z+zHJ0N!^{~Z_ju1VS0^jXG{3IfE^*3m6`pZp>wI(&%9rL^v%?++W8V+d%Yv3_KI-d z{N`gleDdoZ*hyrvwFi_+n)!GD1?f)BrzUDfV`-w z2L$izJGXi517C-kT7aV8pGZXv1U2aJ8JGXtkel87z;Ty`-#{BR>Ubu;17JDsds4ah zZH@uo(Zu;VuEuxm^*%;h)0k`%$IOQcms1b zGK!r7DL289%%nce=OOPjcK|g}&_d`<(X5)c4k-KdhA=X-FqGX(jeiKBwy><7TV?ta1OJGURe=~E9tPxE^&XUl-N1oifGBxCRe(3j5XAqTc7 zRFbJ|3V1028%#72@c?sLe_l28KfV73{Q6vc>otVs-ma1J-f!CZ4(=zP_(?k#@E(5n zeR~@EVMlx8Oiey)#=?~P=GS)*nJf67llKT3(D4H16=((-XwSE! zA~w@mGAGNm(gnC!j1qeXa|kHnJDAfWuKx2kFrNZRP~zIm>zbxp$2iC*kXOqDC`-tx zzi;$rP6`%J8jsZ4SJKTo61nr5O89(j$@dC=l9rlvW)*=81^@hQ&@JA(|F>Hj*>35i ztQk_Ey5jV)P*TfOzAB+ryW66|vAt^+?$l227F?_~ z`7qB%ZSHzb;lrh0sclo}iM(|@BmuZ(N*q{nCr}$VaAAM!fp-aW9$VMmB_zmvcj+VJ z&SR}rSKNSykkpa-C<%+eYO7rwy`d0VFrl6ep+k;waYT?tw*St0b$G zUc5{_+51-O^hnGg!tGqzQ9Ob>A{LD-gj1^^OHxX#K4w!?z`=*EW_0ZUm9X_{aqGEM zZM(<&I`6qa3*M#(S%6VT{z z{%tT{CQq22^<38oG<$-1gEH`&iM_$M-Cgn_8NsqMq2;09WBhJB*1Aiu4$J5Ex89p_vmE9~!OQb3)s=w8 zodjdKSg2VuNZ$%*;1mKf3f;(e5^RAA5`(7*&akAM6U#GXizao>+?$#;pxf8dzfZ1M z0I$>Bn`aiNJ3;FvNAGDbKuAzGaAP2H7Cp8D<6G^No`W!VMK1wHwr>gTJk9K^^9G#Q zvXA}(P4Q%XAIVb{>mY#VeCCol>gB@jYGMU>ynbgriW9V@2lRq)c#tbFomOVhh~ zZ3q))cMG2G4dy>4rgfP83nfIC6QI-SCMzOv&TL%Xbz8Wg~ z-sb?)UFAx0az&heMi0Hr#`ksTgTULp>a;(*6uen76x28ETz_k1;V%JkCvCl!qABR_ zd1=7gE-+-BT)@1sA)hsxv3*`sc(6_+3QChSsQ@A zO0%)C$d}oZi3-S!3EzoV1^-Xr8bBub=*BVpOVc_`H1oAYO9yNR^A~@)Nxll+Dwv?& zks6Cu&iXb3oG}6Odoy;HsrBSFcHR>qL@BCFcG-MVeL#X7-kz8GspVi0D5u%;Y3z(< zajmh>;vt|*;7b4M%1nAjsD|l%gl1!O(8n#59RS=v4$h!2X};h@km5=qfn`IMvcWuXct)Rcx#94ddZWr1~m9yOf;VW^gVrw3T3XCER(+bm`w#&DuW(`|;4iQycexQ5(?s?QS14B*1$B zcmVkgDu3n|!mpmD_ObHmM(jIJBRj!eJ2^w(v#D&HH@)|zoOO}Mj3E+}!4Z6%M-;yT zdb6GOogISUn8qZncEm_0_c&U{C+{nm=WcK(lla#yT-5|GKtFuvo9}&q_-6W_U@jk> zh>dL8*hwOEaM0Q`a>#RbaNc5OnsomiQ82}PRD#Y5gfG3gDG*@QT#^egV9%Y$I5x*x z^`3k%*;AcT{scDmI>qh=b2I8hF*s{AvRS3CJidat=Ui<5fsCTPtlz44vL4eC(H08| zECe}rJI&da?Nv=)=S>$WAYMgHSe+xMuW}9S&$rkLmD4Lp`LZRy$AK*}kXSdDInMlL zJrnCr6FIaF)IvmPq-oc{2y+`&fWo>o1z*;p#Ml-#=L`2LH_lMblL9*NrGxL6!#zFn zE=$u;&q~1NI&Y-ro^37%s9Bwj4gqXNx$}+IxEkPZxkuo1{|GN>K|n#0?T2N5*n*nj z8AHItu?Bq`6zp*`R6rd(J0PjCICj*ZvY<-!Q0OSwZ44@)uKTXwqmUx`mAmC~LZ|$| z(P8Ahd1$?LMIwCB(vrJELwB<~PdoWRp1S50Fh_GbwQ|oOI9zUi(A4n(t+!zTxUhJV zo6$<3o6JzYGsb9wAsaQoYQA+ahkG2_vMBU;Pf#iV?if%(z5o|<{fiI%&D?$h^Kb9@ z69mEU)XWv!RV(L5wDSUZya&m>nc&q7|ILJd0P_(D7yf>eHtBYMLhdPX2X#a`tqI#3 zg0!h6tt_&H1ZDaxT=NlN;>HZ6{+m~lLy-b*HXS+&{YXPkDQs6Jq6dZdE%m8{T zR@R#!=2S)y_pJSUIan zF-vI%z<7ez?j?WE`RT3QBZY&ieLlBB+NNRHz1d0?2$jY@+cAbO6?C*Ix~66KJo#@K z9_uV$xaGd;1?sjg0|M032X2PzzCYKpCFXa_{oU!NJrxx8kJfSj-TbEPBc(5Z&#fu1d^9>i z!kV=MHLJn9Yd+*`kABj5>ENMJIlQrFhnguhgLLu&M_Ur$U%L^nCS>c!hthtwX} z+o}QU7PN~?;|k1InVuPy-*xj|hfaVs_1CYWA+@o!nsiE^_}XUm5+GEgPatRB{kjOd z(r0?Fe+Qk)YM~f@>ccI~{uEuMabII(tiD0=nn5-umLlm*l>I%&9OwSr^(UdHBiX0&d+{5(Fp_ z1S{SQ(};omGyI>f+%l5fFi5*1+;VR~N)=5BS*MG;JMd@ghIO+yc@-hj(t446yPJ9>|I z_#FeW#MIK(*=BX?sVk~T!!a=g&z{geNa@9AT{QY1NT%O3@BNu*>o#szH#)Za!q)qA zH34}7_;UEgzi8mCkB{Bq9vb?KcK*x<6V&;)>VhYjCl9Y#ixXR&WHLa-DoVxZ0F#=y zkPd=LnB8gyyO&n?S7pCdpcrR^*rCeJg{vN#O97}?Q36~DQ+Q3sE|5{mGoY-^`BqD8 zx?XV-S}?EH~ArzE3-a}Kbz1?k<$=p14 zEGY(Ut+lpWA&63|wM-~!2J=`bwk+HYp@n&IN55&6VEbB&Rv~AfV>gB6;#6MG;6oHcSzrX@7^pD5Xycd}kvh+jx1?=WgHpEB*Wj$M zMF8B5*lsS}`-8P`P%wyS1o`^r0N7X(HT06G9J2}^CkXrfOoC>aNt4v$YY zp?XKKYtWhj<%74%(-7c%3|g~QX(E3))U>*5J%F6~>_9$%d6077UtZ?bE4a_QzGo?^ zn_W8|xwVkrqge0t&n{Cj+R*;wy2l`}en+vKies16H#t%4Jx=9uq9nMPO;CDFLGAWVK1BlF$BR zO|IVxhzyt-*V6B9*+;!3PJ|HE4~5Kmb8(-%1j-<4Vg_qwZUMO5bG??aff}~QMl)u( z?uj2Cgt?u*^?%_R9B1n?_m5|=oP|P34L#k$SeEPkXy`Iq7S@NxjgWy;(hIVtCx`sC zZB=x4l+bf~cO{y3!;FtFL2)@OmD0s%I2bliXV2`~x%BY(y|UAm0R8K}?WwizzVki0 z{mq}g3j%u?FQ#_mz{yTJwxa-DK%&378ciQLe}vA1s(j7sHv#1NhG5vBVlgh3O+jFP zdAw%jcgE;B8-t~+UmkL&rFIk`1Gy#bq{(VD0mNH$mE%T!JxcoQ#yq9&YR40 z;q9_QrRRI9e{pbjqJ7{6BBvzTp zvj7!9>c3S2qN!=8>wo}}oyv`RZvUWMSn$;7Wpp_jpsV-t;MAs4Y?eAE5nE(E?l}pg zZmmjzVz8TcvlmBC#OWswCz#v#of@}C037gRy(R3wJ_6-%!RiRse^G1M?J~0njEgiM zGpzge0CVJutyrrbC*mkG7gAL0LQ$ez2;P>b{LhdvenN%B7zg{TLH*%F|8^;`Yq5vR ze*4hOPF9S~+$|cpNJ4%B>o>Fe3FvPOE^vguq47#tR%E-= zgm0q702~wqhKW73IBL@~>Yl<$mwN*8D0+?G zT36OQ+N8Zv`<&HPDgZ?=F3@ zxg0#L2aT!JNW$Ib_gy;-_C`UhleH9*?NXu5IsZs6n(u|zAXjJCiin(Sv`nNl#9@)s z)4Q9JB_W1#0lS51x$7=an0=wCb z+n2-L*0TG)yUyKMaG;S)g%v?yk*FtM*){SU0cCnGK;KR1yB7YUl^@e=mp0_|QNS*( z*(3PvEu#Gd*e}4{>k{!N+W7==N-vvsZcXXp9rBnWvVt?0jFCp7ax|DDHIAn2Tv0p; z`smrZ+hzap#bKv;3m`=`0zfGl#%t7=r45xdgN+Kvg88h9jBgG2TJ*0fs7}yqGdq{n zwPs#=l?8(eD?*#&-2yn&L?42HnA7XNb(;uy6b`mJ>F=ifP7e+xNh`G7$$sdZM@sQ9 zcM5yHykTds9)5L#9zl)_TPh-2r6nEt^hS?Pj%?#QJ#ygen@o5c0m*BL_ktyRjznIX zWRLOQwp7}m^reNuapPKHmJg#*2#_TJ<$h6a9L*6Jr{wFYX)%T!h@ffYGCGvYL7}&{ zoJ9Z}S8Kp^mIfW_fEY4%Mi#ll*Mi-m=~vs@MbLsx^$bv;$xzUykz;~&SqMs?rQ5c* zU=0ghY)-@RT5F}#BFCP$MGHXIv;0FX4px1tzRJKVv3ne&I)rn*B}Q#OHyd*GC(UMANLE;mF)ZV0_tU27n$-D49CCYlWC8@&X0ilk`DO|%zs;F z{;r)LP48yuEEMg$gDjij)x@?2@*KSO7|1V-`{lm9J@x{>?^joMz(Q%~5Z`yE(I|E! zGhkpEN=qrLjTzcHZbil1g&SPr6q+Dlc8U2v0C+j;l*BGDonWq}@?KL;kc}=QDA)VZ z$fuxCc>*&6U-Cmf+khOBj{vlr2!n z8$%)}0RUhZBSE=M+nFZmS$l1WAhUX@^do-)Wvv)9Nc496y`5tzeZ8h8`E(6f3lbp! z22(77gm!+QG<>%PELJ)4ZLUTz>o&$ay`DYV(45;xpO9D7*XlFYhn&%d00XHPSf*K9 zBRC(EhOIdcla zzL|v&eT%`e?1hwmD4cDbPjZ#X1oLl>u9yrG$MF*7zH8ej?OVZpyQdAP;kn&62$0%y zulD-R`(MC(9qyd~yzg1w_Y;8cA8*078;V}sO|s1dBW@FX{uGw@-rW6tWc>AdGqqO- z6wm-e+qX`k^(F}Q%;{z-^DQ1^TRUy0Cr~miQq$D~N!GeDza6w4EBAqi+%Hf0O1xuM!Ajl<)XzVR4iC0@l3 zMeb1-xvhH{KzO~rn)T&Mi}JT>oh-LNrK*@IR`!Ql1#N#Bq0MnsmKh?57j&)Un_jjc zVCAV{&i-}r$+s!DV%=aczaw&70c~BteUljAIB@<{;uzp}Fo@d#^98rNc&x6+_sp;3 z0jz|HvK)cnPS7N_H{jQ%G%od`&<+OpAtUC8RW^ZvbW=c1;ei@;ZS)dzJ$8&E>=xWa z{mOcPYC-c9aVChM!TJH%+OOl7UliagztGZCS2s->113XoiU@3tdE?4L9((HaqgzM3 zV=RLn+Bu&S@c;FU-2#`up_aH^h(lO3057n`aeGAK-*7!S4s{564LQ$MnKg|>0Ni;> z`PUQc3vT;*1jT6woIv~SI%wwrV0U?UDlDZy)Ox>m`pq93$u!}QL24TmH7JY9|H18;w*Bvqj31lOf*SOgu z(?@;+Q2AX?4lAKq{p(8sG5~c(nRjbeMcF1;OZ{8Gggi^FHzlC8EBZBPzOCHpYOq=!hm|yB;9u>S2h?$^Pvm#*VM`{nlIHj_sJ+Y|~=Ciw=+7(a4i z8n#*H@?{y|S8mACnq^&1e!4e`!Zvqb17rg-%pkX{simnuvxqUlENO<%^yx>YN!-lJ z_b!!-!(vi^2q7fuM(W)a@;>K=3L7iU+-=8Aj+`J)v$|n{%2i;ybfSlFOY6Wgan4Lu zb>=xDSVYo{OGxQuA%vY?%P7fbhjA=bCxxt-yeC(vrBYs+FE$0ti+@{d=kB)w5eR3v zJPv7*V^bqw4m7_9SoiPURhwW=!2vBa7}w9E>(Q}UA%KiH(QK?zI`yttliqv0b9_xY z_Q2Yr&6)+J|e$}GL9So`fvl58k zSi?KA>2ht(maWPXUm3$EdAw8^d{WN>-Dh#LXsAj6z3k zP3z*KF}A1g9%XV325hBymzL%f&YB(_ti6)QO`j`4l1%*}2)J?~%eqgsaVsTETqIvCI9|LvyzJO}A*&X<009^E-j<^FaYQA&yL$=UrDoDcW~k2ixef zJnIO1V;LL|-tr6wf@9Q=E~UGvN0LQ3b~o*1Yz(0xH}xr?St4L*@SHQ7u9q9iyss(} z2*qqkM!EwqH}e`NEfExpVbptw9+9i(@?$eBzdb1@r3=Iz-B zIzA4AYY2Q*hb?VeAzjAfF*kV!$HAxkWKTjK-sblPo>~@#a&(UM<{@NdIuBrNYgU?m ziLgnNI~luW-nSvn)XExpZWVhEpifDnwv&(avGpqJ7PXoy1CXB3?2`m{S}m3#4|R#T zNEK+g;a;rsHvdxt&(d&NxQT1McI``oJY$CL2T`);rVIQ@LYerFWo!GT+SRw`P3#&$$f>Hl#xQ|&$=}zYIFqGo{Ox_l`FC@B zh_^#qPf)k+Y@$O;ctyZ$eg5VMI}@v}m;on|$ToJ~Y-logK2uZuE)vHot5M9cXkDOXBag4&4>b4+yN{cvRHv)+t}{RO7mC+3_!Fpo zPw$V{a`beD>Kl*W^0H{7JV%>qfSe&VG`s>;M@6qwlVu<#+^bx09J$P1qz;#Pd$yIf zq5>f^toyF~qn$4F;J6NcycX&}leQL+SBo%}T0O~->SyF_VOzHy)5&d3(C4^ea zb688#6jz2K?;G;qmXv2w zOE-Pn5*p)J2=^7k#GQCzrb;3{)~5B9rt|zQX7#yqT;Y$k&pi%$VUV?ex~;?)GsEp% zU0GNdzHw#hPi(DCj^2=F@Dz@fgUS5?8q$StS?l{~c=;9#_t4CXU~`AKJs6I^)f}<| zyMY3ML4|`QWz9O73K^Lfln;f}gC zn%BzNS^!Rv&~;mmA@!SZ74ljwt9Kt0fBK%z8szy7oB|;4CmXg2!qkqvkjS7%umv#E zoK7s@9An`rbZFj;sAm9~@IP7_y52N1$Ej!^G^F5BXVN+&#v{xfuq*Qy%~olmL?%}) z@TGvzK+aKgm#a1{1)K{Wx-8K3uOcjc^VMb!1k`x-ZeFI#zIC=D+z&ol-pVBRrN480 zm?Ji-spD=%Vk}EQA%D+-7Oaf?B~G4WP(lKw`=YdGsJ+xZ38)@&`9^f5; zaMZvxx?OzeXiTXkY-n@5#rFnt0A}3RIyxtCy-Yi#Tf*}jAh3T-th0{#{krvQfzV_L zcKWWS^k2YyZTHJ}jtRJvU~iG?U!vK8qe-NXX$=Y_WWZ{+RQ)C^jIqsOPWqgMo!#FJ zK)_tn^;o5Uc?@L9i_&vsDok)NPm!7x93Im41fFV*fC?GPexJ;Gf)IgIv@$_rO*^z_ zd4Cm{BABMJZC2pQ_d9xiYSa`X7}3rRX(9{VB38f*S{6om$hz=;3k_9yc{b_Wz%Tzx zdyDdh@mp!E@HKn2FSXzRDCXHUJ6$$-FZ-c*?1Py&ypct;Nf9jb@v!oa{L#zTI)W;} zxYJd>H91;Kp|Tsn(hG6aXF^Q|#>MgFk+21b(p>XQ17j2t>(8aLsk~K4LLdx#+!a5Tlu^RTdRZWMo$4z^!%qzr20hmL$1~EGWbAjDlr?rI2{8A2`Y zmS^CfmN{juEjki|iI!KkMXhJD%#w3aFA_IkB4LkDTjAxUXA>iVIX4nyf|_h$tEg>o z&Ahj;Av~Y&psnyb!tyR_>0V*?s4dV`;Bz@Q2_iR1zy|w#Qn`OVPOA2t^T=#TeO<=1 z|AbbkKv2m2-iMykq;Em`Jt+=l^yk9}a2e!IcGHA7C}+1;%v)je4Q#7SweQmy&~Qla zH8=AN#T2}5RP2zjJN$0Muc&f91D@L2U2-wH9Oi&>%)R$-l5D$v&qbGSOU)>3_I#-K zdtKr+Udp_f8#Fb&&q$PWP1|&{7A!9G4_a1ltnfr%5gFYQqVMH!C@&1O6syR&b1M8UJk!++ zFRA6*G!|ZDw2aEK!}1?fV|wBeNvAz<>+Ewg<6DWm+s)J@|stH0e$hu-Qce zG%&K$8h`KqSDDS^ShU$OaO<`GFhm*L^Vr-zrcVh7^P}+Q9Of%#!-nkV(u&Z7(3M*m zL~3|oVjy7sS|+Ng{joe=HwPR@YEB7SCmWnk*yn^eje)3bz6KSEZU19%{^ZD4Gye&v zSKpp_&|}XnZL;Sb{n)8fT3w7or%|D9YbA!ba!`I`M&NU)CG;=-VjpdqRu<=)F_n zb?7~Xb$KSig3Ls`_uig?{fq;^}tnOqaL2A zfRfLp$X%Y>XiHEl6Qw2Zd-MDB8twN>EO^$HIc&XAvna)(oZy+#O_27`2*y{^wN)-@ zlun458($yl^{8>Hk2$3sb3ZNG9Vb;V>x0?NRU1^3#x%r~Ef zn`LCa6ejgg@pXh@>)fXbw_)VH{(j8-1AihG4?D*L;ois4ir0#zGZ&3loiP6~k00yv;QxU_ zcU9_9K}Qg?icP%AE|J&kGELwTPoLMIInfC)0)Bmcsvym1&4T--5B$}0e0O=a*R3`5 zKD=}F-0k6=|M5366Dxe;6>2do5|<-@WrCP#2coNjBsB$DAy7i^!|1__N32EOSYvX# z+JdLIvljh032QMXzaq;YRFRrY*ZdB&@hhcZ?XJg%5#;1lFasqx+=BmVP+$SOh&c>%24UKo) z>+&&v%k$SIO1=#!V4i4vRm_j&!5Z-7He?5SfwIf0F~_2Ypp31(Q_Dc7g3ceEUBbgw zj^+98rFduz6nA}^5vlxo=SXBcG2q?ldNS~n!q1})JSlkGdJX*~$gR`>?=ky{lYSly z1nU#i5}Z^qtuo7Ztv9%(muzJPSSjYgK!m znDFLd{&5@I%!DpJTs9!st%UI^)S?@lhXF~zEp1`>J~NZ3uXvfDgur(g8L98sL4I=% zzEb6?Q;$3|#wuyAEthXS4i)q#hF9+8l}Cl>E!WxSGI6iBcceH4 zD3Y&1%CJtcLBo;wM}ceV;Q>9)q&JY5Dt4B%KPYq|fx_!MAuIc6E*H<$*PpI0T#DQ8 zGu^k+eyy8po7%>)z=nVC{zMnisObEXlIJSmTu5GsP*{ujpptcZEnAsOu}R#%+FH*Q zuTxQUQP=O=b>nZ>uc9dG^I%&S1U{a0D3R5suMlV(bgH6GEkg+`6IaVctX z`#PQ=l zktf38*jBvzJQcZDc`yAEvfZs-&JrDtX98Xc40!H97_1dFqsAJldIlC6p8alm5)w zE|MDEypj1Ep(7G-%$S7KFHuRB(~vppxvAnkbwEwRNMiut9C-fT+3N6mtFN~*2ki5p z8JF?tl7O=<>rb?+%ADwHV?pP=@9!BPGT&4Ghr3~-kk$o5>bVtdH9~5XI#b9R6=0OY z>5&-~V3Tw-{hKq{N+mzT&k$=lnC{z~DUn?S_@H>9Q1)6h=*+A=MP`IYdE98rjClc2 z`j$G4N}D_z&Hrs!^jqLUESeK_^lH%!lJ`=PhJEN-L&f10rrEHbn3reZgU&<-RcJm$ zDZ_>U%|b~ulC5ox=&_u0B&gkV({oM}UnCcBY7kSVTmO#NNp&Q-gjJ6NhH+TDm%_#&B9n_=od|6dxTA6RGA&OZ~&2iNs8N-Ds@Z*?$>Wh zdMG^U+SlJ%-!H|!zW?T>kMAztc_qAMXdhM+c)G-V2wWOrkc+AcD)$&M%k`bPeG8w4srFq>@l~xp==FQw&8_Yr8l?ANs*~*)EISlRBn@{SM(7_Ppa6Ihia%GB;6jo zddkHoy*>fX9By6M?aS_n>owPTHL= z;-oaTmsamE%5=yTw#s8(q{i2gy$6N%YJql;X4>#OeW>N|)Bi&~` z2vqC^$34)%$oFx}024z(fCu z<3AquKZfXV84;G=dA=jPJa{i-q_lNQ3@>}+csl4se6FY+_*wdi36Fmfau;g&@}RXu zk&&C?`u_e+nP1*IEux3l?z+{@?YJE%|Ep~`&+K+l;CoELR1xl}2Xj2fKGt}~y`VD6 z`tVqr;Z*%;sP8N^fAh}2PDa&n3A^?{hbj^!EbTe55`^n87kA)rG9sd=U$sK69f0rP`MV}O06z*B2_BWkA&e7 z9^_VRczU(jh%cTn#R?Sh&!uOv9DJ>~Jqb#co#v*k9m^2UuGdL_r9POim6|F}V^ zN50w9xfTHtZc;5YMs;i31uCs1JWt@N60F9pBR1p{Cc829DdgQm|Z;SgPu%7*piq}(ZRRy%?x5F+os-6|-LTM5k8 z?h$BN7$0gUbh}+vw3JB~B|oGj+$Jl}Ss752d3)7n{pwO<0v##Zu)a>JXFp+?RHuC( z!O3i^`>_cC;&Lp0PakGl$MLWqmgvbW+yzT8-zQN2Fo>Il*^&XM$X* zp^~w9Aql;tPbJkwzb~9#=}vZq9x7Rlz(`o+k+3l%eti(ou}}OXhMW!nvL8xPGZnwgtI-50kpwzIG;R!K0fl|6}MEdWAZ|R7oUPxym3tNNm+QjU(7Qm z7PRuyxkftqvUGtB2E&{Piwwd#?x&o`v8!GOPekmzt_rVX9o_iCmQ?PU5cgviwN1^A zhvl03C-7WD^2g7Chc4%xgbG&=c;>Y<5IxbQk<0_3DMhxtq=%!_C<_GW-z3GYYx5fZ zOg!6>T(*?@(>r&ZwHwcM^7hd6IKCBXcR&3KyGE*)lE0L?DsuR#L(Y$>*hZ z{8Wxn$za%!(&f-r*63qgtO@zwP0CQrODEJFH6$>;R+2&^%NVdVu3{IXM60h*valSM z3DU|>;eaBPelpSk_1K|yRkFt4Eky9%bZ5DSe60IR+wJAJ;G>NozkVvxp)erABQxJ4A{^nr7;&du zMZoOQxSRNK|I4JfKV7h~WewfUt=BQ~@5p!jR%Cw5a_?^bItW@e7?T8bnQ7@$B&hI4cKjC7QK24%hlw6gzTOd;{(XRX}3$h_^@-AaXw zI=*X7XYyOO-KGh*BRP~-*E3h|9F2Eu1D-SPr`&I4ZSM4zv1Z;Ut3jzAwvpU$WZPT8 zV28T~s@Wa^+o%x^Z~k{>uF4nRq1?caE^X~ux$Zef(*Mp09P@0x?=9gc^*3#8!xON7 zY{KwzorX7WK?NG6*?Nh-rSZsm_O6=^`d}Nk;@ChDD6v{UZ?{Xpgw{C%Q&35qPi3%s zXPPHneJWeMAgcacm?12IXxsEShyo+HHci3O@>^oE5oUrDhI;G(Fq}TLS zsapyj!Et@ZB$l#td8Sd5jGuM`Iu?$*h@+z*Ro^|M6vSH;JZTg`sqoWk8{p3o!@{_P z5;z*xZ>sAyY7Bnm9I1m2qQu}pA1S)Ml%(}%PNUbkaz;H-Z9$*3ZU=52p*>QaDP!Q;Y#E^OVmm%c!Fbk&b!EqF9?EWO|I?~2xV z);eeqk{^T?cs=lEQajhqO}G|HJ=bAjEW$WA)}czbk7UUkUs{6tAlKBf)tA@$F8Gh0 zClob=ZV-=d*89*6eA8R)KGbwAl!qdvSjY0h#}Ju->=5)3?b@GC8l*AjM)Don01!G* zL#HmrR)idtU)neV9uExxL^p(BgnqoEDkg24%OYs(G=Oe@?DlYMb#!e0;;4$Hsp#`g z3X{)rBHMeole067o@?ju&fRMr-oNQGMvDuP6l>o5^Km zLLbacG(LIQ*6m%53LM^fDfO3kj!%9sUaN!zDsq1*czERMvAe9HqhI-soMulOp77;V zm&#~MyZy3|6yLJ54H5u!c8B3H)V|;an8_)85J-{tpor)#7B3&jlMsfAZ8Jo(qy-_I6d?pG{pG(VU-8ltwu)e^+?DIYW?y&FE!rt>_2h5Bc_MA&yn~E9Z z1}^4!nsj}X4Z^75_E!7`sxcTX(o%st=Y@s<{#AkL?=u4ScMi);n0U1{uA75-X9!j( zqxvPbtGWt4v`Br&Jse8QM>OGV*!pUxO z+CA$UV4(-@7XD9rzz`NNR2)a-3JthE_nN9%$P0^~4-)mFr@bP1y3=5~J>UUE3SbZj zp7t@YGT%WuD0uk~Kx5d1{bL|CHrQyTG?5co%zRFU$Kf?EW$rw!6pGpFWVnDb_tGil zx!0jJpH7DJen-eL>O(_+I3=H=h}K6`{Hv_T;z7sInA90jAc0HU==pz`K*ifuMMBQ@ zrHD4;vhIAZU27I#e?G(PP~Yq^d4VhUleKasw|uj~-rgFdUpVHFY}~P35G0X0iEP2iNjKF?+Q~gqgJ(+*$=lgV7a0=Z@B*-0i_E0Ce&_lr9W?Y@O&>7tf>*DT5H;zb z2S0-D)AsUnGBHvxPY)e6^qP#?G$0Ba)%4H4eBa^lM2>{uy}k6xUN1#nhXA;|hqes= z<7q$O%-nPA@SW#w?jOsuea*~2WV05z`XU+w#>(8GP$>?HF{rjoMRb~TxI1*E!hQ1a z#PphvcFhg+2McY$0v$cz3sHb*Ji2YUzl@r#X$*=O!HRQ!z(7?5%FoD`Y}oL^9jc0z!|= z7~32$&P`ZD|Uh<6hj6Rrcm<{q6xCaYU77}7p#XOsWx^Kac;=x>i4|5$u_otm@<3&e%Gg+ zatCLi2c!^Yky#LU8&r>c550fmWH^{+dQ#jpkf*|ecMavt@?4iLk+%$mR%V9^LOppZ zPJ#XS&xC#{mKKtAALnVi+0Q8eb7+7P@Q|v3M;-F+6B?u8hBCGC#;a*4 zOk-W$J6_)SQ2uF7M7_8L-oBMVz`gCYSBr)M^pYrb_D}2?+eFC!SZ?DwVfK%NIELX7 zkT#&9Y!wNEe5J63=`I7zm`tH@D=l?^8ZRG43_H4_Yu_Caa6vz5uatR{a@DP^R>RX! z;w=0QV$+Kxsn5XJUIBm0%}qsq8iCH?r72Owx#Yi9+FfwJc#?9Q<9}Q4d-w?SvN!yoFL4C~1%^6bP>u4q!+j8PukSj`<<#Zv47+g&~c6 zDn>6Qo4;F1ol!x3~9NtqWu6I&s$d zA+uAMNY?=q7{bg~d+7Ug=%2^1f)uOmR^(8IXgk063sh@D%dj~E-UUDEpIcFDW_%j} zUB(7H3KIyU`@wH01XbomSyQ>om&R?ZzF*h6t9@Kg{rcL*UH4~Z?fmTC94vm*+Ms0d z7*zHEe~`V?!(44)-$(#X{#YUS62Gk-`{LTNiE+^$A;%AcLSZf%4ul3)WX>e9FG`u~ ziE}w^^;;B>W4Bba(sg(HC#IrR+`Aw1h>|rmOuVQiI*G66Y|VA)RPHWNCCmOq(aMav z^%|@K#=gksYLj^{8K5lGET++OUwcw}8cc3xaZU|O9i2%-A%J*oVe{y_>JXWjR#o5Y z%rf5$`8T(iIYQ>}uzkJb+@RpSmHVmv?1$&Mr?NN8Fn$i^1jXpkhpC&~ zowMbY(}#VB5V+u=X5W@c5_KI}?n?7b1nkw!%s#X-v|c9Wc}oKVT`a&bxK)V4`*_x| z86W!tJ-zgwFgqU!ft2DtpNO%C5N&U7Tt7i9W@Z&N7;Duj_&SUm<0Zq2s4g>Z*U+>5 z$xmALGFW%>QZ|T8NcU@OwP<5mj$NDo#*rxm7!v!4M^J?}$poI(}toA!^kN#x?S zJL)dH3;u>7aZQ?kp^Go1C}W-8>uB+z1cFMyY%1#jjLS)&!U$t>)okBHv7r6p2RD&V zkTt-Ei0^Qz&)SB0Y6CflXL#i9PQTS^9T@BCkda`_hN~2Cxmcg_9COoJ6qos>2U24}AEY;zF)BR(_dUB!Ws6J)x^$Q*sKx`pcNhiU?KRKVB1FNq zlxR^{`A*IxxiHa1&)hEATaJC^@)`L3No8N(-G4ma^0soyl70pHKxSN#i525uXz`+g z#`6fdPbDq$m<#s(%p45sR+C%11T*zSk1NXrtS#GIfi|br2=BcHYK_bAV9hFh|?B?s0KznL8C=zbHm7;t=Ha;$+oiy91S^^N7>#?bV^c{TGp`z&ge1{7tYI7JVdmcC*MiMD+|MvOa1QKw zBVHCYWSlTiK0Vh_c)(=Qn5k`Z!#j8JlARtl*RVkso(TTbG6nU5%s&h$zUJ0*NdP>j zO8{fXK<)d3?9gRGScW*gFVC5X9xG|hfo>qk$`I=HJe=5;EqX~)FH%1a3djks5WL~I z@a3J`G4pv$Y_2ut@vo)pDqA=E%(LU&3`@_XXyF)T(NsqmzfcCLnLh*t_K}m~kSR$% z?|B;Cfe5^%mV<1aNHbkC$E+3-kqKyC>(@+ZgEB8;*$b?5ypQU$YaKny!83Q6EHl|Y z=j03?8Uu#K2%(sW6N7=!p6ewjut_K<{Sa z@ty(iVQNy<^bY&u0GO%F>KVt17+V_&d)yN$umAf+DNRPkep1Pcf^{*u`E07oo(!K} zu_)^d7%9HGkKGqw>3Qznco@!CW!_3#?-@Xp>$&DWM>dSfS;ANGso9sFZ{rwz(^22ZDTkmaxs9+@twARxfq;2NMjrI=?7^drVWud}0g)jgKUZdKN3 zDCGOk-5n8eVw0mSam%doh%$x`x6PTE^x-= z9zH{Ourdr>cJwioaT{bb#D;MOdT5~hV|n@~eb~l_r z*JZQ4Iu6!7bMK3~N_-3$OyG!nJiQFTTM~4_L^4*`iCc|8$U`4Zt3U!-q`9Wy?xD;v zxTH0YFszFwQm`EWNJ7XXa-H0eMOgQbouSxERN}r{q;fXPQ@cxXtNiP+_!9R0-%<}# zV5>l-`tzk+e6)ABRac*kW}{~>x@tvmMl1Rad&jfA4xeMxEwW`TeT^C&p}zXRNNBSV zEFpYdgrZ4#M96~ge!Z&PTX;Iy>NYK;6zp`VmCUS!PvS{m=+d}V&|oz-Jgv+dCvF&D z^Ip%9HGHdVW6z~O<=qxc9NoGxsBzHAU8cpA{Ph=>)dC&SXh}B8`|PVoK;Xw%&ln?M zZhTF6ZZM0s(57Io=|sniHj8FKhooDxt}lEB8b+Tw4{mns$5IF$Dmctn`d%tO zm39u5Y18eT!2{fd;1y0~^cYKT59gx6Er_CxA-)*JJ#`~3m>BYjp>ocTf>;JkSQ$2i zgc=rnt;-vUv;~Lsk?Z+A4(K}ONuqfgCRM*AK2e}<9s6)367z0?hWJwGB)CPK2)r4M zUbvndH`mcsvFmm>U&_1~%uC2MxsmfHBQ}96mUE5xB)4G0e`H z1w^>@7>ywo7lmDJydgtflhl~WF0VNq%CG8;Aba(XX~uOzYldn@`uw3h&yuH)R!O zNQ$;QsGJ?oF*U6;3`}q|>xd)Ec+F)4ugRA^KZnnWD~>DXz>NdT4|$DlKX0dx_r=Ji zal|SumWQWWAPlcv=r#)l=op4w z)pm(kG$=APHD<<$7<_LcMC4sB6A$beO%&J%M$~B4XAe`^yGwTSgTgV1E1*CM9 zr6R9SbI)x&P~N!TUc2RqabAB0-Ss*xu1FfuXV_RAZyvbcOb5vF;biMFnx;5s8mHi8 z=^(zcm9dIm8!=_`c4k#Uy8JG%6N{gEPpkuZK9xE=@0d#7qeAtO%DUe@t8Lc=a=pAo zpeQ%Oqhe;_Yk4A=3&+ z>XvXH$`+*>c|8X*FFF4Tj{vW2D-THfHj9d2OmWfeaZ4@;pve-K(mpk$0<U6!Ywe$g6&>_jnps-1|n%Re?(=n!22^~Quw($p_;mmt0^sb+t-n!#`B;Dp2 zZ96oj<9mtD6aoR}U@G6h22saBSBV}PlH!C}K9}ZiG-3Nzb~4t?%?!#r{1a>v;>yJv zKAD>>NpTs1cPk4g6d6H}d>}Y?8Nl1G_4hKD%w*3WNFk@z69JlBGx7BLVW5m^klSFs zT#BQ9FZvJzU3RzQT1JKa1Ku^$&-V6^{MGgi7p0Xx6GeGM5aAvSha=MmrJ9J(@B6J~ z8gfUAt>{DmV_8ArUPi!@V@ za$o~j^UMsTN1ck-W5-ND13>ad^mbY=1si;&YC&3uyA(Sxj9srQ$y4MGr(}kCu~R|j zlP6PJ2u>35J$q*H&u8!g=9tgL0F&uw;^2^NXa`BOjpzp1ZF;1R+=rSb(Mf?fveEe~ zfu-T{r&2f7Ls}-ke`4N)NbJ?lngz6(3O*v7hn+;8Zs#P;hmhAxGDGuig8B?5*1G4{ zo$&e;^g;a4b}q6Rd(KaU06##$zj!x$E( zlNU;+jILbQH#v9R8!Opg6sRikUuE)W`fmzC5rLP!D2C_f21h(5>#@9y4-GAwH3O>W z-|*aRs&b__J-n){BQLL${=1L9-->*X3jG2eeJ8q%no6O=#A0}8UoJS2auX*F%fyH) zI_s%p5dZ)n07*naR3=VP+UGpXu^WZ)HWn}wyR4QUe-|d_pPjy;HGb@MH^K6r?#*P6X6&@$v=ts z+H=i(+|Td1_KtU|yVo)?L->i>?T|L~2de?Fk_R=o%Fl0;g0bbi&qtVar{c$N#d3cR z)-DAu4q5C0aKWL=SA^)X-e9V{7h;8V%bD}5FW@8p@AYzb+psSbeR<;Rb3K>>_sI8e zlkvCL?=4Ja^MZd1r72{6qe96_1zFd|u}ISIOX>DE2)?X$r2PC3u=RIcCv{9V+vGjK z;Vv)>6yEEHMH!1bj9^OH{El$iSHvZtqDoUUgpSq zym;FmaGCN_6G34-dcg({(WN_~VZK^8%+E2rhIkq_@<;EwA;kExtURbulGacdJQJT8 z)uGd)4xu!tJTT;(&$<`&>5q_GpRme`>zm?jc09UeM;G)8*eG7Re+zTZm@mPm36O0! z_b|jaSOI0JpzGeHhv2)xD5QK5f++RP*iDWC;9_3l zbYA3XkSPK|^w`B4*Y)fB6{?2hfrr&obHgM!d9E|c1UazeCq6tVAk5r?*_j;j{?hGj zX~Qu~k4pX$6W1ohs0MZ;t8`#3s|C$HNM)6i)C+bMIOF131Y0T~_h41X_nfyUbL?Ht@nJ zYq28oWb@uY)^&eNp@}iS%GET@W<{a35;4x_Z}i^VB}FP??yhm%YpIH;8wX8|iWsgL zTE{hA#*syP{$_O<+X90I49XXd}$*_>bU`m~LgIo9Z_mn{f*r z6|$Kq==?#i3n6<&-9jVgCt;H^GQMlxBat7X=y}i&x2VnH+HS~A$Dkq_b_ec_e6gad z11a7J6q-%2nUU}EmeQPatjb_ghj^%t>I{^R>K$1kmhAQpQ*a-8mz8r;fY9Rz)Xa5! ze8)TEYu%(a+d0&_IxVKT503r(ay7Y40mBL4(~I8BM%{i*X`%7V&mm4)nR|Qd{@p4< zCgS+37>8J5kk1&s?9>i3jXA85ILln4%by^!-vr$oJOAzF*S8jceidtzs+gmgZ|cQ0 z#}K66^sW8uH6410Qu0`O8%*b1fDP_B^2D372*(7B&sxbgWDuc;a5ukD==8=Gxd8lL<~{do6$( z7Bl1g3_+l@s=fOKO-h#txa)!~DYyWec&_MD8JfMl5rRmznr+-Ug1DuK_-4PxDPya0 zaMIp`?iho0lwml>P;}b2SuYcTj<^ZC#(MVL`e=C?6}g9)`o1@^XTvb6I}$XJnTH zsbJJQM^PKeZ|>&&?K1cPVhkDW24j|)gIcC1VEkR)eKb%tDefaH)WQ{Sdte;Zv&emo z^{>0RUoRDis-#eV8Bo8s?cYjvdl4cW97&rCmUX19j;T+0+)7&RgKi&?Q_Kv(jqH2C zF~`^K4!OO&Jd$2hhCLL6j8z5jjJOqiqrM2tt54k5x?03%eE~>u?7Y{Q8vR{_Y2B6@ zRKEVK$7qCQ&dJs0ZeDJS#3L@%68TQ`RkM&PTqAJxQYfP>z>CrxmG2pFU`|_x_88l! zkc-nqtWPb;bMHq$|(>Z7~%gRw(Zv+-qGuI>atW>?AsSSxL9d zDFecU@-yTPBdtinEA`cXjU4SGX1dx;APnz?@;ng{5)e^ z(^@x6222kGuOLNsB9)VH^$g1i+}l`@-sZhEZirjV-%vyo)Expv=DZq5Gn~F*nQgvN zKIvoN`hr2)c=hG_YZ)mfW1mRrv9OdW1PhkCl$n~dwrW1w_FY2cfWSM(?DCv2PrU76 znJZ-aFbv0NxasyZ0>^>u!EA#NA5Piy^=rJo8``H$CvB+BnTaW5ha-RH{C_(h>aw z{X+I5%4{aI*#-&9j8QtaoJq475@>)l*X~p+HHL2ayXi%zO?l25P$*lUco?w-Z||L+ zI(S;omiR&w9g7zSQwnah-4;gKmu%zpHAq=^#;ZpGLgA@|)NP}D*!KXcnz-a-&p zn=R^gGX|(UJUry>Hc>BZaajh7uug)DROaqedB;@d>zN#Mwcj5VFq}Oj%eCuh$;it|}#{lzQ!!3dh z_ecdQ44h_PpB{(Gr%$F62$C2MB(;r1H*5IY4{K#Q6|r@H0&5H3*IMs)+|7Fvdm=X* z2Dzs~byV^m)eXc{!tZN^cx{e-z~Lgu%YYl>)lY$2@8ie{j)o6k@<{0k#m5XOz4B>!sqy!1^vieXUNp3t6pb!xqWRg`w? zrHl^Lj;wSfjmMzdN(|yuwjdtH3nxpKo0_gZ4G|D)S3vg_MSk00@W>y z`U&q{3VU!>&h#THC#mAQdCps*@DUAFGQ!5V#t zSG`a(+O_T*&645;C5G`{4N8Xp!^m>Q>+sSyUV8qUmZhH0w%QOifnSrv@_q&ANvpZ` zn!krUDaGLCCdpPEEx^B2vK6|PGdu8a8WS<}r1Hu@hS^Z`_?;R<>Sm)$2J{#Bu_JP- zjE(0d^?9OYh2WivJdhOU>7ASOl7I2|O+A(Oux8l?fu0Um?q;F5tRUypLWSePz)Hyr*EUF`GZJVd@x#QS)dBly}ck;<>v}{L> z0Laq0%1~{>+-QhkNHp8$7sPIPYB?0Ktt+gxmU=(z9EdNY1@Pt8Fz^Q^xhJvoE%Z?y z?gHVGq4hfYPLkfNUcNFte)y_*=@_3`5nmVx%?ElQp7%-=jS*$9Qs$s#mn`?q_G^Cn zX`=xp{Jx*xdnKoiVf9*nP-GOc+?RLW&r5NaC!gGhjQK`N!sFeya0Hj0GHB8UM+bDG zGCG=nB$R~FhA3|?)yT<6-4TBeVdDU&|AR15t6RU{{;?n!WqsboY&Qz!`mbNsG4HeNL)i`W zuSEx$H-1$u3>?u1i@{r+nO{<>5W0FVBK?q?83KR&+kMQj$#3uZd&xC5Fh}bTUgdb>Zp+Na(rmVw%RvEt3Opxp>_do2oJ1&~ z`Yy=#fkCOS2FMsFpxaKb7gu$S zV+&t@J-`bM3Z+_WykV?3hRkmrX-#}2m%uBx>we5*T$`*jv_3rajx-0t>$)EA<~#uv zmefVMGT%D1W;!JNF`-e6#zOP8hAt0p=>Us}N)cT(rRwY89G5xIR$s_Gia=Y*Z-_*h z1zxQxW%pKtffO%#?XunP9Hrvirm*7nG!YU|$@IptHO1u!#`U?sE0Auv6tlzaeHLFD zA|y!1&>kcz_4Vp4CMrCkr0es{?UFCgXDCJDrSM>LJ=-wu5GIzK_LrbjC98rvaeqed z33HE%ga9MU6<%p;wAteX802n+&w74UVF9QQMgUd73FJ?bnAvv7h04$?Roj7@CfIgd$&GZ29Y=MkQpI1NLAe5t=9!(L=xjz zW_Wud8+D$ScnS%ri+$f?m4=;Bj0Of{3p9qm&&Q~k=C)jq4-AVq7skprJ)`6*?x zsrFV{iRZocz;g>*O?H?hVq?l8;7Inwk*FS4CJ1jpS+sag_2$cIqC!{O&m~UO&C4Cd zbJHS16w0}UporipImi-}*1v2^!{&q$S56uO7w;_q#U+EU8z-&Sd4OdW^#$o4vB$wB!UP?{;0WrFG^UC_?s3O0yRn zV=VUrf#+t-yY$*N^|)e#{c6YW62gkFjUeC!-tEi_(k~n)4~0*JPcp zI5^&HN;_6#S(l}#g+G2R2^0!CiR3EZ;{YF@IW8Ao96akZS`)TDBVI$&$}hkRVvm?B zD8l&2zVl0G^r#tk?EPyuExWbCABb%2k9W!U%xm-$=v)y|nOquwjrK+=S;DQUdCo4z zO((kHrSlomQuWE-wdJ~XO<6|H*c}9HhOOJ9`Bf`U(R992BENTsxno-Num_(qc z>lfrC%IQWLYkU_1#1MbsQ$$$-#GE?ldUIR*$^(1FpZm>`%oZMPWpO>7hv!+5CI_MS zg_XvTvRiuEZk%Xc({BFS18@8f1uD(I6t#X=CBN^RwLp5!1*UR`t`qJf6K-a&cD&1) zIlW8>v|g7s`J8PvqrGTlW;fm#sL5Oc5JKD`Y*?#lK4s7;9AQnq$6~X|2aYI72W%|s zCZ1LEmnsIcB|a8yu~nfTC|GuH%WxCHHSyGURQ}@ovf)ilKQ$h|nuN~bEwQ#hBRk&> zyjmY{2tIo*^;gf+kUmS%H$KghJ^45>0!#oey_Q7_6ihs zx90kaR)Z7Nk%OB2&H)fIQM^)9j8V5Nc+H=YrWSP7FqCRfvs35LK~02J{&rbc5q&UB zDsTwS+G<@fp0ps2nH>*v?;J2OcN@QGyMUJP%!6-rU}dQJL6&<=rl&U<150Z1`)rxN zMEaTx%G_;)-FZ)@%55w5z|r-N-z|P>A9-0qoIw#JF3MJ@HA~f)UH5moqFb1$1#hrS zSnw@HZ<>A(*m}N&uMDHhC=q*S!hi24#{Fh$8UN_{&ljeg%GRVwUvQ#3@~Y2rV~B2g z*hltq#uylll3qbz3Y(4(?Qf;RS}*1|W0>(8{ZK|dmTq?on^_+e)Tmfa_o-ZKA#U_S;@WL_tWFA zZEQ4Lg8YaC-ZpN6-nS;NQJ%UD*Ks>9RO|t`E+k5yc3*|(vE^7$I}CZX%&PsQ+?Mo4 ze5S@>=smOIdnq}vU5(CthHTc-H&er5I5 z0EB}Io!{i&#p*^;9cwGwQ05~EPI5@IAmBuXSW?O0L_%40Z}S zSWtskN>_k!(~QrgWOHP1PZYqQ;^}Yh7T#Vr$Fu2}<9yBRJVkDlXdlD$yhWX_8+!(2 zX7!HNE(8z0IF*icIW~Y1S@L1Mo2S>jtBo_0&@O%o%XMHX`vo)RvIK{Q%3TWXD5cr# zx86txWy~>BJH)3Yo1nNu@%38My|i0<$?X$|Ubma+DR3dLO&xkqzW1`o10&iBDua6!lzBaF|Hht=6x1@&$N!NaRXHaO3Jb z+6}s1Wjv{!?_kkSqO%^ETf*0|`>a%Nfx$c9fdS7s|d;UIRK&^I7L(2`}CD0r#dH*EuG;GAXN)H+D zZ12K~{6<(%aiQ@1ViNfC?k`uv^_v&orEhrlJnYn=fz^S({`(E!R?~$WH(MIEu}#{0 z;HYR3J0nCKe&Lb9#GDHeKsL4&3oXoY*7w;=(|(Uo4?oJX^OQa(aib5Ws1PMta^^X7 zzs*{Dz)P^+(2{0mhF7L`+&4aR8*R4n>2b6JUCQt?USEn=xXu~0dOd4{LIe?JG3?kj zhLACO?l%X_RB!_uSKE^%-LVHfiqTWI=s`1P&Naq5+D3>ul)#(0xL(e8tA7I1(xPh; ze4%tM6&L)&{zr7A2bUj_g3hs{s&UjZrq<9EA-;J`@uOX7i5~ppk211=H|LIyO!2?Y z6TrrNwTu+$05q3|fQNME{U!37n`eIuISY5M>(3>=Rg3xa zSx91CUwa?Fw}LRi+hfc#9Bl>#F?;a4Ja}2=WlG8Zk;0^@qEAqpgGerjIoG561uO2# zaaYvEW@aUTjx^$d1=NPV?)6CUX70$DVQZ0u4*bp; zxz$4}otB#3kAi?!<@D%jQ0Q@CJ%n7}7o#D}M(zqFvJ1pO{z@3s`#`AsF$?qfd~gTZ zY=9VOyG6rs0)%X0@JtX{Nk6m;#{@ix zwl58i5=bq+e-o`@aO>Zx#rmRXO(<~rp3^Fd8=!K?!lUGHH?zY{$szN~n9>{_2R|+K zE!NyyAgE}6oYBUVOMOq3?--Y1o192Kml7lvP^XCvB^_eS z6aYD$nhvz5W5BC`M+_WbhL^b8*b#!uZ`_`DDdt7XOQ7zy!G5lVwYmU0Vf@;o(8E&{ zc4OWT-u#DRo5Jogzx_4?4PU;%Rp(ax1;GQ)U87G}d&Bqb$?D6M|K^NbMjJ^Nv^<3$ z#*3!Jpr3I0>O&0MKHp%@rC*;iJDA$ndlYC~ETuWLrpwLA(U%0nI=9HT!C56%Rhh%l zF^*MSq_AE(5X4ZK3h@l*=W76HZ?==iBmdUzV zHN3XkHPRnE7aXOA+_{-w{(W4^(9+_*Ry`;1 zI@Qfz$kA~g&qGgIfSSEjRwwk^g*kQ+@$zpEO`UX|Oi%hFfNAD_93y(LWS9bbOIsB}TWk zAm*Ds*dCek=$TstCL)W~f^a76V5rkuwH}vxW)sO zXHP|rwG}>9{={LrrdhgYKq?3r)*#zTgL91!e=62>Z2FY%JP?NT(awdNfu{TZ#%jYZ zZK-fJ+chp|Sq0C1!z7(QHRWt^8*HNl0El(}+2Vle`u?J`(S~Czf4Hj2ZFyg?KYzSo zYb$@2f1%GGG|`jN-lYPtOr{B&8lzPFc7+~ZM&S4|M4UeUGPg@o+@aF$r=R(dKm1?{Wc{d@mDR z3oB61ad$lfD6lI_L-dKaoVPK>oD7v6F79RwG_$?0#7d)3DnYN87Vk(o^>=;=LDbyJ zRvH7;3mt(^hBcZPYJ(uR-l^rH5L4~pRJKsHi6cy>ukn#X6&el5JZ;?SOCq)*Kw`D` zg%W9LpMiF^MeeA!Xoc=M@rJXQ5c^T7<9H%mPb6k($+rQy!rw<;cE6K*ltF!rX^$Hd z{KAY1ty?iqW5;LX&o$+s(dSOmmfc$%4WjW;C;FOYZtFl)AU}`a4T`5!oU8J zmy}MV$X3qt=j0LJ1vVYrn%v(%T{RP;5M}r6x8O)8pPB41W=)A)-73wp| zP4|u0SGsaSn+q-#&|K4Bi=zj4`x1%)Zw#d<21&~u+>-G_>3-xmdq4JJxVw!f$X(hd za4fu}ntO)H%Yqs*rg$=~Ze{cb0ddf9}dsj!GT$6XbEGr*?5o~-h$ zhcoIFeIoTJT(T^bAW|U4yPb`;XMB2FwaZ&l%Ta9#t4Tn!eYGCM)h}nc=rv@*2JKBP z1^1&DWid$WYDQ&j+KyNc4{@PZ54oy9q7!hw{(DthV`+oUGkj+#Vh|- zv&E3koydr(B52%S@ksfg!)67&3;E^ z?}`n(G+Z?JWI4DBj-b^Ubss1jw1%@Q05e06IzsjzDKB(tILxW|2c#u6r-AyJ&z1lH zAOJ~3K~z2=>+{_eCF`6EuY_O?txKJc7+Hi}6cO>)?|99!MJC8-&oT`gq6)wfed*)% zt~BwhDSw7Css7s{jZZp>SK3sB$LBMrI1BcaU>%#&B+TT6ZB8bA$xQYZHPpZ+6}e8k z_6Hg0sn6^aZl9R*V3y9A=pi#b>R1z>%(zT(Qh20OGntVNQaO;6#c3SnAvqm~THpW{^l_Fd3OeuASd9is5i08)kH z9LF{uRM=c_`b6S$-b~EW@qCxQ`+GFSYpc_~?{)A%8dM zhPl_r+_9@}0vJ=SDxvV4_P~p^qQwso8o+MNHxkh3c{gsQ8~rSSvuC}2bIDh%Yd4Qi zg<;gY*S+i+Zg>fo?&pZ9i5!k|-1`(lB?kUFtW>ce%rnCwcGusX`(jb7rw1OQP1bSa zK&OGKBC8dznOZXhdd+9a}Set^N(HGY(JUKoy_XUYK3ZN&2h?`{_HyHU;!}R8znBKkB zICRS8sLe%=O>lkZn<2#yUpM(Z-gQ?)iWl$>pUntbAG2clF-X*Y#t-4j81ZSienzg z6Avyh4le>9{>I(DcvtD=Rdm}zkL^TV@HU)YeZIOGvhQonQm)o>`MvCh>KhCCRY#EX z4IqlO27J?befl(hC@hpV)|_=|{jC|^4f^Lq4-ELG9Iwih<_AMqNG~CZgUSr9aL&S1mEBnCX^>1s0w2bxfl|53{5=$? zn_2#rFdQ2Wde6uTORN-D#qq!u3GAB(6k1`?H^AHx3>8|b&g7*b!kAra3oL~2Z#&bE zbG^RnPE;|E5A;6tsX!aJBY5GMH*E*u60{0~wos9Ok!F%R2<~EHN zf&4*>JyUaZN{-EADhQiS_P8skm`Z~fW*dyyR#`zCvY+zHh;_gaA~nS4#aV=uCjg(tnO0yg-fUn zj2CSYddxGzl0weZ7~9&P>dV?F3_GdFIr30cXE{;ckM(d&@cWqyVU8M9o^r8cV-M`l)}rh>!L*R3eL>gnmR&k-l4d;mmFwF^zv0}??vDOi<)OlfK@U?*oVyG z=624+rC%d>pc)N#3G{B$| zC9Y%Iv)8i1+5b1;Jvx)24>D4POwQZSZx!&0Vm!J3`rTftD{>Uei>RL?6W(~$+dwGv zZ)I-%Y(4Pt?WJ~So3C~!J1(fUczIC!`^MY&=-)aY6Tf3dNuRGs%<9qi2vh{1xfj1i zd!%NhyB$UF`OoUCT_4QT@Pw_EbK@HOv|i`@KwgdfB82p=*L{gxh+bNox-}XWpBV5lPSAb}sF9=>#fk2wE5-ML zT&(EuMWa0R*xBJk6TQh=*-#Vn>mLyCex_c=HMhi>TgYoq3(rF(%F^-J-S~}<=HV)~ z$nE-}1Kq9iS;r@Gz~lJTY1Js*`MyWqxu7DuJO#fZS-#fd#L?LgS+0zMf@vP}(^a;$bYBsXMBc&VYTkpso!YG^DO zeCbSm-8E7cAjIF=TfA{~F=?y2mk9 zES@yKM7JJvb6tb=md49u-*P2uG-rJB;Fn9{z;FVz>TfBc2P`WbPr0u1Y?3cv#Np`t zGq(qDVRS1sZoRtpDmMJCAit@j2WjTdvk@Vf<$$3o^+h!ezi@St&rd}{u>3(A)bp?y z)^dcqe`DtN_0>1T#DLKZd?ePX9(19~crdekiXxv_c?h=pt)4425^-(4mnyk3S zHPY?H_bGLrhR5nvSzu5B1;XZm9!u8HlMF>@yV*w0OTlBr`yy=awkTcd?`54Y*Q?Nr zP;St!J3j9C_56F;|6kXw0R9Mv^B;2XZ!PnR`>T(6@44MZNDGeDYLV**?5(d)*e+IU zLJnWXUFhdi@*yRf^BjUs$J#DGO7N9J?#l);cX$mrVb5z% zh<9ucD1`ftX0;s=hAQM`lqlDdQS)`UgrUajrI+*Bby6Gv?Y-LhF)TcuCs4#Ob;KMf zv14WdWlYKK>w6`A@ttEu&fGvIbFcnH6S$rt2chBKZ^*-*b9P)1sWH}}r2D!Udi|o2 zU~b6x%(abb|D0XP6yN(h%gXK$Rj6V&JR$maQIXl4C{?U$Wc}SsXebOima9AibK_Yu z{}ND3L5$4REf^IxHC_V7=p6G~w@$^xUzE1DqIhENGM*k?m{RO6(DeKsrAe77A%465 zjvA`$v+#C-9+e&y{rd7JsOH#T^(j51?~OSXZdd!9D!@GVLqn|0DA|Hmtx-`d=-suC zZ&$mvOQMg#Qiic?tXd9@)+^c_IS39$??a9w|0s)A{Rnz$RGQI7^QD4Bipa`$!P<&{ zV0!S0=X>knRewIFho`u~2TZu&ALsPRK70i$KIzD5BJ;M?kyF4iiV)pO69TIhwo5x> z`c$p-A3dXuxIWLlH5!!fgcq0&@$4|}bJ}LxA@}R@SfNX03iHo8q(zmXm+}PurIl9u z)3LIwK68l^*yuDmS14#jS$JT<-998TB*pawe*A#MR3R#%f8)o8uGMcN6W078?yb)LCbpsd59o$zrtoT+H*CA# zW~oEzSqb;yP`<|beAZGKg_CH!~lPsQUC9vv5c3(Zb> zVy3w?V~;pKhm4Pb0LZw5BkG30)04+UR>}KA&E$*=H)EoAG!A|FD1;D-wRM4Iyst2} za&5<`ibRIW{A7GSBbG2mKCO>G9~*QeS@ZW5)t)HNR_rB)+8oU4s7;nJSS>e-*EzBQ|LJs7}uVf3LE zr9gBU7ZX~I3jBV(#Hh;s*}^`v;B_@*t8N4LtU=@RLOR;|V(R}DJomj#3k1#k^Ur1j zMTjzf%YAt&^!>FZl}mDC8(yp1#}1d?g4Xq4Fuj(!hSwwXTs$xLlxpQvujj>j z%P5_YiJS_dAwJFn+0zUE*j(TC0apyqre;*;pflK~5rq5p3GO-12wAt+yRD*?bZreA z4yhXHUvR^H?IN@DufD{`wYu9zit%(iSxcCcj(|-ayK3;(ZItsK$JAvurzzXIJ?|2w zKIM#N_rtLHd`wRU?MTL~JI-=v5{U}vo34i(!20SZ-z9s=a;SgrR!bqb7mq<9i;z&b z89a6`6~39gqX7xWsjVgAc3&g-WLV!29ygzFITNFK2!@_16|BMEY>!W1MJhExkTuiX znH|Q7B%XbSkTofT%Q+$j3iaf zOEATG*o~uWNFoUJ-$&UUap9MT^m#DPyV(bfygyBrdFQ@Siboq#mJ0eo8$NL*8_Mi;LCsU~Rzx65iTJTrCQubR|DSfKT0-i9Tv?v&Lm@{P z4v5Jn8AE*_23ijFHvQ;$l}D{bhT?H2o}tabdR5?4Qy-Ej#4zy#t&;o(_q6Z_LCvQC zoj;@ZBe;7RW=3bz%WKbW5@vm&P@UU;p+T^;ub!4_l*>GODwax1dER`%5W{K3uGP^# zjt+2Ol9Mh{;*=S%g#`?jes){xZlZ|UJ8-QE$)!wO_xJanZ8u##8H!P&VpvyVL?gP* z0deep<}=dRplThhe!j1l5bWkI3Z5l>Ls!BgbZKIXdvIg%QMAC?^uMpT#@BUmr{P!- zyUzJzM8BhnWkbr|T=XYgKkf}$Q$cz6eN}hc2>w62Ui~v7tib-U?_1fwpa0U3ThrQK z&J(MGEv28}gGX2N1Sf=>p4?p4z1Qq{(W(p$iDumgl+{vDG!md&W|=J?`fwM>lDXpj zqM0FQ#>5I{`j0vqt($$awP5J<)w= ze;K{+pF+QK?8VG%d&GD-e3R6As0)mvq zI=x(`MthZ0h2^WMYNwCKoOIaD2%ga_sO1aN+)7!fq{cX@fN^B1QHf5-!bTFE3vR_5 z4oyZ^S#8~)px6erEAeR|aY{pxa?8J-S+tc~z$UiWJog=k3YQ~b^Y&$c^bxU;W60>c zWqCvg2bR$GJx)__^HW}LH3rL@nl-LyL5P{*6AN|L-0aHYE7^*LbiX9gB@pIMx9JYL z(%8_yU!;u8pecQs$q8(DEQPS^~uovN#^-0SEOU>GQs=Zb>09cNqQBuu~X?NW!m748f)bdAn8SOc2=_jOHv zR6Bmx<9gpFw1=?M2;7$*#ZbC{{==1w5bMq@!sqAipFjSh>+fpt+bG}nHAm(K=6m&L z=$H!bPfdJRNGc?CK75sN_wmkbz;tuk6lxbR5m);!9{R1_-sYvx=0u+HyFF|VF*8Ez zW2hSz<^B3sGpALcF6V+;X>DV5^C^b~|C$6m>MS~a8dG={J?4gMpo7Lfq7l86D~2T| z>hq;99}Nl`)!GoFV!eVE32u`cNM(H-tb0$gJI4nYa~fPVr$d=<-cZHw{&@Gm6nnZJ zvWUcLxr6}O7)(1j_xakrhR~pwx*TBm`l`m$MWdsRO-JvWz;TdgjsY(ex!M7g%c{aV zg?+Rq9ZzG(%;V8RCaIhO;$+b4@;xRetwL$in0__@g4A2r%v~_JS8xl;I}}g%gj{{b zR;+i}D8@Y><&jYM?BUU+njvq2@w-`or2(@^Z-dbOaH&lAwP*M5&;D>xR{bSRS?AyO za?{6r{0AkbLh8T09#;HSgvEs3E@=o#^I2{;WO4PR>*2Q{b~P{riu3aUKLppWLv*m8 z>4EXRl&f6zm@m%}O&3kZAfc5<`cLf3$ zbQxOT@`g|H@|mz_tMOgvIva9TEN-WTc`E8w!#E>8k<|lOedH1_Iw2~SQ!2a#S%2iS zzNZcYJhp``?>m)LwqRD<$du*~;#NPs*J~Q*xDTriDqR$z*vS&-@Kei4E)zr?4cn?U zo68S5m_#OWDtJ`@{pq&z3wjKhtz8YZ6_XRi*Md5~cOma%7H!UTV`75H?H&#A9D`RZ30y@n9bAtOm<%wEH%C~r}-AOxj_5_~<1t?aes#fBk|hq$%{Ti4b3 zjYDcx#8%wiYMysI^L*GB}W{?0(3S%`R9=ek9p>S=RV<=rqbENhZ z(qr#T_gbH&3XB3c5t8->SH3r%5 zp#K*xg{8V`eiq{n9Sy8~(H;7`E&IE?_CMQ*eWUs2mv*KQ5#=@n!k@2(;rBZK)+_(7 zt}p#GZ-7>#?dWgy`Tc!tZme=|-HuL#GFDT)T@UykEcL1@4;{C`+Pgw%5;<9|f@2TDZavY3gSr+6`ql@Vb;7ilQ$a`q4;(^k2%_ zB5L=TtTFG4f{^hCTjGakOlR-|5GO`EFF; zc(YIGG|6K)X7V;Pb9z{VaLO9hBp`JEu@0r+$ko)JK}GJ8woY|hrgezU!1-_qLWuE! zWPB$^3syot)vqeBxrPHYI*^4wAt*3GGm}Z1fKx}wr%I3Nz4%ld<7 z-sNWf0iX1(Hs$jwg2245#>4<_Avo3<19*)k3*4B%R)dJ%(Ri!fKBSDiC#4 zk?-<;Aw*?Nms*1V(bQKj`ibx_itE9!&0k;IU)BEJRJdXKH<5sM3pXByLjFR8u5=_i{P`$$6f&{s$#Z>X( z0eI58+GsoXof+2tS-%RWXD;3{a->w@#Ao0{fLvpXJXe*>^D4iqR!C~EW>{P@$9pXCnR0GKdEl`V7U@>+ zmsabu4NA&R52}L7-hr7G#z1oEzZm#vhqTI~T}+Y_se%!YAsag3Mh~*52zg4P=_%j8 z_viR4psC}{$A4yZk3^PGbP(fKRU>+$%MT)KL{_P_VI8LLB@rYbVg^uhge+w2&Foc! z;j4a6`@o%gFk1+_b!KYZ{VTp9;IK?Gc9ps$$O+W9_x_U9a{mHx@(Mf(EhmirsIL`c z*LwE2ufI{Qzm<6s^)H3~y)s|(^PGuI7k}ICVCGr*?;81XJ!k1ZsId?Srq|1x-)8L^ z-x!uZLhM^{Icb(_!0hV9f8F|?nY)gDzm4B9w-nCx=K`k4t=UrdY26-XDHrQ)W~gOdmNW>46SV12x;p{mSt+b6$&-efE{L{12-As?R$eb>i!P9 zDk^kNJ{57G(r?4c3m`-*p#QMTX+%?Ap*g=_cGpjY6NLl`$NcMocz@-3O_-UVd`CLz zYS85k94sRrEiMrEH@j$>me_lgOA&@ia@tbXQm+|7!>VFc;$JZG9_O~KG^Xg2Hul)3 z>I8i?leEGw_(ka4FIjn99 zdQ#f!_II-DSDg7hvsV!{dacRg36abA#Dh{kpN_-}uhZ)thO_{wHUJIuCD8rRXP1}y zE@!QZtcIe$SX58zLc4Hial)x|E;r0zL2Tx!Y`852D4mbPU^mf~O zDLP{vy-mRvge-+R57IHSJZiS@o7cJb%1)Cka{wV`q0XNiEt_7X=ms;}OQ3(cTEcVE zpK@jw`~7(+aj1&xuU9zKujib_>HCdh{R^RPVTiP95K>lnUc?V1J_hePhV2V?8F=08 z={no>Mcf+Fax%lbGVug0`V%xTvU7EeJJp2%O~K{m()xw{_%oB|6N<|Yis9% zk#jA7P-`&_v6oLSpkTncb}mb}g%i>K#Lpajx6wp-r{)93ofVtJOXc`TPE$teMqdMz z4hP=;EQ+<Amh)Tg_-fyp;XM)<)Z7%FgO@Bw4(t_^Lp}Ipq^ehl?weqH|m<2yUbe|Eb1g6D&P$g zmi+KZxf#*N7F)xkGT5<4Y@w9~A(UV?+)8L^ZfzfB#w$^`(tkWNGhZ^LG$u&uPt3CQ zmdL&~kh}%&D|(E6Qj2<+oQ_Dub<3)pIfi;GDTKidB{-t{lnw_Rp?=$M#yC4Ennm@&Fk?=D(q6wVxq^d_BA8&Ff&ai92&HSkS zO?Y&*ouTPseq||+wmjn;)-R@y&PRZT^7aP$YaGQ@dqwDu0vL zr&6bRf3v0gH8C5qYsfb#(|82fYu*pDuqVp$W{yVa22(rmIM~-4{!Th@GYjUPXPY;9 zgUGShcfYU=28|{INO+|Y#UCE??1nYwEpj{azm;asU6wm`_=1?bccc89 z@U^OY838Dt)fK8+(5vF#OphnSsHnD2fGOV>mkPiPLuoH&1eYQjz_lx=^-19UDu!jC zjCZYT%wcv#Bt?%$F9?wDie~LMxCXNgzqO_xZktxV^+O>f>eMkn9afLpgtnJ{{g7`;XiV$2(4OEx%+ zZY}qPQBe;D2kKO-9<8NX{sDMZvUSMXcs{T-m9&{P0`%F`byJ=iXtvic#&7~}@Qc}r z(}r;A7uB(LAhuP6oSAb)@4w2-ww6iclGHA$-&K9uWn46DTM74n7>$PFLGOv9?}A@V z1++DpQ|`Hrss3JGxQl95Aul5A6D=5rb+{liJ_&xRSZ%eTM#v2l$?fHJ=MO6C2RTgx zNevOD%?I?@TiSQCg?MzKT}{~TG9nM>{U+Nnt|58_)^~c{q_~N`fY2h z&z-YuA$M#VvFz>z2ZfP4`#jGn+XlpA;HON2>wV&l_hRGFAD4y*GPsdjSgN+?n7 zj`X!yW#Gn+pj+7w<9D#BL-cB-2p%rp0K9vxf4)PEhA7L`F+4-KVEN+p(Y6R*RBQ32dv?G1nAkvf>II}Wk@I9O;kkk zEqcegr#W{Mec9{zD=2XtnYS(rt97$Q%)WogK!?V~|?n56Q6rB%P(XB&i@EZrx zBu~3$W{tT5!#N*Y|j`VI)&ppbh~BaN$&&}Ri-^rfT@C@bjlW^FVfYP^6FG4_$l}g zrH_-4*j9nJR%L+4o#83IC`$Kh0`aN4h`^6$mp=83X~*Hrp#KD639|tExkuM~ z$lkfUh&<|*va-VgFfV7t`wh%&PsXA&Dy;3Wk7LWV-o)^P4FGuiW5Pr=sBy0v@t4w_2=L2eVWp9Nmb?=RULsZ{9jU zNxDT?IKYQJ&DoQ@&Yz?EsUXL^ne-zc*#?-!VVjP=Qsj`3yW7$hFGBFza>t~>$pH;M z@+%qkjAL-fS4dLaBKEBH(P2TI3>`3$di8dZE`b-~MV>yR5%mq&<2Z0;R~r|H^mHcN z{3J2XuRYCjcDheW#;a z9mC81bY!eH)9Ms6p7gxinVqNY$T6ZAXCFp-v7ZMSur+MdR2KQ_QWN>8KgssmaI_g#!ecP3o&Gp2xOcxvgn+9fRbbJNU2A2Ho+FHL~Z?ZWx;Q!~kmw$78Z`Vx+`2Jb?OqY^=X<`LJb}`r{ zQ^(9s`ZfhwnW{TcXX4tPt|b<^-`wzJKQMKP;bM~B)rjc#9i{e5(#1|E_}}D%z7=a7 z6_vKaMxi%z!z^0N=VDsSVpV|B(YSTTpap8L{qqIj2ej>H&tq;mMh>1Njj8O%!|`HU z3@^mdUQfR8qqBD8-JS~662SckFEw&w4Qht(X#f`)Ss4`&Q0{rx>h8{aI=fsSW8h9- z6a#v$sC^H9O&>?4R8~0-MJmaoDdY=VLhMMvKnKvLMBXV*a5tN<^Jf03n}8stH{zmg z=e5dUv=LAsJvGmXsgfKyH|NXAPri0PnoduCUT9t;J!oNlsIquYabBM=_0=Kylr)Z; zAM?qa=RaI$HS+rxTBm4lHu{reBEbK(v>&evUuqcZF{Tl zI62(pT`{ENcgdcMz5!gRw~z9uUvYP&sC%bjP}c_FIrIX_qMc>&X$KVOBotsUC5jtM z8#j(fU7QsS?%0poCU5_{%h@Bx&+|w5-GFEq0%wQjdd-nf=Ad>TB>js{qFd`;KI*@y zP`_=>r5Vbmw=8xe*HAu&;eC_F3U=xf0A4Hq1Hh-DOmY&u=DJT;=J;O2(V3r(vTOrj zVK(#CSRT*^fG$V-1cuegLKf+r+(rvbSx>9JQNaM1-S#Rb%`+ z`H#!@l;xp&-7DQ9Pp`8f)9>HexeCi+`su)x-krnl7N$e=S-en>c4J`i^8586iPHB0IcKI9F#iPNvy8X2*ZifkXX-ew(%=RD#msTiaIh>|E2Bmw+x7O{F? zy8+bCZL&ngd5?yfkq{+|~ zvo}V4PT&ps_a=QK3C+6fdcBRi%rs|;3*ofhE^;^q*Xn0yGa_N6!kZ<*}UQa!;HsaGJ4;oG@LZw`2N0y-H^&ZJ%dKJc* z0vvb;iMkBnwY^Fz!`C4XcQYJ!>iIGj&RVvVzzudW9SeWFfj9Y?LEN#xjYR_BWLurK zji*|}j80BVzH5&@=xWxq1HNmuJYitx=pI1M*i^u?WhQ`roo}IMrE+J$Tgt%zi#h?k zUP%(XX?VN&?qPc;CE7WCw82y5fX1+l;wrRn-m6cHhzs6iVL3mf5}GG4>ifkf-rVhW z3vmu)pQlNiOM8gCqSHA&?^FcsPGDGaykC5h)6K|>YY@p%3S_@Nc<196$YLaAM*VO4 zRDCg~GqNu@r!n%N+*yvMd9SmK&wGO6w;hdX*j_TeJ-adSLpeWU<0lhdhHYt#cO_cWfY#&hLk&73@>_IX4w(T6-+JNfR8=U@ zjWCiyf(L?|a9t_crScFrxaFai2DWpdTr(KyTQFkE3A^JfM6y zZI6KL@l$r#>PHTanb8)qDz8mQOQ33#J4MNGVwODD{3x|Z9K9{9ht~IRwbWsj(fQf; zPLR3lR&QHTN1*Q<8dMm0l;|p#$R5>3K*t9xARn&(^jzrfd} z>JPp0wuVA=>ME!Ir%OcPw+CmAyVG#_?fmz}9&z?y8L$-I#$x8Bp#3Rr+iHwhzUw;D z9hu*VLf{c`WBt+x@*ni!AbPH3(M^h8+lej<^$$^~YjbK{!G54o!tAd%`8}3D0KoZY=vqQ0I-((_^xDBnF z9sKd7L+)2YlZ{N?k$8Sm&qMiS$&q-iq$8Bq3-EP#Z1eTdoQP7)9ST4D>Ae_&;D*xkypK93^YEx8+oQ92VN(zd01RZk_+%FP>WaUc^W-y=BuL_n%*6Sf*N(EjmLUIW%cH zzohT1j)z|{0RZ-P?2G~p#~9$PL&26|`V2ZtqYENSv7y8#h-Gj)>Z0+M0+z1F`+$^> z0h81-oC<#)^W6LWwVf-$FwmbAZp!eJQXz1bsf|oHU(Uiq?q{7nz*@p{v*{6ZhoJ%4 zVXWB!dNaw*+n8$xkvxAtc%Q@cfYDCLzp29v><;=h56Zb8NRt10Q|v~sDfI@paIM7; zilQ7qmW>a-b~HOY?g7{;mr3(VXS|>Cs(Ani=j{GflxqFd7n_6AAo0bdySu!jWYl81 zlrHZqb}AJ0F1CpbUV~NK_K8c{Zy-Q&XUzK*|1MyyrsW$1P2jzi^y!(|*-q4UvZs?Y z;4sEi;?*d<-2ZsJI13-WGaa3iQof`4s7Nz>7~wogB7SQ+FRJ%iMbWo1KhYT=1jhYL z-u-F-F*HB0CCaSr31#$_U(r1qH$n3j!DA23!CGNwm@TW7=+3$X-pai2)U#8XQw1v+ z8`G*&Ho?;h43bnPwvE*Sx*2i3w$V&ztqVa3)TC=xo|c(FUPXtdGs+u5N54{Ie!M2I z^8??en3b48T1Eg^@zGfFSm)adXvciN4Dk|3)7?~EN2v+0`y68#mKv%!&MLVN*P!tY zea=%9-J04d+-h%J(Wnb2m5W^uzlA4RzIW*1<*R$c^MQ?AMZ5N3B84jBp~XXXF_Yx) zC5}UZ?x+ffD4fwbz9_guzxEb4U0|p4;&;u~gJnjixu#d}x^&?)5B@?t)7HME|6J;) zn!Y`|S(JUhq#=rbI&dHBh!<)5HTC#@0SPAKpMcqqUk#{QcN{4{U7cF{6B(ZpMclGk zkwNyP*516xPaW4rbG)%IY}(hUpm7R)MzZs{o62ka7Ai4RK1UBghPQ2mt>$GrVp`oU zTW7azLOVL$J^=4>sdHcr*th3pz({7pQR|zxYsenoc{)L!x9qNbxbKJ@K)+T_eT@7@ zFK5}Hj@90tXYCRrt_4x)Dq46=JB6K&yHoID7*pJ3V4BP~1 zqchaKkov1AwsDXdIU1gHyVN&NIS&GUmX8|JDzj(}>KHBS6Y99DBh~2e7N@)}hO@Q+ z2DfV0L>!IGr=!wfkEnsl8T!sTt^4o2%Hp*U%IjG~B%yFaMz#W|WjhX%LK}Krb4-?pP6y+#}f6jEbcDmMi-t*(jOC6VTMsN9= z{$BCro;;g4``b}odFBVdP4{yT=%T09Q`>a#@ z#6!;kKMVpH68^V;x-{)dx_7gTT`fxE3pz``%gNs>(-HF3!aLa&MV7@0st?Pog?{R1(Ee z=Klm@l}$(7#dUafWs25FgjQUmo$h!|89c^YY)|5nB z_|jV*RXB$Bt?VB_eBZ+MWOgWA8^Uu7uvx2?uuFMgz*^{enIlFTO6%q#+ncxjY9!puWE&U&WfsH> zle(T`KIfxRd+YT*th!=djfeb2XA4k#mfKs~PJ|Os3UW8Z(1bQ!x)!7 zA)YDg_KESNDl(<{!qTSfgEgOZU5YvLe?aVMGXD)n{sH*Hteue0`8vyKoIXz5W$~Kg zOI^3o4*q@!_wx1T7#r>w9^_R%Eja`J{>|~)+02+(5*2teuyNs_hALJLB=>aE4zyI3rvaDyGXnr|3#V+j^ zktetLVRKb4E_BS|8x*|682g`T%5->^UGpp!Ytic=<-$d$e0&yd&ydK1$QJXIjtpM7%YFM}3 z3Nxd#BpAGfzaC={HV(k#Z>MFKbi@bC@eN+)V!Mb#6!*Hm0QCW?Z;9je=ZEX99e%9$ zc*N~D4EHbj#qqWTcWUE7hqU3%c^-ETXCfN(Ke`R1YuZ0apGTkMZ|s22bvK_u=%NK= zPnnSYQn2%lXvbW0^fZwp3cW?NV>mx9?HNYSt5fuT>rcnlt8pq@jx6rBs1UECavCzn z=V&uH7ccr&$EO|+5;-p^m*XTml<_>3uF{*49EYB^Epo#`t=Ylar0PY$EsOe^p(5h? ze1eht+=o8ABMk2bz4kOIYej0bulink4<2c(cdq$qqu zc1oyBF7KGjzY&=9^~!BGDQG4(UOLxc&f~;k(NjGhwiY`XeUAGaTE6@+liF_Xl3FvI zR%Zs1TE?IQ7V|!rt;Vi8gvrmVbZ~5L(>>_8a0f%CdG7#r_Bl2LM74ms+%=gmpWx@3NB)nlyMG;dJ4 zU$1YhzU5(^ymfNY^$B*LhM*72a0`rH`li$kbH(2!2~9En;h-UdC>qvp4{07_H7O>- zL=@x@6k~U~kAr^P&HvE0x7f$Y%It00^iL!)g(1jOoeD+Zl;0(BQ)o%^>kWxBJlS(qt|@oA&@UVuu8r?Ql8B|9R*Zo z79O=7jhzoZqg~H8rWfXd_iPmL_{Mca@5$RDAvp05P~YE|@N?F3=^}@#*|Lb_yBwSk zwrh^-6nGGT^T(;WFthNbqfkX}*Bz7|e`$8+)zG(LAKRKv`#iow<6DQitJSSx=WoDb zA7yu=;U`bvl4i>J73hzL-{@w&%I`Cj<;&^zPZ8>+Zu$~tW-_(or(EBvdGnz9xA8jC!Hfg)$V~|zkyiFHjL{pQGF|9y99(B5| zuVR`?j2R{R%iimK>r10?p)XNxPd((w0jvG59vPB7eyMAaI2OAVfZxickrG+)J{%Z! z4TRR{kM`0&OMJXg>SbZMH0_#nDkqqHud*Y zI?eP$hL6bolJ;NdxLCwn2wd4*KN4dA5 z?zhK>TAh8nR&v|y`;_k{9ws-VUz8K;l>JUS0h|LCDib4hGvb};-S>OP0nT{FeV72M z`gVb0_SI~LdRIqbd!7mkkenEU_qxBS4@Oq!P<#;qOY!Am{Yjon91QUJ{CMB_OL68n zABD=kI5Ce94H+fSFkrz$-a6&gFw+=c{fmpj_=}LxX!H)RqKS?7slPomQFGpPpo`n% zG&kbCrL4-&d@B-?XntNCmT?v*5ATa&S7n348bU!s&yF)hmR6$pC-0d@2=HjpkBfVB zuVdW1*%=sJuCuZ4&p%{0Gm~KyO0oNk8oYlQnfRw+>QNx;;;idBe|`n3 z^G=;74(z$6!xNfrxEr>kE}f3Dcj1`ou4X{TK+y4tIo3HS+KpBho^RLOuiX#2Y`@jx zq(V*(c7V%mD}(be={)twjZ;C6A4I?M3O@ZJb#@}aFY!oBoHF=ym0cTk(f4_T`kU>I z`TQCXZ~m_*#qEcEX74V8<`ZDX9gD@#u%jY)73IZu8c|#lIO=$wXTN6k7z%>dM{l`7 z{-E-}YSIUfu4kR`X!9t*WnjHUET^_*eQiie3tMs3*CDx4U5F5oHlpeTk7bh!tadp9 za!PsC!f=0%pls)B4G*z~$>G6|GV6!4BGGU^wY9K4?-|(>^0GBckRdpYIP`NmScPX5;6I>{Q7`d*Qo54?#u80_H~qBN=&z=k@`v$$#U>LTl&aRhW~R# z-$n*1P0V|*X!rs59jQl&#J`fzRp26adR*=hNn6rNg-bi zdB(>(l8b1tE9R}Xkyj*6#f4kFk9}wL8hY>1hV;Zd`E=iVGDFj_F=sbm;d?nWcKmMs zd@LYzeVkf=)AIb(sv}D?hi!DxbQ=`6>zZb0Xyumu{X5p7%I&z%K`FKMwGMwn( z7c*(#0@DzdX}P0J<57NKKbT^&fnzV z^AuAbreand=wdpmP}n-7;ABLHC(I#Pg3bW)h{)GR#mbQ8001BWNkl6w=q36jf<|MCr-7XfxE2Ov^~VaB0D`s0eSj+H@yDrdBHM{z@81#qp5rj?9D8Uz zDno+-+ZS}U&FA)Y{l+8F%iiL~Zm)h`WRh^sk%-X_^rfR)I2uqw5aeV)vs6UVD1)MV zL;};qocB&g>my(^89V)Guj#nS{c(HooOX1&MLnX{UJUFzup-X7!HMjrN17K)K0!U$ zkY5bVm0LocPu*2UR=#xXxTFdC{Ok3e_Xm)v;m`T<4oW+8#LT)GMJ_MYk7Ij3$@12e zr-L|&QX3=tjbG}S#h~BK9NqVBg|TJod+)>NZBP`vqiw}?#N{pxQl8?>ihfftpomA1()X39&$_wB6(9l#(!=w}%cd2;7q zhX{?9^z29K3HI=GC+4}3g_jZ_Es-REUkI*a4rToExqC{kl!S-BI;y;>jN?=~_As+f z-Y=;^z-&Yik5lZt6gN11Wjjqs*9_+d=k9Y;MafTv!Em6Ka4NZi!D(|MMZx=kV|$BL zPj&FXchb+en#0q{f5VRB%SkWi2Sv|^w=L;k=KvJfrPDmjJAN|wA9M`6YiXxu zRWj%MaB(-($QA%KhL1b{zP4Z6VYW5y&#{M}8R$dE?8KC`_j0Nm^FaO3 zDG!e{OjSK{(`+X7`i^nl}8AIt@0HDn=Y=4MoTQBx2N#%b2xeCr18aa1UB`{cd5mH_lzfILnZ~GhrKZP9sIdCD#wb zaI;7KXV>R4x=XUrkw4cG`Qed{WN|*7PABKNJ{jeHNFx^Ug=_T5;PTG)IqsHG?7w=l z2Ak=axvLC4Ax))ps6^TV*;#Yd8?x!co^j8!@z)8dV=W1S0I0>);drzT%T!~wJw|IW zD#CplE1b-%hw|~1uxa*@*L~p=88wsYHr=kM+{f?HhSQZ2jHtdd3cl3Y0l<)-&6erE zhXca<(A$C7mF>k3>am^uIvHf*z%y4IEPzzj;xi2MI`<)v*$KG$hhH9M&!c;dBUT*_ z&>Qq=NZRR8pL8g?f9}o@X0pS(ydAeOoCxh~>(anGI`EKD-3C1X{X-lu7|MUkQcFe0 z#Lzec3qb5V)~CPg?^fti=V3=;F*uS^PWyTcA7??Cxa%xOk8QtFWZ z&LZ(%rGK!=1|Gxtut_X8@3lK}*v*WfgEc;Q(~%6zGhaBwiz;gxVTCZN@Fu%aw)t4D zO+((?+>E_?U2Iy}L(<*ZraZDWKwJ9NZJL08UTB;bWJYu7$gn|gdUPnZWjF}s^ej&Y zXlPD|26e@U7OMS$24LRcT_8=Q)ILW%D-X4ukD7Cz!@T)gRqlJ{u@~7T;jyqJE-go+ zPmX+#gA$;?RbGDc0i`Je+*@`(ny?KSt#k)CL8{r=7Ri()TXJLyj+0F?(kum2|fGtQ(ZZW0~W|YpnwXyHccpBii@ZE+|=(+O2x8j=c0Jlqp z--h9vi`x_a{B}(T?N;jTN8Em2fAr1iF!kTJg3fxrU16gypQWkX%Z}VCdFdZJ!*N%3 zk9gM+^pBv^!GdIU8Rgk|T-y@;lbneaA!o1mbRQ9@-kn(_Z-}rts=V2X z;+*X7MP73>RqCWZH09#++;h-eHrolK{P=y)@g6g7h>aKH=+`8$1aDi zjv7EWF?7VMfXF3txno-!^dWdHgrZqU38PGT9bpW9Gk+{<&yz0ZuOo*v-s?<%H^mg; z<(Ikg7;=((7sD0f%N#OggLK^e0iYPzS&hGS_Fpauz~9o?2l?B0ctPr$0e`K?RAy(3 z=+EEER*h`i8t9mp`i<5Dp{^G?Ozp!_H4IzbYwZx{u_A%#44cug<_UP$(HvHiDK|1e z&tSfu4|)-Yz;43mrsGgS^Po-M22Fl~I}Y6H75oQzEVo$tEN%0B4TMt~!l)S?<65gQ zeqgx}Bo5TpU)gFhF%D>jP|1&N20oosyk^UEG!}&u4Ft&%b8-Xj8YBEhJ854dr1+ zgF$gPG5`c9Rp}`K{n>cYZ;y+6y3NZN34mN@X})E|(<#36w%9G^uBlD)x__ zUsOo|N-8|d`gGlZ{TmqH%lSRuH34_+IGm6?{GA6!s*L33<{SWm;7OP@B99Rc6rQ`c3$Y#`QKI+_bAYL9BzauSci@s zh&!4U)(fDr-B}-Rwwb3civO~A7Xv!($M|vuF1bMzNxh%j>V5#o@1I|;rtI`H_aA2<0vb(ip!v3OG8NhM`K4`mH2Jsy zG#zCqePo;DB`i{aMry7~4|;f;`CmMLHK7LlmYr(AO4~mRtgIE6frI&HhluahzWZTx<(rgE zsK$0aWQk$Z#^{_z?b6 zbu;koh zHFW`x-xkw}F3m@`9?EjizG1HSFxOrVZ7TJBy~|BLBPikPZ3x#`2eNO#?x9na&A*UA zg#?agaL68L={qd%HWPd3iA#i=Mt?Mzs(iUw{FBH{@jyI zboiLZC?_ED*NqgY2!)c|PH?>n=Xk)%-?z#1 zi?K%~ON;Ug(3#P}E}PhW0Pqb|Xe6fU%Vl_^ylte0so}+ipeK!P*$wORH|P&aLPT1; z1Pqa}0j1w$lqSHO29S(mycp?FBNR639i1!ab3TI*dIj@zvikC>Y2ea7Uq`-KNb(pZ zyB3PfKT`iWiWo9@tLiJQnL%HA#4?D>JyZN7nu8NkE?vQm`vFC`QT9eLwfEWE_pYKi z2}xacy(QW2WTeir9pK-?JBgJizE$6#K7|q2(s6n>cV6p8RCL+Q=UkI>MBVWob=SMo zE2GkJA4aC{&m%z{?DR><+249({-ykxnBEM>!~8Q3@Ii+D=V(Hu;Y=oJp<7QAJ5EFM zVJgz|m~+zXsW2whyajoR?c z`m)G5uhTlqK2qahbB=JktlFL@mOezM__~2WYs5K3*+x8Qzj~D86@80rQB=PEBMG!$ zAQu@trK{D03!c2Z4zEV%I8xLw)@#<+YtnZ-#9ue!c|5yB8~x~%k6wzVC6%Bm@cmz+ z^S20_^goENvU5Y{c(jL$y%c@WbsIhTbX~V`=H+ml3Dwm)k&6q)1T^BXHEC=rkGmD{ z2Fs*wnA&+R%3OdJcAV|2;?t#&ET^kPoy`mEBl5yItTs9*~c3msBc+##+6ka86G zv!bBB?zoZ94$la~6G3{(#<`xsqfxVpq1>#tR;7c!8H?6;a#~nXoSdA8qH<9m zATryGPGhjB2vDa758O}Q6WWoVqDAH-By*lsFFHY)q}*tkwGidCt2bkH7(nPWMJdR~ z-hZIJU?Z0L$M%P!Z?fYTy0~m*S1@A8a+m!!6t29o1EXKwuNy$1Jq}uKj)0VP|9ng| z>!uCF<)|Vl^p|Dz1%`b> zFYH}^bD2)T&VA54g3_zo(cO8g8-ttO9f&I#p5-S`)fX6S2f41_LHl%EZq{Fb+Dmu#=T*Bmo6G3W~I z!E~B_7hBlCh+t*mAr)QYI5~>Y_Vm829cV^&7Idav;=>eY9vOZh+)Xbolhctr;Wc=B>t721wzdhM+*TtVgTFmgL>;5imGTUd@=FUPWZN7=hKzJD zNKhnlM4-{epQH3)59D9na~fx=1!ryzffKLzT%4lAIK6y1BH@E37&0pv#CY%?smI_g z#y7hVZX@dJDX5dj^G1*n`1qOGOI?+prW5Ua@84+C3Fco(=9)sEQ?EVx)0_F#=$wgr z$rqd_j(eIb)BTg@)Fn%aVD6ynrbn03rd;sMP5Pi2nW%LXl;^VVM7o0nb#KbCz1OaR z2GPR-Lg-xk4EPSI5WKJ*3!{;>aqUB8G_y-NUg;9dTS44;CQ)#vf}Ox`rn>`DzIP|E zosyv6HoqH*sTqO7?dgyh?Ky|)dC0wLrSD2WOB$xzp9Ch;$mA_ro%TIdWy4$n&J2-N zf%_TF8zACj9z#9z@sA!tv%6-_>-RoQ`5cgw(Iuc(rNql zna7)6G-lIK1u*cVLgAa9I}!TQP#xj6JUUizHFyJDkI{e*_sonJ+#!3Eqq6xVnN|^D z=3#OkjaOoFI{JIdxiznBD1bRSPYC@gGKtEk0j>rnU>F8(Ro{TVbGhV&bCJOkwV9)y z&5otqf4{WVg6^@rK9`7f90OYJe9@1atZ}WE2i4RhQxnQLOXyE~87*j4KJq|MZV`Ar z=NibVkt|L4$qeyxmQMv}SGru&W|H2$)#ZE-BYXsC)BJNb8OBtq`4y=KTQ|uh`yxZ| zj)Q7klG}4LSV%G3n(K%ImpXMZ+s|RAS4f>r<8)l_rj#;9l~4I*aE?baSfA0nrfXY| z^64yhUA>)7R(3q6GQAaj2*DpuZ>|gBg#icmsWe3puTW1z?-=B(b~}|Dj~eLWJS@g3 z)z+9zZ(Ya1~D*_jTav#PI z<3)#EPdjT;aw&$6C^TISs;gvLTkPO`3?pN)xA1wSu0`yVE+s9&PBf6zec$aWhvpcf z)_qUr&`a7;0AnPF`yw?&us7o|p+yb7reRZk8eReG>Vu;)^E(}q=KE*fk*puCj^=05 z7vQ8H3g&Odxa-m1FZ9e&m8wfhu~GY5VdpJ;D0tzgN14I3-dgZdN4($XAHtuabvgP` z8TA-%@Ny1$^XrUR*ld~TEta1GgJnG}D|JxW0;D-*`=@aR0arxYQCThj?D83fYp=2r z)WhtGZ5qm7SRugddfnW8?tVP4#5;B*u%*q@eolJ{-(oso$0g1z%yDB{o)p)>Glw4b z@2KBSN9UeX0CeaHdp*Xrclrj!5RlGBkA6?Ov;>!E)df7k4bDZS>rPb%jd(w|$9k1! zD$;XP#-me4mP2RxPK3_N6yRI1q@rppP~XMMxwWi&FS-x0il zD>qw3?J7?LMty975&JUCQ#6g!S-`!btyGdAgV+-gO5-BnDAk7WS$Uj)E5wCaul${6 zmdPQW3ap~J#J>S!RvmVldn)wCchRT3F~9%GM|ipwZZ^Omnh&MIZaO>bn4=CeO&=OK zD(E>7cV7yY$ibA>xx;Do3PpsgI*O&gck6v|KhtUEX?? zRRu!m-ubtVVSXD$SaCgpFJc*1uJbOR0yd$s+mw8M0(>jLK0vnQLGO4ss*l272G4oz zT~`H6rWuaJC&PoLh^XMNcq?>w{v&+WRB*ji%(?&+lHWO4kyY*+SA8(52Ib*(a8yyt zmyU_eVbXF2+wZ>i$*Y&+ht%&J#o@K1kj(v0465w7LL6##z<%J`{4`Gy+ zwC!3j3}XDA_(5Yn*CSZfm{%5V=;1-G==4>80r@r|t%p2c)ez-o*Vm1*9d~LZ0cU5< zVPJG?TGI+6v1#Mc3^N!!GMv?+$ytkbz{8r8c zb3Da}hKOLaBQnm#UN^d>?h8Ggo%QQhHt7@7J{-`q&X6(&xu>qnw?k`6UwYU!9dUHi zD;4>~pPi2K@?$eIjeiKH-OT@ZgDN$U>cQx*b42&0fn;}aSnJS zLXz?DeLv%o=&7#?%<3upI4cZ&b%FdVTL7hH^0V_ z7v79VMDV)Qt|%PN$E>NNbQIb^ot}$(ITv1FXy{=LrWF4DdB8ZmxrhLHrSatEfy$QverPwv- z{^{qCKE!U;2TwQ|d>NuA=F0%Lp@cCw(&463W&$ye(uup=;-TsysX<{U z=Rq{U(2lEsoyxr$|IiOWrKTg^K9cdRxDYy+mNUm`A7cDC!ThcdECVj+W?SO=AjZFB z7*oe9IxkzYncKS>j$YR?DNq*5&$bC|uQ%Y98w)V??MFJyiYdk zw^c?B33sTxs-VgqgFC!S0g)r`nb$#q>W7CDLBrxQe;!s*DO)!(2m3xwX(MUwq4^1Z zBpBKrhxX-Q=(ZhA0Gs}3wA=tc`zUPqjJ_R?(=H%TPK51fonDGlQ^q5*4!gWQ)w&M7 zN8qufhwQ@m@U*F-h=ey`b_iLVv1**16~NUFVpt6`RUO=r)9j$*_H8UmYp?2Qqg@C5 zYyif(f_*%#Dis5>LD`4rg2g2|l-G5XBSa+s1ua8P*g7^N4f12I#vd|*12S6(oskvt z-TR7Css_aKY8sYp=>>s8wh=~eU`LrRGM@Dr#JfxuE>8<C5rah(wnZ zNPMx3`cEDHQtZvOUc&D*wjoA$UKhQnv?_M#YQ+m2D>z*R82RVXl~auC{c;v!@|KYA zKjcl-Gi5Z)J@EFl=W#?0VNd`7h9g^gfE7FUe6gqpN776eDI-pyW68~SI^W7g>MuwQ zNs$6PnJ&5`iszRp>zmV5L~|l__bGYg*x&*9~4UFAW*TZF~%F;OI>)>yS zMEO0O0Zs=nV?I)m{qab;!(!zNy2kt6L07g@O&ecc`sF?%bVP-G@C#rJI)qUKqPoE` z(F4&hbL}!Df{1GhioQ6uezpG!N}Lp>g$XmaA9y&9#8$aj(!w1b{>kH3$J;yBX-AHL zL=P808Z<;Cv3n3LJ`D9xkS$a7h|2+>js^`bT!tL2k22kzX+y?>o|v}R5dqV`W_z`H zct)hu*>@EoUNq*>b-td!o@Bv)%}n;fqkJ_3d1Jn#JecM=&n^^{@#6S4c06?@>vT5MpOc31{iGBXWrRWV?hg#ni2;fPZH^ZfYPP@^qJyDCr71|zRtm!tQ2OyXAm z;owgGE_#_2<{WsG4Q=q=|McrnXFUQdQUIZRQzy95Hddb0`M_13= zu_Ub(`;2A9YJwG2S>U6d;tjnr>h29{l z(r$D_RNOZIF(`}iQVH4}i97-@hcULQY?|E}ISLLp>%+0Q80+Z#lBN{)QuvQogw_1! z1p5BX6=|BLXYw|+Ccj%UE&WUdh|gOT7G^dKywjrgfa(PBL$IvhqK*1!24)&ImYN zLPewIS&_WZ>j{n3>t% zbse_uQP6oS`37j#s3tq&7p3(cZN_hR-`lv(^fesJBi0Z*Q|e}Fh(Rd6V&sD4;%u-S zWrvhHi@bzu^w8<(S8@P0I3ggXVSr?;6wt$_{7Vjy?r82!PMCYtG#~Cvu-Ml%}{r;2#R#r=~!x% zqT9E?jliHI{d@{L3P%$aAxqU!?Y9963WqOugS-*{k0BSMl&8(;FbuJEdJ&_6Xy z^OzX{!xnG`Ch!7&> zP<5DH#yLoHck>~BZ}vP(#p1BZI&Cbnd`h=sQ==4s^W0B!T~hy=6`nd zOmC$NS$yY3Ph$|cyO0FC?<1XC54ksE8)LWysez-nmlN1aBv|D{%V-elqTog^ccA&~}ZWy{> z4bZ2#34leIRU{ST_}AX5*BZj~X9TxUJ=?r$Hx>hPtHrA4h%# zI+v089DPgs0~u;7^vi;3>nZ~i{k@I|&_b?`_mVcZihx0z+I&PX_(Q>1$^n?fyxC!+ zt;*@&_`{A2N8~JDoO$)y8TqT41IOAlkQnlJl9WYZR9h%lstvZ{nM2sKnTnVLN9ObNU^;-KxY!M*o%Ne7=i zSQ{r+_VS~tsoAKhwyN=|z3A3av+QT5vby;FAL?6Dm$gD2(c=VcN=LM68coN>E;=ho zsf}eDG6fg`9MBQn5pLyD1xNmGSBwv?HaPrDofGM1)rS3SQc)u|lW*(vV*L&_wBVqO z{e29zOZh>zKDrDzcT66h%@yDD{Bv}!!|l-tRR4#mV%qqj7h)&>Fdlx>qX1G==0OQyPa(9 zN90tDyEMYV>bj?;Y0>wXHaM%vHgWp@rdk)g&n3tB1P((JkLVLr>H zB(Mbg`TgNt2^8^%EvtiX{A{h^CED`#*xXIFo0P4<_K-q?0T_s0+9ci;#r0=L#8^-h z)rot46Nk+(F!S7C)(HbO4B|d133?G_VCNjS1@pK6t|1Hg3+i(SCoF0m0vCfiS9FAT zw0G9O^N~it4o;pds%-*91p#IGb98T{wTL=Jia+eY#gG3Hk{$`RqhWe=^Z@$Ua{_@%-NSPp+aZdu-xT#=Qr+6y++%MmX$8-iDlN|k0( zKk|q^KqPpv4#~zXJ9&w(4HK2X-dxJZ`@pK8j=VaBf*%>^hVr>1Z>TN(Ty0< zxJE0eE4sh7v5nozy(gB8264&r`h3U?8}r7-LJW(T>j~Omm!7cgYbQh;CPO*hhfb$& z@NN1Wj%kA-)f>0Pa03j=z^d~yvZyYZ(PF-k)7{Fp`O|t`-o7a<7B)0V0}L{tm2TWG z-q~BStOucFefoaAtjgH-xlAik1vJG5v31$J;2BSkXfW$9otej>5?fP3a*O>cev$!< zyGK~gi(jT3ZbRx>N(e5xjmY!mVxp^!_g}!|em(`8$})#yq7-xw-*lwj^#zp5I>_aX z_KpqZPRG1^0d!SF{N-~0R)*MDI{<+_eB89Nx97NE_V%KXo7DMlt5osi&b(+nX4bO` zo}+f?fUA#TErsMY3SCt7iz<`O0!RkSXBHOd-(wpU2YXu>1qhSoC$(yvdI8#2KDBypBsZ} z>77+wvuic2QDv0V!HrMpmJM)ci&sC+&+Wgr9HY{ri+h6TlE^n&?$pm%UeX>$_DA>_ zx@deT59wr#z+8?3S%1`cAG9f~$sZDh+f!_^A>%Phq9Cov))#{{a0w8GAk!= zMCWFO0g!18sk6vl9O2SB(P!ct`hxq=Z;ARuYcpNz_4RVV80tzuWC380I5WX^HvuK` zFsf2SvOhdsGb8%elb~Qs10~OYLvnp6xkv z_bW-4i(!b%#Y6e+Aapidfk;ro@yy-Cy)cV>7zqrn4qNXP4)gtbI5PIqTB%N2HuZvX zI!pOykKRKWXwYLQ2o1LZj7?^h58)^Xn;bsIH0~zoytJ@{0h`@WxGV40M$xB&JTIlGDOnkT+1%n0pOwKvQ-SsyOqI! zMfH77LE9|RPwxC;^dS^Oc`#*EHqEoQDutF|dI$(W-2|jd4Xq7so6e$(X`mrd@U5c+ zEzxtncu05vBy}qJ2v~B{#5Flt60}jPG0eQ_#g?9yYqd|V>cRP&&I!&18 z8}s&eN%^uAbY+^1^8YJm<~ zvXm;CK91InfL7|w2IN<~;#vgYM&)w^(jZ4X*L~b$`lFp2QJkpfEnEHY&1ySNu;_Ei z+&~QLC+>>y4l=NQK-)`5rm|bOLK^E3HA2aZjjz9h`Jk|5%xzIJ92_b2GEQaCpOSky z05duVox9#uls5gXe%x;&?Z~2O1hyO8E-fg~rfi4pmraquah%eH@2D@SPA33%25X2o zO*L9+hfexcv(2GN{^>r>BBd$R`oam=mKJ+dk5}GmpC*X{o}ph6(|iszj}*&og}Ypt zFkpjOZR$gAa@HpcP$3b5>HeG(8EMt ziiKMu+8ps%v9=RZPRTxTjhdjk48KtiN_j?fq&@rGKMPi17>Ko+E+`KGZqyJjg+;X6RfSgCsA67EkTB$mI^4N64PIWnDC%BrN;{#H+fGvjfMcs1NL7In!!M_rL*EVOa|aa0LsACbNKne+^bN&1t0?!fQt|3 zzF+QhHz|dns6A?QBhVg1d-CYWV@kTa=YsZ}{dXMws?@a58X1)`YQ)~cg@oCPDVb7# z$M8K?QftId7?YYD`tB@OytprT`%lNP#ygyCN}JWP9JCN{I0*_fcCd7X|V+z6V z5-`W0LYV{WwlL$7VCe7FC|kp88%=C$L~(oVM!RUeuENUMuDYGTAAQq8qH}hdS_1j4 z4&9kAIZ9gDi6slJpuU=)jB0mwx1hI@sT?57=DlnHXnWF9osR%BdQIeH>0_1++mPx^dJ9BMrqWdf>F|f95&dRToEGR0hxIMg0Z6+n_2) z4LMTApfW2}u1cO$9PB`F*$fgr|E`~J*97=>9J(8cnnnL?E5|>$Em;S)hE;TbfH`X# zJK;>(FhI`wFUtfxHlT%+sq(Ov zMaLj_9px_$8)LiQm7^>nLD5pQIazxU;7-Sk(LJgPb(G8`#>l&Wo~AiJ&WYXYtzyL& zuh1XiCEDK-V7iY++2C>}$`MFsvQ1YzE6Vpvr%7Vm_A5?d-`0x4i^w%z6pix`e6Yge z@@sw78QiSb!e+mzU1a7VYp7xty{|gUeX4;B+ggK~Tl7RdJgc1`#s;i{V%yZl233#h zG?Svpb(ZjAb|Z3=3R4B3q_a-<^LuENtaBNg&q9BTpyN+Ve}a%&4<((W&3SG>i|w z0ob6YHA|2!77+GtKC{~DnHhsP*+I0y4<7&voZABBpjvikn^hBkUYF=OZ4gHU!yUegJz9Bde78%XE({(D3T!O_dMW6S#YvB%rnOGn^BZ6bx2eR||J z>_}5=HIj;KT^;B`ux5LBJkoO38{oKUL}Ld1N%DS2d6;?NJ+p~_sXDs>`79K{6jh?k zpH1t`x>s}LZ|vJYjY}pJyw1E&$&-Y%hdscNosCY;2dMx-M9tU)6w}eV%^onSKLs8U zW$!6NIx5lzrMI5cGSDRpf7?q8YEJWV>Y@bHZ-t8nV;&V?>#MW`AlNUIQod@o5sL8ssnGiT9=2l%;b$x zVc^5d@a;om^sQ3Wh;5-Sr%{4mO!Nsl6C!V6D`))%6VQLV9Pui@T;8WpL&wl1lAF-oc21sh z9bAsQ-E6c+(aH`AX=jOB8WPr!+7Yr~Iuaq+IT3yLN}2sV`%H~Kk)&`mDpk1a@Scjq z4g;7QSAM6I!pz*~`ln_C<%f!RU+RB^{`D3ZfY&;3v9P_eJtOo4@$S~N2mK&eSoe89 zs~2R^1Qk^EA~oKH^*>ym)86X}_lmTr`wjJF^}CD=&AdS{JXI%)%zfmZ=ddSv8*76o z2rICQ+MBjPm-LE+*3%OW$mS+*l#OC7jhlB4&~%e!?_t-7_H2vdbhg1LbS~6LU0=>a2 zR?01jC^_#Z%OX#1%(l#W%U$%Gogn9?oFm`H3Oc-EnftTvr2;}nq1vq*)ceCqhrkJs zO4f)(Guz_w5#bll(Q=MnyHN^&{=h`wU$1|<9&M!q)OkMdEgG5rAnV9{Bqi0@_l&w) zpS5NaP%r|Md2c!acTj03SsX7~qkufRy=~P{xbT;XTyyMXOKPZnydIc2Z)cEcRsO

JgmgHaH|v}T^Q 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%0AXc=Qa|B&cW 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 e6G;Esfm+SjR?tcM=I2EG+ literal 0 HcmV?d00001 From 917ba12a0b822fe3f62b2e617ae691d05dd9757f Mon Sep 17 00:00:00 2001 From: errnull Date: Tue, 18 Jun 2019 17:20:49 +0800 Subject: [PATCH 042/104] test: Add background color change button. --- SVGAPlayer/Base.lproj/Main.storyboard | 115 +++++++++++++++++++++++++- SVGAPlayer/ViewController.m | 17 ++-- 2 files changed, 122 insertions(+), 10 deletions(-) diff --git a/SVGAPlayer/Base.lproj/Main.storyboard b/SVGAPlayer/Base.lproj/Main.storyboard index ce69c878..23b8bf77 100644 --- a/SVGAPlayer/Base.lproj/Main.storyboard +++ b/SVGAPlayer/Base.lproj/Main.storyboard @@ -23,13 +23,117 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -38,15 +142,18 @@ - + - + + + + diff --git a/SVGAPlayer/ViewController.m b/SVGAPlayer/ViewController.m index 029eebca..943a2081 100644 --- a/SVGAPlayer/ViewController.m +++ b/SVGAPlayer/ViewController.m @@ -54,16 +54,21 @@ - (IBAction)onChange:(id)sender { [self.aPlayer startAnimation]; } } failureBlock:nil]; - // [parser parseWithNamed:@"heartbeat" inBundle:nil completionBlock:^(SVGAVideoEntity * _Nonnull videoItem) { - // if (videoItem != nil) { - // self.aPlayer.videoItem = videoItem; - // [self.aPlayer startAnimation]; - // } - // } failureBlock:nil]; +// [parser parseWithNamed:@"Goddess" inBundle:nil completionBlock:^(SVGAVideoEntity * _Nonnull videoItem) { +// if (videoItem != nil) { +// self.aPlayer.videoItem = videoItem; +// [self.aPlayer startAnimation]; +// } +// } failureBlock:nil]; } - (IBAction)onSlide:(UISlider *)sender { [self.aPlayer stepToPercentage:sender.value andPlay:NO]; } + +- (IBAction)onChangeColor:(UIButton *)sender { + self.view.backgroundColor = sender.backgroundColor; +} + @end From 33ea6b398fdf606222c0b707193a5b9de7967837 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B4=94=20=E6=98=8E=E8=BE=89?= Date: Tue, 18 Jun 2019 19:32:40 +0800 Subject: [PATCH 043/104] fix: Fix demo aspect scale. --- SVGAPlayer/Base.lproj/Main.storyboard | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SVGAPlayer/Base.lproj/Main.storyboard b/SVGAPlayer/Base.lproj/Main.storyboard index 23b8bf77..06e12fc8 100644 --- a/SVGAPlayer/Base.lproj/Main.storyboard +++ b/SVGAPlayer/Base.lproj/Main.storyboard @@ -21,7 +21,7 @@ - + From f73c91152d2f0a944c3c44ed65769493966612a6 Mon Sep 17 00:00:00 2001 From: errnull Date: Thu, 20 Jun 2019 03:22:37 +0800 Subject: [PATCH 044/104] docs: add CHANGELOG for new version. --- CHANGELOG.md | 137 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..b1e217ee --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,137 @@ +# (2019-06-19) + + +### Bug Fixes + +* correct demo. ([639bbee](https://github.com/yyued/SVGAPlayer-iOS/commit/639bbee)) +* correct image key. ([6436935](https://github.com/yyued/SVGAPlayer-iOS/commit/6436935)) +* fix key for svga 1.x format. ([ec43259](https://github.com/yyued/SVGAPlayer-iOS/commit/ec43259)) +* fix key recognized. ([5987e91](https://github.com/yyued/SVGAPlayer-iOS/commit/5987e91)) +* fix layer level. ([0318580](https://github.com/yyued/SVGAPlayer-iOS/commit/0318580)) +* return when videoItem is nil in startAnimation. ([cb27f0f](https://github.com/yyued/SVGAPlayer-iOS/commit/cb27f0f)) +* same image key sprite. ([95ad82b](https://github.com/yyued/SVGAPlayer-iOS/commit/95ad82b)) +* update 2.x proto support for matte. ([bc2de2a](https://github.com/yyued/SVGAPlayer-iOS/commit/bc2de2a)) + + +### Features + +* add 2.x proto support for matte. ([6ec6b29](https://github.com/yyued/SVGAPlayer-iOS/commit/6ec6b29)) +* add 2.x proto support for matte. ([527e76f](https://github.com/yyued/SVGAPlayer-iOS/commit/527e76f)) +* add slider for animation demo. ([fc9d7ef](https://github.com/yyued/SVGAPlayer-iOS/commit/fc9d7ef)) +* support bitmap matte layer. ([4c4e2b1](https://github.com/yyued/SVGAPlayer-iOS/commit/4c4e2b1)) +* support muti mask. ([188c1b3](https://github.com/yyued/SVGAPlayer-iOS/commit/188c1b3)) +* update 2.x proto support for matte. ([2b28845](https://github.com/yyued/SVGAPlayer-iOS/commit/2b28845)) +* update pods version. ([b303672](https://github.com/yyued/SVGAPlayer-iOS/commit/b303672)) + + + +## [2.3.3](https://github.com/yyued/SVGAPlayer-iOS/compare/2.3.2...2.3.3) (2019-03-04) + + + +## [2.3.2](https://github.com/yyued/SVGAPlayer-iOS/compare/2.3.1...2.3.2) (2018-12-26) + + +### Bug Fixes + +* Rollback SSZipArchive to 1.8.1 because of crash. ([2f9d94b](https://github.com/yyued/SVGAPlayer-iOS/commit/2f9d94b)) + + + +## [2.3.1](https://github.com/yyued/SVGAPlayer-iOS/compare/2.3.0...2.3.1) (2018-12-18) + + +### Bug Fixes + +* add enabledMemoryCache option to SVGAParser, disable memory cache to default. ([116a91f](https://github.com/yyued/SVGAPlayer-iOS/commit/116a91f)) + + + +# [2.3.0](https://github.com/yyued/SVGAPlayer-iOS/compare/2.1.4...2.3.0) (2018-11-01) + + + +## [2.1.4](https://github.com/yyued/SVGAPlayer-iOS/compare/2.1.3...2.1.4) (2018-07-23) + + + +## [2.1.3](https://github.com/yyued/SVGAPlayer-iOS/compare/2.1.2...2.1.3) (2018-04-25) + + + +## [2.1.2](https://github.com/yyued/SVGAPlayer-iOS/compare/2.1.1...2.1.2) (2018-03-28) + + + +## [2.1.1](https://github.com/yyued/SVGAPlayer-iOS/compare/2.1.0...2.1.1) (2018-02-08) + + + +# [2.1.0](https://github.com/yyued/SVGAPlayer-iOS/compare/2.1.0-Beta...2.1.0) (2018-01-15) + + + +# [2.1.0-Beta](https://github.com/yyued/SVGAPlayer-iOS/compare/2.0.1...2.1.0-Beta) (2017-12-29) + + + +## [2.0.1](https://github.com/yyued/SVGAPlayer-iOS/compare/2.0.0...2.0.1) (2017-11-08) + + + +# [2.0.0](https://github.com/yyued/SVGAPlayer-iOS/compare/1.1.7...2.0.0) (2017-10-23) + + + +## [1.1.7](https://github.com/yyued/SVGAPlayer-iOS/compare/1.1.6...1.1.7) (2017-09-19) + + + +## [1.1.6](https://github.com/yyued/SVGAPlayer-iOS/compare/1.1.5...1.1.6) (2017-09-07) + + + +## [1.1.5](https://github.com/yyued/SVGAPlayer-iOS/compare/1.1.4...1.1.5) (2017-08-21) + + + +## [1.1.4](https://github.com/yyued/SVGAPlayer-iOS/compare/1.1.3...1.1.4) (2017-08-21) + + + +## [1.1.3](https://github.com/yyued/SVGAPlayer-iOS/compare/1.1.2...1.1.3) (2017-08-18) + + + +## [1.1.2](https://github.com/yyued/SVGAPlayer-iOS/compare/1.1.1...1.1.2) (2017-06-19) + + + +## [1.1.1](https://github.com/yyued/SVGAPlayer-iOS/compare/1.1.0...1.1.1) (2017-03-30) + + + +# [1.1.0](https://github.com/yyued/SVGAPlayer-iOS/compare/1.1.0-beta...1.1.0) (2017-03-17) + + + +# [1.1.0-beta](https://github.com/yyued/SVGAPlayer-iOS/compare/0.1.0...1.1.0-beta) (2017-02-22) + + + +# [0.1.0](https://github.com/yyued/SVGAPlayer-iOS/compare/0.0.3...0.1.0) (2016-10-13) + + + +## [0.0.3](https://github.com/yyued/SVGAPlayer-iOS/compare/0.0.2...0.0.3) (2016-10-08) + + + +## [0.0.2](https://github.com/yyued/SVGAPlayer-iOS/compare/0.0.1...0.0.2) (2016-08-03) + + + +## 0.0.1 (2016-06-17) + + + From 05f41593190e6606b8427d49a97d48ffb4329dc4 Mon Sep 17 00:00:00 2001 From: TalkingJourney Date: Thu, 20 Jun 2019 14:35:50 +0800 Subject: [PATCH 045/104] fix bug: verify failureBlock --- Source/SVGAParser.m | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Source/SVGAParser.m b/Source/SVGAParser.m index 0b68b823..a6b98076 100644 --- a/Source/SVGAParser.m +++ b/Source/SVGAParser.m @@ -95,9 +95,11 @@ - (void)parseWithNamed:(NSString *)named failureBlock:failureBlock]; } else { - [[NSOperationQueue mainQueue] addOperationWithBlock:^{ - failureBlock([NSError errorWithDomain:@"SVGAParser" code:404 userInfo:@{NSLocalizedDescriptionKey: @"File not exist."}]); - }]; + if (failureBlock) { + [[NSOperationQueue mainQueue] addOperationWithBlock:^{ + failureBlock([NSError errorWithDomain:@"SVGAParser" code:404 userInfo:@{NSLocalizedDescriptionKey: @"File not exist."}]); + }]; + } } } From 6f2d5a118d33c1948e938dd4cf2947c457165ba8 Mon Sep 17 00:00:00 2001 From: errnull Date: Fri, 21 Jun 2019 11:08:43 +0800 Subject: [PATCH 046/104] doc: Update README and CHANGELOG.md. --- CHANGELOG.md | 119 +++------------------------------------------------ readme.md | 4 ++ readme.zh.md | 4 ++ 3 files changed, 15 insertions(+), 112 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b1e217ee..484b28e8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,32 +1,17 @@ -# (2019-06-19) +# SVGAPlayer-iOS (2019-06-20) +## [2.5.0](https://github.com/yyued/SVGAPlayer-iOS/compare/2.5.0...2.3.3) (2019-06-20) ### Bug Fixes -* correct demo. ([639bbee](https://github.com/yyued/SVGAPlayer-iOS/commit/639bbee)) -* correct image key. ([6436935](https://github.com/yyued/SVGAPlayer-iOS/commit/6436935)) -* fix key for svga 1.x format. ([ec43259](https://github.com/yyued/SVGAPlayer-iOS/commit/ec43259)) -* fix key recognized. ([5987e91](https://github.com/yyued/SVGAPlayer-iOS/commit/5987e91)) -* fix layer level. ([0318580](https://github.com/yyued/SVGAPlayer-iOS/commit/0318580)) -* return when videoItem is nil in startAnimation. ([cb27f0f](https://github.com/yyued/SVGAPlayer-iOS/commit/cb27f0f)) -* same image key sprite. ([95ad82b](https://github.com/yyued/SVGAPlayer-iOS/commit/95ad82b)) -* update 2.x proto support for matte. ([bc2de2a](https://github.com/yyued/SVGAPlayer-iOS/commit/bc2de2a)) - +* Verify failureBlock. ([05f4159](https://github.com/yyued/SVGAPlayer-iOS/commit/05f41593190e6606b8427d49a97d48ffb4329dc4)) ### Features -* add 2.x proto support for matte. ([6ec6b29](https://github.com/yyued/SVGAPlayer-iOS/commit/6ec6b29)) -* add 2.x proto support for matte. ([527e76f](https://github.com/yyued/SVGAPlayer-iOS/commit/527e76f)) -* add slider for animation demo. ([fc9d7ef](https://github.com/yyued/SVGAPlayer-iOS/commit/fc9d7ef)) -* support bitmap matte layer. ([4c4e2b1](https://github.com/yyued/SVGAPlayer-iOS/commit/4c4e2b1)) -* support muti mask. ([188c1b3](https://github.com/yyued/SVGAPlayer-iOS/commit/188c1b3)) -* update 2.x proto support for matte. ([2b28845](https://github.com/yyued/SVGAPlayer-iOS/commit/2b28845)) -* update pods version. ([b303672](https://github.com/yyued/SVGAPlayer-iOS/commit/b303672)) - - - -## [2.3.3](https://github.com/yyued/SVGAPlayer-iOS/compare/2.3.2...2.3.3) (2019-03-04) - +* Add 2.x proto support for matte. ([6ec6b29](https://github.com/yyued/SVGAPlayer-iOS/commit/6ec6b29)) +* Add slider for animation demo. ([fc9d7ef](https://github.com/yyued/SVGAPlayer-iOS/commit/fc9d7ef)) +* Support bitmap matte layer. ([4c4e2b1](https://github.com/yyued/SVGAPlayer-iOS/commit/4c4e2b1)) +* Support muti mask. ([188c1b3](https://github.com/yyued/SVGAPlayer-iOS/commit/188c1b3)) ## [2.3.2](https://github.com/yyued/SVGAPlayer-iOS/compare/2.3.1...2.3.2) (2018-12-26) @@ -45,93 +30,3 @@ * add enabledMemoryCache option to SVGAParser, disable memory cache to default. ([116a91f](https://github.com/yyued/SVGAPlayer-iOS/commit/116a91f)) - - -# [2.3.0](https://github.com/yyued/SVGAPlayer-iOS/compare/2.1.4...2.3.0) (2018-11-01) - - - -## [2.1.4](https://github.com/yyued/SVGAPlayer-iOS/compare/2.1.3...2.1.4) (2018-07-23) - - - -## [2.1.3](https://github.com/yyued/SVGAPlayer-iOS/compare/2.1.2...2.1.3) (2018-04-25) - - - -## [2.1.2](https://github.com/yyued/SVGAPlayer-iOS/compare/2.1.1...2.1.2) (2018-03-28) - - - -## [2.1.1](https://github.com/yyued/SVGAPlayer-iOS/compare/2.1.0...2.1.1) (2018-02-08) - - - -# [2.1.0](https://github.com/yyued/SVGAPlayer-iOS/compare/2.1.0-Beta...2.1.0) (2018-01-15) - - - -# [2.1.0-Beta](https://github.com/yyued/SVGAPlayer-iOS/compare/2.0.1...2.1.0-Beta) (2017-12-29) - - - -## [2.0.1](https://github.com/yyued/SVGAPlayer-iOS/compare/2.0.0...2.0.1) (2017-11-08) - - - -# [2.0.0](https://github.com/yyued/SVGAPlayer-iOS/compare/1.1.7...2.0.0) (2017-10-23) - - - -## [1.1.7](https://github.com/yyued/SVGAPlayer-iOS/compare/1.1.6...1.1.7) (2017-09-19) - - - -## [1.1.6](https://github.com/yyued/SVGAPlayer-iOS/compare/1.1.5...1.1.6) (2017-09-07) - - - -## [1.1.5](https://github.com/yyued/SVGAPlayer-iOS/compare/1.1.4...1.1.5) (2017-08-21) - - - -## [1.1.4](https://github.com/yyued/SVGAPlayer-iOS/compare/1.1.3...1.1.4) (2017-08-21) - - - -## [1.1.3](https://github.com/yyued/SVGAPlayer-iOS/compare/1.1.2...1.1.3) (2017-08-18) - - - -## [1.1.2](https://github.com/yyued/SVGAPlayer-iOS/compare/1.1.1...1.1.2) (2017-06-19) - - - -## [1.1.1](https://github.com/yyued/SVGAPlayer-iOS/compare/1.1.0...1.1.1) (2017-03-30) - - - -# [1.1.0](https://github.com/yyued/SVGAPlayer-iOS/compare/1.1.0-beta...1.1.0) (2017-03-17) - - - -# [1.1.0-beta](https://github.com/yyued/SVGAPlayer-iOS/compare/0.1.0...1.1.0-beta) (2017-02-22) - - - -# [0.1.0](https://github.com/yyued/SVGAPlayer-iOS/compare/0.0.3...0.1.0) (2016-10-13) - - - -## [0.0.3](https://github.com/yyued/SVGAPlayer-iOS/compare/0.0.2...0.0.3) (2016-10-08) - - - -## [0.0.2](https://github.com/yyued/SVGAPlayer-iOS/compare/0.0.1...0.0.2) (2016-08-03) - - - -## 0.0.1 (2016-06-17) - - - diff --git a/readme.md b/readme.md index 1b6c1f6e..b6406575 100644 --- a/readme.md +++ b/readme.md @@ -91,3 +91,7 @@ Here are many feature samples. ## APIs Head on over to [https://github.com/yyued/SVGAPlayer-iOS/wiki/APIs](https://github.com/yyued/SVGAPlayer-iOS/wiki/APIs) + +## CHANGELOG + +Head on over to [CHANGELOG](./CHANGELOG.md) \ No newline at end of file diff --git a/readme.zh.md b/readme.zh.md index 224043a0..76c9a8d7 100644 --- a/readme.zh.md +++ b/readme.zh.md @@ -85,3 +85,7 @@ SVGAParser *parser = [[SVGAParser alloc] init]; ## APIs 请参阅此处 [https://github.com/yyued/SVGAPlayer-iOS/wiki/APIs](https://github.com/yyued/SVGAPlayer-iOS/wiki/APIs) + +## CHANGELOG + +请参阅此处 [CHANGELOG](./CHANGELOG.md) \ No newline at end of file From 0ea7427017cd8dc33989281090445a7e13a4cf88 Mon Sep 17 00:00:00 2001 From: errnull Date: Fri, 21 Jun 2019 14:54:43 +0800 Subject: [PATCH 047/104] doc: Update CHANGELOG. --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 484b28e8..d9e5d748 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # SVGAPlayer-iOS (2019-06-20) -## [2.5.0](https://github.com/yyued/SVGAPlayer-iOS/compare/2.5.0...2.3.3) (2019-06-20) +## [Next release](https://github.com/yyued/SVGAPlayer-iOS/compare/2.5.0...2.3.3) (2019-06-20) ### Bug Fixes From bf6bfd507184abb3f0ef2c68043a13bcad9df1dc Mon Sep 17 00:00:00 2001 From: errnull Date: Fri, 21 Jun 2019 15:32:37 +0800 Subject: [PATCH 048/104] doc: Update CHANGELOG. --- CHANGELOG.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d9e5d748..bb24b481 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,3 +30,29 @@ * add enabledMemoryCache option to SVGAParser, disable memory cache to default. ([116a91f](https://github.com/yyued/SVGAPlayer-iOS/commit/116a91f)) +## 2.3.0 + +### Features + +* Add audio support. + +## 2.1.4 + +### Bug Fixes + +* Add classtype asserts to avoid crash. + +## 2.1.3 + +* Add SVGAImageView and SVGAVideoEntity to SVGA.h; +* Add URLRequest params to SVGAParser; + +## 2.1.2 + +* Add dynamicHidden and dynamicDrawing. + +## 2.1.1 + +### Bug Fixes +* Use CADisplayLink::invalid() replace removeFromRunloop. +improve: all Parser callback will perform on Main Thread. From ab1d4fc2719d0668895a546d070e2e6040483cbc Mon Sep 17 00:00:00 2001 From: errnull Date: Mon, 22 Jul 2019 09:55:57 +0800 Subject: [PATCH 049/104] fix: Correct static layer. --- Source/SVGAPlayer.m | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Source/SVGAPlayer.m b/Source/SVGAPlayer.m index 9f0e5c62..ace37af1 100644 --- a/Source/SVGAPlayer.m +++ b/Source/SVGAPlayer.m @@ -22,6 +22,7 @@ @interface SVGAPlayer () @property (nonatomic, strong) NSArray *audioLayers; @property (nonatomic, strong) CADisplayLink *displayLink; @property (nonatomic, assign) NSInteger currentFrame; +@property (nonatomic, copy) NSArray *contentLayers; @property (nonatomic, copy) NSDictionary *dynamicObjects; @property (nonatomic, copy) NSDictionary *dynamicTexts; @property (nonatomic, copy) NSDictionary *dynamicDrawings; @@ -35,8 +36,6 @@ @interface SVGAPlayer () @implementation SVGAPlayer -static NSArray *_contentLayers; - - (instancetype)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; From dc2e40392a504a60a821841f3dbfd8133228f6b9 Mon Sep 17 00:00:00 2001 From: errnull Date: Fri, 2 Aug 2019 18:33:39 +0800 Subject: [PATCH 050/104] fix: Correct file tag des hit target. --- Source/SVGAParser.m | 3 ++- Source/SVGAVideoEntity.m | 10 +++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/Source/SVGAParser.m b/Source/SVGAParser.m index a6b98076..3bab1d6d 100644 --- a/Source/SVGAParser.m +++ b/Source/SVGAParser.m @@ -195,7 +195,8 @@ - (void)parseWithData:(nonnull NSData *)data return; } NSData *tag = [data subdataWithRange:NSMakeRange(0, 4)]; - if (![[tag description] isEqualToString:@"<504b0304>"]) { + NSString *fileTagDes = [tag description]; + if (![fileTagDes containsString:@"504b0304"]) { // Maybe is SVGA 2.0.0 [parseQueue addOperationWithBlock:^{ NSData *inflateData = [self zlibInflate:data]; diff --git a/Source/SVGAVideoEntity.m b/Source/SVGAVideoEntity.m index da37fcac..235efee7 100644 --- a/Source/SVGAVideoEntity.m +++ b/Source/SVGAVideoEntity.m @@ -140,7 +140,7 @@ - (void)resetImagesWithProtoObject:(SVGAProtoMovieEntity *)protoObject { if (fileName != nil) { NSString *filePath = [self.cacheDir stringByAppendingFormat:@"/%@.png", fileName]; if (![[NSFileManager defaultManager] fileExistsAtPath:filePath]) { - filePath = [self.cacheDir stringByAppendingFormat:@"/%@", fileName]; + filePath = [self.cacheDir stringByAppendingFormat:@"/%@", fileName]; } if ([[NSFileManager defaultManager] fileExistsAtPath:filePath]) { NSData *imageData = [NSData dataWithContentsOfFile:filePath]; @@ -154,11 +154,11 @@ - (void)resetImagesWithProtoObject:(SVGAProtoMovieEntity *)protoObject { } else if ([protoImages[key] isKindOfClass:[NSData class]]) { NSData *fileTag = [protoImages[key] subdataWithRange:NSMakeRange(0, 4)]; - if (![[fileTag description] isEqualToString:@"<89504e47>"]) { + NSString *fileTagDes = [fileTag description]; + if (![fileTagDes containsString:@"89504e47"]) { // mp3 [audiosData setObject:protoImages[key] forKey:key]; - } - else { + } else { UIImage *image = [[UIImage alloc] initWithData:protoImages[key] scale:2.0]; if (image != nil) { [images setObject:image forKey:key]; @@ -181,7 +181,7 @@ - (void)resetSpritesWithProtoObject:(SVGAProtoMovieEntity *)protoObject { }]; self.sprites = sprites; } - + - (void)resetAudiosWithProtoObject:(SVGAProtoMovieEntity *)protoObject { NSMutableArray *audios = [[NSMutableArray alloc] init]; NSArray *protoAudios = [protoObject.audiosArray copy]; From 0018e136eee42fe6ba50e3b7ddcfdc456a41584a Mon Sep 17 00:00:00 2001 From: errnull Date: Fri, 2 Aug 2019 18:33:39 +0800 Subject: [PATCH 051/104] fix: Correct file tag des hit target. --- Source/SVGAParser.m | 3 ++- Source/SVGAVideoEntity.m | 10 +++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/Source/SVGAParser.m b/Source/SVGAParser.m index 0b68b823..fcda386a 100644 --- a/Source/SVGAParser.m +++ b/Source/SVGAParser.m @@ -193,7 +193,8 @@ - (void)parseWithData:(nonnull NSData *)data return; } NSData *tag = [data subdataWithRange:NSMakeRange(0, 4)]; - if (![[tag description] isEqualToString:@"<504b0304>"]) { + NSString *fileTagDes = [tag description]; + if (![fileTagDes containsString:@"504b0304"]) { // Maybe is SVGA 2.0.0 [parseQueue addOperationWithBlock:^{ NSData *inflateData = [self zlibInflate:data]; diff --git a/Source/SVGAVideoEntity.m b/Source/SVGAVideoEntity.m index a4ec941e..50e92e7d 100644 --- a/Source/SVGAVideoEntity.m +++ b/Source/SVGAVideoEntity.m @@ -140,7 +140,7 @@ - (void)resetImagesWithProtoObject:(SVGAProtoMovieEntity *)protoObject { if (fileName != nil) { NSString *filePath = [self.cacheDir stringByAppendingFormat:@"/%@.png", fileName]; if (![[NSFileManager defaultManager] fileExistsAtPath:filePath]) { - filePath = [self.cacheDir stringByAppendingFormat:@"/%@", fileName]; + filePath = [self.cacheDir stringByAppendingFormat:@"/%@", fileName]; } if ([[NSFileManager defaultManager] fileExistsAtPath:filePath]) { NSData *imageData = [NSData dataWithContentsOfFile:filePath]; @@ -154,11 +154,11 @@ - (void)resetImagesWithProtoObject:(SVGAProtoMovieEntity *)protoObject { } else if ([protoImages[key] isKindOfClass:[NSData class]]) { NSData *fileTag = [protoImages[key] subdataWithRange:NSMakeRange(0, 4)]; - if (![[fileTag description] isEqualToString:@"<89504e47>"]) { + NSString *fileTagDes = [fileTag description]; + if (![fileTagDes containsString:@"89504e47"]) { // mp3 [audiosData setObject:protoImages[key] forKey:key]; - } - else { + } else { UIImage *image = [[UIImage alloc] initWithData:protoImages[key] scale:2.0]; if (image != nil) { [images setObject:image forKey:key]; @@ -181,7 +181,7 @@ - (void)resetSpritesWithProtoObject:(SVGAProtoMovieEntity *)protoObject { }]; self.sprites = sprites; } - + - (void)resetAudiosWithProtoObject:(SVGAProtoMovieEntity *)protoObject { NSMutableArray *audios = [[NSMutableArray alloc] init]; NSArray *protoAudios = [protoObject.audiosArray copy]; From 2127ab9fc37eef9e663803dd405bf365db22e1c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B4=94=20=E6=98=8E=E8=BE=89?= Date: Fri, 2 Aug 2019 18:45:18 +0800 Subject: [PATCH 052/104] doc: 2.3.4 release --- SVGAPlayer-React.podspec | 2 +- SVGAPlayer.podspec | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/SVGAPlayer-React.podspec b/SVGAPlayer-React.podspec index a0914e67..a3d80fe9 100644 --- a/SVGAPlayer-React.podspec +++ b/SVGAPlayer-React.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = "SVGAPlayer" - s.version = "2.3.3" + s.version = "2.3.4" s.summary = "SVGAPlayer 是一个高性能的动画播放器" s.description = <<-DESC SVGA 是一个私有的动画格式,由 YY UED 主导开发。 diff --git a/SVGAPlayer.podspec b/SVGAPlayer.podspec index 247217a7..120a4ef4 100644 --- a/SVGAPlayer.podspec +++ b/SVGAPlayer.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = "SVGAPlayer" - s.version = "2.3.3" + s.version = "2.3.4" s.summary = "SVGAPlayer 是一个高性能的动画播放器" s.description = <<-DESC SVGA 是一个私有的动画格式,由 YY UED 主导开发。 From eff187e5e46c216b7190aa67f3e66617ba8e69be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B4=94=20=E6=98=8E=E8=BE=89?= Date: Fri, 2 Aug 2019 18:53:28 +0800 Subject: [PATCH 053/104] doc: update readme for 2.3.4 --- readme.md | 6 +++++- readme.zh.md | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/readme.md b/readme.md index b6406575..3e7d4ea7 100644 --- a/readme.md +++ b/readme.md @@ -2,6 +2,10 @@ [简体中文](./readme.zh.md) +## 2.3.4 Released + +This version fixed SVGAPlayer parse issue on iOS 13, all apps should upgrade ASAP. + ## Introduce SVGAPlayer is a light-weight animation renderer. You use [tools](http://svga.io/designer.html) to export `svga` file from `Adobe Animate CC` or `Adobe After Effects`, and then use SVGAPlayer to render animation on mobile application. @@ -94,4 +98,4 @@ Head on over to [https://github.com/yyued/SVGAPlayer-iOS/wiki/APIs](https://gith ## CHANGELOG -Head on over to [CHANGELOG](./CHANGELOG.md) \ No newline at end of file +Head on over to [CHANGELOG](./CHANGELOG.md) diff --git a/readme.zh.md b/readme.zh.md index 76c9a8d7..8b9aa27d 100644 --- a/readme.zh.md +++ b/readme.zh.md @@ -1,5 +1,9 @@ # SVGAPlayer +## 2.3.4 版本 + +该版本修正了 SVGAPlayer 无法在 iOS13 上解析的问题,请尽快升级。 + ## 介绍 `SVGAPlayer` 是一个轻量的动画渲染库。你可以使用[工具](http://svga.io/designer.html)从 `Adobe Animate CC` 或者 `Adobe After Effects` 中导出动画文件,然后使用 `SVGAPlayer` 在移动设备上渲染并播放。 @@ -88,4 +92,4 @@ SVGAParser *parser = [[SVGAParser alloc] init]; ## CHANGELOG -请参阅此处 [CHANGELOG](./CHANGELOG.md) \ No newline at end of file +请参阅此处 [CHANGELOG](./CHANGELOG.md) From cb99a0b919e32e8abc8e88abe830a2617e919da5 Mon Sep 17 00:00:00 2001 From: zhanduojian Date: Wed, 4 Sep 2019 17:37:11 +0800 Subject: [PATCH 054/104] fix: Correct aPlayer.clearsAfterStop default value to YES. --- Source/SVGAPlayer.m | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/Source/SVGAPlayer.m b/Source/SVGAPlayer.m index ace37af1..f2e479f7 100644 --- a/Source/SVGAPlayer.m +++ b/Source/SVGAPlayer.m @@ -36,15 +36,32 @@ @interface SVGAPlayer () @implementation SVGAPlayer -- (instancetype)initWithFrame:(CGRect)frame -{ - self = [super initWithFrame:frame]; - if (self) { - self.contentMode = UIViewContentModeTop; +- (instancetype)init { + if (self = [super init]) { + [self initPlayer]; } return self; } +- (instancetype)initWithFrame:(CGRect)frame { + if (self = [super initWithFrame:frame]) { + [self initPlayer]; + } + return self; +} + +- (instancetype)initWithCoder:(NSCoder *)aDecoder { + if (self = [super initWithCoder:aDecoder]) { + [self initPlayer]; + } + return self; +} + +- (void)initPlayer { + self.contentMode = UIViewContentModeTop; + self.clearsAfterStop = YES; +} + - (void)willMoveToSuperview:(UIView *)newSuperview { [super willMoveToSuperview:newSuperview]; if (newSuperview == nil) { From fcf731da61634d0ea432b245e99411cd0e28c645 Mon Sep 17 00:00:00 2001 From: zhanduojian Date: Thu, 19 Sep 2019 16:26:49 +0800 Subject: [PATCH 055/104] feat: Update podfile. --- SVGAPlayer.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SVGAPlayer.podspec b/SVGAPlayer.podspec index 247217a7..fa81fc46 100644 --- a/SVGAPlayer.podspec +++ b/SVGAPlayer.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = "SVGAPlayer" - s.version = "2.3.3" + s.version = "2.5.1" s.summary = "SVGAPlayer 是一个高性能的动画播放器" s.description = <<-DESC SVGA 是一个私有的动画格式,由 YY UED 主导开发。 From 873f8e49546d3740daa9ac008f05d0c2a2eeff6e Mon Sep 17 00:00:00 2001 From: errnull Date: Mon, 23 Sep 2019 00:03:48 +0800 Subject: [PATCH 056/104] feat: Add support for audio play in stepToFrame. --- Podfile.lock | 2 +- SVGAPlayer.xcodeproj/project.pbxproj | 6 +- .../xcschemes/SVGAPlayer.xcscheme | 78 +++++++++++++++ .../xcschemes/xcschememanagement.plist | 27 ++++++ .../xcshareddata/IDEWorkspaceChecks.plist | 8 ++ .../UserInterfaceState.xcuserstate | Bin 0 -> 43509 bytes .../xcdebugger/Breakpoints_v2.xcbkptlist | 88 +++++++++++++++++ .../AppIcon.appiconset/Contents.json | 15 +++ SVGAPlayer/Base.lproj/Main.storyboard | 40 ++++++-- SVGAPlayer/ViewController.m | 89 +++++++++++------- Source/SVGAPlayer.m | 14 ++- 11 files changed, 322 insertions(+), 45 deletions(-) create mode 100644 SVGAPlayer.xcodeproj/xcshareddata/xcschemes/SVGAPlayer.xcscheme create mode 100644 SVGAPlayer.xcodeproj/xcuserdata/errnull.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 SVGAPlayer.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 SVGAPlayer.xcworkspace/xcuserdata/errnull.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 SVGAPlayer.xcworkspace/xcuserdata/errnull.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist diff --git a/Podfile.lock b/Podfile.lock index 1055b0a0..4d95350e 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -64,4 +64,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: 7f6714245d47e69d2933463289e4c4d6de65b831 -COCOAPODS: 1.6.1 +COCOAPODS: 1.7.3 diff --git a/SVGAPlayer.xcodeproj/project.pbxproj b/SVGAPlayer.xcodeproj/project.pbxproj index 677c2d65..cb46b316 100644 --- a/SVGAPlayer.xcodeproj/project.pbxproj +++ b/SVGAPlayer.xcodeproj/project.pbxproj @@ -327,7 +327,7 @@ TargetAttributes = { 90A676DC1D13A6DF008A69F3 = { CreatedOnToolsVersion = 7.3; - DevelopmentTeam = 544P5CH38C; + DevelopmentTeam = TD97KS79S9; }; 90CB64C91EF290F400DAA382 = { DevelopmentTeam = 8M2FQ87SLP; @@ -582,7 +582,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; - DEVELOPMENT_TEAM = 544P5CH38C; + DEVELOPMENT_TEAM = TD97KS79S9; INFOPLIST_FILE = SVGAPlayer/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; @@ -599,7 +599,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; - DEVELOPMENT_TEAM = 544P5CH38C; + DEVELOPMENT_TEAM = TD97KS79S9; INFOPLIST_FILE = SVGAPlayer/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; diff --git a/SVGAPlayer.xcodeproj/xcshareddata/xcschemes/SVGAPlayer.xcscheme b/SVGAPlayer.xcodeproj/xcshareddata/xcschemes/SVGAPlayer.xcscheme new file mode 100644 index 00000000..55f72e87 --- /dev/null +++ b/SVGAPlayer.xcodeproj/xcshareddata/xcschemes/SVGAPlayer.xcscheme @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SVGAPlayer.xcodeproj/xcuserdata/errnull.xcuserdatad/xcschemes/xcschememanagement.plist b/SVGAPlayer.xcodeproj/xcuserdata/errnull.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 00000000..c86ced16 --- /dev/null +++ b/SVGAPlayer.xcodeproj/xcuserdata/errnull.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,27 @@ + + + + + SchemeUserState + + SVGAPlayer React.xcscheme_^#shared#^_ + + orderHint + 7 + + SVGAPlayer.xcscheme_^#shared#^_ + + orderHint + 6 + + + SuppressBuildableAutocreation + + 90A676DC1D13A6DF008A69F3 + + primary + + + + + diff --git a/SVGAPlayer.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/SVGAPlayer.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 00000000..18d98100 --- /dev/null +++ b/SVGAPlayer.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/SVGAPlayer.xcworkspace/xcuserdata/errnull.xcuserdatad/UserInterfaceState.xcuserstate b/SVGAPlayer.xcworkspace/xcuserdata/errnull.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..ac49c67b3e2786a4aed2313eb61b8d83d135ffee GIT binary patch literal 43509 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 + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SVGAPlayer/Assets.xcassets/AppIcon.appiconset/Contents.json b/SVGAPlayer/Assets.xcassets/AppIcon.appiconset/Contents.json index 118c98f7..19882d56 100644 --- a/SVGAPlayer/Assets.xcassets/AppIcon.appiconset/Contents.json +++ b/SVGAPlayer/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -1,5 +1,15 @@ { "images" : [ + { + "idiom" : "iphone", + "size" : "20x20", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "20x20", + "scale" : "3x" + }, { "idiom" : "iphone", "size" : "29x29", @@ -29,6 +39,11 @@ "idiom" : "iphone", "size" : "60x60", "scale" : "3x" + }, + { + "idiom" : "ios-marketing", + "size" : "1024x1024", + "scale" : "1x" } ], "info" : { diff --git a/SVGAPlayer/Base.lproj/Main.storyboard b/SVGAPlayer/Base.lproj/Main.storyboard index 06e12fc8..e8c34220 100644 --- a/SVGAPlayer/Base.lproj/Main.storyboard +++ b/SVGAPlayer/Base.lproj/Main.storyboard @@ -1,11 +1,9 @@ - - - - + + - + @@ -139,18 +137,47 @@ + + + + + + + + + + @@ -165,6 +192,7 @@ + @@ -176,7 +204,7 @@ - + diff --git a/SVGAPlayer/ViewController.m b/SVGAPlayer/ViewController.m index 943a2081..302f6dfd 100644 --- a/SVGAPlayer/ViewController.m +++ b/SVGAPlayer/ViewController.m @@ -12,6 +12,7 @@ @interface ViewController () @property (weak, nonatomic) IBOutlet SVGAPlayer *aPlayer; +@property (weak, nonatomic) IBOutlet UISlider *aSlider; @end @@ -29,39 +30,41 @@ - (void)viewDidLoad { } - (IBAction)onChange:(id)sender { - NSArray *items = @[ - @"https://github.com/yyued/SVGA-Samples/blob/master/EmptyState.svga?raw=true", - @"https://github.com/yyued/SVGA-Samples/blob/master/HamburgerArrow.svga?raw=true", - @"https://github.com/yyued/SVGA-Samples/blob/master/PinJump.svga?raw=true", - @"https://github.com/yyued/SVGA-Samples/blob/master/TwitterHeart.svga?raw=true", - @"https://github.com/yyued/SVGA-Samples/blob/master/Walkthrough.svga?raw=true", - @"https://github.com/yyued/SVGA-Samples/blob/master/angel.svga?raw=true", - @"https://github.com/yyued/SVGA-Samples/blob/master/halloween.svga?raw=true", - @"https://github.com/yyued/SVGA-Samples/blob/master/kingset.svga?raw=true", - @"https://github.com/yyued/SVGA-Samples/blob/master/posche.svga?raw=true", - @"https://github.com/yyued/SVGA-Samples/blob/master/rose.svga?raw=true", - @"https://github.com/yyued/SVGA-Samples/blob/master/matteBitmap.svga?raw=true", - @"https://github.com/yyued/SVGA-Samples/blob/master/matteBitmap_1.x.svga?raw=true", - @"https://github.com/yyued/SVGA-Samples/blob/master/matteRect.svga?raw=true", - @"https://github.com/yyued/SVGA-Samples/blob/master/mutiMatte.svga?raw=true", - ]; - [UIApplication sharedApplication].networkActivityIndicatorVisible = YES; - [parser parseWithURL:[NSURL URLWithString:items[arc4random() % items.count]] - completionBlock:^(SVGAVideoEntity * _Nullable videoItem) { - [UIApplication sharedApplication].networkActivityIndicatorVisible = NO; - if (videoItem != nil) { - self.aPlayer.videoItem = videoItem; - [self.aPlayer startAnimation]; - } - } failureBlock:nil]; -// [parser parseWithNamed:@"Goddess" inBundle:nil completionBlock:^(SVGAVideoEntity * _Nonnull videoItem) { -// if (videoItem != nil) { -// self.aPlayer.videoItem = videoItem; -// [self.aPlayer startAnimation]; -// } -// } failureBlock:nil]; + // NSArray *items = @[ + // @"https://github.com/yyued/SVGA-Samples/blob/master/EmptyState.svga?raw=true", + // @"https://github.com/yyued/SVGA-Samples/blob/master/HamburgerArrow.svga?raw=true", + // @"https://github.com/yyued/SVGA-Samples/blob/master/PinJump.svga?raw=true", + // @"https://github.com/yyued/SVGA-Samples/blob/master/TwitterHeart.svga?raw=true", + // @"https://github.com/yyued/SVGA-Samples/blob/master/Walkthrough.svga?raw=true", + // @"https://github.com/yyued/SVGA-Samples/blob/master/angel.svga?raw=true", + // @"https://github.com/yyued/SVGA-Samples/blob/master/halloween.svga?raw=true", + // @"https://github.com/yyued/SVGA-Samples/blob/master/kingset.svga?raw=true", + // @"https://github.com/yyued/SVGA-Samples/blob/master/posche.svga?raw=true", + // @"https://github.com/yyued/SVGA-Samples/blob/master/rose.svga?raw=true", + // @"https://github.com/yyued/SVGA-Samples/blob/master/matteBitmap.svga?raw=true", + // @"https://github.com/yyued/SVGA-Samples/blob/master/matteBitmap_1.x.svga?raw=true", + // @"https://github.com/yyued/SVGA-Samples/blob/master/matteRect.svga?raw=true", + // @"https://github.com/yyued/SVGA-Samples/blob/master/mutiMatte.svga?raw=true", + // ]; + // [UIApplication sharedApplication].networkActivityIndicatorVisible = YES; + // [parser parseWithURL:[NSURL URLWithString:items[arc4random() % items.count]] + // completionBlock:^(SVGAVideoEntity * _Nullable videoItem) { + // [UIApplication sharedApplication].networkActivityIndicatorVisible = NO; + // if (videoItem != nil) { + // self.aPlayer.videoItem = videoItem; + // [self.aPlayer startAnimation]; + // } + // } failureBlock:nil]; + [parser parseWithNamed:@"heartbeat" inBundle:nil completionBlock:^(SVGAVideoEntity * _Nonnull videoItem) { + if (videoItem != nil) { + self.aPlayer.videoItem = videoItem; + [self.aPlayer startAnimation]; + } + } failureBlock:nil]; +} +- (IBAction)onSliderClick:(UISlider *)sender { + [self.aPlayer stepToPercentage:sender.value andPlay:YES]; } - - (IBAction)onSlide:(UISlider *)sender { [self.aPlayer stepToPercentage:sender.value andPlay:NO]; @@ -71,4 +74,26 @@ - (IBAction)onChangeColor:(UIButton *)sender { self.view.backgroundColor = sender.backgroundColor; } +- (IBAction)onBeginButton:(UIButton *)sender { + sender.selected = !sender.isSelected; + if (sender.selected) { + [self.aPlayer pauseAnimation]; + } else { + [self.aPlayer startAnimation]; + } +} + +- (IBAction)onRetreatButton:(UIButton *)sender { + +} + +- (IBAction)onForwardButton:(UIButton *)sender { + +} + + +#pragma - mark SVGAPlayer Delegate +- (void)svgaPlayerDidAnimatedToPercentage:(CGFloat)percentage { + self.aSlider.value = percentage; +} @end diff --git a/Source/SVGAPlayer.m b/Source/SVGAPlayer.m index ace37af1..18f930fc 100644 --- a/Source/SVGAPlayer.m +++ b/Source/SVGAPlayer.m @@ -31,8 +31,9 @@ @interface SVGAPlayer () @property (nonatomic, assign) NSRange currentRange; @property (nonatomic, assign) BOOL forwardAnimating; @property (nonatomic, assign) BOOL reversing; +@property (nonatomic, assign) BOOL audioPlaying; -@end +@end @implementation SVGAPlayer @@ -104,9 +105,13 @@ - (void)clear { } - (void)clearAudios { + if (!self.audioPlaying) { + return; + } for (SVGAAudioLayer *layer in self.audioLayers) { [layer.audioPlayer stop]; } + self.audioPlaying = NO; } - (void)stepToFrame:(NSInteger)frame andPlay:(BOOL)andPlay { @@ -117,6 +122,7 @@ - (void)stepToFrame:(NSInteger)frame andPlay:(BOOL)andPlay { self.currentFrame = frame; [self update]; if (andPlay) { + self.forwardAnimating = YES; self.displayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(next)]; self.displayLink.frameInterval = 60 / self.videoItem.FPS; [self.displayLink addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSRunLoopCommonModes]; @@ -288,12 +294,14 @@ - (void)update { [CATransaction setDisableActions:NO]; if (self.forwardAnimating && self.audioLayers.count > 0) { for (SVGAAudioLayer *layer in self.audioLayers) { - if (layer.audioItem.startFrame == self.currentFrame) { + if (!self.audioPlaying && layer.audioItem.startFrame >= self.currentFrame) { [layer.audioPlayer setCurrentTime:(NSTimeInterval)(layer.audioItem.startTime / 1000)]; [layer.audioPlayer play]; + self.audioPlaying = YES; } - else if (layer.audioItem.endFrame <= self.currentFrame) { + if (self.audioPlaying && layer.audioItem.endFrame <= self.currentFrame) { [layer.audioPlayer stop]; + self.audioPlaying = NO; } } } From eb4596498a6d17cbab1831ed2a3e3805349bebf2 Mon Sep 17 00:00:00 2001 From: zhanduojian Date: Sun, 29 Sep 2019 19:31:58 +0800 Subject: [PATCH 057/104] feat: Correct mp3 file match in proto image. --- Source/SVGAVideoEntity.m | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/Source/SVGAVideoEntity.m b/Source/SVGAVideoEntity.m index 50e92e7d..8ed736f5 100644 --- a/Source/SVGAVideoEntity.m +++ b/Source/SVGAVideoEntity.m @@ -13,6 +13,8 @@ #import "SVGAAudioEntity.h" #import "Svga.pbobjc.h" +#define MP3_MAGIC_NUMBER "ID3" + @interface SVGAVideoEntity () @property (nonatomic, assign) CGSize videoSize; @@ -85,7 +87,7 @@ - (void)resetImagesWithJSONObject:(NSDictionary *)JSONObject { if (imageData != nil) { UIImage *image = [[UIImage alloc] initWithData:imageData scale:2.0]; if (image != nil) { - [images setObject:image forKey:key]; + [images setObject:image forKey:[key stringByDeletingPathExtension]]; } } } @@ -131,6 +133,14 @@ - (void)resetMovieWithProtoObject:(SVGAProtoMovieEntity *)protoObject { } } ++ (BOOL)isMP3Data:(NSData *)data { + BOOL result = NO; + if (!strncmp([data bytes], MP3_MAGIC_NUMBER, strlen(MP3_MAGIC_NUMBER))) { + result = YES; + } + return result; +} + - (void)resetImagesWithProtoObject:(SVGAProtoMovieEntity *)protoObject { NSMutableDictionary *images = [[NSMutableDictionary alloc] init]; NSMutableDictionary *audiosData = [[NSMutableDictionary alloc] init]; @@ -153,9 +163,7 @@ - (void)resetImagesWithProtoObject:(SVGAProtoMovieEntity *)protoObject { } } else if ([protoImages[key] isKindOfClass:[NSData class]]) { - NSData *fileTag = [protoImages[key] subdataWithRange:NSMakeRange(0, 4)]; - NSString *fileTagDes = [fileTag description]; - if (![fileTagDes containsString:@"89504e47"]) { + if ([SVGAVideoEntity isMP3Data:protoImages[key]]) { // mp3 [audiosData setObject:protoImages[key] forKey:key]; } else { @@ -208,6 +216,7 @@ @interface SVGAVideoSpriteEntity() @property (nonatomic, copy) NSString *imageKey; @property (nonatomic, copy) NSArray *frames; +@property (nonatomic, copy) NSString *matteKey; @end From f3e204f14e795a5683822c4bf45b10e89eec828e Mon Sep 17 00:00:00 2001 From: errnull Date: Sun, 29 Sep 2019 20:12:28 +0800 Subject: [PATCH 058/104] feat: Correct ZIP file match when parse. --- Source/SVGAParser.m | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/Source/SVGAParser.m b/Source/SVGAParser.m index fcda386a..cae250d0 100644 --- a/Source/SVGAParser.m +++ b/Source/SVGAParser.m @@ -13,6 +13,8 @@ #import #import +#define ZIP_MAGIC_NUMBER "PK" + @interface SVGAParser () @end @@ -176,6 +178,14 @@ - (void)clearCache:(nonnull NSString *)cacheKey { [[NSFileManager defaultManager] removeItemAtPath:cacheDir error:NULL]; } ++ (BOOL)isZIPData:(NSData *)data { + BOOL result = NO; + if (!strncmp([data bytes], ZIP_MAGIC_NUMBER, strlen(ZIP_MAGIC_NUMBER))) { + result = YES; + } + return result; +} + - (void)parseWithData:(nonnull NSData *)data cacheKey:(nonnull NSString *)cacheKey completionBlock:(void ( ^ _Nullable)(SVGAVideoEntity * _Nonnull videoItem))completionBlock @@ -192,9 +202,7 @@ - (void)parseWithData:(nonnull NSData *)data if (!data || data.length < 4) { return; } - NSData *tag = [data subdataWithRange:NSMakeRange(0, 4)]; - NSString *fileTagDes = [tag description]; - if (![fileTagDes containsString:@"504b0304"]) { + if (![SVGAParser isZIPData:data]) { // Maybe is SVGA 2.0.0 [parseQueue addOperationWithBlock:^{ NSData *inflateData = [self zlibInflate:data]; From 4932be5c3ab2c39bca9f86e13875ae52a3c53ad4 Mon Sep 17 00:00:00 2001 From: PonyCui Date: Sun, 29 Sep 2019 20:30:00 +0800 Subject: [PATCH 059/104] fix: Let clearsAfterStop defaults too YES. --- Source/SVGAPlayer.m | 1 + 1 file changed, 1 insertion(+) diff --git a/Source/SVGAPlayer.m b/Source/SVGAPlayer.m index ace37af1..1bcce5bf 100644 --- a/Source/SVGAPlayer.m +++ b/Source/SVGAPlayer.m @@ -41,6 +41,7 @@ - (instancetype)initWithFrame:(CGRect)frame self = [super initWithFrame:frame]; if (self) { self.contentMode = UIViewContentModeTop; + self.clearsAfterStop = YES; } return self; } From d1afcd2b301ac1c18741d51ee0597d37aa04fc5c Mon Sep 17 00:00:00 2001 From: PonyCui Date: Sun, 29 Sep 2019 20:31:06 +0800 Subject: [PATCH 060/104] doc: Release 2.3.5 --- SVGAPlayer-React.podspec | 2 +- SVGAPlayer.podspec | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/SVGAPlayer-React.podspec b/SVGAPlayer-React.podspec index 8d2f94ab..8daa70ed 100644 --- a/SVGAPlayer-React.podspec +++ b/SVGAPlayer-React.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = "SVGAPlayer" - s.version = "2.3.4" + s.version = "2.3.5" s.summary = "SVGAPlayer 是一个高性能的动画播放器" s.description = <<-DESC SVGA 是一个私有的动画格式,由 YY UED 主导开发。 diff --git a/SVGAPlayer.podspec b/SVGAPlayer.podspec index 120a4ef4..f1d70d3e 100644 --- a/SVGAPlayer.podspec +++ b/SVGAPlayer.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = "SVGAPlayer" - s.version = "2.3.4" + s.version = "2.3.5" s.summary = "SVGAPlayer 是一个高性能的动画播放器" s.description = <<-DESC SVGA 是一个私有的动画格式,由 YY UED 主导开发。 From a78781dbc72d04399a1c77ec044ac517c21e4042 Mon Sep 17 00:00:00 2001 From: PonyCui Date: Sun, 29 Sep 2019 20:35:25 +0800 Subject: [PATCH 061/104] doc: Update version readme. --- readme.md | 4 ++-- readme.zh.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/readme.md b/readme.md index 3e7d4ea7..a3d72c00 100644 --- a/readme.md +++ b/readme.md @@ -2,9 +2,9 @@ [简体中文](./readme.zh.md) -## 2.3.4 Released +## 2.3.5 Released -This version fixed SVGAPlayer parse issue on iOS 13, all apps should upgrade ASAP. +This version fixed SVGAPlayer render issue on iOS 13.1, upgrade to this version ASAP. ## Introduce diff --git a/readme.zh.md b/readme.zh.md index 8b9aa27d..2bcd7198 100644 --- a/readme.zh.md +++ b/readme.zh.md @@ -1,8 +1,8 @@ # SVGAPlayer -## 2.3.4 版本 +## 2.3.5 版本 -该版本修正了 SVGAPlayer 无法在 iOS13 上解析的问题,请尽快升级。 +该版本修正了 SVGAPlayer 无法在 iOS 13.1 上播放异常的问题,请尽快升级。 ## 介绍 From 22e56cdbb179b62da0d7aa1ea739850653962385 Mon Sep 17 00:00:00 2001 From: errnull Date: Mon, 30 Sep 2019 18:13:22 +0800 Subject: [PATCH 062/104] feat: Update pods file. --- SVGAPlayer.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SVGAPlayer.podspec b/SVGAPlayer.podspec index fa81fc46..f1bd793d 100644 --- a/SVGAPlayer.podspec +++ b/SVGAPlayer.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = "SVGAPlayer" - s.version = "2.5.1" + s.version = "2.5.2" s.summary = "SVGAPlayer 是一个高性能的动画播放器" s.description = <<-DESC SVGA 是一个私有的动画格式,由 YY UED 主导开发。 From 4d16be327ee1cd3def1d444fc7be6ea50e4b3547 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A9=B9=E7=9E=BB=E5=9C=A8=E6=AC=A2=E8=81=9A?= Date: Fri, 11 Oct 2019 15:27:09 +0800 Subject: [PATCH 063/104] Update readme.md --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index a3d72c00..b5bd6632 100644 --- a/readme.md +++ b/readme.md @@ -4,6 +4,7 @@ ## 2.3.5 Released +This version fixed SVGAPlayer clearsAfterStop defaults too YES, Please check your player when it doesn't need to be cleared. This version fixed SVGAPlayer render issue on iOS 13.1, upgrade to this version ASAP. ## Introduce From ea2d885b78cd8e8a8e7308445394b4bc42fbffac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A9=B9=E7=9E=BB=E5=9C=A8=E6=AC=A2=E8=81=9A?= Date: Fri, 11 Oct 2019 15:27:39 +0800 Subject: [PATCH 064/104] Update readme.md --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index b5bd6632..79fb6aee 100644 --- a/readme.md +++ b/readme.md @@ -4,7 +4,7 @@ ## 2.3.5 Released -This version fixed SVGAPlayer clearsAfterStop defaults too YES, Please check your player when it doesn't need to be cleared. +This version fixed SVGAPlayer `clearsAfterStop defaults too YES`, Please check your player when it doesn't need to be cleared. This version fixed SVGAPlayer render issue on iOS 13.1, upgrade to this version ASAP. ## Introduce From 5f616f6a2be2e6d97a32733a9c210f1ac075bd52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A9=B9=E7=9E=BB=E5=9C=A8=E6=AC=A2=E8=81=9A?= Date: Fri, 11 Oct 2019 15:28:12 +0800 Subject: [PATCH 065/104] Update readme.md --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 79fb6aee..8f75cb57 100644 --- a/readme.md +++ b/readme.md @@ -5,6 +5,7 @@ ## 2.3.5 Released This version fixed SVGAPlayer `clearsAfterStop defaults too YES`, Please check your player when it doesn't need to be cleared. + This version fixed SVGAPlayer render issue on iOS 13.1, upgrade to this version ASAP. ## Introduce From c06532d069e7377fb89c2315243bc01f987085e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A9=B9=E7=9E=BB=E5=9C=A8=E6=AC=A2=E8=81=9A?= Date: Fri, 11 Oct 2019 15:31:07 +0800 Subject: [PATCH 066/104] Update readme.zh.md --- readme.zh.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/readme.zh.md b/readme.zh.md index 2bcd7198..20631537 100644 --- a/readme.zh.md +++ b/readme.zh.md @@ -2,6 +2,8 @@ ## 2.3.5 版本 +该版本修正了 SVGAPlayer `clearsAfterStop 默认值为 YES`,请检查代码,修正不需要 clear 的 SVGAPlayer。 + 该版本修正了 SVGAPlayer 无法在 iOS 13.1 上播放异常的问题,请尽快升级。 ## 介绍 From 2ba3ae173a6ee192acd6ca38895a9812dc8b3244 Mon Sep 17 00:00:00 2001 From: errnull Date: Tue, 15 Oct 2019 16:06:25 +0800 Subject: [PATCH 067/104] docs: Update CHANGELOG and demo. --- CHANGELOG.md | 37 ++++--- Podfile.lock | 4 +- SVGAPlayer.xcodeproj/project.pbxproj | 4 - .../xcschemes/xcschememanagement.plist | 2 +- .../UserInterfaceState.xcuserstate | Bin 43509 -> 29009 bytes .../xcdebugger/Breakpoints_v2.xcbkptlist | 102 +++++++++++++----- SVGAPlayer/Assets.xcassets/Contents.json | 6 ++ .../begin.imageset/Contents.json | 21 ++++ .../begin.imageset/begin@2x.png | Bin 0 -> 606 bytes .../purse.imageset/Contents.json | 21 ++++ .../purse.imageset/purse@2x.png | Bin 0 -> 318 bytes SVGAPlayer/Base.lproj/Main.storyboard | 17 +-- SVGAPlayer/ViewController.m | 15 ++- 13 files changed, 174 insertions(+), 55 deletions(-) create mode 100644 SVGAPlayer/Assets.xcassets/Contents.json create mode 100644 SVGAPlayer/Assets.xcassets/begin.imageset/Contents.json create mode 100644 SVGAPlayer/Assets.xcassets/begin.imageset/begin@2x.png create mode 100644 SVGAPlayer/Assets.xcassets/purse.imageset/Contents.json create mode 100644 SVGAPlayer/Assets.xcassets/purse.imageset/purse@2x.png diff --git a/CHANGELOG.md b/CHANGELOG.md index bb24b481..c180584c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,34 +1,44 @@ -# SVGAPlayer-iOS (2019-06-20) +# SVGAPlayer-iOS CHANGELOG (2019-10-15) -## [Next release](https://github.com/yyued/SVGAPlayer-iOS/compare/2.5.0...2.3.3) (2019-06-20) +## [2.5.0]() + +## [2.3.5](https://github.com/yyued/SVGAPlayer-iOS/compare/2.3.4...2.3.5) (2019-09-29) ### Bug Fixes -* Verify failureBlock. ([05f4159](https://github.com/yyued/SVGAPlayer-iOS/commit/05f41593190e6606b8427d49a97d48ffb4329dc4)) +* Let clearsAfterStop defaults too YES. ([4932be5](https://github.com/yyued/SVGAPlayer-iOS/commit/4932be5)) +* Add support for audio play in stepToFrame. ([873f8e4](https://github.com/yyued/SVGAPlayer-iOS/commit/873f8e4)) +* Correct mp3 file match in proto image. ([eb45964](https://github.com/yyued/SVGAPlayer-iOS/commit/eb45964)) +* Correct ZIP file match when parse. ([f3e204f](https://github.com/yyued/SVGAPlayer-iOS/commit/f3e204f)) + +## [2.3.4](https://github.com/yyued/SVGAPlayer-iOS/compare/2.3.3...2.3.4) (2019-08-02) + +### Bug Fixes + +* Correct file tag des hit target. ([0018e13](https://github.com/yyued/SVGAPlayer-iOS/commit/0018e13)) +* Correct file tag des hit target. ([dc2e403](https://github.com/yyued/SVGAPlayer-iOS/commit/dc2e403)) +* Fix static layer. ([ab1d4fc](https://github.com/yyued/SVGAPlayer-iOS/commit/ab1d4fc)) +* Fix demo aspect scale. ([33ea6b3](https://github.com/yyued/SVGAPlayer-iOS/commit/33ea6b3)) +* Fix key for svga 1.x format. ([ec43259](https://github.com/yyued/SVGAPlayer-iOS/commit/ec43259)) +* Return when videoItem is nil in startAnimation. ([cb27f0f](https://github.com/yyued/SVGAPlayer-iOS/commit/cb27f0f)) ### Features -* Add 2.x proto support for matte. ([6ec6b29](https://github.com/yyued/SVGAPlayer-iOS/commit/6ec6b29)) +* Add 2.x proto support for matte. ([527e76f](https://github.com/yyued/SVGAPlayer-iOS/commit/527e76f)) * Add slider for animation demo. ([fc9d7ef](https://github.com/yyued/SVGAPlayer-iOS/commit/fc9d7ef)) * Support bitmap matte layer. ([4c4e2b1](https://github.com/yyued/SVGAPlayer-iOS/commit/4c4e2b1)) * Support muti mask. ([188c1b3](https://github.com/yyued/SVGAPlayer-iOS/commit/188c1b3)) - - -## [2.3.2](https://github.com/yyued/SVGAPlayer-iOS/compare/2.3.1...2.3.2) (2018-12-26) - +* Update 2.x proto support for matte. ([2b28845](https://github.com/yyued/SVGAPlayer-iOS/commit/2b28845)) ### Bug Fixes * Rollback SSZipArchive to 1.8.1 because of crash. ([2f9d94b](https://github.com/yyued/SVGAPlayer-iOS/commit/2f9d94b)) - - ## [2.3.1](https://github.com/yyued/SVGAPlayer-iOS/compare/2.3.0...2.3.1) (2018-12-18) - ### Bug Fixes -* add enabledMemoryCache option to SVGAParser, disable memory cache to default. ([116a91f](https://github.com/yyued/SVGAPlayer-iOS/commit/116a91f)) +* Add enabledMemoryCache option to SVGAParser, disable memory cache to default. ([116a91f](https://github.com/yyued/SVGAPlayer-iOS/commit/116a91f)) ## 2.3.0 @@ -56,3 +66,6 @@ ### Bug Fixes * Use CADisplayLink::invalid() replace removeFromRunloop. improve: all Parser callback will perform on Main Thread. + + + diff --git a/Podfile.lock b/Podfile.lock index 4d95350e..cd96f02c 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -47,7 +47,7 @@ DEPENDENCIES: - Yoga SPEC REPOS: - https://github.com/cocoapods/specs.git: + https://github.com/CocoaPods/Specs.git: - Protobuf - SSZipArchive - Yoga @@ -64,4 +64,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: 7f6714245d47e69d2933463289e4c4d6de65b831 -COCOAPODS: 1.7.3 +COCOAPODS: 1.8.0.beta.2 diff --git a/SVGAPlayer.xcodeproj/project.pbxproj b/SVGAPlayer.xcodeproj/project.pbxproj index cb46b316..08be9f66 100644 --- a/SVGAPlayer.xcodeproj/project.pbxproj +++ b/SVGAPlayer.xcodeproj/project.pbxproj @@ -14,7 +14,6 @@ 71418C93225E6F710029C69E /* mutiMatte.svga in Resources */ = {isa = PBXBuildFile; fileRef = 71418C92225E6F710029C69E /* mutiMatte.svga */; }; 71A8679122B7785100176CD6 /* matteRect.svga in Resources */ = {isa = PBXBuildFile; fileRef = 71A8679022B7785100176CD6 /* matteRect.svga */; }; 71A8679322B7853600176CD6 /* matteBitmap.svga in Resources */ = {isa = PBXBuildFile; fileRef = 71A8679222B7853600176CD6 /* matteBitmap.svga */; }; - 71A8679B22B8CF7400176CD6 /* Goddess.svga in Resources */ = {isa = PBXBuildFile; fileRef = 71A8679A22B8CF7400176CD6 /* Goddess.svga */; }; 80D4C7254846B96B9C6EED83 /* libPods-SVGAPlayer.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DDA5FF396660C7C932DF9B8 /* libPods-SVGAPlayer.a */; }; 904D41F81D223DD20085A21A /* SVGABezierPath.m in Sources */ = {isa = PBXBuildFile; fileRef = 904D41F71D223DD20085A21A /* SVGABezierPath.m */; }; 9052FC631E6EB8D4007BC925 /* SVGAExporter.m in Sources */ = {isa = PBXBuildFile; fileRef = 9052FC621E6EB8D4007BC925 /* SVGAExporter.m */; }; @@ -70,7 +69,6 @@ 71418C92225E6F710029C69E /* mutiMatte.svga */ = {isa = PBXFileReference; lastKnownFileType = file; path = mutiMatte.svga; sourceTree = ""; }; 71A8679022B7785100176CD6 /* matteRect.svga */ = {isa = PBXFileReference; lastKnownFileType = file; path = matteRect.svga; sourceTree = ""; }; 71A8679222B7853600176CD6 /* matteBitmap.svga */ = {isa = PBXFileReference; lastKnownFileType = file; path = matteBitmap.svga; sourceTree = ""; }; - 71A8679A22B8CF7400176CD6 /* Goddess.svga */ = {isa = PBXFileReference; lastKnownFileType = file; path = Goddess.svga; sourceTree = ""; }; 8AD65028FA2D122A34DC4A63 /* Pods-SVGAPlayer.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SVGAPlayer.debug.xcconfig"; path = "Pods/Target Support Files/Pods-SVGAPlayer/Pods-SVGAPlayer.debug.xcconfig"; sourceTree = ""; }; 904D41F61D223DD20085A21A /* SVGABezierPath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGABezierPath.h; sourceTree = ""; }; 904D41F71D223DD20085A21A /* SVGABezierPath.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SVGABezierPath.m; sourceTree = ""; }; @@ -247,7 +245,6 @@ 90D7C9FA1F7E2AA3006E74F0 /* Samples */ = { isa = PBXGroup; children = ( - 71A8679A22B8CF7400176CD6 /* Goddess.svga */, 71A8679022B7785100176CD6 /* matteRect.svga */, 71A8679222B7853600176CD6 /* matteBitmap.svga */, 71418C92225E6F710029C69E /* mutiMatte.svga */, @@ -369,7 +366,6 @@ 71A8679322B7853600176CD6 /* matteBitmap.svga in Resources */, 90D7CA1C1F7FB114006E74F0 /* rose_1.5.0.svga in Resources */, 90D7CA1B1F7FB114006E74F0 /* rose_2.0.0.svga in Resources */, - 71A8679B22B8CF7400176CD6 /* Goddess.svga in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/SVGAPlayer.xcodeproj/xcuserdata/errnull.xcuserdatad/xcschemes/xcschememanagement.plist b/SVGAPlayer.xcodeproj/xcuserdata/errnull.xcuserdatad/xcschemes/xcschememanagement.plist index c86ced16..d0671ccd 100644 --- a/SVGAPlayer.xcodeproj/xcuserdata/errnull.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/SVGAPlayer.xcodeproj/xcuserdata/errnull.xcuserdatad/xcschemes/xcschememanagement.plist @@ -12,7 +12,7 @@ SVGAPlayer.xcscheme_^#shared#^_ orderHint - 6 + 5 SuppressBuildableAutocreation diff --git a/SVGAPlayer.xcworkspace/xcuserdata/errnull.xcuserdatad/UserInterfaceState.xcuserstate b/SVGAPlayer.xcworkspace/xcuserdata/errnull.xcuserdatad/UserInterfaceState.xcuserstate index ac49c67b3e2786a4aed2313eb61b8d83d135ffee..e42a42465eaae4307f2d8b585ae6965eb0adea00 100644 GIT binary patch delta 17627 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 + + + + + + + + + + diff --git a/SVGAPlayer/Assets.xcassets/Contents.json b/SVGAPlayer/Assets.xcassets/Contents.json new file mode 100644 index 00000000..da4a164c --- /dev/null +++ b/SVGAPlayer/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/SVGAPlayer/Assets.xcassets/begin.imageset/Contents.json b/SVGAPlayer/Assets.xcassets/begin.imageset/Contents.json new file mode 100644 index 00000000..5851f27d --- /dev/null +++ b/SVGAPlayer/Assets.xcassets/begin.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "begin@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/SVGAPlayer/Assets.xcassets/begin.imageset/begin@2x.png b/SVGAPlayer/Assets.xcassets/begin.imageset/begin@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..9394c6573e3fc0a3a9022720d4294ee05a638eae GIT binary patch literal 606 zcmeAS@N?(olHy`uVBq!ia0vp^HXzKw0wgDV75oXLSkfJR9T^xl_H+M9WCijSl0AZa z85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXICJ|Af_a5cNd2L?fqx=19|Kv zp1!W^kGc5SC8SIq?zzjrz?kOg;usQf`0ma1`bP?7j(=1?ekRX2&+Onb4z7nHo)=X* zpG;box#$Q>nRv`472iu7lL~|$9ul2hAZ=Zqmew}i{sGhd_s<{ymb(A%Zu0McHGAXp zU)XWI2|7|BvZC;?(B84n>9m){2NoSRTg(?xQ*>$#v)CfX z&N_CTc{kI~Fme|jo5L=)eU0IRhNIl$%8og=E;auFss z72Y=-m3H^BN>E%EvE(>oceR;h(Sb*Elb6YC5V)S`scWkv=R7HjLuSgALkWtn)=U7| z==W)f7_;BhD~}F1nMC+by7K5C=j14#h>qg4T@%l+Z?3Ofsmp)eeEsEo-zNW%n~xP= zSLggp`S(Fx@ORMml>y7!C8<`) zMX5lF!N|bSQrFNx*U&V?z}(8n#LCD_+rYrez`(Ivb_a@v-29Zxv`X9>46ZE&r5grM LS3j3^P6_n?+&oab8JErAD|&*N*XPp+G` zF~o=I zEp-hIbPY{I49u;JOstH|wG9lc3=E$C5#vG8kei>9nO2Eg!?cC#HUKp+c)I$ztaD0e F0sx=8TCe~B literal 0 HcmV?d00001 diff --git a/SVGAPlayer/Base.lproj/Main.storyboard b/SVGAPlayer/Base.lproj/Main.storyboard index e8c34220..3ffed2c3 100644 --- a/SVGAPlayer/Base.lproj/Main.storyboard +++ b/SVGAPlayer/Base.lproj/Main.storyboard @@ -1,9 +1,11 @@ - - + + + + - + @@ -140,7 +142,7 @@ - - -